正确的方法是查看发送到服务器的HTTPAccept-Language标头。它包含用户已配置其浏览器首选的语言的排序后的加权语言列表。
不幸的是,此标头不可用于在Javascript内部读取;您所获得的是
navigator.language,它告诉您安装了什么本地化版本的Web浏览器。这不一定与用户的首选语言相同。相反,在IE上,您获得
systemLanguage(操作系统安装的语言),
browserLanguage(与相同
language)和
userLanguage(用户配置的OS区域),它们都无济于事。
如果必须在这些属性之间进行选择,那么我会先嗅
userLanguage一下,
language然后回头看,
browserLanguage然后再看(如果那些与任何可用语言都不匹配),然后再看
systemLanguage。
如果您可以将服务器端脚本放在网上的其他位置,则只需读取Accept-Language标头并将其作为包含标头值的字符串的Javascript文件发回,例如:
var acceptLanguage= 'en-gb,en;q=0.7,de;q=0.3';
那么您可以在HTML中包含指向该外部服务的 -->



