客户端HTTP\u是否接受\u语言访问?JavaScript?我不知道';我看不到JQuery包装器。静态页面检测首选语言!

客户端HTTP\u是否接受\u语言访问?JavaScript?我不知道';我看不到JQuery包装器。静态页面检测首选语言!,javascript,jquery,http,internationalization,Javascript,Jquery,Http,Internationalization,我正在尝试使用服务器代码访问用户的语言首选项,而不使用服务器代码 我正在寻找如下JavaScript: var language_array = jQuery.languagePreferences(); //en-ca,en;q=0.8,en-us;q=0.6,de-de;q=0.4,de;q=0.2 我知道我可以在服务器端使用HTTP_ACCEPT_语言,但在JavaScript/JQuery客户端静态(非服务器生成)页面中呢 我在谷歌上搜索了相当多的内容,但没有明确的浏览器无关解决方案。

我正在尝试使用服务器代码访问用户的语言首选项,而不使用服务器代码

我正在寻找如下JavaScript:

var language_array = jQuery.languagePreferences();
//en-ca,en;q=0.8,en-us;q=0.6,de-de;q=0.4,de;q=0.2
我知道我可以在服务器端使用HTTP_ACCEPT_语言,但在JavaScript/JQuery客户端静态(非服务器生成)页面中呢

我在谷歌上搜索了相当多的内容,但没有明确的浏览器无关解决方案。。JavaScript如何访问浏览器的首选用户语言列表?(比如说,在FireFox中配置了工具>选项>内容>语言)这似乎太难了

如果不可能的话,这些可能会起作用:

1) [ServerFault.com的一个问题]使用服务器端URL重写,以便Apache根据语言偏好使用正确的静态页面进行响应

2) 在客户机上使用AJAX来单独查询服务器以读取HTTP\u ACCEPT\u语言?看起来很复杂


我遗漏了什么吗?

不幸的是,使用纯客户端技术无法获得与HTTP\u ACCEPT\u语言相当的功能。最接近它的是用户当前的操作系统语言环境设置:

IE的
navigator.userLanguage

window.navigator.language
适用于大多数其他应用程序(FF、Opera等)

我发现
navigator.language
navigator.browserLanguage
不太可靠(例如IE8错误地给了我en-us而不是en-gb)


使用ajax或按照您的建议修改路由将是唯一可靠的方法。

不幸的是,使用纯粹的客户端技术不可能达到与HTTP\u ACCEPT\u语言相当的效果。最接近它的是用户当前的操作系统语言环境设置:

IE的
navigator.userLanguage

window.navigator.language
适用于大多数其他应用程序(FF、Opera等)

我发现
navigator.language
navigator.browserLanguage
不太可靠(例如IE8错误地给了我en-us而不是en-gb)


使用ajax或按照您的建议修改路由将是唯一可靠的方法。

您想要当前的语言吗?像
navigator.language
?这些不一定与标题匹配,但我不确定另一个是否可用。是的,浏览器选项对话框中指定的首选语言。我不确定这是否与当前语言相同。是否要使用当前语言?像
navigator.language
?这些不一定与标题匹配,但我不确定另一个是否可用。是的,浏览器选项对话框中指定的首选语言。我不确定这是否与当前的语言相同。