Spec-Zone.ru › Cordova 8

cordova-plugin-globalization

Этот плагин получает информацию и выполняет операции, специфичные для региональных настроек пользователя, языка и часового пояса. Обратите внимание на разницу между регионом и языком: регион управляет отображением чисел, дат и времени для определённого региона, а язык определяет, на каком языке будет отображаться текст, независимо от региональных настроек. Часто разработчики используют регион для настройки обоих параметров, но нет причин, по которым пользователь не мог бы установить язык на «Английский», а регион на «Французский», чтобы текст отображался на английском, а даты, время и т. д. отображались так, как это делается во Франции. К сожалению, большинство мобильных платформ в настоящее время не различают эти параметры.

Этот плагин определяет глобальный navigator.globalization объект.

Несмотря на то, что он доступен в глобальном масштабе, он недоступен до события deviceready.

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    console.log(navigator.globalization);
}

Сообщайте о проблемах с этим плагином на следующем отслеживателе задач Apache Cordova.

Предупреждение о устаревании

Так как API интернационализации ECMA Internationalization теперь поддерживается на устройствах iOS, Android и Windows, этот плагин больше не требуется. Переход с этого плагина на API интернационализации ECMA Internationalization описан в этом посте блога Cordova.

Установка

cordova plugin add cordova-plugin-globalization

Объекты

  • GlobalizationError

Методы

  • navigator.globalization.getPreferredLanguage
  • navigator.globalization.getLocaleName
  • navigator.globalization.dateToString
  • navigator.globalization.stringToDate
  • navigator.globalization.getDatePattern
  • navigator.globalization.getDateNames
  • navigator.globalization.isDayLightSavingsTime
  • navigator.globalization.getFirstDayOfWeek
  • navigator.globalization.numberToString
  • navigator.globalization.stringToNumber
  • navigator.globalization.getNumberPattern
  • navigator.globalization.getCurrencyPattern

navigator.globalization.getPreferredLanguage

Получение тега языка BCP 47 для текущего языка клиента.

navigator.globalization.getPreferredLanguage(successCallback, errorCallback);

Описание

Возвращает тег идентификатора языка, совместимый с BCP-47, successCallback с объектом properties в качестве параметра. Этот объект должен иметь свойство value со значением String.

Если при получении языка возникнет ошибка, то errorCallback выполняется с объектом GlobalizationError в качестве параметра. Ожидаемый код ошибки — GlobalizationError.UNKNOWN_ERROR.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • Браузер
  • Firefox OS
  • iOS
  • Windows Phone 8
  • Windows

Пример

Когда в браузере установлен язык en-US, это должно отобразить всплывающее диалоговое окно с текстом language: en-US.

navigator.globalization.getPreferredLanguage(
    function (language) {alert('language: ' + language.value + '\n');},
    function () {alert('Error getting language\n');}
);

Особенности Android

  • Возвращает двухбуквенный код языка ISO 639-1 в верхнем регистре, двухбуквенный код страны ISO 3166-1 и вариант, разделенные дефисами. Примеры: «en», «en-US», «US»

Особенности Windows Phone 8

  • Возвращает двухбуквенный код языка ISO 639-1 и двухбуквенный код страны ISO 3166-1 регионального варианта, соответствующего настройке «Язык», разделенные дефисом.
  • Обратите внимание, что региональный вариант является свойством настройки «Язык», а не определяется несвязанной настройкой «Страна/Регион» в Windows Phone.

Особенности Windows

  • Возвращает двухбуквенный код языка ISO 639-1 и двухбуквенный код страны ISO 3166-1 регионального варианта, соответствующего настройке «Язык», разделенные дефисом.

Особенности браузера

  • Используется метод getLocaleName в качестве резервного варианта.

navigator.globalization.getLocaleName

Возвращает тег BCP 47 для текущей региональной настройки клиента.

navigator.globalization.getLocaleName(successCallback, errorCallback);

Описание

Возвращает строку идентификатора региона, совместимую с BCP 47, successCallback с объектом properties в качестве параметра. Этот объект должен иметь свойство value со значением String. Тег регионального идентификатора будет состоять из двухбуквенного кода языка в нижнем регистре, двухбуквенного кода страны в верхнем регистре и (неуказанного) кода варианта, разделенных дефисом.

Если при получении региональных настроек возникнет ошибка, то errorCallback выполняется с объектом GlobalizationError в качестве параметра. Ожидаемый код ошибки — GlobalizationError.UNKNOWN_ERROR.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • Firefox OS
  • iOS
  • Windows Phone 8
  • Windows
  • Браузер

