如何在java中获取基于国家/地区代码的语言代码

时间:2015-03-28 20:02:41

标签: java android locale

如何根据java中的国家/地区代码获取语言代码  嗨
我遇到了需要根据国家/地区代码查找语言的情况。
对于国名"瑞士"我有国家代码为" CH" 。
但在瑞士可能有3种语言,如德语,法语和英国语。我需要根据国家/地区代码查找语言代码。
场景:我的国家代码是" CH" 。我需要根据此国家/地区代码获取语言代码。

提前致谢

2 个答案:

答案 0 :(得分:4)

此程序打印瑞士所有可用语言环境的语言代码。它可以很容易地修改为例如返回List<String>语言代码。挑选你想要的那个是留给读者的练习 - 瑞士人没有选择为他们的国家挑选一种首选语言。

import java.util.Locale;

public class Test {
  public static void main(String[] args) {
    Locale[] all = Locale.getAvailableLocales();
    for (Locale locale : all) {
      String country = locale.getCountry();
      if(country.equalsIgnoreCase("CH")){
        System.out.println(locale.getLanguage());
      }
    }
  }
}

输出:

fr
de
it

答案 1 :(得分:1)

您可以使用Locale -

的以下构造函数
   Locale(String language, String country)

对于USA(代码:US),语言为英语(代码“en”)。所以你可以这样做 -

Locale locale = new Locale("en", "US");