【问题标题】:How to set language of web page determined by visitor language如何设置由访问者语言确定的网页语言
【发布时间】:2009-12-01 14:39:18
【问题描述】:

谁能告诉我如何根据访问者的 IP 地址设置网页的语言,以便他自动获取他所在国家/地区语言的页面。当然,如果该语言是由 Web 开发人员实现的。更好的是,我展示了一些自动谷歌翻译文本的例子。

那么,如何让来自美国的访问者在我的页面上获得英文文本,而来自法国的访问者获得法文文本。所有这些都是由谷歌从某种第三种原始语言翻译而来的。

非常感谢。

【问题讨论】:

    标签: translation country


    【解决方案1】:

    谈到自动语言选择,如果您使用的是 Apache,我会选择 mod_rewrite 路线。在涉及应用程序代码的生产环境中更改更容易。 mod_rewrite 从标题中获取“Accept-Language”,然后应用重写规则。

    RewriteCond %{HTTP:Accept-Language} ^fr [NC]

    重写规则 ^$ /fr/ [L,R=301]

    您可以堆叠重写条件和规则以作为捕获所有语言变体(fr、fr-ca、fr-fr、fr-mo、fr-ch all go to fr)的工作

    查看官方 mod-rewrite 文档

    良好的语言示例: http://tech-blog.borychowski.com/index.php/2009/03/htaccess/redirect-according-to-browser-language-mod-rewrite-and-http_accept_language/

    一旦您将用户推送到正确的通用语言(当 URL 中没有定义时),应用程序可以设置会话语言,使用设置的语言编写链接。允许人们即时更改语言也很好,因为双语当地人(即魁北克)的大多数用户使用不止一种语言工作。我曾与喜欢阅读英文技术文档的法语程序员合作过。

    当涉及到谷歌翻译文本时,我会很小心。如果您进行任何电子商务交易,您的国际客户(或具有国际浏览器设置的本地客户)可能会收到不正确或不准确的产品信息、描述和“条款和条件”。如果您没有为每个即时翻译将准确的 Google 翻译文本保存到您的数据库中,则无法跟踪用户以他们的语言承诺的内容。一些未翻译的合法副本可能是有序的。

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      要么:

      • 从位置猜测语言(您可以从他们的 IP 中获得)。

      • 查看请求标头的“accept-language”值。

      要查看您的请求标头中的内容,请查看此处:http://www.ericgiguere.com/tools/http-header-viewer.html

      【讨论】:

        【解决方案3】:

        从偏移量来看这是个坏主意。

        1. 在 IP 地址上进行地理定位并不总是有效(如果您使用 TOR 则无效)
        2. 即使您做对了,您会为加拿大或瑞士等国家/地区做些什么?
        3. 自动翻译是可以的,但最好告诉别人您没有使用他们的语言的网站 - 然后他们可能更喜欢用其他语言阅读。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多