获取当前的chrome语言环境

Ama*_*mar 14 javascript locale google-chrome

我确定使用此API的浏览器的当前区域设置:

var language = window.navigator.userLanguage || window.navigator.language;
Run Code Online (Sandbox Code Playgroud)

这在IE中返回"fr-FR",但它在Chrome中仅返回"fr"(对于其他语言环境也是如此).

还有另一个API会在chrome中返回"fr-FR"吗?我们依靠它来加载适当的文化文件.

bm_*_*m_i 16

Firefox和Chrome languagesnavigator对象上有一个数组.通常,该数组中的第一个元素是用户选择的语言环境(通常从OS设置继承)

var language;
if (window.navigator.languages) {
    language = window.navigator.languages[0];
} else {
    language = window.navigator.userLanguage || window.navigator.language;
}
Run Code Online (Sandbox Code Playgroud)

navigator.languages对我["en-GB", "en-US", "en"]而言navigator.language = "en-US",chrome中的数组虽然略有不同但很重要

  • 这个问题是关于获取语言环境,而不仅仅是语言。区域设置包含的信息远不止语言(最重要的是日期时间和数字格式设置)。 (3认同)

小智 6

在最新版本的Chrome浏览器中,
它会var language = window.navigator.userLanguage || window.navigator.language;返回'fr-FR'.

如果您仍然面临同样的问题,可以试试 var language = navigator.language;