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

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

多谢。

有帮助吗?

解决方案

任何一个:

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

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

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

其他提示

当谈到自动语言选择时,如果您使用 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 全部转到 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 翻译文本保存到您的数据库中,则无法跟踪用户对其语言所做的承诺。一些未翻译的合法副本可能是有序的。

我希望这有帮助。

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

  1. 根据 IP 地址进行地理定位并不总是有效(如果您使用 TOR,则无效)
  2. 即使你做对了,你会为加拿大或瑞士等国家做什么?
  3. 自动翻译是可以的,但最好告诉某人您没有他们语言的网站 - 然后他们可能更喜欢用不同的语言阅读该网站。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top