我听说过许多依赖于csv或数据库等文件的方法 但我认为在我的网站上上传一个额外的数据库来做这件事并不是一个好主意 我对外部供应商感觉很好 使用外部网站,通过IP给你的国家是好方法 或者它不好,因为服务器会等待外部提供商的响应,这会降低网站的速度吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
无论如何,将语言选择基于IP地址实际上并不是一个好主意。如果我是美国人从德国浏览,我不会说德语很好怎么办?您认为最符合标准的方法(解析)是解析Web请求的Accept-Language标头,并使用它来设置用户的默认值,但总是为他们提供了覆盖默认值的方法并选择他们的语言(然后将其存储在会话或用户首选项中)
答案 2 :(得分:1)
我会使用PHP变量 $ _ SERVER ['HTTP_ACCEPT_LANGUAGE'] ,在我的情况下,它持有此值 sk,cs; q = 0.8,en-us; q = 0.5,烯; q = 0.3 即可。
这意味着,我的浏览器语言是“斯洛伐克语”。
我认为,这个选项更好。试想一下,你是英国人,但是你在某个地方度假。你在那边使用你的笔记本...你的IP地址会告诉你的服务器,你在克罗地亚,你想得到的内容他们的语言......但是你的浏览器仍然说你是讲英语的人......有区别;)
答案 3 :(得分:1)
我不会使用GeoIP - 当它失败或产生错误结果时有太多场景。
正如@Paul所说,HTTP Accept-Language标头指定了浏览器中定义的用户语言首选项。您可以访问Browser Language Detection。
来查看浏览器的设置有关实际工作示例,请参阅Parse Accept-Language to detect a user's language。
另外请记住,抓取工具不使用Accept-Language,因此务必确保您有可用的策略(例如每种语言内容的网址)并包含在网站地图中。
另请参阅Apache Module mod_negotiation了解内容。