From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../intl/collator/compare/index.html | 125 ++++++++++ .../global_objects/intl/collator/index.html | 187 ++++++++++++++ .../intl/collator/prototype/index.html | 108 ++++++++ .../intl/collator/resolvedoptions/index.html | 108 ++++++++ .../intl/collator/supportedlocalesof/index.html | 117 +++++++++ .../intl/datetimeformat/format/index.html | 123 +++++++++ .../intl/datetimeformat/formattoparts/index.html | 169 +++++++++++++ .../global_objects/intl/datetimeformat/index.html | 276 +++++++++++++++++++++ .../intl/datetimeformat/prototype/index.html | 108 ++++++++ .../intl/datetimeformat/resolvedoptions/index.html | 116 +++++++++ .../datetimeformat/supportedlocalesof/index.html | 118 +++++++++ .../intl/getcanonicallocales/index.html | 73 ++++++ .../reference/global_objects/intl/index.html | 117 +++++++++ .../global_objects/intl/listformat/index.html | 104 ++++++++ .../intl/numberformat/format/index.html | 120 +++++++++ .../global_objects/intl/numberformat/index.html | 189 ++++++++++++++ .../intl/numberformat/prototype/index.html | 108 ++++++++ .../intl/numberformat/resolvedoptions/index.html | 117 +++++++++ .../numberformat/supportedlocalesof/index.html | 117 +++++++++ 19 files changed, 2500 insertions(+) create mode 100644 files/ru/web/javascript/reference/global_objects/intl/collator/compare/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/collator/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/collator/prototype/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/collator/resolvedoptions/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/collator/supportedlocalesof/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/datetimeformat/format/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/datetimeformat/prototype/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/datetimeformat/resolvedoptions/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/datetimeformat/supportedlocalesof/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/listformat/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/numberformat/format/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/numberformat/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/numberformat/prototype/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/numberformat/resolvedoptions/index.html create mode 100644 files/ru/web/javascript/reference/global_objects/intl/numberformat/supportedlocalesof/index.html (limited to 'files/ru/web/javascript/reference/global_objects/intl') diff --git a/files/ru/web/javascript/reference/global_objects/intl/collator/compare/index.html b/files/ru/web/javascript/reference/global_objects/intl/collator/compare/index.html new file mode 100644 index 0000000000..bcb34c805e --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/collator/compare/index.html @@ -0,0 +1,125 @@ +--- +title: Intl.Collator.prototype.compare +slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare +tags: + - Collator + - Internationalization + - JavaScript + - Property + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare +--- +
{{JSRef("Global_Objects", "Collator", "Intl,DateTimeFormat,NumberFormat")}}
+ +

Сводка

+

Свойство Intl.Collator.prototype.compare возвращает функцию-геттер, сравнивающую две строки согласно порядку сортировки соответствующего объекта {{jsxref("Global_Objects/Collator", "Collator")}}.

+ +

Синтаксис

+
collator.compare(string1, string2)
+ +

Параметры

+
+
string1
+
string2
+
Сравниваемые друг с другом строки.
+
+ +

Описание

+

Функция, возвращённая гетером compare, возвращает число, указывающее, как строки string1 и string2 сравниваются друг с другом в соответствии с порядком сортировки объекта {{jsxref("Global_Objects/Collator", "Collator")}}: отрицательное значение, если строка string1 предшествует строке string2; положительное значение, если строка string1 следует за строкой string2; 0, если строки считаются равными.

+ +

Примеры

+ +

Пример: использование функции compare для сортировки массива

+

Использование функции, возвращённой геттером compare, для сортировки массивов. Обратите внимание, что функция привязана к объекту {{jsxref("Global_Objects/Collator", "Collator")}}, из которого она была получена, так что её можно передавать в {{jsxref("Array.prototype.sort()")}} напрямую.

+
var a = ['Offenbach', 'Österreich', 'Odenwald'];
+var collator = new Intl.Collator('de-u-co-phonebk');
+a.sort(collator.compare);
+console.log(a.join(', '));
+// → "Odenwald, Österreich, Offenbach"
+
+ +

Пример: использование функции compare для поиска в массиве

+

Использование функции, возвращённой геттером compare, для поиска совпадающих строк в массиве:

+
var a = ['Congrès', 'congres', 'Assemblée', 'poisson'];
+var collator = new Intl.Collator('fr', { usage: 'search', sensitivity: 'base' });
+var s = 'congres';
+var matches = a.filter(function(v) {
+  return collator.compare(v, s) === 0;
+});
+console.log(matches.join(', '));
+// → "Congrès, congres"
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-10.3.2', 'Intl.Collator.prototype.compare')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ diff --git a/files/ru/web/javascript/reference/global_objects/intl/collator/index.html b/files/ru/web/javascript/reference/global_objects/intl/collator/index.html new file mode 100644 index 0000000000..cf3a3d3e52 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/collator/index.html @@ -0,0 +1,187 @@ +--- +title: Intl.Collator +slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator +tags: + - Collator + - Internationalization + - JavaScript +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator +--- +
{{JSRef("Global_Objects", "Collator", "Intl,DateTimeFormat,NumberFormat")}}
+ +

Сводка

+

Объект Intl.Collator является конструктором сортировщиков — объектов, включающих языко-зависимое сравнение строк.

+ +

Синтаксис

+
new Intl.Collator([locales[, options]])
+Intl.Collator.call(this[, locales[, options]])
+ +

Параметры

+
+
locales
+
+

Необязательный параметр. Строка с языковой меткой BCP 47, либо массив таких строк. Описание общей формы и интерпретации аргумента locales смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_identification_and_negotiation", 1)}}. Разрешены следующие ключи расширения Unicode:

+
+
co
+
Варианты сортировки для конкретных локалей. Возможные значения включают в себя: "big5han", "dict", "direct", "ducet", "gb2312", "phonebk", "phonetic", "pinyin", "reformed", "searchjl", "stroke", "trad" и "unihan". Значения "standard" и "search" игнорируются; они заменяются свойством usage аргумента options (смотрите ниже).
+
kn
+
Определяет, должно ли использоваться числовое сравнение, то есть, чтобы выполнялось условие "1" < "2" < "10". Возможными значениями являются "true" и "false". Эта опция может быть установлена через свойство аргумента options, либо через ключ расширения Unicode; если предоставлены оба значения, свойство аргумента options имеет приоритет.
+
kf
+
Определяет, буквы какого регистра должны идти первыми — верхнего или нижнего. Возможными значениями являются "upper", "lower" и "false" (используется значение по умолчанию из локали). Эта опция может быть установлена через свойство аргумента options, либо через ключ расширения Unicode; если предоставлены оба значения, свойство аргумента options имеет приоритет.
+
+
+
options
+
+

Необязательный параметр. Объект с некоторыми или всеми из следующих свойств:

+
+
localeMatcher
+
Используемый алгоритм сопоставления локалей. Возможными значениями являются "lookup" и "best fit"; значением по умолчанию является "best fit". Информацию по этой опции смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_negotiation", 1)}}.
+
usage
+
Определяет, используется ли сравнение для сортировки или для поиска совпадающих строк. Возможными значениями являются "sort" и "search"; значением по умолчанию является "sort".
+
sensitivity
+
+

Определяет, какие различия в строках должны приводить к ненулевому результату. Возможными значениями являются:

+
    +
  • "base": считаются различными только строки, отличающиеся базовыми буквами. Примеры: a ≠ b, a = á, a = A.
  • +
  • "accent": считаются различными только строки, отличающиеся базовыми буквами или акцентами и другими диакритическими знаками. Примеры: a ≠ b, a ≠ á, a = A.
  • +
  • "case": считаются различными только строки, отличающиеся базовыми буквами или регистром букв. Примеры: a ≠ b, a = á, a ≠ A.
  • +
  • "variant": считаются различными строки, отличающиеся базовыми буквами, акцентами и другими диакритическими знаками или регистром букв. Также во внимание могут приниматься и другие различия. Примеры: a ≠ b, a ≠ á, a ≠ A.
  • +
+

Значением по умолчанию является "variant" при использовании свойства usage, равного "sort", и зависит от локали при использовании свойства usage, равного "search".

+
+
ignore­Punctua­tion
+
Определяет, должна ли игнорироваться пунктуация. Возможными значениями являются true и false; значением по умолчанию является false.
+
numeric
+
Определяет, должно ли использоваться числовое сравнение, то есть, чтобы выполнялось условие "1" < "2" < "10". Возможными значениями являются true и false; значением по умолчанию является false. Эта опция может быть установлена через свойство аргумента options, либо через ключ расширения Unicode; если предоставлены оба значения, свойство аргумента options имеет приоритет. Реализации не обязаны поддерживать это свойство.
+
caseFirst
+
Определяет, буквы какого регистра должны идти первыми — верхнего или нижнего. Возможными значениями являются "upper", "lower" и "false" (используется значение по умолчанию из локали); значением по умолчанию является "false". Эта опция может быть установлена через свойство аргумента options, либо через ключ расширения Unicode; если предоставлены оба значения, свойство аргумента options имеет приоритет. Реализации не обязаны поддерживать это свойство.
+
+
+
+ +

