C# 调用百度翻译Api

时间:2023-01-22 20:26:37

这是简单的界面。用的是wpf,winform也可以

C# 调用百度翻译Api

具体的操作类

public partial class MainWindow : Window
{
string url = "";
public MainWindow()
{
InitializeComponent();
this.cbxTranslateChange.SelectedIndex = ;
}
private TranClass tranClass = new TranClass();
private void btnTranslate_Click(object sender, RoutedEventArgs e)
{ WebClient client = new WebClient(); //引用System.Net
string fromTranslate = tbxFromContent.Text; //翻译前的内容
if (!string.IsNullOrEmpty(fromTranslate))
{
         //client_id为自己的api_id,q为翻译对象,from为翻译语言,to为翻译后语言
string url = string.Format("http://openapi.baidu.com/public/2.0/bmt/translate?client_id={0}&q={1}&from={2}&to={3}", "youAPI_Id", fromTranslate, tranClass.From, tranClass.To);
var buffer = client.DownloadData(url);
string result = Encoding.UTF8.GetString(buffer);
StringReader sr = new StringReader(result);
JsonTextReader jsonReader = new JsonTextReader(sr); //引用Newtonsoft.Json 自带
JsonSerializer serializer = new JsonSerializer();
var r = serializer.Deserialize<TranClass>(jsonReader); //因为获取后的为json对象 ,实行转换
tbxToContent.Text = r.Trans_result[].dst; //dst为翻译后的值
}
}
     
     
     //改变翻译语言来执行相应的操作
private void cbxTranslateChange_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox comboBox = sender as ComboBox;
switch (comboBox.SelectedIndex)
{
case :
tranClass.From = "zh";
tranClass.To = "en";
break;
case :
tranClass.From = "en";
tranClass.To = "zh";
break;
case :
tranClass.From = "zh";
tranClass.To = "jp";
break;
case :
tranClass.From = "jp";
tranClass.To = "zh";
break;
case :
tranClass.From = "zh";
tranClass.To = "kor";
break;
case :
tranClass.From = "kor";
tranClass.To = "zh";
break;
case :
tranClass.From = "zh";
tranClass.To = "spa";
break;
case :
tranClass.From = "spa";
tranClass.To = "zh";
break;
default:
tranClass.From = "auto";
tranClass.To = "auto";
break; }
}      //对翻译后的内容发音,操作类具体我也不了解,默认发音英文,中文,其他语言要自己添加。
private void btnsound_Click(object sender, RoutedEventArgs e)
{
///gettts?lan=en&text=Scattering&spd=2&source=web
SpeechLib.SpeechVoiceSpeakFlags svsFlags = SpeechLib.SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpeechLib.SpVoice voice = new SpeechLib.SpVoice();
voice.Speak(tbxToContent.Text, svsFlags); }
}

这是返回结果使用的类

namespace BDTranslate.Models
{
public class TranClass
{
public string From { get; set; }
public string To { get; set; }
public List<Trans_result> Trans_result { get; set; }
}
public class Trans_result
{
public string src { get; set; }
public string dst { get; set; }
}
}

百度翻译api :http://developer.baidu.com/wiki/index.php?title=帮助文档首页/百度翻译/翻译API

C# 调用百度翻译Api的更多相关文章

  1. Python 调用百度翻译API

    由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu ...

  2. 原生js简单调用百度翻译API实现的翻译工具

    先来个在线demo: js翻译工具 或者百度搜索js简单调用百度翻译API工具(不过有个小小的界面显示bug,我想细心的人应该会发现) 或者直接前往该网址:js翻译工具 或者前往我的github:gi ...

  3. 调用百度翻译 API 来翻译网站信息

    之前说过jquery.i18n.js 来做网站的中英翻译,前提就得做一套中文内容,一套英文内容来解决,好处是中英翻译可以准确无误,本篇文章我们来看一下调用百度翻译的 API 来进行网站的翻译,但是翻译 ...

  4. 调用百度翻译API接口功能

    public string appid = "自己的APPID"; public string q = "要翻译的文本"; "; public str ...

  5. 百度翻译API(C&num;)

    百度翻译开放平台:点击打开链接 1. 定义类用于保存解析json得到的结果 public class Translation { public string Src { get; set; } pub ...

  6. 利用百度翻译API,获取翻译结果

    利用百度翻译API,获取翻译结果 translate.py #!/usr/bin/python #-*- coding:utf-8 -*- import sys reload(sys) sys.set ...

  7. Go语言使用百度翻译api

    Go语言使用百度翻译api 之前做过一个使用百度翻译api的工具,这个工具用于用户的自动翻译功能,是使用C#调用百度翻译api接口,既然在学习Go语言,那必然也是要使用Go来玩耍一番.这里我是这么安排 ...

  8. 百度翻译api初使用(很久没写python了,写几行玩玩)

    调用free api做做简易的翻译 这个是百度翻译api文档 http://api.fanyi.baidu.com/api/trans/product/apidoc 照着百度api给的文档向web服务 ...

  9. PHP 最完美调用百度翻译接口代码示例 &lpar;原&rpar;

    php调用百度翻译最新接口代码 问       题:写的过程遇到了一个问题,url拼接好的原翻译内容,appid,sign的地址直接输出到浏览器可以打开看到翻译后的返回值,但是各种curl,file_ ...

随机推荐

  1. AJAX笔试面试题汇总

    AJAX笔试面试题汇总 Javascript 1. 什么是ajax,为什么要使用Ajax(请谈一下你对Ajax的认识) 什么是ajax: AJAX是“Asynchronous JavaScript a ...

  2. iOS中倒计时

    方法一:使用NSTimer来实现(比较适用于发送短信验证码倒计时) 主要是利用NSTimer的scheduledTimerWithTimeInterval方法来每秒执行一次changeTime方法 / ...

  3. VC创建预编译文件

    Building a simple "hello world" Ogre application can take several seconds on a modern mach ...

  4. jquery冲突细节

    使用jquery报一个错误,之前也遇到过,今天记录下来,方便以后使用 Uncaught TypeError: Object #<Object> has no method 'test' 这 ...

  5. php服务器探针

    <?php /* ---------------------------------------------------- */ /* 程序名称: PHP探针-Yahei /* 程序功能: 探测 ...

  6. jquery&period;cookie&lpar;&rpar;方法

    jquery.cookie.js是一个轻量级的cookie 插件,可以读取.写入.删除 cookie. 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. < ...

  7. CH Round &num;55 - Streaming &num;6 &lpar;NOIP模拟赛day2&rpar;

    A.九九归一 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2355%20-%20Streaming%20%236%20(NOIP模拟赛day2)/九九归一 题 ...

  8. MD中bitmap源代码分析--设置流程

    1. 同步/异步刷磁盘 Bitmap文件写磁盘分同步和异步两种: 1) 同步置位:当盘阵有写请求时,对应的bitmap文件相应bit被置位,bitmap内存页被设置了DIRTY标志.而在下发写请求给磁 ...

  9. 安卓,通过本地应用分享到微信、facebook等

    别的不说了,直接上代码. 支持分享到微信.微博.facebook.twitter package com.example.shareSample; import java.util.List; imp ...

  10. linux环境下jdk 安装以及maven私服搭建

    1:准备资源      linux服务器,jdk和nexus  安装包    2:网络通畅,保持windows端和linux服务器端网络通畅.     3: 安装jdk和配置环境变量      进入到 ...