gpt4 book ai didi

android - 在 Android 中以编程方式更改应用程序语言

转载 作者:行者123 更新时间:2023-12-01 17:28:18 25 4
gpt4 key购买 nike

是否可以在仍然使用 Android 资源的情况下以编程方式更改应用的语言?

如果没有,是否可以请求特定语言的资源?

我想让用户从应用程序更改应用程序的语言。

最佳答案

这是可能的。您可以设置区域设置。但是,我不建议这样做。我们在早期阶段就尝试过,它基本上是在对抗系统。

我们对更改语言有相同的要求,但决定接受 UI 应与手机 UI 相同的事实。它可以通过设置区域设置来工作,但问题太多。根据我的经验,每次进入 Activity (每个 Activity )时都必须设置它。如果您仍然需要这个,这里有一个代码(我再次不推荐)

Resources res = context.getResources();
// Change locale settings in the app.
DisplayMetrics dm = res.getDisplayMetrics();
android.content.res.Configuration conf = res.getConfiguration();
conf.setLocale(new Locale(language_code.toLowerCase())); // API 17+ only.
// Use conf.locale = new Locale(...) if targeting lower versions
res.updateConfiguration(conf, dm);

如果您有特定于语言的内容 - 您可以根据设置更改该内容。

<小时/>

2020 年 3 月 26 日更新

    public static void setLocale(Activity activity, String languageCode) {
Locale locale = new Locale(languageCode);
Locale.setDefault(locale);
Resources resources = activity.getResources();
Configuration config = resources.getConfiguration();
config.setLocale(locale);
resources.updateConfiguration(config, resources.getDisplayMetrics());
}
  • 注意:语言代码不能包含“-”且只能是 2 个小写字母

关于android - 在 Android 中以编程方式更改应用程序语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61174989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com