Tradurre con il bash

Dom, 03/07/2005 - 12:03

Tradurre con il bash

Inviato da darkbrua 18 commenti
Introduzione

Quante volte leggendo un sito in inglese ci troviamo di fronte ad un vocabolo sconoscuto? A me succede spesso, e allora che fare? Ignorarlo, nooo non si capirebbe niente! Prendere un dizionario? nooo, che fatica!! Andare su un sito web che fa traduzioni? Quanto tempo perso! Passiamolo a questo script, e in un attimo avremo tutte le traduzioni e le frasi composte che ci potrebbero essere utili! Big Grin :D La stessa cosa vale se dovete scrivere al vostro cugino americano e volete fare i fighi usando vocaboli ricercati, per questo c'è uno script analogo che funziona dall'italiano all'inglese Smile

Dipendenze

Le dipendenze per questo script sono molto leggere ed in genere è difficile non soddisfarle; in ogni caso i pacchetti da installare sono solamente links ed html2text.

# apt-get install links html2text

Ora possiamo iniziare a vedere il codice..

Dall'inglese all'italiano


#!/bin/bash
# Script realizzato da Massimiliano Dal Cero
# [ yattamax<AT>yattaweb.it ], Bologna - Italy
#
# Script rilasciato sotto licenza LGPL.

if [ -z $1 ]; then
echo "ENG->ITA Bash Translator v1.1"
echo "Usage: $(basename $0) en_word"; echo
exit 0
fi

WEB0="http://it.wordreference.com/it/Translation.asp?enit=$1"
WEB1="$WEB0&start=$COUNT"

PAGE0=$(links -source $WEB0 | grep "<b>$1</b>")
echo $PAGE0 | html2text | more

TMP=$(echo $PAGE0 | grep "Next 100")
COUNT=100

while [ ! -z $TMP ]; do
PAGE1=$(links -source $WEB1 | grep "<b>$1</b>")
echo $PAGE1 | html2text | more

TMP=$(echo $PAGE1 | grep "Next 100")
COUNT=$[$COUNT+100]
done
Dall'italiano all'inglese


#!/bin/bash
# Script realizzato da Massimiliano Dal Cero
# [ yattamax<AT>yattaweb.it ], Bologna - Italy
#
# Script rilasciato sotto licenza LGPL.

if [ -z $1 ]; then
echo "ITA->ENG Bash Translator v1.1"
echo "Usage: $(basename $0) it_word"; echo
exit 0
fi

WEB0="http://it.wordreference.com/it/en/translation.asp?iten=$1"
WEB1="$WEB0&start=$COUNT"

PAGE0=$(links -source $WEB0 | grep "<b>$1</b>")
echo $PAGE0 | html2text | more

TMP=$(echo $PAGE0 | grep "Next 100")
COUNT=100

while [ ! -z $TMP ]; do
PAGE1=$(links -source $WEB1 | grep "<b>$1</b>")
echo $PAGE1 | html2text | more

TMP=$(echo $PAGE1 | grep "Next 100")
COUNT=$[$COUNT+100]
done
Conclusioni

Come usarli? Semplicemente copiate i codici in due qualsiasi files, chiamateli come vi pare (possibilmente un nome significativo e facile da digitare) e dategli i permessi di eseguzione!

$ chmod +x engita
$ chmod +x itaeng

Poi magari metteteli in una directory presente nel vostro path ($ echo $PATH) in modo da poterli chiamare in qualsiasi posizione vi troviate nel filesystem.

# cp engita itaeng /usr/local/bin

E buona comoda traduzione Wink

Fonte: http://www.lfarredolegno.it/bash_translate/


In:



Commenti

Ritratto di paolo
#1

Inviato da paolo il Dom, 03/07/2005 - 18:19.

Fantastico!

Veramente una bella pensata questa, le potenzialità del Terminale sono infinite e questo ne è un'altro esempio.

Grazie per il contributo! Lo provo immediatamente. Wink

Paolo Mainardi
CTO Twinbit http://www.twinbit.it
Vice Presidente -- ILDN - Italian Linux DIstro Network



Ritratto di cheis
#2

Inviato da cheis il Dom, 03/07/2005 - 18:41.

