mIRC Google Translate
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
#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'">,,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)),&,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, ,',' ;)
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
-
}