Spec-Zone.ru › JavaScript

Intl.Locale.prototype.variants

Свойство доступа variants экземпляров Intl.Locale возвращает варианты, связанные с этой локалью, в виде строки идентификаторов, разделённых тире (-), в порядке, указанном изначально.

Описание

Варианты являются частью основного идентификатора языка. Они выбирают варианты языка, которые тройка (язык, регион, скрипт) не может различить. Обычно они представляют один и тот же язык в разные эпохи или с разной орфографией. Например, в немецком языке есть варианты орфографии 1901 и 1996, которые записываются как de-1901 и de-1996; вариант "Ранний современный английский (1500-1700)" записывается как en-emodeng. Подтег может содержать несколько идентификаторов, разделённых тире (-). Эти идентификаторы технически неупорядочены, хотя на практике они часто имеют семантическую иерархию — например, резианский диалект словенского языка записывается как sl-rozaj, а диалект Сан-Джорджо/Била резианского языка записывается как sl-rozaj-biske.

Значение свойства variants устанавливается во время создания, либо через часть идентификатора локали после region, либо через опцию variants конструктора Intl.Locale(). Последняя имеет приоритет, если присутствуют обе; и если не присутствует ни одна из них, свойство имеет значение undefined.

Сет-аксессор (set accessor) variants — это undefined. Вы не можете изменить это свойство напрямую.

Примеры

Как и другие подтеги локали, варианты могут быть добавлены к объекту Intl.Locale через строку локали или аргумент объекта конфигурации конструктору.

Добавление вариантов через строку локали

Варианты, если они присутствуют, являются последними частями действительной строки идентификатора языка Unicode и могут быть добавлены к исходной строке идентификатора локали, которая передается в конструктор Intl.Locale(). Обратите внимание, что варианты не являются обязательной частью идентификатора локали.

const locale = new Intl.Locale("sl-rozaj-biske");
console.log(locale.variants); // "rozaj-biske"

Добавление вариантов через аргумент объекта конфигурации

Конструктор Intl.Locale() имеет необязательный аргумент объекта конфигурации. Установите свойство variants объекта конфигурации на желаемые варианты, а затем передайте его в конструктор.

const locale = new Intl.Locale("sl", { variants: "rozaj-biske" });
console.log(locale.variants); // "rozaj-biske"

Спецификации

Спецификация
ECMAScript® 2027 Internationalization API Specification
# sec-Intl.Locale.prototype.variants

Совместимость с браузерами

Настольные Мобильные Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
variants
149
149
141
133
26
149
141
100
26
No
149
26
1.2.18
2.8
No

См. также

  • Intl.Locale
  • Подтег варианта Unicode в спецификации языка разметки данных локали Unicode
  • Реестр подтегов языка IANA

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/variants

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API