アプリを国際化しようとしていますが、他のロケールでどのように動作するかをテストする必要があります。
ただし、ChromeとOSXの両方で言語設定を変更した場合でも、navigator.language
は常にen-US
を返します。
navigator.language
にes-MX
のようなものを返すように強制するためにブラウザに何ができますか?
説明
コードではなく、GUIを使用してユーザーとして変更を加えようとしています。
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ビルド58.0.3029.110の時点での状況です。
Chrome:// settings/languages#langを使用し、(重要)選択した言語がtopの選択肢(優先言語)であることを確認します。
詳細: https://alicoding.com/detect-browser-language-preference-in-firefox-and-chrome-using-javascript/