Hoşgeldin Misafir

Google Translate (çeviri)

Enyalios

21 Eki 2020
873 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
-Arkadaşlar nerde gördüm tam hatırlamıyorum ceviri kodu görmüştüm üzerinde biraz çalıştım güzelde oldu Google Translate den çeviri yapıyor kodumuz--


-kullanımı--
-/cevir # ---en-tr--- ---yes--- yazarsanız evet döner--
-/cevir # ---tr-en--- ---evet--- yazarsanız yes döner--
-aynı mantık diğer dillerdede geçerli örneğin almancada--
-/cevir # ---de-tr--- ---Salut--- yazarsanız selam döner--
-/cevir # ---tr-de--- ---selam--- yazarsanız Salut döner--
-kanal kullanıcıları için--
-!cevir ---en-tr--- ---yes--- yazarsanız evet döner--
-!cevir ---tr-en--- ---evet--- yazarsanız yes döner--
-aynı mantık diğer dillerdede geçerli örneğin almancada--
-!cevir ---de-tr--- ---Salut--- yazarsanız selam döner--
-!cevir ---tr-de--- ---selam--- yazarsanız Salut döner--

-kodu alt + r tıklayıp remoteye ekliyoruz mausumuzla mirc üzerinde kanal özel vs sağtıkladığımızda google çeviri menüsünü göreceksiniz--
-umarım işinize yarar--


