10

重複の可能性:
ローカライズされた国名

主要なヨーロッパ言語にローカライズされたすべての国を含む Java ライブラリはありますか?

使用してみましjava.util.Localeたが、すべての国が含まれているわけではありません (サンマリノ、アンドラ、アゼルバイジャンなどの一部が欠けています...)


編集

これ:

for (Locale locale : Locale.getAvailableLocales())
    {
         System.out.println(locale.getCountry() + "  " + locale.getDisplayCountry());
    }

これを出力します:(私のロケールは英語です)

AE  United Arab Emirates
AL  Albania
AR  Argentina
AT  Austria
AU  Australia
BA  Bosnia and Herzegovina
BE  Belgium
BG  Bulgaria
BH  Bahrain
BO  Bolivia
BR  Brazil
BY  Belarus
CA  Canada
CH  Switzerland
CL  Chile
CN  China
CO  Colombia
CR  Costa Rica
CS  Serbia and Montenegro
CY  Cyprus
CZ  Czech Republic
DE  Germany
DK  Denmark
DO  Dominican Republic
DZ  Algeria
EC  Ecuador
EE  Estonia
EG  Egypt
ES  Spain
FI  Finland
FR  France
GB  United Kingdom
GR  Greece
GT  Guatemala
HK  Hong Kong
HN  Honduras
HR  Croatia
HU  Hungary
ID  Indonesia
IE  Ireland
IL  Israel
IN  India
IQ  Iraq
IS  Iceland
IT  Italy
JO  Jordan
JP  Japan
KR  South Korea
KW  Kuwait
LB  Lebanon
LT  Lithuania
LU  Luxembourg
LV  Latvia
LY  Libya
MA  Morocco
ME  Montenegro
MK  Macedonia
MT  Malta
MX  Mexico
MY  Malaysia
NI  Nicaragua
NL  Netherlands
NO  Norway
NZ  New Zealand
OM  Oman
PA  Panama
PE  Peru
PH  Philippines
PL  Poland
PR  Puerto Rico
PT  Portugal
PY  Paraguay
QA  Qatar
RO  Romania
RS  Serbia
RU  Russia
SA  Saudi Arabia
SD  Sudan
SE  Sweden
SG  Singapore
SI  Slovenia
SK  Slovakia
SV  El Salvador
SY  Syria
TH  Thailand
TN  Tunisia
TR  Turkey
TW  Taiwan
UA  Ukraine
US  United States
UY  Uruguay
VE  Venezuela
VN  Vietnam
YE  Yemen
ZA  South Africa

「閉じる」をクリックする前に、次の質問をお読みください。

この質問は、候補の重複した質問のだまされたものではありません! もう 1 つの質問は、Java とはまったく関係ありません。Objective-C コードも含まれています。

4

1 に答える 1

12

使用できますLocale.getISOCountries()。たとえば、次のコードは、ISO 3166 で定義されているすべての国のドイツ名を出力します。

Locale locale = Locale.GERMAN;      
for (String country : Locale.getISOCountries())
{
    System.out.println(new Locale("", country).getDisplayCountry(locale));
}

これは、LocaleNames_xx.propertiesリソース バンドルを使用します。JDK リポジトリのデフォルト バージョンは次のとおりです。

更新、13.05.2020: Javadocには、これが返されると記載されています。a name for the locale's country that is appropriate for display to the user.一部の重複はありますが、上記のコードは常に ISO-3166 名を返すとは限りません。これについて議論しているJDK バグ レポートがあります。詳細については、以下の私のコメントを参照してください。

于 2012-10-19T13:14:05.543 に答える