我的网站有法语版和英语版:
*example.com/是我的英文版本。
*example.com/fr/是我的法语版本。
因此,他们可以通过单击标志来更改网站版本,但默认情况下,如果他们到达 example.com,它将是英文的。
我想为他们提供与他们的语言偏好相对应的版本,我通过以下方式检测语言偏好:
var language = window.navigator.userLanguage || window.navigator.language;
但是我应该使用什么代码,以便当他们到达网页时,它会根据用户语言偏好提供版本?
如果网站提供法语版本,但用户想要英语版本,仍然可以手动更改。
最佳答案
您必须重定向它们:
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
header ,并在服务器端进行相应的重定向。
还有JavaScript-based国际化方法,但它们通常不涉及重定向网站。
关于javascript - 根据语言偏好更改网站版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36857865/