百度翻译API —— 通用文本翻译

这篇具有很好参考价值的文章主要介绍了百度翻译API —— 通用文本翻译。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

接入方式

通用翻译API HTTPS 地址:

请求方式

返回结果

返回结果举例

正确情况:

异常情况:

错误码解析

请求翻译方法

语种列表

常见语种列表

完整语种列表

完整源码

 


接入方式

通用翻译API通过 HTTP 接口对外提供多语种互译服务。需要指定翻译文本和目标语言,当前语言可以设置为自动识别

通用翻译API HTTPS 地址:

https://fanyi-api.baidu.com/api/trans/vip/translate

请求方式

 可使用 GET 或 POST 方式,如使用 POST 方式,Content-Type 请指定为:application/x-www-form-urlencoded。这里演示使用 Get 的方法
字符编码:统一采用 UTF-8 编码格式
query 长度:为保证翻译质量,请将单次请求长度控制在 6000 bytes以内(汉字约为输入参数 2000 个)

字段名 类型 是否必填 描述 备注
q string 请求翻译query UTF-8编码
from string 翻译源语言 可设置为auto
to string 翻译目标语言 不可设置为auto
appid string APPID 可在管理控制台查看
salt string 随机数 可为字母或数字的字符串
sign string 签名 appid+q+salt+密钥的MD5值

md5计算方法:

// 计算MD5值
public static string EncryptString(string str)
{
	MD5 md5 = MD5.Create();
	// 将字符串转换成字节数组
	byte[] byteOld = Encoding.UTF8.GetBytes(str);
	// 调用加密方法
	byte[] byteNew = md5.ComputeHash(byteOld);
	// 将加密结果转换为字符串
	StringBuilder sb = new StringBuilder();
	foreach (byte b in byteNew)
	{
		// 将字节转换成16进制表示的字符串,
		sb.Append(b.ToString("x2"));
	}
	// 返回加密的字符串
	return sb.ToString();
}

签名生成方法

Step1. 将请求参数中的 APPID(appid), 翻译 query(q,注意为UTF-8编码),随机数(salt),以及平台分配的密钥(可在管理控制台查看) 按照 appid+q+salt+密钥的顺序拼接得到字符串 1。
Step2. 对字符串 1 做 MD5 ,得到 32 位小写的 sign。

注:
1. 待翻译文本(q)需为 UTF-8 编码;
2. 在生成签名拼接 appid+q+salt+密钥 字符串时,q 不需要做 URL encode,在生成签名之后,发送 HTTP 请求之前才需要对要发送的待翻译文本字段 q 做 URL encode
3.如遇到报 54001 签名错误,请检查您的签名生成方法是否正确,在对 sign 进行拼接和加密时,q 不需要做 URL encode,很多开发者遇到签名报错均是由于拼接 sign 前就做了 URL encode;
4.在生成签名后,发送 HTTP 请求时,如果将 query 拼接在URL上,需要对 query 做 URL encode。

返回结果

返回的结果是json格式,包含以下字段:文章来源地址https://www.toymoban.com/news/detail-482054.html

字段名 类型 描述 备注
from string 源语言 返回用户指定的语言,或者自动检测出的语种(源语言设为auto时)
to string 目标语言 返回用户指定的目标语言
trans_result array 翻译结果 返回翻译结果,包括src和dst字段
trans_result.*.src string 原文 接入举例中的“apple”
trans_result.*dst string 译文 接入举例中的“苹果”
error_code integer 错误码 仅当出现错误时显示

返回结果举例

正确情况:

{
    "from": "en",
    "to": "zh",
    "trans_result": [
        {
            "src": "apple",
            "dst": "苹果"
        }
    ]
}

异常情况:

{
    "error_code": "54001",
    "error_msg": "Invalid Sign"
}

错误码解析

