Android 以编程方式检查应用程序是否已本地化为某种语言

Kuj*_*jta 5 android localization

我有一个应用程序需要提供以其他设备的语言本地化的字符串。一旦我的应用程序知道其他设备的语言,它就会创建一个新的资源类。类似于这个问题

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

  1. 值-en-rUS/strings.xml
  2. 值-en/strings.xml
  3. 值/strings.xml

我想回退到我自己设备的语言,而不是第三个回退(假设我的设备设置为 es_ES ):

  1. 值-en-rUS/strings.xml
  2. 值-en/strings.xml
  3. 值-es-rES/strings.xml
  4. 值-es/strings.xml
  5. 值/strings.xml

如果我能够以编程方式检查我的应用程序是否支持某种语言/区域,我就可以非常轻松地实现这一点。找到了这个AssetManager.getLocales()但认为它没有帮助。

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

Vac*_*ner -1

这里。对其进行测试并获得正确的设备区域设置作为两个符号字符串。代码是:

String Language = Locale.getDefault().getLanguage() //returns eg. "de" for german
Run Code Online (Sandbox Code Playgroud)