BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Microsoft Translator APIの.NET拡張メソッド

Microsoft Translator APIの.NET拡張メソッド

原文(投稿日:2011/08/29)へのリンク

 Microsoft Translator APIは、RESTベースとSOAPベースのエンドポイントを使った翻訳サービスを開発者に提供する。 オープンソースプロジェクトのBing (Microsoft) Translator .NETは、これらのAPIを拡張メソッドを使ってラップしており、.NETアプリケーションで翻訳機能を組み込むのが容易になっている。

Microsoft Translator APIは以下のように多くの機能を提供している。

  • 言語の検出
  • ある言語を他の言語へ翻訳
  • 選択された言語のテキストをスピーチに変換
  • 崩れたテキストを一連のセンテンスにするなどの再整形

これらの機能を.NETアプリケーションから使用するためには、直感的じゃなく、非常に上長なHttpWebRequestオブジェクトを使用して呼び出す必要があった。Bing .NET Extensions library は、これらの呼び出しを大幅に簡単にする.NETオブジェクトに拡張メソッドを提供する。

たとえば、テキスト入力を英語からアラビア語に翻訳する場合、以下のように記述しなくてはならなかった。


string uri = http://api.microsofttranslator.com/v2/Http.svc/Translate?appId=+  appId + "&text=" + 

  tobetranslated + "&from=" + fromLang +  "&to=Arabic”;


HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
WebResponse response = request.GetResponse();
Stream strm = response.GetResponseStream();
StreamReader reader = new System.IO.StreamReader(strm);
translatedText = reader.ReadToEnd();

Translator .NET libraryを使った場合、この代わりに以下のように書くだけである。


translatedtext = tobetranslated.BingTranslate(BingLanguage.English,BingLanguage.Arabic)

実際には、言語検出機能を使って、ソース言語を指定しないこともできる。


translatedText =  tobetranslated.BingTranslate(BingLanguage.Arabic);

これは上のリストにあったBing Translation APIの機能を使った他の拡張メソッドである。これらの機能の使い方に関する完全な解説は、Mohammed氏のブログ投稿で言及されている。

Microsoft Translator APIについて、より詳細に知りたい場合は、開発者ドキュメントを参考にして欲しい。

拡張メソッドは、.NET Framework 3.0で追加された、新しい継承型や、元の型を変更して再コンパイルすることなく、既存の型にメソッドを追加することができる.NETの機能である。

この記事に星をつける

おすすめ度
スタイル

BT