public static string GetErrorCode(string error_code, string msg)
{
	string msg_zh = "";
	if (error_code == "52000")
		msg_zh = "成功";
	if (error_code == "52001")
		msg_zh = "请求超时,请重试";
	if (error_code == "52002")
		msg_zh = "系统错误,请重试";
	if (error_code == "52003")
		msg_zh = "未授权用户,请检查appid是否正确或者服务是否开通";
	if (error_code == "54000")
		msg_zh = "必填参数为空,请检查是否少传参数 ";
	if (error_code == "54001")
		msg_zh = "签名错误,请检查您的签名生成方法 ";
	if (error_code == "54003")
		msg_zh = "访问频率受限,请降低您的调用频率,或进行身份认证后切换为高级版/尊享版 https://fanyi-api.baidu.com/api/trans/product/desktop";
	if (error_code == "54004")
		msg_zh = "账户余额不足,请前往管理控制台为账户充值 https://fanyi-api.baidu.com/api/trans/product/desktop";
	if (error_code == "54005")
		msg_zh = "长query请求频繁,请降低长query的发送频率,3s后再试 ";
	if (error_code == "58000")
		msg_zh = "客户端IP非法,检查个人资料里填写的IP地址是否正确,可前往开发者信息-基本信息修改 ";
	if (error_code == "58001")
		msg_zh = "译文语言方向不支持,检查译文语言是否在语言列表里";
	if (error_code == "58002")
		msg_zh = "服务当前已关闭,请前往管理控制台开启服务 https://fanyi-api.baidu.com/api/trans/product/desktop";
	if (error_code == "90107")
		msg_zh = "认证未通过或未生效 请前往我的认证查看认证进度 https://api.fanyi.baidu.com/myIdentify";
	return $"错误码:{error_code} 错误信息:{msg} 错误码含义:{msg_zh}";
}

请求翻译方法

/// <summary>
/// 获取翻译结果
/// </summary>
/// <param name="content">要翻译的原文</param>
/// <param name="to">目标语言</param>
/// <param name="from">源语言</param>
public static string Get(string content,string to,string from = "zh")
{
	Random rd = new Random();
	string salt = rd.Next(100000).ToString();
	string sign = EncryptString(APPID + content + salt + APPKEY);
	string url = "http://api.fanyi.baidu.com/api/trans/vip/translate?";
	url += "q=" + HttpUtility.UrlEncode(content);
	url += "&from=" + from;
	url += "&to=" + to;
	url += "&appid=" + APPID;
	url += "&salt=" + salt;
	url += "&sign=" + sign;
	HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
	request.Method = "GET";
	request.ContentType = "text/html;charset=UTF-8";
	request.UserAgent = null;
	request.Timeout = 6000;
	HttpWebResponse response = (HttpWebResponse)request.GetResponse();
	Stream myResponseStream = response.GetResponseStream();
	StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
	string retString = myStreamReader.ReadToEnd();
	myStreamReader.Close();
	myResponseStream.Close();
	return retString;
}

语种列表

常见语种列表

名称 代码 名称 代码 名称 代码
自动检测 auto 中文 zh 英语 en
粤语 yue 文言文 wyw 日语 jp
韩语 kor 法语 fra 西班牙语 spa
泰语 th 阿拉伯语 ara 俄语 ru
葡萄牙语 pt 德语 de 意大利语 it
希腊语 el 荷兰语 nl 波兰语 pl
保加利亚语 bul 爱沙尼亚语 est 丹麦语 dan
芬兰语 fin 捷克语 cs 罗马尼亚语 rom
斯洛文尼亚语 slo 瑞典语 swe 匈牙利语 hu
繁体中文 cht 越南语 vie

完整语种列表

