我目前正在使用用戶語言提供內容的自動用戶語言檢測。在PHP中檢測用戶語言 - 穩定的解決方案
當然其可以手動改變語言的,但如果用戶訪問該頁面,第一次我想提供他的語言的內容。
所以我google搜索,發現$ _ SERVER [「HTTP_ACCEPT_LANGUAGE」] - 瓦爾得到這樣的結果:
de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
最新最好的方式來過濾這個結果得到一個明確的結果,如「EN 「/」DE「/」IT「?
$rL = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; // de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
$langCode = strtoupper($rl[0].$rl[1]);
此Server-Var上的第二個問題是,它只會在瀏覽器提供一些信息時給我一個結果。設置默認頁面語言是唯一可能的處理方式嗎?
我感興趣的是第二種可能性是得到通過IP的語言。所以,如果我得到的語言,我可能知道用戶的語言。但是在瑞士,比利時等多語言國家呢?什麼與TLD的喜歡.com/.net/.org等。
那麼,您會應用哪種方法來檢測用戶語言?
感謝您的幫助。
很好,當我嘗試用我得到了http_negotiate_language的例子 - 致命錯誤:調用未定義功能http_negotiate_language() - 做我自己做錯了什麼? – wildhaber 2009-09-29 16:56:52
安裝pecl_http擴展。 http://uk.php.net/manual/en/http.install.php或者在negotiate_language頁面的註釋中有一個本地PHP版本,看起來應該是OK。 – bobince 2009-09-29 17:32:44