org.apache.cordova.globalization

Este plugin obtiene información y realiza operaciones específicas de la configuración regional del usuario, idioma y zona horaria. Tenga en cuenta la diferencia entre la configuración regional e idioma: controles locale como números, fechas y tiempos se muestran para una región, mientras que el lenguaje determina qué texto aparece como, independientemente de la configuración local. A menudo los desarrolladores utilizan locale para fijar ambos ajustes, pero no hay razón que el usuario no pudo establecer su idioma a “Inglés” locale “Francés”, para que se muestre el texto en inglés, pero las fechas, tiempos, etc., se muestran como son en Francia. Desafortunadamente, las plataformas móviles más actualmente no hacen una distinción entre estos ajustes.

Instalación

cordova plugin add org.apache.cordova.globalization

Objetos

  • GlobalizationError

Métodos

  • 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

Busque la etiqueta de idioma BCP 47 el idioma actual del cliente.

navigator.globalization.getPreferredLanguage(successCallback, errorCallback);

Descripción

Devuelve la etiqueta de identificador de idioma compatible con BCP-47 a la successCallback con un properties objeto como parámetro. Ese objeto debe tener una value de propiedad con un valor de String.

Si hay un error al obtener el idioma, entonces el errorCallback ejecuta con un objeto GlobalizationError como un parámetro. Código esperado del error esGlobalizationError.UNKNOWN_ERROR.

Plataformas soportadas

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

Ejemplo

Cuando el navegador está configurado la en-US lengua, ésta debe mostrar un cuadro de diálogo emergente con el texto language: en-US :

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

Rarezas Android

  • Devuelve el código de idioma de dos letras 639-1 ISO, mayúsculas código ISO 3166-1 y la variante separada por guiones. Ejemplos: “at”, “en-US”, “US”

Windows Phone 8 rarezas

  • Código de idioma devuelve el ISO 639-1 dos letras y código de la ISO 3166-1 de la variante regional correspondiente a la “lengua” ajuste, separados por un guión.
  • Tenga en cuenta que la variante regional es una característica de la configuración del “Idioma” y no determinado por el ajuste de “País o región” sin relación en Windows Phone.

navigator.globalization.getLocaleName

Devuelve la etiqueta compatible con BCP 47 para la configuración regional actual del cliente.

navigator.globalization.getLocaleName(successCallback, errorCallback);

Descripción

Devuelve el identificador BCP 47 local conforme a la successCallback con un properties objeto como parámetro. Ese objeto debe tener una value de propiedad con un valor de String. La etiqueta de configuración regional consistirá en un código de idioma de dos letras minúsculas, código de país de dos letras mayúsculas y códigos de la variante (no especificados), separados por un guión.

Si hay un error al obtener la configuración regional, entonces el errorCallback ejecuta con un objeto GlobalizationError como un parámetro. Código esperado del error esGlobalizationError.UNKNOWN_ERROR.

Plataformas soportadas

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

Ejemplo

Cuando el navegador se establece en el en-US local, muestra un cuadro de diálogo emergente con el textolocale: en-US.

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

Rarezas Android

  • Java no distingue entre un conjunto “idioma” y establecer “locale”, así que este método es esencialmente el mismo quenavigator.globalizatin.getPreferredLanguage().

Windows Phone 8 rarezas

  • Código de idioma devuelve el ISO 639-1 dos letras y código de la ISO 3166-1 de la variante regional correspondiente a la posición “Formato Regional”, separada por un guión.

navigator.globalization.dateToString

Devuelve una fecha con formato como una cadena según la configuración regional del cliente y zona horaria.

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

Descripción

Devuelve la fecha con formato String mediante una propiedad de value accesible desde el objeto pasado como parámetro a la successCallback.

El parámetro entrantes date debe ser de tipo Date.

Si hay un error de formato de la fecha, entonces el errorCallback ejecuta con un objeto GlobalizationError como un parámetro. Código esperado del error esGlobalizationError.FORMATTING_ERROR.

El parámetro options es opcional, y sus valores por defecto son:

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

El options.formatLength puede ser de short, medium, long o full.

