多语言安卓应用程序?

2023-12-23

我必须用 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(使用前将#替换为@)

多语言安卓应用程序? 的相关文章

随机推荐