Archive for Luglio 19th, 2008
Traduzione a linea di comando
Questa mattina mi son svegliato, ed ho trovato un post stuzzicante che promette, e mantiene, di aggiungere alla linea di comando un semplice traduttore. Si tratta di uno script di una riga che si appoggia a http://www.wordreference.com per effettuare la traduzione.
Alla fine del post c’è la richiesta di spendere qualche minuto attorno a google ed al suo sistema di traduzioni per poter fare la stessa cosa.
una prima versione la trovate quì sotto, non si tratta più di un one line script perché ho l’ossessione di aggiungere parametri a tutto il codice che posso manipolare. Mi passerà.
Il codice non è elegantissimo ma più che qualche minuto non potevo assolutamente dedicargli.
#!/bin/bash
S='auto'
T='it'
if [ "$2" != "" ]; then
S="$2"
fi
if [ "$3" != "" ]; the
T="$3"
fi
lynx "http://translate.google.com/translate_t?sl=$S&tl=$T&text=$1" -dump | \
grep "Suggest a better translation" -B2 | head --lines=1
I parametri sono semplicissimi da usare, ammesso di chiamare tran il file, basta invocarlo con la parola da tradurre come unico parametro. Google cercherà di individuare la lingua della parola e ne restituirà, se riesce, il corrispettivo in italiano.
In caso sia necessario allora si possono specificare anche il codice iso della parola da tradurre, ed il codice della lingua in cui tradurre, rispettivamente come secondo e terzo parametro.
Le migliorie possibili sono tante, ad esempio usare l’opzione -source invece che -dump in lynx in modo da essere sicuri di individuare la parola tradotta nell’html che google restituisce ma il tempo, per ora, è tiranno.
