首页 文章

手动更改语言以简化中文

提问于
浏览
1

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

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
    Locale locale = new Locale("en_CA"); 
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    context.getApplicationContext().getResources().updateConfiguration(config, null);
    
  • 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);
    

相关问题