Spec-Zone.ru › JavaScript

Intl.Locale

Базовая поддержка Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с сентября 2020 года.

Объект Intl.Locale — это стандартное встроенное свойство объекта Intl, представляющее идентификатор локали Unicode.

Попробуйте

const korean = new Intl.Locale("ko", {
  script: "Kore",
  region: "KR",
  hourCycle: "h23",
  calendar: "gregory",
});

const japanese = new Intl.Locale("ja-Jpan-JP-u-ca-japanese-hc-h12");

console.log(korean.baseName, japanese.baseName);
// Expected output: "ko-Kore-KR" "ja-Jpan-JP"

console.log(korean.hourCycle, japanese.hourCycle);
// Expected output: "h23" "h12"

Описание

Объект Intl.Locale был создан для упрощения работы с локалями Unicode. В Unicode локали представлены строкой, называемой идентификатором локали. Идентификатор локали состоит из идентификатора языка и тегов расширений. Идентификаторы языка — это основа локали, состоящая из под-тегов языка, письменности, региона и вариантов. Дополнительные сведения о локали хранятся в необязательных тегах расширений. Теги расширений содержат информацию о таких характеристиках локали, как тип календаря, формат часов и система счисления.

Традиционно API Intl использовал для представления локалей строки, как и Unicode. Это простое и компактное решение, которое хорошо работает. Однако добавление класса Locale упрощает разбор и изменение языка, письменности и региона, а также тегов расширений. Следующие свойства Intl.Locale соответствуют под-тегам идентификатора локали Unicode:

Свойство Соответствующий под-тег
language Идентификатор языка, первая часть
script Идентификатор языка, часть после language
region Идентификатор языка, часть после script
variants Идентификатор языка, часть после region
calendar ca (расширение)
caseFirst kf (расширение)
collation co (расширение)
hourCycle hc (расширение)
numberingSystem nu (расширение)
numeric kn (расширение)

Приведённая выше информация предоставляется в точности в исходном виде при создании объекта Locale без обращения к внешним базам данных. Объект Intl.Locale также предоставляет методы, возвращающие сведения о локали в реальном мире, например о доступных календарях, правилах сортировки и системах счисления.

Конструктор

Intl.Locale()
Создаёт новый объект Locale.

Свойства экземпляра

Эти свойства определены в Intl.Locale.prototype и доступны всем экземплярам Intl.Locale.

Intl.Locale.prototype.baseName
Возвращает основные сведения о Locale в виде подстроки полной строки данных.
Intl.Locale.prototype.calendar
Возвращает часть Locale, указывающую на календарную эру локали.
Intl.Locale.prototype.caseFirst
Возвращает сведения о том, учитывается ли регистр в правилах сортировки локали.
Intl.Locale.prototype.collation
Возвращает тип сортировки для Locale, используемый для упорядочивания строк согласно правилам локали.
Intl.Locale.prototype.constructor
Функция-конструктор, создавшая объект экземпляра. Для экземпляров Intl.Locale начальным значением является конструктор Intl.Locale.
Intl.Locale.prototype.hourCycle
Возвращает принятый в локали формат отображения времени.
Intl.Locale.prototype.language
Возвращает язык, связанный с локалью.
Intl.Locale.prototype.numberingSystem
Возвращает систему счисления, используемую в локали.
Intl.Locale.prototype.numeric
Возвращает сведения о том, применяются ли в локали особые правила сортировки для числовых символов.
Intl.Locale.prototype.region
Возвращает регион мира (обычно страну), связанный с локалью.
Intl.Locale.prototype.script
Возвращает письменность, используемую для записи языка, указанного в локали.
Intl.Locale.prototype.variants
Возвращает под-теги вариантов (например, различные варианты орфографии), связанные с локалью.
Intl.Locale.prototype[Symbol.toStringTag]
Начальное значение свойства [Symbol.toStringTag] — строка "Intl.Locale". Это свойство используется в Object.prototype.toString().

Методы экземпляра