中文首字母 名称 代码 语种检测 名称 代码 语种检测 名称 代码 语种检测
A 阿拉伯语 ara 爱尔兰语 gle 奥克语 oci
阿尔巴尼亚语 alb 阿尔及利亚阿拉伯语 arq 阿肯语 aka
阿拉贡语 arg 阿姆哈拉语 amh 阿萨姆语 asm
艾马拉语 aym 阿塞拜疆语 aze 阿斯图里亚斯语 ast
奥塞梯语 oss 爱沙尼亚语 est 奥杰布瓦语 oji
奥里亚语 ori 奥罗莫语 orm
B 波兰语 pl 波斯语 per 布列塔尼语 bre
巴什基尔语 bak 巴斯克语 baq 巴西葡萄牙语 pot
白俄罗斯语 bel 柏柏尔语 ber 邦板牙语 pam
保加利亚语 bul 北方萨米语 sme 北索托语 ped
本巴语 bem 比林语 bli 比斯拉马语 bis
俾路支语 bal 冰岛语 ice 波斯尼亚语 bos
博杰普尔语 bho
C 楚瓦什语 chv 聪加语 tso
D 丹麦语 dan 德语 de 鞑靼语 tat
掸语 sha 德顿语 tet 迪维希语 div
低地德语 log
E 俄语 ru
F 法语 fra 菲律宾语 fil 芬兰语 fin
梵语 san 弗留利语 fri 富拉尼语 ful
法罗语 fao
G 盖尔语 gla 刚果语 kon 高地索布语 ups
高棉语 hkm 格陵兰语 kal 格鲁吉亚语 geo
古吉拉特语 guj 古希腊语 gra 古英语 eno
瓜拉尼语 grn
H 韩语 kor 荷兰语 nl 胡帕语 hup
哈卡钦语 hak 海地语 ht 黑山语 mot
豪萨语 hau
J 吉尔吉斯语 kir 加利西亚语 glg 加拿大法语 frn
加泰罗尼亚语 cat 捷克语 cs
K 卡拜尔语 kab 卡纳达语 kan 卡努里语 kau
卡舒比语 kah 康瓦尔语 cor 科萨语 xho
科西嘉语 cos 克里克语 cre 克里米亚鞑靼语 cri
克林贡语 kli 克罗地亚语 hrv 克丘亚语 que
克什米尔语 kas 孔卡尼语 kok 库尔德语 kur
L 拉丁语 lat 老挝语 lao 罗马尼亚语 rom
拉特加莱语 lag 拉脱维亚语 lav 林堡语 lim
林加拉语 lin 卢干达语 lug 卢森堡语 ltz
卢森尼亚语 ruy 卢旺达语 kin 立陶宛语 lit
罗曼什语 roh 罗姆语 ro 逻辑语 loj
M 马来语 may 缅甸语 bur 马拉地语 mar
马拉加斯语 mg 马拉雅拉姆语 mal 马其顿语 mac
马绍尔语 mah 迈蒂利语 mai 曼克斯语 glv
毛里求斯克里奥尔语 mau 毛利语 mao 孟加拉语 ben
马耳他语 mlt 苗语 hmn
N 挪威语 nor 那不勒斯语 nea 南恩德贝莱语 nbl
南非荷兰语 afr 南索托语 sot 尼泊尔语 nep
P 葡萄牙语 pt 旁遮普语 pan 帕皮阿门托语 pap
普什图语 pus
Q 齐切瓦语 nya 契维语 twi 切罗基语 chr
R 日语 jp 瑞典语 swe
S 萨丁尼亚语 srd 萨摩亚语 sm 塞尔维亚-克罗地亚语 sec
塞尔维亚语 srp 桑海语 sol 僧伽罗语 sin
世界语 epo 书面挪威语 nob 斯洛伐克语 sk
斯洛文尼亚语 slo 斯瓦希里语 swa 塞尔维亚语(西里尔) src
索马里语 som
T 泰语 th 土耳其语 tr 塔吉克语 tgk
泰米尔语 tam 他加禄语 tgl 提格利尼亚语 tir
泰卢固语 tel 突尼斯阿拉伯语 tua 土库曼语 tuk
W 乌克兰语 ukr 瓦隆语 wln 威尔士语 wel
文达语 ven 沃洛夫语 wol 乌尔都语 urd
X 西班牙语 spa 希伯来语 heb 希腊语 el
匈牙利语 hu 西弗里斯语 fry 西里西亚语 sil
希利盖农语 hil 下索布语 los 夏威夷语 haw
新挪威语 nno 西非书面语 nqo 信德语 snd
修纳语 sna 宿务语 ceb 叙利亚语 syr
巽他语 sun
Y 英语 en 印地语 hi 印尼语 id
意大利语 it 越南语 vie 意第绪语 yid
因特语 ina 亚齐语 ach 印古什语 ing
伊博语 ibo 伊多语 ido 约鲁巴语 yor
亚美尼亚语 arm 伊努克提图特语 iku 伊朗语 ir
Z 中文(简体) zh 中文(繁体) cht 中文(文言文) wyw
中文(粤语) yue 扎扎其语 zaz 中古法语 frm
祖鲁语 zul 爪哇语 jav

完整源码

class TranslateHelper
{
	// 翻译AI的APP ID
	static string APPID = "";
	static string APPKEY = "";

	public static void Init(string appID,string secretKey)
	{
		APPID = appID;
		APPKEY = secretKey;
	}

	/// <summary>
	/// 获取翻译结果
	/// </summary>
	/// <param name="content">要翻译的原文</param>
	/// <param name="to">目标语言</param>
	/// <param name="from">源语言</param>
	public static string Get(string content,string to,string from = "zh")
	{
		Random rd = new Random();
		string salt = rd.Next(100000).ToString();
		string sign = EncryptString(APPID + content + salt + APPKEY);
		string url = "http://api.fanyi.baidu.com/api/trans/vip/translate?";
		url += "q=" + HttpUtility.UrlEncode(content);
		url += "&from=" + from;
		url += "&to=" + to;
		url += "&appid=" + APPID;
		url += "&salt=" + salt;
		url += "&sign=" + sign;
		HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
		request.Method = "GET";
		request.ContentType = "text/html;charset=UTF-8";
		request.UserAgent = null;
		request.Timeout = 6000;
		HttpWebResponse response = (HttpWebResponse)request.GetResponse();
		Stream myResponseStream = response.GetResponseStream();
		StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
		string retString = myStreamReader.ReadToEnd();
		myStreamReader.Close();
		myResponseStream.Close();
		return retString;
	}

	// 计算MD5值
	public static string EncryptString(string str)
	{
		MD5 md5 = MD5.Create();
		// 将字符串转换成字节数组
		byte[] byteOld = Encoding.UTF8.GetBytes(str);
		// 调用加密方法
		byte[] byteNew = md5.ComputeHash(byteOld);
		// 将加密结果转换为字符串
		StringBuilder sb = new StringBuilder();
		foreach (byte b in byteNew)
		{
			// 将字节转换成16进制表示的字符串,
			sb.Append(b.ToString("x2"));
		}
		// 返回加密的字符串
		return sb.ToString();
	}

	public static string GetErrorCode(string error_code, string msg)
	{
		string msg_zh = "";
		if (error_code == "52000")
			msg_zh = "成功";
		if (error_code == "52001")
			msg_zh = "请求超时,请重试";
		if (error_code == "52002")
			msg_zh = "系统错误,请重试";
		if (error_code == "52003")
			msg_zh = "未授权用户,请检查appid是否正确或者服务是否开通";
		if (error_code == "54000")
			msg_zh = "必填参数为空,请检查是否少传参数 ";
		if (error_code == "54001")
			msg_zh = "签名错误,请检查您的签名生成方法 ";
		if (error_code == "54003")
			msg_zh = "访问频率受限,请降低您的调用频率,或进行身份认证后切换为高级版/尊享版 https://fanyi-api.baidu.com/api/trans/product/desktop";
		if (error_code == "54004")
			msg_zh = "账户余额不足,请前往管理控制台为账户充值 https://fanyi-api.baidu.com/api/trans/product/desktop";
		if (error_code == "54005")
			msg_zh = "长query请求频繁,请降低长query的发送频率,3s后再试 ";
		if (error_code == "58000")
			msg_zh = "客户端IP非法,检查个人资料里填写的IP地址是否正确,可前往开发者信息-基本信息修改 ";
		if (error_code == "58001")
			msg_zh = "译文语言方向不支持,检查译文语言是否在语言列表里";
		if (error_code == "58002")
			msg_zh = "服务当前已关闭,请前往管理控制台开启服务 https://fanyi-api.baidu.com/api/trans/product/desktop";
		if (error_code == "90107")
			msg_zh = "认证未通过或未生效 请前往我的认证查看认证进度 https://api.fanyi.baidu.com/myIdentify";
		return $"错误码:{error_code} 错误信息:{msg} 错误码含义:{msg_zh}";
	}
}

 百度翻译文档与支持

通用翻译API接入文档

