我正在使用$_SERVER["HTTP_ACCEPT_LANGUAGE"]
来检测浏览器语言,这适用于Firefox和IE:
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 :(得分: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
在我的情况下,这是正常的,因为我正在使用带有en-US和Firefox的Chrome(意大利语)
答案 1 :(得分:0)
我不太明白这里没有什么“适用”。所有浏览器都发送相对合理且语法正确的Accept-Language标头。 Opera很可能会在“首选项>常规>语言>详细信息”中发送配置为发送的内容。如果您希望Opera请求不同的语言或以不同的方式区分它们,那么您可以在此处进行更改。