python アプリ開発

[3Stepで完了!]Google翻訳APIをpythonで自動化しよう!

こんにちは、こちょすです!

みなさんは調べ物や英語の翻訳が必要なときに、Google翻訳を使っていますか??

多くの人が一度くらいは使ったことがあるのでは?と思っています!僕はめっちゃお世話になってます。笑

 

今回はタイトルにもあるとおり、Google翻訳のAPIを pythonを使って呼び出して、翻訳結果を受け取れるような自動化ツールを開発したいと思います!

この記事を読んでもらえれば、翻訳作業はパソコンに任せて、自分は別の作業ができるようになりますよー!

 

APIといえば、以前TwitterのAPIを使ってtweetbotの作り方を記事にしたので、もしよろしければそちらも見ていただけると嬉しいです!

たったの3ステップ!pythonで作るtwitterbotの作り方を紹介します!

続きを見る

 

こんな方におすすめ

  • PythonでGoogle翻訳をしたい
  • Google翻訳をしなければならないが、量が多いので自動化したい
  • APIを使った開発をしてみたい

 

では今回も気張っていきましょーう💪

 

Google翻訳自動化への道0 Google翻訳APIってなに?

Google翻訳自体はきっと皆さん使ったことがあると思うので、割愛します!

まずはこのサービスのAPIについてみていきましょう!

Googleは大きく2つのプランの翻訳APIを提供しています。

  1. Cloud Translation - Basic
  2. Cloud Translation - Advanced

1と2の大きな違いは一括翻訳ができるかどうかだと思えばOKだと思います。

一括翻訳(バッチリクエスト)はGoogle先生によると以下のような機能です。

 

一括翻訳とは?

バッチ翻訳を使用すると、大量のテキスト(バッチで最大 1,000 ファイル)を翻訳できます。また、コマンドをオフラインで使用して、最大 10 種類のターゲット言語に翻訳することもできます。コンテンツの合計サイズは、Unicode コードポイントで 1 億以下でなければならず、UTF-8 エンコードを使用する必要があります。

 

つまり、大量のテキストを複数ファイルに分けて実行したい場合(本の和訳とかですかね?)に使うようです!

 

、、、と色々説明したのですが、今回コーディングをするpythonには「googletrans」という便利なライブラリがあります。

このライブラリを使えば、無料で、無制限に、さくっとgoogleの翻訳を行うことができるので、今回はこのやり方をご紹介します!

 

 

Google翻訳自動化への道1 ライブラリのインストール

まずはpythonの実行環境にgoogletransのライブラリをインストールしていきましょう!

 

pip3 install googletrans

 

以下のようなログが出れば成功です!

 command
Installing collected packages: rfc3986, sniffio, hpack, hyperframe, h2, h11, httpcore, hstspreload, httpx, googletrans
Running setup.py install for googletrans ... done
Successfully installed googletrans-3.0.0 h11-0.9.0 h2-3.2.0 hpack-3.0.0 hstspreload-2020.10.20 httpcore-0.9.1 httpx-0.13.3 hyperframe-5.2.0 rfc3986-1.4.0 sniffio-1.2.0

 

 

Google翻訳自動化への道2 pythonのコードを書く

では次はコードを書いてみましょう!

といっても、エラー処理やらファイル出力などをせずに標準出力で出すだけならたったのこれだけで動きます!

 

from googletrans import Translator

with open('./test.txt') as f:
    lines = f.readlines()
    f.close()

    translator = Translator()
    for line in lines:
        translated = translator.translate(line, dest="ja")
        print(line)  # 翻訳したい文章
        print(translated.text)  # 翻訳後の文章

簡単にやっていることを解説すると、このpythonファイルと同じ階層にtest.txtという翻訳したいファイルを置き、
1行ずつforループで読み込んでgoogletransのapiの翻訳用のメソッドに渡しています。
dest="ja"で日本語に変換するという指定をしています。

 

他の言語に翻訳したい場合には以下のリファレンスから、対象の言語の指定方法を調べてみてくださいね!

 

 


Google翻訳自動化への道3 翻訳実行!

では実行してみましょう!まずはテスト用のファイルとして、以下のようなtest.txtを用意してください!(中身はなんでもいいです)

 

test.txt

Nice to meet you
I'm kochos

 

あとはこのファイルをpythonファイルと同じ階層に置いて、以下のコマンドを実行してみてください!

python3 transapi.py 

以下のように出力されれば成功です!(ちゃんとコチョスって読まれてる!笑)

Nice to meet you
はじめまして
I'm kochos
私はコチョスです

いかがでしたか??
pythonを使えばさくっと翻訳ができることがわかっていただけたと思います!

 

 

pythonを学んでみたい!と思った方は、スクールに通うのも良いかもしれませんが、まずはオンラインで勉強してみるのが良いと思っています。

僕のいままでの経験上、オンライン講座のほうが自分のペースで、繰り返し確認できるため、知識の定着が早いです。

 

僕の場合、Udemyで新しい技術を学んでいます。

pythonの初学者向けだと以下がわかりやすくて良いと思います!

 

👇👇👇現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル👇👇👇

 

今後もコーディングによる便利なツールの開発方法や開発環境に関するTipsをお届けしたいと思いますので是非みてくださいねー!

-python, アプリ開発

© 2022 これブロ