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



每个人。最近谷歌翻译集成到我的项目中,该项目起到翻译一些产品名称、产品描述、产品相关类别名称的作用。但由于我的数据库中有很多产品(而且增长很快),谷歌翻译Api将花费大量资金。

我想通过谷歌翻译尽可能少。在翻译中,许多单词在许多产品中是相同的,例如:阿迪达斯 -阿迪达斯,苹果 -iphone,篮球 -篮球,Bla Bla。。。。。我想耍点小把戏,但没想到。有人遇到过这样的问题吗?

任何帮助都将不胜感激。

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

  • 你可以切换到Microsoft Translator并使用他们的方法允许您自己放置翻译,例如协作翻译功能,使您可以用一个首选翻译,甚至投票向上/向下翻译。这里的质量将与谷歌大致相当(我经常发现它更好),并且您可以使用允许这种覆盖的方法。此外,与谷歌不同的是,微软API在一定数量上是免费的。看看:
    http://www.microsoft.com/en-us/translator/developers.aspx
  • 微软还有一个独特的功能,叫做微软翻译中心,它可以使用你的术语进行翻译。然而,根据您使用Microsoft实现任何解决方案的方式,您可能仍然会遇到这样的问题,即您向Microsoft发出的调用比您希望的要多,而且,"匹配"只发生在整个记录或字符串的级别上,因此不会遇到将共享语言元素连接到一个字符串中的情况。

  • 有一个名为GeoFluent的商业产品(完全披露——我是该产品的产品经理,所以我显然有偏见:),它与Microsoft Translator合作,但提供翻译前和翻译后处理,可以处理细分市场,并可能减少您每次翻译的工作量。如果像您提到的那样,您正在快速添加到数据库中,这可能是有意义的。当然,这也是一个商业产品,所以你必须平衡成本。如果这有帮助,请告诉我,并很乐意回答您的任何其他问题。Marcus

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

这允许您发送、数组和返回数组。

array(source=>target)getTranslations()

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

最新更新