Google 翻译 API 入门






4.50/5 (2投票s)
本文档详细介绍了使用 Google Translate API v2 所需的背景知识。
Google Translate API 是一项付费服务。对于网站翻译,我们建议您使用Google Website Translator 小工具。
本文档详细介绍了使用 Google Translate API v2 所需的背景知识。
目录
引言
本文档面向希望编写能够与 Google Translate API 交互的应用程序的开发者。 Google Translate 是一款自动将文本从一种语言翻译成另一种语言的工具(例如,法语翻译成英语)。您可以使用 Google Translate API 以编程方式翻译网页或应用中的文本。
安装
要开始使用 Google Translate API,您需要先在 Google Developers Console 中创建或选择一个项目并启用该 API。使用此链接将引导您完成该过程并自动激活 Google Translate API。
或者,您可以通过以下方式在 Developers Console 中自行激活 Google Translate API:
- 访问Google Developers Console。
- 选择一个项目,或创建一个新项目。
- 在左侧边栏中,展开 APIs & auth。然后,点击 APIs。在 API 列表中,确保 Google Translate API 的状态为 ON。
- 在左侧边栏中,选择 Credentials。
无论哪种情况,您最终都会进入 Credentials 页面,并可以从此创建项目的凭据。
重要提示: Google Translate API v2 要求所有账户在开始使用该服务之前都提供账单信息。有关如何启用账单的说明,请参阅下文。
要为您的项目启用账单,请执行以下操作:
- 访问Google Developers Console。
- 选择一个项目,或创建一个新项目。
- 在左侧边栏中,选择 Billing & Settings。
- 在 Billing 部分,点击 Enable billing。
- 选择您的位置,填写表单,然后点击 Submit and enable billing。
了解如何识别您的应用程序
您的应用程序发送到 Google Translate API 的每个请求都必须使用 API 密钥向 Google 标识您的应用程序。
有关如何使用 API 密钥的信息,请参阅 Using REST 文档中的将您的应用程序识别给 Google。
Translate API 背景
Translate 概念
Google Translate 是一款自动将文本从一种语言翻译成另一种语言的工具。
源文本是要翻译的文本。源语言是源文本的语言。目标语言是源文本翻译成的语言。
Translate API 操作
Google Translate API 中有三种调用方法:
操作 (Operation) | 描述 | REST HTTP 映射 |
---|---|---|
翻译 | 将源文本从源语言翻译成目标语言 | GET |
languages | 列出 translate 方法支持的源语言和目标语言 | GET |
detect | 检测源文本的语言 | GET |
调用方式
有几种调用 API 的方法:
- 直接使用 REST
- 使用 JavaScript 中的 REST(无需服务器端代码)
REST
Google Translate API 中的 REST(或称 Representational State Transfer)与传统 REST 有些不同。它不提供对资源的访问,而是提供对服务的访问。因此,API 提供一个单一的 URI 作为服务端点。
您使用 GET
REST HTTP 动词访问 Google Translate API 服务端点,如 API 操作中所述。您将所有服务请求的详细信息作为查询参数传递。
平移
Google Translate API 单一 URI 的具体格式为:
https://www.googleapis.com/language/translate/v2?parameters
其中 parameters
是要应用于查询的任何参数。有关详细信息,请参阅 Using REST 文档中的处理结果和查询参数参考。
以下是 Translate API 中此工作原理的示例。
https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&q=hello%20world&source=en&target=de
发现支持的语言
返回语言代码列表的具体格式为:
https://www.googleapis.com/language/translate/v2/languages?parameters
其中 parameters
是要应用于查询的任何参数。有关详细信息,请参阅 Using REST 文档中的处理结果和查询参数参考。
以下是 Translate API 中 languages 方法的工作原理示例。
https://www.googleapis.com/language/translate/v2/languages?key=INSERT-YOUR-KEY&target=zh-TW
检测源语言
检测文本语言的具体格式为:
https://www.googleapis.com/language/translate/v2/detect?parameters
其中 parameters
是要应用于查询的任何参数。有关详细信息,请参阅 Using REST 文档中的处理结果和查询参数参考。
以下是 Translate API 中 detect 方法的工作原理示例。
https://www.googleapis.com/language/translate/v2/detect?key=INSERT-YOUR-KEY&q=google+translate+is+fast
JavaScript 中的 REST
您可以使用 `callback` 查询参数和回调函数,通过 JavaScript 中的 REST 调用 Translate API。但是,请注意,您的 API 密钥将在页面的 HTML 源代码中可见。默认情况下,密钥可用于任何网站。我们强烈建议您仅将密钥的使用限制在您管理的域上,以防止在未经授权的网站上使用。
您可以通过以下方式指定允许使用您的 API 密钥的域:
- 访问Google Developers Console。
- 选择一个项目。
- 在左侧边栏中,选择 APIs & auth,然后选择一个 API。
- 在 API 的信息页面上,点击 API 名称附近的 Quota 链接。
- 在左侧边栏中,选择 API Access。
- 在页面的 Simple API Access 部分,点击 Edit allowed referers 链接。
以下示例使用此方法翻译一些文本,并将其放在源文本下方。
<html> <head> <title>Translate API Example</title> </head> <body> <div id="sourceText">Hello world</div> <div id="translation"></div> <script> function translateText(response) { document.getElementById("translation").innerHTML += "<br>" + response.data.translations[0].translatedText; } </script> <script> var newScript = document.createElement('script'); newScript.type = 'text/javascript'; var sourceText = escape(document.getElementById("sourceText").innerHTML); // WARNING: be aware that YOUR-API-KEY inside html is viewable by all your users. // Restrict your key to designated domains or use a proxy to hide your key // to avoid misuage by other party. var source = 'https://www.googleapis.com/language/translate/v2?key=YOUR-API-KEY&source=en&target=de&callback=translateText&q=' + sourceText; newScript.src = source; // When we add this script to the head, the request is sent off. document.getElementsByTagName('head')[0].appendChild(newScript); </script> </body> </html>
数据格式
JSON
JSON(JavaScript Object Notation)是一种常见、与语言无关的数据格式,它提供了对任意数据结构的简单文本表示。有关更多信息,请参阅 json.org。
除非另有说明,本页的代码示例根据 Apache 2.0 许可证 授权。