使用 Bing Sharp 來做 Bing 翻譯
1. 簡介
在之前,曾發過此篇文章,[Windows Mobile]修練筆記(9) - 在智慧型裝置專案、Windows Form 應用程式與 Widget 使用 Bing API 達成 Bing 圖片搜尋,文章中,我們必須對 Bing API 所回傳的 XML、JSON 或 Soap 做處理,而 Bing Sharp 的出現,就省去了這道手續。
Bing Sharp 是一個包含 Bing API 2.x XML 請求的 C# API,提供了與 Bing API 互動的物件模型,使用了 Bing Sharp,則不必去處理 XML、JSON、Soap。
*註 : Bing Sharp 作者為 Joseph Guadagno,是 Micosoft Visual C# MVP
2. 使用 Bing Sharp
(1) 下載
(2) 加入參考
在程式中 using
using Bing;
(3) 撰寫程式
要如何使用 Bing Sharp 來做 翻譯,作者有提供 help 檔案可以下載。而要使用 Bing,就必須要有 AppID,申請的方式請參考 [Windows Mobile]修練筆記(9) - 在智慧型裝置專案、Windows Form 應用程式與 Widget 使用 Bing API 達成 Bing 圖片搜尋。
以下是程式碼
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Bing;
namespace WindowsFormsBing
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
AddItem(cboFrom);
AddItem(cboTo);
}
string AppId = "B692A148D1624C4E3C1248C8E5DDC209E524D2C4";
private void btnTranslate_Click(object sender, EventArgs e)
{
string query = txtQuery.Text.Trim();
this.txtResult.Text = String.Empty;
if (string.IsNullOrEmpty(query))
{
MessageBox.Show("請輸入要翻譯的文字");
return;
}
if (this.cboFrom.SelectedIndex < 0)
{
MessageBox.Show("請選擇來源語系");
return;
}
if (this.cboTo.SelectedIndex < 0)
{
MessageBox.Show("請選擇目的語系");
return;
}
SearchRequest searchRequest = new SearchRequest() { AppId = AppId, Query = query, Market = "en-US" };
TranslationRequest translationRequest = new TranslationRequest(); // 宣告 TranslationRequest 並實例化
translationRequest.SourceLanguage = cboFrom.Text.ToString(); // 來源語系
translationRequest.TargetLanguage = cboTo.Text.ToString(); // 目的語系
TranslationResponse response = API.Translation(searchRequest, translationRequest);
if (response.TranslationResults.Count > 0) // 翻譯回傳值大於0筆時
{
txtResult.Text = response.TranslationResults[0].TranslatedTerm;
}
}
public void AddItem(ComboBox cbo)
{
cbo.Items.Add("Ar"); // Arabic
cbo.Items.Add("zh-CHS");// Simplified Chinese
cbo.Items.Add("zh-CHT");// Traditional Chinese
cbo.Items.Add("Nl"); // Dutch
cbo.Items.Add("En"); // English
cbo.Items.Add("Fr"); // French
cbo.Items.Add("De"); // German
cbo.Items.Add("It"); // Italian
cbo.Items.Add("Ja"); // Japanese
cbo.Items.Add("Ko"); // Korean
cbo.Items.Add("Pl"); // Polish
cbo.Items.Add("Pt"); // Portuguese
cbo.Items.Add("Ru"); // Russian
cbo.Items.Add("Es"); //"Spanish
}
}
}
(4) 執行結果
3. 檔案下載
4. 附註
會使用 Bing Sharp 的原因是因為 Plurk 網友詢問這是微軟新出的程式語言嗎? 而且看到大陸網站上有關於 Bing Sharp 的介紹,不過總覺得這應該不是微軟官方的東西,反正好用的話,大家就會使用了