创建和使用术语表(高级版)
术语表是一种自定义字典,用于确保 Cloud Translation API 以一致的方式对客户特定领域的术语进行翻译。这通常涉及指定如何翻译命名实体。
您可以为以下用例使用术语表:
- 产品名称:例如,“Google Home”必须翻译为“Google Home”。
- 有歧义的字词:例如,“bat”一词既可能表示体育用品,也可能表示动物。如果您知道自己正在翻译有关体育的字词,您可能需要使用术语表向 Cloud Translation API 提供“bat”的体育用品译文,而非动物相关译文。
- 外来词:例如,法语的“bouillabaisse”翻译为英语的“bouillabaisse”。十九世纪,英语借用了法语中的“bouillabaisse”一词。一个说英语的人,如果欠缺法国文化背景知识,可能不知道 bouillabaisse 是一种浓味鱼肉汤。术语表可以替换译文,以便将法语的“bouillabaisse”翻译为英语的“fish stew”。
准备工作
在开始使用 Cloud Translation API 之前,您必须具有启用了 Cloud Translation API 的项目,并且必须具有适当的凭据。您还可以安装常用编程语言的客户端库,以便调用 API。如需了解详情,请参阅设置页面。
所需权限
要使用术语表,您的服务账号需要具备特定于术语表的权限。您可以使用预定义的 IAM 角色(例如 Cloud Translation API Editor (roles/cloudtranslate.editor
))之一向服务账号授予角色,或者创建能够授予所需权限的自定义角色。您可以参阅 IAM 权限参考文档,了解所有 Cloud Translation API 权限。Cloud Translation 权限前缀为 cloudtranslate
。
要创建术语表,您还需要具备读取术语表所在的 Cloud Storage 存储桶内的文件的权限。您可以使用预定义的 IAM 角色之一(例如 Storage Object Viewer (roles/storage.objectViewer
))向服务账号授予角色,或者创建可授予读取对象权限的自定义角色。
如需了解如何向角色添加账号,请参阅授予、更改、撤消对资源的访问权限。
创建术语表
术语表中的术语可以是单个词条(单词)或短语(通常少于五个单词)。要使用术语表,您需要执行以下主要步骤:
一个项目可以有多个术语表。您可以获取可用术语表的列表,还可以删除不再需要的术语表。
无效搜索字词
Cloud Translation 会忽略术语表中包含的一些术语:这些术语称为无效搜索字词。在翻译无效搜索字词时,Cloud Translation 会忽略任何匹配的术语表条目。如需查看所有无效搜索字词的列表,请参阅术语表无效搜索字词。
创建术语表文件
从根本上说,术语表是一个文本文件,其中每一行包含对应术语的多种语言版本翻译。Cloud Translation API 既支持使用单向术语表指定一对源语言和目标语言所需的翻译,也支持使用等效术语集确定多种语言版本的等效术语。
一个术语表输入文件中的术语总数(包括所有语言的所有术语)不能超过 10485760 个 UTF-8 字节。术语表中的任何一个术语都必须小于 1024 个 UTF-8 字节。长度超过 1024 个字节的术语会被忽略。
默认情况下,术语表匹配项区分大小写。应用术语表时,您可以忽略所有条目的大小写。如果混合使用区分大小写的术语和不区分大小写的术语,请使用默认行为;如果术语不区分大小写,请在术语表中添加这两种形式。
单向术语表
Cloud Translation API 接受 TSV、CSV 或 TMX 文件。
TSV 和 CSV
对于制表符分隔值 (TSV) 和逗号分隔值 (CSV),每一行都包含一对由制表符 (\t
) 或逗号 (,
) 分隔的字词。第一列包含源语言字词,第二列包含目标语言字词,如以下示例所示:
TMX 格式
TMX 格式是一种用于提供源文本和目标译文的标准 XML 格式。Cloud Translation API 支持采用 TMX 1.4 版格式的输入文件。此示例说明了所需的结构:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE tmx SYSTEM "tmx14.dtd">
<tmx version="1.4">
<header segtype="sentence" o-tmf="UTF-8"
adminlang="en" srclang="en" datatype="PlainText"/>
<body>
<tu>
<tuv xml:lang="en">
<seg>account</seg>
</tuv>
<tuv xml:lang="es">
<seg>cuenta</seg>
</tuv>
</tu>
<tu>
<tuv xml:lang="en">
<seg>directions</seg>
</tuv>
<tuv xml:lang="es">
<seg>indicaciones</seg>
</tuv>
</tu>
</body>
</tmx>
在格式正确的 TMX 文件中,<header>
元素必须使用 srclang
特性标识源语言,并且每个 <tuv>
元素都必须使用 xml:lang
特性标识所含文本的语言。您可以使用 ISO-639 代码来标识源语言和目标语言。
所有 <tu>
元素必须包含一对具有相同源语言和目标语言的 <tuv>
元素。如果一个 <tu>
元素包含两个以上的 <tuv>
元素,则 Cloud Translation API 只会处理与源语言和目标语言匹配的第一对 <tuv>
并忽略其余 <tuv> 元素。
如果一个 <tu>
元素没有匹配的 <tuv>
元素对,则 Cloud Translation API 会跳过无效的 <tu>
元素。
Cloud Translation API 在处理 <seg>
元素之前,会先剥离其周围的标记。如果一个 <tuv>
元素包含多个 <seg>
元素,则 Cloud Translation API 会将其中的文本连接成一个元素,并在它们之间留一个空格。
如果文件包含上文没有提及的 XML 标记,则 Cloud Translation API 将忽略这些标记。
如果文件不符合正确的 XML 和 TMX 格式,例如缺少结束标记或 <tmx>
元素,则 Cloud Translation API 将取消处理。如果 Cloud Translation API 跳过 1024 个以上无效的 <tu>
元素,那么系统也会取消处理。
等效术语集 (CSV)
对于等效术语集,Cloud Translation API 仅接受 CSV 格式的文件。如需定义等效术语集,您可以创建一个多列 CSV 文件,其中每一行列出一个术语表术语的多种语言版本翻译。
此文件中的第一行是标题行,其中使用 ISO-639 或 BCP-47 语言代码标识每一列对应的语言。您还可以选择添加词性 (pos) 列和说明 (description) 列。该算法目前不使用 pos 信息,并且不会验证特定的 pos 值。
后续各行包含标题中所标识语言版本的等效术语表术语。如果该术语仅提供了部分语言版本,则可以将某些列留空。
创建术语表资源
确定等效术语表术语以后,您可以通过创建术语表资源,使术语表文件可用于 Cloud Translation API。
单向术语表
创建单向术语表时,必须通过指定源语言 (source_language_code
) 和目标语言 (target_language_code
) 来指示语言对 (language_pair
)。以下示例使用的是 REST API 和命令行,但您也可以使用客户端库创建单向术语表。
REST
创建新的术语表时,需要提供术语表 ID(资源名称)。 例如:projects/my-project/locations/us-central1/glossaries/my-en-to-ru-glossary
my-project
是 PROJECT_NUMBER_OR_ID,my-en-ru-glossary
是您提供的 glossary-id。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
- glossary-id:您的术语表 ID,例如 my_en_ru_glossary
- bucket-name:您的术语表文件所在的存储桶的名称
- glossary-filename:术语表的文件名
HTTP 方法和网址:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries
请求 JSON 正文:
{ "name":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id", "languagePair": { "sourceLanguageCode": "en", "targetLanguageCode": "ru" }, "inputConfig": { "gcsSource": { "inputUri": "gs://bucket-name/glossary-filename" } } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/project-number/locations/us-central1/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3beta1.CreateGlossaryMetadata", "name": "projects/project-number/locations/us-central1/glossaries/glossary-id", "state": "RUNNING", "submitTime": "2019-11-19T19:05:10.650047636Z" } }
等效术语集术语表
在等效术语集中确定术语表术语以后,请通过创建术语表资源,使术语表文件可用于 Cloud Translation API。
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
- glossary-id:您的术语表 ID
- bucket-name:您的术语表文件所在的存储桶的名称
- glossary-filename:术语表的文件名
HTTP 方法和网址:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries
请求 JSON 正文:
{ "name":"projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id", "languageCodesSet": { "languageCodes": ["en", "en-GB", "ru", "fr", "pt-BR", "pt-PT", "es"] }, "inputConfig": { "gcsSource": { "inputUri": "gs://bucket-name/glossary-file-name" } } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/project-number/locations/us-central1/operations/20191103-09061569945989-5d937985-0000-21ac-816d-f4f5e80782d4", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3beta1.CreateGlossaryMetadata", "name": "projects/project-number/locations/us-central1/glossaries/glossary-id", "state": "RUNNING", "submitTime": "2019-11-03T16:06:29.134496675Z" } }
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 高级版中,您可以明确指定要用于翻译文本的翻译模型。您可以将 Translation-LLM、NMT 和自定义模型与术语表结合调用,但只有 TranslationLLM 支持使用上下文术语表实现最新的质量提升。如需应用此功能,请将 BOOLEAN_CONTEXTUAL: 设置为 TRUE。 还可以确定为特定领域的术语使用的术语表。
REST
以下示例使用默认 NMT 模型和术语表翻译文本。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID。
- GLOSSARY_ID:您的术语表 ID,例如
my-en-ru-glossary
。 - BOOLEAN:匹配是否不区分大小写。默认情况下,此值为
false
。 - BOOLEAN_CONTEXTUAL:是否在术语表翻译中考虑上下文。默认情况下,此值为
false
。
HTTP 方法和网址:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1:translateText
请求 JSON 正文:
{ "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.", "glossaryConfig": { "glossary": "projects/project-number/locations/us-central1/glossaries/GLOSSARY_ID", "ignoreCase": BOOLEAN, "contextual_translation_enabled": BOOLEAN_CONTEXTUAL } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "glossaryTranslations": { "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со я . Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.", "glossaryConfig": { "glossary": "projects/project-number/locations/us-central1/glossaries/GLOSSARY_ID", "ignoreCase": BOOLEAN, "contextual_translation_enabled": BOOLEAN_CONTEXTUAL } }, "translations": { "translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора. Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о спаме и важности рейтинга в конфиденциальном режиме.", } }
translations
字段包含应用术语表之前的常规机器翻译;glossaryTranslations
字段包含应用术语表之后的翻译。将 contextual_translation_enabled
字段设置为 true
后,响应将仅包含 glossaryTranslations
字段,而不会包含 translations
字段。
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
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
- LOCATION:源数据集所在的区域,例如
us-central1
。 - DATASET_NAME:Cloud Translation 用于自定义翻译的数据集的名称,格式为
projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID
。您可以通过列出项目中的所有数据集来获取数据集名称。 - SOURCE_TEXT:要翻译的文本。
- MIME_TYPE(可选):源文本的格式,例如
text/html
或text/plain
。默认情况下,MIME 类型设置为text/plain
。 - GLOSSARY_ID:您的术语表 ID,例如
my-en-ru-glossary
。 - BOOLEAN(可选):匹配是否不区分大小写。默认情况下,此值为
false
。 - BOOLEAN_CONTEXTUAL(可选):在翻译术语表时是否考虑上下文。默认情况下,此值为
false
。
HTTP 方法和网址:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate
请求 JSON 正文:
{ "dataset": "DATASET_NAME", "content": ["SOURCE_TEXT"], "mimeType": "MIME_TYPE", "glossaryConfig": { "glossary": "projects/project-number/locations/LOCATION/glossaries/GLOSSARY_ID", "ignoreCase": BOOLEAN, "contextual_translation_enabled": BOOLEAN_CONTEXTUAL } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "translations": [ { "translatedText": "TRANSLATED_TEXT" } ], "languageCode": "TARGET_LANGUAGE", "glossaryTranslations": { "translatedText": "TRANSLATED_TEXT", "glossaryConfig": { "glossary": "projects/project-number/locations/LOCATION/glossaries/GLOSSARY_ID", "ignoreCase": BOOLEAN, "contextual_translation_enabled": BOOLEAN_CONTEXTUAL } }, }
Java
试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Java 设置说明进行操作。 如需了解详情,请参阅 Cloud Translation Java API 参考文档。
如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
{% dynamic setvar launch_stage %}preview{% dynamic endsetvar %} {% dynamic setvar launch_type %}feature{% dynamic endsetvar %} {% dynamic include /docs/includes/___info_launch_stage_disclaimer %} /** Translates using AdaptiveMt. */ private static void adaptiveMtTranslate( TranslationServiceClient translationServiceClient, String projectId, String datasetId) { String adaptiveMtDatasetName = String.format( "projects/%s/locations/LOCATION/adaptiveMtDatasets/%s", projectId, datasetId); String glossaryId = "your-glossary-display-name"; GlossaryName glossaryName = GlossaryName.of(projectId, location, glossaryId); GlossaryConfig glossaryConfig = GlossaryConfig.newBuilder().setGlossary(glossaryName.toString()).build(); AdaptiveMtTranslateRequest request = AdaptiveMtTranslateRequest.newBuilder() .setParent(LocationName.of(projectId, "us-central1").toString()) .setDataset(adaptiveMtDatasetName) .addContent("Sample translation text") .setGlossaryConfig(glossaryConfig) .build(); AdaptiveMtTranslateResponse response = translationServiceClient.adaptiveMtTranslate(request); System.out.println("Translating using AdaptiveMt"); System.out.println(response); }
Node.js
试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Node.js 设置说明进行操作。 如需了解详情,请参阅 Cloud Translation Node.js API 参考文档。
如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
async function translate() { /** * TODO(developer): Uncomment these variables before running the sample. */ // const projectId = 'YOUR_PROJECT_ID'; // const location = 'global'; // const glossaryId = 'YOUR_GLOSSARY_ID'; const glossaryConfig = { glossary: `projects/${projectId}/locations/${location}/glossaries/${glossaryId}`, }; const request = { parent: `projects/${projectId}/locations/${location}`, dataset: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${ adaptiveMtDatasetName}`, content: ['Sample translate query'], glossaryConfig: glossaryConfig, } const [response] = await translationClient.adaptiveMtTranslate(request) console.log('Translating') console.log(response) }
Python
试用此示例之前,请按照 Cloud Translation 快速入门:使用客户端库中的 Python 设置说明进行操作。 如需了解详情,请参阅 Cloud Translation Python API 参考文档。
如需向 Cloud Translation 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
def adaptive_mt_translate( project_id: str = "YOUR_PROJECT_ID", glossary_id: str = "YOUR_GLOSSARY_ID"): # Create a client client = translate.TranslationServiceClient() # Create a glossary glossary = client.glossary_path( project_id, "us-central1", glossary_id # The location of the glossary ) glossary_config = translate.GlossaryConfig(glossary=glossary) # Initialize the request request = translate.AdaptiveMtTranslateRequest( parent="projects/PROJECT_ID/locations/LOCATION", dataset="projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID", content=["Sample translation request"] glossary_config=glossary_config, ) # Make the request response = client.adaptive_mt_translate(request) # Handle the response print(response)
获取有关术语表的信息
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
- glossary-id:您的术语表 ID,例如“ my-en-to-ru-glossary”
HTTP 方法和网址:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/project-number/locations/us-central1/glossaries/glossary-id", "languagePair": { "sourceLanguageCode": "en", "targetLanguageCode": "ru" }, "inputConfig": { "gcsSource": { "inputUri": "gs://bucket-name/glossary-file-name" } }, "entryCount": 9603 }
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
以下示例将列出与指定项目关联的所有术语表。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
HTTP 方法和网址:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "glossaries": [ { "name": "projects/project-number/locations/us-central1/glossaries/glossary-id", "languagePair": { "sourceLanguageCode": "en", "targetLanguageCode": "ru" }, "inputConfig": { "gcsSource": { "inputUri": "gs://bucket-name/glossary-file-name" } }, "entryCount": 9603 }, ... ] }
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
如需更新术语表,请使用 glossary.patch 方法发送 PATCH 请求。以下示例更新等效术语集术语表。使用 list 方法查找特定术语表的 ID。
update_mask
查询参数指定您是要更新术语表输入文件、术语表显示名还是两者都更新。至少需要一个更新掩码参数。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID。
- LOCATION:要更新的术语表所在的区域,例如
us-central1
。 - GLOSSARY_ID:现有术语表的 ID。
- LANGUAGE_CODE:语言代码,用于指定此等效术语集术语的语言。
- GLOSSARY_FILE_PATH:术语表输入文件的位置和文件名。
HTTP 方法和网址:
PATCH https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID?update_mask=input_config&update_mask=display_name
请求 JSON 正文:
{ "name":"projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID", "languageCodesSet": { "languageCodes": ["LANGUAGE_CODE", ...] }, "inputConfig": { "gcsSource": { "inputUri": "gs://GLOSSARY_FILE_PATH" } } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.translation.v3.UpdateGlossaryMetadata", "glossary": { "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID", "languageCodesSet": { "languageCodes": ["LANGUAGE_CODE", ...] }, "inputConfig": { "gcsSource": { "inputUri": "gs://GLOSSARY_FILE_PATH" } }, "entryCount": NUMBER_OF_ENTRIES, "submitTime": "2022-04-22T23:16:30.628806944Z", "endTime": "2022-04-22T23:41:15.115797Z", "displayName": "GLOSSARY_ID" }, "state": "RUNNING", "submitTime": "2022-04-22T23:50:24.337964527Z" } }
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Cloud Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Cloud Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Cloud Translation 参考文档。
删除术语表
以下示例将删除术语表。
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID
- glossary-id:您的术语表 ID
HTTP 方法和网址:
DELETE https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/us-central1/glossaries/glossary-id
如需发送您的请求,请展开以下选项之一:
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
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
以下示例为等效术语集术语表创建一个条目。每个请求只能创建一个条目。如需了解详情,请参阅 glossaryEntries.create 方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID。
- LOCATION:要更新的术语表所在的区域,例如
us-central1
。 - GLOSSARY_ID:现有术语表的 ID。
- LANGUAGE_CODE:指定术语语言的语言代码。
- TERM:要添加到术语表的术语。
- DESCRIPTION:术语表条目的相关信息。
HTTP 方法和网址:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries
请求 JSON 正文:
{ termsSet: { terms: { languageCode: "LANGUAGE_CODE", text: "TERM" }, ... }, description: "DESCRIPTION" }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID", "termsSet": { "terms": [ { "languageCode": "LANGUAGE_CODE", "text": "TERM" }, ... ] }, "description": "DESCRIPTION" }
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Cloud Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Cloud Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Cloud Translation 参考文档。
列出术语表条目
列出现有术语表的所有条目。例如,如果您想要检查特定术语表中的哪些术语和哪些语言,这会非常有用。
REST
如需列出所有术语表条目,请使用 glossaryEntries.list 方法发送 GET 请求。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID。
- LOCATION:要更新的术语表所在的区域,例如
us-central1
。 - GLOSSARY_ID:现有术语表的 ID。
HTTP 方法和网址:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "glossaryEntries": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID", "termsSet": { "terms": [ { "languageCode": "LANGUAGE_CODE", "text": "TERM" }, ... ] }, "description": "DESCRIPTION" }, ... ] }
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Cloud Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Cloud Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Cloud Translation 参考文档。
获取术语表条目
获取单个条目以查看其信息。
REST
如需获取单个术语表条目,请使用 glossaryEntries.get 方法发送 GET 请求。使用 list 方法查找特定条目的 ID。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID。
- LOCATION:要更新的术语表所在的区域,例如
us-central1
。 - GLOSSARY_ID:现有术语表的 ID。
- GLOSSARY_ENTRY_ID:现有术语表条目的 ID。
HTTP 方法和网址:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID", "termsSet": { "terms": [ { "languageCode": "LANGUAGE_CODE", "text": "TERM" }, ... ] }, "description": "DESCRIPTION" }
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Cloud Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Cloud Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Cloud Translation 参考文档。
更新术语表条目
您可以更新单个条目或替换术语表中的所有条目。如需替换所有条目,请参阅更新术语表。
如需修改单向术语表中的条目,请提供术语对,其中一个术语为源语言,另一个术语为目标语言。对于等效术语集术语表,请提供术语集,集中的每一项都指定一个术语及其语言代码。
REST
以下示例更新等效术语集术语表的条目。如需了解详情,请参阅 glossaryEntries.patch 方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID。
- LOCATION:要更新的术语表所在的区域,例如
us-central1
。 - GLOSSARY_ID:包含要更新之条目的现有术语表的 ID。
- GLOSSARY_ENTRY_ID:要更新之术语表条目的 ID。
- LANGUAGE_CODE:指定术语语言的语言代码。
- TERM:要更新的术语。
- DESCRIPTION:术语表条目的相关信息。
HTTP 方法和网址:
PATCH https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID
请求 JSON 正文:
{ termsSet: { terms: { languageCode: "LANGUAGE_CODE", text: "TERM" }, ... }, description: "DESCRIPTION" }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID", "termsSet": { "terms": [ { "languageCode": "LANGUAGE_CODE", "text": "TERM" }, ... ] }, "description": "DESCRIPTION" }
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Cloud Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Cloud Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Cloud Translation 参考文档。
删除术语表条目
移除单个术语表条目。
REST
如需删除单个术语表条目,请使用 glossaryEntries.delete 方法发送 DELETE 请求。使用 list 方法查找特定条目的 ID。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_NUMBER_OR_ID:您的 Google Cloud 项目的数字或字母数字 ID。
- LOCATION:要更新的术语表所在的区域,例如
us-central1
。 - GLOSSARY_ID:包含要删除之条目的现有术语表的 ID。
- GLOSSARY_ENTRY_ID:要删除之术语表条目的 ID。
HTTP 方法和网址:
DELETE https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION/glossaries/GLOSSARY_ID/glossaryEntries/GLOSSARY_ENTRY_ID
如需发送您的请求,请展开以下选项之一:
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Cloud Translation 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Cloud Translation 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Cloud Translation 参考文档。
其他资源
- 如需有关解决常见问题或错误的帮助,请参阅问题排查页面。