All pastes #762162 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-11-05 13:13 UTC
rendered paste body
menu * { 
  Translator:dialog -mo tl tl 
} 

dialog tl { 
  option dbu 
  title "Translator made by Patje" 
  size -1 -1 250 100 
  menu &File,1 
  item &Close,2 
  check "Always on top",6,5 5 50 7 
  edit "",10,5 15 240 50,multi 
  text "Language:",11,8 70 25 7 
  combo 12,35 68 100 7,drop 
  button "Translate",13,145 68 35 11 
  edit "",14,5 85 240 10 
} 

on *:DIALOG:tl:INIT:*:{ 
  did -a $dname 12 Chinese - English 
  did -a $dname 12 English - Chinese 
  did -a $dname 12 English - Dutch 
  did -a $dname 12 English - French 
  did -a $dname 12 English - German 
  did -a $dname 12 English - Greek 
  did -a $dname 12 English - Italian 
  did -a $dname 12 English - Japanese 
  did -a $dname 12 English - Korean 
  did -a $dname 12 English - Portuguese 
  did -a $dname 12 English - Russian 
  did -a $dname 12 English - Spanish 
  did -a $dname 12 Dutch - English 
  did -a $dname 12 Dutch - French 
  did -a $dname 12 French - Dutch 
  did -a $dname 12 French - English 
  did -a $dname 12 French - Greek 
  did -a $dname 12 French - Italian 
  did -a $dname 12 French - Portuguese 
  did -a $dname 12 French - Spanish 
  did -a $dname 12 German - English 
  did -a $dname 12 German - French 
  did -a $dname 12 Greek - English 
  did -a $dname 12 Greek - French 
  did -a $dname 12 Italian - English 
  did -a $dname 12 Italian - French 
  did -a $dname 12 Japanese - English 
  did -a $dname 12 Korean - English 
  did -a $dname 12 Portuguese - English 
  did -a $dname 12 Portuguese - French 
  did -a $dname 12 Russian - English 
  did -a $dname 12 Spanish - English 
  did -a $dname 12 Spanish - French 
} 

on *:DIALOG:tl:MENU:2:{ 
  dialog -x $dname 
} 

on *:DIALOG:tl:SCLICK:*:{ 
  if ($did == 6) { 
    tokenize 32 %tl 
    if ($did(6).state) { 
      dialog -o $dname 
    } 
    else { 
      dialog -n $dname 
    } 
  } 
  elseif ($did == 13) { 
    inc %sc 
    hadd -m ts_ $+ %sc language $gettok(zt_en en_zt en_nl en_fr en_de en_el en_it en_ja en_ko en_pt en_ru en_es nl_en nl_fr fr_nl fr_en fr_el fr_it fr_pt fr_es de_en de_fr el_en el_fr it_en it_fr ja_en ko_en pt_en pt_fr ru_en es_en es_fr,$did(12).sel,32) 
    var %c 1 
    while (%c <= $did(10).lines) { 
      hadd -m ts_ $+ %sc string $hget(ts_ $+ %sc,string) $+ $urlencode($did(10,%c)) $+ % $+ 0A%0D 
      inc %c 
    } 
    sockopen ts_ $+ %sc world.altavista.com 80 
  } 
} 

on *:SOCKOPEN:ts_*:{ 
  var %data doit=done&intl=1&tt=urltext&trtext= $+ $left($hget($sockname,string),-6) $+ &lp= $+ $hget($sockname,language) $+ &btnTrTxt=Vertaal 
  sockwrite -nt $sockname POST /tr HTTP/1.1 
  sockwrite -nt $sockname Host: world.altavista.com 
  sockwrite -nt $sockname Content-Type: application/x-www-form-urlencoded 
  sockwrite -nt $sockname Content-Length: $len(%data) 
  sockwrite -nt $sockname $crlf %data 
} 

on *:SOCKREAD:ts_*:{ 
  var %sc 
  sockread %sc 
  if (<div style=padding:10px;> isin %sc) { 
    did -ra tl 14 $mid(%sc,57,-11) 
  } 
} 

alias urlencode return $regsubex($1-,/([^\w\s]|\x20)/Sg,$+(%,$base($asc(\1),10,16,2)))