Amazing-Python-Scripts

Форк
0
201 строка · 3.9 Кб
1
from tkinter import *
2
import tkinter as tk
3
from tkinter import ttk
4
from googletrans import Translator
5
from tkinter import messagebox
6

7
# Creating Tkinter Scaffold
8
root = tk.Tk()
9
root.title('Langauge Translator')
10
root.geometry('530x330')
11
root.maxsize(530, 330)
12
root.minsize(530, 330)
13

14
# Function to translate using the translator package
15

16

17
def translate():
18
    language_1 = t1.get("1.0", "end-1c")
19
    cl = choose_langauge.get()
20

21
    if language_1 == '':
22
        messagebox.showerror('Language Translator', 'please fill the box')
23
    else:
24
        t2.delete(1.0, 'end')
25
        translator = Translator()
26
        output = translator.translate(language_1, dest=cl)
27
        t2.insert('end', output.text)
28

29

30
# Function to clear the input fields
31
def clear():
32
    t1.delete(1.0, 'end')
33
    t2.delete(1.0, 'end')
34

35

36
# SelectBox 1 for auto detected language
37
auto_detect_language = tk.StringVar()
38
auto_detect = ttk.Combobox(
39
    root,
40
    width=20,
41
    textvariable=auto_detect_language,
42
    state='readonly',
43
    font=('verdana', 10, 'bold'),
44
)
45

46
auto_detect['values'] = ('Auto Detect', )
47

48
auto_detect.place(x=30, y=70)
49
auto_detect.current(0)
50

51
# SelectBox 2 for selected language
52
language_selected = tk.StringVar()
53
choose_langauge = ttk.Combobox(root,
54
                               width=20,
55
                               textvariable=language_selected,
56
                               state='readonly',
57
                               font=('verdana', 10, 'bold'))
58

59
# List of available language options for translation
60
choose_langauge['values'] = (
61
    'Afrikaans',
62
    'Albanian',
63
    'Arabic',
64
    'Armenian',
65
    ' Azerbaijani',
66
    'Basque',
67
    'Belarusian',
68
    'Bengali',
69
    'Bosnian',
70
    'Bulgarian',
71
    ' Catalan',
72
    'Cebuano',
73
    'Chichewa',
74
    'Chinese',
75
    'Corsican',
76
    'Croatian',
77
    ' Czech',
78
    'Danish',
79
    'Dutch',
80
    'English',
81
    'Esperanto',
82
    'Estonian',
83
    'Filipino',
84
    'Finnish',
85
    'French',
86
    'Frisian',
87
    'Galician',
88
    'Georgian',
89
    'German',
90
    'Greek',
91
    'Gujarati',
92
    'Haitian Creole',
93
    'Hausa',
94
    'Hawaiian',
95
    'Hebrew',
96
    'Hindi',
97
    'Hmong',
98
    'Hungarian',
99
    'Icelandic',
100
    'Igbo',
101
    'Indonesian',
102
    'Irish',
103
    'Italian',
104
    'Japanese',
105
    'Javanese',
106
    'Kannada',
107
    'Kazakh',
108
    'Khmer',
109
    'Kinyarwanda',
110
    'Korean',
111
    'Kurdish',
112
    'Kyrgyz',
113
    'Lao',
114
    'Latin',
115
    'Latvian',
116
    'Lithuanian',
117
    'Luxembourgish',
118
    'Macedonian',
119
    'Malagasy',
120
    'Malay',
121
    'Malayalam',
122
    'Maltese',
123
    'Maori',
124
    'Marathi',
125
    'Mongolian',
126
    'Myanmar',
127
    'Nepali',
128
    'Norwegian'
129
    'Odia',
130
    'Pashto',
131
    'Persian',
132
    'Polish',
133
    'Portuguese',
134
    'Punjabi',
135
    'Romanian',
136
    'Russian',
137
    'Samoan',
138
    'Scots Gaelic',
139
    'Serbian',
140
    'Sesotho',
141
    'Shona',
142
    'Sindhi',
143
    'Sinhala',
144
    'Slovak',
145
    'Slovenian',
146
    'Somali',
147
    'Spanish',
148
    'Sundanese',
149
    'Swahili',
150
    'Swedish',
151
    'Tajik',
152
    'Tamil',
153
    'Tatar',
154
    'Telugu',
155
    'Thai',
156
    'Turkish',
157
    'Turkmen',
158
    'Ukrainian',
159
    'Urdu',
160
    'Uyghur',
161
    'Uzbek',
162
    'Vietnamese',
163
    'Welsh',
164
    'Xhosa'
165
    'Yiddish',
166
    'Yoruba',
167
    'Zulu',
168
)
169

170
choose_langauge.place(x=290, y=70)
171
choose_langauge.current(0)
172

173
# To store Input Text
174
t1 = Text(root, width=30, height=10, borderwidth=5, relief=RIDGE)
175
t1.place(x=10, y=100)
176

177
# To store translated Text
178
t2 = Text(root, width=30, height=10, borderwidth=5, relief=RIDGE)
179
t2.place(x=260, y=100)
180

181
button = Button(root,
182
                text="Translate",
183
                relief=RIDGE,
184
                borderwidth=3,
185
                font=('verdana', 10, 'bold'),
186
                cursor="hand2",
187
                foreground='Green',
188
                command=translate)
189
button.place(x=150, y=280)
190

191
clear = Button(root,
192
               text="Clear",
193
               relief=RIDGE,
194
               borderwidth=3,
195
               font=('verdana', 10, 'bold'),
196
               cursor="hand2",
197
               foreground='Red',
198
               command=clear)
199
clear.place(x=280, y=280)
200

201
root.mainloop()
202

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.