HTTP_ACCEPT_LANGUAGE

 HTTP_ACCEPT_LANGUAGEは、ブラウザーが表示可能な言語の一覧を表します。皆さんは、日本人の方がほとんどかと思いますので、お使いのブラウザーは、HTTP_ACCEPT_LANGAGE に「ja」を入れて送ってきます。ただし、ブラウザーの表示可能言語が複数設定されている場合には、それぞれカンマ区切りとなります。

Webのアクセス解析で、アクセス元の国のランキングを表示しますが、これは主に、HTTP_ROMOTE_HOSTもしくはHTTP_REMOTE_ADDRからTLD(Top Level Domain)を見て判別しているものが多いようです。しかし、実際には、TLDからアクセス元の国を推定することはできません。たとえば、日本国内の法人で、「.com」を使っているところは多々あります。

そこで、Webブラウザーが表示可能な言語を見ることによって、何処の国の人が見ているのかを推定することはできます。正確にはどの言語を主言語として使っている人が見にきたかを推定することができます。(これでも目安程度ですが)

さて、Perlスクリプトで、$ENV{'HTTP_ACCEPT_LANGUAGE'} には何が入っていくるかというと、以下のとおりです。

ja,fr;q=0.7,de;q=0.3

Internet Explorerで言語の設定に「日本語」「フランス語」「ドイツ語」を加えております。

Internet Explorer

ja,fr;q=0.7,de;q=0.3」は、カンマ区切りで見ていきます。一つ目の「ja」は日本語をあらわします。次の「fr;q=0.7」は、フランス語をあらわします。しかし、「q=0.7」は、品質値といい、各言語の優先度を表し、数が大きいほど優先度が高いことを意味します。なお、「ja」には品質値がありませんが、これはデフォルト値である「1」が適応されます。

したがって、「ja,fr;q=0.7,de;q=0.3」が意味するところは、「日本語、フランス語、ドイツ語の優先順位で言語を受け付けます。」となります。

言語コードは、プライマリーコードと、サブコードで成り立っています。これらは、「-(ハイフン)」で区切られます。サブコードはなくても問題ありません。(ほとんどはありません。)

プライマリーコードは言語を指し、サブコードは主に利用国を指します。プライマリーコードは、ISO639で予約されています。

さて、あなたのブラウザーは、何語? こちらで確認できます。

言語確認

ブラウザーが送ってくる言語コードの意味は、以下のとおりです。

言語コード 言語名
is アイスランド語
ga アイルランド語
af アフリカーンス語
sq アルバニア語
it イタリア語
id インドネシア語
uk ウクライナ語
nl オランダ語
nl-BE オランダ語/ベルギー語
ca カタロニア語
gl ガリチア語
el ギリシア語
hr クロアチア語
sv スウェーデン語
gd スコッチ ゲール語
es スペイン語
es-AR スペイン語/アルゼンチン
es-CO スペイン語/コロンビア
es-ES スペイン語/スペイン
es-MX スペイン語/メキシコ
sk スロヴァキア語
sl スロヴェニア語
sr セルビア語
cs チェコ語
da デンマーク語
de ドイツ語
de-AU ドイツ語/オーストリア
de-CH ドイツ語/スイス
de-DE ドイツ語/ドイツ
tr トルコ語
no ノルウェー語
eu バスク語
hu ハンガリー語
fi フィンランド語
fo フェロー語
fr フランス語
fr-CA フランス語/カナダ
fr-CH フランス語/スイス
fr-FR フランス語/フランス
fr-BE フランス語/ベルギー
bg ブルアリア語
pl ポーランド語
pt ポルトガル語
pt-BR ポルトガル語/ブラジル
mk マケドニア語
ro ルーマニア語
ru ロシア語
en 英語
en-GB 英語/英国
en-US 英語/米国
ko 韓国語
zh 中国語
zh-TW 中国語/台湾
zh-CN 中国語/中国
ja 日本語
be 白ロシア語

なお、以上の情報は、Netscape、Internet Explorerでも確認することができます。

Netscape Netscapeの場合

編集(E) → 設定(E)... を選択します。カテゴリで「Navigator」→「言語」を選択します。「追加」を押すと、言語の一覧を見ることができます。

Internet Explorer Internet Explorerの場合

ツール(T) → インターネット オプション(O)... を選択します。「全般」タブの「言語(L)...」を押してください。「追加(A)...」を押すと、言語の一覧を見ることができます。