emacs から deepL を使う設定(2024年版)

Emacsから deepL を使う設定です

設定

(use-package go-translate
    :config
  (setq gt-langs '(en ja))
  (setq gt-default-translator
	(gt-translator
	 :taker (gt-taker :text 'buffer :pick 'paragraph)
	 :engines (list (gt-deepl-engine :key "XXXXXXXXX"))
	 :Render (gt-buffer-render :then (gt-kill-ring-render))
	 ))
  :bind (
	 ("C-; t" . gt-do-translate)
	 )
  )

使い方

  1. 文をリージョンで選択して C-; t を押すと、日本語の場合は英語、英語の場合は日本語に翻訳してくれます
  2. 翻訳結果は別バッファに表示されます
  3. 翻訳結果は C-y でペーストすることも出来ます

APIのアクセスキーについて

DeepL のAPIを使います。無料です。

ただしアクセスキーを取得する必要があり、不正防止(=bot対策)のためクレジットカードの番号を登録する必要があります。クレカ番号は登録するだけで、支払いは発生していません。

go-translate の仕様変更について

go-translate は2022 or 2023 年に仕様変更があり、変数や関数名が変更されたようです(詳細は未確認)。

そのため2022年以前に書かれたブログなどの情報は古くなっている可能性があります

仕様の変更点は基本的に

古い変数名 gts-lang 新しい変数名 gt-lang
古い関数名 gts-do-translate 新しい関数名 gt-do-translate

というルールでの命名規則の変更だと思われますが、詳細は未確認です。

詳細は未確認ですが :taker や :render の設定方法も仕様変更があったようで、カスタマイズするときはドキュメントを読んだほうが安心です。