科尔多瓦/ Phonegap全球化与navigator.language

问题描述:

我想实现一些机制来为我的Cordova应用程序自动选择UI语言。该应用程序也是从网络(即浏览器)提供的。科尔多瓦/ Phonegap全球化与navigator.language

从我所看到的,我可以使用科尔多瓦全球化API插件(here),或者似乎Android和iOS都支持navigator.language,它提供了设备语言。

是否有任何理由我应该选择使用内置浏览器/ Web视图属性的Cordova插件?

谢谢!

+0

从我发现没有任何理由使用插件,而不是'navigator.language'属性 – LuckyStarr

+0

感谢您的评论。你是否在意详细说明?你有没有找到任何具体的资源,或者你正在讨论你的经验?我在问,因为我和他们一起玩,并没有发现重大差异,也许你有... –

一系列在真实设备上的搜索和测试,我可以说,这两种方法来检索设备的语言后都或多或少相同的异常有两个小的差异:

  • 的iOS设备用户可以单独选择设备的语言和区域。例如,它可以选择语言italian,但可以选择为区域USA。在这种情况下,插件将返回字符串it-USnavigator.language属性将返回字符串it-IT(在iOS 11上测试)。如果你必须知道这种语言,这不是一个大问题。
  • 在Android上,有一个bug,因为其中navigator.language不会立即更新。只有在应用程序被终止后,新设置才可用。这个插件不会遭受这个bug。解决方法是使用正确更新(在Android 5.0.2上测试)的navigator.languages属性。

如果您必须知道您使用navigator对象所提供的信息而没有任何问题。