Script: Traduce textos desde la linea de comandos mediante Google Translate Ajax API

Sep 27th, 2010 | Posted by | Filed under Linux, Tips

Excelente!. Un script muy simple pero que nos permitira si queremos utilizar traducción instantaneo en nuestros pequeños programas de bash. Basicamente se hace uso de “curl” para hacer una petición HTTP con los parametros adecuados y se analiza la respuesta recibida, los parametros son el idioma “origen”, el idioma “destino” y el string que queremos traducir.

Código:

#!/usr/bin/env bash
#gtranslate.sh
#Translate using Google Translate Ajax API:
#http://ajax.googleapis.com/ajax/services/language/translate?v=1.0 \
#&langpair=en|es&q=hello+world
#More Info: http://code.google.com/apis/ajaxlanguage/documentation/
#ksaver (at identi.ca), March 2010.
#Licence: Public Domain Code.

progname=$(basename $0)

if [ -z "$3" ]
then
echo -e "Usage:   $progname lang1 lang2 'string of words to translate...'"
echo -e "Example: $progname en es 'Hello World!'\n"
exit
fi

ROM="$1"
TO="$2"

#Google Translate Ajax API Url
TRANSURL='http://ajax.googleapis.com/ajax/services/language/translate?v=1.0'
LANGPAIR="$FROM|$TO"
shift 2

#Parse string to translate, change ' ' to '+'
#STRING: String to translate.
STRING="$@"
PSTRING=$(echo "$STRING" |tr ' ' '+')

# Get translation
RESPONSE=$(/usr/bin/env curl -s -A Mozilla \
$TRANSURL'&langpair='$LANGPAIR'&q='$PSTRING)

echo -n "$progname> "
# Parse and clean response, to show only translation.
echo "$RESPONSE" |cut -d ':' -f 3 |cut -d '}' -f 1

Fuente | UbuntuLife

Share
Comments are closed.