Difference between revisions of "五分钟学会彩云小译 API"

From Caiyun Wiki
Jump to: navigation, search
m
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{导览}}
 +
 
<div style="padding:5px;border: 1px dashed MediumAquamarine;text-align:right;float:right">
 
<div style="padding:5px;border: 1px dashed MediumAquamarine;text-align:right;float:right">
 
<div>
 
<div>
[[LingoCloud/en|English]]·[[LingoCloud/ja|日本语]]·[[LingoCloud/zhs|简体中文]]·[[LingoCloud/zht|繁体中文]]
+
[https://app.swaggerhub.com/apis/caiyun/lingo-cloud_api/1.0.1 API spec]
</div>
 
<div>
 
[https://app.swaggerhub.com/apis/caiyun/lingo-cloud_api/1.0.0 API spec]
 
 
</div>
 
</div>
 
</div>
 
</div>
Line 12: Line 11:
 
彩云小译 API 可以用来把'''信息'''翻译到指定的语言,我们可以支持文本、网页、PDF/Word文档、语音、视频等多种形式。
 
彩云小译 API 可以用来把'''信息'''翻译到指定的语言,我们可以支持文本、网页、PDF/Word文档、语音、视频等多种形式。
  
您可以使用它来构建你的应用程序、网站、工具或任何需要多语言支持的解决方案。
+
您可以使用它来构建你的应用程序、网站、工具或任何需要多语言支持的解决方案。例如:彩云小译 API 是维基百科自动翻译的技术提供者,也为钉钉、石墨文档、财新传媒等一线机构和众多开发者提供技术支持。
 +
 
 +
===维基百科内容翻译===
 +
[[File:Screen Shot 2018-09-06 at 11.03.18 PM.png|800px]]
 +
===石墨文档翻译===
 +
[[File:Screen Shot 2018-09-06 at 11.22.04 PM.png|800px]]
  
 
= 一分钟介绍=
 
= 一分钟介绍=
Line 20: Line 24:
 
=== 申请访问令牌===
 
=== 申请访问令牌===
  
* 请发邮件至 [mailto:api@caiyunapp.com api@caiyunapp.com] 申请获得访问令牌。来信请介绍您需要用小译 API 做什么?我们会回信把 token 发送给您。
+
* 如果你要测试,可以使用 '''3975l6lr5pcbvidl6jl2''' 作为测试 Token,我们不保证该 Token 的可用性,所以如果要持续使用,还请申请正式 Token。
* 请修改邮件标题为: "申请彩云小译 API Token",同时邮件内容请提供: 姓名,手机号,用途等说明文字。
+
 
 +
* 请先至[https://dashboard.caiyunapp.com/user/sign_in/ 彩云科技开放平台]注册账号,申请开通小译 Token。
  
 
* 每月翻译100万字之内都是免费的,如果您每月超过100万字,我们会按照 20元 / 100万字 的费率收费。(字数按照翻译原文字符计算,包含空格和标点)
 
* 每月翻译100万字之内都是免费的,如果您每月超过100万字,我们会按照 20元 / 100万字 的费率收费。(字数按照翻译原文字符计算,包含空格和标点)
Line 43: Line 48:
 
fi
 
fi
  
BODY='{"source": "'\$SOURCE'", "trans_type": "'\$DIRECTION'", "request_id": "demo", "media":"text" }'
+
BODY='{"source": ["'\$SOURCE'"], "trans_type": "'\$DIRECTION'", "replaced": true, "media": "text", "request_id": "demo" }'
  
 
export PYTHONIOENCODING=utf8
 
export PYTHONIOENCODING=utf8
Line 72: Line 77:
 
===python 调用===
 
===python 调用===
  
请把 YOUR_TOKEN 设置为你的 token
+
请把 YOUR_TOKEN 设置为你的 token,并发请求的速度会是逐个请求的数倍,如有可能,请将长度类似的 20-40 个句子打包请求,下面是实例代码。
  
 
<source lang="python">
 
<source lang="python">
import requests
+
def translate(source, direction):
import json
 
  
url = "http://api.interpreter.caiyunai.com/v1/translator"
+
    import requests
 +
    import json
 +
   
 +
    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 = "3975l6lr5pcbvidl6jl2"
 +
   
 +
   
 +
    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)
  
payload = "{\"source\":\"Lingocloud is the best translation service.\",\"trans_type\": \"en2zh\", \"request_id\": \"a11111\", \"replaced\": true,\"cached\": false}"
+
     return json.loads(response.text)['target']
headers = {
 
     'content-type': "application/json",
 
    'x-authorization': "token YOUR_TOKEN",
 
}
 
  
response = requests.request("POST", url, data=payload, headers=headers)
+
source = ["Lingocloud is the best translation service.","彩云小译は最高の翻訳サービスです"]
 +
target = translate(source, "auto2zh")
  
print(response.text)
+
print(target)
print(json.loads(response.text)['target'])
 
  
 
</source>
 
</source>
Line 95: Line 116:
 
输出为:
 
输出为:
 
<source lang="javascript">
 
<source lang="javascript">
{"confidence":0.9938237638,"target":"\u5c0f\u8bd1\u662f\u6700\u597d\u7684\u7ffb\u8bd1\u670d\u52a1\u3002","isdict":0,"rc":0}
+
['小译翻译是最好的翻译服务。', '彩云小译是最好的翻译服务']
 
 
小译是最好的翻译服务。
 
</source>
 
 
 
=== 并发请求 ===
 
 
 
并发请求的速度会是逐个请求的数倍,如有可能,请将长度类似的 20-40 个句子打包请求,下面是并发请求的实例代码。
 
 
 
<source lang="python">
 
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])
 
 
</source>
 
</source>
  
Line 141: Line 138:
 
|}
 
|}
  
API 即将推出自动识别语种的功能。2018年底将支持到15种以上语言,200种以上语言方向。
+
使用 auto2xx 可以自动识别源语言的语种。目前 [https://fanyi.caiyunapp.com fanyi.caiyunapp.com] 已支持七种语言,API 开放更多语言请邮件联系。
  
 
=想要更多?=
 
=想要更多?=
Line 147: Line 144:
 
* 访问 http://fanyi.caiyunapp.com ,体验在线版本。
 
* 访问 http://fanyi.caiyunapp.com ,体验在线版本。
 
* 想要更多功能或者反馈使用体验,请写信给 [mailto:api@caiyunapp.com api@caiyunapp.com]  联系!
 
* 想要更多功能或者反馈使用体验,请写信给 [mailto:api@caiyunapp.com api@caiyunapp.com]  联系!
 +
* QQ交流反馈群:
 +
[[file:Beary861921651.jpg|250px]]
 +
[[en:LingoCloud API in 5 minutes]]

Latest revision as of 15:44, 26 April 2022

快速通道:天气业务 | 天气开发者 | 小译开发者

能用彩云小译 API 做什么?

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

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

维基百科内容翻译

Screen Shot 2018-09-06 at 11.03.18 PM.png

石墨文档翻译

Screen Shot 2018-09-06 at 11.22.04 PM.png

一分钟介绍

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

申请访问令牌

  • 如果你要测试,可以使用 3975l6lr5pcbvidl6jl2 作为测试 Token,我们不保证该 Token 的可用性,所以如果要持续使用,还请申请正式 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'", "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 就会得到翻译结果

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

def translate(source, direction):

    import requests
    import json
    
    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 = "3975l6lr5pcbvidl6jl2"
    
    
    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)

输出为:

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

支持的语言

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

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

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

想要更多?

Beary861921651.jpg