IBM Worklight - WL.App.getDeviceLanguage() API method does not return correct language code in iOS

我怕爱的太早我们不能终老 提交于 2019-12-03 18:18:13

问题


In iOS, despite changing the language settings WL.App.getDeviceLanguage() always returns en.
Tested on iPhone 5, iPad 4 and several emulators.

If use navigator.globalization.getPreferredLanguage could detect language correctly in iOS. But the application seems not know it is under other language such as French so application name local string is still in English even other language is available.


回答1:


When using iOS, the relevant setting is that of Region Format.


  1. Created a new Worklight project and application with the iPhone and Android environments
  2. Added in wlCommonInit(): alert(WL.App.getDeviceLanguage());
  3. Build All and Deploy, launch in device

In iOS
There are two settings related to language:

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

    I currently have Hebrew (Israel) selected.
    Launching the app shows me an alert with he.

    Changing to Gusii (Kenya) and re-launching the app then shows me gu, and so on for other region formats.

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

    Changes done here will take no effect.


In Android
There is only one setting related to language:

  1. Settings >> Language and input

    I currently have עברית (Hebrew) selected.
    Launching the app shows me an alert with iw.

    Changing to English (United States) and re-launching the app then shows me en, and so on for other languages.



来源:https://stackoverflow.com/questions/17764511/ibm-worklight-wl-app-getdevicelanguage-api-method-does-not-return-correct-la

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!