Описание

+ +

Свойства

+
+
{{jsxref("Collator.prototype", "Intl.Collator.prototype")}}
+
Позволяет добавлять свойства ко всем объектам.
+
+ +

Методы

+
+
{{jsxref("Collator.supportedLocalesOf", "Intl.Collator.supportedLocalesOf()")}}
+
Возвращает массив, содержащий те из предоставленных локалей, которые поддерживаются без отката к локали по умолчанию среды выполнения.
+
+ +

Экземпляры объекта Collator

+ +

Свойства

+

Экземпляры Collator наследуют следующие свойства из своего прототипа:

+
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/Collator/prototype', 'Properties')}}
+ +

Методы

+

Экземпляры Collator наследуют следующие методы из своего прототипа:

+
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/Collator/prototype', 'Methods')}}
+ +

Примеры

+ +

Пример: использование Collator

+

Следующий пример демонстрирует различные потенциальные результаты для строки, находящейся до, после или на том же самом уровне, что и другая строка:

+
console.log(new Intl.Collator().compare('a', 'c')); // → отрицательное значение
+console.log(new Intl.Collator().compare('c', 'a')); // → положительное значение
+console.log(new Intl.Collator().compare('a', 'a')); // → 0
+
+

Обратите внимание, что результат, показанный в коде выше, может сильно различаться в зависимости от браузера и его версии. Происходит это потому, что возвращаемые значения зависят от реализации. То есть, спецификация требует только чтобы при следовании строки до значение было отрицательным, а после — положительным.

+ +

Пример: использование аргумента locales

+

Результаты, предоставляемые функцией {{jsxref("Collator.prototype.compare()")}} сильно различаются в зависимости от языка. Для получения порядка сортировки языка, используемого в пользовательском интерфейсе вашего приложения, убедитесь, что вы указали этот язык (и, возможно, несколько запасных языков) через аргумент locales:

+
// В немецком буква ä идёт рядом с буквой a
+console.log(new Intl.Collator('de').compare('ä', 'z'));
+// → отрицательное значение
+
+// В шведском буква ä следует после буквы z
+console.log(new Intl.Collator('sv').compare('ä', 'z'));
+// → положительное значение
+
+ +

Пример: использование аргумента options

+

Результат, предоставляемый функцией {{jsxref("Collator.prototype.compare()")}}, может быть настроен с помощью аргумента options:

+
// В немецком буква a является базовой для буквы ä
+console.log(new Intl.Collator('de', { sensitivity: 'base' }).compare('ä', 'a'));
+// → 0
+
+// В шведском буквы ä и a являются двумя разными базовыми буквами
+console.log(new Intl.Collator('sv', { sensitivity: 'base' }).compare('ä', 'a'));
+// → положительное значение
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-10.1', 'Intl.Collator')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/Intl', 'See_also')}}
diff --git a/files/ru/web/javascript/reference/global_objects/intl/collator/prototype/index.html b/files/ru/web/javascript/reference/global_objects/intl/collator/prototype/index.html new file mode 100644 index 0000000000..1a9983f373 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/collator/prototype/index.html @@ -0,0 +1,108 @@ +--- +title: Intl.Collator.prototype +slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator/prototype +tags: + - Collator + - Internationalization + - JavaScript + - Property + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator +--- +
{{JSRef("Global_Objects", "Collator", "Intl,DateTimeFormat,NumberFormat")}}
+ +

Сводка

+

Свойство Intl.Collator.prototype представляет объект прототипа конструктора {{jsxref("Global_Objects/Collator", "Intl.Collator")}}.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Описание

+

Смотрите {{jsxref("Global_Objects/Collator", "Collator")}} для описания экземпляров Intl.NumberFormat.

+

Экземпляры {{jsxref("Global_Objects/Collator", "Intl.Collator")}} наследуются от Intl.NumberFormat.prototype. Изменения объекта прототипа наследуются всеми экземплярами {{jsxref("Global_Objects/Collator", "Intl.Collator")}}.

+ +

Свойства

+
+
Intl.Collator.prototype.constructor
+
Ссылка на {{jsxref("Global_Objects/Collator", "Intl.Collator")}}.
+
{{jsxref("Collator.compare", "Intl.Collator.prototype.compare")}}
+
Геттер; возвращает функцию, сравнивающую две строки согласно порядку сортировки этого объекта {{jsxref("Global_Objects/Collator", "Collator")}}.
+
+ +

Методы

+
+
{{jsxref("Collator.resolvedOptions", "Intl.Collator.prototype.resolvedOptions()")}}
+
Возвращает новый объект со свойствами, отражающими локаль и опции сравнения строк, вычисленные при инициализации объекта.
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-10.2.1', 'Intl.Collator.prototype')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ diff --git a/files/ru/web/javascript/reference/global_objects/intl/collator/resolvedoptions/index.html b/files/ru/web/javascript/reference/global_objects/intl/collator/resolvedoptions/index.html new file mode 100644 index 0000000000..001b0a86ed --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/collator/resolvedoptions/index.html @@ -0,0 +1,108 @@ +--- +title: Intl.Collator.prototype.resolvedOptions() +slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator/resolvedOptions +tags: + - Collator + - Internationalization + - JavaScript + - Method + - NeedsExample + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator/resolvedOptions +--- +
{{JSRef("Global_Objects", "Collator", "Intl,DateTimeFormat,NumberFormat")}}
+ +

Сводка

+

Метод Intl.Collator.prototype.resolvedOptions() возвращает новый объект со свойствами, отражающими локаль и параметры сравнения строк, вычисленные во время инициализации соответствующего объекта {{jsxref("Global_Objects/Collator", "Collator")}}.

+ +

Синтаксис

+
collator.resolvedOptions()
+ +

Описание

+

Возвращает новый объект со свойствами, отражающими локаль и параметры сравнения строк, вычисленные во время инициализации соответствующего объекта {{jsxref("Global_Objects/Collator", "Collator")}}. Объект содержит следующие свойства:

+
+
locale
+
Языковая метка BCP 47 реально используемой локали. Если во входной языковой метке BCP 47 запрошены какие-либо расширения Unicode, приведшие к этой локали, запрошенные и поддерживаемые для этой локали пары ключ-значение также будут включены в свойство locale.
+
usage
+
sensitivity
+
ignorePunctuation
+
Значения, предоставленные для этих свойств в аргументе options, либо значения по умолчанию.
+
collation
+
Значение, запрошенное ключом расширения Unicode "co", если он поддерживается для локали locale, либо значение "default".
+
numeric
+
caseFirst
+
Значения, предоставленные для этих свойств в аргументе options или запрошенные ключами расширения Unicode "kn" и "kf", либо значения по умолчанию. Если реализация не поддерживает эти свойства, они будут опущены.
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-10.3.3', 'Intl.Collator.prototype.resolvedOptions')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ diff --git a/files/ru/web/javascript/reference/global_objects/intl/collator/supportedlocalesof/index.html b/files/ru/web/javascript/reference/global_objects/intl/collator/supportedlocalesof/index.html new file mode 100644 index 0000000000..5aca430d38 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/collator/supportedlocalesof/index.html @@ -0,0 +1,117 @@ +--- +title: Intl.Collator.supportedLocalesOf() +slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator/supportedLocalesOf +tags: + - Collator + - Internationalization + - JavaScript + - Method +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator/supportedLocalesOf +--- +
{{JSRef("Global_Objects", "Collator", "Intl,DateTimeFormat,NumberFormat")}}
+ +

Сводка

+

Метод Intl.Collator.supportedLocalesOf() возвращает массив, содержащий те из предоставленных локалей, что поддерживаются при сравнении строк без отката к локали по умолчанию среды выполнения.

+ +

Синтаксис

+
Intl.Collator.supportedLocalesOf(locales[, options])
+ +

Параметры

+
+
locales
+
Строка с языковой меткой BCP 47, либо массив таких строк. Описание общей формы и интерпретации аргумента locales смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_identification_and_negotiation", 1)}}.
+
options
+
+

Необязательный параметр. Объект, который может содержать следующее свойство:

+
+
localeMatcher
+
Используемый алгоритм сопоставления локалей. Возможными значениями являются "lookup" и "best fit"; значением по умолчанию является "best fit". Информацию по этой опции смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_negotiation", 1)}}.
+
+
+
+ +

Описание

+

Возвращает массив с подмножеством языковых меток, предоставленных в аргументе locales. Возвращаются те языковые метки, для которых среда выполнения поддерживает сравнение строк без отката к локали по умолчанию; при поиске используется предоставленный алгоритм сопоставления локалей.

