Как были выбраны константы Locale? - PullRequest
10 голосов
/ 11 апреля 2011

Класс Java java.util.Locale содержит набор полей public static final для языков / стран для прямых ссылок на конкретные локали.Другие локали могут быть легко использованы с помощью соответствующих конструкторов.

Однако выбор значений мне кажется довольно произвольным.

Языки (в том порядке, в котором они появляются в источнике): Английский, французский, немецкий, итальянский, японский, корейский, китайский, упрощенный китайский, традиционный китайский

Страны: Франция, Германия, Италия, Япония, Корея, Китай, КНР, Тайвань, Великобритания, США,Canda и Canada French (для локали fr_CA).

У кого-нибудь есть идея (или даже предположение), как эти языки / страны были выбраны?

Ответы [ 3 ]

10 голосов
/ 11 апреля 2011

Эти коды определены стандартами ISO 3166 для кодов стран и 639 для кодов языков. См. Также страницу W3C по интернационализации .

Edit:

Перечитав вопрос, ОП уже знал это :-)

Согласно статье Sun Интернационализация: понимание локали в платформе Java эти значения выбраны в качестве примеров и даже говорят нам:

Поскольку существует так мало готовых локалей, вам, вероятно, следует просто избегать этих статические объекты в целом.

3 голосов
/ 11 апреля 2011

Я думаю, это просто наиболее часто используемые локали для удобства разработчиков.

Из Javadoc:

Класс Locale предоставляет ряд удобных констант,можно использовать для создания объектов Locale для часто используемых локалей.

0 голосов
/ 11 апреля 2011

Я предполагаю, что они используют свои языки уровня 1 - те, на которые локализован JRE. Что касается стран, я думаю, что они просто сопоставляют это с языками. Ну, мы, вероятно, никогда не узнаем, если кто-то не заговорит.

...