javascript - Cordova/Phonegap 全局化与 navigator.language

标签 javascript android ios cordova globalization

我想实现某种机制来自动为我的 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/

相关文章:

android - 有没有针对印度的支付网关?

ios - 添加 subview 后 UITableViewCell 高度不会更新

ios - 在 Debug模式下,如何查看 UITextField 的文本属性?

javascript - jQuery 在 .load() 调用后通过 ID 访问元素

javascript - 使用控件拖动和单击对象

android - 如何在 ListView 中传递带有项目的标识符?

ios - iOS 的 BLE 支持

javascript - Safari 报告 "Unexpected token ' const' “当我打开我的 React 应用程序时

javascript - 只有一篇文章时 AnythingSlider 出现问题

android - CSS3 菜单不会在 Android 上的 webview 中切换