El options.selector puede ser la date, la time o la date and time.

Plataformas soportadas

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

Ejemplo

Si el navegador está configurado la en_US local, muestra un cuadro de diálogo emergente con texto similar a date: 9/25/2012 4:21PM utilizando las opciones predeterminadas:

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

Windows Phone 8 rarezas

  • La opción formatLength admite valores sólo short y full.

Firefox OS rarezas

  • formatLengthNo es distinguir long yfull
  • Sólo un método de visualización de fecha (no long o full versión)

navigator.globalization.getCurrencyPattern

Devuelve una cadena de patrón para analizar los valores de divisas según las preferencias del usuario y código de moneda ISO 4217 del cliente y el formato.

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

Descripción

Devuelve el patrón a la successCallback con un objeto de properties como un parámetro. Ese objeto debe contener las siguientes propiedades:

  • pattern: el patrón de la moneda para analizar los valores de la moneda y el formato. Los patrones siguen Unicode técnica estándar #35. (String)

  • code: código de divisa de la ISO 4217 para el patrón. (String)

  • fraction: el número de dígitos fraccionarios a utilizar al análisis y el formato de números. (Número)

  • rounding: el redondeo incrementar para usar cuando el análisis sintáctico y formato. (Número)

  • decimal: el símbolo decimal a usar para parsear y formato. (String)

  • grouping: el símbolo de la agrupación para analizar y dar formato. (String)

El parámetro entrantes currencyCode debe ser una String de uno de los códigos de moneda ISO 4217, por ejemplo ‘USD’.

Si hay un error obteniendo el patrón, entonces el errorCallback ejecuta con un objeto GlobalizationError como un parámetro. Código esperado del error esGlobalizationError.FORMATTING_ERROR.

Plataformas soportadas

  • Amazon fire OS
  • Android
  • BlackBerry 10
  • iOS

Ejemplo

Cuando el navegador está configurado la en_US local y la moneda seleccionada dólares de Estados Unidos, este ejemplo muestra un cuadro de diálogo emergente con texto similar a los resultados que siguen:

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

Resultado esperado:

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

navigator.globalization.getDateNames

Devuelve una matriz de los nombres de los meses o días de la semana, dependiendo de las preferencias del usuario y calendario del cliente.

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

Descripción

Devuelve la matriz de nombres a la successCallback con un objeto de properties como un parámetro. Ese objeto contiene una propiedad de value con una Array de valores de String. Los nombres de funciones de matriz a partir de ya sea el primer mes en el año o el primer día de la semana, dependiendo de la opción seleccionada.

Si hay un error en la obtención de los nombres, entonces el errorCallback ejecuta con un objeto GlobalizationError como un parámetro. Código esperado del error esGlobalizationError.UNKNOWN_ERROR.

El parámetro options es opcional, y sus valores por defecto son:

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

El valor de options.type puede ser narrow o wide.

El valor de options.item puede ser months o days.

Plataformas soportadas

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

Ejemplo

Cuando el navegador se establece en el en_US local, este ejemplo muestra una serie de doce diálogos emergente, uno por mes, con un texto similar a 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 rarezas

  • options.typeapoya un genitive valor, importante para algunos idiomas

navigator.globalization.getDatePattern

Devuelve una cadena de patrón para analizar las fechas según las preferencias del usuario del cliente y el formato.

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

Descripción

Devuelve el patrón a la successCallback. El objeto se pasa como parámetro contiene las siguientes propiedades:

  • pattern: el patrón para analizar las fechas y el formato de fecha y hora. Los patrones siguen Unicode técnica estándar #35. (String)

  • timezone: el nombre abreviado de la zona horaria en el cliente. (String)

  • utc_offset: la actual diferencia de segundos entre la zona horaria del cliente y el tiempo universal coordinado. (Número)

  • dst_offset: el desplazamiento horario actual en segundos entre no-horario del cliente de huso horario y día del cliente ahorro de zona horaria. (Número)

Si hay un error obteniendo el patrón, el errorCallback se ejecuta con un objeto GlobalizationError como un parámetro. Código esperado del error esGlobalizationError.PATTERN_ERROR.

