Google chrome PHP中的语言识别(Opera、Safari、Chrome)

Google chrome PHP中的语言识别(Opera、Safari、Chrome),google-chrome,safari,opera,language-detection,Google Chrome,Safari,Opera,Language Detection,我正在使用$\u SERVER[“HTTP\u ACCEPT\u 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;

我正在使用
$\u SERVER[“HTTP\u ACCEPT\u 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
输出中没有看到任何有帮助的字段。如果你有任何建议,请告诉我。非常感谢

我没有所有这些浏览器,但是
$\u服务器[“HTTP\u用户\u代理”]

火狐:

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

在我的情况下,这是正常的,因为我使用chromium和en-US,Firefox和它(意大利语)

我不太明白什么不适合你。所有浏览器都发送相对合理且语法正确的Accept语言标题。Opera很可能在“首选项>常规>语言>详细信息”中发送其配置要发送的内容。如果您希望您的Opera请求不同的语言或对它们进行不同的优先级排序,您可以在这里更改它。

您是否在Opera、safari和chrome中设置了语言?我知道可以在每个浏览器中设置语言。但我的目标是非极客用户,他们不会手动配置这些东西。因此,我希望浏览器自动使用与操作系统相同的设置。Opera的设置受Opera的UI语言的影响(在首选项中,默认/简单选项允许用户同时设置两者)。当然,安装通常默认为操作系统所使用的任何语言(如果Opera被翻译成上述语言)。我不确定从操作系统获取语言信息与从用户为浏览器本身选择的语言获取语言信息之间是否存在任何有意义的区别。这就是说,如果您还没有配置Opera的语言设置,我不知道它从哪里获得了标题中的所有信息!??