Учебники

Интернализация Java — класс локали

Объект класса Locale представляет определенный географический / политический / культурный регион. Любая операция, требующая, чтобы языковой стандарт выполнял свою задачу, называется чувствительной к языку операцией и использует языковой стандарт для управления информацией, относящейся к пользователю. Например, отображение числа является чувствительной к локали операцией. Номер должен быть отформатирован в соответствии с обычаями и соглашениями страны, региона или культуры пользователя.

Содержание локали

Объект Locale содержит следующее:

Язык — ISO 639 альфа-2 или альфа-3 код языка, или зарегистрированные языковые субтеги до 8 букв алфавита. Код альфа-2 должен использоваться, если присутствует код альфа-2 и альфа-3. Поле языка нечувствительно к регистру, но Locale всегда канонизируется строчными буквами.

Скрипт — ISO 15924 код альфа-4 скрипта. Поле сценария нечувствительно к регистру, но Locale всегда канонизируется регистру заголовка.

Страна (регион) — код страны ISO 3166 alpha-2 или код зоны ООН M.49 цифра-3. Поле страны нечувствительно к регистру, но Locale всегда канонизируется заглавными буквами.

Вариант — любое произвольное значение, используемое для обозначения варианта локали. Там, где есть два или более варианта значения, каждое из которых указывает свою семантику, эти значения должны быть упорядочены по важности, причем наиболее важными являются первые, разделенные подчеркиванием (‘_’). Вариант поля чувствителен к регистру.

Расширения — Карта от односимвольных ключей до строковых значений, указывающая расширения помимо идентификации языка. Расширения в Locale реализуют семантику и синтаксис вложенных тегов расширения BCP 47 и вложенных тегов частного использования. Расширения нечувствительны к регистру, но Locale канонизирует все ключи расширения и значения в нижний регистр.