我一直在尝试让momentjs正确检测浏览器语言并本地化时间显示。(参见Moment.js的本地化检测)
但是我在获取chrome的正确区域设置时遇到了一些麻烦。
看起来chrome已经在navigator.languages
中配置了我的浏览器的正确语言列表,但navigator.language
返回的完全不同。
我一直在尝试让momentjs正确检测浏览器语言并本地化时间显示。(参见Moment.js的本地化检测)
但是我在获取chrome的正确区域设置时遇到了一些麻烦。
看起来chrome已经在navigator.languages
中配置了我的浏览器的正确语言列表,但navigator.language
返回的完全不同。
W3C草案指出:
navigator.language
是用户的“首选语言”或“可能的语言”。这不一定与navigator.languages[0]
相同。navigator.languages
列出了“用户首选语言,最优先的语言排在第一位”。它应该与Accept-Language
头具有相同的值。根据在VM中快速实验的结果,navigator.languages[0]
可以得到最准确的结果,而navigator.language
是操作系统的语言。
看起来你获取的"en-GB"
是指用户的语言,而"en-NZ"
则是指用户的本地设置(数字和日期/时间格式)。
由于这仍然是草稿,因此您得到的结果可能会随着实施而发生变化。
Accept-Language:en-NZ,en;q=0.8
。 - undefined