我正在尝试国际化一个应用程序,需要测试它在其他语言环境中的行为。但是,navigator.language总是返回en-US,即使我在Chrome和OS X中更改了语言设置。我可以对浏览器做什么来强制navigator.language返回类似es-MX的内容?
navigator.language
en-US
es-MX
说明
我试图通过GUI,而不是代码,以用户的身份进行更改。
wmomyfyw1#
使用chrome://settings/languages#lang并(重要)确保您选择的语言是top选项(首选语言)。更多信息:https://alicoding.com/detect-browser-language-preference-in-firefox-and-chrome-using-javascript/
uqxowvwt2#
在MacOS上,Chrome UI语言(window.navigator.language)不能通过chrome://settings/languages设置,甚至不能通过--lang命令行参数(如Windows)或环境变量(如Linux)设置。浏览器接受语言(window.navigator.languages数组,注意最后的 s)可以通过chrome://settings/languages设置,因此可以通过ChromeDriver选项设置。因此,除了为操作系统用户手动更改系统语言之外,剩下的唯一选项就是-AppleLanguages标志。例如,西班牙语:
window.navigator.language
--lang
window.navigator.languages
-AppleLanguages
defaults write com.google.Chrome AppleLanguages '(es, es-ES)'
字符串验证:
defaults read com.google.Chrome
型这是Chrome build 58.0.3029.110的情况。
koaltpgm3#
截至2021年9月,在Mac(M1)上:
1.设置>高级>语言>添加语言1.然后把这门语言带到最高层
(感谢@AdamBittlingmayer)
型
cbjzeqam4#
使用Google Chrome上的Sensors(如下所示),您可以测试navigator.language在其他语言环境中的行为。* 你可以看到我的答案详细解释传感器。
的数据
4条答案
按热度按时间wmomyfyw1#
使用chrome://settings/languages#lang并(重要)确保您选择的语言是top选项(首选语言)。
更多信息:https://alicoding.com/detect-browser-language-preference-in-firefox-and-chrome-using-javascript/
uqxowvwt2#
在MacOS上,Chrome UI语言(
window.navigator.language
)不能通过chrome://settings/languages设置,甚至不能通过--lang
命令行参数(如Windows)或环境变量(如Linux)设置。浏览器接受语言(
window.navigator.languages
数组,注意最后的 s)可以通过chrome://settings/languages设置,因此可以通过ChromeDriver选项设置。因此,除了为操作系统用户手动更改系统语言之外,剩下的唯一选项就是
-AppleLanguages
标志。例如,西班牙语:
字符串
验证:
型
这是Chrome build 58.0.3029.110的情况。
koaltpgm3#
截至2021年9月,在Mac(M1)上:
修改
window.navigator.language
:1.设置>高级>语言>添加语言
1.然后把这门语言带到最高层
更改用户界面语言:
(感谢@AdamBittlingmayer)
字符串
验证:
型
cbjzeqam4#
使用Google Chrome上的Sensors(如下所示),您可以测试navigator.language在其他语言环境中的行为。* 你可以看到我的答案详细解释传感器。
的数据