All pastes #152439 Raw Edit

Stuff

public text v1 · immutable
#152439 ·published 2006-08-28 20:21 UTC
rendered paste body
on *:TEXT:*:#:{ 
  if ($language($right($1,$calc($len($1) - 1)))) {
    set %trans.dest $iif($left($1,1) == @,msg $chan,notice $nick)
    if (!$2) { %trans.dest Sorry, you didn't specify a word to translate. | halt } 
    set %trans.input $replace($lower($2-),$chr(32),+)
    set %trans.language $language($right($1,$calc($len($1) - 1)))
    sockopen $+(tran.,%trans.language) ets.freetranslation.com 80
  }
}
alias -l language {
  if ($regex($1,/^span(ish)?$/Si)) return spanish
  elseif ($regex($1,/^fr(ench)?$/Si)) return french
  elseif ($regex($1,/^germ(an)?$/Si)) return german
  elseif ($regex($1,/^it(al|alian)?$/Si)) return italian
  elseif ($regex($1,/^du(tch)?$/Si)) return dutch
  elseif ($regex($1,/^Port(uguese)?$/Si)) return portuguese
  elseif ($regex($1,/^Nor(wegian)?$/Si)) return norwegian
}
on *:SOCKOPEN:tran.*:{ 
  sockwrite -n $sockname GET /?srcText= $+ %trans.input $+ &mode=html&template=results_en-us.htm&sequence=core&language=English%2F $+ %trans.language  HTTP/1.1
  sockwrite -n $sockname Host: ets.freetranslation.com $+ $crlf $+ $crlf
} 
on *:SOCKREAD:tran.*:{ 
  if ($sockerr) { %trans.dest $sockerror | sockclose tran. [ $+ [ %trans.language ] ] }    
  var %result | sockread -f %result
  set %trans.result $remove($htmlfree(%result),$chr(9))
  if (*writetoolbar* iswm %trans.result) {
    sockread -f %trans.result | sockread -f %trans.result 
    if ($+($remove($htmlfree(%trans.result),$chr(9))) == %trans.input) { %trans.dest Sorry, there was no results for the word(s) $+($replace(%trans.input,+,$chr(32)),.) | sockclose $sockname | halt }
    if ($+($remove($htmlfree(%trans.result),$chr(9))) == shItalian to EnglishDutch to EnglishPortuguese to EnglishRussian to EnglishJapanese to English) { %trans.dest Sorry, there was no results for the word(s) $+($replace(%trans.input,+,$chr(32)),.) | sockclose $sockname | halt }
    %trans.dest %trans.language Translation for $+($replace(%trans.input,+,$chr(32)),:) $+(,$remove($htmlfree(%trans.result),$chr(9)),)
    sockclose $sockname | unset %trans.* | halt
  }
}
on *:sockclose:tran.*:{
  unset %trans.*
}
alias htmlfree { 
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;) 
  return %x 
}