英語→日本語翻訳スクリプト

[id:aaa555:20181126:p2]で英辞郎にアクセスする翻訳スクリプトを作ったが、翻訳精度が悪く、例えばsuffocating(息が詰まる)というような単語は翻訳出来ないため、Google Translateにアクセスするスクリプトを作成した。以下、スクリプトの内容

#!/usr/bin/python3
# gtrans.py
# Google Translateを使って翻訳するアプリ
# 参考
# https://pypi.org/project/googletrans/
# [使い方]
# ./gtrans.py 翻訳したい単語(英 or その他の言語)

import argparse
from googletrans import Translator

def translate(text_src):
    translator = Translator()
    res = translator.detect(text_src)
    #print("result= ", res.lang)
    result = None
    # 英語だったら日本語
    if res.lang == "en":
        result = translator.translate(text_src, dest='ja')
    # その他の言語だったら英語
    else:
        result = translator.translate(text_src, dest='en')
    print(result.text)

p = argparse.ArgumentParser()
p.add_argument("in_text", help="Input text to be translated.")
args = p.parse_args()
translate(args.in_text)

以下、実行例

  • 単語入力の場合
$ gtrans.py 翻訳
ballet
$ gtrans.py ballet
バレエ
  • 文章入力の場合
$ gtrans.py "私はGoogle Tranlateを使ってコマンドラインから翻訳しています"
I translate it from the command line using Google Tranlate
$ gtrans.py "I translate it from the command line using Google Translate."
Google翻訳を使用してコマンドラインから翻訳します。

I've prepared a python script for translating words using Google Translate.