Python 3 Tkinter Language Translator App Using Translate Module in GUI Desktop App Full Project For Beginners

You are currently viewing Python 3 Tkinter Language Translator App Using Translate Module in GUI Desktop App Full Project For Beginners

 

 

Welcome folks today in this blog post we will be building a language translator app using translate module in tkinter gui desktop app in python. All the full source code of the application is given below.

 

 

Get Started

 

 

In order to get started you need to install the below library using the pip command as shown below

 

pip install tkinter

 

pip install translate

 

After installing this library you need to make an app.py file and copy paste the following code

 

app.py

 

from tkinter import *
from translate import Translator

#Translator function 
def translate():
    translator= Translator(from_lang=lan1.get(),to_lang=lan2.get())
    translation = translator.translate(var.get())
    var1.set(translation)

#Tkinter root Window with title
root = Tk()
root.title("Translator")

#Creating a Frame and Grid to hold the Content
mainframe = Frame(root)
mainframe.grid(column=0,row=0, sticky=(N,W,E,S) )
mainframe.columnconfigure(0, weight = 1)
mainframe.rowconfigure(0, weight = 1)
mainframe.pack(pady = 100, padx = 100)

#variables for dropdown list
lan1 = StringVar(root)
lan2 = StringVar(root)

#choices to show in dropdown menu
choices = { 'English','Hindi','Gujarati','Spanish','German'}
#default selection for dropdownlists
lan1.set('English')
lan2.set('Hindi')

#creating dropdown and arranging in the grid
lan1menu = OptionMenu( mainframe, lan1, *choices)
Label(mainframe,text="Select a language").grid(row = 0, column = 1)
lan1menu.grid(row = 1, column =1)

lan2menu = OptionMenu( mainframe, lan2, *choices)
Label(mainframe,text="Select a language").grid(row = 0, column = 2)
lan2menu.grid(row = 1, column =2)

#Text Box to take user input
Label(mainframe, text = "Enter text").grid(row=2,column=0)
var = StringVar()
textbox = Entry(mainframe, textvariable=var).grid(row=2,column=1)

#textbox to show output
#label can also be used
Label(mainframe, text = "Output").grid(row=2,column=2)
var1 = StringVar()
textbox = Entry(mainframe, textvariable=var1).grid(row=2,column=3)

#creating a button to call Translator function
b=Button(mainframe,text='Translate',command=translate).grid(row=3,column=1,columnspan=3)

root.mainloop()

 

 

If you execute the above python script by typing the below command

 

python app.py

 

 

Leave a Reply