Título: Traductor inglés español [Bash]
Publicado por: leogtz en 9 Junio 2010, 00:42 am
Bueno, este mini código lo hice hace 1 mes, simplemente para no tener que abrir el navegador y teclear todo ahí. El código funciona de dos maneras, una mediante un inputbox y la otra mediante la línea de comandos: leo@lein:~/Escritorio$ bash trans "i want to fly with you" Quiero volar contigo leo@lein:~/Escritorio$
(http://img291.imageshack.us/img291/3195/pantallazobashtranslato.png) #!/bin/sh # Leo Gutierrez R. # matthewbauer, http://www.commandlinefu.com <--- Búsqueda en google traductor. if [ $# -eq 0 ]; then while true do Xdialog --title "Bash translator" \ --inputbox "Input:" 10 45 2> /tmp/inputbox.tmp.$$ retval=$? input=`cat /tmp/inputbox.tmp.$$` rm -f /tmp/inputbox.tmp.$$ case $retval in 0) cmd=$( wget -qO- "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$input&langpair=en|es" | sed 's/.*"translatedText":"\([^"]*\)".*}/\1\n/'; ); Xdialog --title "Bash translator" --msgbox "$cmd" 0x0 ;; 1) exit 0 ;; 255) echo -e "Box closed." ;; esac done else cmd=$( wget -qO- "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$1&langpair=en|es" | sed 's/.*"translatedText":"\([^"]*\)".*}/\1\n/'; ); echo -e "$cmd" exit 0 fi
Título: Re: Traductor inglés español [Bash]
Publicado por: VirajeCR en 9 Junio 2010, 00:55 am
Excelente aporte mi amigo.
Gracias por compartir.
Título: Re: Traductor inglés español [Bash]
Publicado por: luinuz en 9 Junio 2010, 02:16 am
Muy bueno, justo estaba buscando una url que diera un servicio parecido para parsearla.
Título: Re: Traductor inglés español [Bash]
Publicado por: leogtz en 9 Junio 2010, 02:34 am
Gracias.
Título: Re: Traductor inglés español [Bash]
Publicado por: luinuz en 9 Junio 2010, 02:48 am
Ya por fin tengo completo mi script. Uso tu linea cuando detecto que es un texto. Si es solo una palabra te busca la definicion en el diccionario dandote varias acepciones y ejemplos. Y ya aprovechando tambien se le pueden añadir mas idiomas y mas direcciones facilmente. function translate () { if [ $# = 0 ] || [ "$1" = "--help" ] || [ "$1" = "-h" ]; then echo -e "Fetch translation from google. Usage 'translate text' or 'translate world'" return fi local TEMP_FILE="/tmp/deleteme.$$" if [ $# -gt 1 ]; then local IS_WORD="false" else local IS_WORD="true" fi
echo "********************************************************" echo " Choose the direction to translate '$*'" echo "********************************************************" echo " 0 - spanish to english" echo " 1 - english to spanish" echo " [Other] EXIT" echo "********************************************************" echo -n "Enter your menu choice: " read OPTION echo
local SRC=en local DST=es case $OPTION in 0) SRC=es; DST=en;; 1) SRC=en; DST=es;; *) echo "Exit"; return;; esac local LNG=`echo "$LANG" | cut -d '_' -f 1` local CHARSET=`echo $LANG | cut -d '.' -f 2` #usefull if charset is unicode
if [ "$IS_WORD" = "true" ]; then lynx -accept_all_cookies -dump -hiddenlinks=ignore -nonumbers -assume_charset=$CHARSET -display_charset=$CHARSET "http://www.google.com/dictionary?aq=f&langpair=${SRC}|${DST}&q=${1}&hl=$LNG"| grep -C 2 -A 5 -w "*" > /$TEMP_FILE
if [ ! -s $TEMP_FILE ]; then echo "No translation for '$1'" else cat $TEMP_FILE fi rm -f $TEMP_FILE else wget -qO- "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$@&langpair=${SRC}|${DST}" | sed 's/.*"translatedText":"\([^"]*\)".*}/\1\n/'; fi }
Título: Re: Traductor inglés español [Bash]
Publicado por: Darioxhcx en 9 Junio 2010, 15:57 pm
que grande leo.. veo que seguis haciendo cosas interesantes ;D saludos
Título: Re: Traductor inglés español [Bash]
Publicado por: leogtz en 9 Junio 2010, 22:07 pm
que grande leo.. veo que seguis haciendo cosas interesantes ;D saludos
Cositas..., naaaa, son pequeños scripts para mi uso personal. Saludos.
|