PHPプログラムに関する各種メモ書き

PHPでMicrosoft (Azure) Translator text を使って翻訳する

1. Azureアカウントを用意する

アカウントの作成はこちらのページがとてもわかりやすいのでこちらを参照してください
https://qiita.com/TakeshiNickOsanai/items/a8039ba8d558f7c8a05e

2. パッケージ matthiasnoback/microsoft-translator をインストールする

composer require matthiasnoback/microsoft-translator

3. PHPで翻訳を実行する

use Buzz\Browser;
use MatthiasNoback\MicrosoftOAuth\AzureTokenProvider;
use MatthiasNoback\MicrosoftTranslator\MicrosoftTranslator;

$browser = new Browser();
$azureKey = '[YOUR-AZURE-SUBSCRIPTION-KEY]';
$accessTokenProvider = new AzureTokenProvider($browser, $azureKey);
$translator = new MicrosoftTranslator($browser, $accessTokenProvider);
$translatedString = $translator->translate('This is a test', 'ja', 'en');
echo $translatedString

これだけでAPIによる機械翻訳が出来ます。

4. Azure Translator text API の価格

プランによって価格が変わります。 一番安いのは「Free」。無料です。

https://azure.microsoft.com/ja-jp/pricing/details/cognitive-services/translator-text-api/

なお Microsoftに問い合わせたところ、スペースも1文字に数えられると言う事です。
文字数カウント - Translator Text API | Microsoft Docs

・「Free」 毎月 200 万文字無料
・「S1」 100万文字あたり ¥1,120 (従量課金制) ( 200万文字無料枠がついてくるわけではない)
・「S2」 最大2億 5000万文字 ¥230,160/毎月
・「S3」 最大10億文字 ¥672,000/毎月
・「S4」 最大100億文字 ¥5,040,000/毎月

S4の料金が凄いですが、無料アカウントが自動で有料アカウントになる事はありません。
(「Free」のプランでは200万文字以上翻訳しようとするとエラーとなります。
なので200万文字を超えることがあらかじめわかっている場合は S1 以上にしておく必要があります。)
なおアカウント作成には本人確認のため(!) クレジットカードが必要です。

No.1343
11/26 17:01

edit