PHP

国際化ページの対応方法を検討。
ユーザーの使用言語に合わせて、英語ページと日本語ページを切り替えます。

ユーザーの使用言語

Webアプリで、言語別にページを切り替える方法を検討。
ブラウザーがもたらす情報から、ユーザーの使用言語を取得して、英語ページと日本語ページを切り替える。

環境変数

http://d.hatena.ne.jp/yumizclub/20081215/

//ブラウザから使用言語を取得
$language=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);

環境変数「$_SERVER["HTTP_ACCEPT_LANGUAGE"]」を使うのが一手。

http://labs.unoh.net/2006/06/5_php_web_2.html

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
<?php
$language = 'en';
if (ereg('ja', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
    $language = 'ja_JP';
}
// Set locale and default domain.
putenv("LANG=$language");
setlocale(LC_ALL, $language);
$domain = 'messages';
bindtextdomain($domain, "/var/www/html/locale");
textdomain($domain);
// Output
echo gettext("Hello");
?>

ブラウザーが吐き出す情報に依存するが、とりあえず環境変数「$_SERVER["HTTP_ACCEPT_LANGUAGE"]」を使って、ユーザーの使用言語を判別して、それで英語/日本語を切り替えよう。

IPアドレス

他には、アクセス元のIPアドレスで国籍を判別するとか。

  • 問題点
    アメリカにいる日本人がアクセスしてきたら、英語じゃなくて日本語で表示した方がいいだろう。
    IPアドレス→国→使用言語へと単純にひも付けるのは、やめておこう。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-05-17 (火) 10:09:29 (3543d)