on *: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 } }