Spec-Zone .ru
спецификации, руководства, описания, API
|
SE Java 7 выпусков приспосабливают BCP IETF 47 стандартам, которые поддерживают добавляющие расширения a Locale
. Любой единственный символ может использоваться, чтобы обозначить расширение, но есть два предопределенных кода расширения: 'u'
определяет расширение локали Unicode, и 'x'
определяет расширение личного пользования.
Расширения локали Unicode определяются Unicode
Расширение определяется как пара ключ/значение, где ключ является единственным символом (обычно '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()
Locale
. getExtension(key)
Как ранее упомянуто, расширение локали Unicode определяется 'u'
код клавиши или UNICODE_LOCALE_EXTENSION
постоянный. Само значение также определяется парой ключа/типа. Юридические значения определяются в таблице
Код клавиши | Описание |
---|---|
приблизительно | календарный алгоритм |
co | тип сопоставления |
ka | параметры сопоставления |
cu | тип валюты |
ню | тип числа |
va | общий различный тип |
Определяя расширение локали Unicode, такое как числовой формат, не гарантирует, что службы локали для базовой платформы будут соблюдать тот запрос.
Следующая таблица показывает некоторые примеры пар ключа/типа для расширения локали Unicode.
Пара ключа/Типа | Описание |
---|---|
приблизительно буддистский | Тайский буддистский календарь |
cо-система транслитерации китайских иероглифов | Упорядочивание системы транслитерации китайских иероглифов для латыни |
cu-доллар-США | Доллары США |
ню-jpanfin | Японские финансовые цифры |
tz-aldav | Европа/Андорра |
Следующая строка представляет немецкую локаль языка для страны Германии, используя стиль телефонной книги упорядочивания для платформы Linux. Этот пример также содержит названный атрибут "email"
.
de-DE-u-email-co-phonebk-x-linux
Следующий Locale
методы могут привыкнуть к информации о доступе о локали Unicode extensionss. Эти методы описываются, используя предыдущий немецкий пример локали.
getUnicodeLocaleKeys()
"co"
.getUnicodeLocaleType(String)
getUnicodeLocaleType("co")
поскольку немецкий пример возвратил бы строку "phonebk"
.getUnicodeLocaleAttributes()
"email"
.Расширение личного пользования, определенное 'x'
код клавиши или PRIVATE_USE_EXTENSION
постоянный, может быть что-либо, пока значение хорошо формируется.
Следующее является примерами возможных расширений личного пользования:
x-jdk-1-7 x-linux