Google Cloud Platformには数多くのAPIが公開されています。Google翻訳でお馴染みの翻訳についても同様に利用することができます。Google翻訳は日に日に賢くなっているので、これを利用しない手はありません。今回はこのCloud Translate APIを利用するまでの手順および利用方法について紹介します。
Cloud Translate API を利用するための前準備
Clouc Translate APIを利用する前に、APIの有効化とサービスアカウントキーの作成が必要になります。以下の手順でそれぞれの準備を行いましょう。
Cloud Translate API の有効化
「APIとサービス」よりCloud Translation APIを有効にします。下の画像の状態であれば、APIが有効になっていません。「有効にする」ボタンを押下し、APIを有効にしましょう。これを有効にしなければ、API実行時にエラーが返ってきます。
https://console.cloud.google.com/apis/dashboard?hl=ja
サービスアカウントキーの作成
Cloud Translate APIを実行するサーバのためにサービスアカウントキーを用意する必要があります。サービスアカウントキーの作成画面よりキーの作成を行います。
https://console.cloud.google.com/apis/credentials/serviceaccountkey?hl=ja&_ga=2.101692870.-695808396.1534220125
以下の内容を入力して下さい。
- サービスカウント: 「新しいサービスアカウント」を選択
- サービスアカウント名: (任意)
- 役割: オーナー (Project > オーナー)
- サービスアカウントID: (任意)
- キーのタイプ: JSON
「作成」ボタンを押下すると、jsonファイルがダウンロードされます。
なお、上記の例では役割にオーナーを指定しましたが、本番環境などでは適切な役割のものをご利用下さい。
サービスアカウントキーの適用
ダウンロードしたサービスアカウントキーを適用します。ターミナルで以下を実行しましょう。
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/auth.json"
これで準備は整いました。
Cloud Translate API の利用
それではCloud Translate APIを利用しましょう。以下、Pythonでの紹介を行いますが、GO, Java, Node.js, PHP, Rubyでも利用可能です。
翻訳するためのAPIだからといって、難しく考える必要はありません。なぜならCloud Translate APIに用意されているメソッドは4種類だけです。
https://googleapis.github.io/google-cloud-python/latest/translate/client.html
- Create … インスタンス生成
- detect_language … 言語の検出
- get_language … サポート言語のリストアップ
- translate … 翻訳
単純に翻訳するだけなら、Createメソッドでインスタンス生成後、translateメソッドで翻訳するだけですので、たった2行だけで処理することができます。そのソースコードを以下に示します。
# coding: UTF-8
from google.cloud import translate
# インスタンス生成
client = translate.Client()
# I am a programer を日本語に翻訳
result = client.translate(u'I am a programer', target_language='ja')
print(result['translatedText'])
実行すると「私はプログラマーです」と表示されます。非常にシンプルですね。
まとめ
Cloud Translate API の利用方法を紹介しました。今回は簡単な利用方法を紹介しましたが、複数の文字列をリストで送ることができたり、翻訳のモデルが2種類あったりなど便利な機能も用意されています。ぜひ利用してみてください。