Cordova / Phonegap 全球化与 navigator.language

Tom*_*gan 5 javascript globalization android ios cordova

我想实现一些机制来为我的 Cordova 应用程序自动选择 UI 语言。该应用程序也从网络(即浏览器)提供服务。

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

我有什么理由应该选择在内置浏览器/Web 视图属性上使用 Cordova 插件?

谢谢!

Luc*_*arr 3

经过在真实设备上的一系列搜索和测试后,我可以说,除了两个小差异之外,检索设备语言的两种方法或多或少是相同的:

\n\n
    \n
  • iOS设备上,用户可以单独选择设备的语言和区域。因此,例如,它可以选择作为语言italian,但作为区域USA。在这种情况下,插件将根据返回字符串的属性it-US以不同的方式navigator.language返回字符串it-IT(在 iOS 11 上测试)。如果您只需要了解语言,那么这\xe2\x80\x99t 不是一个大问题。
  • \n
  • 在 Android 上,存在一个错误,因此navigator.language不会立即更新。新设置仅在应用程序被终止后才可用。该插件不会遭受此错误。解决方法可能是使用navigator.languages正确更新的属性(在 Android 5.0.2 上测试)。
  • \n
\n\n

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

\n