Пример

При настройке браузера на регион en-US, отображается всплывающее диалоговое окно с текстом locale: en-US.

navigator.globalization.getLocaleName(
    function (locale) {alert('locale: ' + locale.value + '\n');},
    function () {alert('Error getting locale\n');}
);

Особенности Android

  • Java не различает установленный «язык» и установленный «регион», поэтому этот метод по сути эквивалентен navigator.globalization.getPreferredLanguage().

Особенности Windows Phone 8

  • Возвращает двухбуквенный код языка ISO 639-1 и двухбуквенный код страны ISO 3166-1 регионального варианта, соответствующего настройке «Региональный формат», разделенные дефисом.

Особенности Windows

  • Настройки региона можно изменить в Панель управления -> Часы, Язык и регион -> Регион -> Форматы -> Формат и в Настройки -> Регион -> Региональный формат в Windows Phone 8.1.

Особенности браузера

  • IE возвращает регион операционной системы. Chrome и Firefox возвращают тег языка браузера.

navigator.globalization.dateToString

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

navigator.globalization.dateToString(date, successCallback, errorCallback, options);

Описание

Возвращает отформатированную дату String через свойство value, доступное из объекта, переданного в качестве параметра методу successCallback.

Параметр date должен иметь тип Date.

Если при форматировании даты возникнет ошибка, то errorCallback выполняется с объектом GlobalizationError в качестве параметра. Ожидаемый код ошибки — GlobalizationError.FORMATTING_ERROR.

Параметр options является необязательным, и его значения по умолчанию:

{formatLength:'short', selector:'date and time'}

Значение options.formatLength может быть short, medium, long, или full.

Значение options.selector может быть date, time или date and time.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • Firefox OS
  • iOS
  • Windows Phone 8
  • Windows
  • Браузер

Пример

Если в браузере установлен регион en_US, это отобразит всплывающее диалоговое окно с текстом, подобным date: 9/25/2012 4:21PM, используя параметры по умолчанию:

navigator.globalization.dateToString(
    new Date(),
    function (date) { alert('date: ' + date.value + '\n'); },
    function () { alert('Error getting dateString\n'); },
    { formatLength: 'short', selector: 'date and time' }
);

Особенности Android

  • Параметры formatLength представляют собой подмножество Unicode UTS #35. Значение по умолчанию short зависит от выбранного формата даты пользователем в Settings -> System -> Date & time -> Choose date format, который предоставляет шаблон year только с 4 цифрами, а не 2. Это означает, что он не полностью соответствует ICU.

Особенности Windows Phone 8

  • Параметр formatLength поддерживает только значения short и full.

  • Шаблон для выбора «даты и времени» всегда представляет собой полный формат даты и времени.

  • Возвращаемое значение может не полностью соответствовать ICU в зависимости от региональных настроек пользователя.

Особенности Windows

  • Параметр formatLength поддерживает только значения short и full.

  • Шаблон для выбора «даты и времени» всегда представляет собой полный формат даты и времени.

  • Возвращаемое значение может не полностью соответствовать ICU в зависимости от региональных настроек пользователя.

Особенности браузера

  • Поддерживается только 79 регионов, так как в этом методе используется moment.js.

  • Возвращаемое значение может не полностью соответствовать ICU в зависимости от региональных настроек пользователя.

  • Выбор time поддерживает форматы full и short.

Особенности Firefox OS

  • Firefox OS не различает long и full.
  • только один метод отображения даты (нет long или full версии)

navigator.globalization.getCurrencyPattern

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

navigator.globalization.getCurrencyPattern(currencyCode, successCallback, errorCallback);

Описание

Возвращает шаблон successCallback с объектом properties в качестве параметра. Этот объект должен содержать следующие свойства:

  • pattern: Шаблон валюты для форматирования и анализа денежных значений. Шаблоны следуют Unicode Technical Standard #35. (Строка)

  • code: Код валюты ISO 4217 для шаблона. (Строка)

  • fraction: Количество дробных цифр для использования при анализе и форматировании валюты. (Число)

  • rounding: Значение приращения округления для использования при анализе и форматировании. (Число)

  • decimal: Символ десятичной точки для анализа и форматирования. (Строка)

  • grouping: Разделитель для разрядов при анализе и форматировании. (Строка)

