如何用语言代码显示英文语言名称?

时间:2016-09-19 22:29:52

标签: java scala

我使用以下代码,但是返回该语言的语言名称,而我想用英语显示语言名称。

var loc = new java.util.Locale(code)
return loc.getDisplayLanguage(loc)

那么,我怎样才能用英语返回语言的名称?

2 个答案:

答案 0 :(得分:3)

Locale.getDisplayLanguage()以默认语言环境显示语言。要强制它以英语显示,您可以使用Locale.getDisplayLanguage(Locale)

return loc.getDisplayLanguage(Locale.ENGLISH)

答案 1 :(得分:2)

loc.getDisplayLanguage()返回默认语言环境中的名称,而不是loc的语言环境:

  

如果可能,返回的名称将针对默认的DISPLAY区域设置进行本地化。

因此,由于我的默认语言环境是美国英语,我将获得以下内容:

Locale.GERMANY.getDisplayLanguage() // returns "German"

要控制显示字符串的语言,请使用loc.getDisplayLanguage(Locale)指定区域设置。例子:

Locale.US.getDisplayLanguage(Locale.ENGLISH);      // English
Locale.US.getDisplayLanguage(Locale.GERMAN);       // Englisch
Locale.US.getDisplayLanguage(Locale.ITALIAN);      // inglese
Locale.US.getDisplayLanguage(Locale.FRENCH);       // anglais

Locale.GERMANY.getDisplayLanguage(Locale.ENGLISH); // German
Locale.GERMANY.getDisplayLanguage(Locale.GERMAN);  // Deutsch
Locale.GERMANY.getDisplayLanguage(Locale.ITALIAN); // tedesco
Locale.GERMANY.getDisplayLanguage(Locale.FRENCH);  // allemand

Locale.ITALY.getDisplayLanguage(Locale.ENGLISH);   // Italian
Locale.ITALY.getDisplayLanguage(Locale.GERMAN);    // Italienisch
Locale.ITALY.getDisplayLanguage(Locale.ITALIAN);   // italiano
Locale.ITALY.getDisplayLanguage(Locale.FRENCH);    // italien

Locale.FRANCE.getDisplayLanguage(Locale.ENGLISH);  // French
Locale.FRANCE.getDisplayLanguage(Locale.GERMAN);   // Französisch
Locale.FRANCE.getDisplayLanguage(Locale.ITALIAN);  // francese
Locale.FRANCE.getDisplayLanguage(Locale.FRENCH);   // français