使用百度翻译API实现一键翻译

本文详细介绍了如何利用百度翻译API实现后台管理界面的中英葡三语自动互译功能,包括API接入、参数设置、代码实现及测试验证,适合开发者快速集成翻译功能于现有项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// ~ 2022.04.09更新:
// 百度翻译API已转移到百度云翻译平台,以下接口变动部分请查看最新的文档
// ========================================================

尊敬的百度翻译开发者:
您好!
感谢您一直以来对百度翻译的信赖和支持。为了向您提供更稳定、高效、优质的服务,我们将百度翻译API服务全新升级至百度翻译开放云平台。
百度翻译开放云平台官网:http://api.fanyi.baidu.com

- 0x00 需求
接手一个项目,其中有个需求是:在后台管理界面,录入数据的时候能够自动将输入的中文内容翻译成英文和葡语。大概的界面就是这样的。
这里写图片描述

- 0x01 思路
既然是翻译,首先我想到的是强大的百度,肯定会有提供翻译的API.
http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/%E7%99%BE%E5%BA%A6%E7%BF%BB%E8%AF%91/%E7%BF%BB%E8%AF%91API

观察了下,其实实现起来很简单的嘛。

URL

http://openapi.baidu.com/public/2.0/bmt/translate

然后我只需要发送一些参数(具体请看API)就好了,既然这样那就开写吧。

- 0x02 实现

JS部分

/**
 * 百度翻譯API 
 * Create By William on 2015-07-02
 */
var transaction = function() {
	var _url = 'http://openapi.baidu.com/public/2.0/bmt/translate';
	var _appkey = '你的APPKEY'; // 这里需要APPKEY,去百度开放平台创建个工程就有了http://developer.baidu.com/console#app/project
	
	/**
	 * 发送参数并获取翻译内容
	 * 
	 */
	var post = function(context, to, toId) {
		var _params = '';
		_params += 'client_id=' + _appkey;
		_params += '&q=' + context;
		_params += '&from=zh';
		_params += '&to=' + to;

		$.ajax({
        url: _url,
        data: _params,
        type: 'GET',
        dataType: 'jsonp',
        success: function (data) {
        	if (!!data && !data.error_code) {
        		$('#' + toId).val(data.trans_result[0].dst);
        	} else {
        		alert('轉換' + to + '失敗!');
        	}
        }
    });
	};
	
	return {
		
		/**
		 * @param zh 中文输入框id
		 * @param en 英文输入框id
		 * @param pt 葡萄牙语输入框id
		 */
		translate : function(zh, en, pt) {
			// 获取需要翻译的中文
			var context = $('#' + zh).val();
			// 判斷內容是否為空
			if (!context) {
				alert('請錄入中文內容!');
				return;
			}
			// 转换为英文
			post(context, 'en', en);
			// 转换为葡语
			post(context, 'pt', pt);
		}
	};
}();

HTML部分

<html>
<head>
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="transaction.js"></script>
</head>

<body>
	<br/><br/>
	<textarea id="cn" rows="20" cols="150"></textarea> (中文)<a href="javascript:void(0);" onclick="transaction.translate('cn', 'en', 'pt');" >翻译</a><br/><br/>
	<textarea id="en" rows="20" cols="150"></textarea> (英文)<br/><br/>
	<textarea id="pt" rows="20" cols="150"></textarea> (葡语)
	
	
</body>
</html>

- 0x03 后记
测试了下,完全满足需求呢。代码写得不是很好,主要是记录下来方便以后使用,也给需要的朋友一个参考。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值