-
Notifications
You must be signed in to change notification settings - Fork 0
/
translator.py
96 lines (83 loc) · 2.02 KB
/
translator.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
from googletrans import Translator
from tkinter import *
root = Tk(className='Python Translator')
root.geometry('600x600')
root.configure(bg='light blue')
#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='ENTER YOUR TEXT HERE', 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 The Language 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()