Spec-Zone .ru
спецификации, руководства, описания, API
След: Интернационализация
Урок: Установка Локали
BCP 47 Расширений
Домашняя страница > Интернационализация > Установка Локали

BCP 47 Расширений

SE Java 7 выпусков приспосабливают BCP IETF 47 стандартам, которые поддерживают добавляющие расширения a Locale. Любой единственный символ может использоваться, чтобы обозначить расширение, но есть два предопределенных кода расширения: 'u' определяет расширение локали Unicode, и 'x' определяет расширение личного пользования.

Расширения локали Unicode определяются Unicode Общий Репозитарий Данных Локали (CLDR) проект. Они используются, чтобы определить информацию, которая является "не языком, определенным", таким как календари или валюта. Расширение личного пользования может использоваться, чтобы определить любую другую информацию, такую как платформа (например, Windows, UNIX, или Linux), или информацию о выпуске (например, 6u23 или JDK 7).

Расширение определяется как пара ключ/значение, где ключ является единственным символом (обычно 'u' или 'x'). У правильно построенного значения есть следующий формат:

SUBTAG ('-' SUBTAG)*

В этом формате:

SUBTAG = [0-9a-zA-Z]{2,8}    For key='u'
SUBTAG = [0-9a-zA-Z]{1,8}    For key='x'

Отметьте, что одно-символьное значение позволяется для расширения личного пользования. Однако, есть 2-символьный минимум для значений в расширении локали Unicode.

Строки расширения являются нечувствительными к регистру, но Locale class отображает все ключи и оценивает нижнему регистру.

getExtensionKeys() метод возвращает набор ключей расширения, если таковые вообще имеются, для a Locale. getExtension(key) метод возвращает строку значения для указанного ключа, если любой.

Расширения Локали Unicode

Как ранее упомянуто, расширение локали Unicode определяется 'u' код клавиши или UNICODE_LOCALE_EXTENSION постоянный. Само значение также определяется парой ключа/типа. Юридические значения определяются в таблице Определений Ключа/Типа на веб-сайте Unicode. Код клавиши определяется двумя буквенными символами. Следующая таблица приводит ключи расширения локали Unicode:

Код клавиши Описание
приблизительно календарный алгоритм
co тип сопоставления
ka параметры сопоставления
cu тип валюты
ню тип числа
va общий различный тип

Отметьте: 

Определяя расширение локали Unicode, такое как числовой формат, не гарантирует, что службы локали для базовой платформы будут соблюдать тот запрос.


Следующая таблица показывает некоторые примеры пар ключа/типа для расширения локали Unicode.

Пара ключа/Типа Описание
приблизительно буддистский Тайский буддистский календарь
cо-система транслитерации китайских иероглифов Упорядочивание системы транслитерации китайских иероглифов для латыни
cu-доллар-США Доллары США
ню-jpanfin Японские финансовые цифры
tz-aldav Европа/Андорра

Следующая строка представляет немецкую локаль языка для страны Германии, используя стиль телефонной книги упорядочивания для платформы Linux. Этот пример также содержит названный атрибут "email".

de-DE-u-email-co-phonebk-x-linux

Следующий Locale методы могут привыкнуть к информации о доступе о локали Unicode extensionss. Эти методы описываются, используя предыдущий немецкий пример локали.

Расширения Личного пользования

Расширение личного пользования, определенное 'x' код клавиши или PRIVATE_USE_EXTENSION постоянный, может быть что-либо, пока значение хорошо формируется.

Следующее является примерами возможных расширений личного пользования:

x-jdk-1-7
x-linux

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Создание Локали
Следующая страница: Идентификация Доступных Локалей