Intl.Locale.prototype.getCalendars()
Возвращает Array доступных идентификаторов календарей согласно правилам локали.
Intl.Locale.prototype.getCollations()
Возвращает Array типов сортировки для Locale.
Intl.Locale.prototype.getHourCycles()
Возвращает Array идентификаторов формата часов: 12-часовой формат ("h12"), японский 12-часовой формат ("h11"), 24-часовой формат ("h23") или неиспользуемый формат "h24".
Intl.Locale.prototype.getNumberingSystems()
Возвращает Array идентификаторов систем счисления, доступных согласно правилам локали.
Intl.Locale.prototype.getTextInfo()
Возвращает часть, указывающую направление текста: ltr (слева направо) или rtl (справа налево).
Intl.Locale.prototype.getTimeZones()
Возвращает Array идентификаторов часовых поясов, связанных с Locale.
Intl.Locale.prototype.getWeekInfo()
Возвращает элементы недель из UTS 35 согласно правилам локали: элементы недель UTS 35.
Intl.Locale.prototype.maximize()
Определяет наиболее вероятные значения языка, письменности и региона локали на основе имеющихся значений.
Intl.Locale.prototype.minimize()
Пытается удалить сведения о локали, которые были бы добавлены при вызове maximize().
Intl.Locale.prototype.toString()
Возвращает полную строку идентификатора локали.

Примеры

Основное использование

В самом простом случае конструктор Intl.Locale() принимает строку идентификатора локали в качестве аргумента:

const us = new Intl.Locale("en-US");

Использование конструктора Locale с объектом параметров

Конструктор также принимает необязательный аргумент — объект конфигурации, который может содержать один из нескольких типов расширений. Например, задайте свойству hourCycle объекта конфигурации нужный формат часов, а затем передайте его конструктору:

const us12hour = new Intl.Locale("en-US", { hourCycle: "h12" });
console.log(us12hour.hourCycle); // Prints "h12"

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

Спецификация
Спецификация API интернационализации ECMAScript® 2027
# locale-objects

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

Настольный компьютер Мобильные устройства Сервер
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari на iOS Samsung Internet WebView для Android WebView на iOS Bun Deno Node.js
Locale
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
Locale
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
baseName
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
calendar
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
caseFirst
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
collation
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
getCalendars
130
99Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
115
85Реализовано как свойство доступа.
17
15.4–previewРеализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
86
68Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
28.0
18.0Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
1.0.0
2.1
1.19–2.6.7Реализовано как свойство доступа.
24.0.0
18.0.0Реализовано как свойство доступа.
getCollations
130
99Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
115
85Реализовано как свойство доступа.
17
15.4–previewРеализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
86
68Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
28.0
18.0Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
1.0.0
2.1
1.19–2.6.7Реализовано как свойство доступа.
24.0.0
18.0.0Реализовано как свойство доступа.
getHourCycles
130
99Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
115
85Реализовано как свойство доступа.
17
15.4–previewРеализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
86
68Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
28.0
18.0Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
1.0.0
2.1
1.19–2.6.7Реализовано как свойство доступа.
24.0.0
18.0.0Реализовано как свойство доступа.
getNumberingSystems
130
99Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
115
85Реализовано как свойство доступа.
17
15.4–previewРеализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
86
68Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
28.0
18.0Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
1.0.0
2.1
1.19–2.6.7Реализовано как свойство доступа.
24.0.0
18.0.0Реализовано как свойство доступа.
getTextInfo
130
99Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
115
85Реализовано как свойство доступа.
17
15.4–previewРеализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
86
68Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
28.0
18.0Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
1.0.0
2.1
1.19–2.6.7Реализовано как свойство доступа.
24.0.0
18.0.0Реализовано как свойство доступа.
getTimeZones
130
99Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
115
85Реализовано как свойство доступа.
17
15.4–previewРеализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
86
68Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
28.0
18.0Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
1.0.0
2.1
1.19–2.6.7Реализовано как свойство доступа.
24.0.0
18.0.0Реализовано как свойство доступа.
getWeekInfo
130
99Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
115
85Реализовано как свойство доступа.
17
15.4–previewРеализовано как свойство доступа.
130
99Реализовано как свойство доступа.
153
86
68Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
28.0
18.0Реализовано как свойство доступа.
130
99Реализовано как свойство доступа.
17
15.4Реализовано как свойство доступа.
1.0.0
2.1
1.19–2.6.7Реализовано как свойство доступа.
24.0.0
18.0.0Реализовано как свойство доступа.
hourCycle
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
language
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
maximize
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
minimize
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
numberingSystem
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
numeric
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
region
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
script
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
toString
74
79
75
62
14
74
79
53
14
11.0
74
14
1.0.0
1.8
12.0.0
variants
149
149
141
133
26
149
141
100
26
Нет
149
26
1.2.18
2.8
Нет

См. также

  • Полифил для Intl.Locale в FormatJS
  • Intl
  • Канонические идентификаторы локалей Unicode в спецификации языка разметки данных локалей Unicode

© 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

Spec-Zone.ru

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