Friday, July 6, 2012

[PHP] 透過取得瀏覽器的語系 來判斷訪客使用那種語言

許多網站都有提供多語言版本,但是需要訪客手動去選擇,如果可以自動提供正確的語系網頁,對網頁使用者來說會很方便。

PHP的$_SERVER['HTTP_ACCEPT_LANGUAGE']可以取得使用者的瀏覽器語系,如果是英文版瀏覽器的訪客,則$_SERVER['HTTP_ACCEPT_LANGUAGE']就會是en-us,en;q=0.5,其中的"en-us"就可以拿來判斷訪客是使用哪種語言。實作方法很簡單,只要一行...

$lang = strtolower(strtok(strip_tags($_SERVER['HTTP_ACCEPT_LANGUAGE']), ','));

這樣我們就取得使用者的瀏覽器語言了,然後可以利用$lang去變換網頁的語系,是不是很簡單。

註1:
strip_tags()用來去除html標籤
strtok()用來分割字串
strtolower()用來轉小寫

註2:
在開發階段,可以透過IE的來變更語系,進行功能測試
IE > 工具 > 網際網路選項 > 一般 > 在下方的"語言"就可以進行設定了

註3:
語系代號對照的國家可參考
http://download1.parallels.com/SiteBuilder/Windows/docs/3.2/en_US/sitebulder-3.2-win-sdk-localization-pack-creation-guide/30801.htm

No comments:

Post a Comment