bu programla türkçe-ingilizce,türkçe-almanca çeviri yapabiliyoruz.kodları aşağıda paylaşacam.
Kod:
[
# -*- coding: utf-8 -*-
#! usr/bin/env python
import pygtk, gtk, urllib, re
pygtk.require20()
class Arayuz(object):
def __init__(self):
self.pencere = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.pencere.set_title("Sözlük Programı")
self.pencere.set_size_request(350, 150)
self.pencere.set_resizable(False)
self.pencere.connect("delete_event", gtk.main_quit)
self.etiket1 = gtk.Label("Sözlük - fhgtr")
self.etiket2 = gtk.Label("Aranacak Kelime:")
self.etiket3 = gtk.Label("Aranacak Sözlük:")
self.giris = gtk.Entry()
self.secim = gtk.combo_box_new_text()
self.oge = ["İngilizce>>>Türkçe","Türkçe>>>İngilizce","Almanca>>>Türkçe","Türkçe>>>Almanca"]
for i in self.oge:
self.secim.append_text(i)
self.dugme1 = gtk.Button("Ara")
self.dugme1.connect("clicked", self.gorev1)
self.dugme2 = gtk.Button("Hakkında")
self.dugme2.connect("clicked", self.gorev3)
self.dugme3 = gtk.Button("Çıkış")
self.dugme3.connect("clicked", self.gorev4)
self.kutu = gtk.VBox()
self.tablo = gtk.Table(2, 3)
self.tablo.attach(self.etiket1, 0, 2, 0, 1)
self.tablo.attach(self.etiket2, 0, 1, 1, 2)
self.tablo.attach(self.giris, 1, 2, 1, 2)
self.tablo.attach(self.etiket3, 0, 1, 2, 3)
self.tablo.attach(self.secim, 1, 2, 2, 3)
self.hbbox = gtk.HButtonBox()
self.hbbox.set_layout(gtk.BUTTONBOX_SPREAD)
self.hbbox.pack_start(self.dugme1)
self.hbbox.pack_start(self.dugme2)
self.hbbox.pack_start(self.dugme3)
self.kutu.pack_start(self.tablo)
self.kutu.pack_start(self.hbbox, padding = 3)
self.pencere.add(self.kutu)
self.pencere.show_all()
def gorev1(self, pencere2):
self.pencere2 = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.pencere2.set_title("Sonuçlar")
self.pencere2.set_size_request(450, 300)
self.pencere2.connect("delete_event", self.pencere2.destroy)
self.veri = self.gorev2()
self.tb = gtk.TextBuffer()
self.tb.set_text(self.veri)
self.tw = gtk.TextView(self.tb)
self.tw.set_editable(False)
self.sw = gtk.ScrolledWindow()
self.sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.sw.add_with_viewport(self.tw)
self.pencere2.add(self.sw)
self.pencere2.show_all()
def gorev2(self):
self.kelime = self.giris.get_text()
self.sozluk1 = {"ç":"c","ı":"i","ş":"s","ğ":"g","ö":"o","ü":"u"}
for i in self.sozluk1.keys():
self.kelime = self.kelime.replace(i, self.sozluk1[i])
if self.secim.get_active_text() == "İngilizce>>>Türkçe":
self.sozluk = "entr"
if self.secim.get_active_text() == "Türkçe>>>İngilizce":
self.sozluk = "tren"
if self.secim.get_active_text() == "Almanca>>>Türkçe":
self.sozluk = "detr"
if self.secim.get_active_text() == "Türkçe>>>Almanca":
self.sozluk = "trde"
self.site = "[URL="http://sozluk.web.tr/index.php?locale=tr_TR&dictionary=%s&word=%s"%(self.sozluk,self.kelime"]%s"%(self.sozluk,self.kelime kelimesi için sonuçlar - Sözlük İngilizce Sözlük Almanca Sözlük Türkçe Çeviri Tercüme[/URL])
self.kaynak = str(urllib.urlopen(self.site).read())
self.bul = re.compile("</tr>")
self.bul02 = self.bul.findall(self.kaynak)
if self.bul02:
for i in self.bul02:
self.kaynak = self.kaynak.replace(i, "\n")
self.bul1 = re.compile("""<h2>|</h2>|<dd>|<dl>|<h3>|</h3>|</dd>|</dl>|<dt>|</dt>|</a>|<p>|</p>|<em><strong>.+</strong>.+</em>|<em class="kategori">|</em>|<td class="se">|<td class="ka">|</td>| |<td nowrap align="right">|<!--\n|//-->|google.+|<script.+|<img.+>|src.+|<img.+|<table.+|<a href.+</a>|<iframe.+|<img.+</img>|Sözlük|İngilizce|Türkçe|Almanca|<****.+|-|<body.+|/>|<.+>""")
self.bul12 = self.bul1.findall(self.kaynak)
if self.bul12:
for i in self.bul12:
self.kaynak = self.kaynak.replace(i,"")
self.bul2 = re.compile("<.+>|\n\n\n\n\n|Türkçe|İngilizce|Almanca|Sözlük:|Yakında|Kelime|@import.+|urchinTrac.+|'nde desteklemek için tıklayınız.|© 2003 2010 .web.tr|\n\n\n\n| içindeki sonuclar|.+ kelimesi için sonuçlar|Sitede bulunan.+|\n>| .+|_.+|}.+|qac.+|Bilişim Hizmet Ödülleri|Rusça|Fransızca")
self.bul22 = self.bul2.findall(self.kaynak)
if self.bul22:
for i in self.bul22:
self.kaynak = self.kaynak.replace(i, "")
self.bul3 = re.compile("\n\n|>")
self.bul32 = self.bul3.findall(self.kaynak)
if self.bul32:
for i in self.bul32:
self.kaynak = self.kaynak.replace(i, "")
self.bul4 = re.compile(".+ kelimesi hi.+|Aradığınız kelime .+")
self.bul42 = self.bul4.findall(self.kaynak)
if self.bul42:
self.sonuc = "Aradığınız kelime bulunamadı."
return self.sonuc
else:
return self.kaynak+"Kaynak: [URL="http://sozluk.web.tr"]Wörterbuch Türkisch Wörterbuch Deutsch Wörterbuch Englisch Übersetzung[/URL]"
def gorev3(self, pencere3):
self.pencere3 = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.pencere3.set_title("Hakkında")
self.pencere3.set_size_request(400, 160)
self.pencere3.set_resizable(False)
self.pencere3.connect("delete_event", self.pencere3.destroy)
self.veri2 = "SÖZLÜK, bir sözlük programıdır.\nBilgiyi, sozluk.web.tr adresinden alır.\nAçık kaynaklı, basit bir projedir.\nfhgtr tarafından yazılmıştır.Lütfen karşılaştığınız problemlerde bana haber verin."
self.tb2 = gtk.TextBuffer()
self.tb2.set_text(self.veri2)
self.tw2 = gtk.TextView(self.tb2)
self.tw2.set_editable(False)
self.sw2 = gtk.ScrolledWindow()
self.sw2.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.sw2.add_with_viewport(self.tw2)
self.pencere3.add(self.sw2)
self.pencere3.show_all()
def gorev4(self, penar):
gtk.main_quit()
def main(self):
gtk.main()
if __name__ == "__main__":
ar = Arayuz()
ar.main()
/CODE]
alıntıdır:woott
