我需要定义一种预定义的语言,可以从西班牙语更改为葡萄牙语,西班牙时间是GMT+2和葡萄牙GMT+1,服务器的时区是GMT+2,这样我就可以从用户访问的哪个国家知道,并定义更方便的语言。我正在考虑定义一个cookie,并使用AJAX导入一个具有一些php条件的文件。
你有什么建议?有什么提示吗?
使用php的变量$_SERVER['HTTP_ACCEPT_LANGUAGE']
会更有效!
就像其他人建议的那样,您应该使用"accept language"标头。
如果出于某种未知的原因,你真的想通过时区来确定,你可以通过IP或W3C地理位置API来查找他们的国家,也可以通过中间页面的人来编写一些javascript,让他们的时间过去。
通过PHP和Man In The Middle JS查找时区
session_start();
if($_REQUEST['user_time'])
{
$_SESSION['user_time'] = $_REQUEST['user_time'];
}
if(!isset($_SESSION['user_time']))
{
echo "<script type='"text/javascript'">";
echo "document.location.href = '?user_time=' + new Date().getTime();";
echo "</script>";
}
else
{
//normal page execution here
}
W3C API地理定位
http://dev.opera.com/articles/view/how-to-use-the-w3c-geolocation-api/
使用Google的地理位置API查找国家/地区
http://googlecode.blogspot.com/2008/08/two-new-ways-to-location-enable-your.html