Cloud Translation 高级版支持以下功能:使用自定义 AutoML Translation 模型翻译文本,以及创建术语表以确保 Cloud Translation API 正确地翻译特定于客户领域的术语。
如果要为项目使用 AutoML 自定义模型,您必须启用 AutoML API (automl.googleapis.com)。 如需了解有关安装 Google Cloud CLI、使用服务帐号设置项目以及获取访问令牌的说明,请参阅设置页面。如果您计划使用术语表或批处理功能,还需要创建 Cloud Storage 存储分区,并将其访问权限授予您的服务帐号。
如需翻译 PDF 格式的文档,请参阅翻译文档。
准备工作
在开始使用 Cloud Translation API 之前,您必须具有启用了 Cloud Translation API 的项目,并且必须具有具有适当凭据的私钥。 您还可以安装常用编程语言的客户端库,以便调用 API。如需了解详情,请参阅设置页面。
比较模型
向 Cloud Translation 高级版发出翻译请求时,您可以指定要使用的翻译模型。如果未指定模型,则系统会使用 nmt
模型。
模型 | 最适合的使用场景 | 示例 |
---|---|---|
神经机器翻译 (NMT) 模型 |
诸如并非针对某个领域的公共网站内容之类的一般文本用例,例如新闻文章。 |
新闻文章、社交媒体、聊天应用、评论 |
AutoML 翻译模型 | 特定领域的文本。客户提供特定于其用例的训练数据,针对给定语言对自定义用于特定领域的 Google NMT 模型。 | 财经新闻、技术文档、使用该领域独有的术语和行话的任何文本。 |
您可以使用翻译模型的 ID 指定相应的翻译模型。对于 NMT 模型,模型 ID 为 general/nmt
。如需了解 AutoML Translation 模型 ID,请参阅下一部分。
翻译文本
输入文本可以是纯文本或 HTML。Cloud Translation API 不会翻译输入文本中的任何 HTML 标记,只会翻译出现在标记之间的文本。由于源语言和目标语言之间存在差异,输出会尽可能地保留(未翻译的)HTML 标记,并将翻译的文本置于标记之间。 由于翻译中的词序更改,输出中 HTML 标记的顺序可能与输入文本中的顺序不同。
翻译输入字符串
REST 和命令行
如需翻译文本,请发出 POST
请求,并在请求正文中提供 JSON 格式的文本,以标识要翻译的源语言 (source_language_code
)、目标语言 (target_language_code
) 以及要翻译的文本 (contents
)。您可以提供多个要翻译的文本字符串,只需在 JSON 文本中加入这些字符串即可(请参阅示例)可以使用相应的 ISO-639-1 代码来标识源语言和目标语言。
下面显示了使用 curl
或 PowerShell 的 POST
请求的示例。该示例针对通过 Google Cloud CLI 为项目设置的服务帐号使用访问令牌。如需了解有关安装 Google Cloud CLI、使用服务帐号设置项目以及获取访问令牌的说明,请参阅设置页面。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目编号或 ID
HTTP 方法和网址:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID:translateText
请求 JSON 正文:
{ "sourceLanguageCode": "en", "targetLanguageCode": "ru", "contents": ["Dr. Watson, come here!", "Bring me some coffee!"] }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
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_NUMBER_OR_ID:translateText "
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID:translateText " | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
{ "translations": [ { "translatedText": "Доктор Ватсон, иди сюда!", }, { "translatedText": "Принеси мне кофе!", } ] }
translations
数组包含两个 translatedText
字段,其中译文以请求的 targetLanguageCode
语言(ru
:俄语)提供。译文的排列顺序与相应源数组在请求中的顺序相同。
Go
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 Translation Go API 参考文档。
Java
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 Translation Java API 参考文档。
Node.js
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Translation Node.js API 参考文档。
Python
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 Translation Python API 参考文档。
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Translation 参考文档。
使用 AutoML Translation 自定义模型翻译文本
REST 和命令行
以下示例使用模型 ID 为 TRL1395675701985363739
的 AutoML Translation 模型翻译文本。您可以从 AutoML Translation 界面上的模型列表中获取 AutoML Translation 模型的 ID,也可以从在训练模型时收到的 API 响应中获取此 ID。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目编号或 ID
HTTP 方法和网址:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:translateText
请求 JSON 正文:
{ "model": "projects/PROJECT_NUMBER_OR_ID/locations/us-central1/models/TRL1395675701985363739", "sourceLanguageCode": "en", "targetLanguageCode": "ru", "contents": ["Dr. Watson, please discard your trash. You've shared unsolicited email with me. Let's talk about spam and importance ranking in a confidential mode."] }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
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_NUMBER_OR_ID/locations/us-central1:translateText "
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:translateText " | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
{ "translation": { "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.", "model": "projects/project-number/locations/us-central1/models/TRL1395675701985363739" } }
Go
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Go 设置说明进行操作。如需了解详情,请参阅 Translation Go API 参考文档。
Java
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Java 设置说明进行操作。如需了解详情,请参阅 Translation Java API 参考文档。
Node.js
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Translation Node.js API 参考文档。
Python
在试用此示例之前,请按照《Translation 快速入门:使用客户端库》中的 Python 设置说明进行操作。如需了解详情,请参阅 Translation Python API 参考文档。
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Translation 参考文档。
使用模型参数
REST 和命令行
您可以使用 model
查询参数指定使用哪个模型进行翻译。例如,如需使用 NMT 模型,请指定 nmt
。
以下示例展示了如何在翻译请求中使用 model
参数。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目编号或 ID
HTTP 方法和网址:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/global:translateText
请求 JSON 正文:
{ "model": "projects/PROJECT_NUMBER_OR_ID/locations/global/models/general/nmt", "sourceLanguageCode": "en", "targetLanguageCode": "de", "contents": ["Come here!"] }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
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_NUMBER_OR_ID/locations/global:translateText "
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/global:translateText " | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
{ "translations": [ { "translatedText": "Komm her!", "model": "projects/project-number/locations/global/models/general/nmt" } ] }
其他资源
- 如需有关解决常见问题或错误的帮助,请参阅问题排查页面。