Kod:
#TransTrigger on
On $*:Text:/^(!|@)cevir.*/Si:#: {
  if ($timer($+(Gtrans,$network,$nick))) { return }
  .timer $+ $+(Gtrans,$network,$nick) 1 4 noop
  var %method $iif($regml(1) == !,.notice $nick,$iif($regex($nick($chan,$nick).pnick,/(!|~|&|@|%)/),.msg $chan,.notice $nick))
  if (help isin $1) { TransHelp %method | return }
  if (!$3) { %method No text to Translate | TransHelp %method | return }
  if (!$regex($left($2,3),/-|_/)) { %method $2- is unknown to me. | TransHelp %method | return }
  if (!$regex($left($2,2),/en|fr|nl|de|pt|it|es|sq|et|ca|hr|cs|da|et|tl|fi|gl|hu|id|lv|lt|mt|no|pl|ro|sk|sl|sv|tr/i)) {
    %method $2- is unknown to me.
    TransHelp %method
    return
  }
  if (!$regex($right($2,2),/en|fr|nl|de|pt|it|es|sq|et|ca|hr|cs|da|et|tl|fi|gl|hu|id|lv|lt|mt|no|pl|ro|sk|sl|sv|tr/i)) {
    %method $2- is unknown to me.
    TransHelp %method
    return
  }
  cevir %method $2 $strip($3-)
}
#TransTrigger end
alias -l TransHelp {
  $1-2 Syntax: !cevir L1-L2 Text to translate. L1 = the language you are typing in. L2 = The language you want to translate to.
  $1-2 Valid languages: en,fr,nl,de,pt,it,es,sq,et,ca,hr,cs,da,et,tl,fi,gl,hu,id,lv,lt,mt,no,pl,ro,sk,sl,sv,tr $&
    For a code explanation look here -->> Google Translate API v1 JavaScript Reference - Google Translate API v1 - Google Code
}
alias -l cevir {
  var %sockname $+(GTrans,$network,$2,$ticks)
  sockopen %sockname translate.google.com 80
  sockmark %sockname $1-2 $+(/translate_t?langpair=,$lower($replace($3,-,|,_,|)),&text=,$fixurl($4-),#)
}
on *:sockopen:GTrans*: {
  if (!$sockerr) {
    sockwrite -nt $sockname GET $gettok($sock($sockname).mark,3,32) HTTP/1.0
    sockwrite -n $sockname Host: translate.google.com $+ $str($CRLF,2)
  }
  else { echo -st socket error $nopath($script) | sockclose $sockname | return }
}
on *:sockread:GTrans*: {
  if ($sockerr) { echo -st socket error $nopath($script) | sockclose $sockname | return }
  else {
    sockread -fn &transvar
    ;echo -a $bvar(&transvar,1,$bvar(&transvar,0)).text
    if ($bintween(&transvar,onmouseout="this.style.backgroundColor='#fff'">,</span>,1)) {
      $gettok($sock($sockname).mark,1-2,32) $fixhtml($v1)
    }
  }
}
alias -l bintween {
  var %count = 1, %mark = 0, %mark2 = 0
  while (%count <= $4) {
    if ($bfind($1, %mark2, $2).text) {
      %mark = $calc($bfind($1, %mark2, $2).text + $len($2))
      if ($bfind($1, %mark, $3).text) {
        %mark2 = $bfind($1, %mark, $3).text
      }
      else { return 0 } 
    }
    else { return 0 }
    inc %count
  }
  return $bvar($1, $iif(%mark > 0,%mark,1), $calc(%mark2 - %mark)).text
}
alias -l fixhtml { return $remove($regsubex($1-,/#([\d][\d][\d]?);/g,$chr(\t)),&amp;,gt;,lt;) }
ON *:Start:{
  Echo -a 4 6You have just loaded 3F4o5r6d7-9T3r4a5n6s7l9a3t4o5r 4 6English Version.
  Echo -a 4 6By Ford_Lawnmower
  Echo -a 4 6Questions and comments,  You can find me in #USA-Chat on irc.geekshed.net
  Echo -a 4 6irc://irc.geekshed.net
}
dialog Translate {
  title "Ford-Trans Basic"
  size -1 -1 152 137
  option dbu
  combo 1, 8 8 60 10, drop
  combo 2, 84 8 60 10, drop
  edit "", 3, 8 32 136 82, multi autovs
  button "Translate", 5, 56 115 38 12
  combo 6, 84 21 60 10, drop
  button "Close", 7, 104 115 38 12, cancel
  button "Clear Screen", 8, 10 115 37 12
  text "To", 9, 70 10 9 8, center
  text "Translate this text to ------->", 10, 6 22 73 8, right
  text "", 11, -2 128 153 8, center
}
On *:Dialog:Translate:Sclick:8: {
  did -rf $dname 3
}
On *:Dialog:Translate:Sclick:5: {
  if (!$did($dname,3).text) { 
    did -a $dname 11 Type some text in the box to translate
    did -f $dname 3
    .timer 1 3 did -a $dname 11
    return
  }
  var %trans.text, %trans.lines = $did($dname,3).lines, %trans.count = 1
  while (%trans.count <= %trans.lines) {
    %trans.text = %trans.text $+ $did($dname,3,%trans.count).text
    inc %trans.count
  }
  if ($did($dname,6).seltext == Echo Here) {
    cevir echo -a $langcode($+($did($dname,1).seltext,_,$did($dname,2).seltext)) %trans.text
  }
  else {
    var %tlanguages = $langcode($+($did($dname,1).seltext,|,$did($dname,2).seltext))
    cevir msg $did($dname,6).seltext %tlanguages %trans.text    
  }
}
On *:Dialog:Translate:init:*: {
  didtok $dname 1,2 44 English,German,Italian,Spanish,Portuguese,French,Dutch,Albanian,Estonian,Catalan,Croatian,Czech,Danish,Estonian,Filipino
  didtok $dname 1,2 44 Galician,Hungarian,Indonesian,Latvian,Lithuanian,Maltese,Norwegian,Polish,Romanian,Slovak,Slovenian,Swedish,Turkish
  did -c $dname 1 1
  did -c $dname 2 2
  did -ac $dname 6 Echo Here
  if ($chan(0)) {
    var %chan.count = $chan(0)
    while %chan.count {
      did -a $dname 6 $chan(%chan.count)
      dec %chan.count
    }
  }
  if ($query(0)) {
    var %pm.count = $query(0)
    while (%pm.count) {
      did -a $dname 6 $query(%pm.count)
      dec %pm.count
    }
  }
}
alias Trans_Chan {
  if ($dialog(Trans_Chan)) { dialog -v Trans_Chan Trans_Chan }
  else { dialog -m Trans_Chan Trans_Chan }
}
dialog Trans_Chan {
  title "Translate to Channel/Query"
  size -1 -1 136 48
  option dbu
  combo 1, 0 0 60 10, drop
  combo 2, 76 0 60 10, drop
  text "To", 3, 64 2 9 8
  edit "", 4, 0 15 135 10, autohs
  button "Clear", 5, 2 32 37 12
  button "Send", 6, 50 32 37 12
  button "Cancel", 7, 96 32 37 12, cancel
}
On *:Dialog:Trans_Chan:Sclick:6: {
  if (!$did($dname,4).text) { did -f $dname 4 | return }
  else {
    var %tlanguages = $langcode($+($did($dname,1).seltext,|,$did($dname,2).seltext))
    if ($active == status window) { cevir echo -a %tlanguages $did($dname,4).text }
    else { cevir msg $active %tlanguages $did($dname,4).text }
  }
}
On *:Dialog:Trans_Chan:Sclick:5: { did -rf Trans_Chan 4 }
On *:Dialog:Trans_Chan:init:*: {
  didtok $dname 1,2 44 English,German,Italian,Spanish,Portuguese,French,Dutch,Albanian,Estonian,Catalan,Croatian,Czech,Danish,Estonian,Filipino
  didtok $dname 1,2 44 Galician,Hungarian,Indonesian,Latvian,Lithuanian,Maltese,Norwegian,Polish,Romanian,Slovak,Slovenian,Swedish,Turkish
  did -c $dname 1 1
  did -c $dname 2 2
  did -f $dname 4
}
dialog ClipTrans {
  title "ClipTrans"
  size -1 -1 64 48
  option dbu
  combo 1, 1 0 63 10, drop
  combo 2, 1 20 63 10, drop
  text "To", 3, 24 11 9 8, center
  button "Translate", 4, 1 34 29 12
  button "Close", 5, 34 34 29 12, cancel
}
alias -l ClipTrans {
  if ($dialog(Cliptrans)) { dialog -v Cliptrans Cliptrans }
  else { dialog -m Cliptrans Cliptrans }
}
On *:Dialog:ClipTrans:Sclick:4: {
  var %tlanguages = $langcode($+($did($dname,1).seltext,|,$did($dname,2).seltext)) 
  if ($cb(0)) { TransClip %tlanguages }
  else { echo -a clipboard is empty }
}
On *:Dialog:ClipTrans:init:*: {
  didtok $dname 1,2 44 English,German,Italian,Spanish,Portuguese,French,Dutch,Albanian,Estonian,Catalan,Croatian,Czech,Danish,Estonian,Filipino
  didtok $dname 1,2 44 Galician,Hungarian,Indonesian,Latvian,Lithuanian,Maltese,Norwegian,Polish,Romanian,Slovak,Slovenian,Swedish,Turkish
  did -c $dname 1 2
  did -c $dname 2 1
}
alias -l httpstrip {
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;,',&#039 ;)
  return %x
}
alias  -l fixurl return $regsubex($1-,/([^a-z0-9])/ig,% $+ $base($asc(\t),10,16,2))
alias -l transclip { 
  var %clip.count = $cb(0), %clip.counter = 1, %clip.time = 1
  while (%clip.counter <= %clip.count) {
    .timer 1 %clip.time cevir echo -a $1 $remove($strip($cb(%clip.counter)),$chr(124))
    inc %clip.counter
    inc %clip.time 2
  }
}
alias -l Ford-Trans {
  if (!$dialog(Translate)) { dialog -m translate translate }
  else { dialog -v translate translate }
}
alias -l langcode { 
  var %langcode = $replace($1,english,en,german,de,italian,it,spanish,es,portuguese,pt,french,fr,dutch,nl,albanian,sq,estonian,et,catalan,ca,croatian,hr,czech,cs,$&
    danish,da,estonian,et,filipino,tl,finnish,fi,galician,gl,hungarian,hu,indonesian,id,latvian,lv,lithuanian,lt,maltese,mt,norwegian,no,polish,pl,romanian,ro,slovak,sk,$&
    slovenian,sl,swedish,sv,turkish,tr) 
  return %langcode
}
alias cevir {
  if ($timer($+(Gtrans,$network,$nick))) { return }
  .timer $+ $+(Gtrans,$network,$nick) 1 4 noop
  var %method $iif($regml(1) == !,.msg $nick,$iif($regex($nick($chan,$nick).pnick,/(!|~|&|@|%)/),.msg $nick,msg $chan))
  if (help isin $1) { TransHelp %method | return }
  if (!$3) { %method No text to Çevir | TransHelp %method | return }
  if (!$regex($left($2,3),/-|_/)) { %method $2- is unknown to me. | TransHelp %method | return }
  if (!$regex($left($2,2),/en|fr|nl|de|pt|it|es|sq|et|ca|hr|cs|da|et|tl|fi|gl|hu|id|lv|lt|mt|no|pl|ro|sk|sl|sv|tr/i)) {
    %method $2- is unknown to me.
    TransHelp %method
    return
  }
  if (!$regex($right($2,2),/en|fr|nl|de|pt|it|es|sq|et|ca|hr|cs|da|et|tl|fi|gl|hu|id|lv|lt|mt|no|pl|ro|sk|sl|sv|tr/i)) {
    %method $2- is unknown to me.
    TransHelp %method
    return
  }
  cevir %method $2 $strip($3-)
}
;;;;;;;;;;;;;;;;
menu * {
  -
  .Google Çeviri
  ..özelde Çeviri:Trans_Chan
  ..Dialog Kullanım:Ford-Trans
  ..Diller arası kullanım:dilr
  ..$iif($group(#TransTrigger) == On,$style(1)) Kanaldakilerin çevirisi örn: !cevir en-tr yes
  ...$iif($group(#TransTrigger) == On,$style(2)) On: .enable #TransTrigger
  ...$iif($group(#TransTrigger) == Off,$style(2)) Off: .disable #TransTrigger
  -
}