IBM Worklight 6.0 - 无法检测 BlackBerry 7 中更改的语言


设备上

的语言更改后,API 方法WL.App.getDeviceLanguage()不会"更新"。

考虑具有以下代码的应用程序:

setInterval(function() {
    alert(WL.App.getDeviceLanguage());
}, 2*1000);

如果设备设置为英语,应用程序将正确提醒en。但是,如果您关闭/暂停应用程序,更改语言,然后返回应用程序,它仍然会提醒en。要使语言报告为更改的语言,必须取出电池才能完全重新启动设备

有什么建议吗?对我来说似乎是一个工作灯错误。我正在使用工作灯版本 6。

我还要指出,navigator.language产生相同的结果,并且blackberry.system.languageBB7 上返回undefined

尝试改用WL.App.getDeviceLocale()

此外,Worklight 6.0.0.x 使用 Cordova 2.6。然后,尝试使用 Cordova 全球化 API 集。具体来说,getPreferredLanguage方法。

最后,WebWorks API 中还有 System 对象。请参阅以下来自 BlackBerry 的学习示例:

  • 识别系统语言更改 演示如何使用设备区域和语言更改的示例(链接到 GitHub)(可能是特定于 BB10 的,请尝试)

我还被告知,对于BB7,需要以下扩展名:

  • https://github.com/blackberry/WebWorks-Community-APIs/tree/master/Smartphone/Locale

最新更新