我有以下问题:
我想以编程方式更改我的应用程序的语言 .
所以我使用共享首选项来更改语言环境 .
Locale locale2 = new Locale("b0");
Locale.setDefault(locale2);
Configuration config2 = new Configuration();
config2.locale = locale2;
getBaseContext().getResources().updateConfiguration(config2, getBaseContext().getResources().getDisplayMetrics());
b0是保存的本地 .
b0与德国语言环境和英语语言环境完美配合,但与美国语言环境无关:en_US
当然我添加了一个新文件夹:
res/values-en-rUS
随着美国字符串xml .
如果我将手机语言更改为英语(美国),应用程序将以美式英语开头 .
我甚至编辑了我的专栏:
Locale locale2 = new Locale("en_US");
还是行不通 .
“en_US”有什么问题吗?
http://developer.android.com/reference/java/util/Locale.html
任何帮助都非常接受 .
1 回答
我刚发现the answer(见the javadoc) .
在你的情况下,你应该写:
基于scala的语言中的常规函数如下:
否则它定义了一个新的语言代码
en_us
,这不是你想要的 .