#!/bin/sh
#
# Script de traduction de mots

VERSION="0.2.0"
FROMTO="en_fr"
TEXT=""
DEBUG=0

TRADUCSTYPES="en_zh en_fr en_de en_it en_ja en_ko en_pt en_es zh_en fr_en fr_de de_en de_fr it_en ja_en ko_en pt_en ru_en es_en"


if [ "$1" = "--help" ]; then
  echo "babelfish v$VERSION"
  echo "Usage : ./babelfish [type-de-traduc] mots"
  echo "Options de traduction :"
  echo "en_zh            Anglais   vers Chinois"
  echo "en_fr            Anglais   vers Français [PAR DÉFAUT]"
  echo "en_de            Anglais   vers Allemand"
  echo "en_it            Anglais   vers Italien"
  echo "en_ja            Anglais   vers Japonais"
  echo "en_ko            Anglais   vers Koréen"
  echo "en_pt            Anglais   vers Portugais"
  echo "en_es            Anglais   vers Espagnol"
  echo "zh_en            Chinois   vers Anglais"
  echo "fr_en            Français  vers Anglais"
  echo "fr_de            Français  vers Allemand"
  echo "de_en            Allemand  vers Anglais"
  echo "de_fr            Allemand  vers Français"
  echo "it_en            Italien   vers Anglais"
  echo "ja_en            Japonais  vers Anglais"
  echo "ko_en            Koréen    vers Anglais"
  echo "pt_en            Portugais vers Anglais"
  echo "ru_en            Russe     vers Anglais"
  echo "es_en            Espagnol  vers Anglais"
  exit
fi

if [ "$1" = "--debug" ]; then
  DEBUG=1
  shift
fi

if [ $DEBUG = 1 ]; then
  echo "$1"
  echo -n "Types de traduction : "
fi
for ttyp in $TRADUCSTYPES; do
#   if [ $DEBUG = 1 ]; then
#     echo "$ttyp"
#   fi
  if [ "$ttyp" = "$1" ]; then
    FROMTO=$ttyp
    if [ $DEBUG = 1 ]; then
      echo -n "(donné en argument) "
    fi
    shift
  fi
done
if [ $DEBUG = 1 ]; then
  echo "$FROMTO"
fi

num=0
for arg in $*; do
  if [ $num = 0 ]; then
    TEXT="$arg"
  else
    TEXT="$TEXT $arg"
  fi
  num=`expr $num + 1`
done

DIRECTION=`echo "$FROMTO" | sed -e 's/\_/ -> /'`
echo "Traduction $DIRECTION de \"$TEXT\" :"

TEXTURL=`echo "$TEXT" | sed -e 's/ /\+/g'`
URL="http://babel.altavista.com/tr?doit=done&tt=urltext&urltext="
URL="$URL$TEXTURL"
URL="$URL&url=http%3A%2F%2F&lp="
URL="$URL$FROMTO"

if [ $DEBUG = 1 ]; then
  echo "DEBUG => URL = \"$URL\""
fi

PAGE=`lynx -source "$URL"`
TRADUC=`echo "$PAGE" \
 | grep textarea \
 | head -n 1 \
 | sed -e 's,.*<textarea rows="3" wrap=virtual cols="56" name="q">\(.*\),\1,'`

if [ "$TRADUC" = "<textarea rows=\"6\" wrap=virtual cols=\"38\" " ]; then
  TRADUC=`echo "$PAGE" grep "<td bgcolor=white>" sed -e 's,.*<td bgcolor=white>\(.*\),\1,'`
fi

if [ $DEBUG = 1 ]; then
  echo "DEBUG => PAGE = $PAGE"
fi

echo "$TRADUC"

