Skip to main content

Translator with python and GUI with tkinter

 from tkinter import *

language = None

def myfunc(event):

    b.delete("1.0", END)

    global text

    text.set(a.get("1.0","end"))

    import googletrans

    global language

    translator  = googletrans.Translator()

    if clicked.get() == 'Hindi':

        language = 'hi'


    elif clicked.get() == "English":

        language = 'en'

    elif clicked.get() == "Afrikaans":

        language = 'af'

    elif clicked.get() == "Albanian":

        language = 'sq'

    elif clicked.get() == "Amharic":

        language = 'am'

    elif clicked.get() == "Gujarati":

        language = 'gu'

    elif clicked.get() == "Telugu":

        language = 'te'

    

    translated = translator.translate(text.get(), dest=language)

    b.insert(END, translated.text)

def show(event):

    pass

def voice():

    import speech_recognition as sr

    r = sr.Recognizer()

    with sr.Microphone() as source:

        statusvar.set("listening.....")

        sbar.update()

        r.pause_threshold = 1

        audio = r.listen(source)


    try:

        statusvar.set("Recognizing.....")

        sbar.update()

        query = r.recognize_google(audio, language='en-in')

        

        a.delete("1.0", END)

        a.insert(END, query)


    except Exception as e:

        

        statusvar.set("Say that again please........")

        sbar.update()

        return "None"

    return query

# def Query():

    

    

# {'af': 'afrikaans', 'sq': 'albanian', 'am': 'amharic', 'ar': 'arabic', 'hy': 'armenian', 'az': 'azerbaijani', 'e u': 'basque', 'be': 'belarusian', 'bn': 'bengali', 'bs': 'bosnian', 'bg': 'bulgarian', 'ca': 'catalan', 'ceb': 'ce buano', 'ny': 'chichewa', 'zh-cn': 'chinese (simplified)', 'zh-tw': 'chinese (traditional)', 'co': 'corsican', 'h r': 'croatian', 'cs': 'czech', 'da': 'danish', 'nl': 'dutch', 'en': 'english', 'eo': 'esperanto', 'et': 'estonia n', 'tl': 'filipino', 'fi'. 'finnish', 'fr': 'french', 'fy': 'frisian', 'gl': 'galician', 'ka': 'georgian', 'de': 'german', 'el': 'greek', 'gu'. 'gujarati', 'ht': 'haitian creole', 'ha': 'hausa', 'haw': 'hawaiian', 'iw'. 'hebre w', 'hi': 'hindi', 'hmn': 'hmong', 'hu': 'hungarian', 'is': 'icelandic', 'ig'. 'igbo', 'id': 'indonesian', 'ga': 'irish', 'it': 'italian', 'ja': 'Japanese', 'jw': 'javanese', 'kn': 'Kannada', 'kk': 'Kazakh', 'km': 'Khmer', 'k o': 'Korean', 'ku': 'Kurdish (kurmanji)', 'ky': 'kyrgyz', 'lo': 'Iao', 'la': 'Iatin', 'iv': 'latvian', 'it': 'lith uanian', 'lb': 'luxembourgish', 'mk': 'macedonian', 'mg': 'malagasy', 'ms'. 'malay', 'ml': 'malayalam', 'mt': 'mal tese', 'mi': 'maori', 'mr': 'marathi', 'mn': 'mongolian', 'my': 'myanmar (burmese)', 'ne': 'nepali', 'no': 'norweg ian', 'ps': 'pashto', 'fa': 'persian', 'pl': 'polish', 'pt': 'portuguese', 'pa': 'punjabi', 'ro': 'romanian', 'r u': 'russian', 'sm': 'samoan', 'gd': 'scots gaelic', 'sr': 'serbian', 'st': 'sesotho', 'sn': 'shona', 'sd': 'sindh 'si': 'sinhala', 'sk': 'slovak', 'sl': 'slovenian', 'so': 'somali', 'es': 'spanish', 'su': 'sundanese', 'sw': 'swahili', 'sv'. 'swedish', 'tg': 'tajik', 'ta': 'tamil', 'te' 'telugu', 'th': 'thai', 'tr': 'turkish', 'uk': 'uk rainian', 'ur': 'urdu', 'uz': 'uzbek', 'vi': 'vietnamese', 'cy': 'welsh', 'xh': 'xhosa', 'yi': 'yiddish', 'yo': 'y oruba', 'zu': 'zulu', 'fil': 'Filipino', 'he': 'Hebrew'}   

    

