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