JavaScript でブラウザの言語設定を取得

スポンサーリンク

HTTP_ACCEPT_LANGUAGE をクライアントサイドの JavaScript で取得することはできないので、代わりにブラウザ依存の Javascript コードでブラウザの言語設定を取得します。

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

各ブラウザでの言語設定を取得するコード

こんな感じのコードで取得できます。

私は Firefox 28.0 を使用していますが、window.navigator.language でブラウザの設定言語を取得できました。以下、Firefox 開発ツールのコンソールで試した結果。

ブラウザの言語設定を en-US に変更した後試すと…

ちゃんと取れてます。

日本語だったら ja を返し、それ以外なら en を返すコード

日本語と英語のみに対応した JavaScript のブックマークレットを作りたかったので、ja か en を返すコードを書きました。ブラウザの言語設定が日本語(ja)だったら ja を返し、それ以外だったら en を返すようにします。

substr で頭2文字を取得して判定。

上記 JavaScript で言語設定を取得するコードは、あくまでもブラウザで設定されている最優先のデフォルト言語1個を取得するので、Ruby や PHP などサーバーサイドで取得できる HTTP_ACCEPT_LANGUAGE の値(ブラウザが表示可能な言語一覧)とは値が異なる点には注意が必要です。

スポンサーリンク
オライリーのJavaScritp本(通称サイ本)は、昔かなり読み込みました。
 
スポンサーリンク
  • 2件のコメント
  • mkw

    いつも勉強させていただいています。
    ブラウザ言語によって自動的にページを切り替えるウェブサイトを作っているのですが、そのチェックのために毎回ブラウザの設定変更し直すのが手間で、なにかそうした環境設定を簡単に再現するツールなど使っておられますか?

Leave Your Message!