huangliuyu00 2019-06-27
原文:Translation APIでテキストをほんやくする
使用Cloud Translation,可以将任意的字符串翻译为API支持的语言。由于语言检测功能的存在,即使在源语言未知的情况下,也能使用该API。
将要学习的东西
必要的准备
根据自己的情况进行设置
还未拥有Google账号(Gmail / Google Apps)的情况下,创建账号是必须的。登录Google Cloud Platform Console(console.cloud.google.com),创建一个新项目。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPkhZ4U3m1Qiqqa2-tITcpqp1da0mx6YmBw0XWuCDMVbI9PoaoWqdVKc8S0ML3PXPeE.jpg)
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPm_1o5nxTehVND2q0lByjPDQ1IroRunUIJDoUiVM_t5G9PoaoWqdVKc8S0ML3PXPeE.jpg)
请记住项目名称。任意一个Google Cloud项目都拥有唯一的名称(上述的名称已经被使用了,所以实际上无法使用)。
Google Cloud Platform的新用户将赠与相当于$ 300的试用金。
* 用于教学的账号
教师将已有的项目进行设置,生成临时账号。若你得到了教师发放的临时账号,你将不必顾虑项目中产生的费用。但是,一旦该教学项目结束,所有的临时账号将被无效化。
当你从教师那收到了临时账号的用户名/密码,就能够登录Google Cloud Console(https://console.cloud.google....)。
登录后,你将看到如下界面。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPkAXBPDExB7ny37jVGIzb9g9vxvIYqpVukM-cSJ26A8rdPoaoWqdVKc8S0ML3PXPeE.jpg)
点击屏幕左上角的菜单图标。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPk86TLSTbczTt35kBclWwsRAnWJysOz4_8asO_wuumT39PoaoWqdVKc8S0ML3PXPeE.jpg)
在下拉菜单中选择 [API Manager]
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPmJXIc-C9Vj_E7uV0Zr1bxDoH5yInxtKYFqD18GF2q949PoaoWqdVKc8S0ML3PXPeE.jpg)
点击 [启用API] 。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPmUg5blxVyW9Llt2k2NavtmrhSUhspCKUOvuAMPuT2K3dPoaoWqdVKc8S0ML3PXPeE.jpg)
然后,在搜索框中输入「translate」。点击 [Google Cloud Translation API]。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPlrPmH7U36L2CLEkYJCv9Z36j1XeWQHXaRO_yofg2_fJNPoaoWqdVKc8S0ML3PXPeE.jpg)
API已经启用的情况下,只会显示 [停用] 按钮。请不要停用API。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPke0Kidj8TJ_GxSonOBx1omqe-S5hMAkOQ0S7LBye0cy9PoaoWqdVKc8S0ML3PXPeE.jpg)
API还未启用的情况下,点击[启用],启用 Cloud Translation API 。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPnIkEvwhMIxrNibTtP3IYhFxbILvzagk4-9GX_ERHuCatPoaoWqdVKc8S0ML3PXPeE.jpg)
等待数秒,API成功启用后,将显示如下。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPkE5A_G0z4BEzxBqi6Atbhj0B2rGEk_yw1UGFxg5BDMxdPoaoWqdVKc8S0ML3PXPeE.jpg)
Google Cloud Shell 是在云端运行的命令行环境。这台基于 Debian 的虚拟机能够加载任何您需要的开发工具(gcloud、bq、git等),并提供永久的5 GB主目录。这次教程将使用 Cloud Shell 创建对 Translation API 的请求。
点击标题栏右侧的 [激活 Google Cloud Shell] 按钮(>_),启动Cloud Shell。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPkSgYUvlyLKFcr6EbVzKzhqHFXJU7oBBRAMXEDbmhTmANPoaoWqdVKc8S0ML3PXPeE.jpg)
Cloud Shell 将在控制台底部的新窗口中打开,并显示命令行提示符。请等待提示符 user@project:~$ 出现。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPnrsvYaquRJVQX3k3zmWi9FDjzawFkBJpXH2_hTUOjartPoaoWqdVKc8S0ML3PXPeE.jpg)
你将通过使用curl发送一个请求来调用 Translation API 。在发送请求时,你需要在 URL 中插入一个生成的 API 密钥。为了创建 API 密钥,让我们点击侧边栏的 [API Manager] 。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPkU6L-hk3r2Uk1g5MXgUdEWvQgWIkYxrO-Fq1MyrerRWNPoaoWqdVKc8S0ML3PXPeE.jpg)
然后,在 [凭据] 选项卡中点击 [创建凭据] 。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPkse_ELylzv51nwrjojRhdNFocGJT6qjzM1Ts9lfr61tdPoaoWqdVKc8S0ML3PXPeE.jpg)
在下拉菜单中选择 [API 密钥] 。
![[译] 使用谷歌Cloud Translation API翻译文本 [译] 使用谷歌Cloud Translation API翻译文本](https://cdn.ancii.com/article/image/v1/7a/Ff/qV/VqFaf78G42SkXR4drRIDFYeStVr1DlyR-GvsTZx8IPkYShRvrUKcUyCy9pYgo0upXLW7GodIBPBwI7wHpATgLNPoaoWqdVKc8S0ML3PXPeE.jpg)
最后,复制生成好的密钥。
将密钥复制到剪贴板后,使用下述命令将其保存到 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 进行文本的翻译。
学到的东西
下一步