Android应用程序选择默认语言,无论语言偏好顺序配置如何设置

时间:2017-11-14 14:12:57

标签: android string internationalization locale

从Android 7.0(API级别24)开始,用户可以在其设备上设置首选语言(来源:LocaleList API)。我的问题是我的应用程序不尊重此设置 - 它不考虑第二种语言。

Settings -> languages中,我选择了语言偏好:

 1. Polish (preferred)
 2. French

在Android应用中,我支持两种语言(默认为enfr):

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>

1 个答案:

答案 0 :(得分:0)

Android将尝试选择您的首选语言,如果您的默认语言是波兰语并且您没有用于修饰的字符串,它将选择您的应用程序的默认语言,英语。

查看文档:{​​{3}}