开发者

How were the Locale constants chosen?

The Java class java.util.Locale has a set of public static final fields for languages/countries for direct references to specific locales. Other locales can easily be used via the appropriate constructors.

However, the selection of values seems rather arbitrary to me.

The languages are (in the order in which they appear in the source): English, French, German, Italian, Japanese, Korean, Chinese, Simplified Chinese, Traditional Chinese

The cou开发者_运维技巧ntries are: France, Germany, Italy, Japan, Korea, China, PRC, Taiwan, UK, US, Canda and Canada French (for the locale fr_CA).

Does anyone have an idea (or even a guess) how those languages/countries where chosen?


Those codes are defined by ISO standards 3166 for country codes and 639 for language codes. See also the W3C Internationalization Activity page.

Edit:

Re-reading the question, the OP already knew this :-)

According to the Sun article Internationalization: Understanding Locale in the Java Platform those values are chosen as examples and it even tells us:

Because so few premade locales exist, you should probably just avoid these static objects altogether.


I'd guess it's simply the most often used locales as a convenience for developers.

From the Javadoc:

The Locale class provides a number of convenient constants that you can use to create Locale objects for commonly used locales.


My guess is that they use their Tier 1 languages - the ones that JRE is localized to. As for countries, I think they simply match it with languages. Well, we probably will never know unless somebody involved speak up.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