我有这个Android应用程序本地化了几种语言 . 如果存在设备区域设置的相应字符串,则应用程序会自动显示该字符串 . 到现在为止还挺好 .
接下来,我想让应用程序的用户切换到我提供的一种语言 . 我可以通过覆盖默认语言环境来完成此操作 . 这里也没问题 .
这里的问题:我有没有办法在语言列表中提供"default"选项,允许用户恢复默认的自动语言环境?请考虑以下情形:
1.设备的区域设置设置为德语 . App以德语显示所有内容 .
2.用户希望该应用程序使用法语,因此他们会从应用程序内部更改语言,因此应用程序会转换为法语 .
3.同一用户将设备的区域设置更改为西班牙语 . 应用程序仍然是法语 .
4.他们选择"Default"设置 . 应用程序更改为西班牙语,并在更改语言环境时不断更改 .
如果这不能自动执行,那么有没有办法让我获得设备范围的区域设置,以便我可以设置我的应用程序,如果我选择了“默认”选项?
2 回答
我通过在第一次运行应用程序时存储现有设置来解决此问题(在对默认语言环境进行任何更改之前) . 在我的应用程序第一次运行时才运行的块中,我调用:
后来,当我需要检索它时:
更改语言时,我将其保存在另一个首选项中并处理视图的更新 .
Edit :经过更多的探索后,我找到了系统设置 . 我转而使用这个,而不是上面的代码 .
Edit: 对不起,我刚刚意识到这实际上并没有回答你的问题,因为你要覆盖默认值来影响你的改变 .