【发布时间】:2016-12-13 14:38:36
【问题描述】:
在我的应用中,我允许用户在安装应用时更改语言。假设他们在安装应用程序时选择“英语”。但在那之后,如果他们将手机的语言更改为“法语”,我的应用应该如何接收它并更改其语言?
【问题讨论】:
标签: android performance android-layout android-studio android-fragments
在我的应用中,我允许用户在安装应用时更改语言。假设他们在安装应用程序时选择“英语”。但在那之后,如果他们将手机的语言更改为“法语”,我的应用应该如何接收它并更改其语言?
【问题讨论】:
标签: android performance android-layout android-studio android-fragments
假设您使用 strings.xml 来管理您的字符串资源,Android 原生支持本地化: https://developer.android.com/preview/features/multilingual-support.html
这个想法是,您要管理的每种语言都有不同的字符串和值,然后当用户在设置中更改语言时,应用程序将自动选择正确的文件(或者如果您使用默认的 strings.xml尚未为所选语言定义资源)。
【讨论】:
应用程序重新启动后,应用程序将自动从res/values 目录加载其各自的语言字符串文件。您可以坚持并比较 Locale.getDefault().getLanguage() 以检查自上次重新启动以来语言是否已更改。
【讨论】:
如果您没有添加翻译,它将尝试获取有关法语值(value-fr)的信息,它将继续显示英语
【讨论】: