got

module
v0.0.0-...-ab80a50 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2023 License: MIT

README

got

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 default got uses now lingvatranslate

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

Usage

  • Install got:

With the go tool:

go install github.com/orgcontrib/got/cmd/got@latest

Or from source:

# clone the repo
git clone https://github.com/orgcontrib/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)

Features

  • 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 image
    • 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 image Full help: image
    • translation: pager that shows the result of translation. Copy translation with y, listen the translation with p image
  • 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

Testing

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

Directories

Path Synopsis
cmd
got
internal
pkg
translator
Package translator provides a simple api for simplytranslate and lingvatranslate
Package translator provides a simple api for simplytranslate and lingvatranslate

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL