投稿者:高山 | ひとくちメモ | 2010年12月28日 00:57
ページの言語切り替えボタンが、サイト右上にありますが、日本語と英語で
アドレスが違います。(index.phpとindex_en.php)
index_en.phpを登録してもらうのも手間なので、同じhttp://www.chosyu.jp/に
アクセスすれば、ブラウザの言語設定を見て、自動で分岐するように変更しました。
JavaScriptでもできるのですが、JavaScriptを読み込んでからの実行になるので、
一瞬飛ぶ前の画面が出てしまいます。
というわけで、PHPで実装しました。
メインページ(index.php)の一番上に下記コードを追加して実装しています。
<?php
$aws_cookie = $_COOKIE["C_LANGUAGE_FLAG"]; // クッキーを読み込み
if( strcmp($aws_cookie, "1") != 0 ){
// ブラウザ起動後にのみ実行
setcookie( "C_LANGUAGE_FLAG", "1" ); // クッキーを書き込み
// ブラウザ設定が英語なら英語ページへ
$aws_language = substr( $_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2 ); // ブラウザの言語の先頭2文字を取得
if( strcmp($aws_language, "en") == 0 ){
header( "Location: index_en.php" );
exit;
}
}
?>クッキーを利用して、初回のみ自動で分岐するようになっています。
1回、英語サイトに移動したあと、左上のJPボタンから日本語サイトに戻ってきたときには、実行されません。
最初にindex_en.phpを表示したあと、日本語表示にした場合を考慮して
index_en.phpの方にも、クッキーを書き込むようにしてあります。
まぁ、どちらかと言うと、MTでの英語サイト構築方法の方が重要だとは思うので、
忘れないうちに、まとめる予定です。




コメントをお願いします