My puppyのブログ

学んだ事や作っているプログラムなどについて書いています。

Microsoft Translator Text APIで翻訳可能な言語の一覧です(2017年12月現在)

2017年12月現在、Microsoft Translator Text APIで翻訳できる言語の一覧です。

現在62言語の翻訳が可能となっており、この一覧は常に拡張されています。

翻訳可能な言語の最新の一覧は、GitHubに掲載されている以下のコードを実行すると取得できます。

github.com

このコードは、Azureポータルサイトから取得した認証キーをコード中の101行目の「ClientSecret」という文字列と置き換えるだけでそのまま実行できます。

認証キーの取得方法はQiitaの「Microsoft Translator テキスト API で、日本語を英語に翻訳するサンプル」の記事にて詳しく解説されていらっしゃいます。

<翻訳可能な言語一覧(2017年12月現在)>

言語名 言語コード
Afrikaans af
Arabic ar
Bangla bn
Bosnian (Latin) bs-Latn
Bulgarian bg
Catalan ca
Chinese Simplified zh-CHS
Chinese Traditional zh-CHT
Cantonese (Traditional) yue
Croatian hr
Czech cs
Danish da
Dutch nl
English en
Estonian et
Fijian fj
Filipino fil
Finnish fi
French fr
German de
Greek el
Haitian Creole ht
Hebrew he
Hindi hi
Hmong Daw mww
Hungarian hu
Indonesian id
Italian it
Japanese ja
Kiswahili sw
Klingon tlh
Klingon (pIqaD) tlh-Qaak
Korean ko
Latvian lv
Lithuanian lt
Malagasy mg
Malay ms
Maltese mt
Yucatec Maya yua
Norwegian Bokmål no
Querétaro Otomi otq
Persian fa
Polish pl
Portuguese pt
Romanian ro
Russian ru
Samoan sm
Serbian (Cyrillic) sr-Cyrl
Serbian (Latin) sr-Latn
Slovak sk
Slovenian sl
Spanish es
Swedish sv
Tahitian ty
Tamil ta
Thai th
Tongan to
Turkish tr
Ukrainian uk
Urdu ur
Vietnamese vi
Welsh cy

PHPによるMicrosoft Translator Text APIの翻訳サンプルです

<追記:2018年6月26日>

このブログ記事で紹介されているサンプルはAPIバージョン2を使用しており、現在は「Deprecated」(廃止予定)となっています。

新しいAPIバージョン3のサンプルがGitHubにございますので、ご参照くださいませ。

https://github.com/MicrosoftTranslator 」にあります。

PHPによる「Microsoft Translator Text API」の翻訳サンプルです。

日本語での情報があまりなかったので、まとめておきますね。

以下のPHPプログラムはAzureポータルサイトから取得した認証キーを設定するだけでそのまま実行できます。

認証キーの取得方法はQiitaの「Microsoft Translator テキスト API で、日本語を英語に翻訳するサンプル」の記事にて詳しく解説されていらっしゃいます。

以下のPHPプログラムは「http://www.aw6.de/azure/」に掲載されているコードの一部を改変して、日本語のコメントを付け加えて再掲載したものです。

<?php
// まずあらかじめ翻訳するための認証キーをAzureポータルサイトから
// 取得しておき、以下のKEY_1と置き換えます
$azure_key = "KEY_1";

// 翻訳元言語です
// 翻訳可能な言語の一覧は以下のブログ記事に載っています
// http://ken-tokyo.hatenablog.com/entry/2017/12/08/150212
$fromLanguage = "en";  

 // 翻訳先言語です
$toLanguage = "ja";

// 翻訳する英文です
$inputStr = "This is a pen.";

// 翻訳するためのトークンを取得する関数です
// このトークンの有効期限は、取得してから10分間とかなり短めです
function getToken($azure_key)
{
    $url = 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken';
    $ch = curl_init();
    $data_string = json_encode('{body}');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json',
            'Content-Length: ' . strlen($data_string),
            'Ocp-Apim-Subscription-Key: ' . $azure_key
        )
    );
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $strResponse = curl_exec($ch);
    curl_close($ch);
    return $strResponse;
}

// 翻訳を実行する関数です
function curlRequest($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml"));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    $curlResponse = curl_exec($ch);
    curl_close($ch);
    return $curlResponse;
}

// 翻訳するためのトークンを取得します。有効期限は取得後10分間です
$accessToken = getToken($azure_key);

// 翻訳するための文字列を生成します
$params = "text=" . urlencode($inputStr) . "&to=" . $toLanguage . "&from=" . $fromLanguage . "&appId=Bearer+" . $accessToken;

// 翻訳するためのURLを生成します
$translateUrl = "http://api.microsofttranslator.com/v2/Http.svc/Translate?$params";

// 翻訳を実行します
$curlResponse = curlRequest($translateUrl);

// 翻訳結果はxmlで帰ってくるのでそれを読み込みます
$translatedStr = simplexml_load_string($curlResponse);

// 翻訳結果をブラウザに表示します
echo "<p>From " . $fromLanguage . ": " . $inputStr . "<br>";
echo "To " . $toLanguage . ": " . $translatedStr . "<br>";
echo date("r") . "</p>";
?>

英単語翻訳機能に3言語追加しました(English-Video.net)

昨日English-Video.netの英単語翻訳機能に3言語追加しました。

追加した言語は以下の通りとなります。

フランス語

イタリア語

トルコ語

これで英単語翻訳機能は少し前に追加した10言語と合わせて、計13言語となります。

10言語追加した時の記事はこちらです。

ken-tokyo.hatenablog.com

実は今回の3言語の翻訳には、マイクロソフトAPIを使っています。

正式名称は「Microsoft Translator Text API」と言いまして、公式サイトはこちらです。

最初の10言語の翻訳にはGoogle Translation APIを使っていたのですが、このまま翻訳を続けると費用が高額になってしまいそうだったので、月間200万文字まで無料なマイクロソフトAPIを使用することにしました。

ちなみに今回翻訳した3言語(フランス語、イタリア語、トルコ語)で合計約160万文字でした。

マイクロソフトAPIを使用するにあたって調べたことを2つのブログ記事にしましたので、もし良かったらアクセスしてみてくださいね(^_-)-☆

ken-tokyo.hatenablog.com

ken-tokyo.hatenablog.com