的语言更改后,API 方法WL.App.getDeviceLanguage()
不会"更新"。
考虑具有以下代码的应用程序:
setInterval(function() {
alert(WL.App.getDeviceLanguage());
}, 2*1000);
如果设备设置为英语,应用程序将正确提醒en
。但是,如果您关闭/暂停应用程序,更改语言,然后返回应用程序,它仍然会提醒en
。要使语言报告为更改的语言,必须取出电池才能完全重新启动设备。
有什么建议吗?对我来说似乎是一个工作灯错误。我正在使用工作灯版本 6。
我还要指出,navigator.language
产生相同的结果,并且blackberry.system.language
在 BB7 上返回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