aardio 文档
aardio 范例: 快速翻译
腾讯云机器翻译(免费)
import console;
import web.rest.jsonClient;
namespace string{
/*
检测文本是否以拉丁字母为主(例如英文)。
考虑英文双单词短语多数情况下多于 6 个字母(含空格),而 2 个汉字的 UTF-8 编码一般为 6 个字节。
*/
latinLike = lambda(str) !find(str,":") || (len(str) > #str/1.5)
}
//腾讯云机器翻译(免费): https://www.aardio.com/zh-cn/docs/examples/Web/REST/tencentCloud/TextTranslate.html
// Edge 翻译接口
var edgeClient = web.rest.jsonClient();
var edgeApi = edgeClient.api("https://edge.microsoft.com");
var edgeTranslate = function(str){
var ret, err = edgeApi.translate.translatetext.post([str], {
from="";
isEnterpriseClient="false";
to=string.latinLike(str)?"zh-Hans":"en-US"
});
if(ret[[1]]){
ret = table.map(ret,lambda(v,k) v[["translations"]][[1]][["text"]])
return ret[1]
}
return null,err;
}
// Google 翻译接口(需要代理)
var googleClient = web.rest.jsonClient(,"SOCKS=127.0.0.1:1080");
googleClient.contentType = "application/json+protobuf"
googleClient.setHeaders({ ["X-Goog-API-Key"] = "AIzaSyATBXajvzQLTDHEQbcpq0Ihe0vWDHmO520"});
var googleApi = googleClient.api("https://translate-pa.googleapis.com/v1");
var googleTranslate = function(str){
var ret, err = googleApi.translateHtml.post([
[
[str],
"auto",
string.latinLike(str)?"zh-CN":"en-US"
],"wt_lib"
]);
if(ret[[1]]){
return ret[1][1]
}
return null,err;
}
import console;
console.showLoading("正在发送请求")
var ret, err = edgeTranslate("hello")
if(ret){
console.log(ret);
}
else {
console.error(err);
}
console.pause();
Markdown 格式