Cloud Translation 高级版支持以下功能:使用自定义模型翻译文本,以及创建术语表以确保 Cloud Translation API 正确地翻译特定于客户领域的术语。
如需了解有关安装 Google Cloud CLI、使用服务账号设置项目以及获取访问令牌的说明,请参阅设置页面。如果您计划使用术语表或批处理功能,还需要创建 Cloud Storage 存储分区,并将其访问权限授予您的服务账号。
如需翻译 PDF 格式的文档,请参阅翻译文档。
准备工作
在开始使用 Cloud Translation API 之前,您必须具有启用了 Cloud Translation API 的项目,并且必须具有适当的凭据。您还可以安装常用编程语言的客户端库,以便调用 API。如需了解详情,请参阅设置页面。
比较模型
向 Cloud Translation 高级版发出翻译请求时,您可以指定要使用的翻译模型。如果未指定模型,则系统会使用 nmt
模型。
模型 | 最适合的使用场景 | 示例 |
---|---|---|
神经机器翻译 (NMT) 模型 |
诸如并非针对某个领域的公共网站内容之类的一般文本应用场景,例如新闻报道。 |
新闻文章、社交媒体、聊天应用、评论 |
翻译大语言模型 (LLM)(预览版) |
Cloud Translation 高级版提供了两种模式的替代模型。 适用于不需要自定义的一般文本应用场景(例如对话消息)的文本翻译。自适应翻译,支持使用示例数据集进行实时自定义。 |
新闻文章、社交媒体、聊天应用、评论 |
AutoML 翻译模型 | 特定领域的文本。客户提供特定于其应用场景的训练数据,针对给定语言对自定义用于特定领域的 Google NMT 模型。 | 财经新闻、技术文档、使用该领域独有的术语和行话的任何文本。 |
您可以使用翻译模型的 ID 指定相应的翻译模型。NMT 模型和 LLM 的模型 ID 分别为 general/nmt
和 general/translation-llm
。AutoML Translation 模型 ID 在训练后生成。
注意事项
每个模型都支持自己的一组语言。检查您的源语言和目标语言是否受支持。如需了解详情,请参阅支持的语言。
LLM 文本翻译不支持术语表。如果您希望自定义翻译,不妨考虑自适应翻译。
对于 LLM 文本翻译,MIME 类型必须是
text/plain
。不支持 HTML。
翻译文本
对于 NMT 和 AutoML Translation 模型,输入文本可以是纯文本或 HTML。Cloud Translation API 不会翻译输入文本中的任何 HTML 标记,只会翻译出现在标记之间的文本。由于源语言和目标语言之间存在差异,输出会尽可能地保留(未翻译的)HTML 标记,并将翻译的文本置于标记之间。由于翻译中的词序更改,输出中 HTML 标记的顺序可能与输入文本中的顺序不同。
对于 LLM 文本翻译(预览版),MIME 类型必须是 text/plain
。
翻译输入字符串
REST
如需翻译文本,请发出 POST
请求,并在请求正文中提供 JSON 格式的文本,以标识要翻译的源语言 (source_language_code
)、目标语言 (target_language_code
) 以及要翻译的文本 (contents
)。您可以提供多个要翻译的文本字符串,只需在 JSON 文本中加入这些字符串即可(请参阅示例)可以使用相应的 ISO-639 代码来标识源语言和目标语言。
下面显示了使用 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!"] }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "translations": [ { "translatedText": "Доктор Ватсон, иди сюда!", }, { "translatedText": "Принеси мне кофе!", } ] }
translations
数组包含两个 translatedText
字段,其中译文以请求的 targetLanguageCode
语言(ru
:俄语)提供。译文的排列顺序与相应源数组在请求中的顺序相同。
Go
试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Go 设置说明进行操作。 如需了解详情,请参阅 Cloud Translation Go API 参考文档。
如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Java 设置说明进行操作。 如需了解详情,请参阅 Cloud Translation Java API 参考文档。
如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Cloud Translation Node.js API 参考文档。
如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Python 设置说明进行操作。 如需了解详情,请参阅 Cloud Translation Python API 参考文档。
如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Cloud Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Cloud Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Cloud Translation 参考文档。
使用特定模型翻译文本
REST
您可以使用 model
查询参数指定使用哪个模型进行翻译。
以下示例使用模型 ID 为 1395675701985363739
的自定义模型来翻译文本。您可以从 Google Cloud 控制台中的模型列表获取自定义模型的 ID,也可以从在训练模型时收到的 API 响应中获取此 ID。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目 ID。
- LOCATION:自定义模型所在的区域,例如
us-central1
。
HTTP 方法和网址:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText
请求 JSON 正文:
{ "model": "projects/PROJECT_ID/locations/LOCATION/models/1395675701985363739", "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 print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText"
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
{ "translation": { "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.", "model": "projects/PROJECT_NUMBER/locations/LOCATION/models/1395675701985363739" } }
Go
试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Go 设置说明进行操作。 如需了解详情,请参阅 Cloud Translation Go API 参考文档。
如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Java 设置说明进行操作。 如需了解详情,请参阅 Cloud Translation Java API 参考文档。
如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Cloud Translation Node.js API 参考文档。
如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Python 设置说明进行操作。 如需了解详情,请参阅 Cloud Translation Python API 参考文档。
如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Cloud Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Cloud Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Cloud Translation 参考文档。
音译
音译是 translateText
方法中的配置设置。启用音译时,您可以直接将拼音文字(拉丁文字)翻译为目标语言。例如,您可以将拼音化的日语文字直接翻译成英语、西班牙语或中文。生成的译文在目标语言的写入系统中。
在音译请求中,请仅包含拼音化文本。如果将拼音文字与非拼音文字混合使用,则 Cloud Translation 将无法确保一致且适当的翻译。
注意事项
音译与标准文字翻译的区别体现在以下几个方面:
- 音译仅支持部分语言。如需了解详情,请参阅受支持的语言页面上的音译列。
- MIME 类型必须为
text/plain
。不支持 HTML。 - 只有默认标准模型支持音译。不支持自定义模型。
- 音译的默认内容配额较低。如需了解详情,请参阅配额和限制。
REST
在 translateText
方法上设置 transliteration_config
字段。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID。
- LOCATION:您要执行此操作的区域。例如
us-central1
。 - SOURCE_LANGUAGE:(可选)输入文字的语言代码。如果已知,请设置为语言支持中列出的某种语言代码。
- TARGET_LANGUAGE:要将输入文字翻译成的目标语言。设置为语言支持中列出的某种语言代码。
- SOURCE_TEXT:要翻译的源语言拼音文字。
HTTP 方法和网址:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateText
请求 JSON 正文:
{ "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": "SOURCE_TEXT", "mime_type": "text/plain", "transliteration_config": { "enable_transliteration": true} }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "translations": [ { "translatedText": "TRANSLATED_TEXT", } ] }
其他资源
- 如需有关解决常见问题或错误的帮助,请参阅问题排查页面。