+ +

Примеры

+ +

Пример: использование supportedLocalesOf

+

Предполагая, что среда выполнения поддерживает индонезийское и немецкое, но на балийское сравнение строк, метод supportedLocalesOf вернёт неизменными индонезийскую и немецкую языковые метки, даже несмотря на то, что сортировка pinyin не используется с индонезийским языком и вряд ли будет поддерживаться в немецком языке для Индонезии. Обратите внимание на используемую здесь спецификацию алгоритма "lookup" — сопоставление "best fit" может решить, что индонезийский язык является адекватным сопоставлением с балийским, поскольку большинство людей, говорящих на балийском, также понимают индонезийский, и поэтому может возвратиться ещё и языковая метка балийского языка.

+
var locales = ['ban', 'id-u-co-pinyin', 'de-ID'];
+var options = { localeMatcher: 'lookup' };
+console.log(Intl.Collator.supportedLocalesOf(locales, options).join(', '));
+// → "id-u-co-pinyin, de-ID"
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-10.2.2', 'Intl.Collator.supportedLocalesOf')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ diff --git a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/format/index.html b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/format/index.html new file mode 100644 index 0000000000..ff24de6317 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/format/index.html @@ -0,0 +1,123 @@ +--- +title: Intl.DateTimeFormat.prototype.format +slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format +tags: + - DateTimeFormat J + - Internationalization + - JavaScript + - Property + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format +--- +
{{JSRef("Global_Objects", "DateTimeFormat", "Intl,Collator,NumberFormat")}}
+ +

Сводка

+

Свойство Intl.DateTimeFormat.prototype.format возвращает функцию-геттер, форматирующую дату согласно локали и параметрам форматирования соответствующего объекта {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}}.

+ +

Синтаксис

+
dateTimeFormat.format(date)
+ +

Параметры

+
+
date
+
Дата для форматирования.
+
+ +

Описание

+

Функция, возвращённая геттером format, форматирует дату согласно локали и параметрам форматирования соответствующего объекта {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}}.

+ +

Примеры

+ +

Пример: использование функции format

+

Использование функции, возвращённой геттером format, для форматирования одной даты, здесь пример для сербского языка:

+
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
+var dateTimeFormat = new Intl.DateTimeFormat('sr-RS', options);
+console.log(dateTimeFormat.format(new Date()));
+// → "недеља, 7. април 2013."
+
+ +

Пример: использование функции format вместе с map

+

Использование функции, возвращённой геттером format, для форматирования всех дат в массиве. Обратите внимание, что функция привязана к объекту {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}}, из которого она была получена, так что её можно передавать в {{jsxref("Array.prototype.map()")}} напрямую.

+
var a = [new Date(2012, 08), new Date(2012, 11), new Date(2012, 03)];
+var options = { year: 'numeric', month: 'long' };
+var dateTimeFormat = new Intl.DateTimeFormat('pt-BR', options);
+var formatted = a.map(dateTimeFormat.format);
+console.log(formatted.join('; '));
+// → "setembro de 2012; dezembro de 2012; abril de 2012"
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-12.3.2', 'Intl.DateTimeFormat.format')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ diff --git a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html new file mode 100644 index 0000000000..acfff0a5a2 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/formattoparts/index.html @@ -0,0 +1,169 @@ +--- +title: Intl.DateTimeFormat.prototype.formatToParts() +slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts +tags: + - DateTimeFormat + - Intl + - JavaScript + - Method + - Prototype + - метод +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts +--- +
{{JSRef}}
+ +
Метод Intl.DateTimeFormat.prototype.formatToParts() позволяет выполнять форматирование строк с учётом форматирования DateTimeFormat.
+ +

Синтаксис

+ +
Intl.DateTimeFormat.prototype.formatToParts(date)
+ +

Параметры

+ +
+
date {{optional_inline}}
+
Дата, которую нужно отформатировать.
+
+ +

Возвращаемое значение

+ +

Массив объектов {{jsxref("Array")}}, содержащий отформатированную дату по частям.

+ +

Описание

+ +

Метод formatToParts() полезен для пользовательского форматирования строки даты. Он возвращает массив объектов {{jsxref("Array")}}, содерщащий специфичные для данного места токены, из которых можно выстроить пользовательскую строку, которая сохранит специфичные для данного места части. Структура возвращаемого значения методом formatToParts() выглядит так:

+ +
[
+  { type: 'day', value: '17' },
+  { type: 'weekday', value: 'Monday' }
+]
+ +

Возможные типы:

+ +
+
day
+
Строка, используемая для дня, например, "17".
+
dayPeriod
+
Строка, используемая для времени суток, например, "AM" или "PM".
+
era
+
Строка, используемая для эры, например, "BC" или "AD".
+
hour
+
Строка, используемая для часа, например, "3" или "03".
+
literal
+
Строка, используемая для разделения значений даты и времени, например, "/", ",", "o'clock", "de" и другие.
+
minute
+
Строка, используемая для минут, например, "00".
+
month
+
Строка, используемая для месяца, например, "12".
+
second
+
Строка, используемая для секунд, например, "07" или "42".
+
timeZoneName
+
Строка, используемая для названия временной зоны, например, "UTC".
+
weekday
+
Строка, используемая для дня недели, например, "M", "Monday" или "Montag".
+
year
+
Строка, используемая для года, например, "2012" или "96".
+
+ +

Примеры

+ +

DateTimeFormat выводит локализированные строки, которые нельзя изменять напрямую:

+ +
var date = Date.UTC(2012, 11, 17, 3, 0, 42);
+
+var formatter = new Intl.DateTimeFormat('ru', {
+  weekday: 'long',
+  year: 'numeric',
+  month: 'numeric',
+  day: 'numeric',
+  hour: 'numeric',
+  minute: 'numeric',
+  second: 'numeric',
+  hour12: true,
+  timeZone: 'UTC'
+});
+
+formatter.format(date);
+// "понедельник, 17.12.2012 г., 3:00:42 AM"
+
+ +

Однако, во многих пользовательских интерфейсах есть желание настроить форматирование этой строки. Метод formatToParts включает форматирование строки с учётом местности, созданной форматером DateTimeFormat, предоставляя вам строку по частям:

+ +
formatter.formatToParts(date);
+
+// возвращаемое значение:
+[
+  { type: 'weekday',   value: 'понедельник'},
+  { type: 'literal',   value: ', '         },
+  { type: 'day',       value: '17'         },
+  { type: 'literal',   value: '.'          },
+  { type: 'month',     value: '12'         },
+  { type: 'literal',   value: '.'          },
+  { type: 'year',      value: '2012'       },
+  { type: 'literal',   value: 'г., '       },
+  { type: 'hour',      value: '3'          },
+  { type: 'literal',   value: ':'          },
+  { type: 'minute',    value: '00'         },
+  { type: 'literal',   value: ':'          },
+  { type: 'second',    value: '42'         },
+  { type: 'literal',   value: ' '          },
+  { type: 'dayPeriod', value: 'AM'         }
+]
+
+ +

Теперь информация доступна по отдельности и может быть отформатирована и объединена снова в пользавотельском порядке. Например, используя {{jsxref("Array.prototype.map()")}}, стрелочные функции, инструкцию switch, шаблонные строки и {{jsxref("Array.prototype.reduce()")}}.

+ +
var dateString = formatter.formatToParts(date).map(({type, value}) => {
+  switch (type) {
+    case 'dayPeriod': return `<b>${value}</b>`;
+    default : return value;
+  }
+}).reduce((string, part) => string + part);
+
+ +

Здесь время суток будет выделено жирным с использованием метода formatToParts().

+ +
console.log(formatter.format(date));
+// "понедельник, 17.12.2012 г., 3:00:42 AM"
+
+console.log(dateString);
+// "понедельник, 17.12.2012 г., 3:00:42 <b>AM</b>"
+ +

Полифилл

+ +

Полифил для данного метода доступен здесь.

+ +

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

+ + + + + + + + + + + + + + +
СпецфикацияСтатусКомментарий
{{SpecName('ES Int Draft', '#sec-Intl.DateTimeFormat.prototype.formatToParts', 'Intl.DateTimeFormat.prototype.formatToParts')}}{{Spec2('ES Int Draft')}}Изначальное определение
+ +

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

+ +
+ + +

{{Compat("javascript.builtins.Intl.DateTimeFormat.formatToParts")}}

+
+ +

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

+ + diff --git a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html new file mode 100644 index 0000000000..2bd44c9522 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/index.html @@ -0,0 +1,276 @@ +--- +title: Intl.DateTimeFormat +slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat +tags: + - DateTimeFormat + - Internationalization + - JavaScript +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat +--- +
{{JSRef("Global_Objects", "DateTimeFormat", "Intl,Collator,NumberFormat")}}
+ +

