Demo - Usage - Features - Testing
go-translation (shortly got
), a simple translator and text-to-speech app built on top of simplytranslate and lingvatranslate APIs. The interface is made with the awesome bubbletea tui library.
⚠️ simplytranslate is currently down. I still kept it as a valid backend in the hope of a future comeback, by defaultgot
uses now lingvatranslate
Screenshots here
Disclaimer: this is my absolute first project in golang, so bugs and clunky code are expected…
The project is still a work-in-progress, breaking changes and heavy refactoring may happen
Kooha-05-01-2022-18-10-58.mp4
- Install
got
:
With the go
tool:
go install github.com/fedeztk/got/cmd/got@latest
Or from source:
# clone the repo
git clone https://github.com/fedeztk/got.git
# install manually
make install
In both cases make sure that you have the go bin
directory in your path:
export PATH="$HOME/go/bin:$PATH"
If you are an Arch user there is also an AUR package available:
paru -S go-translation-git
- Copy the sample config file under ~/.config/got/ as config.yml or let the program generate one for you at the first run
- Run it interactively:
got # use last used engine, default is google
got -e reverso # change engine to reverso
- Or in oneshot mode:
got -o -s en -t it "Hello World" # use default (google)
got -o -e libre -s en -t it "Hello World" # use libre-translate
For more information check the help (got -h
)
- Interact with various translation engines easily via the terminal, no need to open a browser!
- Clean interface with 3 tabs, switch between them with tab/shift-tab:
- text input: input the sentence you want to translate, press enter to translate
- language selection: choose between 108 languages, select source language with s, target with t and i to invert the target with the source. Press ? to show the full help menu Full help:
- translation: pager that shows the result of translation. Copy translation with y, listen the translation with p
- engines (only available with simplytranslate backend): choose between google, libre-translate, reverso and iciba (deepl is not working yet)
- quit anytime with esc or ctrl-c
- automatically remembers the last languages used
Development is done through docker
, build the container with:
make docker-build
Check that the build went fine:
docker images | grep got
Test it with:
make docker-run
Pre-built Docker image available here