2011-05-29 18 views
1

我需要定義一個預定義的語言,它將有可能從西班牙語更改爲葡萄牙語,西班牙時間爲GMT + 2和葡萄牙GMT + 1,服務器的時區爲GMT + 2,所以我可以從很多國家知道用戶正在訪問,並定義更方便的語言。我正在考慮定義一個cookie並使用AJAX導入帶有一些php條件的文件。使用時間定義語言

你有什麼建議?任何提示?

+2

爲什麼不問Accept-Language-h EADER? – 2011-05-29 02:15:23

回答

4

使用php的變量$_SERVER['HTTP_ACCEPT_LANGUAGE']會更有效!

+0

謝謝你的提示,但該變量的輸出令人困惑,我知道需要將輸出轉換爲變量,但不知道該怎麼做:( – Souza 2011-05-29 15:02:54

+0

前兩個字母構建了ISO 639-1該語言的alpha-2代碼 – MatTheCat 2011-05-30 07:33:27

1

像其他人一樣,您應該使用「接受語言」標題。

如果由於某些未知原因,您確實希望通過按時區計算出來的努力,您可以通過IP查找自己的國家,或通過W3C地理定位API或通過中間頁面的人查看寫出一些在他們的時間通過的JavaScript。

通過PHP和人在這方面的中間人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/

查找國家使用谷歌的地理位置API

http://googlecode.blogspot.com/2008/08/two-new-ways-to-location-enable-your.html