我试图在ASP.NET MVC中检测用户首选的语言,并且我知道Request.UserLanguages
属性。问题是,互联网上最受欢迎的网站,例如Google.com,似乎不使用这些设置,而是使用一些基于位置的设置。这就是为什么默认情况下我总是看到斯洛文尼亚语版本的Google.com,即使我们在浏览器中删除了所有斯洛文尼亚语言的痕迹(无论是IE,Chrome等)。
出国并连接到网络也会在德国旅行时显示德国Google.com。
我的问题是:
他们使用什么检测机制?
您喜欢UserLanguages还是偏好定位?
答案 0 :(得分:3)
他们使用什么检测机制?
基于IP。
您喜欢UserLanguages还是偏好定位?
取决于您的要求。正如您已经注意到的那样,如果您使用UserLanguages,您可以让中国的用户为en-EU配置他的浏览器并获得英语,而如果您使用基于IP的检测,您将获得中国。因此,实际上取决于您是否要为用户位置或用户浏览器设置提供权限。