Cordova / Phonegap 全球化对比 navigator.language

Cordova / Phonegap Globalization vs. navigator.language

我想实施某种机制来为我的 Cordova 应用程序自动选择 UI 语言。该应用程序也可通过网络(即浏览器)提供服务。

据我所知,我可以使用 Cordova 全球化 API 插件 (here),或者 Android 和 iOS 似乎都支持 navigator.language 给出设备语言。

有什么理由我应该选择使用 Cordova 插件而不是内置 browser/Web 视图 属性?

谢谢!

在真实设备上进行一系列搜索和测试后,我可以说这两种检索设备语言的方法大致相同,除了两个小差异:

  • iOS 设备上,用户可以分别选择ose 语言和设备区域。因此,例如,它可以选择 ose 作为语言 italian 但作为地区 USA。在这种情况下,插件将 return 字符串 it-USnavigator.language 属性 不同,后者将 return 字符串 it-IT (在 iOS 11).如果你只需要知道语言,这不是什么大问题。
  • 在 Android 上,有一个 bug,因此 navigator.language 不会立即更新。新设置仅在应用程序被终止后可用。该插件不会遭受 os 这个错误。解决方法是使用正确更新的 navigator.languages 属性(在 Android 5.0.2 上测试)。

如果您只需要知道语言,您可以毫无问题地使用 navigator 对象提供的信息。