はじめに
最近は翻訳と言ったらGoogle翻訳ではなく、DeepLを使う方が増えてきましたね。
有料プランを使っている方も多いのではないでしょうか?
しかし無料で使うと、1回の翻訳では5000文字までになります。
長文の翻訳をする時は困りますよね。
それで今回はその対策方法を紹介したいと思います。
方法1:5000文字ごとに分割してくれるサービスを使う。
まず思いつくのが、長文を5000文字以内に区切れば無料で使えます。
しかし結構めんどくさいですよね・・・。
このサービスを使えば、自動で分割してくれます。
あとはそれぞれをコピペするだけです。少しでも手間が省けて便利ですよね。
方法2:DeepLのAPIを利用する
実はDeepLのAPIは無料で使えます。しかも1回の文字数制限は無し。
月50万文字までの制限はありますが、個人で使うには十分だと思います。
ではどのように使えば良いのでしょうか?
1.DeepLProアカウントを作成します。
- プランを選択する場面で契約しなければ、料金は取られません。
- DeepL API Freeのプランを申し込みます。
- 登録出来たらAPI認証キーをコピーしておきましょう。
2.Pythonを使いDeepL APIを呼び出します。
import requests
import os
import sys
API_KEY = 'XXXXX'
def PostDeepL(txt):
params = {
"auth_key": API_KEY,
"text": txt,
"source_lang": 'EN',
"target_lang": 'JA'
}
request = requests.post("https://api-free.deepl.com/v2/translate", data=params)
result = request.json()
return result["translations"][0]["text"]
def Text2Deepl(attach):
for i, file in enumerate(attach):
print(f'{i}:{file}')
fname = os.path.basename(file)
dname = os.path.dirname(file)
outfile_name = fname.replace('.txt', '_jp.txt')
with open(file) as f:
txt = f.read()
result = PostDeepL(txt)
with open(f'{dname}\\{outfile_name}', "w") as f:
f.write(result)
if __name__ == '__main__':
Text2Deepl(sys.argv[1:])
print('DeepLで翻訳しました。')
あとはいつものようにEXE化するなりして使ってみてください。
まとめ
いかがだったでしょうか?
Pythonを使えば、無料枠でDeepLをかなり使いこなすことが出来ますよ。
是非試してみてください。
コメント