こんにちは、Webプログラマの篠田です。
4月も折り返しを過ぎ、新緑が眩しい季節になってきました。
朝晩も涼しく、インドアプログラマの私も気持ちよく外出することができます。
さて、今回は前回に引き続き自動翻訳サービス「Google Cloud Translation API」の導入方法について、ご紹介します。
composerでパッケージを追加
まずは、PHPで「Google Cloud Translation API」を利用するためのパッケージを、「composer」を使って、インストールします。
1 |
composer require google/cloud-translate |
または、composer.jsonに記述する場合は、下記のとおりです。
1 2 3 4 5 |
{ "require": { "google/cloud-translate": "*" } } |
これで、「Google Cloud Translation API」を利用するためのPHP環境が用意できました。
基本情報を用意
「Google Cloud Translation API」を利用する時に必要となるのが下記の2点です。
(1)Google Cloud Platformの「プロジェクトID」
(2)「Google Cloud Translation API」の「APIキー」
Google APIの管理画面「Google API Console」へのURL
https://console.cloud.google.com/apis/library?hl=ja
それぞれを事前に用意しておきます。
「プロジェクトID」の場所
ヘッダーにあるプルダウンから指定の「プロジェクト名」を選択します。
「APIキー」の場所
Google API一覧が表示されている中から、「Google Cloud Translation API」をクリックします。
「APIキー」と書かれた項目の「キー」が必要なる情報になります。
サンプルプログラム
早速、「日本語」から「英語」に翻訳するサンプルプログラムをご紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php require_once '/vendor/autoload.php'; use Google\Cloud\Translate\TranslateClient; //Google APIの「プロジェクトID」 $projectId = 'プロジェクトID'; //「Google Cloud Translation API」の「APIキー」 $apiKey = 'APIキー'; //「TranslateClient」クラスを呼び出し $translate = new TranslateClient([ 'projectId' => $projectId, 'key' => $apiKey, ]); //翻訳したい言語を指定。今回は「日本語→英語」なので「en」 $lang = "en"; //翻訳開始 $result = $translate->translate("今日も、いい天気ですね。", [ 'target' => $lang, ]); var_dump($result); |
「$translate->translate」の第1引数に翻訳したい文章を渡すことで、翻訳が行われます。
DB等に保存されている場合などは、「$translate->translate」をループ内で利用することで大量の翻訳処理を行うことができます。
前回もご紹介しましたが、APIアクセス数ので課金ではないので、安心(?)して利用できます。
※ただし、APIアクセス数の上限はありますので、まとめられるのであれば、まとめて翻訳するのが良いのは良いです。
Googleからの戻り値
Googleからの戻り値を確認しておきます。
1 2 3 4 5 6 7 8 9 10 |
array(4) { ["source"]=> string(2) "ja" ["input"]=> string(36) "今日も、いい天気ですね。" ["text"]=> string(36) "It is nice weather today, is not it?" ["model"]=> NULL } |
翻訳内容とWeb版Google翻訳との内容に違いがないかも確認します。
まとめ
APIレスポンスも早く、Web版Google翻訳と同じ機能が利用できるのは大きな強みですね。
また、「composer」を利用することで必要なパッケージがインストールされるので接続も簡単です。
是非、「Google Cloud Translation API」を使って翻訳機能をシステムに導入してはどうでしょうか?
現場の業務フローに寄り添ったWebシステムをお求めなら、私たちALAKIにご相談ください。
ALAKIは経営者様が感じている問題点と、実際にWebシステムを利用される現場スタッフ様が直面している課題を、弊社システムエンジニアが丁寧に聞き取り、お客様と共にシステムを作り上げていきます。
業務改善が実現できるWebシステムをお求めの方は、是非ALAKIにご相談ください。