Параметр currencyCode должен быть String одного из кодов валюты ISO 4217, например, 'USD'.

Если при получении шаблона возникнет ошибка, то errorCallback выполняется с объектом GlobalizationError в качестве параметра. Ожидаемый код ошибки — GlobalizationError.FORMATTING_ERROR.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • iOS
  • Windows

Пример

Когда браузер настроен на локаль en_US и выбранная валюта — доллары США, этот пример отображает всплывающее диалоговое окно с текстом, похожим на результаты, представленные ниже:

navigator.globalization.getCurrencyPattern(
    'USD',
    function (pattern) {
        alert('pattern: '  + pattern.pattern  + '\n' +
              'code: '     + pattern.code     + '\n' +
              'fraction: ' + pattern.fraction + '\n' +
              'rounding: ' + pattern.rounding + '\n' +
              'decimal: '  + pattern.decimal  + '\n' +
              'grouping: ' + pattern.grouping);
    },
    function () { alert('Error getting pattern\n'); }
);

Ожидаемый результат:

pattern: $#,##0.##;($#,##0.##)
code: USD
fraction: 2
rounding: 0
decimal: .
grouping: ,

Особенности Windows

  • Поддерживаются только свойства 'code' и 'fraction'

navigator.globalization.getDateNames

Возвращает массив имён месяцев или дней недели в зависимости от предпочтений пользователя и календаря клиента.

navigator.globalization.getDateNames(successCallback, errorCallback, options);

Описание

Возвращает массив имён в successCallback с объектом properties в качестве параметра. Этот объект содержит свойство value со значениями Array типа String. Массив содержит имена, начиная с первого месяца года или первого дня недели, в зависимости от выбранного варианта.

Если при получении имён произошла ошибка, то выполняется errorCallback с объектом GlobalizationError в качестве параметра. Ожидаемый код ошибки — GlobalizationError.UNKNOWN_ERROR.

Параметр options является необязательным и имеет следующие значения по умолчанию:

{type:'wide', item:'months'}

Значение options.type может быть narrow или wide.

Значение options.item может быть months или days.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • Firefox OS
  • iOS
  • Windows Phone 8
  • Windows
  • Браузер

Пример

Когда браузер настроен на локаль en_US, этот пример отображает серию из двенадцати всплывающих диалоговых окон, по одному на каждый месяц, с текстом, похожим на month: January:

navigator.globalization.getDateNames(
    function (names) {
        for (var i = 0; i < names.value.length; i++) {
            alert('month: ' + names.value[i] + '\n');
        }
    },
    function () { alert('Error getting names\n'); },
    { type: 'wide', item: 'months' }
);

Особенности Firefox OS

  • options.type поддерживает значение genitive, важное для некоторых языков.

Особенности Windows Phone 8

  • Массив месяцев содержит 13 элементов.
  • Возвращаемый массив может не полностью соответствовать ICU в зависимости от локали пользователя.

Особенности Windows

  • Массив месяцев содержит 12 элементов.
  • Возвращаемый массив может не полностью соответствовать ICU в зависимости от локали пользователя.

Особенности браузера

  • Имена дат не полностью соответствуют ICU.
  • Массив месяцев содержит 12 элементов.

navigator.globalization.getDatePattern

Возвращает строку шаблона для форматирования и анализа дат в соответствии с предпочтениями пользователя клиента.

navigator.globalization.getDatePattern(successCallback, errorCallback, options);

Описание

Возвращает шаблон в successCallback. Переданный в качестве параметра объект содержит следующие свойства:

  • pattern: Шаблон даты и времени для форматирования и анализа дат. Шаблоны следуют Unicode Technical Standard #35. (Строка)

  • timezone: Сокращённое имя часового пояса клиента. (Строка)

  • iana_timezone: Имя часового пояса клиента по стандарту IANA. (Строка)

  • utc_offset: Текущая разница во времени в секундах между часовым поясом клиента и универсальным координированным временем. (Число)

  • dst_offset: Текущая смещение летнего времени в секундах между часовым поясом клиента без летнего времени и часовым поясом клиента с летним временем. (Число)

Если при получении шаблона произошла ошибка, то выполняется errorCallback с объектом GlobalizationError в качестве параметра. Ожидаемый код ошибки — GlobalizationError.PATTERN_ERROR.

Параметр options является необязательным и имеет следующие значения по умолчанию:

{formatLength:'short', selector:'date and time'}

