对于一个网站,我们即将实施自动国家/语言选择,但仍然允许用户选择更改它。

首先,如果用户使用具有国家/地区级别TLD的域名进入网站,则默认情况下会显示正确的语言。但问题是,如果它们来自通用/国际顶级域名(如.com),逻辑应该是什么。 我们是否应该更喜欢使用我们通过其IP地址获取的国家/或者我们应该使用其浏览器区域设置?如果两者都在哪个序列?

因此,我在想这个层次结构:

  1. 如果之前已更改,请使用用户选择。如果用户从未明确设置过:
  2. 使用主机名TLD。如果它是通用的(.com):
  3. 使用浏览器区域设置。如果没有为此语言环境设置区域设置或没有相应的语言版本:
  4. 使用IP地址。如果检测到的国家/地区没有相应的语言版本:
  5. 使用英语。
  6. 谢谢!

有帮助吗?

解决方案

由于大多数国家/地区都有多种官方语言,因此您应首先依赖用户首选项,然后依赖于浏览器区域设置,TLD,IP,然后依赖英语作为“默认”(或主要用户群的任何主要语言)

其他提示

我建议使用浏览器区域设置而不是IP地址,因为有人可能住在别处,但更喜欢该国家的标准语言以外的其他语言。

浏览器区域设置,因为它是用户选择。 当一名法国男子带着他的笔记本电脑前往英国时,他希望浏览器区域设置得到尊重而不是IP。

浏览器区域设置应该在ip地址之前,

我是一名居住在国外的英语母语人士,当我的浏览器区域设置为英语时,我会对自动向我提供常驻语言的网站感到恼火。

IP地址匹配需要(昂贵的)地理/ IP查找数据库,维护该数据库的承诺和基础设施,存在阻塞IP的重大问题,并且最终甚至不能提供您想要的信息,因为没有国家和语言之间的1:1关系(正式:加拿大,或非正式:美国),甚至不是很接近。

我更喜欢将Cookie偏好降级为TLD /子域(或TLD与语言无关的本地设置)。

听听人们,我不确定你们在哪里,我现在住在芬兰,让我告诉你,当使用IP地址选择语言时,最令人讨厌的事情之一就是。它绝对会弄乱一切,我拉我的头发,特别是与谷歌有关的任何东西,事实上,我根本无法使用Blogger,所以如果你对此有任何影响,请!!!!!

您还必须允许通过网络代理进入的人员不在 在语言环境中,它们的明显IP地址为。

即使我身处其中,我也会收到很多基于圣地亚哥的广告 新西兰,因为我在那里使用网络代理。

就个人而言,我只是在目标网页上使用您的主要受众群体的语言,这只是一个语言选择页面,用户必须选择要继续的语言。设置一个cookie,以便下次用户访问时(从同一台机器上的同一浏览器),它会重定向正确的语言站点。

我有几个原因。

  1. 编码更容易 - 不检查IP范围或浏览器区域设置等。更少的代码意味着出错的可能性更小。
  2. 您没有对用户做任何假设。他们可能是美国人,例如在日本使用德国机器。
  3. 这可能是正确的:)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top