Language agnostic 网站应该如何处理本地化设置?(来自“;什么是常见的UI误解和烦恼?”;)

Language agnostic 网站应该如何处理本地化设置?(来自“;什么是常见的UI误解和烦恼?”;),language-agnostic,localization,globalization,user-experience,Language Agnostic,Localization,Globalization,User Experience,我选择将此作为一个问题,因为它在委员会的评论中引起了如此多的争论 有趣的是,很多人(他们是开发人员)都没有本地化。以下是我对它应该如何工作的看法: 在我看过的所有浏览器中(对于.NET开发人员也是如此),当您查看用户的区域性首选项时,其格式如下: 语言文化 因此,我们: en GB-英语-英国文化 英语-英语-美国文化 英语语言文化 fr–法语–法国文化 fr CH–法语–瑞士文化 德奇语-德语-瑞士文化 德德-德语-德国文化 有关.NET framework支持的完整列表,请参见 当我去一

我选择将此作为一个问题,因为它在委员会的评论中引起了如此多的争论

有趣的是,很多人(他们是开发人员)都没有本地化。以下是我对它应该如何工作的看法:

在我看过的所有浏览器中(对于.NET开发人员也是如此),当您查看用户的区域性首选项时,其格式如下: 语言文化

因此,我们:

  • en GB-英语-英国文化
  • 英语-英语-美国文化
  • 英语语言文化
  • fr–法语–法国文化
  • fr CH–法语–瑞士文化
  • 德奇语-德语-瑞士文化
  • 德德-德语-德国文化
有关.NET framework支持的完整列表,请参见

当我去一个网站的时候,它知道我想要英语的部分,它知道我感兴趣的是它被倾斜到英国(数字格式,日期格式)。所以,当我去google.com,它会带我去google.de(因为我的IP地址),如果google.de用英语向我显示所有内容,那就完全好了,但完全错了,因为google.de是德语的。我几乎不能控制我的IP地址,但可以完全控制我的语言和文化设置。如果你感兴趣的话,微软的新搜索引擎(bing.com)可以很好地处理事情。让我们希望微软可以像谷歌一样学习如何进行搜索,或者谷歌可以像微软一样学习本地化;)

这里有另一篇好文章来获取更多信息


那么,你对网站应该如何处理本地化有什么建议呢?

我有可能被认为是不礼貌的,但我认为我会有更多信息丰富的答案,主要是因为我的帖子确实是一个问题。很抱歉,我以前没有找到这篇文章。

智能默认值和用户覆盖默认值的能力是有区别的。在我开发的大型应用程序中,我从浏览器设置、地理位置等方面假设了用户的区域设置——但总是给用户一种轻松切换的方式

我不知道还有谁会那样做。不给用户一个机会来纠正你的假设是很有问题的,因为你有时会弄错

补充:

我认为您的问题在于,虽然您可以编辑您的区域设置,但如果它们看起来基本上与默认设置相同,应用程序开发人员无法判断您是否故意将其保留,或者因为您不知道如何或为什么要更改它

我建议尊重用户的本地化设置,除非该设置是压倒性的默认设置,用户可能不会更改。例如,我相信绝大多数(90+%)在越南地理位置设置为
en-us
的用户,只要有一种简单的方式切换地区,看到越南语内容,而不是美国英语内容,几乎总是比看到越南语内容更好。另一方面,如果美国地理位置上的用户有越南语设置,一定要给他或她的越南语内容


这对越南的美国英语用户来说是否令人恼火?当然但对于大多数人来说,这也是最大的好处,有助于确保普通非技术用户获得最佳的真实体验。除非我们能用枪指着用户的头,迫使他们在打开电脑之前诚实地声明他们的语言/文化偏好,否则我们需要这样的启发。

我同意,让用户有机会在你的应用程序中用用户偏好覆盖他们。这对于诸如时区本地化之类的问题尤其方便,因为您无法从浏览器设置中获得这些问题。

在我职业生涯的某个阶段,我维护了TCP/IP协议栈的一部分。这使我处于一个非常罕见的位置,我非常清楚IP地址不应该被用作网络层地址以外的任何东西。IP地址和位置之间的任何关联几乎都是巧合——它是地址分布方式的产物,而不是IP地址含义的任何基本部分

(它们也不能用作计算机的唯一标识符,但情况不同)

我建议不要考虑地理位置。HTTP标准包括浏览器或其他用户代理在每个请求中包含用户区域性首选项的方法(请记住,它是一个加权首选项列表,不一定只有一个区域性)。因为浏览器比您更接近用户,所以您应该尊重此请求,至少作为默认请求

然后允许用户临时或永久更改他们对您的站点的偏好是可以的。甚至允许用户选择使用不同的文化设置查看不同的内容也是可以的。一个广泛的例子是一个既包含政治新闻又包含技术信息的网站。有人希望新闻用他们的“自然”语言,但技术信息用英语,这是很合理的


最后,可以有一个后备模式。例如,如果您有一个基于用户所在地区(例如经销商)为用户提供服务的网站,那么日语内容可能只存在于您的亚洲地区子网站上。访问您的EMEA网站的日语用户可能会被英语内容卡住,这很可能是他最后的选择。

这里的解决方案非常简单,开发人员做任何其他事情都很烦人

  • 尊重浏览器设置。如果它说英语,那么上帝保佑它是英语

  • 如果你一定要这样做,那么只需在顶部添加一个按钮来选择其他内容。然后,也只有到那时,才覆盖浏览器

  • 如果你认为你的方式更好。停下来,找个人