Сводка

+ +

Объект Intl.DateTimeFormat является конструктором объектов, включающих языко-зависимое форматирование даты и времени.

+ +

Синтаксис

+ +
new Intl.DateTimeFormat([locales[, options]])
+Intl.DateTimeFormat.call(this[, locales[, options]])
+ +

Параметры

+ +
+
locales
+
+

Необязательный параметр. Строка с языковой меткой BCP 47, либо массив таких строк. Описание общей формы и интерпретации аргумента locales смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_identification_and_negotiation", 1)}}. Разрешены следующие ключи расширения Unicode:

+ +
+
nu
+
Используемая система нумерации. Возможные значения включают в себя: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
+
ca
+
Используемый календарь. Возможные значения включают в себя: "buddhist", "chinese", "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".
+
+
+
options
+
+

Необязательный параметр. Объект с некоторыми или всеми из следующих свойств:

+ +
+
localeMatcher
+
Используемый алгоритм сопоставления локалей. Возможными значениями являются "lookup" и "best fit"; значением по умолчанию является "best fit". Информацию по этой опции смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_negotiation", 1)}}.
+
timeZone
+
Используемый часовой пояс. Единственным значением, которые реализации обязаны распознавать, является "UTC"; значением по умолчанию является часовой пояс по умолчанию среды выполнения. Реализации также могут распознавать названия часовых поясов из базы данных часовых поясов IANA, например "Asia/Shanghai", "Asia/Kolkata" или "America/New_York".
+
hour12
+
Определяет, использовать ли 12-часовой формат времени (в противовес 24-часовому). Возможными значениями являются true и false; значение по умолчанию зависит от локали.
+
formatMatcher
+
Используемый алгоритм сопоставления форматов. Возможными значениями являются "basic" и "best fit"; значением по умолчанию является "best fit". Смотрите следующий абзац, объясняющий, как использовать это свойство.
+
+ +

Следующие свойства описывают компоненты даты/времени, используемые в форматированном выводе, и их желаемые представления. Реализации должны поддерживать, как минимум, следующие подмножества:

+ +
    +
  • weekday, year, month, day, hour, minute, second
  • +
  • weekday, year, month, day
  • +
  • year, month, day
  • +
  • year, month
  • +
  • month, day
  • +
  • hour, minute, second
  • +
  • hour, minute
  • +
+ +

Также реализации могут поддерживать другие подмножества и запросы будут сравниваться со всеми доступными подмножествами представлений для поиска наилучшего соответствия. Для такого сравнения доступно два алгоритма, нужный из которых выбирается свойством formatMatcher: чётко определённый алгоритм "basic" и зависящий от реализации алгоритм "best fit".

+ +
+
weekday
+
Представление дней недели. Возможными значениями являются "narrow", "short" и "long".
+
era
+
Представление эр. Возможными значениями являются "narrow", "short" и "long".
+
year
+
Представление лет. Возможными значениями являются "numeric" и "2-digit".
+
month
+
Представление месяцев. Возможными значениями являются "numeric", "2-digit", "narrow", "short" и "long".
+
day
+
Представление дней. Возможными значениями являются "numeric" и "2-digit".
+
hour
+
Представление часов. Возможными значениями являются "numeric" и "2-digit".
+
minute
+
Представление минут. Возможными значениями являются "numeric" и "2-digit".
+
second
+
Представление секунд. Возможными значениями являются "numeric" и "2-digit".
+
timeZoneName
+
Представление названий часовых поясов. Возможными значениями являются "short" и "long".
+
+ +

Значение по умолчанию для всех свойств компонентов даты/времени является значение {{jsxref("Global_Objects/undefined", "undefined")}},но если все свойства компонентов будут равны {{jsxref("Global_Objects/undefined", "undefined")}}, то будет предполагаться, что значением свойств year, month и day является "numeric".

+
+
+ +

Описание

+ +

Свойства

+ +
+
{{jsxref("DateTimeFormat.prototype", "Intl.DateTimeFormat.prototype")}}
+
Позволяет добавлять свойства ко всем объектам.
+
+ +

Методы

+ +
+
{{jsxref("DateTimeFormat.supportedLocalesOf", "Intl.DateTimeFormat.supportedLocalesOf()")}}
+
Возвращает массив, содержащий те из предоставленных локалей, которые поддерживаются без отката к локали по умолчанию среды выполнения.
+
+ +

Экземпляры объекта DateTimeFormat

+ +

Свойства

+ +

Экземпляры DateTimeFormat наследуют следующие свойства из своего прототипа:

+ +
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/prototype', 'Properties')}}
+ +

Методы

+ +

Экземпляры DateTimeFormat наследуют следующие методы из своего прототипа:

+ +
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/prototype', 'Methods')}}
+ +

Примеры

+ +

Пример: использование DateTimeFormat

+ +

При базовом использовании без определения локали DateTimeFormat использует локаль и опции по умолчанию.

+ +
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+
+// Вывод format без аргументов зависит от реализации,
+// локали по умолчанию и часового пояса по умолчанию
+console.log(new Intl.DateTimeFormat().format(date));
+// → "12/19/2012", если код запущен с локалью en-US и часовым поясом America/Los_Angeles
+
+ +

Пример: использование аргумента locales

+ +

Этот пример показывает некоторые локализованные форматы даты и времени. Для получения формата языка, используемого в пользовательском интерфейсе вашего приложения, убедитесь, что вы указали этот язык (и, возможно, несколько запасных языков) через аргумент locales:

+ +
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+
+// Форматирование ниже предполагает, что местный часовой пояс равен
+// America/Los_Angeles для локали США
+
+// В америкаском английском используется порядок месяц-день-год
+console.log(new Intl.DateTimeFormat('en-US').format(date));
+// → "12/19/2012"
+
+// В британском английском используется порядок день-месяц-год
+console.log(new Intl.DateTimeFormat('en-GB').format(date));
+// → "20/12/2012"
+
+// В корейском используется порядок год-месяц-день
+console.log(new Intl.DateTimeFormat('ko-KR').format(date));
+// → "2012. 12. 20."
+
+// В большинстве арабоговорящих стран используют настоящие арабские цифры
+console.log(new Intl.DateTimeFormat('ar-EG').format(date));
+// → "٢٠‏/١٢‏/٢٠١٢"
+
+// В Японии приложения могут захотеть использовать японский календарь,
+// в котором 2012 год являеся 24-м годом эры Хейсей
+console.log(new Intl.DateTimeFormat('ja-JP-u-ca-japanese').format(date));
+// → "24/12/20"
+
+// Если запрашиваемый язык может не поддерживаться, например
+// балийский, откатываемся на запасной язык, в данном случае индонезийский
+console.log(new Intl.DateTimeFormat(['ban', 'id']).format(date));
+// → "20/12/2012"
+
+ +

Пример: использование аргумента options

+ +

Формат даты и времени может быть настроен с помощью аргумента options:

+ +
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
+
+// Запрашиваем день недели вместе с длинным форматом даты
+var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
+console.log(new Intl.DateTimeFormat('de-DE', options).format(date));
+// → "Donnerstag, 20. Dezember 2012"
+
+// Приложение может захотеть использовать UTC и показать это
+options.timeZone = 'UTC';
+options.timeZoneName = 'short';
+console.log(new Intl.DateTimeFormat('en-US', options).format(date));
+// → "Thursday, December 20, 2012, GMT"
+
+// Иногда нам нужна большая точность
+options = {
+  hour: 'numeric', minute: 'numeric', second: 'numeric',
+  timeZoneName: 'short'
+};
+console.log(new Intl.DateTimeFormat('en-AU', options).format(date));
+// → "2:00:00 pm AEDT"
+
+// Иногда даже в США нужен 24-часовой формат времени
+options = {
+  year: 'numeric', month: 'numeric', day: 'numeric',
+  hour: 'numeric', minute: 'numeric', second: 'numeric',
+  hour12: false
+};
+console.log(date.toLocaleString('en-US', options));
+// → "12/19/2012, 19:00:00"
+
+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-12.1', 'Intl.DateTimeFormat')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}}{{CompatNo}}
+ {{bug("864843")}}
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ +
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/Intl', 'See_also')}}
diff --git a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/prototype/index.html b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/prototype/index.html new file mode 100644 index 0000000000..dfaf7d5c92 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/prototype/index.html @@ -0,0 +1,108 @@ +--- +title: Intl.DateTimeFormat.prototype +slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/prototype +tags: + - DateTimeFormat + - Internationalization + - JavaScript + - Property + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat +--- +
{{JSRef("Global_Objects", "DateTimeFormat", "Intl,Collator,NumberFormat")}}
+ +

Сводка

+

Свойство Intl.DateTimeFormat.prototype представляет объект прототипа конструктора {{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}}.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Описание

