从Android 7.0(API级别24)开始,用户可以在其设备上设置首选语言(来源:LocaleList API)。我的问题是我的应用程序不尊重此设置 - 它不考虑第二种语言。
在Settings -> languages
中,我选择了语言偏好:
1. Polish (preferred)
2. French
在Android应用中,我支持两种语言(默认为en
,fr
):
values/strings.xml (English as default)
values-fr/strings.xml (French)
使用此配置,应用程序以英语(默认)启动,而在我的语言首选项列表中有法语(我的应用程序支持,应该使用)。
为什么Android在这种情况下会选择法语?如何解决?
注意:当我在设置
中选择FR语言时,会正确设置法语EN strings.xml文件示例:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE resources [<!ENTITY applicationName "app\'s name">]>
<resources>
<string name="application_name">&applicationName;</string>
<string name="dialog_ok">OK</string>
...
</resources>
FR strings.xml文件示例:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE resources [<!ENTITY applicationName "french name">]>
<resources>
<string name="application_name">&applicationName;</string>
<string name="dialog_ok">Oui</string>
...
</resources>
答案 0 :(得分:0)
Android将尝试选择您的首选语言,如果您的默认语言是波兰语并且您没有用于修饰的字符串,它将选择您的应用程序的默认语言,英语。
查看文档:{{3}}