[译] 使用谷歌Cloud Translation API翻译文本
原文:Translation APIでテキストをほんやくする
概要
使用Cloud Translation,可以将任意的字符串翻译为API支持的语言。由于语言检测功能的存在,即使在源语言未知的情况下,也能使用该API。
将要学习的东西
- 创建Cloud Translation API请求,使用curl调用API
- 翻译文本的方法
- 高级版(Premium Edition)的使用方法
- 检测语言
必要的准备
设置和一些说明
根据自己的情况进行设置
还未拥有Google账号(Gmail / Google Apps)的情况下,创建账号是必须的。登录Google Cloud Platform Console(console.cloud.google.com),创建一个新项目。
请记住项目名称。任意一个Google Cloud项目都拥有唯一的名称(上述的名称已经被使用了,所以实际上无法使用)。
Google Cloud Platform的新用户将赠与相当于$ 300的试用金。
* 用于教学的账号
教师将已有的项目进行设置,生成临时账号。若你得到了教师发放的临时账号,你将不必顾虑项目中产生的费用。但是,一旦该教学项目结束,所有的临时账号将被无效化。
当你从教师那收到了临时账号的用户名/密码,就能够登录Google Cloud Console(https://console.cloud.google....)。
登录后,你将看到如下界面。
启用Translation API
点击屏幕左上角的菜单图标。
在下拉菜单中选择 [API Manager]
点击 [启用API] 。
然后,在搜索框中输入「translate」。点击 [Google Cloud Translation API]。
API已经启用的情况下,只会显示 [停用] 按钮。请不要停用API。
API还未启用的情况下,点击[启用],启用 Cloud Translation API 。
等待数秒,API成功启用后,将显示如下。
激活Cloud Shell
Google Cloud Shell 是在云端运行的命令行环境。这台基于 Debian 的虚拟机能够加载任何您需要的开发工具(gcloud、bq、git等),并提供永久的5 GB主目录。这次教程将使用 Cloud Shell 创建对 Translation API 的请求。
点击标题栏右侧的 [激活 Google Cloud Shell] 按钮(>_),启动Cloud Shell。
Cloud Shell 将在控制台底部的新窗口中打开,并显示命令行提示符。请等待提示符 user@project:~$
出现。
生成API Key
你将通过使用curl发送一个请求来调用 Translation API 。在发送请求时,你需要在 URL 中插入一个生成的 API 密钥。为了创建 API 密钥,让我们点击侧边栏的 [API Manager] 。
然后,在 [凭据] 选项卡中点击 [创建凭据] 。
在下拉菜单中选择 [API 密钥] 。
最后,复制生成好的密钥。
将密钥复制到剪贴板后,使用下述命令将其保存到 Cloud Shell 的环境变量中。下述的 YOUR_API_KEY 请替换成剪贴板中的内容。
export API_KEY=YOUR_API_KEY
翻译文本
在此例中,将「My name is Steve」这个字符串翻译为西班牙语。使用下述的curl命令,将之前保存好的 API 密钥环境变量和将要翻译的文本一起,传递给 Translation API 。
TEXT="My%20name%20is%20Steve" curl "https://translation.googleapis.com/language/translate/v2?target=es&key=${API_KEY}&q=${TEXT}"
你将得到形式如下的响应。
{ "data": { "translations": [ { "translatedText": "Mi nombre es Steve", "detectedSourceLanguage": "en" } ] } }
响应中,你可以看到翻译出的文本和 API 检测到的源语言。
Premium 模式Google Cloud Translation 在几乎所有翻译任务中都是用了 Standard Edition 模式。然而 Google 从最近开始,使用了更为强大的 Neural machine Translation System 来优化翻译服务。在这里,我们可以使用 Premium 模式。详情请参阅此处的指南。
检测语言
除了文本翻译以外,Translation API 还能用来检测文本的语言。此例中,我们将检测两个字符串的语言。下面将使用 curl 命令,把之前保存的 API 密钥环境变量和待检测的文本一起传递给 Translation API 。
TEXT_ONE="Meu%20nome%20é%20Steven" TEXT_TWO="日本のグーグルのオフィスは、東京の六本木ヒルズにあります" curl "https://translation.googleapis.com/language/translate/v2/detect?key=${API_KEY}&q=${TEXT_ONE}&q=${TEXT_TWO}"
你将得到形式如下的响应。
{ "data": { "detections": [ [ { "confidence": 0.84644311666488647, "isReliable": false, "language": "pt" } ], [ { "confidence": 1, "isReliable": false, "language": "ja" } ] ] } }
本例中返回的语言是 「pt」和「ja」。它们是 ISO-639-1 的标识符,指葡萄牙语和日本语。关于可能的返回值,在Translation API 支持的语言一览中可以查询。
恭喜!
在此次向导中,我们学习了如何使用 Cloud Translation API 进行文本的翻译。
学到的东西
- 创建Cloud Translation API请求,使用curl调用API
- 翻译文本的方法
- 高级版(Premium Edition)的使用方法
- 检测语言
下一步
- 通过常用的编程语言,使用客户端库,学习 Translation API 的示例应用程序。
- 尝试使用 Vision API 、Speech API 。