[Python]自動でオリジナル英単語[中国語]リストを作ってみる。

1.自動で単語リストを作る

ある日思いました、市販の単語集に載っている単語があまり面白くないと。politicsやらpollutionやら、いつ使うねん!というツッコミからinspireされてタイトルにあるプログラムを作ろうと思い今に至ります。
 気になった日本語の単語のリストを指定の外国語[英語or中国語]に翻訳し、その一覧をcsvファイルに出力するプログラムを作ります。
 日本語から英語への翻訳モジュールを改造して、中国語にも対応できるようにします。

2.翻訳モジュール(日本語から英語or中国語)

言語を選択する関数を新規に作成します。返す値は言語コードになり、その値をtran_ja_toen_or_cn()のlang引数に渡します。

from googletrans import Translator
from sys import exit

def chose_lang():
    lang_mode = int(input("言語を選択してください[1:英語/2:中国語[簡体字]"))
    if lang_mode == 1:
        lang = "en"
    elif lang_mode == 2:
        lang= "zh-cn"
    else:
        print("指定の言語番号を選択してください")
        exit()
    return lang

def trans_ja_to_en_or_cn(lang, context):
    translator = Translator()
    trans_ja_to_select_lang = translator.translate(context, src="ja", dest=lang)
    translated_text = trans_ja_to_select_lang.text
    return translated_text


if __name__ == "__main__":
    lang = chose_lang()
    context = input("つぶやく内容を入力してください:")
    print(trans_ja_to_en_or_cn(lang, context))

実行結果

言語を選択してください[1:英語/2:中国語[簡体字]2
つぶやく内容を入力してください:私はあなたのことが好きです
我喜欢你

3.完成形

2で作成したモジュールを用いて、単語リスト生成プログラムを作成します。
今回は下記コード内にある9つの単語を選んでみました。どの日本語も身近なモノだと思います。

from translate import trans_ja_to_en_or_cn
from translate import chose_lang
from datetime import datetime

#翻訳したい日本語のリスト
japanese_words = ["りんご", "プログラミング", "アマゾン", 
                  "グーグル", "観葉植物", "水筒",
                  "コオロギ", "ネクタイ", "ベルト"
                  ]

#日付をファイル名に使う
date = datetime.now()
date = date.strftime("%Y%m%d")
#言語選択
lang = chose_lang()
#ファイル名を日付_言語コード.csv
file_name = "{0}_{1}.csv".format(date, lang)

with open(file_name, "w", encoding="utf-8") as f:
    for ja_word in japanese_words:
        japanese = ja_word
        foreign_lang = trans_ja_to_en_or_cn(lang, ja_word)
        row_data = "{0},{1}\n".format(japanese, foreign_lang)
        f.write(row_data)
print("翻訳完了したよ~( ´ ▽ ` )ノ ")

4.実行結果

英語

画像1

中国語(簡体字)

画像2


いいなと思ったら応援しよう!