*

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、頭が上がりません。もうアメリカに足を向けて寝ないようにします。

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

お問い合わせはこちら!

関連記事

Windows10にLaravel開発環境を構築

本記事は筆者のノートパソコンにLaravelプロジェクトの開発環境を構築した時のメモです。 構

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

複数のXAMPPインストール

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

記事を読む

Laravelのパッケージ開発

 パッケージ作成 Laraavelのパッケージを作成し、作成したパッケージを他のプロジェクトで利用

記事を読む

自動改札機のようにfuelphpでormのModelを自動作成する方法

  自動改札機をみたときに、fuelphpのORMのモデルを自動化させたい!

記事を読む

Laravel 5.1でLaravel Mixを使ってみた

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

記事を読む

お問い合わせはこちら!

Comment

  1. yama より:

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

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

  2. user より:

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

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

Message

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

お問い合わせはこちら!

no image
Laravelで複数実行したいとき

マルチプロセスで複数に実行してほしい場合は、JOBクラスを利用します。

Laravel5.1 ModelのCollectionからデーターを取得

ModelのCollectionからidのみを取得 <?p

Laravel 5.1でLaravel Mixを使ってみた

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

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

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

SourceTreeで差分ファイルを抽出

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

→もっと見る

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