【问题标题】:How can I change Chrome settings to test using navigator.language如何更改 Chrome 设置以使用 navigator.language 进行测试
【发布时间】:2016-07-04 12:16:26
【问题描述】:

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

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

我可以对浏览器做些什么来强制navigator.language 返回类似es-MX 的内容?

澄清

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

【问题讨论】:

标签: javascript google-chrome internationalization navigator


【解决方案1】:

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

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

【讨论】:

  • 是的,确保您的语言保持在 TOP 上。
  • 我显然点错了,直到一天后才意识到我对你投了反对票。现在它不会让我撤消它。对不起!
【解决方案2】:

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

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

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

例如,西班牙语:

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

验证:

defaults read com.google.Chrome

这是 Chrome 版本 58.0.3029.110 的情况。

【讨论】:

    【解决方案3】:

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

    更改window.navigator.language:

    1. 设置 > 高级 > 语言 > 添加语言
    2. 然后将此语言放在首位

    更改用户界面的语言:

    (感谢上面的@AdamBittlingmayer)

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

    验证:

    defaults read com.google.Chrome
    

    【讨论】:

      【解决方案4】:

      同时,有一个通用的描述如何在 Chrome 中测试语言环境:https://developer.chrome.com/extensions/i18n#locales-testing

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-01-15
        • 1970-01-01
        • 1970-01-01
        • 2011-03-11
        • 1970-01-01
        • 1970-01-01
        • 2020-10-20
        相关资源
        最近更新 更多