#!/bin/sh
#
# Übersetzung mit Hilfe von Altavistas Babelfish \
exec tclsh $0 $@

package require opt
package require http

tcl::OptProc main {
   {text -string "Text"}
   {-langs -choice {en_de en_fr en_it fr_en fr_de de_en de_fr it_en} "Sprachen, Default en_de"}
} {
   set url  http://world.altavista.com/tr
   append url "?[http::formatQuery tt urltext urltext "$text" lp $langs]"

   if {[catch {http::geturl $url -timeout 30000} token]} {
       error "Problem mit Netzwerk: $token"
   }
   if {[http::ncode $token] != 200} {
       error "Problem mit Server, $token"
   }
   # Brutalmethode zur Datenextraktion
   set htmlliste [split [encoding convertfrom UTF-8 [http::data $token]] \n]
   http::cleanup $token
   set index0 [lsearch -regexp $htmlliste "<textarea"]
   set index1 [lsearch $htmlliste "</textarea>"]
   if {($index0 < 0) || ($index1 < 0)} {
       error "Probleme beim Parsen"
   }
   set ergebniss [join [lrange $htmlliste $index0 [expr $index1 -1 ]]]
   regsub {<textarea rows="3" wrap=virtual cols="56" name="q">} $ergebniss "" ergebniss
   puts stdout $ergebniss
   exit
}


if {[catch {eval main $argv} err]} {
   puts stderr $err
   exit
}