# 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();

```

