Translate Shell (wcześniej pod nazwą Google Translate CLI) jest bezpłatnym i otwartym narzędziem do tłumaczeń językowych (słowa i całe zdania) w konsoli Linux. Potrafi obsługiwać kilka silników, użytkownik wybiera jeden podczas wykonywania pojedynczego polecenia: Google Translate, Yandex Translate, Apertium i Bing Translator (Yandex nie działa w chwili pisania tego artykułu).

Translate Shell posiada kilka opcji wywołania (tryb verbose (domyślny), tryb dictionary (-d) oraz jednowierszowy tryb brief (-b)), potrafi automatycznie rozpoznawać język źródłowy oraz może automatycznie uruchamiać syntezator mowy do czytania tekstu źródłowego lub docelowego. Może tłumaczyć całe pliki i wynik zapisywać do pliku lub też dzielić go na podstrony w terminalu z użyciem more lub less. Może również tłumaczyć całe strony i otwierać wynik we wskazanej przeglądarce.

Pakiet translate-shell powinien być standardowo dostępny w repozytoriach popularnych dystrybucji Linux jak Mint, Debian, Ubuntu, czy nawet Fedora…

INSTALACJA

sudo apt-get install translate-shell

Program jest dostępny pod poleceniem trans. Przeglad ustawień domyślnych i wersję translate-shell sprawdzimy za pomocą trans -V.

$./trans -V
Translate Shell       0.9.6.12-release
platform              Linux
terminal type         xterm
bi-di emulator        [N/A]
gawk (GNU Awk)        4.1.3
fribidi (GNU FriBidi) 0.19.7
audio player          [NOT INSTALLED]
terminal pager        less
web browser           xdg-open
user locale           pl_PL.UTF-8 (Polish)
home language         pl
source language       auto
target language       pl
translation engine    google
proxy                 [NONE]
user-agent            Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36
ip version            [DEFAULT]
theme                 default
init file             [NONE]
Report bugs to:       https://github.com/soimort/translate-shell/issues

Jeśli translate-shell nie jest dostępny w repozytoriach lub jest tam bardzo stara wersja (wersję w repo sprawdzimy przez apt-cache show translate-shell), możemy bardzo łatwo pobrać program samodzielnie i nie trzeba dokładać zewnętrznych repozytoriów. Program sprowadza się do jednego pliku i po pobraniu jest natychmaist gotowy do działania. No, może prawie-natychmiast, ponieważ bez stworzenia aliasu, nie będzie odpowiadał na komendę trans, chyba że wywołamy go bezpośrednio w katalogu gdzie jest zapisany:

cd ~/programy
wget git.io/trans
chmod +x ./trans

Tłumacz w konsoli, przykłady użycia

Najprostsze polecenie do tłumaczenia na wybrany język (opcja -b – brief dla odpowiedzi skróconej do jednej linii):

trans en:pl 'Normally when I write these announcements, I talk about some of the great technical changes in the release. This time, I wanted to put the focus on the community that makes those changes happen.' -b
Zwykle, kiedy piszę te ogłoszenia, mówię o niektórych wspaniałych technicznych zmianach w wydaniu. Tym razem chciałem skupić się na społeczności, która wprowadza te zmiany.

Listę dostępnych silników sprawdzimy poleceniem ./trans -S. W momencie pisania tego artykłu jest do dyspozycji aspell, google, bing, spell, hunspell, apertium i yandex, niestety nie wszystkie działają.

Listę dostępnych języków (CODE)

./trans -R

A tutaj przykład z wykorzystania translate-shell jako klasyczny słownik językowy.

Ułatwianie pracy

Pierwszą rzecz jaką proponuję to skrót (alias) aby nie mieć konieczności za każdym razem wywoływać pełnej ścieżki do programu. Alias definiujemy w pliku ~/.bash_aliases

alias tr='~/programy/translate-shell/trans'
source ~/.bashrc

Od teraz możemy używać prostego polecenia niezależnie od ścieżki w której się znajdujemy

trans intended :pl

najciekawsze opcje:

-d dictionary mode
-b brief mode
-I start an interactive shell
-i FILE input file
-o FILE output file
-hl LANG home language
-from LANG, -sl LANG, LANG: source language
-to LANG, -tl LANG, :LANG target language

Konfiguracja programu

Jako plik z nową konfiguracją może służyć plik .trans w miejscu wywołania polecenia. W drugiej kolejności sprawdzanym miejscem będzie plik ~/.config/translate-shell/init.trans

{
 :translate-shell "0.9.0"
 :verbose         true
 :show-original   false
 :indent          2
 :view            true
 :hl              "en"
 :tl              ["de" "fr"]
 :engine          "bing"
 :user-agent      "Mozilla/5.0 (X11; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0"
}

 


referencje:
https://www.soimort.org/translate-shell/#wiki
https://github.com/soimort/translate-shell/wiki/Configuration
https://www.tecmint.com/command-line-language-translators-for-linux/
https://askubuntu.com/questions/380847/is-it-possible-to-translate-words-via-terminal