我们有一个使用Google翻译API的应用程序,以便将某些数据翻译成目标语言。
为此,我们使用/language/translate/v2
调用而未指定源语言,并且Google正在检测源语言并在同一调用中进行翻译。
在大多数情况下,我们发送的翻译文字都是我们的目标语言。例如:我们收到英文行(我们不知道源语言),需要将其翻译成英文。
/translate
的费用加倍,并且必须同时执行这两项操作吗?答案 0 :(得分:3)
您可能已经知道文档的Cloud Translation API > Documentation > Pricing部分,但是我将其发布在这里,以便所有人都可以使用。
如文档* Price is per character sent to the API for processing, including whitespace characters. Empty queries are charged for one character.
中所述。这意味着Google会对发送到API的每个字符收费。
但是,还指定了Google does not charge extra for language detection when you do not specify the source language for the translate method; the Language Detection price applies to detect method calls.
。这也意味着,如果您不指定源语言,则只为翻译过程付费,而不为语言检测付费。
答案 1 :(得分:2)
我们知道Google正在按字符和操作收费。但是,您将Google收取/ translate的费用加倍吗?它必须执行两项操作?
否。
当目标语言与检测到的目标语言相同时,Google会进行翻译吗?
否。
如果是这样,当源语言与目标语言相同时,Google会收费吗?
很好的问题,我想是这样,但不能说。
这似乎有点不公平,但是它们的大部分成本是开发并随后大规模处理请求。这可以回溯到他们使API付费的最初动机-人们以非常低效的方式调用它,例如,每次加载网页时,都有使其对其他开发人员不稳定或对Google而言不可持续的风险。
类似地,即使通常在幕后翻译两次(从源语言到英语,从英语到目标语言),他们也不会对两种非英语语言的翻译收取两次费用。因此,大多数情况下,它对客户有利。
就个人而言,如果我知道大多数查询都是无操作的,那么我将首先运行客户端lang id库。然后,您可以设置一个阈值,以平衡成本和风险。实际上,如果lang id为多种语言提供高分,则您可以发送多个请求。
除了API成本外,还有延迟,机器成本和网络成本,而且我敢打赌,假设您的内容不是开放域,您可以通过对内容进行一些调整来比Google Translate的检测更好。