是否可以在仍使用 Android 资源的同时以编程方式更改应用程序的语言?
如果没有,是否可以请求特定语言的资源?
我想让用户从应用程序更改应用程序的语言。
原文由 hpique 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否可以在仍使用 Android 资源的同时以编程方式更改应用程序的语言?
如果没有,是否可以请求特定语言的资源?
我想让用户从应用程序更改应用程序的语言。
原文由 hpique 发布,翻译遵循 CC BY-SA 4.0 许可协议
此功能由 Google 为 Android 13 正式推出(并且也具有向后支持)。 Android 现在允许您为每个应用选择语言。
这里的官方文档 - https://developer.android.com/guide/topics/resources/app-languages
要设置用户的首选语言,您会要求用户在语言选择器中选择区域设置,然后在系统中设置该值:
// 1. Inside an activity, in-app language picker gets an input locale "xx-YY"
// 2. App calls the API to set its locale
mContext.getSystemService(LocaleManager.class
).setApplicationLocales(newLocaleList(Locale.forLanguageTag("xx-YY")));
// 3. The system updates the locale and restarts the app, including any configuration updates
// 4. The app is now displayed in "xx-YY" language
要让用户当前的首选语言显示在语言选择器中,您的应用可以从系统取回值:
// 1. App calls the API to get the preferred locale
LocaleList currentAppLocales =
mContext.getSystemService(LocaleManager.class).getApplicationLocales();
// 2. App uses the returned LocaleList to display languages to the user
原文由 Mayuri Khinvasara 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答996 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
1 回答859 阅读✓ 已解决
2 回答973 阅读
2 回答909 阅读
1 回答868 阅读
2 回答721 阅读
这是可能的。您可以设置区域设置。但是,我不建议这样做。我们已经在早期阶段尝试过,它基本上是在与系统作斗争。
我们对更改语言有相同的要求,但决定接受 UI 应该与手机 UI 相同的事实。它是通过设置语言环境工作的,但是太麻烦了。根据我的经验,每次输入活动(每个活动)时都必须设置它。如果您仍然需要此代码,这是一个代码(同样,我不建议这样做)
如果您有特定语言的内容 - 您可以根据设置进行更改。
2020 年 3 月 26 日更新