Re: Fantastico!

Veramente qualcosa di utilissimissimo!!!! Grazie.. Laughing Laughing

[=x-small]Knowledge is power: SHARE IT BABY!!![/]
_____________________________________________



Ritratto di mao75
#3

Inviato da mao75 il Lun, 04/07/2005 - 22:42.

Problema

ho un piccolo problema,non mi funziona la traduzione dall'inglese all'italiano...digito engita king (ad esempio)
e non mi restituisce nessun output...

Linux registered user: #366488



Ritratto di darkbrua
#4

Inviato da darkbrua il Mar, 05/07/2005 - 11:13.

Re: Problema

Strano, sicuramente non dipende dallo script.. ho provato e ci sono un sacco di risultati per king! Poi non ho capito bene se solo con la parola king non hai risultati (penso di no..) o con tutte quelle in inglese..

In ogni caso l'unica cosa che ti posso dire e' quella di controllare bene che lo script sia identico a quello postato qui perche` per funzionare funziona.. in oltre contolla di non star usando quello italiano->inglese per tradurre parole in inglese (magari hai fatto due copia&incolla uguali.. boh)

darkbrua - Debian GNU/Linux 'unstable' - kernel 2.6.11-ck7
Linux Registred User #338336 - Machine #227762



Ritratto di mao75
#5

Inviato da mao75 il Mar, 05/07/2005 - 11:16.

Re: Problema

non solo con la parola king ma con tutte!
itaeng funziona benissimo
engita l'ho copiato col tasto destro direttamente dal browser...ora provo a riscriverlo manualmente,non si sa mai.

Linux registered user: #366488



Ritratto di mao75
#6

Inviato da mao75 il Mar, 05/07/2005 - 17:04.

Re: Problema

niente da fare,boh?! Thinking

Linux registered user: #366488



Ritratto di darkbrua
#7

Inviato da darkbrua il Mar, 05/07/2005 - 17:44.

Re: Problema

Il problema è che la guida s'è "assorbita" dei tag HTML che dovevano invece essere stampati.. tra poco sarà a posto, comunque per la cronaca le righe in questione sono:

PAGE0=$(links -source $WEB0 | grep &quot;$1&quot;)<br />PAGE1=$(links -source $WEB1 | grep &quot;$1&quot;)

che vanno sostituite con

PAGE0=$(links -source $WEB0 | grep &quot;&lt;b&gt;$1&lt;/b&gt;&quot;)<br />PAGE1=$(links -source $WEB1 | grep &quot;&lt;b&gt;$1&lt;/b&gt;&quot;)

in entrambi gli scripts.

Grazie mille per la segnalazione!

darkbrua - Debian GNU/Linux 'unstable' - kernel 2.6.11-ck7
Linux Registred User #338336 - Machine #227762



Ritratto di mao75
#8

Inviato da mao75 il Mar, 05/07/2005 - 19:26.

Re: Problema

allora,con la modifica engita mi funziona ma itaeng non va piu'
quindi ho lasciato itaeng come era prima ed ora e' tutto apposto... :-P

Linux registered user: #366488



Ritratto di darkbrua
#9

Inviato da darkbrua il Mar, 05/07/2005 - 19:51.

Re: Problema

:-o :-o :-o

Sta volta l'ho controllato e funziona...!!
I <b> vanno anche nell'itaeng.. non me lo spiego

darkbrua - Debian GNU/Linux 'unstable' - kernel 2.6.11-ck7
Linux Registred User #338336 - Machine #227762



Ritratto di Yatta
#10

Inviato da Yatta il Mer, 06/07/2005 - 13:00.

Riferimenti

Ciao.

Questa notizia apparve gia' su ziobudda qualche tempo fa e si riferiva ai miei script. Nulla di male che questi si diffondano, ma sarebbe carino che negli script e nell'articolo fossro presente i riferimenti agli originali e all'autore.

la GPL non rimuove la paternita' del codice.

Sinceramente son molto contento che tali script si diffondano, ma mi da anche molto fastidio che non vengano messi i riferimenti da chi questi son stati presi:

http://www.lfarredolegno.it/bash_translate/