gpt4 book ai didi

java - 如何在android中创建多语言应用程序

转载 作者:行者123 更新时间:2023-11-30 04:59:15 25 4
gpt4 key购买 nike

我正在开发一个多语言应用程序,我正在使用下面的代码,它运行良好,但现在它在 android api 24 及以下版本中出现问题,没有任何错误。它只是翻译字符串,但我需要我的应用程序是 rtl。我应该使用什么来代替我的代码?

fun setNewLocale(mContext: Context, language: String): Context {
setLanguagePref(mContext, language)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
return updateResources(mContext, getLanguagePref(mContext)!!)
}
return updateResourcesLegacy(mContext, getLanguagePref(mContext)!!)
}

@TargetApi(Build.VERSION_CODES.N)
private fun updateResources(context: Context, language: String): Context {
val locale = Locale(language)
Locale.setDefault(locale)
val configuration = context.resources.configuration
configuration.setLocale(locale)

return context.createConfigurationContext(configuration)
}

private fun updateResourcesLegacy(context: Context, language: String): Context {
val locale = Locale(language)
Locale.setDefault(locale)
val resources = context.resources
val configuration = resources.configuration
configuration.locale = locale

resources.updateConfiguration(configuration, resources.displayMetrics)

return context
}

最佳答案

为了支持多语言,如果您的用户选择使用从右到左 (RTL) 脚本的语言,例如波斯语或阿拉伯语,首先您必须在 API 较低的应用中支持 RTL。

可以查看官方文档here对于你的情况,this部分提供更多详细信息。

顺便说一句,你可以查看thisthis ones提供一些细节和所有你需要知道的例子。

编码愉快! movafagh bashi :)

关于java - 如何在android中创建多语言应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58523376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com