[[PHP]]

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

#contents

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

**環境変数 [#p5feec1b]
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
#code(php){{
<?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アドレス [#ec821d38]
他には、アクセス元のIPアドレスで国籍を判別するとか。

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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS