小编Jac*_*ski的帖子

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

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

Settings -> languages我选择我的语言偏好:

 1. Polish (preferred)
 2. French
Run Code Online (Sandbox Code Playgroud)

在Android应用程序中,我支持两种语言(en默认情况下,和fr):

values/strings.xml (English as default)
values-fr/strings.xml (French)
Run Code Online (Sandbox Code Playgroud)

使用此配置,应用程序以英语(默认)启动,而在我的语言首选项列表中有法语(我的应用程序支持,应该使用).

为什么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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

string android locale internationalization

10
推荐指数
1
解决办法
3091
查看次数

标签 统计

android ×1

internationalization ×1

locale ×1

string ×1