如何优化Google Translate API调用以在单个请求中翻译多个单词

时间:2013-07-08 07:24:57

标签: optimization google-translate

的所有人。最近Google翻译被整合到我的项目中,该项目扮演翻译某些产品名称,产品描述,产品相关类别名称的角色。但由于我的数据库中存在大量产品(并且快速增加),谷歌翻译Api将花费相当多的钱。

我希望尽可能少地通过Google进行翻译。在翻译中,很多词在许多产品中都是相同的,例如:阿迪达斯 - 阿迪达斯,苹果 - iphone,篮球 - 篮球,Bla Bla .....我想做一些技巧,但却找不到主意。 有人遇到过这样的问题吗?

任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

听起来你需要的实际上是在字符串或子字符串级别(换句话说,每个数据库条目)重用翻译的能力。我知道,你无法真正与谷歌这样做。你有几个选择,正如我所看到的那样:

  • 您可以切换到Microsoft Translator并使用他们的方法 允许您自己放置翻译,例如他们的 协作翻译功能,可让您覆盖MT 一个首选的翻译,甚至投票翻译上/下。这里的质量将与Google大致相当(我经常发现它更好),并且您可以使用允许此覆盖的方法。此外,与Google不同,Microsoft API可以免费使用一定的数量。看一看:
    http://www.microsoft.com/en-us/translator/developers.aspx
  • Microsoft还有一个称为Microsoft Translator Hub的独特功能,它可以使用您的术语,例如,翻译。但是,根据您如何使用Microsoft实现任何解决方案,您可能仍然遇到的问题是您向Microsoft发出的调用次数超出了您的预期,此外,“匹配”仅发生在整体级别上记录或字符串,因此不会遇到将共享语言元素连接成一个字符串的情况。

  • 有一个名为GeoFluent的商业产品(完全披露 - 我是这个产品的产品经理,所以我显然有偏见:))与Microsoft Translator一起工作,但提供可以处理的翻译前后处理对于子段,可能会减少您每次通过翻译的音量。如果你提到,你正在迅速添加到你的数据库中,这是有道理的。当然,这也是一个商业产品,所以你必须平衡成本。 如果这有帮助,请告诉我,并乐意回答您的任何其他问题。 马库斯

答案 1 :(得分:0)

这里有一个PHP示例:http://weblite.ca/svn/dataface/modules/tm/trunk/lib/googleTranslatePlugin.php

允许您发送和数组并返回一个数组。

  

array(source => target)getTranslations()

     
      
  • 使用Google Translate API将所有用户提供的字符串翻译为目标语言,并返回source => target数组   字符串。
  •