手动将语言更改为简体中文

时间:2014-01-23 13:47:42

标签: android chinese-locale

我使用此代码手动更改应用的语言:

Locale locale = new Locale(OneLanguageCode);   
Locale.setDefault(locale);  
Configuration config = new Configuration();  
config.locale = locale;  
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());       

我在OneLanguageCode中设置了国际代码。一切都可以找到我尝试过的每一个代码,比如“en”,“es”,“fr”等......但是我用简体中文让自己变得疯狂。 在这种情况下,我有一个名为 values-zh-rCN 的文件夹,其中包含字符串。如果我将设备语言设置为简体中文,它的效果很好。但是没有办法用上面的代码手动设置它。 我尝试使用“zh-CN”作为OneLanguageCode值,但也没有成功。它以英文显示。

正如我所说的所有这些与其他语言一起工作。我可以让人们使用荷兰语作为他们的设备默认语言,但在我的应用程序中有法语。为什么我不能将荷兰语作为设备默认语言,但在我的应用程序中使用繁体中文?

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

Locale locale = new Locale("en_CA"); 
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getApplicationContext().getResources().updateConfiguration(config, null);

答案 1 :(得分:0)

感谢user2968888的帮助,这就是我解决的问题:

Locale locale;
if(OneLanguageCode.equals("schinese")) //any tag here to know it is Simplified Chinese
   locale = Locale.SIMPLIFIED_CHINESE;
else
   locale = new Locale(OneLanguageCode);
Locale.setDefault(locale);  
Configuration config = new Configuration();  
config.locale = locale;  
getApplicationContext().getResources().updateConfiguration(config, null);