Arkadaşlar bazen ihtiyacım olduğunda translate kullanıyorum ama sekme değiştirmek kopyalamak yapıştırmak derken bayağı uğraştırıyor. Bende küçük bir uygulama tasarladım. Bu uygulama sayesinde en son ne kopyaladıysanız uygulama çevirecek ve Ctrl+v yaptığınızda çevrilmiş hali gelecek. Ayrıca daima üstte kalacak şekilde tasarlandı yani başka uygulamlar bu uyguamanın üstünü kapatmayacak.
import tkinter as tk
from tkinter import ttk
import pyperclip as pc
from googletrans import Translator
class TranslationApp:
def __init__(self):
self.root = tk.Tk()
self.root.title("")
self.root.geometry("150x130")
self.root.resizable(False, False)
self.translator = Translator()
self.trans_direction = tk.StringVar(value="tr_to_en")
self.create_widgets()
self.root.wm_attributes("-topmost", 1)
self.root.geometry("+0+0")
def create_widgets(self):
ttk.Label(self.root, text="Çeviri Yönü Seçiniz:").pack(pady=10)
ttk.Radiobutton(self.root, text="Türkçe -> İngilizce", variable=self.trans_direction, value="tr_to_en").pack(anchor=tk.W)
ttk.Radiobutton(self.root, text="İngilizce -> Türkçe", variable=self.trans_direction, value="en_to_tr").pack(anchor=tk.W)
ttk.Button(self.root, text="Çevir", command=self.translate_text).pack(pady=10)
def translate_text(self):
tr_text = pc.paste().strip()
if not tr_text:
return
if self.trans_direction.get() == "tr_to_en":
translation = self.translator.translate(tr_text, src='tr', dest='en')
else:
translation = self.translator.translate(tr_text, src='en', dest='tr')
pc.copy(translation.text)
def run(self):
self.root.mainloop()
if __name__ == "__main__":
app = TranslationApp()
app.run()