options.formatLength может быть short, medium, long, или full. options.selector может быть date, time или date and time.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • iOS
  • Windows Phone 8
  • Windows
  • Браузер

Пример

Когда браузер настроен на локаль en_US, этот пример отображает всплывающее диалоговое окно с текстом, например, pattern: M/d/yyyy h:mm a:

function checkDatePattern() {
    navigator.globalization.getDatePattern(
        function (date) { alert('pattern: ' + date.pattern + '\n'); },
        function () { alert('Error getting pattern\n'); },
        { formatLength: 'short', selector: 'date and time' }
    );
}

Особенности Windows Phone 8

  • formatLength поддерживает только значения short и full.

  • pattern для шаблона date and time возвращает только полное форматирование даты и времени.

  • timezone возвращает полное имя часового пояса.

  • Свойство dst_offset не поддерживается и всегда возвращает ноль.

  • Шаблон может не полностью соответствовать ICU в зависимости от локали пользователя.

Особенности Windows

  • formatLength поддерживает только значения short и full.

  • pattern для шаблона date and time возвращает только полное форматирование даты и времени.

  • timezone возвращает полное имя часового пояса.

  • Свойство iana_timezone не поддерживается и всегда возвращает пустую строку.

  • Свойство dst_offset не поддерживается и всегда возвращает ноль.

  • Шаблон может не полностью соответствовать ICU в зависимости от локали пользователя.

Особенности браузера

  • Свойство 'pattern' не поддерживается и возвращает пустую строку.

  • Только Chrome возвращает свойство 'timezone'. Его формат — "Часть света/{Город}". Другие браузеры возвращают пустую строку.

navigator.globalization.getFirstDayOfWeek

Возвращает первый день недели в соответствии с предпочтениями пользователя клиента и календарём.

navigator.globalization.getFirstDayOfWeek(successCallback, errorCallback);

Описание

Дни недели пронумерованы, начиная с 1, где 1 — воскресенье. Возвращает день в successCallback с объектом properties в качестве параметра. Этот объект должен содержать свойство value со значением Number.

Если при получении шаблона произошла ошибка, то выполняется errorCallback с объектом GlobalizationError в качестве параметра. Ожидаемый код ошибки — GlobalizationError.UNKNOWN_ERROR.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • Firefox OS
  • iOS
  • Windows Phone 8
  • Windows
  • Браузер

Пример

Когда браузер настроен на локаль en_US, это отображает всплывающее диалоговое окно с текстом, похожим на day: 1.

navigator.globalization.getFirstDayOfWeek(
    function (day) {alert('day: ' + day.value + '\n');},
    function () {alert('Error getting day\n');}
);

Особенности Windows

  • В Windows 8.0/8.1 значение зависит от предпочтений календаря пользователя. В Windows Phone 8.1 значение зависит от текущей локали.

Особенности браузера

  • Поддерживается только 79 локалей, потому что в этом методе используется moment.js.

navigator.globalization.getNumberPattern

Возвращает строку шаблона для форматирования и анализа чисел в соответствии с предпочтениями пользователя клиента.

navigator.globalization.getNumberPattern(successCallback, errorCallback, options);

Описание

Возвращает шаблон в successCallback с объектом properties в качестве параметра. Этот объект содержит следующие свойства:

  • pattern: Шаблон числа для форматирования и анализа чисел. Шаблоны следуют Unicode Technical Standard #35. (Строка)

  • symbol: Символ, используемый при форматировании и анализе, например, символ процента или валюты. (Строка)

  • fraction: Количество дробных цифр, используемых при анализе и форматировании чисел. (Число)

  • rounding: Приращение округления, используемое при анализе и форматировании. (Число)

  • positive: Символ, используемый для положительных чисел при анализе и форматировании. (Строка)

  • negative: Символ, используемый для отрицательных чисел при анализе и форматировании. (Строка)

  • decimal: Символ десятичной точки, используемый при анализе и форматировании. (Строка)

  • grouping: Символ группировки, используемый при анализе и форматировании. (Строка)

Если при получении шаблона произошла ошибка, то выполняется errorCallback с объектом GlobalizationError в качестве параметра. Ожидаемый код ошибки — GlobalizationError.PATTERN_ERROR.

Параметр options является необязательным и имеет следующие значения по умолчанию:

{type:'decimal'}

options.type может быть decimal, percent, или currency.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • iOS
  • Windows Phone 8
  • Windows
  • Браузер

Пример

