我需要批量翻译一些文案,每天大概有1万字左右,要翻译成三种语言,只能依赖于机器来翻译,大家都反馈 deepl 的翻译效果不错,我试用了一下,某些情况下确实比 google 翻译的好,
但是不太稳定,有的翻译效果特别好,有的特别差,但是 google 的翻译整体来说是稳定的,再加上 deepl 无法绑定我的信用卡,所以我最后选择了 google 翻译。
更新:实现了一个 google 批量翻译的功能
google 翻译怎么样算计费字符。
在计算用量时,Google 会按字符数来计算使用量,即使字符为多字节也是如此。
如果将
こんにちは 翻译为英语,将按 5 个字符计费。
请求中包含的所有字符数付费,未翻译的字符数也包括在内。比如说,空白字符也需要付费,标点也需要付费。
Google 翻译怎么样计费
- 每月前 50 万个字符免费。
- 每月输入 50 万个字符及 50 万个以上的字符,每 100 万个字符 $20。
- 如果一文章有 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"
}
}
机器替代人翻译,在大部分日常生活中已经没有问题了,佣抱机器吧,并且是正确的选择。
评论已关闭。