multranslate
Terminal user interface based on blessed library for translating text using multiple translation providers simultaneously. All sources do not require an access token or any settings. Supports automatic detection of the source and destination language between English and Russian.
Translation providers
- Google via free and unlimited API using serverless hosted on Vercel.
- DeepLX - free DeepL API using serverless hosted on Vercel.
- MyMemory - free and open api (usage is limited to 5000 chars/day).
- Reverso - free api (does not contain official documentation, request was received from official site through DevTools).
Reverso does not support working via Axios (error: Invalid header value char
), Fetch is used instead.
Installation
Use the npm package manager:
npm install -g multranslate
Run the application:
multranslate
Build
Clone the repository:
git clone https://github.com/Lifailon/multranslate
cd multranslate
Run the application:
npm start
Hotkeys
The text is translated every time after pressing the Enter
button. The Ctrl+C
keyboard shortcut is used to clear the text input field. The escape
button is used to exit the program.
To copy text to the clipboard from the selected output form, you can use the key combination Ctrl+<Q/W/E/R>
(for each translator it is indicated in brackets), and the selected form will change its color to green. To paste text into an input field from the clipboard, use Ctrl+V
.
Using the up
and down
buttons you can scroll through all output panels at the same time.
The blessed library has a number of limitations, so I was unable to implement cursor movement using the left and right arrows.