网站语言:使用浏览器区域设置或 IP 地址 [关闭]

Posted

技术标签:

【中文标题】网站语言:使用浏览器区域设置或 IP 地址 [关闭]【英文标题】:Website language: use browser locale or IP address [closed] 【发布时间】:2010-11-03 14:18:26 【问题描述】:

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

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

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

+1 你不知道我收到了多少次日文页面......只是因为我住在这里。语言环境(甚至在许多网站上定义的偏好)似乎对太多网站没有任何意义【参考方案2】:

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

【参考方案4】:

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

【讨论】:

所以您的意思是应该先使用浏览器区域设置,然后再使用 TLD?如果您将浏览器区域设置为英语,但通过 .de TLD 进入网站怎么办? 这就是为什么我不会尝试第二次猜测用户的原因。只需向他们展示一个语言选择页面并设置一个 cookie。 但是输入国家 TLD 比设置浏览器区域设置更具体,你不觉得吗?因为用户会为这个网站明确定义一个国家,而不是为他们的浏览器设置的一般语言环境。 @Tharuka,因为 TLD 没有提供有关用户语言的信息,例如“.be”,但我可能会说法语、荷兰语或德语。【参考方案5】:

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

【讨论】:

我听到了。同样在这里。仅使用 IP 地址确实不好。即使我在奥地利,即使我已将浏览器区域设置为奥地利,Google(和其他网络应用程序)也会经常识别出来自荷兰。【参考方案6】:

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

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

【讨论】:

您能解释一下为什么要在 TLD 之前尊重语言环境设置吗?您已经明确输入了 TLD,对吗? 你知道吗 - 只是问我这让我改变了主意。我认为你是对的,进入 TLD 是更积极的选择。【参考方案7】:

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

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

【讨论】:

【参考方案8】:

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

我有几个原因。

    编码更容易 - 无需检查 IP 范围或浏览器区域设置等。更少的代码意味着更少的错误。 您没有对用户做任何假设。例如,他们可能是美国人,在日本使用设置为德语的机器。 可能是正确的 :)

【讨论】:

我们不能简单地使用英语,因为我们的主要目标受众说德语。该网站的首页有一个国家选择器。这是关于默认情况下显示哪种语言。用户始终可以通过显式选择来覆盖设置。 如果这是您的主要受众,请在主页上使用德语 - 我看不出有什么问题。

以上是关于网站语言:使用浏览器区域设置或 IP 地址 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

服务器安全检测提示“关闭远程访问或限制访问的ip地址” 怎么关闭呢?阿里云的服务器

使用 PHP 根据 IP 地址获取位置和区域

我为AWS EC2实例更改了区域。但我无法从新的IP地址和公共DNS看到一个网站

设置静态IP有啥好处?

配置firewalld防火墙

如何获取在我的网站上发帖的用户的地理区域并将其存储在数据库中[关闭]