【问题标题】:How can i get the language of locale? [duplicate]我怎样才能获得语言环境的语言? [复制]
【发布时间】:2020-03-31 05:21:12
【问题描述】:

问标题,我怎样才能从 android 的语言环境中获取语言?我使用 countrycodepicker 获取国家代码并使用 locale.getLanguage 获取该国家/地区的语言。但是当我选择美国,法国,英国,......它得到错误的语言,如美国 - ikt;法国 - gsw?

String countryCode = ccp.getSelectedCountryNameCode();
        String languageCode = null;
        Locale[] all = Locale.getAvailableLocales();
        for (Locale locale : all) {
            String country = locale.getCountry();
            if(country.equalsIgnoreCase(countryCode)){
                languageCode = locale.getLanguage();
            }
        }

【问题讨论】:

  • Locale.getDefault().getDisplayLanguage();请检查这个。您可以获得默认语言的名称。在你的情况下检查方法 locale.getDisplayLanguage()
  • 不,我不想使用默认语言。我使用国家代码选择器来获取任何国家的国家代码。那么我想得到那个国家的语言
  • locale.getLanguage() 你可以在你的代码中使用 locale.getDisplayLanguage() 而不是这个

标签: java android locale


【解决方案1】:

要获取当前的Locale语言,请使用以下方法:

Locale.getDefault().getLanguage()

【讨论】:

  • 我想通过国家代码选择器获取我选择的国家的语言,如果我使用 Locale.getDefault().getLanguage() 它将始终返回默认语言
  • 是的,就当前区域设置语言而言的默认值。
  • 我试过了,但是当我选择美国时,语言是 lkt,而不是 en。一些国家也有同样的问题,例如:英国、法国……你知道为什么吗?
猜你喜欢
  • 2013-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 2014-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多