rendered paste bodyon *:TEXT:*:#:{
if (($left($1,1) == ~) || ($left($1,1) == .)) {
if ($language($remove($1,$left($1,1)))) {
set %lang. [ $+ [ $nick ] ] $language($remove($1,$left($1,1)))
set %tran. [ $+ [ $nick ] ] $replace($2-,$chr(32),+)
set %target. [ $+ [ $nick ] ] $iif($left($1,1) == ~,msg $chan,notice $nick)
sockopen $+(trans.,$nick) ets.freetranslation.com 80
}
}
}
on *:SOCKOPEN:trans.*:{
sockwrite -nt $sockname GET /?srcText= $+ %tran. [ $+ [ $right($sockname,-6) ] ] $+ &mode=html&template=results_en-us.htm&sequence=core&language=English%2F $+ %lang. [ $+ [ $right($sockname,-6) ] ] HTTP/1.1
sockwrite -nt $sockname Host: ets.freetranslation.com
sockwrite -nt $sockname
}
on *:SOCKREAD:trans.*:{
var %temp. [ $+ [ $right($sockname,-6) ] ] | sockread -f %temp. [ $+ [ $right($sockname,-6) ] ]
var %f 0
while (%f < $sockbr) {
inc %f
sockread -f %temp. [ $+ [ $right($sockname,-6) ] ]
if (*writetoolbar* iswm %temp. [ $+ [ $right($sockname,-6) ] ]) {
sockread -f %temp. [ $+ [ $right($sockname,-6) ] ] | sockread -f %temp. [ $+ [ $right($sockname,-6) ] ]
%target. [ $+ [ $right($sockname,-6) ] ] %lang. [ $+ [ $right($sockname,-6) ] ] Translation for $+($replace(%tran. [ $+ [ $right($sockname,-6) ] ],+,$chr(32)),:)
%target. [ $+ [ $right($sockname,-6) ] ] $+(,$remove($striphtml(%temp. [ $+ [ $right($sockname,-6) ] ] ),$chr(9)),)
unset %target. [ $+ [ $right($sockname,-6) ] ] %tran. [ $+ [ $right($sockname,-6) ] ]
sockclose $sockname | halt
}
}
}
alias language {
if ($regex($1,/^(span(ish)?|sp(ai|ia)n)$/Si)) { return Spanish }
elseif ($regex($1,/^germany?$/Si)) { return German }
elseif ($regex($1,/^fr(ench|ance)$/Si)) { return French }
elseif ($regex($1,/^nor(wegian|way)$/Si)) { return Norwegian }
elseif ($regex($1,/^russian?$/Si)) { return Russian }
elseif ($regex($1,/^dutch?$/Si)) { return Dutch }
elseif ($regex($1,/^port(ugu?ese)??$/Si)) { return Portuguese }
else { return $null }
}