Home

Awesome


title: Globalization description: Access locale data.

<!-- # license: Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -->
AppVeyorTravis CI
Build statusBuild Status

cordova-plugin-globalization

This plugin obtains information and performs operations specific to the user's locale, language, and timezone. Note the difference between locale and language: locale controls how numbers, dates, and times are displayed for a region, while language determines what language text appears as, independently of locale settings. Often developers use locale to set both settings, but there is no reason a user couldn't set her language to "English" but locale to "French", so that text is displayed in English but dates, times, etc., are displayed as they are in France. Unfortunately, most mobile platforms currently do not make a distinction between these settings.

This plugin defines global navigator.globalization object.

Although in the global scope, it is not available until after the deviceready event.

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

Report issues with this plugin on the Apache Cordova issue tracker

Deprecation Notice

With the ECMA Internationalization API now supported on iOS, Android and Windows devices, this plugin is not required any more. Migrating from this plugin to the ECMA Internationalization API is explained in this Cordova blog post.

Installation

cordova plugin add cordova-plugin-globalization

Objects

Methods

navigator.globalization.getPreferredLanguage

Get the BCP 47 language tag for the client's current language.

    navigator.globalization.getPreferredLanguage(successCallback, errorCallback);

Description

Returns the BCP-47 compliant language identifier tag to the successCallback with a properties object as a parameter. That object should have a value property with a String value.

If there is an error getting the language, then the errorCallback executes with a GlobalizationError object as a parameter. The error's expected code is GlobalizationError.UNKNOWN_ERROR.

Supported Platforms

Example

When the browser is set to the en-US language, this should display a popup dialog with the text language: en-US:

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

Android Quirks

Windows Phone 8 Quirks

Windows Quirks

Browser Quirks

navigator.globalization.getLocaleName

Returns the BCP 47 compliant tag for the client's current locale setting.

    navigator.globalization.getLocaleName(successCallback, errorCallback);

Description

Returns the BCP 47 compliant locale identifier string to the successCallback with a properties object as a parameter. That object should have a value property with a String value. The locale tag will consist of a two-letter lower case language code, two-letter upper case country code, and (unspecified) variant code, separated by a hyphen.

If there is an error getting the locale, then the errorCallback executes with a GlobalizationError object as a parameter. The error's expected code is GlobalizationError.UNKNOWN_ERROR.

Supported Platforms

Example

When the browser is set to the en-US locale, this displays a popup dialog with the text locale: en-US.

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

Android Quirks

Windows Phone 8 Quirks

Windows Quirks

Browser Quirks

navigator.globalization.dateToString

Returns a date formatted as a string according to the client's locale and timezone.

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

Description

Returns the formatted date String via a value property accessible from the object passed as a parameter to the successCallback.

The inbound date parameter should be of type Date.

If there is an error formatting the date, then the errorCallback executes with a GlobalizationError object as a parameter. The error's expected code is GlobalizationError.FORMATTING_ERROR.

The options parameter is optional, and its default values are:

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

The options.formatLength can be short, medium, long, or full.

The options.selector can be date, time or date and time.

Supported Platforms

Example

If the browser is set to the en_US locale, this displays a popup dialog with text similar to date: 9/25/2012 4:21PM using the default options:

    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 Quirks

Windows Phone 8 Quirks

Windows Quirks

Browser Quirks

Firefox OS Quirks

navigator.globalization.getCurrencyPattern

Returns a pattern string to format and parse currency values according to the client's user preferences and ISO 4217 currency code.

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

Description

Returns the pattern to the successCallback with a properties object as a parameter. That object should contain the following properties:

The inbound currencyCode parameter should be a String of one of the ISO 4217 currency codes, for example 'USD'.

If there is an error obtaining the pattern, then the errorCallback executes with a GlobalizationError object as a parameter. The error's expected code is GlobalizationError.FORMATTING_ERROR.

Supported Platforms

Example

When the browser is set to the en_US locale and the selected currency is United States Dollars, this example displays a popup dialog with text similar to the results that follow:

    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'); }
    );

Expected result:

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

Windows Quirks

navigator.globalization.getDateNames

Returns an array of the names of the months or days of the week, depending on the client's user preferences and calendar.

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

Description

Returns the array of names to the successCallback with a properties object as a parameter. That object contains a value property with an Array of String values. The array features names starting from either the first month in the year or the first day of the week, depending on the option selected.

If there is an error obtaining the names, then the errorCallback executes with a GlobalizationError object as a parameter. The error's expected code is GlobalizationError.UNKNOWN_ERROR.

The options parameter is optional, and its default values are:

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

The value of options.type can be narrow or wide.

The value of options.item can be months or days.

Supported Platforms

Example

When the browser is set to the en_US locale, this example displays a series of twelve popup dialogs, one per month, with text similar to 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 Quirks

Windows Phone 8 Quirks

Windows Quirks

Browser Quirks

navigator.globalization.getDatePattern

Returns a pattern string to format and parse dates according to the client's user preferences.

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

Description

Returns the pattern to the successCallback. The object passed in as a parameter contains the following properties:

If there is an error obtaining the pattern, the errorCallback executes with a GlobalizationError object as a parameter. The error's expected code is GlobalizationError.PATTERN_ERROR.

The options parameter is optional, and defaults to the following values:

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

The options.formatLength can be short, medium, long, or full. The options.selector can be date, time or date and time.

Supported Platforms

Example

When the browser is set to the en_US locale, this example displays a popup dialog with text such as 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 Quirks

Windows Quirks

Browser Quirks

navigator.globalization.getFirstDayOfWeek

Returns the first day of the week according to the client's user preferences and calendar.

    navigator.globalization.getFirstDayOfWeek(successCallback, errorCallback);

Description

The days of the week are numbered starting from 1, where 1 is assumed to be Sunday. Returns the day to the successCallback with a properties object as a parameter. That object should have a value property with a Number value.

If there is an error obtaining the pattern, then the errorCallback executes with a GlobalizationError object as a parameter. The error's expected code is GlobalizationError.UNKNOWN_ERROR.

Supported Platforms

Example

When the browser is set to the en_US locale, this displays a popup dialog with text similar to day: 1.

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

Windows Quirks

Browser Quirks

navigator.globalization.getNumberPattern

Returns a pattern string to format and parse numbers according to the client's user preferences.

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

Description

Returns the pattern to the successCallback with a properties object as a parameter. That object contains the following properties:

If there is an error obtaining the pattern, then the errorCallback executes with a GlobalizationError object as a parameter. The error's expected code is GlobalizationError.PATTERN_ERROR.

The options parameter is optional, and default values are:

    {type:'decimal'}

The options.type can be decimal, percent, or currency.

Supported Platforms

Example

When the browser is set to the en_US locale, this should display a popup dialog with text similar to the results that follow:

    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'}
    );

Results:

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

Windows Phone 8 Quirks

Windows Quirks

Browser Quirks

navigator.globalization.isDayLightSavingsTime

Indicates whether daylight savings time is in effect for a given date using the client's time zone and calendar.

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

Description

Indicates whether or not daylight savings time is in effect to the successCallback with a properties object as a parameter. That object should have a dst property with a Boolean value. A true value indicates that daylight savings time is in effect for the given date, and false indicates that it is not.

The inbound parameter date should be of type Date.

If there is an error reading the date, then the errorCallback executes. The error's expected code is GlobalizationError.UNKNOWN_ERROR.

Supported Platforms

Example

During the summer, and if the browser is set to a DST-enabled timezone, this should display a popup dialog with text similar to dst: true:

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

navigator.globalization.numberToString

Returns a number formatted as a string according to the client's user preferences.

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

Description

Returns the formatted number string to the successCallback with a properties object as a parameter. That object should have a value property with a String value.

If there is an error formatting the number, then the errorCallback executes with a GlobalizationError object as a parameter. The error's expected code is GlobalizationError.FORMATTING_ERROR.

The options parameter is optional, and its default values are:

    {type:'decimal'}

The options.type can be decimal, percent, or currency.

Supported Platforms

Example

When the browser is set to the en_US locale, this displays a popup dialog with text similar to number: 3.142:

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

Windows Quirks

Browser Quirks

navigator.globalization.stringToDate

Parses a date formatted as a string, according to the client's user preferences and calendar using the time zone of the client, and returns the corresponding date object.

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

Description

Returns the date to the success callback with a properties object as a parameter. That object should have the following properties:

The inbound dateString parameter should be of type String.

The options parameter is optional, and defaults to the following values:

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

The options.formatLength can be short, medium, long, or full. The options.selector can be date, time or date and time.

If there is an error parsing the date string, then the errorCallback executes with a GlobalizationError object as a parameter. The error's expected code is GlobalizationError.PARSING_ERROR.

Supported Platforms

Example

When the browser is set to the en_US locale, this displays a popup dialog with text similar to month:8 day:25 year:2012. Note that the month integer is one less than the string, as the month integer represents an array index.

    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 Quirks

Windows Quirks

Browser Quirks

navigator.globalization.stringToNumber

Parses a number formatted as a string according to the client's user preferences and returns the corresponding number.

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

Description

Returns the number to the successCallback with a properties object as a parameter. That object should have a value property with a Number value.

If there is an error parsing the number string, then the errorCallback executes with a GlobalizationError object as a parameter. The error's expected code is GlobalizationError.PARSING_ERROR.

The options parameter is optional, and defaults to the following values:

    {type:'decimal'}

The options.type can be decimal, percent, or currency.

Supported Platforms

Example

When the browser is set to the en_US locale, this should display a popup dialog with text similar to 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 Quirks

Windows Quirks

GlobalizationError

An object representing a error from the Globalization API.

Properties

Description

This object is created and populated by Cordova, and returned to a callback in the case of an error.

Supported Platforms

Example

When the following error callback executes, it displays a popup dialog with the text similar to code: 3 and message:

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