0

index.php で言語を自動選択したいと考えています。ユーザーがコロンビア出身の場合、彼は index_columbia.html にリダイレクトされ、他の国では index_english.html にリダイレクトされます。

PHPでこれを作るにはどうすればよいですか?

4

4 に答える 4

0

IP アドレスによる国検索を使用できます。

これを行うクラスはhttp://www.phpandstuff.com/articles/geoip-country-lookup-with-phpにあります。

于 2013-06-19T13:15:24.667 に答える
0

IPアドレスで確認できます(Webサービスがあります)。例: http://freegeoip.net/

また、ブラウザから送信される accept-language ヘッダーを使用することもできます。http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4$_SERVERこれは、変数から取得できます。

于 2013-06-19T13:14:08.823 に答える
0

ブラウザから送信される言語情報は、サーバー予約変数を使用しています。さて、この解決策は、訪問者の場所に基づいているのではなく、ブラウザの言語設定に基づいています。訪問者がコロンビア出身かフランス出身かに関係なく、英語を使用している場合は、ウェブサイトの英語版を表示することをお勧めします。

次のように使用できます$_SERVER['HTTP_ACCEPT_LANGUAGE']:-

<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($lang){
    case "fr":

        include("index_fr.php");
        break;
    case "it":

        include("index_it.php");
        break;
    case "en":

        include("index_en.php");
        break;        
    default:

        include("index_en.php");
        break;
}
?>
于 2013-06-19T13:14:18.170 に答える
0

私のコードを使用できます:

$langs = array('en','fr','de');
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if (!in_array($lang, array_keys($langs))) $forward = 'index_'.$lang.'.html';
else $forward = 'index_en.html';
于 2013-06-19T13:17:52.463 に答える