Когда браузер настроен на локаль en_US, это должно отобразить всплывающее диалоговое окно с текстом, похожим на следующие результаты:

navigator.globalization.getNumberPattern(
    function (pattern) {alert('pattern: '  + pattern.pattern  + '\n' +
                              'symbol: '   + pattern.symbol   + '\n' +
                              'fraction: ' + pattern.fraction + '\n' +
                              'rounding: ' + pattern.rounding + '\n' +
                              'positive: ' + pattern.positive + '\n' +
                              'negative: ' + pattern.negative + '\n' +
                              'decimal: '  + pattern.decimal  + '\n' +
                              'grouping: ' + pattern.grouping);},
    function () {alert('Error getting pattern\n');},
    {type:'decimal'}
);

Результаты:

pattern: #,##0.###
symbol: .
fraction: 0
rounding: 0
positive:
negative: -
decimal: .
grouping: ,

Особенности Windows Phone 8

  • Свойство pattern не поддерживается и возвращает пустую строку.

  • Свойство fraction не поддерживается и возвращает ноль.

Особенности Windows

  • Свойство pattern не поддерживается и возвращает пустую строку.

Особенности браузера

  • getNumberPattern поддерживается только в Chrome; единственное определённое свойство — pattern.

navigator.globalization.isDayLightSavingsTime

Указывает, действует ли летнее время для заданной даты, используя часовой пояс и календарь клиента.

navigator.globalization.isDayLightSavingsTime(date, successCallback, errorCallback);

Описание

Указывает, действует ли летнее время в successCallback с объектом properties в качестве параметра. Этот объект должен иметь свойство dst со значением Boolean . Значение true указывает, что летнее время действует для данной даты, а false указывает, что нет.

Входящий параметр date должен быть типа Date.

Если при чтении даты произошла ошибка, то выполняется errorCallback. Ожидаемый код ошибки — GlobalizationError.UNKNOWN_ERROR.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • Firefox OS
  • iOS
  • Windows Phone 8
  • Windows
  • Браузер

Пример

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

navigator.globalization.isDayLightSavingsTime(
    new Date(),
    function (date) {alert('dst: ' + date.dst + '\n');},
    function () {alert('Error getting names\n');}
);

navigator.globalization.numberToString

Возвращает число, отформатированное в виде строки в соответствии с предпочтениями пользователя клиента.

navigator.globalization.numberToString(number, successCallback, errorCallback, options);

Описание

Возвращает отформатированную строку числа в обратный вызывающий метод с объектом successCallback в качестве параметра. Этот объект должен иметь свойство value со значением String.

Если при форматировании числа произошла ошибка, выполняется errorCallback с объектом GlobalizationError в качестве параметра. Ожидаемый код ошибки — GlobalizationError.FORMATTING_ERROR.

Параметр options является необязательным и имеет следующие значения по умолчанию:

{type:'decimal'}

Значение options.type может быть decimal, percent, или currency.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • iOS
  • Windows Phone 8
  • Windows
  • Браузер

Пример

При установке в браузере локали en_US отображается всплывающее диалоговое окно с текстом, похожим на number: 3.142:

navigator.globalization.numberToString(
    3.1415926,
    function (number) {alert('number: ' + number.value + '\n');},
    function () {alert('Error getting number\n');},
    {type:'decimal'}
);

Особенности Windows

  • Windows 8.0 не поддерживает округление чисел, поэтому значения не будут округляться автоматически.

  • В Windows 8.1 и Windows Phone 8.1 дробная часть числа типа percent усекается вместо округления, поэтому количество дробных цифр устанавливается в 0.

  • Числа percent не группируются, так как они не могут быть обработаны в stringToNumber, если сгруппированы.

Особенности браузеров

  • currency тип не поддерживается.

navigator.globalization.stringToDate

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

navigator.globalization.stringToDate(dateString, successCallback, errorCallback, options);

Описание

Возвращает дату в обратный вызывающий метод с объектом properties в качестве параметра. Этот объект должен иметь следующие свойства:

  • year: Год (четыре цифры). (Число)

  • month: Месяц (от 0 до 11). (Число)

  • day: День (от 1 до 31). (Число)

  • hour: Час (от 0 до 23). (Число)

  • minute: Минута (от 0 до 59). (Число)

  • second: Секунда (от 0 до 59). (Число)

  • millisecond: Миллисекунды (от 0 до 999), недоступны на всех платформах. (Число)

Входящий параметр dateString должен быть типа String.

Параметр options является необязательным и имеет следующие значения по умолчанию:

