I'm trying to internationalize an app and need to test how it behaves in other locales.
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
I'm trying to make the change as a user, through the GUI, not with code.
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
For example, to Spanish:
defaults write com.google.Chrome AppleLanguages '(es, es-ES)'
defaults read com.google.Chrome
This is the situation as of Chrome build 58.0.3029.110.
Use chrome://settings/languages#lang and (important) make sure that the language you selected is the top choice (the preferred language).
In the meantime, there is a generic description how to test locales in Chrome: https://developer.chrome.com/extensions/i18n#locales-testing
©2020 All rights reserved.