root =Tk()

root.geometry('1800x800')

root.title('Translator')

canvas = Canvas(root, width = 700, height=600)

canvas.pack(fill = BOTH, expand = TRUE)

root.wm_iconbitmap("unnamed.ico")

background = PhotoImage(file = 'Untitled-removebg.png')


canvas.create_image(750, 400,image = background)

canvas.pack()

a = Text(canvas, font = "Helventica 20", width = 32, height =8, relief=FLAT)

canvas.create_window(430, 440, window = a)

b = Text(canvas, font = "Helventica 20", width = 32, height =8,relief=FLAT)

canvas.create_window(1100, 440, window = b)

converter = PhotoImage(file = '1.png')

canvas.create_image(770, 450, image= converter)

canvas.pack()

text = StringVar()

text.set("Enter what to Translate")

a.insert(END, text.get())

button = PhotoImage(file ='2377px-Translate_button_icon.svg.png')

# c = Button(canvas, image=button, relief  = FLAT, borderwidth = 5)

b.insert(END, "Translation....")


# canvas.create_window(250, 270, window = c)

a.bind("<Return>", myfunc)

clicked = StringVar()

clicked.set("Hindi")

drop = OptionMenu(canvas, clicked, "Hindi", 'English','French','Gujarati', 'Telgu', 'Afrikaans',"Amharic", command = show)

drop.config(width=5, height = 1, font ='Helventica 18', relief = FLAT)

canvas.create_window(818,176, window=drop)

# mybutton = Button(canvas, text='show selection',command = show)

# canvas.create_window(100, 200, window=mybutton)

micpic = PhotoImage(file='mic (3).gif')

mic = Button(canvas, image=micpic, command=voice, relief =FLAT)

canvas.create_window(650,340, window=mic)

statusvar=StringVar()

statusvar.set("Start")

sbar = Label(root, textvariable=statusvar, relief=SUNKEN, anchor='w')

sbar.pack(side=BOTTOM, fill=X)

root.mainloop()


Comments

Popular posts from this blog

Jarvis with gui

Code for Jarvis Gui from tkinter import * import speech_recognition as sr from PIL import Image import wikipedia from PIL.ImageTk import PhotoImage import pyttsx3 import datetime import tkinter # from tkinter.scrolledtext import ScrolledText import webbrowser import os import random import pywhatkit import pyjokes import time import tkinter.messagebox as tmsg engine = pyttsx3.init('sapi5') voices = engine.getProperty('voices') # print(voices[0].id) engine.setProperty(voices, voices[0].id) def speak(audio):     engine.say(audio)     engine.runAndWait() text1="User: " def wishMe():     global statusvar     statusvar.set("Introduction....")     sbar.update()     hour = int(datetime.datetime.now().hour)     if hour>=0 and hour<12:         speak("Good Morning Sir")             elif hour>=12 and hour<18:         speak("Good Afternoon Sir") ...

Translator with certain changes

 from tkinter import * language = None def myfunc(event):     b.delete("1.0", END)     global text     text.set(a.get("1.0","end"))     import googletrans     global language     translator  = googletrans.Translator()     if clicked.get() == 'Hindi':         language = 'hi'     elif clicked.get() == "English":         language = 'en'     elif clicked.get() == "Afrikaans":         language = 'af'     elif clicked.get() == "Albanian":         language = 'sq'     elif clicked.get() == "Amharic":         language = 'am'     elif clicked.get() == "Gujarati":         language = 'gu'     elif clicked.get() == "Telugu":         language = 'te'          translated = translator.translate(text.get(...