ios localization ibm-mobilefirst

El método de API de IBM Worklight-WL.App.getDeviceLanguage() no devuelve el código de idioma correcto en iOS



localization ibm-mobilefirst (1)

Al usar iOS, la configuración relevante es la de Formato de región.

  1. Creó un nuevo proyecto y aplicación Worklight con los entornos de iPhone y Android
  2. Agregado en wlCommonInit() : alert(WL.App.getDeviceLanguage());
  3. Build All y Deploy, inicie en el dispositivo

En iOS
Hay dos configuraciones relacionadas con el lenguaje:

  1. Settings.app >> General >> International >> Region Format

    Actualmente tengo Hebrew (Israel) seleccionado.
    Al iniciar la aplicación, me muestra una alerta con he .

    Cambiar a Gusii (Kenya) y relanzar la aplicación me muestra gu , y así sucesivamente para otros formatos de región.

  2. Settings.app >> General >> International >> Language

    Los cambios realizados aquí no tendrán efecto.


En Android
Solo hay una configuración relacionada con el lenguaje:

  1. Settings >> Language and input

    Actualmente tengo seleccionado עברית (hebreo).
    Al iniciar la aplicación, se muestra una alerta con iw .

    Cambiando a English (United States) y relanzando la aplicación me muestra en , y así sucesivamente para otros idiomas.

En iOS, a pesar de cambiar la configuración de idioma, WL.App.getDeviceLanguage () siempre devuelve en .
Probado en iPhone 5, iPad 4 y varios emuladores.

Si use navigator.globalization.getPreferredLanguage podría detectar el idioma correctamente en iOS. Pero la aplicación parece no saber que está en otro idioma, como el francés, por lo que la cadena local del nombre de la aplicación todavía está en inglés, incluso hay otro idioma disponible.