web-dev-qa-db-ja.com

navigator.languageを使用してテストするためにChrome設定を変更するにはどうすればよいですか?

アプリを国際化しようとしていますが、他のロケールでどのように動作するかをテストする必要があります。

ただし、ChromeとOSXの両方で言語設定を変更した場合でも、navigator.languageは常にen-USを返します。

navigator.languagees-MXのようなものを返すように強制するためにブラウザに何ができますか?

説明

コードではなく、GUIを使用してユーザーとして変更を加えようとしています。

11
Max Heiber

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の時点での状況です。

11

Chrome:// settings/languages#langを使用し、(重要)選択した言語がtopの選択肢(優先言語)であることを確認します。

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

16
Tracysss