Tkinter Project Translator | Tkinter Project To Create Text Translator | All In One Code

Опубликовано: 03 Октябрь 2024
на канале: AIOC all in one code
587
9

this is the second part of the tkinter series

-------------------------------------------to days code-------------------------------------------------------


from googletrans import Translator
from tkinter import *

root = Tk()
root.geometry('600x600')

#variables

#option variable
optvar = StringVar()
text =StringVar()
OptionList = [
'choose language',
'hi',
'af',
'sq',
'am',
'ar',
'hy',
'az',
'eu',
'be',
'bn',
'bs',
'ca',
'ceb',
'zh-cn',
'zh-tw',
'co',
'en',
'hr',
'cs',
'da',
'nl',
'en',
'eo',
'et',
'tl',
'fi',
'fr',
'fy',
'gl',
'ka',
'de',
'el',
'gu',
'ht',
'ha',
'haw',
'iw',
'hi',
'hmn',
'hu',

]
optvar.set(OptionList[0])

adlbl = Label(root, text='ALL IN ONE CODE TRANSOLATOR', font=('Times New Roman', 15), fg='purple')
adlbl.grid(row=0, column=0, sticky='n')

#get text from user
entr = Entry(font=('Times New Roman', 23), fg='red', width=40, textvariable=text)
entr.grid(row=1, column=0, sticky='n', pady=13)

lbl1 = Label(root, text=f'Choose Which Language You Have To Translate ?', font=('Times New Roman', 15), fg='gray10')
lbl1.grid(row=2, column=0, sticky='n')

#option list
opt = OptionMenu(root, optvar, *OptionList)
opt.grid(row=3, column=0, pady=7)

def trans():
ttext = text.get()
optval = optvar.get()
transolator = Translator()
det = transolator.detect(ttext)
#display detected language
detlbl = Label(root, text=f'Detected Language Is : {det.lang}', font=('Times New Roman', 15), fg='gray20')
detlbl.grid(row=5, column=0, sticky='n')

#translate language
translated = transolator.translate(ttext, dest=optval)
print(translated)

#display the translated text
t = Text(root, height=20, width=70)
t.grid(row=6, column=0, sticky='n')
tr = translated.text
t.insert(INSERT, tr)

#button
btn = Button(text='TRANSLATE', font=('Times New Roman', 20), fg='blue', command=trans)
btn.grid(row=4, column=0, sticky='n', pady=7)


root.mainloop()

'''
'is': 'icelandic',
'ig': 'igbo',
'id': 'indonesian',
'ga': 'irish',
'it': 'italian',
'ja': 'japanese',
'jw': 'javanese',
'kn': 'kannada',
'kk': 'kazakh',
'km': 'khmer',
'ko': 'korean',
'ku': 'kurdish (kurmanji)',
'ky': 'kyrgyz',
'lo': 'lao',
'la': 'latin',
'lv': 'latvian',
'lt': 'lithuanian',
'lb': 'luxembourgish',
'mk': 'macedonian',
'mg': 'malagasy',
'ms': 'malay',
'ml': 'malayalam',
'mt': 'maltese',
'mi': 'maori',
'mr': 'marathi',
'mn': 'mongolian',
'my': 'myanmar (burmese)',
'ne': 'nepali',
'no': 'norwegian',
'ps': 'pashto',
'fa': 'persian',
'pl': 'polish',
'pt': 'portuguese',
'pa': 'punjabi',
'ro': 'romanian',
'ru': 'russian',
'sm': 'samoan',
'gd': 'scots gaelic',
'sr': 'serbian',
'st': 'sesotho',
'sn': 'shona',
'sd': 'sindhi',
'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': 'ukrainian',
'ur': 'urdu',
'uz': 'uzbek',
'vi': 'vietnamese',
'cy': 'welsh',
'xh': 'xhosa',
'yi': 'yiddish',
'yo': 'yoruba',
'zu': 'zulu',
'fil': 'Filipino',
'he': 'Hebrew'
}'''