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