Android以编程方式检查应用是否针对某种语言进行了本地化

时间:2016-01-14 19:22:49

标签: android localization

我有一个应用需要提供以其他设备的语言本地化的字符串。只要我的应用程序知道其他设备的语言,它就会创建一个新的Resources类。与此question类似。

如果不支持该语言,则在获取字符串时,刚刚创建的资源对象可以回退(假设其他设备设置为en_US):

  1. 值烯RUS / strings.xml中
  2. 值烯/ strings.xml中
  3. 值/ strings.xml中
  4. 而不是第三个回退,我想回到我自己的设备的语言(假设我的设备设置为es_ES,那将是):

    1. 值烯RUS / strings.xml中
    2. 值烯/ strings.xml中
    3. 值-ES-RES / strings.xml中
    4. 值-ES / strings.xml中
    5. 值/ strings.xml中
    6. 如果我能以编程方式检查我的应用是否支持某个语言/区域,那么我可以轻松实现这一目标。找到这个AssetManager.getLocales(),但认为它没有帮助。

      有没有办法实现所需的后备或检查应用是否已在特定语言/地区进行本地化?

1 个答案:

答案 0 :(得分:0)

here。测试它并将正确的设备区域设置作为双符号字符串。代码是:

String Language = Locale.getDefault().getLanguage() //returns eg. "de" for german