Navigator: свойство languages

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

io error: No such file or directory (os error 2) (/home/runner/work/yari/yari/mdn/translated-content/files/ru/web/api/html_dom_api/index.md)

Доступное только для чтения свойство Navigator.languages возвращает массив строк, представляющих предпочтительные для пользователя языки. Язык представляется кодом в соответствии со стандартом RFC 5646: Теги для идентификации языков (также известном как BCP 47). Возвращаемый массив отсортирован в порядке наибольшего предпочтения пользователем.

Значение navigator.language является первым элементом данного массива.

Если происходит изменение предпочтительных для пользователя языков, то вызывается событие languagechange объекта Window.

HTTP-заголовок Accept-Language в каждом HTTP-запросе от браузера пользователя использует такое же значение как и в свойстве navigator.languages, если не считать дополнительное поле qvalues (значения качества), например: en-US;q=0.8.

Значение

Массив строк.

Примеры

Вывод содержимого navigator.language и navigator.languages

js
navigator.language; // "en-US"
navigator.languages; // ["en-US", "zh-CN", "ja-JP"]

Использование конструкторов Intl для форматирования, зависящего от языка

Массив идентификаторов языка, содержащийся в navigator.languages, может быть передан в конструкторы Intl. Будет использована первая поддерживаемая Intl локаль из переданного списка:

js
const date = new Date("2012-05-24");

const formattedDate = new Intl.DateTimeFormat(navigator.languages).format(date);

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

Specification
HTML Standard
# dom-navigator-languages-dev

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

BCD tables only load in the browser

Смотрите также