私は現在、ユーザの言語でコンテンツを提供するための自動ユーザ言語検出に取り組んでいます。PHPで安定したソリューションでユーザ言語を検出
もちろん、手動で言語を変更することは可能ですが、ユーザーがページを初めて訪れた場合は、自分の言語でコンテンツを提供したいと考えています。
de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
最良の方法は、EN」のような明確な結果を得るために、この結果をフィルタリングするいただきました:そのような結果を得るためにヴァール -
は、だから私は$ _SERVER [「HTTP_ACCEPT_LANGUAGE」]をグーグルと発見されました"/" DE "/" IT "?$rL = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; // de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
$langCode = strtoupper($rl[0].$rl[1]);
このServer-Varの第2の問題は、ブラウザがいくつかの情報を提供している場合にのみ結果が得られることです。それを扱う唯一の可能性はデフォルトのページ言語に設定されていますか?
私が興味を持っているのは、IPで言語を取得することです。だから私が言語を手に入れたら、おそらくユーザーの言語を知っているでしょう。しかし、スイス、ベルギーのような多言語国では何がありますか? tldは.com/.net/.orgのようになります。
どのような方法でユーザーの言語を検出しますか?
ありがとうございました。
よく、http_negotiate_languageの例を使用しようとしたとき - 致命的なエラー:未定義の関数を呼び出すhttp_negotiate_language() - 何が間違っていますか? – wildhaber
pecl_http拡張機能をインストールします。 http://uk.php.net/manual/en/http.install.phpまた、negotiate_languageページのコメントにネイティブPHPバージョンがあり、OKであるはずです。 – bobince