【问题标题】:Support only two languages in my Android app在我的 Android 应用中仅支持两种语言
【发布时间】:2017-03-16 12:45:39
【问题描述】:

我的安卓应用程序只需要支持英语和西班牙语。默认为英语。但是,如果我将手机的语言更改为任何其他语言,比如说, 法语,我的应用程序仍然将其视为配置更改,并且调用了活动的 onCreate。我没有处理 android:configChanges 因为我希望我的应用程序自动处理语言更改,但仅适用于英语和西班牙语。

我需要进行哪些更改以使应用仅处理英语和西班牙语,如果选择了任何其他语言,它应该忽略更改并继续。

谢谢。

【问题讨论】:

  • 你有答案吗?我也面临这个问题!我不希望我的应用支持所有语言,但 CH Play 说我的应用支持 83 种语言 :(

标签: android locale onconfigurationchanged


【解决方案1】:

您的文件夹结构将更改如下 -

MyProject/
    res/
       values/
           strings.xml
       values-es/
           strings.xml

如果您决定支持从右到左的语言,您需要从开发者设置中选择Force RTL layout,并检查您的应用在RTL languages 下的行为方式。 查看此链接了解更多信息https://developer.android.com/training/basics/supporting-devices/languages.html

【讨论】:

  • 如果你认为这个答案对你有用,你能接受它作为答案吗:)
  • 感谢您的回复。但是,我的问题是,如果在电话中选择了英语或西班牙语以外的任何语言,我不希望我的应用程序配置发生变化。现在,即使我选择荷兰语,它也会将其视为配置更改并调用我的活动的 onCreate。让我知道是否清楚。
【解决方案2】:

文件夹 res/values 是一个 DEFAULT 目录,其他的只是“在语言的情况下”。所以我所要做的就是将英语切换到 /res/values 而另一种语言则切换到 res/values-es

【讨论】:

  • 感谢您的回复。但是,我的问题是,如果在电话中选择了英语或西班牙语以外的任何语言,我不希望我的应用程序配置发生变化。现在,即使我选择荷兰语,它也会将其视为配置更改并调用我的活动的 onCreate。让我知道是否清楚。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-08
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多