Skip to content

tmalsburg/txl.el

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 

Repository files navigation

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.

About

Emacs extension providing direct access to DeepL's machine translation API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published