在我的应用程序中,用户可以将他们的应用程序区域设置切换到其他应用程序支持的语言之一。我在让葡萄牙语-巴西和简体中文工作时遇到问题。当用户更改区域设置时,所有其他翻译都能正常工作。
如果设备语言环境是 pt-rBR 或 zh-rCN,这些翻译可以正常工作,所以唯一可能出错的是我使用的语言环境代码。但是,我尝试过的任何事情都失败了。有人知道这些的正确 Android 语言环境代码,以便用户可以根据需要正确切换吗?
利用
new Locale("pt","BR");
代替
new Locale("pt_BR");
使用以下代码对我来说适用于繁体和简体中文。
if(selectedLanguage.equals("zh_CN"))
locale = Locale.SIMPLIFIED_CHINESE;
else if(selectedLanguage.equals("zh_TW"))
locale = Locale.TRADITIONAL_CHINESE;
else
locale = new Locale(selectedLanguage);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
baseContext.getResources().updateConfiguration(config, baseContext.getResources().getDisplayMetrics());