無料版DeepL翻訳を使い倒す方法(5千文字制限対策)

IT

はじめに

最近は翻訳と言ったら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をかなり使いこなすことが出来ますよ。
是非試してみてください。

コメント

タイトルとURLをコピーしました