多くの Web サイトでは、トップページにリンクを作成して、ユーザーが訪問したい言語のページを選択できるようにしています。たとえば、中国人は「中国語」、韓国人は「韓国語」などを選択できます。それでは、選択を自動的に支援するプログラムを作成できますか?
答えは「はい」です。誰もが Google を使用しています。中国語のシステムを使用して Google ホームページを開くと、他の言語ではなく、中国語のホームページが自然に開きます。なぜなら、Google はユーザーのシステムに適した言語を自動的に決定するからです。
どうすれば Google のようにできるのでしょうか? 実はとても簡単です
ブラウザーから Web サーバーに送信される HTTP ヘッダー情報には、Accept-Language などの情報が含まれています
この情報は、ブラウザの [ツール] -> [インターネット オプション] -> [全般] にある言語であり、ブラウザで受け入れられる言語の優先順位を設定するために使用されます。
以下に PHP を例に挙げます
ユーザーが受け入れ可能な言語情報は $_SERVER['HTTP_ACCEPT_LANGUAGE'] に配置されます
変数情報は、多言語列の場合は「zh-cn,en;q=0.8,ko;q=0.5,zh-tw;q=0.3」と同様になります。
以下の問題は簡単に解決できます。
error_reporting(E_ALL ^ E_NOTICE);
// HTTP_ACCEPT_LANGUAGE の属性を分析します
// ここでは最初の言語設定のみが使用されます (必要に応じて他の機能を拡張できます。ここでは簡単なメソッドのデモのみを示します)
preg_match('/^([a-z-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
$lang = $matches[1];
スイッチ ($lang) {
ケース「zh-cn」:
header('場所: [url]http://cn.example.com/[/url]');
休憩
ケース「zh-tw」:
header('場所: [url]http://tw.example.com/[/url]');
休憩
ケース「こ」:
header('場所: [url]http://ko.example.com/[/url]');
休憩
デフォルト:
header('場所: [url]http://en.example.com/[/url]');
休憩
}
?>
http://www.bkjia.com/PHPjc/314059.html
www.bkjia.com