五分钟学会彩云小译 API

From Caiyun Wiki
Revision as of 05:25, 6 July 2018 by Mingli (talk | contribs)
Jump to: navigation, search

能用彩云小译 API 做什么?

彩云小译 API 可以用来把信息翻译到指定的语言,我们可以支持文本、网页、PDF/Word文档、语音、视频等多种形式。

您可以使用它来构建你的应用程序、网站、工具或任何需要多语言支持的解决方案。

一分钟介绍

下面的一分钟介绍,我们制作一个命令行工具,可以让你翻译简短的一句话。

申请访问令牌

  • 请发邮件至 api@caiyunapp.com 申请获得访问令牌。来信请介绍您需要用小译 API 做什么?我们会回信把 token 发送给您。
  • 请修改邮件标题为: "申请彩云小译 API Token",同时邮件内容请提供: 姓名,手机号,用途等说明文字。
  • 每月翻译100万字之内都是免费的,如果您每月超过100万字,我们会按照 20元 / 100万字 的费率收费。(字数按照翻译原文字符计算,包含空格和标点)

文本翻译

执行下述 BASH 命令创建命令行工具 xiaoyi.sh

#!/bin/bash
tee xiaoyi.sh << END
DIRECTION=\$1
SOURCE=\$2

if test -f \$HOME/.xiaoyi ; then
  . \$HOME/.xiaoyi
else
  echo "Please input your token: "
  read TOKEN
  echo "TOKEN=\$TOKEN" > \$HOME/.xiaoyi
fi

BODY='{"source": "'\$SOURCE'", "trans_type": "'\$DIRECTION'", "request_id": "demo", "media":"text" }'

export PYTHONIOENCODING=utf8
curl -s -X POST http://api.interpreter.caiyunai.com/v1/translator\
      -H 'Content-Type: application/json'\
      -H "X-Authorization: token \$TOKEN"\
      -d "\$BODY" | python -c "import sys, json; print json.load(sys.stdin)['target']"
END

再按照下面的方式执行 xiaoyi.sh 就会得到翻译结果

sh xiaoyi.sh en2zh "You know some birds are not meant to be caged, their feathers are just too bright."
你知道有些鸟不应该被关在笼子里,它们的羽毛太亮了。
sh xiaoyi.sh ja2zh "薄紅の秋の実に"
淡红色的秋天的果实

备注:第一次执行 xiaoyi.sh 时会要求输入访问令牌 Token 。

进阶使用

python 调用

请把 YOUR_TOKEN 设置为你的 token

import requests
import json

url = "http://api.interpreter.caiyunai.com/v1/translator"

payload = "{\"source\":\"Lingocloud is the best translation service.\",\"trans_type\": \"en2zh\", \"request_id\": \"a11111\", \"replaced\": true,\"cached\": false}"
headers = {
    'content-type': "application/json",
    'x-authorization': "token YOUR_TOKEN",
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
print(json.loads(response.text)['target'])

输出为:

 {"confidence":0.9938237638,"target":"\u5c0f\u8bd1\u662f\u6700\u597d\u7684\u7ffb\u8bd1\u670d\u52a1\u3002","isdict":0,"rc":0}

 小译是最好的翻译服务

并发请求

并发请求的速度会是逐个请求的数倍,如有可能,请将长度类似的 20-40 个句子打包请求,下面是并发请求的实例代码。

import requests
import json

url = "http://api.interpreter.caiyunai.com/v1/translator"

payload = "{\"source\":[\"Lingocloud is the best translation service.\", \"ColorfulClouds Weather is the best weather service.\"],\"trans_type\": \"en2zh\", \"request_id\": \"a11111\", \"replaced\": true,\"cached\": false}"
headers = {
    'content-type': "application/json",
    'x-authorization': "token YOUR_TOKEN",
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
print(json.loads(response.text)['target'][0])
print(json.loads(response.text)['target'][1])

支持的语言

目前支持的语言和翻译方向如下表所示

To
From
中文 zh 英语 en 日文 ja
中文 zh - zh2en zh2ja
英语 en en2zh - -
日文 ja ja2zh - -

API 即将推出自动识别语种的功能。2018年底将支持到15种以上语言,200种以上语言方向。

想要更多?