All pastes #485568 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-05-13 02:34 UTC
rendered paste body
Alias tlinfo { echo /tl (language to translate from) (language to translate to) (text) - alias use | echo english, dutch, german, spanish, portuguese, italian, french }
alias tl { 
  set %tllang1 $1 
  set %tllang2 $2 
  set %tltext $replace($3-,$chr(32),$chr(43)) 
  /sockclose tl 
  sockopen tl ets.freetranslation.com 80 
  set %tlmsg msg $active 
} 
on *:SOCKOPEN:tl: { 
  sockwrite -nt $sockname GET ?srcText= $+ %tltext $+ &mode=html&template=results_en-us.htm&sequence=core&language= $+ %tllang1 $+ $chr(37) $+ 2F $+ %tllang2 HTTP/1.1 
  sockwrite -nt $sockname Host: ets.freetranslation.com 
  sockwrite -nt $sockname $crlf 
} 
on *:SOCKREAD:tl: { 
  if ($sockerr) { echo -a SOCKET ERROR: $sckerr } 
  else { 
    var %tlsockreader 
    sockread %tlsockreader 
    if ( *<textarea name="dsttext" cols="40" rows="6">* iswm %tlsockreader) { 
      %tlmsg $remove($nohtml(%tlsockreader),$chr(09)) [ $chr(3) ]  
      /sockclose $sockname 
      if (%translator == on) { 
        /did -a translator 1 < $+ $me $+ > - $remove($nohtml(%tlsockreader),$chr(09)) 
      } 
      /sockclose tl 
      unset %tl* 
    } 
  } 
} 
alias nohtml { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x } alias -l htm { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x } 
Menu * { 
  Ultimate Translator:/dialog -md translator translator 
} 
dialog translator { 
  title "Oliver's Ultimate Translator" 
  size -1 -1 188 191 
  option dbu 
  list 1, 8 16 172 128, size 
  edit "", 2, 32 148 123 10, autohs 
  text "Message:", 3, 8 149 25 8 
  combo 4, 137 163 43 50, size drop 
  text "to", 7, 60 164 8 8 
  combo 5, 72 163 43 50, size drop 
  combo 6, 13 163 43 50, size drop 
  text "in", 8, 122 164 7 8 
  text "", 9, 105 5 36 8 
  text "", 10, 142 5 33 8 
  button "Exit", 11, 75 177 37 12, cancel 
  button "Send", 12, 158 148 26 10 
  button "hidden button", 13, 15 1 37 12, default 
} 
on *:dialog:translator:sclick:13:{ 
  set %tllang1 $did(translator,6) 
  set %tllang2 $did(translator,5) 
  set %tltext $replace($did(translator,2),$chr(32),$chr(43)) 
  if ($sock(tl)) .sockclose tl 
  set %tlmsg msg $did(translator,4) 
  sockopen tl ets.freetranslation.com 80 
  /did -r translator 2 
} 
alias translatorallchans { 
  var %num = 1 
  while ($chan(%num)) { 
    did -a translator 4 $chan(%num) 
    inc %num 1 
  } 
} 
on *:TEXT:*:*: { 
  if (%translator == on) { 
    if (!$chan) { 
      /write $query $+ .txt < $+ $nick $+ > $1- 
    } 
    else { 
      /write $chan $+ .txt < $+ $nick $+ > $1- 
    } 
    if (%translatorstatus == $chan) { 
      /did -a translator 1 < $+ $nick $+ > $1- 
    } 
    elseif (%translatorstatus == $query) { 
      /did -a translator 1 < $+ $nick $+ > $1- 
    } 
    inc %transnum 
    /write translatorlist.txt $chan $+ .txt 
    /write translatorqlist.txt $query $+ .txt 
  } 
} 
on *:DIALOG:translator:sclick:4:{ 
  /did -r translator 1 
  /loadbuf -or translator 1 $did($dname,4) $+ .txt 
  set %translatorstatus $did($dname,4) 
} 
on *:DIALOG:translator:sclick:12:{ 
  set %tllang1 $did(translator,6) 
  set %tllang2 $did(translator,5) 
  set %tltext $replace($did(translator,2),$chr(32),$chr(43)) 
  if ($sock(tl2)) .sockclose tl 
  set %tlmsg msg $did(translator,4) 
  sockopen tl ets.freetranslation.com 80 
  /did -r translator 2 
} 
on *:dialog:translator:init:*:{ 
  /did -h translator 13 
  set %translator on 
  translatorallchans 
  /timer $+ translatortime 0 1 /did -ra translator 10 $!time(HH:nn:ss) 
  /timer $+ translatordate 0 1 /did -ra translator 9 $!time(ddd/mmm/yyyy) 
  /did -a translator 6,5 English 
  /did -a translator 6,5 Spanish 
  /did -a translator 6,5 Dutch 
  /did -a translator 6,5 German 
  /did -a translator 6,5 Portuguese 
  /did -a translator 6,5 Italian 
  /did -a translator 6,5 French 
} 
on *:dialog:translator:sclick:11:{ 
  set %translator off 
  /massremove translatorlist.txt 
  /massremove translatorqlist.txt 
  unset %translatorlist* 
  unset %translatorqlist* 
  unset %transnum 
  /timer $+ translatortime off 
  /timer $+ translatordate off 
} 
alias massremove { 
  var %num = 1 
  while ($read($1,%num) != $null) { 
    /write -c $read($1,%num) 
    /write -d $1 $read($1,%num) 
  } 
} 
alias translatorallchans { 
  var %num = 1 
  while ($chan(%num)) { 
    did -a translator 4 $chan(%num) 
    inc %num 1 
  } 
}