很长时间以来,我一直对Google的行为感到不满意,并且在意外地注意到80+ other people也有同样的感受(并且有超过20人赞同Google bug报告的想法),我认为这对于利用SO在HTTP协议和网络文化方面的智慧。网站(Google和/或您)应该如何处理Accept-Language标头?
每当我到其他国家/地区并从我的笔记本电脑访问google.com
或安装新浏览器时,都会出现此行为。在包括越南在内的许多国家中,Google会自动将其重定向到一个本地化版本(例如google.com.vn),这是我实际上无法读取的版本,因此我在拼命试图找到Google.com英文链接进行扫描。
第一次发生时我很困惑,花了一些时间找出我的请求标题有什么问题;正如我所料,我的Accept-Language
始终是en-US
或类似en-US,ru;q=0.5
。使用不同IP的进一步测试证实他们进行IP地理定位,即使您已经登录。稍后,我了解到语言查询?hl=...
,但仍然存在。
所以,我的问题是:你认为这是合理的和预期的行为,webculture明智吗?其他网站是否也这样做? 如果您要设计一个多语言网站,您将如何处理来自.vn
IP但具有en-US
语言的人员?
我想有不同的方法,以IP地理定位:
禁忌:我认为这是不礼貌的:我告诉你明确我想要什么, 什么好的给我点别的?
亲:这可能是一个人刚刚安装了默认的语言包浏览器,没有任何想法有关
Accept-*
头,并且还希望看到一个网站的本地化版本。contra:然而,非技术人员可以通过安装语言包轻松更改接受语言。事实上,如果你去下载Firefox,你可能会用你想要的语言来下载那个,并且接受语言的标题符合你的意愿。
注意,我读了1999年HTTP 1.1 specification但他们似乎忽略的多少Accept-Language
应该真正考虑的问题。
我相信这个问题属于SO作为一个网络应用程序设计问题。而且我仍然在考虑提交一份正式的错误报告(如果我正确地认为这种行为远离网络标准)。
忽略Accept-Language标题现在真的让我失望了,因为我住在国外但是说英语。我在这里发表了关于我的经历的博客:http://www.planetjones.co.uk/blog/27-04-2014/web-internationalization-often-inconsistent.html – planetjones 2014-04-27 08:30:44
我发现这个网站做得非常好:https://www.crazy-factory.com它首先尝试获得Accept-Language头,如果不存在,它会检测使用GeoIP,这正是每个人都应该做的。 – 2016-08-24 02:06:16