如何更改 Chrome 设置以使用 navigator.language 进行测试

How can I change Chrome settings to test using navigator.language

我正在尝试使应用程序国际化,需要测试它在其他语言环境中的表现。

但是,navigator.language 总是 returns en-US,即使我更改了 Chrome 和 OS X 中的语言设置。

我可以对浏览器做些什么来强制 navigator.language 到 return 类似 es-MX 的东西?

澄清

我正在尝试以用户身份通过​​ GUI 进行更改,而不是使用代码。

使用 chrome://settings/languages#lang 并且(重要)确保您选择的语言是 top 选择(首选语言) .

更多信息:https://alicoding.com/detect-browser-language-preference-in-firefox-and-chrome-using-javascript/

在 MacOS 上,Chrome UI 语言 (window.navigator.language) 无法通过 chrome://settings/languages 甚至无法设置通过 --lang 命令行参数(如 Windows)或环境变量(如 Linux)。

浏览器接受语言(window.navigator.languages数组,注意最后的s)可以通过chrome://settings/languages设置,因此通过 Chrome驱动程序选项。

因此,除了为OS用户手动更改系统语言外,唯一剩下的选项就是-AppleLanguages标志。

例如,西班牙语:

defaults write com.google.Chrome AppleLanguages '(es, es-ES)'

验证:

defaults read com.google.Chrome

这是 Chrome build 58.0.3029.110 的情况。

同时,在 Chrome 中有关于如何测试语言环境的通用说明:https://developer.chrome.com/extensions/i18n#locales-testing

截至 2021 年 9 月,Mac (M1):

要更改window.navigator.language

  1. 设置 > 高级 > 语言 > 添加语言
  2. 然后将此语言置顶

要更改用户界面的语言:

(感谢上面的@AdamBittlingmayer)

defaults write com.google.Chrome AppleLanguages '(es, es-ES)'

验证:

defaults read com.google.Chrome