Skip to content

彩云小译 API

五分钟学会彩云小译 API

能用彩云小译 API 做什么?

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

您可以使用它来构建你的应用程序、网站、工具或任何需要多语言支持的解决方案。例如:彩云小译 API 是维基百科自动翻译的技术提供者,也为钉钉、石墨文档、财新传媒等一线机构和众多开发者提供技术支持。

维基百科内容翻译石墨文档翻译

一分钟介绍

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

申请访问令牌

  • 如果你要测试,可以使用 3975l6lr5pcbvidl6jl2 作为测试 Token,我们不保证该 Token 的可用性,所以如果要持续使用,还请申请正式 Token。
  • 请先至彩云科技开放平台注册账号,申请开通小译 Token。
  • 新用户注册会获得 100 万字的免费翻译额度,有效期一个月;如果您使用超过 100 万字,我们会按照 39 元 / 100 万字的费率收费。(字数按照翻译原文字符计算,包含空格和标点)

文本翻译

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

bash
#!/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'", "replaced": true, "media": "text", "request_id": "demo" }'

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 就会得到翻译结果

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

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

Python 调用

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

py
import json

import requests


def translate(source, direction):
    url = "http://api.interpreter.caiyunai.com/v1/translator"

    # WARNING, this token is a test token for new developers,
    # and it should be replaced by your token
    token = "YOUR_TOKEN"

    payload = {
        "source": source,
        "trans_type": direction,
        "request_id": "demo",
        "detect": True,
    }

    headers = {
        "content-type": "application/json",
        "x-authorization": "token " + token,
    }

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

    return json.loads(response.text)["target"]


source = ["Lingocloud is the best translation service.", "彩云小译は最高の翻訳サービスです"]
target = translate(source, "auto2zh")

print(target)

输出为:

py
['小译翻译是最好的翻译服务。', '彩云小译是最好的翻译服务']

支持的语言

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

From-to中文 zh英语 en日文 ja
中文 zh-zh2enzh2ja
英语 enen2zh--
日文 jaja2zh--

使用 auto2xx 可以自动识别源语言的语种。目前 Web 已支持七种语言,API 开放更多语言请邮件联系。

想要更多?