自动语言选择和转发到文件


automatic language selection and forwarding to file

我想在我的index.php自动语言选择。当用户来自哥伦比亚时,他被重定向到index_columbia.html,其他国家的用户被重定向到index_english.html。

我怎么用PHP做这个?

浏览器发送的语言信息带有服务器保留的变量。嗯,这个解决方案不是基于访问者的位置,而是基于浏览器的语言设置,这似乎更好。如果访问者来自哥伦比亚或法国,如果他使用英语作为一种语言,那么最好向他展示网站的英文版。

你可以这样使用$_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;
}
?>

您可以通过IP地址检查(有针对它的web服务)。例如:http://freegeoip.net/

也可以使用浏览器发送的accept-language头。http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4可以从$_SERVER变量中检索。

您可以使用IP地址查找国家/地区

你可以使用我的代码:

$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';