我想实现某种机制来自动为我的 Cordova 应用程序选择 UI 语言。该应用程序也可通过网络(即浏览器)提供服务。
据我所知,我可以使用 Cordova 全局化 API 插件 ( here ),或者 Android 和 iOS 似乎都支持提供设备语言的 navigator.language。
有什么理由我应该选择使用 Cordova 插件而不是内置的浏览器/Web View 属性?
谢谢!
最佳答案
在真实设备上进行一系列搜索和测试后,我可以说这两种检索设备语言的方法大致相同,除了两个小差异:
- 在 iOS 设备上,用户可以单独选择设备的语言和区域。因此,例如,它可以选择语言
italian
但区域USA
。在这种情况下,插件将通过navigator.language
属性返回字符串it-US
,这将返回字符串it-IT
(在 iOS 11 上测试过)。如果您只需要知道语言,这不是什么大问题。 - 在 Android 上,有一个 bug因此
navigator.language
不会立即更新。新设置仅在应用程序被终止后可用。该插件不会受到此错误的影响。解决方法是使用已正确更新(已在 Android 5.0.2 上测试)的navigator.languages
属性。
如果您只需要知道语言,您可以毫无问题地使用 navigator
对象提供的信息。
关于javascript - Cordova/Phonegap 全局化与 navigator.language,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41376595/