*

PHPでMicrosoft Translate APIの翻訳機能を使ってみる

公開日: : 最終更新日:2015/04/10 Microsoft Translate API, PHP

medium_2264763977
photo credit: Robert Scoble via photopin cc

レディース・アンド・ジェントルメン!どうもOsamuです。

以前とある外国人向けのWebサイトを作る事となりました。外個人向けの、という事はもちろん英語です。高校時代バスケ部でアメリカ人2人、ロシア人1人とともに学生生活を過ごした私。しかし、3人とも日本語ペラペラでした。困ったものです。

という事で英語力の乏しい私は、機械翻訳APIを活用して自動的に翻訳してもらう事を決意したのでした。

機械翻訳のAPIは2つあります。GoogleとMicrosoftです

medium_6020157534
photo credit: Michael Kappel via photopin cc

尚、機械翻訳APIは2つあります。Google TranslatとMicrosoft Translateです。どちらかと言うと翻訳といえばGoogleの方が有名でしょうか。

しかし、Google Translate APIは有料です。使うにはお金が必要となります。Microsoft Translate APIは月20万文字までの翻訳利用であれば無料です。

又、他の制限について問合せてみましたが、2014年6月20日時点ですとアメリカのMicrosoftより以下のような制限があると回答を頂きました。

・1時間4000万文字まで
・要求の数に制限はなし



Windows Azure Marketplaceでまずは無料登録

まず使うにはWindows Azure Marketplaceに無料登録をする必要があります。200万文字の無料に契約しましょう!

Windows Azure Marketplace - Microsoft Translator

Translator



登録したらPHPのプログラムを書いてみる

では簡単な翻訳プログラムを書いてみましょう!以下のようなPHPファイルを作成します。

<?php
const APPID = 'your APPID';
$text = '彼はベンですか?いいえ彼はベンではありません。';
$to = 'en';

$ch = curl_init('https://api.datamarket.azure.com/Bing/MicrosoftTranslator/v1/Translate?Text=%27'.urlencode($text).'%27&To=%27'.$to.'%27');
curl_setopt($ch, CURLOPT_USERPWD, APPID.':'.APPID);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);
$result = explode('<d:Text m:type="Edm.String">', $result);
$result = explode('</d:Text>', $result[1]);
$result = $result[0];
echo $text." -> ".$result;
?>

参考にしたページ:Microsoft Translatorに登録。クラウドを利用して翻訳プログラムを簡単に作る。


コマンドで出力

実際にまずはコマンドラインで作成したPHPファイルを実行してみましょう。

こんな感じでしっかりと翻訳してくれます。

# php tran.php
彼はベンですか?いいえ彼はベンではありません。 -> He is Ben? No he is not Ben.


Webブラウザで出力

続いてWebブラウザでも出力してみましょう。
もちろん先程と同様のPHPファイルを使っていますので、しっかりと翻訳した結果を返してくれます。

tran


月に20万文字無料で使える強力な翻訳API

Googleでも有料にしているってのに無料で20万文字まで使える翻訳API。さすがはMicrosoft、頭が上がりません。もうアメリカに足を向けて寝ないようにします。

便利ですので翻訳が必要になった方はどうか試してみてください。

お問い合わせはこちら!

関連記事

PHP初心者の私がCodeIgniterを勉強して感じた4つのメリット、2つのデメリット

photo credit: Tc Morgan via photopin cc PHPを本

記事を読む

Laravel 5.1の自動ログインのお試し!

セッションの保持時間を1分にする 単位:分 デフォルト:120分 config

記事を読む

codeigniterで共通のヘッダーフッターの読み出しはCI_LoaderをextendsしたMY_Loaderで実装する

codeigniterで共通のヘッダー、フッターを読み込むときは、CI_Loaderクラスを

記事を読む

codeigniterはセッション情報をクッキー保持するので、複数台構成でもセッション保持してくれる

サービスが拡大していくと、いずれサーバの複数台構成にしなければならなくなる状況になります。

記事を読む

PHP初心者はまず関数die()と、print_r()を覚えよう!

photo credit: drewm via photopin cc PHPを触り始めて

記事を読む

PHPカンファレンス2015参加後記(PHP7は何が変わったか?)

PHPカンファレンス2015に行ってきましたので、後記を作成してみました。発表内容についての説明より

記事を読む

phpでexif_read_dataを使ってexif情報から撮影日を取得する

写真には画像データ以外に撮影日が取得できます!それがexifデータで、phpではexif_r

記事を読む

第104回 PHP勉強会に参加しました!

昨日「第104回 PHP勉強会@東京」に参加し、メイン発表をしました。 本当は発表を聞きに行く

記事を読む

Laravel 5.1でLaravel Mixを使ってみた

本投稿の目的は、Laravel 5.1でLaravel Mixを利用してSassをCSSへコンパイル

記事を読む

codeigniterで複数データベース切替方法について

codeigniterでデータベース切替を行うためにはどうしたらよいかを試行錯誤してみました

記事を読む

お問い合わせはこちら!

Comment

  1. yama より:

    こんにちは、マイクロソフトの翻訳のご紹介ありがとうございます。参考にさせていただきました。

    ところで月20万ときさいされていますが、月200万ではないでしょうか?

  2. user より:

    無料枠は20万ではなく、200万のようです。

  3. […] こちらのサイトを参考に下記のPHPを動かしてみました。 […]

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

お問い合わせはこちら!

Laravel 5.1でLaravel Mixを使ってみた

本投稿の目的は、Laravel 5.1でLaravel Mixを利用し

Laravel 5.1の自動ログインのお試し!

セッションの保持時間を1分にする 単位:分 デフォルト

SourceTreeで差分ファイルを抽出

GitのクライアントでSourceTreeを利用する時、コミットの差分

第104回 PHP勉強会に参加しました!

昨日「第104回 PHP勉強会@東京」に参加し、メイン発表をしました。

Windows10にLaravel開発環境を構築

本記事は筆者のノートパソコンにLaravelプロジェクトの開発環境を構

→もっと見る

  • AWS構築 - クラウドアドバイザー
PAGE TOP ↑