到了这里,关于百度翻译API —— 通用文本翻译的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#调用百度翻译API自动将中文转化为英文,按行转换

    我们可以使用百度翻译API获取到翻译结果 翻译API地址: http://api.fanyi.baidu.com/api/trans/vip/translate 窗体FormTranslator设计器如图:  窗体设计器源代码如下: 文件:FormTranslator.Designer.cs TranslateUtil.cs源程序如下: 文件FormTranslator.cs 【需要到百度上申请开发者账号appId和密码password】

    2024年02月14日
    浏览(42)
  • 一款免费的中英文文本翻译的api接口

    一款免费的中英文文本翻译接口 重要提示:建议使用https协议,当https协议无法使用时再尝试使用http协议 请求方式: POST 序号 参数 是否必须 说明 1 ColaKey 是 唯一验证ColaKey, 可前往官网获取(http(s): //luckycola.com.cn) 2 text 是 需要被翻译的文本内容(中文或者英文文本) 3 fromlang 是 需要

    2024年02月09日
    浏览(62)
  • 百度文心一言(ERNIE bot)API接入Android应用

    百度文心一言(ERNIE bot)API接入Android应用实践 - 拾一贰叁 - 博客园 (cnblogs.com) 现在生成式AI越来越强大了,想在android上实现一个对话助手的功能,大概摸索了一下接入百度文心一言API的方法。 与AI助手交换信息的方式可以这么理解: 我向文心一言发送一个message:你好啊:

    2024年04月13日
    浏览(58)
  • OS-AIGC通用生成式人工智能模型加密接入标准API协议-2023 Beta版

    OS-AIGC通用生成式人工智能模型加密接入标准API协议(Universal Language Model Encryption Access Standard API Protocol)国内的通用语言大模型的加密接入标准API协议。能够适配各种语言模型,主要为了解决API传输过程中的明文输入可能会造成的隐私信息泄露问题,同时也为了方便各种服务

    2024年02月13日
    浏览(142)
  • 【爬虫】百度FengXiangBiao(完全爬虫卡住了,是爬虫+文本提取方式)

    学习使用。爬虫有风险。使用需谨慎。切记切记。 参考链接:学习python爬虫—爬虫实践:爬取B站排行榜 都是排行榜反正 按F12,打开控制台。前端就是这点好,非常直观。 找到排行的具体位置,如下图,这里是【top_rank_list-poi-card】 (所以百度方向标这里实际上是poi数据,刚

    2024年02月12日
    浏览(31)
  • 快速调用百度AI开放平台的API,以OCR通用文字识别为例(封装函数进行连续调用)

    🔥博客主页:是dream 🚀系列专栏: 深度学习环境搭建、环境配置问题解决、自然语言处理、语音信号处理、项目开发 💘每日语录:眼里有不朽的光芒 心里有永恒的希望 。 🎉感谢大家点赞👍收藏⭐指正✍️         百度开放平台允许开发者访问和利用百度的各种服务

    2024年02月06日
    浏览(69)
  • post/get 多方式调用upload_img-上传图片到1688API接入说明和文档参数

        POST和GET是HTTP协议中两种最基本的请求方式。其主要差别在于传参方式、数据大小等方面,下面做详细介绍: 1. GET(获取):从服务器获取资源或数据 当一个GET请求发生时,客户端发送一个请求给服务端,服务端会返回请求的内容。这个请求可以使用一个URL地址,在该地

    2024年02月04日
    浏览(40)
  • 小程序中使用微信同声传译插件实现语音识别、语音合成、文本翻译功能----文本翻译(三)

    官方文档链接:https://mp.weixin.qq.com/wxopen/plugindevdoc?appid=wx069ba97219f66d99token=370941954lang=zh_CN#- 要使用插件需要先在小程序管理后台的 设置-第三方设置-插件管理 中添加插件,目前该插件仅认证后的小程序。 文本翻译目前支持的语言有 zh_CN(中国大陆) en_US(英语)。 参数说明:

    2024年01月18日
    浏览(127)
  • 当百度AI走进终端(终端翻译、终端机器人)

    使用百度翻译api接口,在命令行使用python脚本翻译 tub具有两种模式,第一种也就是原始功能,即翻译功能(为translate模块);第二种则利用百度ai,能够进行对话,低智商问题的搜索(为robot模块)。 python3 百度翻译开放平台申请appid和秘钥,链接百度翻译开放平台 需要去百

    2024年02月05日
    浏览(37)
  • Python selenium 爬取百度翻译结果的代码实现

    Python是一种功能强大的编程语言,可以用于各种任务,包括网络爬虫。 在本文中,我们将使用selenium库,来实现爬取百度翻译结果的功能。百度翻译是一个广泛使用的在线翻译工具,它提供了多种语言之间的即时翻译服务。selenium库可通过pip安装: pip install selenium 。 使用Se

    2024年02月03日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包