如何设置由访问者语言确定的网页语言

时间:2009-12-01 14:39:19

标签: translation country

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

那么如何实现来自美国的访问者在我的页面上用英语获取文本,用法语访问法国的访问者。所有这些都是由Google翻译成的第三种原始语言。

非常感谢。

3 个答案:

答案 0 :(得分:2)

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

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

RewriteRule ^ $ / fr / [L,R = 301]

你可以叠加重写条件和规则来捕捉所有语言变化(fr,fr-ca,fr-fr,fr-mo,fr-ch都转到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中没有定义),应用程序可以设置会话语言,使用set lang编写链接。允许人们即时更改语言也很好,因为双语本地人(即魁北克省)的大多数用户使用多种语言。我和那些喜欢用英语阅读技术文档的法语程序员一起工作。

谈到谷歌翻译文本时我要小心。如果您正在进行任何电子商务交易,您的国际客户(或具有国际浏览器设置的本地客户)可能会收到错误或不准确的产品信息,说明和“条款和条件”。如果您没有为每次动态翻译将精确的Google翻译文本保存到您的数据库,则无法跟踪用户使用其语言提交的内容。一些非翻译的法律副本可能是有序的。

我希望这会有所帮助。

答案 1 :(得分:1)

或者:

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

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

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

答案 2 :(得分:-1)

这是偏移的一个坏主意。

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