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.
- Creó un nuevo proyecto y aplicación Worklight con los entornos de iPhone y Android
- Agregado en
wlCommonInit()
:alert(WL.App.getDeviceLanguage());
- Build All y Deploy, inicie en el dispositivo
En iOS
Hay dos configuraciones relacionadas con el lenguaje:
Settings.app >> General >> International >> Region Format
Actualmente tengo
Hebrew (Israel)
seleccionado.
Al iniciar la aplicación, me muestra una alerta conhe
.Cambiar a
Gusii (Kenya)
y relanzar la aplicación me muestragu
, y así sucesivamente para otros formatos de región.Settings.app >> General >> International >> Language
Los cambios realizados aquí no tendrán efecto.
En Android
Solo hay una configuración relacionada con el lenguaje:
Settings >> Language and input
Actualmente tengo seleccionado
עברית
(hebreo).
Al iniciar la aplicación, se muestra una alerta coniw
.Cambiando a
English (United States)
y relanzando la aplicación me muestraen
, 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.