7

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

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

因此,我在考虑这种层次结构:

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

8 回答 8

15

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

于 2009-06-17T08:31:01.103 回答
8

浏览器区域设置,因为它是用户选择。当一个法国人带着他的笔记本电脑去英国旅行时,他希望尊重浏览器区域设置而不是 IP。

于 2009-06-17T08:31:46.703 回答
5

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

我是居住在国外的以英语为母语的人,当我的浏览器区域设置为英语时,我对自动为我提供居住国家/地区语言的网站感到恼火。

于 2009-06-17T08:35:06.680 回答
4

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

于 2009-06-17T08:34:37.103 回答
2

听着,我不确定你们在哪里,我现在住在芬兰,让我告诉你们,最令人沮丧的事情之一就是使用 IP 地址来选择语言。它绝对把一切都搞砸了,我在扯我的头发,尤其是任何与谷歌有关的东西,事实上,我根本无法使用 Blogger,所以如果你对此有任何影响,请!!!!!!

于 2009-07-25T01:15:40.503 回答
1

IP 地址匹配将需要一个(昂贵的)地理/IP 查找数据库、一个承诺和基础设施来维护它,在阻止 IP 方面存在重大问题,并且最终甚至不会为您提供您想要的信息,因为没有 1: 1 国家和语言之间的关系(官方:加拿大,或非官方:美国),甚至不密切。

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

于 2009-06-17T08:40:16.343 回答
0

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

我有几个原因。

  1. 编码更容易 - 无需检查 IP 范围或浏览器区域设置等。更少的代码意味着更少的错误。
  2. 你没有假设任何关于用户的事情。例如,他们可能是美国人,在日本使用的机器设置为德语。
  3. 这可能是正确的:)
于 2009-06-17T08:38:17.330 回答
0

您还必须允许通过网络代理进入的人不在他们明显的 IP 地址所在的区域设置中。

即使我在新西兰,我也会收到很多圣地亚哥公司的广告,因为我在那里使用网络代理。

于 2009-06-17T08:40:23.503 回答