Spec-Zone .ru
спецификации, руководства, описания, API
|
public static final class Locale.LanguageRange extends Object
Есть два типа диапазонов языка: основной и расширенный. В RFC 4647 синтаксис диапазонов языка выражается в
Например,basic-language-range = (1*8ALPHA *("-" 1*8alphanum)) / "*" extended-language-range = (1*8ALPHA / "*") *("-" (1*8alphanum / "*")) alphanum = ALPHA / DIGIT
"en"
(Английский язык), "ja-JP"
(Японский язык, Япония), "*"
(специальный диапазон языка, который соответствует любой тег языка) диапазоны языка Бэйсик, тогда как "*-CH"
(любые языки, Швейцария), "es-*"
(Испанский язык, любые области), и "zh-Hant-*"
(Традиционные китайцы, любые области), расширенные диапазоны языка.Locale.filter(java.util.List<java.util.Locale.LanguageRange>, java.util.Collection<java.util.Locale>, java.util.Locale.FilteringMode)
, Locale.filterTags(java.util.List<java.util.Locale.LanguageRange>, java.util.Collection<java.lang.String>, java.util.Locale.FilteringMode)
, Locale.lookup(java.util.List<java.util.Locale.LanguageRange>, java.util.Collection<java.util.Locale>)
, Locale.lookupTag(java.util.List<java.util.Locale.LanguageRange>, java.util.Collection<java.lang.String>)
Модификатор и Тип | Поле и Описание |
---|---|
static double |
MAX_WEIGHT
Постоянное содержание максимальное значение веса, 1.0, который указывает, что диапазон языка является подходящим вариантом для пользователя.
|
static double |
MIN_WEIGHT
Постоянное содержание минимальное значение веса, 0.0, который указывает, что диапазон языка не является подходящим вариантом для пользователя.
|
Конструктор и Описание |
---|
Locale.LanguageRange(String range)
Конструкции a
LanguageRange использование данного range . |
Locale.LanguageRange(String range, double weight)
Конструкции a
LanguageRange использование данного range и weight . |
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
equals(Object obj)
Сравнивает этот объект с указанным объектом.
|
Строка |
getRange()
Возвращает диапазон языка этого
LanguageRange . |
double |
getWeight()
Возвращает вес этого
LanguageRange . |
int |
hashCode()
Возвращает значение хэш-кода для объекта.
|
static List<Locale.LanguageRange> |
mapEquivalents(List<Locale.LanguageRange> priorityList, Map<String,List<String>> map)
Генерирует новый специализированный Приоритетный Список Языка, используя данный
priorityList и map . |
static List<Locale.LanguageRange> |
parse(String ranges)
Анализирует данный
ranges генерировать Приоритетный Список Языка. |
static List<Locale.LanguageRange> |
parse(String ranges, Map<String,List<String>> map)
Анализирует данный
ranges генерировать Приоритетный Список Языка, и затем настраивает список, используя данный map . |
public static final double MAX_WEIGHT
public static final double MIN_WEIGHT
public Locale.LanguageRange(String range)
LanguageRange
использование данного range
. Отметьте, что никакая проверка допустимости не делается против Реестра Подтега Языка IANA во время конструкции. Это эквивалентно LanguageRange(range, MAX_WEIGHT)
.
range
- диапазон языкаNullPointerException
- если данный range
null
public Locale.LanguageRange(String range, double weight)
LanguageRange
использование данного range
и weight
. Отметьте, что никакая проверка допустимости не делается против Реестра Подтега Языка IANA во время конструкции.range
- диапазон языкаweight
- значение веса между MIN_WEIGHT
и MAX_WEIGHT
NullPointerException
- если данный range
null
IllegalArgumentException
- если данный weight
меньше чем MIN_WEIGHT
или больше чем MAX_WEIGHT
public String getRange()
LanguageRange
.public double getWeight()
LanguageRange
.public static List<Locale.LanguageRange> parse(String ranges)
ranges
генерировать Приоритетный Список Языка. Этот метод выполняет синтаксическую проверку на каждый диапазон языка в данном ranges
но не делает проверки допустимости, используя Реестр Подтега Языка IANA.
ranges
быть данным может принять одну из следующих форм:
"Accept-Language: ja,en;q=0.4" (weighted list with Accept-Language prefix) "ja,en;q=0.4" (weighted list) "ja,en" (prioritized list)Во взвешенном списке каждому диапазону языка дают значение веса. Значение веса идентично "качественному значению" в
";q="
, и значение веса значения по умолчанию MAX_WEIGHT
когда это опускается. В отличие от взвешенного списка, диапазоны языка в расположенном по приоритетам списке сортируются в порядке по убыванию, основанном на его приоритете. Первый диапазон языка имеет самый высокий приоритет и встречает предпочтение пользователя больше всего.
Или в случае, диапазоны языка сортируются в порядке убывания в Приоритетном Списке Языка, основанном на приоритете или в весе. Если диапазон языка появляется в данном ranges
не раз только первый включается в Приоритетный Список Языка.
Возвращенный список состоит из диапазонов языка от данного ranges
и их эквиваленты находятся в Реестре Подтега Языка IANA. Например, если данный ranges
"Accept-Language: iw,en-us;q=0.7,en;q=0.3"
, элементы в списке, который будет возвращен:
Range Weight "iw" (older tag for Hebrew) 1.0 "he" (new preferred code for Hebrew) 1.0 "en-us" (English, United States) 0.7 "en" (English) 0.3Два диапазона языка,
"iw"
и "he"
, имейте тот же самый самый высокий приоритет в списке. Добавляя "he"
к Приоритетному Списку Языка пользователя соответствующий локаль метод может найти иврит как соответствующую локаль (или тег языка), даже если приложение или система предлагают только "he"
как поддерживаемая локаль (или тег языка).ranges
- список разделенного от запятой языка располагается или список диапазонов языка в форме заголовка "Принимать-языка", определенного в ranges
и их эквивалентный язык располагается при наличии. Список является поддающимся изменению.NullPointerException
- если ranges
нульIllegalArgumentException
- если диапазон языка или вес находятся в данном ranges
плохо формируетсяpublic static List<Locale.LanguageRange> parse(String ranges, Map<String,List<String>> map)
ranges
генерировать Приоритетный Список Языка, и затем настраивает список, используя данный map
. Этот метод эквивалентен mapEquivalents(parse(ranges), map)
.ranges
- список разделенного от запятой языка располагается или список диапазонов языка в форме заголовка "Принимать-языка", определенного в map
- карта, содержащая информацию, чтобы настроить диапазоны языкаNullPointerException
- если ranges
нульIllegalArgumentException
- если диапазон языка или вес находятся в данном ranges
плохо формируетсяparse(String)
, mapEquivalents(java.util.List<java.util.Locale.LanguageRange>, java.util.Map<java.lang.String, java.util.List<java.lang.String>>)
public static List<Locale.LanguageRange> mapEquivalents(List<Locale.LanguageRange> priorityList, Map<String,List<String>> map)
priorityList
и map
. Если данный map
пусто, этот метод возвращает копию данного priorityList
. В карте ключ представляет диапазон языка, тогда как значение является списком эквивалентов этого. '*'
не может использоваться в карте. У каждого эквивалентного диапазона языка есть то же самое значение веса как его диапазон языка оригинала.
An example of map: Key Value "zh" (Chinese) "zh", "zh-Hans"(Simplified Chinese) "zh-HK" (Chinese, Hong Kong) "zh-HK" "zh-TW" (Chinese, Taiwan) "zh-TW"Настройка выполняется после модификации, используя Реестр Подтега Языка IANA.
Например, если Приоритетный Список Языка пользователя состоит из пяти диапазонов языка ("zh"
, "zh-CN"
, "en"
, "zh-TW"
, и "zh-HK"
), недавно сгенерированный Приоритетный Список Языка, который настраивается, используя вышеупомянутый пример карты, будет состоять из "zh"
, "zh-Hans"
, "zh-CN"
, "zh-Hans-CN"
, "en"
, "zh-TW"
, и "zh-HK"
.
"zh-HK"
и "zh-TW"
не преобразовываются в "zh-Hans-HK"
ни "zh-Hans-TW"
даже если они включаются в Приоритетный Список Языка. В этом примере отображение используется, чтобы ясно отличить Упрощенный китайский и Традиционных китайцев.
Если "zh"
"К""zh"
отображение не включается в карту, простая замена будет выполняться, и специализированный список не будет включать "zh"
и "zh-CN"
.
priorityList
- Приоритетный Список Языка пользователяmap
- карта, содержащая информацию, чтобы настроить диапазоны языкаNullPointerException
- если priorityList
null
parse(String, Map)
public int hashCode()
hashCode
в class Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
null
и a LanguageRange
объект, который содержит то же самое range
и weight
значения как этот объект.equals
в class Object
obj
- объект сравниться сtrue
если этот объект range
и weight
то же самое как obj
's; false
иначе.Object.hashCode()
, HashMap
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92