Translate-shell: tłumacz i słownik językowy w konsoli Linux
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
Komentarze