谷歌翻译 API 之间的区别

2024-01-28

我正在构建一个基于 Google 翻译的开源 Chrome 扩展(here https://github.com/MagTun/Customizable-Google-Translate-Chrome-extension/blob/master/README.md).

我已经阅读了有关 Google 翻译 API 的其他问题(例如one https://stackoverflow.com/questions/43155233/google-translate-api-paid-vs-google-translate-api-free和这个one https://stackoverflow.com/q/8085743/3154274)但我仍然没有答案。 我发现了几个谷歌翻译的网址,如下所示:

似乎所有 URL 都是 3 部分的不同组合:

  • 基本网址:

    • translate.googleapis.com/translate_a/
    • https://translate.google.com/translate_a/
    • https://clients5.google.com/translate_a/
  • 之后的第一个参数translate_a/: 任何一个single or t

  • 的客户可以是gtx, t or dict-chrome-ex [or 显然任何ID https://stackoverflow.com/questions/43155233/google-translate-api-paid-vs-google-translate-api-free]

到目前为止,我已经看到返回的 JSON 存在差异。 这返回这个 json:

[[["père","father",null,null,1]
]
,null,"en"]

虽然这返回这个 json:

{"sentences":[{"trans":"père","orig":"father","backend":1},{"src_translit":"ˈfäT͟Hər"}],"dict":[{"pos":"noun","terms":["père"],"entry":[{"word":"père","reverse_translation":["father","dad","parent","papa"],"score":0.70910621,"previous_word":"le","gender":1}],"base_form":"father","pos_enum":1},{"pos":"verb","terms":["engendrer","concevoir"],"entry":[{"word":"engendrer","reverse_translation":["generate","engender","give rise to","beget","breed","father"],"synset_id":[52561],"score":0.00017133754},{"word":"concevoir","reverse_translation":["design","conceive","devise","plan","form","father"],"synset_id":[52561],"score":4.8327973e-05}],"base_form":"father","pos_enum":2}],"src":"en","alternative_translations":[{"src_phrase":"father","alternative":[{"word_postproc":"père","score":1000,"has_preceding_space":true,"attach_to_next_token":false}],"srcunicodeoffsets":[{"begin":0,"end":6}],"raw_src_segment":"father","start_pos":0,"end_pos":0}],"confidence":1,"ld_result":{"srclangs":["en"],"srclangs_confidences":[1],"extended_srclangs":["en"]},"query_inflections":[{"written_form":"father","features":{"number":2}},{"written_form":"fathers","features":{"number":1}}],"target_inflections":[{"written_form":"père","features":{"gender":1,"number":2}},{"written_form":"pères","features":{"gender":1,"number":1}},{"written_form":"père","features":{"number":2}},{"written_form":"pères","features":{"number":1}}]}

所以我的问题是上面给出的不同组合之间有什么(除了这个)差异。 在这种情况下我应该使用其中之一而不是另一个(返回的 JSON 除外)。是否有折旧或支持更多请求的产品?

对于查询的含义:https://stackoverflow.com/a/29537590/3154274 https://stackoverflow.com/a/29537590/3154274


关于您的实际问题,除了您所说的之外,我不确定是否存在任何有意义的差异,并且很难确定它们中的任何一个是否以及何时被弃用。

鉴于这些 API 没有记录,并且似乎不适合以这种方式使用,我认为不应考虑将它们中的任何一个用于开发实际应用程序。


但是,为了解决您寻找免费的人类语言翻译 A​​PI 的问题,我建议Azure 文本翻译 API https://azure.microsoft.com/en-us/pricing/details/cognitive-services/translator-text-api/它提供了翻译每月 200 万个字符作为其免费套餐的一部分。

对于您的特定用例,我认为可能存在大量重复翻译,我认为缓存结果将为减少使用量提供显着的好处。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谷歌翻译 API 之间的区别 的相关文章

随机推荐

  • 向 UITableViewCell 添加边距

    I am trying to achieve a view I mocked out on sketch I ve replicated it on Android cause I m really good on that platfor
  • Delphi - Graphics32,绘制抗锯齿圆角矩形

    如何使用 Graphics32 绘制抗锯齿圆角矩形 我设法在 bitmap32 画布上使用 TPolygon 制作了一个普通矩形 但我找不到任何绘制圆角的参考 希望有一些代码 function GetRoundedFixedRectangl
  • 致命:提交时无法解析 HEAD 错误

    每当我尝试提交工作时 都会收到此错误 fatal could not parse HEAD 如果我想保留我的更改 该怎么办 你知道什么分行吗HEAD应该指向 是吗master Run git symbolic ref HEAD refs h
  • Concourse:通过 HTTP 请求触发作业

    我正在尝试使用 Git 服务器上的 Web 挂钩触发 Concourse 作业 按照此Github 上的问题 https github com concourse concourse issues 331我找到了一个端点定义 https g
  • 谁能告诉我为什么我的算法是错误的?

    我正在研究单源最短路径问题 我对 bfs 进行了修改 可以解决该问题 该算法运行时间为 O 2E 次 我只是不明白为什么它是错误的 一定是这样 否则 dijstra 不会是最有效的算法 def bfs modified G src des
  • Cocos2d 游戏中的碰撞检测?

    我正在尝试检测碰撞 of two sprites按照以下方式 但是当我尝试运行游戏时没有发生碰撞 我可能做错了什么 void update ccTime dt CGRect projectileRect CGRectMake project
  • MongoDB:启动期间无法设置套接字

    我有 Windows 8 1 Enterprise 64 位机器 我已经为 Windows 安装了带有 SSL 支持的 mongodb msi 我创建了环境设置所需的所有必要条件 现在使用命令提示符导航到 mongodb 安装文件夹中的 b
  • 取消订阅 Single 的正确方法是什么[重复]

    这个问题在这里已经有答案了 我想做一些短暂的延迟后 public void notifyMe Single timer 500 TimeUnit MILLISECONDS subscribeOn Schedulers io subscrib
  • Rails 3.2.13 recognize_path 返回约束的路由错误

    我的路线中有两条路径 相同的路径指向不同的控制器和操作 match id gt users show as gt user constraints gt UserConstraint match id gt customers show a
  • 无法使用 ARIMA 预测下一个值:输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值

    我有以下代码片段 import pmdarima as pmd ts 3 86 5 52 68 14 20 12 22 4 2 model pmd auto arima ts start p 1 start q 1 test adf est
  • DTMF Goertzel 算法不起作用

    因此 我正在打开我在 audacity 中生成的 DTMF 音调的 raw 文件 我抓住了一个类似于维基百科文章中的罐装 goertzel 算法 但它似乎无法解码正确的数字 解码后的数字也会根据我传递给算法的 N 值而变化 据我了解 较高的
  • 生成随机数的div

    我无法让脚本创建随机数量的 div 在这个具体示例中 介于 5 和 20 之间 问题可能出在 for 循环中 生成随机数的函数在随机颜色函数下面正常工作 我猜由于某些原因它没有被识别 另外我在萤火虫中没有收到任何错误 Example fun
  • 调用 addAction 时删除通知?

    我在通知中添加了两个操作按钮 当我单击其中任何一个时 它们会执行所需的操作 但通知仍保留在我的通知抽屉中 我知道单击操作按钮时可以从通知抽屉中删除通知 因为这就是 Gmail 的功能 如果我单击主通知 它将打开应用程序并从通知抽屉中删除通知
  • 课程。重点是什么?

    我对 PHP 中的 OOP 相当陌生 我编写了几个基本脚本 但没有什么令人印象深刻的 我真正从中得到的只是 制作一组函数可能会更容易 include them 类的结构似乎只是混淆了原本简单的过程 将所有内容整理到一个类中并没有真正添加任何
  • 如何从文件中提取文本行?

    我有一个充满文件的目录 我需要从中提取页眉和页脚 它们的长度都是可变的 因此使用头部或尾部是行不通的 每个文件都有一行我可以搜索 但我不想在结果中包含该行 通常是 Start more text here 并结束于 Finish more
  • elixir+hex - ranch_proxy_protocol ssl:ssl_accept 3 已弃用,出现十六进制错误

    enter code here我正在以下命令运行 mix ecto create mix ecto migrate 这给出了一个错误 gt Compiling ranch proxy protocol gt Compiling src ra
  • javax.ws.rs.ProcessingException,在 Payara Server 5 中找不到内容类型 application/json 类型的 writer

    first Sorry for my bulky source code and simple question 我收到这个错误 javax ws rs ProcessingException RESTEASY003215 找不到内容类型应
  • Mockito 测试 void 方法抛出异常

    我有一个方法void返回类型 它还可能引发许多异常 因此我想测试引发的这些异常 所有尝试都失败了 原因相同 Stubber 类型中的方法 when T 不适用于参数 void 有什么想法如何让方法抛出指定的异常吗 doThrow new E
  • 使用 Boto3 列出所有“活动”EMR 集群

    我正在尝试使用 boto3 列出 EMR 上的所有活动集群 但我的代码似乎不起作用 它只是返回 null 我正在尝试使用 boto3 来做到这一点 1 列出所有活动的EMR集群 aws emr list clusters active 2
  • 谷歌翻译 API 之间的区别

    我正在构建一个基于 Google 翻译的开源 Chrome 扩展 here https github com MagTun Customizable Google Translate Chrome extension blob master