Android Kotlin 获取所有系统语言

问题描述 投票:0回答:2

在 Android 设备上我可以加载不同的语言。

示例:

English (Set as default language)
French
Italian

如何以编程方式获取此列表?

我知道我可以使用此代码获取语言:

Locale.getDefault().getDisplayLanguage()

或者有没有办法将我的 Android 应用程序的后备语言设置为系统的第二语言?


编辑://

塞纳里奥:

选定的 Android 系统语言:

  • 英文(默认)
  • 法语
  • 意大利语

支持的应用程序语言:

  • string.xml(德语)-> 设置为默认值
  • string-fr.xml(法语)
  • string-it.xml(意大利语)

当前应用程序行为:

  • 显示带有德语翻译的应用程序。

预期的新应用行为:

  • 显示带有法语翻译的应用程序,因为法语在我的 Android 系统语言列表中位于第二位。
android kotlin locale
2个回答
1
投票

这将返回设备上所有可用的区域设置。

Locale.getAvailableLocales()

0
投票

我找到了答案在这里

val systemLocales = LocaleList.getDefault()

for (i in 0..systemLocales.size()) {
    systemLocales.get(i)?.let {
        println("${it.displayLanguage} (${it.displayCountry})")
    }
}

请注意,现在还有“每个应用程序语言首选项”这样的东西,默认情况下为空: val appLocales = AppCompatDelegate.getApplicationLocales()

	
© www.soinside.com 2019 - 2024. All rights reserved.