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).
Installation
You can download the executable from the release files or install via the npm package manager:
npm install -g multranslate
multranslate
Build:
Clone the repository:
git clone https://github.com/Lifailon/multranslate
cd multranslate
Running the application:
npm start
The pkg package from Vercel is used to build the executable.
npm install -g pkg
pkg . --targets node18-win-x64 --output multranslate.exe
pkg . --targets node18-linux-x64 --output multranslate
The executable file already includes all dependencies for its operation.
Hotkeys
Using the up
and down
buttons you can scroll through all output panels at once.
The escape
button is used to clear the text input field, as well as to exit the program if the input field is already empty.
The blessed library has a number of limitations, so I was unable to implement cursor movement using the left and right arrows.
To capture all text in one of the output panels for copying, use the key combination Shift+Alt
when selecting text.
If you are using Windows Terminal, add a parameter in the settings.json
configuration file that will remove trailing spaces from text in a rectangular (block) selection when copying to the clipboard:
"trimBlockSelection": true
To paste text from the clipboard, use the keyboard shortcut Shift+Ctrl+V
or Ctrl+V
depending on the terminal you are using.