在chrome中检索浏览器语言

时间:2015-10-18 22:56:32

标签: javascript google-chrome

我一直试图让momentjs正确检测浏览器语言并本地化时间显示。 (根据Locale detection with Moment.js

但是我在使用chrome获取正确的语言环境时遇到了一些麻烦。

Chrome似乎在navigator.languages中为我的浏览器配置了正确的语言列表,但navigator.language正在返回完全不同的内容。

enter image description here

我猜我的Chrome设置错误(假设navigator.languages中的语言不正确,或者选择浏览器语言的方法不正确?)

我应该采用不同的方式来获取window.navigator.userLanguage || window.navigator.language以外的语言吗?

1 个答案:

答案 0 :(得分:4)

W3C draft表示:

  • navigator.language是用户"首选语言"或"plausible language"。这不一定与navigator.languages[0]相同。
  • navigator.languages列出了"用户的首选语言,首选语言为#34;。它应与Accept-Language标题具有相同的值。

通过快速在VM中进行实验,navigator.languages[0]可以获得最准确的结果,navigator.language是操作系统的语言。

您的"en-GB"看起来好像是指用户的语言,而"en-NZ"是指用户区域设置 (数字和日期/时间格式)。

由于这仍然是草稿,因此您获得的结果可能会随着实施而改变。