【问题标题】:Cordova / Phonegap Globalization vs. navigator.languageCordova / Phonegap 全球化与 navigator.language
【发布时间】:2016-12-29 09:20:14
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

  • 据我发现没有任何理由使用插件而不是 navigator.language 属性
  • 感谢您的评论。你介意详细说明吗?您是否找到任何特定资源,或者您正在讨论您与两者的经验?我问是因为我和他们一起玩过,但没有发现重大差异,也许你有......

标签: javascript android ios cordova globalization


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多