+

Смотрите {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}} для описания экземпляров Intl.NumberFormat.

+

Экземпляры {{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}} наследуются от Intl.NumberFormat.prototype. Изменения объекта прототипа наследуются всеми экземплярами {{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}}.

+ +

Свойства

+
+
Intl.DateTimeFormat.prototype.constructor
+
Ссылка на {{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}}.
+
{{jsxref("DateTimeFormat.format", "Intl.DateTimeFormat.prototype.format")}}
+
Геттер; возвращает функцию, форматирующую дату согласно локали и опциям форматирования этого объекта {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}}.
+
+ +

Методы

+
+
{{jsxref("DateTimeFormat.resolvedOptions", "Intl.DateTimeFormat.prototype.resolvedOptions()")}}
+
Возвращает новый объект со свойствами, отражающими локаль и опции форматирования, вычисленные при инициализации объекта.
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-12.2.1', 'Intl.DateTimeFormat.prototype')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ diff --git a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/resolvedoptions/index.html b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/resolvedoptions/index.html new file mode 100644 index 0000000000..a1cb4bff8b --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/resolvedoptions/index.html @@ -0,0 +1,116 @@ +--- +title: Intl.DateTimeFormat.prototype.resolvedOptions() +slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions +tags: + - DateTimeFormat + - Internationalization + - JavaScript + - Method + - NeedsExample + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions +--- +
{{JSRef("Global_Objects", "DateTimeFormat", "Intl,Collator,NumberFormat")}}
+ +

Сводка

+

Метод Intl.DateTimeFormat.prototype.resolvedOptions() возвращает новый объект со свойствами, отражающими локаль и параметры форматирования даты и времени, вычисленные во время инициализации соответствующего объекта {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}}.

+ +

Синтаксис

+
dateTimeFormat.resolvedOptions()
+ +

Описание

+

Возвращает новый объект со свойствами, отражающими локаль и параметры форматирования чисел, вычисленные во время инициализации соответствующего объекта {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}}. Объект содержит следующие свойства:

+
+
locale
+
Языковая метка BCP 47 реально используемой локали. Если во входной языковой метке BCP 47 запрошены какие-либо расширения Unicode, приведшие к этой локали, запрошенные и поддерживаемые для этой локали пары ключ-значение также будут включены в свойство locale.
+
calendar
+
numberingSystem
+
Значения, запрошенные ключами расширения Unicode "ca" и "nu", либо значения по умолчанию.
+
timeZone
+
Значение, предоставленное для этого свойства в аргументе options; {{jsxref("Global_Objects/undefined", "undefined")}} (представляет временную зону по умолчанию среды выполнения), если ничего не было предоставлено. Предупреждение: приложения не должны полагаться на возврат {{jsxref("Global_Objects/undefined", "undefined")}}, поскольку будущие версии вместо него могут возвращать строковое значение, идентифицирующее временную зону по умолчанию среды выполнения.
+
hour12
+
Значение, предоставленное для этого свойства в аргументе options, либо значение по умолчанию.
+
weekday
+
era
+
year
+
month
+
day
+
hour
+
minute
+
second
+
timeZoneName
+
Значения, получившиеся в результате объединения соответствующих свойств в аргументе options и доступных комбинаций и представлений форматирования даты/времени в выбранной локали. Некоторые из этих свойств могут не присутствовать, что означает, что соответствующие компоненты не попадают в форматированный вывод.
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-12.3.3', 'Intl.DateTimeFormat.prototype.resolvedOptions')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ diff --git a/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/supportedlocalesof/index.html b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/supportedlocalesof/index.html new file mode 100644 index 0000000000..54a485d2c1 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/datetimeformat/supportedlocalesof/index.html @@ -0,0 +1,118 @@ +--- +title: Intl.DateTimeFormat.supportedLocalesOf() +slug: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/supportedLocalesOf +tags: + - DateTimeFormat + - Internationalization + - JavaScript + - Method + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/supportedLocalesOf +--- +
{{JSRef("Global_Objects", "DateTimeFormat", "Intl,Collator,NumberFormat")}}
+ +

Сводка

+

Метод Intl.DateTimeFormat.supportedLocalesOf() возвращает массив, содержащий те из предоставленных локалей, что поддерживаются при форматировании даты и времени без отката к локали по умолчанию среды выполнения.

+ +

Синтаксис

+
Intl.DateTimeFormat.supportedLocalesOf(locales[, options])
+ +

Параметры

+
+
locales
+
Строка с языковой меткой BCP 47, либо массив таких строк. Описание общей формы и интерпретации аргумента locales смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_identification_and_negotiation", 1)}}.
+
options
+
+

Необязательный параметр. Объект, который может содержать следующее свойство:

+
+
localeMatcher
+
Используемый алгоритм сопоставления локалей. Возможными значениями являются "lookup" и "best fit"; значением по умолчанию является "best fit". Информацию по этой опции смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_negotiation", 1)}}.
+
+
+
+ +

Описание

+

Возвращает массив с подмножеством языковых меток, предоставленных в аргументе locales. Возвращаются те языковые метки, для которых среда выполнения поддерживает форматирование даты и времени без отката к локали по умолчанию; при поиске используется предоставленный алгоритм сопоставления локалей.

+ +

Примеры

+ +

Пример: использование supportedLocalesOf

+

Предполагая, что среда выполнения поддерживает индонезийское и немецкое, но на балийское форматирование даты и времени, метод supportedLocalesOf вернёт неизменными индонезийскую и немецкую языковые метки, даже несмотря на то, что сортировка pinyin не относится к форматированию даты и времени, не используется с индонезийским языком и вряд ли будет поддерживаться в немецком языке для Индонезии. Обратите внимание на используемую здесь спецификацию алгоритма "lookup" — сопоставление "best fit" может решить, что индонезийский язык является адекватным сопоставлением с балийским, поскольку большинство людей, говорящих на балийском, также понимают индонезийский, и поэтому может возвратиться ещё и языковая метка балийского языка.

+
var locales = ['ban', 'id-u-co-pinyin', 'de-ID'];
+var options = { localeMatcher: 'lookup' };
+console.log(Intl.DateTimeFormat.supportedLocalesOf(locales, options).join(', '));
+// → "id-u-co-pinyin, de-ID"
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-12.2.2', 'Intl.DateTimeFormat.supportedLocalesOf')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ diff --git a/files/ru/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html b/files/ru/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html new file mode 100644 index 0000000000..9a433c2776 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/getcanonicallocales/index.html @@ -0,0 +1,73 @@ +--- +title: Intl.getCanonicalLocales() +slug: Web/JavaScript/Reference/Global_Objects/Intl/getCanonicalLocales +tags: + - Intl + - JavaScript + - метод +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/getCanonicalLocales +--- +
{{JSRef}}
+ +

Метод Intl.getCanonicalLocales() возвращает массив, содержащий канониченские коды языков. Повторяющиеся значения будут отброшены и элементы будут проверены на соответствие структуры языковых тегов.

+ +
{{EmbedInteractiveExample("pages/js/intl-getcanonicallocales.html")}}
+ + + +

Синтаксис

+ +
Intl.getCanonicalLocales(locales)
+ +

Парамерты

+ +
+
locales
+
Список {{jsxref("String")}} значений, из которых нужно получить канонические коды языков.
+
+ +

Возвращаемое значение

+ +

Массив, содержащий канонические коды языков

+ +

Примеры

+ +
Intl.getCanonicalLocales('RU-RU'); // ["ru-RU"]
+Intl.getCanonicalLocales(['RU-RU', 'Fr']); // ["ru-RU", "fr"]
+
+Intl.getCanonicalLocales('RU_RU');
+// RangeError:'EN_US' is not a structurally valid language tag
+
+ +

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

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ES Int Draft', '#sec-intl.getcanonicallocales', 'Intl.getCanonicalLocales')}}{{Spec2('ES Int Draft')}}Первоначальное определение
+ +

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

+ +
+ + +

{{Compat("javascript.builtins.Intl.getCanonicalLocales")}}

+
+ +

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

+ + diff --git a/files/ru/web/javascript/reference/global_objects/intl/index.html b/files/ru/web/javascript/reference/global_objects/intl/index.html new file mode 100644 index 0000000000..cebbeccc60 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/index.html @@ -0,0 +1,117 @@ +--- +title: Intl +slug: Web/JavaScript/Reference/Global_Objects/Intl +tags: + - Internationalization + - JavaScript + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Intl +--- +
{{JSRef("Global_Objects", "Intl", "Collator,DateTimeFormat,NumberFormat")}}
+ +

Сводка

+ +

Объект Intl является пространством имён для API интернационализации ECMAScript, предосталяющим языко-зависимое сравнение строк, форматирование чисел и дат со временем. Конструкторы объектов {{jsxref("Global_Objects/Collator", "Collator")}}, {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}} и {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}} являются свойствами объекта Intl. На этой странице описаны эти свойства, а также общая функциональность конструкторов интернационализации и других языко-зависимых функций.