El parámetro options es opcional y por defecto para los siguientes valores:

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

El options.formatLength puede ser de short, medium, long o full. El options.selector puede ser la date, la time o la date and time.

Plataformas soportadas

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

Ejemplo

Cuando el navegador se establece en el en_US local, este ejemplo muestra un cuadro de diálogo emergente con el texto como 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 rarezas

  • El formatLength apoya valores sólo short y full.

  • El pattern para el patrón de date and time devuelve sólo datetime completo formato.

  • La timezone devuelve el nombre de la zona de tiempo completo.

  • La propiedad dst_offset no es compatible y siempre devuelve cero.

navigator.globalization.getFirstDayOfWeek

Devuelve el primer día de la semana según las preferencias del usuario y calendario del cliente.

navigator.globalization.getFirstDayOfWeek(successCallback, errorCallback);

Descripción

Los días de la semana están contados a partir de la 1, donde 1 se supone que es el domingo. Devuelve el día de la successCallback con un objeto de properties como un parámetro. Ese objeto debe tener una value de propiedad con un valor de Number.

Si hay un error obteniendo el patrón, entonces el errorCallback ejecuta con un objeto GlobalizationError como un parámetro. Código esperado del error esGlobalizationError.UNKNOWN_ERROR.

Plataformas soportadas

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

Ejemplo

Cuando el navegador se establece en el en_US local, muestra un cuadro de diálogo emergente con texto similar aday: 1.

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

navigator.globalization.getNumberPattern

Devuelve una cadena de patrón para analizar números según las preferencias del usuario del cliente y el formato.

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

Descripción

Devuelve el patrón a la successCallback con un objeto de properties como un parámetro. Ese objeto contiene las siguientes propiedades:

  • pattern: el patrón del número a analizar números y el formato. Los patrones siguen Unicode técnica estándar #35. (String)

  • symbol: el símbolo a utilizar cuando formateo y análisis, como un símbolo por ciento o moneda. (String)

  • fraction: el número de dígitos fraccionarios a utilizar al análisis y el formato de números. (Número)

  • rounding: el redondeo incrementar para usar cuando el análisis sintáctico y formato. (Número)

  • positive: el símbolo para números positivos cuando parseo y formato. (String)

  • negative: el símbolo para números negativos al análisis sintáctico y formato. (String)

  • decimal: el símbolo decimal a usar para parsear y formato. (String)

  • grouping: el símbolo de la agrupación para analizar y dar formato. (String)

Si hay un error obteniendo el patrón, entonces el errorCallback ejecuta con un objeto GlobalizationError como un parámetro. Código esperado del error esGlobalizationError.PATTERN_ERROR.

El parámetro options es opcional, y los valores por defecto son:

{type:'decimal'}

El options.type puede ser decimal, percent o currency.

Plataformas soportadas

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

Ejemplo

Cuando el navegador está configurado el en_US locale, esto debería mostrar un cuadro de diálogo emergente con texto similar a los resultados que siguen:

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

Resultados:

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

Windows Phone 8 rarezas

  • No se admite la propiedad del pattern y retuens una cadena vacía.

  • La fraction de propiedad no es compatible y devuelve cero.

navigator.globalization.isDayLightSavingsTime

Indica si el horario de verano es en efecto para una fecha determinada usando la zona horaria y el calendario del cliente.

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

Descripción

Indica o no horario de verano es en efecto el successCallback con un objeto de properties como un parámetro. Ese objeto debe tener una propiedad con un valor Boolean de dst. Un valor true indica que el horario de verano está en efecto para la fecha dada, y false indica que no es.

El parámetro entrantes date debe ser de tipo Date.

Si hay un error de lectura de la fecha, entonces el errorCallback se ejecuta. Código esperado del error esGlobalizationError.UNKNOWN_ERROR.

Plataformas soportadas

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

Ejemplo

Durante el verano, y si el navegador está configurado para una zona horaria DST habilitado, esto debe mostrar un cuadro de diálogo emergente con texto similar a dst: true:

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

