翻译文本
本页面介绍如何使用 Cloud Translation 基本版和高级版来翻译示例文本。
如基本文本翻译示例所示,Cloud Translation 基本版 API 提供了对标准神经机器翻译 (NMT) 模型的即插即用式直接访问权限。
另一方面,Cloud Translation 高级版则专为自定义和长篇内容用例进行了优化。如需查看示例代码,请参阅高级文本翻译示例。除了神经机器翻译 (NMT) 模型之外,高级版还可让您访问 Translation LLM(Google 最新的、最高质量的 LLM 类型翻译模型),并支持您针对特定用例创建自定义模型。
Cloud Translation 高级版还提供高级文本翻译功能(例如翻译文档和创建术语表),以确保正确翻译特定于您领域的术语。
准备工作
在开始使用 Cloud Translation API 之前,您必须具有启用了 Cloud Translation API 的项目,并且必须具有适当的凭据。您还可以安装常用编程语言的客户端库,以便调用 API。如需了解详情,请参阅设置页面。
高级文本翻译
在使用 Cloud Translation 高级版进行翻译时,输入内容可以是纯文本或 HTML。Cloud Translation API 不会翻译输入文本中的任何 HTML 标记,只会翻译出现在标记之间的文本。由于源语言和目标语言之间存在差异,输出会尽可能地保留(未翻译的)HTML 标记,并将翻译的文本置于标记之间。
高级文本翻译示例
REST
如需翻译文本,请发出 POST 请求,并在请求正文中提供 JSON 格式的文本,以标识要翻译的源语言 (source_language_code)、目标语言 (target_language_code) 以及要翻译的文本 (contents)。您可以提供多个要翻译的文本字符串,只需在 JSON 文本中加入这些字符串即可(请参阅示例)可以使用相应的 ISO-639 代码来标识源语言和目标语言。
下面显示了使用 curl 或 PowerShell 的 POST 请求的示例。该示例使用通过 Google CloudGoogle 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 响应或相应的 Pantheon 页面中获取此 ID。如需使用翻译 LLM,请将 general/translation-llm 指定为模型 ID。如需使用自定义翻译 LLM(公开预览版),请将 model/translation-llm-custom/{model-id} 指定为模型 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",
}
]
}
基本文本翻译示例
REST
您可以通过 REST 方法调用基本版 translate 方法来发出 Cloud Translation 基本版请求。可以使用相应的 ISO-639 代码来标识源语言和目标语言。
下面显示了使用 curl 或 PowerShell 的 POST 请求的示例。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
HTTP 方法和网址:
POST https://translation.googleapis.com/language/translate/v2
请求 JSON 正文:
{
"q": "The Great Pyramid of Giza (also known as the Pyramid of Khufu or the Pyramid of Cheops) is the oldest and largest of the three pyramids in the Giza pyramid complex.",
"source": "en",
"target": "es",
"format": "text"
}
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/language/translate/v2"
PowerShell
将请求正文保存在名为 request.json 的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/language/translate/v2" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
{
"data": {
"translations": [{
"translatedText": "La Gran Pirámide de Giza (también conocida como la Pirámide de Khufu o la Pirámide de Keops) es la más antigua y más grande de las tres pirámides en el complejo de la pirámide de Giza."
}]
}
}
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 参考文档。
模型参数
当您向 Cloud Translation 基本版发出翻译请求时,系统将使用 Google 神经机器翻译 (NMT) 模型翻译您的文本。 您不能使用任何其他模型。如需使用 AutoML 模型来翻译文本,请使用 Cloud Translation 高级版。
其他资源
- 如需有关解决常见问题或错误的帮助,请参阅问题排查页面。
- 如需 Cloud Translation 的常见问题解答,请参阅常规常见问题解答页面。
- Cloud Translation 有两种版本。如需详细了解每个版本,请参阅比较基本版和高级版。