Android更改中文和繁体中文的语言环境不起作用

标签 android string localization

在我的应用程序中,我可以选择从中文切换到繁体中文。

我正在使用微调器,位置 1 是中文,2 是繁体中文。选择位置 1 时,这是我切换语言的代码

if (pos == 0) 
{
   langSelected ="en";
}               
else if (pos == 1) 
{
   langSelected ="zh";
}               
else if (pos == 2)
{
  langSelected ="zh-rTW";
}
Locale locale = new Locale(lang);           
Locale.setDefault(locale);
android.content.res.Configuration config = new android.content.res.Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());

@Override
public void onConfigurationChanged(android.content.res.Configuration newConfig) 
{
    super.onConfigurationChanged(newConfig);
    if (locale != null){
        newConfig.locale = locale;
        Locale.setDefault(locale);
        getBaseContext().getResources().updateConfiguration(newConfig, getBaseContext().getResources().getDisplayMetrics());
     }
}

当使用微调器从英文切换到中文时,正确的语言被加载,但是当加载繁体中文(zh-rTW)时,只有中文文本被加载

我在 values-zh 中有我的简体中文文本,而我在 values-zh-rTW 中加载了繁体中文文本

每种语言的应用程序名称不同,所以我也尝试从设备设置更改语言,现在也可以在简体中文中正确加载,但繁体中文无法加载。但是这里的应用名称更改为繁体中文,即应用名称从 values-zh-rTW 加载

我哪里出错了,我是否必须更改繁体中文的文件夹?

最佳答案

我知道这是一个迟到的帖子,但希望它能帮助某人..

解决方案是使用国家名称简单地创建一个 Locale。这意味着 Locale 类已经声明了一些静态语言环境。例如:-

中国地区 - https://developer.android.com/reference/java/util/Locale.html#CHINA

台湾地区 - https://developer.android.com/reference/java/util/Locale.html#TAIWAN

简单来说,解决方案是:-

Locale locale;
if(lang.equals("zh-rTW"))
    locale = Locale.TAIWAN;
else(lang.equals("zh-rCN")
    locale = Locale.CHINA;
else
    //handle other languages

关于Android更改中文和繁体中文的语言环境不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28449434/

相关文章:

android - react native 安卓 : How to select the next TextInput after pressing the “actionNext” keyboard button?

android - 在 Android 的 ContentProvider 中不实现 getType(Uri uri) 的副作用是什么?

javascript - 用于匹配字符串中特定模式的字符串原型(prototype)语法

在 C 中使用 strcpy 将函数中的单词复制到字符串?

iphone - 为什么 Xcode 让我的 Localized.strings 文件看起来像这样搞砸了?

ios - 应用程序本地化不适用于 Storyboard

android - 菜单项图标改变颜色

android - java.lang.Object 类型无法解析。它是从所需的 .class 文件 android studio 中间接引用的

c - 玩转指针,被 char * 字符串弄得晕头转向

function - 在语言环境中使用逗号作为小数点标记分隔函数的参数