IBM Worklight - WL.App.getDeviceLanguage() API met

2019-01-29 12:12发布

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条回答
可以哭但决不认输i
2楼-- · 2019-01-29 12:39

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.

查看更多
登录 后发表回答