在 chrome 中检索浏览器语言

Not*_*ple 4 javascript google-chrome

我一直在尝试让 momentjs 正确检测浏览器语言并本地化时间显示。(根据使用 Moment.js 的区域设置检测

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

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

在此处输入图片说明

我猜要么是我的 chrome 设置错误(鉴于navigator.languages.

我应该使用其他方法来获取除 之外的语言window.navigator.userLanguage || window.navigator.language吗?

Leo*_*ler 5

W3C草案规定:

  • navigator.language是用户的“首选语言”或“似是而非的语言”。这不一定与navigator.languages[0].
  • navigator.languages列出“用户的首选语言,最喜欢的语言在前”。预计与Accept-Language标头具有相同的值。

从在 VM 中快速试验的外观来看,navigator.languages[0]会产生最准确的结果,navigator.language即操作系统的语言。

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

由于这仍然是一个草案,你得到的结果可能会随着实施而改变。