我必须用 3 种语言制作我的 Android 应用程序,即德语、英语和荷兰语。我在我的 Android 应用程序名称中创建了三个文件夹values-de
and values-nl
在 res 目录中。
现在,当用户选择特定语言时,我执行以下代码:
Resources res = getResources();
Configuration newConfig = new Configuration(res.getConfiguration());
newConfig.locale = Locale.ENGLISH;
res.updateConfiguration(newConfig, null);
不同值文件夹中的所有字符串都具有相同的名称,即值文件夹中名为 add_site 的字符串在the values-de
文件夹但具有不同的值。
当我将区域设置设置为德语时,我的应用程序未加载德语值?可能是什么问题呢?
感谢您的帮助。
尝试将其放入onCreate()
就在致电之后super.onCreate
:
Locale locale = new Locale("de");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
EDIT: 这是另一种方法 http://www.roosmaa.net/application-wide-locale-override/。它看起来非常灵活,但评论中似乎对它是否适用于所有 Android 版本存在一些分歧。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)