分类
工具

Google 批量翻译文档

我需要批量翻译一些文案,每天大概有1万字左右,要翻译成三种语言,只能依赖于机器来翻译,大家都反馈 deepl 的翻译效果不错,我试用了一下,某些情况下确实比 google 翻译的好,
但是不太稳定,有的翻译效果特别好,有的特别差,但是 google 的翻译整体来说是稳定的,再加上 deepl 无法绑定我的信用卡,所以我最后选择了 google 翻译。

更新:实现了一个 google 批量翻译的功能

https://fanyi.qishiya.com

google 翻译怎么样算计费字符。

在计算用量时,Google 会按字符数来计算使用量,即使字符为多字节也是如此。
如果将

こんにちは 翻译为英语,将按 5 个字符计费。
请求中包含的所有字符数付费,未翻译的字符数也包括在内。比如说,空白字符也需要付费,标点也需要付费。

Google 翻译怎么样计费

  1. 每月前 50 万个字符免费。
  2. 每月输入 50 万个字符及 50 万个以上的字符,每 100 万个字符 $20。
  3. 如果一文章有 1 万个字符,要翻译成 3 种语言,那 google 会按计费成 3 万个字符。

怎么样使用 Google 批量翻译

写一个配置文件,比如我要英文(en)翻译成简体中文(zh-cn)和阿拉伯语(ar),那我的 sourceLanguageCode 定义成 en,目标定义成 ar, zh-cn。
同时要指定要翻译的源文件的完整路径(并且把源文件上传到 google storage 中),也配置翻译完输出的目标(必须是一个空目录)。

通过如下命令提交给 google 翻译平台。

curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://translation.googleapis.com/v3/projects/$PROJECT-ID/locations/us-central1:batchTranslateText

提交完成后会返回如下格式,其中20191107-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06 是返回的操作ID。

{
  "name": "projects/project-number/locations/us-central1/operations/20191107-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata",
    "state": "RUNNING"
  }
}

从返回结果来看,代码已经跑起来了,但是翻译成功与否我们不知道,我们可以通过 操作 ID 查询到状态。

curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) https://translation.googleapis.com/v3/projects/effective-abcc-110/locations/us-central1/operations/20191107-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06

状态返回RUNNING

{
  "name": "projects/123456/locations/us-central1/operations/20191107-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata",
    "state": "RUNNING",
    "totalCharacters": "24310",
    "submitTime": "2021-06-01T03:53:45Z"
  }

当翻译完成,状态变成如下,会告诉你翻译了多少字符,是否翻译成功。

{
  "name": "projects/123456/locations/us-central1/operations/20191107-08251564068323-5d3895ce-0000-2067-864c-001a1136fb06",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateMetadata",
    "state": "SUCCEEDED",
    "translatedCharacters": "24310",
    "totalCharacters": "24310",
    "submitTime": "2021-06-01T03:53:45Z"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.translation.v3.BatchTranslateResponse",
    "totalCharacters": "24310",
    "translatedCharacters": "24310",
    "submitTime": "2021-06-01T03:53:45Z",
    "endTime": "2021-06-01T03:55:06Z"
  }
}

机器替代人翻译,在大部分日常生活中已经没有问题了,佣抱机器吧,并且是正确的选择。

“Google 批量翻译文档”上的一条回复