All pastes #152443 Raw Edit

trans1.0

public text v1 · immutable
#152443 ·published 2006-08-28 20:23 UTC
rendered paste body
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 }
}