java-当“ inLocale”设置为土耳其语(JDK 1.6.0_29)时可用的语言环境显示国家?

根据Locale.getDisplayLanguage(Locale inLocale)的javadoc,

Returns a name for the locale’s country that is appropriate for
display to the user. If possible, the name returned will be localized
according to inLocale. For example, if the locale is fr_FR and
inLocale is en_US, getDisplayCountry() will return “France”; if the
locale is en_US and inLocale is fr_FR, getDisplayCountry() will return
“Etats-Unis”. If the name returned cannot be localized according to
inLocale. (say, we don’t have a Japanese name for Croatia), this
function falls back on the English name, and finally on the ISO code
as a last-resort value. If the locale doesn’t specify a country, this
function returns the empty string.

因此,当我执行以下代码片段时:

final class TurkishDemo 
{
    public static void main(String[] args) 
    {
        final Locale l = new Locale("tr");
        for(Locale locale: Locale.getAvailableLocales())
        {
            System.out.println(locale.getDisplayCountry(l));
        }
    }
}

我得到以下输出:

Japan Peru

Japan Panama Bosnia and Herzegovina

Guatemala United Arab Emirates Norway Albania

Iraq Yemen

Portugal Cyprus Qatar Macedonia

Switzerland United States Finland

Malta Slovenia Slovakia

Türkiye

Saudi Arabia

United Kingdom Serbia and Montenegro

New Zealand Norway Lithuania Nicaragua

Ireland Belgium Spain Lebanon

Canada Estonia Kuwait Serbia United States Mexico Sudan Indonesia

Uruguay Latvia

Brazil Syria

Dominican Republic Switzerland India Venezuela Bahrain Philippines
Tunisia

Austria

Netherlands Ecuador * Jordan

Iceland Colombia Costa Rica Chile Egypt South Africa Thailand Greece
Italy

Hungary

Ireland Ukraine Poland Luxembourg Belgium India Spain Morocco Bolivia
Australia

Singapore

El Salvador Russia South Korea

Algeria Vietnam Montenegro

Libya

China Belarus *

Israel Bulgaria

Malta Paraguay

France Czech Republic Switzerland Romania Puerto Rico Canada Germany

Luxembourg

Argentina

Malaysia Croatia Singapore

Oman

Thailand

Sweden Denmark Honduras

您会注意到,几乎所有国家(土耳其除外)都使用英文显示的国家名称.这是意料之中的,还是我做错了什么?

解决方法:

我认为您的代码是正确的.在我的机器上运行代码时,我得到了相同的行为.除了土耳其本身,JDK似乎没有这些国家/地区名称的土耳其语翻译.

上一篇:在Android上检测温度刻度的首选方法是什么?


下一篇:Java克罗地亚语区域设置