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 格式