+ +

Свойства

+ +
+
{{jsxref("Global_Objects/Collator", "Intl.Collator")}}
+
Конструктор сортировщиков — объектов, включающих языко-зависимое сравнение строк.
+
{{jsxref("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}}
+
Конструктор объектов, включающих языко-зависимое форматирование даты и времени.
+
{{jsxref("Global_Objects/NumberFormat", "Intl.NumberFormat")}}
+
Конструктор объектов, включающих языко-зависимое форматирование чисел.
+
+ +

Methods

+ +
+
{{jsxref("Intl.getCanonicalLocales()")}}
+
Returns canonical locale names.
+
+ +

Идентификация и согласование локали

+ +

Конструкторы интернационализации, а также некоторые языко-зависимые методы других конструкторов (перечисленные в разделе {{anch("See_also", "Смотрите также")}}) используют общий шаблон для идентификации локалей и определения используемой локали: они все принимают аргументы locales и options и согласовывают запрошенную локаль (локали) с поддерживаемыми локалями согласно алгоритму, определённому свойством options.localeMatcher.

+ +

Аргумент locales

+ +

Аргумет locales должен быть либо строкой, содержащей языковую метку BCP 47, либо массивом таких языковых меток. Если аргумент locales не предоставлен или не определён, используется локаль по умолчанию среды выполнения.

+ +

Языковая метка BCP 47 однозначно определяет язык или локаль (разница между ними весьма расплывчата). В своей самой общей форме она может содержать в следующем порядке: код языка, код письменности и код страны, разделённые символами дефиса. Примеры:

+ + + +

Подметки, определяющие языки, письменности, страны (регионы) и (используется не часто) варианты в языковых метках BCP 47 могут быть найдены в Реестре языковых подметок IANA.

+ +

BCP 47 также позволяет использовать расширения, и одно из них имеет значение для функций интернационализации JavaScript: это расширение "u" (Unicode). Оно может использоваться для запрашивания настраиваемого языко-зависимого поведения объектов {{jsxref("Global_Objects/Collator", "Collator")}}, {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}} или {{jsxref("Global_Objects/DateTimeFormat", "DateTimeFormat")}}. Примеры:

+ + + +

Согласование локали

+ +

Аргумент locales, после вырезания всех расширений Unicode, интерпретируется как приоритетный запрос из приложения. Среда выполнения сравнивает его с доступными локалями в выбирает наилучшую из имеющихся. Существует два алгоритма сравнения: сопоставление "lookup" (поиск) следует алгоритму поиска, определённому в BCP 47; сопоставление "best fit" (наилучший подходящий) позволяет среде выполнения предоставлять локаль, которая, как минимум, но возможно и лучше, подходит для запроса, нежели локаль, найденная с помощью алгоритма поиска. Если приложение не предоставляет аргумент locales или среда выполнения не имеет локали, соответствующей запросу, то используется локаль по умолчанию для среды выполнения. Метод сопоставления можно выбрать с помощью свойства аргумента options (смотрите ниже).

+ +

Если выбранная языковая метка содержит подстроку расширения Unicode, это расширение будет использоваться для настройки сконструированного объекта или поведения функции. Каждый конструктор или функция поддерживают только определённое подмножество ключей, определённых расширением Unicode, и поддерживаемые значения часто зависят от языковой метки. Например, ключ "co" (сравнение) поддерживается только объектом {{jsxref("Global_Objects/Collator", "Collator")}}, а его значение "phonebk" поддерживается только для немецкого языка.

+ +

Аргумент options

+ +

Аргумент options должен быть объектом со свойствами, которые различаются для конструкторов и функций. Если аргумент options не предоставлен или не определён, для всех свойств используются значения по умолчанию.

+ +

Одно свойство поддерживается для всех языко-зависимых конструкторов: свойство localeMatcher, чьим значением должна быть одна из строк "lookup" или "best fit" и которое выбирает один из алгоритмов сопоставления локалей, описанных выше.

+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-8', 'Intl')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+ +
Таблица совместимости на этой странице генерируется из структурированных данных. Чтобы внести свои изменения в эти данные, вы можете перейти на страницу https://github.com/mdn/browser-compat-data и отослать нам pull request.
+ +
+

{{Compat("javascript.builtins.Intl")}}

+
+ +

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

+ + diff --git a/files/ru/web/javascript/reference/global_objects/intl/listformat/index.html b/files/ru/web/javascript/reference/global_objects/intl/listformat/index.html new file mode 100644 index 0000000000..cac65c8d03 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/listformat/index.html @@ -0,0 +1,104 @@ +--- +title: Intl.ListFormat +slug: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat +tags: + - Experimental + - Internationalization + - Intl + - JavaScript + - ListFormat +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/ListFormat +--- +

{{JSRef}}

+ +

Объект Intl.ListFormat представляет собой конструктор объектов, включающих языко-зависимое форматирование списков.

+ +
{{EmbedInteractiveExample("pages/js/intl-listformat.html")}}
+ + + +

Синтаксис

+ +
new Intl.ListFormat([locales[, options]])
+
+ +

Параметры

+ +
+
locales
+
+

Необязательный параметр. Строка с языковой меткой BCP 47 или массив таких строк. Описание общей формы и интерпретации аргумента locales смотрите на странице {{jsxref("Global_Objects/Intl", "Intl", "#Locale_identification_and_negotiation", 1)}}.

+
+
options
+
Необязательный параметр. Объект с некоторыми или всеми из следующих свойств: +
    +
  • localeMatcher
    + Используемый алгоритм сопоставления локалей. Возможные значения: "lookup" и "best fit"; по умолчанию используется "best fit". Подробнее см. на странице Intl.
  • +
  • type
    + Формат вывода. Возможные значения: "conjunction" для вывода значений через "и" (используется по умолчанию, прим. A, B, и C) или "disjunction" для вывода значений через "или" (прим. A, B, или C). "unit" для вывода значений с единицами измерений (прим. 5 фунтов, 12 унций).
  • +
  • style
    + Стиль форматирования вывода. Возможные значения: "long" (используется по умолчанию, прим. A, B, и C); "short" или "narrow" (прим. A, B, C). При использовании narrow, параметр type может принимать только значение unit.
  • +
+
+
+ +

Описание

+ +

Свойства

+ +
+
{{jsxref("ListFormat.prototype", "Intl.ListFormat.prototype")}}
+
Позволяет добавлять свойства ко всем объектам Intl.ListFormat
+
+ +

Методы

+ +
+
{{jsxref("ListFormat.supportedLocalesOf", "Intl.ListFormat.supportedLocalesOf()")}}
+
Возвращает массив, содержащий те из переданных ему локалей, которые поддерживаются без необходимости использовать локаль по умолчанию.
+
+ +

Примеры

+ +

Использование format

+ +

Пример ниже показывает как создать объект ListFormat с поддержкой форматирования на русском языке и получить отформатированную строку с помощью метода format.

+ +
const list = ['Motorcycle', 'Bus', 'Car'];
+
+ console.log(new Intl.ListFormat('ru-RU', { style: 'long', type: 'conjunction' }).format(list));
+// > Motorcycle, Bus и Car
+
+ console.log(new Intl.ListFormat('ru-RU', { style: 'short', type: 'disjunction' }).format(list));
+// > Motorcycle, Bus или Car
+
+ console.log(new Intl.ListFormat('ru-RU', { style: 'narrow', type: 'unit' }).format(list));
+// > Motorcycle Bus Car
+
+ +

Использование formatToParts

+ +

Пример ниже показывает как получить отформатированные части объекта ListFormat с помощью метода formatToParts.

+ +
const list = ['Motorcycle', 'Bus', 'Car'];
+console.log(new Intl.ListFormat('en-GB', { style: 'long', type: 'conjunction' }).formatToParts(list));
+
+// > [ { "type": "element", "value": "Motorcycle" }, { "type": "literal", "value": ", " }, { "type": "element", "value": "Bus" }, { "type": "literal", "value": ", and " }, { "type": "element", "value": "Car" } ];
+
+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
Intl.ListFormat proposalStage 3 
diff --git a/files/ru/web/javascript/reference/global_objects/intl/numberformat/format/index.html b/files/ru/web/javascript/reference/global_objects/intl/numberformat/format/index.html new file mode 100644 index 0000000000..1bfd21a87d --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/numberformat/format/index.html @@ -0,0 +1,120 @@ +--- +title: Intl.NumberFormat.prototype.format +slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/format +tags: + - Internationalization + - JavaScript + - NumberFormat + - Property + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/format +--- +
{{JSRef("Global_Objects", "NumberFormat", "Intl,Collator,DateTimeFormat")}}
+ +

Сводка

+

Свойство Intl.NumberFormat.prototype.format возвращает функцию-геттер, форматирующую число согласно локали и параметрам форматирования соответствующего объекта {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}}.

+ +

Синтаксис

+
numberFormat.format(number)
+ +

Параметры

+
+
number
+
Число для форматирования.
+
+ +

Описание

+

Функция, возвращённая геттером format, форматирует число согласно локали и параметрам форматирования соответствующего объекта {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}}.