{formatLength:'short', selector:'date and time'}

Значение options.formatLength может быть short, medium, long, или full. Значение options.selector может быть date, time или date and time.

Если при парсинге строки даты произошла ошибка, выполняется errorCallback с объектом GlobalizationError в качестве параметра. Ожидаемый код ошибки — GlobalizationError.PARSING_ERROR.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • Firefox OS
  • iOS
  • Windows Phone 8
  • Windows
  • Браузер

Пример

При установке в браузере локали en_US отображается всплывающее диалоговое окно с текстом, похожим на month:8 day:25 year:2012. Обратите внимание, что целое число месяца на единицу меньше, чем в строке, так как целое число месяца представляет индекс массива.

navigator.globalization.stringToDate(
    '9/25/2012',
    function (date) {alert('month:' + date.month +
                           ' day:'  + date.day   +
                           ' year:' + date.year  + '\n');},
    function () {alert('Error getting date\n');},
    {selector: 'date'}
);

Особенности Windows Phone 8

  • Параметр formatLength поддерживает только значения short и full.

  • Шаблон для селектора «дата и время» всегда имеет полный формат даты и времени.

  • Входящий параметр dateString должен быть сформирован в соответствии с шаблоном, возвращаемым функцией getDatePattern. Этот шаблон может не полностью соответствовать ICU в зависимости от локали пользователя.

Особенности Windows

  • Параметр formatLength поддерживает только значения short и full.

  • Шаблон для селектора «дата и время» всегда имеет полный формат даты и времени.

  • Входящий параметр dateString должен быть сформирован в соответствии с шаблоном, возвращаемым функцией getDatePattern. Этот шаблон может не полностью соответствовать ICU в зависимости от локали пользователя.

Особенности браузеров

  • Поддерживается только 79 локалей, поскольку в этом методе используется moment.js.

  • Входящая строка должна соответствовать формату вывода dateToString и может не полностью соответствовать ICU в зависимости от локали пользователя.

  • Селектор time поддерживает только форматы full и short.

navigator.globalization.stringToNumber

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

navigator.globalization.stringToNumber(string, successCallback, errorCallback, options);

Описание

Возвращает число в обратный вызывающий метод с объектом properties в качестве параметра. Этот объект должен иметь свойство value со значением Number.

Если при парсинге строки числа произошла ошибка, выполняется errorCallback с объектом GlobalizationError в качестве параметра. Ожидаемый код ошибки — GlobalizationError.PARSING_ERROR.

Параметр options является необязательным и имеет следующие значения по умолчанию:

{type:'decimal'}

Значение options.type может быть decimal, percent, или currency.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • iOS
  • Windows Phone 8
  • Windows

Пример

При установке в браузере локали en_US должно отобразиться всплывающее диалоговое окно с текстом, похожим на number: 1234.56:

navigator.globalization.stringToNumber(
    '1234.56',
    function (number) {alert('number: ' + number.value + '\n');},
    function () {alert('Error getting number\n');},
    {type:'decimal'}
);

Особенности Windows Phone 8

  • В случае типа percent возвращаемое значение не делится на 100.

Особенности Windows

  • Строка должна строго соответствовать формату локали. Например, для локали 'en-US' и параметра типа 'percent' символ процента должен быть разделен пробелом.

  • Числа percent не должны группироваться, чтобы быть обработаны корректно.

GlobalizationError

Объект, представляющий ошибку API Globalization.

Свойства

  • code: Один из следующих кодов, представляющих тип ошибки (Число)
    • GlobalizationError.UNKNOWN_ERROR: 0
    • GlobalizationError.FORMATTING_ERROR: 1
    • GlobalizationError.PARSING_ERROR: 2
    • GlobalizationError.PATTERN_ERROR: 3
  • message: Текстовое сообщение, которое содержит объяснение и/или детали ошибки. (Строка)

Описание

Этот объект создается и заполняется Cordova и возвращается в обратный вызывающий метод в случае ошибки.

Поддерживаемые платформы

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • Firefox OS
  • iOS
  • Windows Phone 8
  • Windows

Пример

При выполнении обратного вызова об ошибке отображается всплывающее диалоговое окно с текстом, похожим на code: 3 и message:

function errorCallback(error) {
    alert('code: ' + error.code + '\n' +
          'message: ' + error.message + '\n');
};

© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/8.x/reference/cordova-plugin-globalization/index.html

Spec-Zone.ru

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