見出し画像

辞書パッケージを試す(3)

(Python学習初心者の試行錯誤・備忘録です)
前回までで、英単語から、対応する訳語を取得する方法として
英⇒日 および、英⇒中(簡)の場合は、
・PyDictionary・・・利点:速い。欠点:使えない時間帯がある。
・PyMultiDictionary・・・利点:これまでのところ、いつでも使える。
            欠点:遅い。
中(簡)⇒中(繁)には
・OpenCC
・chinese_converter
いずれかを使うことで、実現できました。ただ、繁体字中文に訳すのに一旦簡体字にしてからというのも、どうも引っかかります。字だけの問題じゃない表現の違いってのもありますし。
直接英単語から繁体字中文に訳す機能を持つサービスって無いのか?

googletrans というパッケージがあって、これだと
"zh-tw"と指定することで繁体字の台湾華語へもダイレクトに訳せるようです。まあ「dictionary」じゃなくて「translator」なので「辞書パッケージ」といえないかもしれませんが。まず日本語でテスト

from googletrans import Translator
translator = Translator()
print(translator.translate("Hello", dest="ja",src="en").text)

これをやってみると、なにやらエラーがいっぱい出ます。
自分がインストールしてあったパッケージのバージョンは googletrans 3.0.0 なのですが、手持ちの参考書

を見ると、googletrans 3.1.0a0 を使う例が出ていました。そこで、自分も
>pip install -U googletrans==3.1.0a0
をやってから、再度試したところ、エラーなく実行できました。
 日本語訳と台湾華語訳を出す例。

from googletrans import Translator
trans = Translator()

words = ['people','checked','baggage','late','mainly','active']
for word in words:
    print (word, trans.translate(word,dest='ja',src='en').text,\
           trans.translate(word,dest='zh-TW',src='en').text)

コードも短く書けますし、訳語もこっちのほうがよさそうな印象だし、実行速度もずっと速い。

people 人々 人們
checked チェック済み 檢查過
baggage 手荷物 行李
late 遅い 晚的
mainly 主に 主要是
active アクティブ 積極的

これは動きましたが、あまり頻繁にリクエスト繰り返すのも心配。
 Copilotに聞いたら、秒間5 リクエストの制限があるそうなので、毎回、0.2秒程度のスリープを入れればいいのかもしれません。

この記事が気に入ったらサポートをしてみませんか?