如何以en_ <country>格式</country>获取区域设置列表

时间:2011-11-15 12:26:40

标签: java

我想以<lang>_<Country>格式返回所有国家/地区的列表,其中<lang>应为英文, 所以我需要一个像en_GB,en_US,en_JP等的列表。看看Locale的api正在返回<lang>_<Country>,但它并没有像en那样将它限制为语言。 我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:3)

尝试

    Locale[] availableLocales = Locale.getAvailableLocales();
    for (Locale locale : availableLocales) {
        if ("en".equals(locale.getLanguage())) {
            System.out.println(locale);
        }
    }

您可以过滤列表,只包含en作为语言。

注意:某些语言环境有语言但没有国家/地区

答案 1 :(得分:0)

怎么样:

        Locale[] allLocales = Locale.getAvailableLocales();
        String desiredLanguage="en";
        List<Locale> desiredLocales = new ArrayList<Locale>();
        for(Locale locale:allLocales) {
            if(locale.getLanguage().equals(desiredLanguage)) {
                desiredLocales.add(locale);
                System.out.println("added: "+locale);
            }
        }