我需要为一个项目提供两个网页版本:一个英文版和一个法文版。由于我在英国,浏览器(IE11)自然是以当地语言(en-GB)安装的。为了测试法语,我去了
Internet-Options->Languages->Set Language Preference->Add a Language (French-France)
(or select the language if already there)
并确保法语处于顶部。 我有一个JSF页面,在该页面中使用Java检测语言,这很好用,所有文本都从法语属性文件中获取,而不是从英语属性文件中获取,当在英语和法语之间切换语言时会自动切换。 然而,在一个网页上,我需要在JavaScript中检测当前语言,无论我尝试什么,它始终是en-GB。
我尝试了这段代码:
var language = navigator.languages && navigator.languages[0] ||
navigator.language ||
navigator.userLanguage;
它返回'en-GB'。在F12调试器中单独尝试:
navigator.languages returns: undefined
navigator.userLanguage: en-GB
navigator.language: undefined
navigator.browserLanguage: en-US
这是IE11版本11.0.9600.17031。
我也在Windows 8上,并且在意外按下Windows键后,Windows主屏幕上显示的所有内容都是法语(新闻、天气等),因此选择了法语,但如何在JavaScript中检测它?
en-AU
。我可能能够使用你的网站的法语版本,这取决于所使用的语言水平(我的法语是中级水平)。你可以选择只提供法语版本(更容易),或者检测用户的实际语言偏好。你需要考虑是否有足够的非法语用户来证明提供多种语言的网站是有必要的。 - CJ Dennis