gpt4 book ai didi

browser - 网站的 I18n : how do I detect language?

转载 作者:行者123 更新时间:2023-12-02 13:39:45 28 4
gpt4 key购买 nike

我正在开发一个有一些小的国际化需求(英语、法语和德语)的网站,我想弄清楚用户来自哪里,以便我知道要显示哪些内容。我认为正确的方法是检查“HTTP_ACCEPT_LANGUAGE” header 以找出用户请求的#1语言(并且可以安全地假设德国的所有用户都有默认要求 DE 等的浏览器) .

这是正确的吗?或者我必须做点别的事情(希望不要太荒谬,比如试图从他们的 IP 中找出他们的国家/地区)...?

谢谢--埃里克

最佳答案

如果您在没有进一步考虑的情况下选择当前最流行的选择 - geoIP,那么您并没有给您的用户带来很大的好处。

语言和国家/地区不重叠。您打算如何处理来自瑞士 IP 地址的用户?比利时?加拿大?如果您在每种情况下都选择多数语言,那么您会惹恼那些碰巧属于大型语言少数群体的重复访问者:他们每次都会用“错误”的语言迎接,即使该网站可以在他们的首选语言。对于外籍人士来说也是如此——从经验来看,仅仅因为我碰巧去瑞典旅行而被人用瑞典语打招呼是非常令人不安的。 (甚至大网站也会出错。前几天,我从伦敦抵达温哥华机场,Google 将我切换到 fr_CA。)不要忘记,很多人都掌握多种语言,或者不是以本国主要语言为母语的人居住地。

以下是我遵循的准则:

  1. 首先检查用户告诉您他们可能的选择。最简单的方法是:
    • HTTP 用户代理字符串 ( examples for Firefox ) 中解析语言/文化信息。这可以告诉您有关他们正在运行的操作系统版本的信息,并且可以很好地表明偏好。他们当然可能会欺骗用户代理,但如果他们这样做,他们就不太可能对自己得到了错误的预设感到惊讶。
    • Accept-Language HTTP header (优先级较低,因为您可能会在这里看到比使用英语作为操作系统首选项的实际用户更多的“en”)。
  2. 其次,保存用户的偏好。如果他们登录,请询问他们并将其保存为选项。如果没有,请设置一个 cookie(具有合理的过期设置)。这样,他们回来时就会感到惊喜。
  3. 仅将 GeoIP 作为最后的手段。

关于browser - 网站的 I18n : how do I detect language?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3277050/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com