*

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初心者はまず関数die()と、print_r()を覚えよう!

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

記事を読む

Laravel 5.1 プロジェクト作成(インストール)

本記事ではLaravel 5.1 LTSを利用して開発するためにLaravelをインストールする手順

記事を読む

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

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

記事を読む

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

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

記事を読む

codeigniterで、PC版とスマフォ版のテンプレートを自動で振分ける方法

  スマフォ版とPC版のテンプレートを切り替えるために、毎回コントローラでユ

記事を読む

codeigniterでselect文にunionを使いたい

select文でunionを使いたいが、調べてみてると普通にできなさそうなので、librar

記事を読む

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

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

記事を読む

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

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

記事を読む

複数のXAMPPインストール

Windows環境でPHP開発をする際にXAMPPをインストールすることになります。ただし、複数の開

記事を読む

codeigniterでIE8において別Windowで開くとセッションが切れてログアウトしてしまう

codeigniterで作成したWebサービスをアクセスしているときに、別Windowで開く

記事を読む

お問い合わせはこちら!

Comment

  1. yama より:

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

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

  2. user より:

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

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

Message

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

お問い合わせはこちら!

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

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

SourceTreeで差分ファイルを抽出

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

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

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

Windows10にLaravel開発環境を構築

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

複数のXAMPPインストール

Windows環境でPHP開発をする際にXAMPPをインストールするこ

→もっと見る

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