如何获取一种语言的国家名称列表(例如英文)?

时间:2010-06-02 15:08:04

标签: java grails localization groovy country-codes

使用Java,您可以通过Locale.getISOCountries()获取ISO2代码列表(请参阅此相关问题Best way to get a list of countries in Java)。

但是,我希望所有国家/地区的列表(例如英文),而不是ISO2国家/地区代码列表。我怎么能用Java或Groovy编程来做到这一点?

非常感谢,

小煜。

1 个答案:

答案 0 :(得分:5)

使用Groovy,打印一个有序的国家/地区名称列表:

def countries = [] as SortedSet

Locale.availableLocales*.displayCountry.each {
  if (it) {
    countries << it
  }
}

println countries

在我的语言环境中,打印

  

[阿尔巴尼亚,阿尔及利亚,阿根廷,澳大利亚,奥地利,巴林,......,也门]

您需要使用Set而不是List,因为某些国家/地区有多个区域设置,例如加拿大法国加拿大和英国加拿大的语言环境。