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

I'm trying to internationalize an app and need to test how it behaves in other locales.

However, navigator.language always returns en-US, even if I change language settings in both Chrome and OS X.

What can I do to the browser to force navigator.language to return something like es-MX?

Clarification

I'm trying to make the change as a user, through the GUI, not with code.

Answers:

Answer

On MacOS, the Chrome UI language (window.navigator.language) cannot be set via chrome://settings/languages or even via the --lang command line argument (like on Windows) or environment variables (like on Linux).

The browser accept languages (window.navigator.languages array, note the final s) can be set via chrome://settings/languages and thus via ChromeDriver options.

Therefore, besides manually changing the system language for the OS user, the only option remaining is the -AppleLanguages flag.

For example, to Spanish:

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

To verify:

defaults read com.google.Chrome

This is the situation as of Chrome build 58.0.3029.110.

Answer

Use chrome://settings/languages#lang and (important) make sure that the language you selected is the top choice (the preferred language).

More information: https://alicoding.com/detect-browser-language-preference-in-firefox-and-chrome-using-javascript/

Answer

In the meantime, there is a generic description how to test locales in Chrome: https://developer.chrome.com/extensions/i18n#locales-testing

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.