使ってみよう! Windows Live SDK/API

第38回 使ってみようMicrosoft Translator

この記事を読むのに必要な時間:およそ 5 分

翻訳

それでは,Microsoft Translator APIを使ってみましょう。まずは,ある言語から別の言語へとテキストを翻訳する基本的な機能です。この基本的な機能は前バージョンのMicrosoft Translator V1からあるものです。

AJAXサービスによるAPIは,次のURLにメソッド名とメソッドに必要なパラメーターを付けてアクセスすることで結果が得られます。

  • http://api.microsofttranslator.com/V2/Ajax.svc/

たとえばテキストから翻訳する場合は,次のようなURLへアクセスすると翻訳結果が返ってきます。自分のAppIDを付けてWebブラウザーからアクセスしてみましょう。すぐに結果が得られると思います。とても簡単ですね。

  • http://api.microsofttranslator.com/V2/Ajax.svc/Translate?appId=YourAppID&text=Hello&from=en&to=ja

上記URLのTranslateがメソッド名,appIdやtext,from,toがパラメーター名,Helloやen,jaがパラメーターに指定した値です。ここでは「Hello」という英語(en)を日本語(ja)に翻訳したということになります。Translateメソッドは次のパラメーターを指定します。

パラメーター名 説明
appId AppID
text 翻訳するテキスト
from 翻訳前の言語(言語コード)
To 翻訳語の言語(言語コード)

JavaScriptのコードでは次のように書けます。APIのURLとWebサイトのあるURLはドメインが異なるため,JSONPという方法を使ってアクセスしています。


$(function () {
    $.ajax({
        type: "GET",
        url: "http://api.microsofttranslator.com/V2/Ajax.svc/Translate",
        dataType: "jsonp",
        data: {
            appId: appId,
            text: "Hello, world!",
            from: "en",
            to: "ja"
        },
        jsonp: "oncomplete",
        success: function (data, dataType) {
            // 結果を表示
            alert(data);
        }
    });
});

サポート言語の取得

テキストの翻訳は現在30言語がサポートされています。Translateメソッドのfromやtoパラメーターに指定できる値は,GetLanguagesForTranslateメソッドで取得できます。実行結果は図3です。


$(function () {
    $.ajax({
        type: "GET",
        url: "http://api.microsofttranslator.com/V2/Ajax.svc/GetLanguagesForTranslate",
        dataType: "jsonp",
        data: {
            appId: appId
        },
        jsonp: "oncomplete",
        success: function (data, dataType) {
            alert(data);
        }
    });
});

図3 サポート言語の取得

図3 サポート言語の取得

enやjaのように表記された言語の種類(本記事では言語コードを表記します)を,「英語」「日本語」のように,ある言語で表記した言語名もGetLanguageNamesメソッドで取得できます。実行結果は図4です。


$(function () {
    $.ajax({
        type: "GET",
        url: "http://api.microsofttranslator.com/V2/Ajax.svc/GetLanguageNames",
        dataType: "jsonp",
        data: {
            appId: appId,
            locale: "ja",
            languageCodes: "[\"en\", \"ja\", \"de\", \"fr\", \"it\"]"
        },
        jsonp: "oncomplete",
        success: function (data, dataType) {
            alert(data);
        }
    });
});

図4 言語名の取得

図4 言語名の取得

GetLanguageNamesメソッドのパラメーターは次の通りです。

パラメーター名 説明
appId AppID
Locale 指定した言語コードで言語名を取得する
languageCodes 言語名を取得する言語コードの配列表記(例はコードを参照)

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp