我希望让values-zh
适用于zh
的所有区域,例如zh-rCN
,zh-rTW
,zh-rSG
,因为任何类型的中文都是对于大多数说中文的人来说,比英语更具可读性。但values-zh.xml
在我的MI-5X机器上与values-zh-rCN
的工作方式相同。那么实现这一目标的最佳解决方案是什么?
答案 0 :(得分:1)
方法1:
如果您在开发计算机上使用Linux,则可以使用以下命令创建从values-rCN
到values-zh
的符号链接:
ln -s values-zh values-rCN
方法2:
如果检测到使用了rCN
,则可以在运行时更改语言。请记住,这个解决方案有点hacky,可能无法在所有情况下都有效。
Resources res = getApplicationContext().getResources();
Configuration config = res.getConfiguration();
Locale sysLocale;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
sysLocale = config.getLocales().get(0);
} else {
sysLocale = config.locale;
}
if (sysLocale.getLanguage().equals("zh-rCN")) {
android.content.res.Configuration conf = res.getConfiguration();
conf.setLocale(new Locale("zh"));
res.updateConfiguration(conf, res.getDisplayMetrics());
}