強固な判定ロジックは必要なかったので、簡易的に判定できる方法を…。
"国判定"と言いながら、必要だったのは「日本」だけなので、正確には『日本判定』だった。
HTTP_ACCEPT_LANGUAGE
$_SERVER['HTTP_ACCEPT_LANGUAGE']
を使用すると、ブラウザの言語設定(表示言語の優先順位)から言語コードが取得できる(以下の様な感じで)。
ja,en-US;q=0.7,en;q=0.3
ちなみにブラウザから取得できる各言語コードは以下の通り。
言語コード 言語名 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 白ロシア語