百度翻译开发平台通用翻译API翻译整站

思路:利用第三方翻译API,把网页中所有的中文发过去,拿到返回值之后把所有中文替换成英文。1 百度翻译开发平台注册官网有很详细的问题,一步一步走就OK啦。附上它的官网。
http:/

思路:

利用第三方翻译API,把网页中所有的中文发过去,拿到返回值之后把所有中文替换成英文。

1 百度翻译开发平台注册

官网有很详细的问题,一步一步走就OK啦。附上它的官网。KsRECMSPLUS
http://api.fanyi.baidu.com/api/trans/product/indexKsRECMSPLUS

2 怎么使用

直接上代码吧,注释也还算清晰。KsRECMSPLUS

KsRECMSPLUS
KsRECMSPLUS
 
js-sdk.zip
cd652c4e35ad2cb28c64eec8f5ca6fca.zip (3.20 KB)

如下示例代码:

<!doctype html>
<head>
    <meta charset="utf-8"/>
</head>
<body>
<div class="main">
    <a class="btn">点击切换</a>
    <p transfer-toggle="transfer">苹果</p>
    <p transfer-toggle="transfer">香蕉</p>
    <p transfer-toggle="transfer">橘子</p>
</div>
<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 getArr() {
        var arrHtml = [];
        var arrThis = [];
        var text = $("[transfer-toggle='transfer']").text(function (i, text) {
            // console.log(i + text.replace("\n", "").replace(/\s+/g, ' '));
            arrHtml.push(text.replace("\n", " ")); // 将我们想要翻译的内容存进数组里,并且将回车 \n 匹配成空格,避免翻译时 \n 与我们定义的冲突
            arrThis.push($(this))
        });
        return [arrHtml, arrThis]
    }


    function GetBaidu(from, to, query, obj) {
        console.log(query)
        var q = query.join("\n"); // 将内容数组用 \n 拼接
        var appid = ""; // 请自行获取
        var key = ""; // 请自行获取
        var salt = (new Date).getTime();
        var str1 = appid + q + salt + key;
        var sign = MD5(str1);
        $.ajax({
            url: 'http://api.fanyi.baidu.com/api/trans/vip/translate',
            type: 'post',
            dataType: 'jsonp',
            data: {
                q: q,
                from: from,
                to: to,
                appid: appid,
                salt: salt,
                sign: sign
            },
            success: function (msg) {
                var html = "";
                for (var i = 0; i < msg.trans_result.length; i++) {
                    console.log(msg.trans_result[i].dst);
                    html = msg.trans_result[i].dst;
                    obj[i].html(html)
                }
            }
        });
    }


    var num = 0;
    $(".btn").on("click", function () {
        if (num === 0) {
            num = 1;
            GetBaidu("zh", "en", getArr()[0], getArr()[1]);
        } else {
            num = 0;
            GetBaidu("en", "zh", getArr()[0], getArr()[1]);
        }
    })


</script>
</body>

下载附件

分享到 :
相关推荐

发表评论

登录... 后才能评论

评论(3)

加入本站VIP会员订阅计划,海量资源免费下载查看

目前为止共有3位优秀的VIP会员加入!

立即加入VIP会员