题
有人可以告诉我如何根据访问者的 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 文档
一旦您将用户推送到正确的通用语言(当 URL 中未定义任何通用语言时),应用程序就可以设置会话语言,使用设置的语言编写链接。允许人们即时更改语言也很好,因为大多数用户都是双语当地人(即魁北克省)使用不止一种语言工作。我曾与讲法语的程序员一起工作过,他们更喜欢阅读英文技术文档。
当涉及到谷歌翻译文本时我会小心。如果您正在进行任何电子商务交易,您的国际客户(或具有国际浏览器设置的本地客户)可能会获得不正确或不准确的产品信息、描述以及“条款和条件”。如果您没有将每个即时翻译的准确 Google 翻译文本保存到您的数据库中,则无法跟踪用户对其语言所做的承诺。一些未翻译的合法副本可能是有序的。
我希望这有帮助。
从偏移量来看,这是一个坏主意。
- 根据 IP 地址进行地理定位并不总是有效(如果您使用 TOR,则无效)
- 即使你做对了,你会为加拿大或瑞士等国家做什么?
- 自动翻译是可以的,但最好告诉某人您没有他们语言的网站 - 然后他们可能更喜欢用不同的语言阅读该网站。