+ +

Примеры

+ +

Пример: использование функции format

+

Использование функции, возвращённой геттером format, для форматирования одного значения валюты, здесь пример для русского языка:

+
var options = { style: 'currency', currency: 'RUB' };
+var numberFormat = new Intl.NumberFormat('ru-RU', options);
+console.log(numberFormat.format(654321.987));
+// → "654 321,99 руб."
+
+ +

Пример: использование функции format вместе с map

+

Использование функции, возвращённой геттером format, для форматирования всех чисел в массиве. Обратите внимание, что функция привязана к объекту {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}}, из которого она была получена, так что её можно передавать в {{jsxref("Array.prototype.map")}} напрямую.

+
var a = [123456.789, 987654.321, 456789.123];
+var numberFormat = new Intl.NumberFormat('es-ES');
+var formatted = a.map(numberFormat.format);
+console.log(formatted.join('; '));
+// → "123.456,789; 987.654,321; 456.789,123"
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-11.3.2', 'Intl.NumberFormat.prototype.format')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ diff --git a/files/ru/web/javascript/reference/global_objects/intl/numberformat/index.html b/files/ru/web/javascript/reference/global_objects/intl/numberformat/index.html new file mode 100644 index 0000000000..e29eb2dd27 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/numberformat/index.html @@ -0,0 +1,189 @@ +--- +title: Intl.NumberFormat +slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat +tags: + - Internationalization + - JavaScript + - NumberFormat +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat +--- +
{{JSRef("Global_Objects", "NumberFormat", "Intl,Collator,DateTimeFormat")}}
+ +

Сводка

+ +

Объект Intl.NumberFormat является конструктором объектов, включающих языко-зависимое форматирование чисел.

+ +

Синтаксис

+ +
new Intl.NumberFormat([locales[, options]])
+Intl.NumberFormat.call(this[, locales[, options]])
+
+ +

Параметры

+ +
+
locales
+
+

Необязательный параметр. Строка с языковой меткой BCP 47, либо массив таких строк. Описание общей формы и интерпретации аргумента locales смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_identification_and_negotiation", 1)}}. Разрешены следующие ключи расширения Unicode:

+ +
+
nu
+
Используемая система нумерации. Возможные значения включают в себя: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
+
+
+
options
+
+

Необязательный параметр. Объект с некоторыми или всеми из следующих свойств:

+ +
+
localeMatcher
+
Используемый алгоритм сопоставления локалей. Возможными значениями являются "lookup" и "best fit"; значением по умолчанию является "best fit". Информацию по этой опции смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_negotiation", 1)}}.
+
style
+
Используемый стиль форматирования. Возможными значениями являются "decimal" для простого форматирования числа, "currency" для форматирования валюты и "percent" для форматирования процентов; значением по умолчанию является "decimal".
+
currency
+
Валюта, используемая при форматировании валют. Возможными значениями являются коды валют ISO 4217, например, "USD" для доллара США, "EUR" для евро или "CNY" для китайского юаня — смотрите список кодов текущих валют и денежных средств. Свойство не имеет значения по умолчанию; если свойство style равно "currency", свойство currency также должно присутствовать.
+
currencyDisplay
+
Определяет, как отображать валюту при форматировании валют. Возможными значениями являются "symbol" для использования локализованного символа валюты, например € для евро, "code" для использования кода валюты ISO, "name" для использования локализованного названия валюты, например "доллар США" для доллара; значением по умолчанию является "symbol".
+
useGrouping
+
Определяет, использовать ли разделители групп разрядов, например, разделители тысяч или тысяч/лакх/крор. Возможными значениями являются true и false; значением по умолчанию является true.
+
+ +

Следующие свойства разбиваются на две группы: minimumIntegerDigits, minimumFractionDigits и maximumFractionDigits входят в одну группу, а minimumSignificantDigits и maximumSignificantDigits — в другую. Если определено хотя бы одно свойство из второй группы, свойства первой группы будут проигнорированы.

+ +
+
minimumIntegerDigits
+
Минимальное используемое количество цифр целой части числа. Возможными значениями являются значения от 1 до 21; значением по умолчанию является 1.
+
minimumFractionDigits
+
Минимальное используемое количество цифр дробной части числа. Возможными значениями являются значения от 0 до 20; значением по умолчанию для простого и процентного форматирования является 0; значением по умолчанию для форматирования валюты является число цифр младших единиц, определяемое в списке кодов валют ISO 4217 (2, если данный список не предоставляет такой информации).
+
maximumFractionDigits
+
Максимальное используемое количество цифр дробной части числа. Возможными значениями являются значения от 0 до 20; значением по умолчанию для простого форматирования является наибольшее значение из minimumFractionDigits и 3; значением по умолчанию для форматирования валюты является число цифр младших единиц, определяемое в списке кодов валют ISO 4217 (2, если данный список не предоставляет такой информации); значением по умолчанию для процентного форматирования является наибольшее значение из minimumFractionDigits и 0.
+
minimumSignificantDigits
+
Минимальное используемое количество значащих цифр числа. Возможными значениями являются значения от 1 до 21; значением по умолчанию является 1.
+
maximumSignificantDigits
+
Максимальное используемое количество значащих цифр числа. Возможными значениями являются значения от 1 до 21; значением по умолчанию является minimumSignificantDigits.
+
+
+
+ +

Описание

+ +

Свойства

+ +
+
{{jsxref("NumberFormat.prototype", "Intl.NumberFormat.prototype")}}
+
Позволяет добавлять свойства ко всем объектам.
+
+ +

Методы

+ +
+
{{jsxref("NumberFormat.supportedLocalesOf", "Intl.NumberFormat.supportedLocalesOf()")}}
+
Возвращает массив, содержащий те из предоставленных локалей, которые поддерживаются без отката к локали по умолчанию среды выполнения.
+
+ +

Экземпляры объекта NumberFormat

+ +

Свойства

+ +

Экземпляры NumberFormat наследуют следующие свойства из своего прототипа:

+ +
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat/prototype', 'Properties')}}
+ +

Методы

+ +

Экземпляры NumberFormat наследуют следующие методы из своего прототипа:

+ +
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat/prototype', 'Methods')}}
+ +

Примеры

+ +

Пример: базовое использование

+ +

При базовом использовании без определения локали возвращается строка, отформатированная с помощью локали по умолчанию с опциями по умолчанию.

+ +
var number = 3500;
+
+console.log(new Intl.NumberFormat().format(number));
+// → '3,500' в локали US English
+
+ +

Пример: использование аргумента locales

+ +

Этот пример показывает некоторые локализованные числовые форматы. Для получения формата языка, используемого в пользовательском интерфейсе вашего приложения, убедитесь, что вы указали этот язык (и, возможно, несколько запасных языков) через аргумент locales:

+ +
var number = 123456.789;
+
+// В Германии в качестве разделителя целой и дробной части используется запятая, а в качестве разделителя разрядов - точка
+console.log(new Intl.NumberFormat('de-DE').format(number));
+// → 123.456,789
+
+// В России в качестве разделителя целой и дробной части используется запятая, а в качестве разделителя разрядов - пробел
+console.log(new Intl.NumberFormat('ru-RU').format(number));
+// → 123 456,789
+
+// В большинстве арабоговорящих стран используют настоящие арабские цифры
+console.log(new Intl.NumberFormat('ar-EG').format(number));
+// → ١٢٣٤٥٦٫٧٨٩
+
+// В Индии используют разделители для тысяч/лакх/крор
+console.log(new Intl.NumberFormat('en-IN').format(number));
+// → 1,23,456.789
+
+// Ключ расширения nu запрашивает систему нумерации, например, китайскую десятичную
+console.log(new Intl.NumberFormat('zh-Hans-CN-u-nu-hanidec').format(number));
+// → 一二三,四五六.七八九
+
+// Если запрашиваемый язык может не поддерживаться, например
+// балийский, откатываемся на запасной язык, в данном случае индонезийский
+console.log(new Intl.NumberFormat(['ban', 'id']).format(number));
+// → 123.456,789
+
+ +

Пример: использование аргумента options

+ +

Результат может быть настроен с помощью аргумента options:

