Locale.ToLanguageTag Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает хорошо сформированный тег языка IETF BCP 47, представляющий этот языковой стандарт.
[Android.Runtime.Register("toLanguageTag", "()Ljava/lang/String;", "")]
public string ToLanguageTag();
[<Android.Runtime.Register("toLanguageTag", "()Ljava/lang/String;", "")>]
member this.ToLanguageTag : unit -> string
Возвращаемое значение
тег языка BCP47, представляющий языковой стандарт
- Атрибуты
Комментарии
Возвращает хорошо сформированный тег языка IETF BCP 47, представляющий этот языковой стандарт.
Если этот Locale
параметр имеет язык, страну или вариант, не удовлетворяющий требованиям синтаксиса тега языка IETF BCP 47, этот метод обрабатывает эти поля, как описано ниже:
<b Язык:</b>> Если язык пуст или не хорошо сформирован (например, "a" или "e2"), он будет создан как "und" (не определено).
<b Страна:</b>> Если страна не является хорошо сформированной (например, "12" или "США"), она будет опущена.
<b Variant:</>b Если вариант <b>является< /b>> хорошо сформированным, каждый вложенный сегмент (разделенный "-" или "_") создается в виде подтега. В противном случае: <ul>
<значение li>, если все вложенные сегменты совпадают [0-9a-zA-Z]{1,8}
(например, "WIN" или "Oracle_JDK_Standard_Edition"), первый недоформованный вложенный сегмент и все следующие элементы будут добавлены к подтеге частного использования. Первый добавленный подтег будет "lvariant", за которым следует вложенные сегменты в порядке, разделенном дефисом. Например, x-lvariant-WIN, Oracle-x-lvariant-JDK-Standard-Edition.
<li>, если какой-либо вложенный сегмент не соответствует [0-9a-zA-Z]{1,8}
, вариант будет усечен и проблематичный подсеть и все следующие вложенные сегменты будут опущены. Если оставшаяся часть не пуста, она будет создана как подтег частного использования, как описано выше (даже если оставшаяся часть оказывается хорошо сформированной). Например, "Solaris_isjustthecoolestthing" создается как "x-lvariant-Solaris", а не как "solaris".</li></ul>
<b>Специальные преобразования:</b> Java поддерживает некоторые старые представления языкового стандарта, включая устаревшие коды языка ISO для обеспечения совместимости. Этот метод выполняет следующие преобразования: <ul>
<li>Устаревшие коды языка ISO "iw", "ji" и "in" преобразуются в "he", "yi" и "id" соответственно.
<li>Языковой стандарт с языком "нет", страна "NO" и вариант "NY", представляющий норвежский Nynorsk (Норвегия), преобразуется в языковой тег "nn-NO".</li></ul>
<примечание.</b>> Хотя тег языка, созданный этим методом, хорошо сформирован (соответствует требованиям синтаксиса, определенным спецификацией IETF BCP 47), он не обязательно является допустимым тегом языка BCP 47. Например,
new Locale("xx", "YY").toLanguageTag();
возвращает значение "xx-YY", но подтег языка "xx" и подтег региона "YY" недопустимы, так как они не зарегистрированы в реестре подтег языка IANA.
Добавлено в версии 1.7.
Документация по Java для java.util.Locale.toLanguageTag()
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.