C/S快速开发框架多语言功能集成百度翻译接口(支持中文简体、繁体、英文、越南文)
C/S快速开发框架多语言功能集成百度翻译接口(支持中文简体、繁体、英文、越南文)
适用开发:制造、服务、零售、商贸等行业的ERP、MRP、MES、CRM、MIS、HIS、POS数据管理应用系统
运行平台:Windows + .NET Framework 4.5
开发工具:Visual Studio 2015+,C#语言
数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql)多语言界面开发框架简介
C/S系统软件快速开发框架支持多国语言界面,语言资料存储在CSFrameworkVXX.System数据库的sys_Language表。目前支持中文繁体、简体、英文、越南文(默认是中文简体),分别对应的字段名称:CHS\CHT\ENG\VN,您可通过系统管理模块的【多语言管理】进行维护语言库资料。
C/S系统软件快速开发框架支持多国语言界面,语言资料存储在CSFrameworkVXX.System数据库的sys_Language表。目前支持中文繁体、简体、英文、越南文(默认是中文简体),分别对应的字段名称:CHS\CHT\ENG\VN,您可通过系统管理模块的【多语言管理】进行维护语言库资料。


BaiduTrans 类:
C# Code:
/// <summary>
/// 翻译内容
/// </summary>
/// <param name="content">内容</param>
/// <param name="from">源语言</param>
/// <param name="to">目标语言</param>
/// <returns></returns>
public string Tran(string content, string from = "zh", string to = "eng")
{
if (String.IsNullOrWhiteSpace(content)) return String.Empty;
//截取左右空格空白字符
content = content.Trim();
//如果使用免费翻译API,访问频率受限1s翻译一次
if (this.IsUseFreeAPI)
{
Application.DoEvents();
Thread.Sleep(1000);
}
//余额不足,不翻译
if (this.IsNoMoney) return content;
string q = content;// 原文
Random rd = new Random();
string salt = rd.Next(100000).ToString();
string appId = _appKey;// 改成您的APP ID
string secretKey = _secretKey;// 改成您的密钥
string sign = EncryptString(appId + q + salt + secretKey);
string url = "http://api.fanyi.baidu.com/api/trans/vip/translate?";
url += "q=" + HttpUtility.UrlEncode(q);
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();
var data = JsonConvert.DeserializeObject<BaiduTransResult>(retString);
//翻译成功
if (data != null && data.trans_result != null && data.trans_result.Count > 0)
{
var str = data.trans_result[0].dst;
//HTML转译
str = HttpUtility.HtmlDecode(str);
var result = GetResult(content, str);//特殊处理
_TryCount = 0;//翻译成功,计算器重置
return result;
}
else if (data.error_code == "54004")
{
//{"error_code":"54004","error_msg":"Please recharge"}
this.IsNoMoney = true;
//SetFreeAccount();
}
else if (data.error_code == "54003")
{
//54003,Invalid Access Limit
//SetFreeAccount1();
//流量限制,尝试最多翻译3次
_TryCount++;
if (_TryCount < 5)
return Tran(content);
}
else if (!String.IsNullOrEmpty(data.error_msg))
throw new Exception($"调用百度翻译API发生错误:{data.error_code},{data.error_msg}");
_TryCount = 0;
return content;
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// <summary>
/// 翻译内容
/// </summary>
/// <param name="content">内容</param>
/// <param name="from">源语言</param>
/// <param name="to">目标语言</param>
/// <returns></returns>
public string Tran(string content, string from = "zh", string to = "eng")
{
if (String.IsNullOrWhiteSpace(content)) return String.Empty;
//截取左右空格空白字符
content = content.Trim();
//如果使用免费翻译API,访问频率受限1s翻译一次
if (this.IsUseFreeAPI)
{
Application.DoEvents();
Thread.Sleep(1000);
}
//余额不足,不翻译
if (this.IsNoMoney) return content;
string q = content;// 原文
Random rd = new Random();
string salt = rd.Next(100000).ToString();
string appId = _appKey;// 改成您的APP ID
string secretKey = _secretKey;// 改成您的密钥
string sign = EncryptString(appId + q + salt + secretKey);
string url = "http://api.fanyi.baidu.com/api/trans/vip/translate?";
url += "q=" + HttpUtility.UrlEncode(q);
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();
var data = JsonConvert.DeserializeObject<BaiduTransResult>(retString);
//翻译成功
if (data != null && data.trans_result != null && data.trans_result.Count > 0)
{
var str = data.trans_result[0].dst;
//HTML转译
str = HttpUtility.HtmlDecode(str);
var result = GetResult(content, str);//特殊处理
_TryCount = 0;//翻译成功,计算器重置
return result;
}
else if (data.error_code == "54004")
{
//{"error_code":"54004","error_msg":"Please recharge"}
this.IsNoMoney = true;
//SetFreeAccount();
}
else if (data.error_code == "54003")
{
//54003,Invalid Access Limit
//SetFreeAccount1();
//流量限制,尝试最多翻译3次
_TryCount++;
if (_TryCount < 5)
return Tran(content);
}
else if (!String.IsNullOrEmpty(data.error_msg))
throw new Exception($"调用百度翻译API发生错误:{data.error_code},{data.error_msg}");
_TryCount = 0;
return content;
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
Baidu翻译的英文界面效果:

Baidu翻译的英文界面效果:

Baidu翻译越南语界面效果:




参考文档:
.NET软件开发平台标准版V2.3 - 支持多语言(中文繁体、简体、英文、越南文)
主窗体的导航菜单及树结构菜单实现多语言(翻译英文越南文)
软件开发与设计 - BBS-电子布告栏系统-[论坛社区]大侠论坛DXBBS v7.1 繁体中文版_dxbbs7_traditiona
C#使用LCMapString API函数进行中文简繁体互相转换
[电子商务]威购多用户商城英文版 v2008 sp2 Build 0628 英文版_vgoshop_2008sp2_english-源码下载
多语言切换到英文版登陆报错:截断字符串或二进制数据
如何隐藏列头Column Header上面的显示英文区域?
Cannot resolve the collation conflict.无法解析等号两边的中文简体和中文繁体字符集
CSFramework成功案例-ERP系统-人事行政后勤招聘管理系统HR模块
Winform多语言框架 - 修改主窗体菜单的多语言
CSFrameworkV6旗舰版|成功案例|纸箱行业ERP系统|C/S开发框架
Winform企业级WCF快速开发框架平台(C/S架构+WCF+DevExpress+SQL多数据库)
C#.NET Winform轻量级UI框架软件快速开发平台(MySQL, Oracle, MsSQL)
Winform+DevExpress三层架构软件快速开发平台-旗舰版V5.1
C/S架构多语言界面UI框架软件开发框架(C#.NET+Winform+DEV+SQL)
原创C/S架构开源软件 - C#.NET+Winform+Dev+SQL快速开发框架
.NET软件开发平台标准版V2.3 - 支持多语言(中文繁体、简体、英文、越南文)
主窗体的导航菜单及树结构菜单实现多语言(翻译英文越南文)
软件开发与设计 - BBS-电子布告栏系统-[论坛社区]大侠论坛DXBBS v7.1 繁体中文版_dxbbs7_traditiona
C#使用LCMapString API函数进行中文简繁体互相转换
[电子商务]威购多用户商城英文版 v2008 sp2 Build 0628 英文版_vgoshop_2008sp2_english-源码下载
多语言切换到英文版登陆报错:截断字符串或二进制数据
如何隐藏列头Column Header上面的显示英文区域?
Cannot resolve the collation conflict.无法解析等号两边的中文简体和中文繁体字符集
CSFramework成功案例-ERP系统-人事行政后勤招聘管理系统HR模块
Winform多语言框架 - 修改主窗体菜单的多语言
CSFrameworkV6旗舰版|成功案例|纸箱行业ERP系统|C/S开发框架
Winform企业级WCF快速开发框架平台(C/S架构+WCF+DevExpress+SQL多数据库)
C#.NET Winform轻量级UI框架软件快速开发平台(MySQL, Oracle, MsSQL)
Winform+DevExpress三层架构软件快速开发平台-旗舰版V5.1
C/S架构多语言界面UI框架软件开发框架(C#.NET+Winform+DEV+SQL)
原创C/S架构开源软件 - C#.NET+Winform+Dev+SQL快速开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
