gpt4 book ai didi

android - 如何恢复 Android 应用程序的默认语言环境

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:34 25 4
gpt4 key购买 nike

我有一个本地化为多种语言的 Android 应用程序。如果适用于设备区域设置的字符串存在,应用程序会自动显示它。到目前为止,还不错。

接下来,我想让应用程序的用户切换到我提供的其中一种语言。我可以通过覆盖默认语言环境来做到这一点。这里也没有问题。

这里的问题:我有没有办法在语言列表中提供一个“默认”选项,允许用户恢复默认的自动语言环境?考虑以下场景:
1. 设备的区域设置为德语。应用程序以德语显示所有内容。
2. 用户希望应用程序使用法语,因此他们从应用程序内部更改语言,结果应用程序变成了法语。
3. 同一用户将设备的区域设置更改为西类牙语。应用程序仍然是法语。
4. 他们选择“默认”设置。该应用更改为西类牙语,并在区域设置更改时不断更改。

如果这不能自动完成,那么我有没有办法获取设备范围的区域设置,以便在选择“默认”选项时我可以将我的应用程序设置为该区域设置?

最佳答案

我通过在应用首次运行时存储现有设置(在对默认区域设置进行任何更改之前)解决了这个问题。在仅在我的应用程序第一次运行时运行的 block 中,我调用:

m_preferences.edit().putString(
MyConstants.PREFERENCE_SYSTEM_LANGUAGE,
getResources().getConfiguration().locale.getLanguage()
).commit();

稍后,当我需要检索它时:

languageToLoad = m_preferences.getString(
MyConstants.PREFERENCE_SYSTEM_LANGUAGE,
MyConstants.LANGUAGE_DEFAULT);

更改语言时,我将其保存在另一个首选项中并处理 View 的更新。

编辑:仔细查看后,我找到了系统设置。我改用这个,而不是上面的代码。

Resources.getSystem().getConfiguration().locale.getLanguage();

关于android - 如何恢复 Android 应用程序的默认语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5512454/

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