Tradurre parti di testo selezionato su Ubuntu senza aprire il browser

by Jessica Lambiase on

Spesso ci si ritrova a dover tradurre al volo piccole parti di testo che capitano qui e là per il sistema operativo e di dover, se non si dispone di un software di traduzione simultanea, eseguire un procedimento relativamente lungo: copiare la parte di testo, accedere ad un traduttore online tramite il browser e, infine, incollarla.

Ebbene, in questa guida vi insegneremo a semplificare notevolmente questo processo e a tradurre parti di testo selezionato su Ubuntu senza aprire il browser, dovunque questo testo si trovi – da un documento LibreOffice a un PDF, passando per una finestra di sistema, una pagina web o quant’altro!

Tradurre parti di testo selezionato su Ubuntu senza aprire il browser

Il criterio è semplice: grazie ad uno script e alle API di Google, basterà impostare una scorciatoia da tastiera per ricevere il testo bello e tradotto nell’area di notifica oppure in una finestra separata, con la possibilità anche di copiarlo automaticamente negli appunti. Unico requisito: essere collegati a Internet, poiché la traduzione avverrà tramite il servizio Google Translate.

Tenendo a mente che il procedimento vale per Ubuntu, Debian e per la maggior parte delle loro derivate, vediamo insieme come fare!

Tradurre parti di testo selezionato su Ubuntu senza aprire il browser

La prima cosa da fare è installare l’occorrente di base per implementare il tutto; da terminale, è sufficiente digitare

sudo apt-get install libnotify-bin wget xsel

A questo punto, sempre da terminale, andiamo a creare ed aprire il file che ci permetterà di tradurre le parti di testo selezionate, digitando

sudo touch /usr/local/bin/traduz
sudo xdg-open /usr/local/bin/traduz

Per sapere cosa scrivere nel file, dovremo decidere cosa far fare al nostro script, a scelta tra:

  1. mostrare semplicemente il testo tradotto nell’area di notifica;
  2. mostrare il testo tradotto nell’area di notifica e copiarlo automaticamente negli appunti;
  3. mostrare il testo tradotto in una finestra di Zenity, così da poterlo selezionare e copiare manualmente.

Prima di continuare, va specificato che gli script di seguito possono tradurre testo da qualsiasi lingua (tramite la traduzione automatica di Google) e, che per impostazione predefinita, la traduzione avverrà in lingua italiana. E’ comunque possibile modificare la lingua di destinazione modificando la stringa “it” – in grassetto su ogni script – con l’identificativo della lingua della destinazione (ad esempio: en per l’inglese, fr per il francese, es per lo spagnolo, ru per il russo e via dicendo). 

Andiamo ad analizzare separatamente ciascuna delle opzioni.

1 – Script per mostrare soltanto il testo tradotto nell’area di notifica

notifica-semplice

Nel file traduz aperto in precedenza andremo a scrivere la parte di codice seguente:

#!/usr/bin/env bash
notify-send --icon=info "$(xsel -o)" "$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=it&dt=t&q=$(xsel -o | sed "s/["'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"

Fatto ciò salviamo e chiudiamo il file, dopodiché rendiamolo eseguibile scrivendo a terminale il comando

sudo chmod a+x /usr/local/bin/traduz

2 – Script per mostrare il testo tradotto nell’area di notifica e copiarlo automaticamente negli appunti

traduz-copia

Nel file traduz aperto in precedenza andremo a scrivere la parte di codice seguente:

#!/usr/bin/env bash
text="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=it&dt=t&q=$(echo $text | sed "s/["'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
echo "$translate" | xclip -selection clipboard
notify-send --icon=info "$text" "$translatenn****nTesto copiato negli appunti"

Fatto ciò salviamo e chiudiamo il file, dopodiché installiamo il tool xclip e rendiamo eseguibile lo script scrivendo a terminale i comandi

sudo apt-get install xclip
sudo chmod a+x /usr/local/bin/traduz

3 – Script per mostrare il testo tradotto in una finestra di Zenity

zenity

Nel file traduz aperto in precedenza andremo a scrivere la parte di codice seguente:

#!/usr/bin/env bash
text="$(xsel -o)"
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&dt=t&q=$(echo $text | sed "s/["'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
echo -e "Testo originale:" "$text"'n' > /tmp/notitrans
echo "Traduzione:" "$translate" >> /tmp/notitrans
zenity --text-info --title="Traduzione" --filename=/tmp/notitrans

Fatto ciò salviamo e chiudiamo il file, dopodiché installiamo il tool zenity e rendiamo eseguibile lo script scrivendo a terminale i comandi

sudo apt-get install zenity
sudo chmod a+x /usr/local/bin/traduz

Associazione dello script ad una scorciatoia da tastiera

Ora avete creato lo script, lo avete salvato ed avete portato a termine le eventuali installazioni postume; lo step successivo è quello di impostare una scorciatoia da tastiera da utilizzare, dopo aver selezionato il testo (che può essere preso in un PDF, nel browser, in una finestra di sistema o da qualsiasi altro posto) da tradurre. 

Per farlo dobbiamo localizzare il gestore delle scorciatoie da tastiera, presente in quasi tutti gli ambienti desktop. Per quanto riguarda i desktop Unity e GNOME, tale gestore può essere trovato in Impostazioni di sistema > Tastiera > Scorciatoie, scegliendo la voce “Scorciatoie personalizzate” dalla barra di navigazione a sinistra.

tastiera-1

A questo punto basta fare click sul piccolo simbolo a forma di “+”, dopodiché scrivere nel campo “Nome” un nome che ci aiuti a ricordare a cosa serve la scorciatoia e nel campo “Comando” della finestra il nome dello script creato in precedenza, ovvero

traduz

nota: non c’è bisogno di specificare percorso poiché esso si trova tra gli eseguibili di sistema.

tastiera-2

Adesso, per decidere la combinazione di tasti da applicare, fate click esattamente sulla voce “Disabilitato” in corrispondenza della scorciatoia appena creata.

tastiera-3

Non appena comparirà la scritta “Nuovo acceleratore…”, battete a tastiera la combinazione che intendete utilizzare – nel mio caso, CTRL+ALT+Shift+T.

tastiera-4

Fatto, da questo momento in poi vi basterà selezionare del testo in qualsiasi punto del sistema operativo (una finestra del browser, un documento, una finestra con testo selezionabile e quant’altro) e digitare la combinazione definita in precedenza per ottenere la traduzione tramite notifica, tramite notifica con copia diretta negli appunti o in Zenity.

via

L'articolo Tradurre parti di testo selezionato su Ubuntu senza aprire il browser appare per la prima volta su Chimera Revo - News, guide e recensioni sul Mondo della tecnologia.

Leggi il contenuto originale su Linux – Chimera Revo – News, guide e recensioni sul Mondo della tecnologia

Written by: Jessica Lambiase