navigator.globalization.numberToString

Devuelve un número con formato como una cadena según las preferencias del usuario del cliente.

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

Descripción

Devuelve la cadena con formato de número a la successCallback con un objeto de properties como un parámetro. Ese objeto debe tener una value de propiedad con un valor de String.

Si hay un error de formato del número, entonces el errorCallback ejecuta con un objeto GlobalizationError como un parámetro. Código esperado del error esGlobalizationError.FORMATTING_ERROR.

El parámetro options es opcional, y sus valores por defecto son:

{type:'decimal'}

El options.type puede ser ‘decimal’, ‘percent’ o ‘currency’.

Plataformas soportadas

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

Ejemplo

Cuando el navegador se establece en el en_US local, muestra un cuadro de diálogo emergente con texto similar a number: 3.142 :

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

navigator.globalization.stringToDate

Analiza una fecha con formato como una cadena, según las preferencias del usuario y calendario usando la zona horaria del cliente, el cliente y devuelve el objeto correspondiente fecha.

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

Descripción

Devuelve la fecha para la devolución de llamada de éxito con un objeto de properties como un parámetro. Ese objeto debe tener las siguientes propiedades:

  • year: el año de cuatro dígitos. (Número)

  • mes: mes de (0-11). (Número)

  • día: el día de (1-31). (Número)

  • hora: la hora de (0-23). (Número)

  • minuto: el minuto de (0-59). (Número)

  • segundo: el segundo de (0-59). (Número)

  • milisegundo: los milisegundos (de 0-999), no está disponibles en todas las plataformas. (Número)

El parámetro entrantes dateString debe ser de tipo String.

El parámetro options es opcional y por defecto para los siguientes valores:

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

El options.formatLength puede ser de short, medium, long o full. El options.selector puede ser la date, la time o la date and time.

Si hay un error al analizar la cadena de fecha, entonces el errorCallback ejecuta con un objeto GlobalizationError como un parámetro. Código esperado del error esGlobalizationError.PARSING_ERROR.

Plataformas soportadas

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

Ejemplo

Cuando el navegador se establece en el en_US local, muestra un cuadro de diálogo emergente con texto similar a month:8 day:25 year:2012 . Tenga en cuenta que el mes entero es uno menos de la cadena, como el entero mes representa un índice de matriz.

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 rarezas

  • La opción formatLength admite valores sólo short y full.

navigator.globalization.stringToNumber

Analiza un número con formato como una cadena según las preferencias del usuario del cliente y devuelve el número correspondiente.

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

Descripción

Devuelve el número de la successCallback con un objeto de properties como un parámetro. Ese objeto debe tener una value de propiedad con un valor de Number.

Si hay un error al analizar la cadena número, entonces el errorCallback ejecuta con un objeto GlobalizationError como un parámetro. Código esperado del error esGlobalizationError.PARSING_ERROR.

El parámetro options es opcional y por defecto para los siguientes valores:

{type:'decimal'}

El options.type puede ser decimal, percent o currency.

Plataformas soportadas

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

Ejemplo

Cuando el navegador está configurado el en_US locale, esto debería mostrar un cuadro de diálogo emergente con texto similar a number: 1234.56 :

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

GlobalizationError

Un objeto que representa un error de la API de la globalización.

Propiedades

  • code: Uno de los siguientes códigos que representa el tipo de error (Número)
    • GlobalizationError.UNKNOWN_ERROR: 0
    • GlobalizationError.FORMATTING_ERROR: 1
    • GlobalizationError.PARSING_ERROR: 2
    • GlobalizationError.PATTERN_ERROR: 3
  • mensaje: un mensaje de texto que incluye la explicación de los errores o detalles (String)

Descripción

Este objeto es creado y poblada por Córdoba y regresó a una devolución de llamada en caso de error.

Plataformas soportadas

  • Amazon fire OS
  • Android
  • BlackBerry 10
  • Firefox OS
  • iOS

Ejemplo

Cuando se ejecuta el callback de error siguiente, se muestra un cuadro de diálogo emergente con el texto similar a code: 3 ymessage:

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