+ +
var number = 123456.789;
+
+// Запрашиваем формат валюты
+console.log(new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(number));
+// → 123.456,79 €
+
+console.log(new Intl.NumberFormat('ru-RU', { style: 'currency', currency: 'RUB' }).format(number));
+// → 123 456,79 руб.
+
+// Японская йена не использует младшие единицы
+console.log(new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(number))
+// → ¥123,457
+
+// Ограничиваем до трёх значащих цифр
+console.log(new Intl.NumberFormat('en-IN', { maximumSignificantDigits: 3 }).format(number));
+// → 1,23,000
+
+ +

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

+ + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-11.1', 'Intl.NumberFormat')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+ +

{{Compat("javascript.builtins.Intl.NumberFormat")}}

+ +
+ +

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

+ +
{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/Intl', 'See_also')}}
diff --git a/files/ru/web/javascript/reference/global_objects/intl/numberformat/prototype/index.html b/files/ru/web/javascript/reference/global_objects/intl/numberformat/prototype/index.html new file mode 100644 index 0000000000..6ac4a38c2c --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/numberformat/prototype/index.html @@ -0,0 +1,108 @@ +--- +title: Intl.NumberFormat.prototype +slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/prototype +tags: + - Internationalization + - JavaScript + - NumberFormat + - Property + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat +--- +
{{JSRef("Global_Objects", "NumberFormat", "Intl,Collator,DateTimeFormat")}}
+ +

Сводка

+

Свойство Intl.NumberFormat.prototype представляет объект прототипа конструктора {{jsxref("Global_Objects/NumberFormat", "Intl.NumberFormat")}}.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Описание

+

Смотрите {{jsxref("NumberFormat")}} для описания экземпляров Intl.NumberFormat.

+

Экземпляры {{jsxref("Global_Objects/NumberFormat", "Intl.NumberFormat")}} наследуются от Intl.NumberFormat.prototype. Изменения объекта прототипа наследуются всеми экземплярами {{jsxref("Global_Objects/NumberFormat", "Intl.NumberFormat")}}.

+ +

Свойства

+
+
Intl.NumberFormat.prototype.constructor
+
Ссылка на {{jsxref("Global_Objects/NumberFormat", "Intl.NumberFormat")}}.
+
{{jsxref("NumberFormat.format", "Intl.NumberFormat.prototype.format")}}
+
Геттер; возвращает функцию, форматирующую число согласно локали и опциям форматирования этого объекта {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}}.
+
+ +

Методы

+
+
{{jsxref("NumberFormat.resolvedOptions", "Intl.NumberFormat.prototype.resolvedOptions()")}}
+
Возвращает новый объект со свойствами, отражающими локаль и опции сравнения, вычисленные при инициализации объекта.
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-11.2.1', 'Intl.NumberFormat.prototype')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ diff --git a/files/ru/web/javascript/reference/global_objects/intl/numberformat/resolvedoptions/index.html b/files/ru/web/javascript/reference/global_objects/intl/numberformat/resolvedoptions/index.html new file mode 100644 index 0000000000..1633c1e703 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/numberformat/resolvedoptions/index.html @@ -0,0 +1,117 @@ +--- +title: Intl.NumberFormat.prototype.resolvedOptions() +slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/resolvedOptions +tags: + - Internationalization + - JavaScript + - Method + - NeedsExample + - NumberFormat + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/resolvedOptions +--- +
{{JSRef("Global_Objects", "NumberFormat", "Intl,Collator,DateTimeFormat")}}
+ +

Сводка

+

Метод Intl.NumberFormat.prototype.resolvedOptions() возвращает новый объект со свойствами, отражающими локаль и параметры форматирования чисел, вычисленные во время инициализации соответствующего объекта {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}}.

+ +

Синтаксис

+
numberFormat.resolvedOptions()
+ +

Описание

+

Возвращает новый объект со свойствами, отражающими локаль и параметры форматирования чисел, вычисленные во время инициализации соответствующего объекта {{jsxref("Global_Objects/NumberFormat", "NumberFormat")}}. Объект содержит следующие свойства:

+
+
locale
+
Языковая метка BCP 47 реально используемой локали. Если во входной языковой метке BCP 47 запрошены какие-либо расширения Unicode, приведшие к этой локали, запрошенные и поддерживаемые для этой локали пары ключ-значение также будут включены в свойство locale.
+
numberingSystem
+
Значение, запрошенное ключом расширения Unicode "nu", либо значение по умолчанию.
+
style
+
useGrouping
+
Значения, предоставленные для этих свойств в аргументе options, либо значения по умолчанию.
+
currency
+
currencyDisplay
+
Значения, предоставленные для этих свойств в аргументе options, либо значения по умолчанию. Эти свойства присутствуют только в том случае, если свойство style равно "currency".
+
+

Из следующих двух групп свойств включается только одна:

+
+
minimumIntegerDigits
+
minimumFractionDigits
+
maximumFractionDigits
+
Значения, предоставленные для этих свойств в аргументе options, либо значения по умолчанию. Эти свойства присутствуют только в том случае, если в аргументе options не присутствовало ни свойства minimumSignificantDigits, ни свойства maximumSignificantDigits.
+
minimumSignificantDigits
+
maximumSignificantDigits
+
Значения, предоставленные для этих свойств в аргументе options, либо значения по умолчанию. Эти свойства присутствуют только в том случае, если в аргументе options присутствовало хотя бы одно из них.
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-11.3.3', 'Intl.NumberFormat.prototype.resolvedOptions')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ diff --git a/files/ru/web/javascript/reference/global_objects/intl/numberformat/supportedlocalesof/index.html b/files/ru/web/javascript/reference/global_objects/intl/numberformat/supportedlocalesof/index.html new file mode 100644 index 0000000000..97159a0112 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/intl/numberformat/supportedlocalesof/index.html @@ -0,0 +1,117 @@ +--- +title: Intl.NumberFormat.supportedLocalesOf() +slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/supportedLocalesOf +tags: + - Internationalization + - JavaScript + - Method + - NumberFormat +translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/supportedLocalesOf +--- +
{{JSRef("Global_Objects", "NumberFormat", "Intl,Collator,DateTimeFormat")}}
+ +

Сводка

+

Метод Intl.NumberFormat.supportedLocalesOf() возвращает массив, содержащий те из предоставленных локалей, что поддерживаются при форматировании чисел без отката к локали по умолчанию среды выполнения.

+ +

Синтаксис

+
Intl.NumberFormat.supportedLocalesOf(locales[, options])
+ +

Параметры

+
+
locales
+
Строка с языковой меткой BCP 47, либо массив таких строк. Описание общей формы и интерпретации аргумента locales смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_identification_and_negotiation", 1)}}.
+
options
+
+

Необязательный параметр. Объект, который может содержать следующее свойство:

+
+
localeMatcher
+
Используемый алгоритм сопоставления локалей. Возможными значениями являются "lookup" и "best fit"; значением по умолчанию является "best fit". Информацию по этой опции смотрите на {{jsxref("Global_Objects/Intl", "странице, посвящённой объекту Intl", "#Locale_negotiation", 1)}}.
+
+
+
+ +

Описание

+

Возвращает массив с подмножеством языковых меток, предоставленных в аргументе locales. Возвращаются те языковые метки, для которых среда выполнения поддерживает форматирование чисел без отката к локали по умолчанию; при поиске используется предоставленный алгоритм сопоставления локалей.

+ +

Примеры

+ +

Пример: использование supportedLocalesOf

+

Предполагая, что среда выполнения поддерживает индонезийское и немецкое, но на балийское форматирование чисел, метод supportedLocalesOf вернёт неизменными индонезийскую и немецкую языковые метки, даже несмотря на то, что сортировка pinyin не относится к форматированию чисел, не используется с индонезийским языком и вряд ли будет поддерживаться в немецком языке для Индонезии. Обратите внимание на используемую здесь спецификацию алгоритма "lookup" — сопоставление "best fit" может решить, что индонезийский язык является адекватным сопоставлением с балийским, поскольку большинство людей, говорящих на балийском, также понимают индонезийский, и поэтому может возвратиться ещё и языковая метка балийского языка.

+
var locales = ['ban', 'id-u-co-pinyin', 'de-ID'];
+var options = { localeMatcher: 'lookup' };
+console.log(Intl.NumberFormat.supportedLocalesOf(locales, options).join(', '));
+// → "id-u-co-pinyin, de-ID"
+
+ +

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

+ + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('ES Int 1.0', '#sec-11.2.2', 'Intl.NumberFormat.supportedLocalesOf')}}{{Spec2('ES Int 1.0')}}Изначальное определение.
+ +

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

+
{{CompatibilityTable}}
+
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatChrome("24")}}{{CompatGeckoDesktop("29")}}{{CompatIE("11")}}{{CompatOpera("15")}}{{CompatNo}}
+
+
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome для AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Базовая поддержка{{CompatNo}}{{CompatChrome("26")}} + {{CompatNo}}
+ {{bug("864843")}} +
{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

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

+ -- cgit v1.2.3-54-g00ecf