Skip to content

Latest commit

 

History

History
45 lines (30 loc) · 2.49 KB

README.org

File metadata and controls

45 lines (30 loc) · 2.49 KB

TXL – High-quality machine translation in Emacs via DeepL’s REST API

TXL provides machine translation through DeepL’s REST API.

Installation

TXL is not yet available on MELPA or similar repositories. The file txl.el must therefore be downloaded and installed manually in a directory where Emacs will find it.

If you’re using straight.el as your package manager you can install txl using:

(straight-use-package
 '(txl :type git :host github :repo "tmalsburg/txl.el"))

Dependencies are:

Configuration

Minimally the user needs to specify a pair of languages in the customization variable txl-languages and an authentication key for DeepL’s REST API via txl-deepl-api-url. (You need the “developer” subscription.) Example:

(require 'txl)
(setq txl-languages '(DE . EN-US))
(setq txl-deepl-api-key "my-api-key")

By the default, txl.el assumes that your key is for the DeepL Pro plan. When the free plan is used instead, a txl.el needs to use a different API URL. The following definition sets this URL:

(setq txl-deepl-api-url "https://api-free.deepl.com/v2/translate")

Other configuration variables are txl-deelp-split-sentences, txl-deepl-preserve-formatting, and txl-deepl-formality. See inline documentation for details.

For convenience the translation command can be bound to a keyboard shortcut. Example:

(global-set-key (kbd "C-x t")   'txl-translate-region-or-paragraph)

Usage

The command txl-translate-region-or-paragraph translates the marked region or, if no region is active, the paragraph to the respective other language. The current language is detected using the guess-language package. The retrieved translation is shown in a separate buffer where it can be reviewed and edited. The original text can be replaced with the (edited) translation via C-c C-c. The translation can be dismissed (without touching the original text) using C-c C-k. If a prefix argument is given (C-u), the text will be translated round-trip to the other language and back.