2010-08-12 69 views
0

我使用$_SERVER["HTTP_ACCEPT_LANGUAGE"]來檢測瀏覽器語言,Firefox和IE瀏覽器正常工作:語言識別(歌劇,Safari,Chrome瀏覽器)

Firefox: 
de,en-us;q=0.9,en;q=0.7,ru;q=0.6,ro;q=0.4,hu;q=0.3,zh;q=0.1 

Internet Explorer: 
de 

不幸的是,它並不適用於以下工作瀏覽器:

Opera: 
en,en-US;q=0.9,ja;q=0.8,fr;q=0.7,de;q=0.6,es;q=0.5,it;q=0.4,pt;q=0.3,pt-PT;q=0.2,nl;q=0.1,sv;q=0.1,nb;q=0.1,da;q=0.1,fi;q=0.1,ru;q=0.1,pl;q=0.1,zh-CN;q=0.1,zh-TW;q=0.1,ko;q=0.1 

Safari: 
en-us 

Chrome: 
en-US,en;q=0.8 

我沒有看到在phpinfo輸出這將是有幫助的任何領域。如果您有任何建議,請告訴我。非常感謝!

+0

你有沒有在歌劇,safari和chrome中設置語言? – tamasd 2010-08-14 13:52:57

回答

0

我沒有所有這些瀏覽器,但$_SERVER["HTTP_USER_AGENT"]呢?

火狐:

Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 

鉻:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.470.0 Safari/534.3 

在我而言這是正常的,因爲我使用的鉻有連接美國和Firefox它(意大利)

0

我不不太明白在這裏沒有什麼「爲你工作」。所有瀏覽器都發送相對明智且語法正確的Accept-Language標頭。 Opera很可能會在「首選項>常規」>「語言」>「詳細信息」中發送它配置爲發送的內容。如果您希望您的Opera請求不同的語言或以不同的方式排列優先級,那麼您可以在這裏進行更改。

+0

我知道可以在每個瀏覽器中設置語言。但我瞄準的是不會手動配置這些東西的非極客用戶。因此,我跳過瀏覽器自動使用與操作系統相同的設置。 – MrG 2010-08-16 10:35:51

+0

Opera的設置受Opera的UI語言影響(並且在首選項中,默認/簡單選項允許用戶同時設置)。自然,安裝通常默認爲操作系統所在的語言(如果Opera被翻譯成所述語言)。 我不確定從操作系統獲取語言信息與用戶爲瀏覽器本身選擇的語言之間是否存在任何有意義的區別。 這就是說,如果你還沒有配置Opera的語言設置,我不知道它在哪裏得到你的頭中的所有信息。 – hallvors 2010-08-20 02:12:15