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

Max*_*ber 10 javascript google-chrome internationalization navigator

我正在尝试将应用程序国际化,并且需要测试它在其他语言环境中的行为方式.

但是,即使我在Chrome和OS X中更改了语言设置,也navigator.language始终会返回en-US.

我可以对浏览器做什么强制navigator.language返回类似的东西es-MX

澄清

我试图通过GUI,而不是代码,以用户身份进行更改.

小智 14

使用Chrome://设置/语言#郎(重要),确保你选择的语言是顶级的选择(首选的语言).

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


Ada*_*yer 9

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

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

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

例如,西班牙语:

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

核实:

defaults read com.google.Chrome

这是Chrome build 58.0.3029.110的情况.


and*_*ndy 4

自 2021 年 9 月起,在 Mac (M1) 上:

改变window.navigator.language

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

要更改用户界面的语言:

(感谢上面的@AdamBitttingmayer)

defaults write com.google.Chrome AppleLanguages '(es, es-ES)'
Run Code Online (Sandbox Code Playgroud)

核实:

defaults read com.google.Chrome
Run Code Online (Sandbox Code Playgroud)