百度翻译api:
最新地址:http://api.fanyi.baidu.com/
开发文档:http://api.fanyi.baidu.com/api/trans/product/apidoc
-
使用步骤:
-
请求参数:
-
简单说明:
- Appid(appid)和密钥(key)改成自己的。
- 签名由 appid +q+salt+密钥 拼接而成。
- md5.js 文件是对字符串进行加密处理。
- 完整请求为:
http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4
源码:
<!doctype html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<div>百度翻译</div>
<input id="q" placeholder="请输入要翻译的词" />
<button id="goTran">翻译</button>
<hr>
<p id="result"></p>
<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="./md5.js"></script>
<script type="text/javascript">
$(function(){
var appid = 'Appid';
var key = '密钥';
var salt = (new Date).getTime();
var from = 'auto';
var to = 'auto';
//翻译
$("#goTran").click(function(){
var query = $("#q").val();
var str1 = appid + query + salt +key;
var sign = MD5(str1);
$.ajax({
url: 'http://api.fanyi.baidu.com/api/trans/vip/translate',
type: 'get',
dataType: 'jsonp',
data: {
q: query,
appid: appid,
salt: salt,
from: from,
to: to,
sign: sign
},
success: function (data) {
var res=data.trans_result[0].dst;
$("#result")[0].innerHTML=res;
console.log(res);
}
});
})
// 多个query可以用\n连接 如 query='apple\norange\nbanana\npear'
})
</script>
</body>
MD5.js
var MD5 = function (string) {
function RotateLeft(lValue, iShiftBits) {
return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
}
function AddUnsigned(lX,lY) {
var lX4,lY4,lX8,lY8,lResult;
lX8 = (lX & 0x80000000);
lY8 = (lY & 0x80000000);
lX4 = (lX & 0x40000000);
lY4 = (lY & 0x40000000);
lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
if (lX4 & lY4) {
return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
}
if (lX4 | lY4) {
if (lResult & 0x40000000) {
return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
} else {
return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
}
} else {
return (lResult ^ lX8 ^ lY8);
}
}
function F(x,y,z) {
return (x & y) | ((~x) & z); }
function G(x,y,z) {
return (x & z) | (y & (~z)); }
function H(x,y,z) {
return (x ^ y ^ z); }
function I(x,y,z) {
return (y