GetSrcLang, GetDstLang, SetSrcLang, SetDstLang, SwapLang are reusable functions from translator to translator. So make Language struct. GetEngineName is also a reusable function. So make EngineName struct. Finally, let Translator to inherit those functions in these three (Language, TTSLock, EngineName) structs. No need to write the duplicated functions for each Translator.
gtt
Google Translate TUI (Originally)
Support:
ApertiumTranslate
,
ArgosTranslate
,
GoogleTranslate
ReversoTranslate
ScreenShot
Install
Arch Linux (AUR)
yay -S gtt-bin
Prebuild
Binary file is available in Release Page for Linux and macOS on x86_64.
From source
go install github.com/eeeXun/gtt@latest
Run on Docker
docker run -it eeexun/gtt
Language in argument
You can pass -src
and -dst
in argument to set source and destination language.
gtt -src "English" -dst "Chinese (Traditional)"
See language on:
- Apertium Translate for
ApertiumTranslate
- argosopentech/argos-translate for
ArgosTranslate
- Google Language support for
GoogleTranslate
- Reverso Translation for
ReversoTranslate
Key Map
<C-c>
Exit program.
<Esc>
Toggle pop out window.
<C-j>
Translate from source to destination window.
<C-s>
Swap language.
<C-q>
Clear all text in source of translation window.
<C-y>
Copy selected text.
<C-g>
Copy all text in source of translation window.
<C-r>
Copy all text in destination of translation window.
<C-o>
Play sound on source of translation window.
<C-p>
Play sound on destination of translation window.
<C-x>
Stop play sound.
<C-t>
Toggle transparent.
<C-\>
Toggle Definition/Example & Part of speech.
<Tab>
, <S-Tab>
Cycle through the pop out widget.
<1>
, <2>
, <3>
Switch pop out window.
Dependencies
xclip
for Linux/X11 to copy text.
wl-clipboard
for Linux/Wayland to copy text.
pbcopy
For macOS to copy text.
Credit
soimort/translate-shell, SimplyTranslate-Engines, s0ftik3/reverso-api For translation URL.
snsd0805/GoogleTranslate-TUI For inspiration.
turk/free-google-translate For Google translate in Golang.