C# 調用百度翻譯Api

來源:互聯網
上載者:User

標籤:des   winform   style   blog   http   ar   io   color   使用   

這是簡單的介面。用的是wpf,winform也可以

 具體的操作類

public partial class MainWindow : Window    {        string url = "";        public MainWindow()        {            InitializeComponent();            this.cbxTranslateChange.SelectedIndex = 0;        }        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[0].dst; //dst為翻譯後的值 } }     
     
     //改變翻譯語言來執行相應的操作 private void cbxTranslateChange_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBox comboBox = sender as ComboBox; switch (comboBox.SelectedIndex) { case 1: tranClass.From = "zh"; tranClass.To = "en"; break; case 2: tranClass.From = "en"; tranClass.To = "zh"; break; case 3: tranClass.From = "zh"; tranClass.To = "jp"; break; case 4: tranClass.From = "jp"; tranClass.To = "zh"; break; case 5: tranClass.From = "zh"; tranClass.To = "kor"; break; case 6: tranClass.From = "kor"; tranClass.To = "zh"; break; case 7: tranClass.From = "zh"; tranClass.To = "spa"; break; case 8: 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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.