辞書パッケージを試す(2)
(Python学習初心者の試行錯誤・備忘録です)
一旦は動いたはずのPyDictionaryが、動かなくなってしまいました。
こちらの記事・コメント欄見ると・・
8年前(2016年)にも「一旦は動いたはずのPyDictionaryが、動かなくなって」困っていた人がいたみたい。
※その後、2024/04/29 19:30(台湾時間 :日本時間だと20:30)にテストしたら、PyDictionary復活していました。一日の処理回数の上限とかがあって、そこまで行くと使えなくなる・・ということなのかも。ただ、このままでは、ほかの方に積極的にお勧めはできませんね。
PyMultiDictionaryに戻る
じゃあ、PyMultiDictionaryの方は?
from PyMultiDictionary import MultiDictionary
dictionary = MultiDictionary()
print(dictionary.translate('en', 'good'))
[('af', 'goeie'), ('ar', 'جَيِّد'), ('bn', 'ভাল'), ('de', 'gut'), ('el', 'καλός'), ('en', 'good'), ('es', 'bueno'), ('fr', 'bon'), ('hi', 'अच्छा'), ('it', 'buono'), ('ja', '良い'), ('jv', 'Apik'), ('ko', '좋은'), ('mr', 'चांगले'), ('ms', 'baik'), ('no', 'bra'), ('pl', 'dobry'), ('pt', 'bom'), ('ro', 'bun'), ('ru', 'хороший'), ('sv', 'bra'), ('ta', 'நல்ல'), ('tr', 'iyi'), ('uk', 'гарний'), ('vi', 'tốt'), ('zh', '好的')]
こちらは私が試した限り、継続的に動作しています。公式の説明
を見て、
from PyMultiDictionary import MultiDictionary
dictionary = MultiDictionary()
print(dictionary.translate('en', 'good', to='ja'))
で、日本語だけになるかと思ったのですが
ターゲットを「日本語」にしたらWarningが出る。言語指定しなければ、マルチ言語で出力されるがWarningは出ない。なら、言語指定せず、マルチで取り出してから自分で日本語だけにすればいいか。
def mytranslate(lang,word,tolang):
from PyMultiDictionary import MultiDictionary
dictionary = MultiDictionary()
templist = dictionary.translate(lang, word)
result = None
for templang, temptrans in templist:
if templang == tolang:
result =temptrans
break
return(result)
print(mytranslate('en', 'good', 'ja'))
これで、だいぶ時間はかかりますが「良い」と出力されました。すごく無駄があるような気がしますけど、まあ、今のところ動きます。
ではこれで、前回やったように people,checked,baggage,late,mainly,active
を訳してみます。ついでに中文訳もつけてみましょう。
def mytranslate(lang,word,tolang):
from PyMultiDictionary import MultiDictionary
dictionary = MultiDictionary()
templist = dictionary.translate(lang, word)
result = None
for templang, temptrans in templist:
if templang == tolang:
result =temptrans
break
return(result)
words = ['people','checked','baggage','late','mainly','active']
for word in words:
print (word, mytranslate('en',word,'ja'),mytranslate('en',word,'zh'))
people 人々 人们
checked チェックの 有格子花的
baggage 手荷物 行李
late 遅れた 迟的
mainly 主に 大体上
active 活動的な 活跃的
日本語の方は、一応使えそうです。
中文の方は、このままじゃ台湾で使われている繁体字表記にはならない
(´;ω;`)
この記事が気に入ったらサポートをしてみませんか?