200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > c#语言程序翻译软件 C#使用百度翻译API

c#语言程序翻译软件 C#使用百度翻译API

时间:2019-02-22 16:47:11

相关推荐

c#语言程序翻译软件 C#使用百度翻译API

API网址:

/wiki/index.php?title=帮助文档首页/百度翻译/翻译API

核心代码:

///

/// 请求百度接口

///

/// 要翻译的文本

/// from语言

/// 翻译为语言

///

static private string CallInterface(string sub, string from, string to)

{

HttpContext.Current.Application.Lock();

if (HttpContext.Current.Application["baidu"] == null)

{

HttpContext.Current.Application["baidu"] = 1;

}

else

{

HttpContext.Current.Application["baidu"] = (int)HttpContext.Current.Application["baidu"] + 1;

}

HttpContext.Current.Application.UnLock();

string url = string.Format("/public/2.0/bmt/translate?client_id={0}&q={1}&from={2}&to={3}", CLIENT_ID, sub, from, to);

string down = "", result = "";

try

{

WebClient wc = new WebClient();

down = wc.DownloadString(url);

}

catch (Exception)

{

}

JsonData jd = JsonMapper.ToObject(down);

if (JsonDataContainsKey(jd, "error_code"))

{

result += sub;

}

else

{

JsonData jdResult = jd["trans_result"];

for (int j = 0; j < jdResult.Count; j++)

{

JsonData jdDst = jdResult[j]["dst"];

result += jdDst.ToString();

}

}

return result;

}

static public bool JsonDataContainsKey(JsonData data, string key)

{

bool result = false;

if (data == null)

return result;

if (!data.IsObject)

{

return result;

}

IDictionary tdictionary = data as IDictionary;

if (tdictionary == null)

return result;

if (tdictionary.Contains(key))

{

result = true;

}

return result;

}

支持的翻译方向:

from字段

to字段

翻译方向

auto

auto

自动识别

zh

en

中 -> 英

zh

jp

中 -> 日

语种编码

目前支持13种语言,如下所示:

语种

代码

语种

代码

中文

zh

英语

en

日语

jp

韩语

kor

西班牙语

spa

法语

fra

泰语

th

阿拉伯语

ara

俄罗斯语

ru

葡萄牙语

pt

粤语

yue

文言文

wyw

白话文

zh

自动检测

auto

德语

de

意大利语

it JsonData使用了LitJSON库。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。