# This script interfaces with babelfish.altavista.digital.com
# to everyone - copy this and put it in your own scripts. translations are fun!
#  -Nuke

@ langtrans.firewall = [localhost 8000]
@ langtrans.direct = [204.123.9.67 80]
@ langtrans.use_firewall = 0

alias langconnect {
        if (langtrans.use_firewall) {
                ^assign altavista $connect($langtrans.firewall)
        } {
                ^assign altavista $connect($langtrans.direct)
        }
}

alias use_firewall {
        if (left(1 $0) == [y]) {
                @ langtrans.use_firewall = 1
        } {
                @ langtrans.use_firewall = 0
        }
}

alias e2d ^assign langtype en_de;^assign inlang Auf Deutsch;^assign langtext $*;langconnect
alias e2f ^assign langtype en_fr;^assign inlang En Francais;^assign langtext $*;langconnect
alias e2i ^assign langtype en_it;^assign inlang In Italiano;^assign langtext $*;langconnect
alias e2p ^assign langtype en_pt;^assign inlang Em Portugues;^assign langtext $*;langconnect
alias e2s ^assign langtype en_es;^assign inlang En Espanol;^assign langtext $*;langconnect
alias d2e ^assign langtype de_en;^assign inlang In English;^assign langtext $*;langconnect
alias f2e ^assign langtype fr_en;^assign inlang In English;^assign langtext $*;langconnect
alias i2e ^assign langtype it_en;^assign inlang In English;^assign langtext $*;langconnect
alias p2e ^assign langtype pt_en;^assign inlang In English;^assign langtext $*;langconnect
alias s2e ^assign langtype es_en;^assign inlang In English;^assign langtext $*;langconnect


# Connection Established.. get the URL
on ^dcc_raw '% 204.123.9.67 e*' {
        dcc raw $0 $1 GET http://babelfish.altavista.digital.com/cgi-bin/translate?doit=done&urltext=$sar(g/&/%26/$tr(/ /+/$langtext))&languagepair=$langtype
}

# Incoming HTML data, pick apart translated text
on ^dcc_raw '% 204.123.9.67 d*' {
        # Count: two lines after our key text. translation should be
	#        at the 30th character here
        if (langcount == 2) {
                echo *** $inlang\: $mid(30 999 $3-);^assign -langcount
        }
        
        # Count: one line after our key text
        if (langcount == 1) {
                ^assign langcount 2
        }
        
        # Found the key text. Translation is two lines ahead
        if ([$3-] == [<td align="left"><br>]) {
                ^assign langcount 1
        }
        
        # Hmm.. server error
        if (match(*error* $3-) && (langcount!=2)) {
                echo SERVER ERROR: $3-
        }

        # Yes, i know how hokey this all looks.. but it works, for now.
}

# Connection Terminated. Let's clean up some variables
on ^dcc_raw '% 204.123.9.67 c*' {
        ^assign -altavista
        ^assign -langtext
        ^assign -langtype
        ^assign -inlang
}

