根据语言偏好

时间:2016-04-26 07:17:23

标签: javascript

我的网站有法语版和英文版:
* example.com /是我的英文版 * example.com / fr /是我的法语版。

因此,他们可以通过点击标志来更改网站版本,但默认情况下,如果他们到达example.com,则会使用英文。

我想给他们与他们的语言偏好相对应的版本,我用以下方法检测语言偏好:

var language = window.navigator.userLanguage || window.navigator.language;

但是我使用了什么代码,以便当他们到达网页时,它会根据用户语言偏好提供版本?

如果网站提供法语版但用户想要英文版,仍然可以手动更改。

1 个答案:

答案 0 :(得分:1)

您必须重定向它们:

if (window.navigator.language === 'fr') {
    window.location.href = "http://example.com/fr/";
}

请注意,window.navigator.language属性为implemented differently across browsers,您可能需要在数组中找到首选语言(如window.navigator.languages)。

更好的选择是检查服务器端HTTP请求的Accept-Language标头,并在服务器端重定向。

还有JavaScript-based国际化方法,但它们通常不涉及重定向网站。