应用程序未显示在"每个应用程序的语言设置"中



我目前正在尝试为我的应用程序支持每个应用程序的语言。我按照指示:

  • 我创建了locales_config.xml
<?xml version="1.0" encoding="utf-8"?>
<locale_config xmlns:android="http://schemas.android.com/apk/res/android">
<locale android:name="en-US"/>
<locale android:name="fr"/>
</locale_config> 

我在AndroidManifest.xml:中添加的

android:localeConfig="@xml/locales_config"
  • app/build.gradle中,我添加了:
android {
...
defaultConfig {
...
resConfigs "en_US", "fr"
}
}

我的问题是我的应用程序没有出现在"每应用程序语言设置"中
我在模拟器和运行稳定Android 13的手机上测试了它。

附加信息:

com.android.tools.build:gradle:7.2.2
compileSdkVersion 33

如果有人能做到这一点,我想知道我是否还缺少其他步骤。

编辑:
当用en替换en-USen_US时,它也不起作用。

locales_config.xml中的根元素必须是<locale-config>,但在您的xml中我看到了<locale_config>(下划线应该是hypen(。

将您的locales_config.xml更新为以下文本,它将起作用:

<?xml version="1.0" encoding="utf-8"?>
<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
<locale android:name="en-US"/>
<locale android:name="fr"/>
</locale-config>

默认区域设置始终为:<locale android:name="en"/>,而不是en-USen-GB

我也在处理同样的问题,结果发现我的问题是我没有把android:localeConfig="@xml/locale_config"放在清单中的正确位置。

它应该与application标签关联:

<application android:localeConfig="@xml/locale_config" android:icon="@mipmap/ic_launcher" ...

(此外,请检查您在那里指定的名称是否与您的XML文件名匹配。@xml/locale_config表示保存在xml资源文件夹中的"locale_config.XML"文件。(

相关内容

  • 没有找到相关文章

最新更新