gpt4 book ai didi

android - 区域语言 Locale 可用但未显示在日志中

转载 作者:太空狗 更新时间:2023-10-29 14:12:40 24 4
gpt4 key购买 nike

我正在尝试列出可用的 Locales,如下所示。

private List<String> getInstalledLanguages() {
Locale[] listLocales = Locale.getAvailableLocales();
List<String> listInstalledLanguages = new ArrayList<String>();
for(int i=0; i<listLocales.length; i++) {
String language = listLocales[i].getDisplayLanguage();
Log.i(TAG, "Language : "+language);
if (language.equals("English") && !listInstalledLanguages.contains("English"))
listInstalledLanguages.add(language);

if (language.equals("Hindi") && !listInstalledLanguages.contains("Hindi"))
listInstalledLanguages.add(language);

if (language.equals("Kannada") && !listInstalledLanguages.contains("Kannada"))
listInstalledLanguages.add(language);
}

return listInstalledLanguages;
}

Samsung Tab3 中,我可以看到语言设置中列出了 HindiKannada 语言,但是当我运行上面的代码时,我没有在其他语言的列表中看到它们(在日志中)。

印地语卡纳达语 语言以各自的语言列在语言设置中。我的意思是,印地语列为 हिन्दी,卡纳达语列为 ಕನ್ನಡ

我什至尝试按如下方式在各自的区域名称(हिन्दी 和 ಕನ್ನಡ 中)获取区域设置,但未能成功。

if (language.equals("हिन्दी"))
listInstalledLanguages.add(language);

谁能帮帮我?

TIA。

最佳答案

根据评论和其他答案,我了解到您在日志中和列表中都看不到“印地语”和“卡纳达语”语言,但您可以在手机设置中看到它们。我认为您应该尝试更改您的 getAvaiableLocales 因为 Android's Documentation状态:

Most locale-sensitive classes offer their own getAvailableLocales method, which should be preferred over this general purpose method.

您还应该将 listLocales[i].getDisplayLanguage(); 更改为 listLocales[i].getDisplayLanguage(Locale.US); 以确保获得英文语言名称

关于android - 区域语言 Locale 可用但未显示在日志中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25686302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com