因此,我们必须以一种语言或另一种语言在我们的网站上提供大量内容。由于我们是网络专业人士,我们花了所有时间来学习人类语言 - 而不是学习计算机语言。所以我们需要一些来翻译我们的内容。
Google提供了translation service(among others)因此,鉴于他们庞大的帝国,我相信他们会(或不久将)拥有最好的翻译服务。考虑到这一点,使用它的最佳方法是什么?我们可能只是懒惰并使用他们提供的小部件 - 但我们会丢失所有内容和SEO汁液,因为谷歌会重写链接指向“translate.googleusercontent.com?translate=...”。
所以我的问题是 - 我们如何在保留翻译内容的同时使用此服务?
一种方法是使用Google AJAX API在需要时内联加载内容。但由于它由JS(like jQuery)提供支持 - 搜索引擎不会从中受益。
另一种方法是从谷歌翻译页面使用服务器端语言(如PHP)到scrap the content。但我不确定这是100%合法的。
最后,我想知道如何使用mod_rewrite来获取页面。但同样,我不认为这会使我们的网站受益。
RewriteRule ^(.*)-fr$ http://www.google.com/translate_c?hl=fr&sl=en&u=http://site.com/$1 [R,NC]
RewriteRule ^(.*)-de$ http://www.google.com/translate_c?hl=de&sl=en&u=http://site.com/$1 [R,NC]
RewriteRule ^(.*)-es$ http://www.google.com/translate_c?hl=es&sl=en&u=http://site.com/$1 [R,NC]
RewriteRule ^(.*)-it$ http://www.google.com/translate_c?hl=it&sl=en&u=http://site.com/$1 [R,NC]
您需要做的只是在您的网页上添加一些链接,并在链接和您的设置中的URL末尾附加变量“-fr”。
//View file
View Page in <a href="<?php print $uri_string; ?>-de">German</a>
有没有人对此有任何想法?
:编辑:
阅读google的T erms of Service后,似乎
你不会,也不会允许你的 最终用户或其他第三方: 将Google搜索结果整合为 您的财产或的主要内容 您房产的任何页面;提交任何 请求超过5000个字符 长度;
我觉得你不能使用谷歌translate URL翻译主要内容 - 使用PHP或AJAX - 如果该内容是页面的主要帖子。现在这是如何工作的?为什么要构建翻译API,然后不允许在主页内容上使用它?
答案 0 :(得分:5)
好吧,你应该阅读EULA,也许谷歌不希望你以这种方式使用他们的服务。
更不用说谷歌翻译在印欧语言中可能会很好,但是现在,翻译到其他语言家族真的很糟糕,并产生滑稽,毫无意义的文本(例如我自己的语言,匈牙利语,对谷歌来说是一场噩梦) )。我不认为它会在不久的将来达到至少可用的水平。
答案 1 :(得分:3)
我认为决定显示哪种语言的最友好的SEO方式是查看Accept-Language请求标题,尽管语言标志图标也不是一个坏主意,以防有人使用en-us浏览器感觉例如,阅读法语会更舒服。
看起来有一个(非官方的)API用于使用Google翻译进行翻译。它似乎是非正式的,但它是托管在谷歌代码上的,所以如果它是谷歌不想要的东西,那么现在它可能会消失。
您应该确保缓存已翻译的网页。
答案 2 :(得分:2)
要拥有一个真正的多语言网站,自动翻译不是也不会是一个足够好的解决方案。在我的网站上,我添加了一个界面,允许轻松的人工翻译,谷歌翻译(以及babelfish)用于在真实人类进行实际翻译之前建议翻译。检查http://transposh.org/上的项目是否您的网站位于WordPress上
答案 3 :(得分:2)
SEO Translate的质量仍然值得怀疑。鉴于它是基于统计翻译,从长远来看它会改善,但今天它是彻头彻尾的危险。我不会在我的网站上使用它 - 正如我在博客上的最后一篇文章中指出的那样,对新版Google algorithm on website translation的影响,最新的Google Panda算法更新会对拼写和语法错误造成不利影响,因此机器翻译可能会最终会惩罚你。
答案 4 :(得分:1)
经过更多的研究,显然谷歌确实暴露了JSON URL to make direct请求 - 因此使用服务器端语言似乎确实是一种选择(只要它们被缓存)。但是,一旦获得该内容,您仍需要弄清楚如何允许用户在当前应用程序的流程中访问它。也许类似于上面提到的mod_rewrite方法?
答案 5 :(得分:1)
您可以通过google语言api的REST界面翻译文本。 这是一个PHP库: http://code.google.com/p/php-language-api/
项目页面上有一个简单的例子。