【发布时间】:2022-02-01 10:03:41
【问题描述】:
我正在尝试在我使用 3 种语言的应用中使用本地化,当我切换语言时,并非所有字符串都被翻译,某些字符串仅以英语显示,无论我切换到哪种语言。
这是我正在使用的部分工作的代码:
public void setLocale_language(String lang) {
Locale myLocale = new Locale(lang);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration config = res.getConfiguration();
config.locale = myLocale;
res.updateConfiguration(config, dm);
}
【问题讨论】:
-
你能包含一些有问题的字符串的代码吗?我猜你使用了错误的
Context来访问它们(比如说,Application而不是用你的资源覆盖包装的Activity)。 -
@laalto 实际上这些字符串是从
xml布局访问的,就像android:text="@string/clocked_in_users" -
XML 膨胀还需要一个上下文(通过 LayoutInflater)
-
我发现了错误):我的
Activity是在扩展FragmentActivity而不是AppCompatActivity这就是没有翻译字符串的原因。
标签: java android xml string localization