-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
67 lines (47 loc) · 1.96 KB
/
main.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
import time
from googletrans import Translator, LANGUAGES
import keyboard
import pyperclip
translator = Translator()
def print_lang_list():
for language in LANGUAGES:
print(language + " - " + LANGUAGES[language])
def get():
clip = pyperclip.paste()
return clip
def set(a):
pyperclip.copy(a)
def tr(lang_from, lang_to):
keyboard.send('ctrl + x')
time.sleep(0.1)
text = get()
text = translator.translate(text, src=lang_from, dest=lang_to)
set(text.text)
keyboard.send('ctrl + v')
def get_language_from():
lang_from = None
while not lang_from:
lang_from = input('Введите шифр языка C которого хотите переводить, для справки введите "help":').strip()
for language in LANGUAGES:
if language == lang_from:
return lang_from
lang_from = None
print_lang_list()
print('Введенный шифр не верный, введите шифр еще раз из списка выше')
def get_language_to():
lang_to = None
while not lang_to:
lang_to = input('Введите шифр языка НА который вы хотите переводить, для справки введите "help"\n').strip()
for language in LANGUAGES:
if language == lang_to:
return lang_to
lang_to = None
print_lang_list()
print('Введенный шифр не верный, введите шифр еще раз из списка выше: \n')
def run(lang_from, lang_to):
keyboard.add_hotkey("f9", lambda: tr(lang_from, lang_to), suppress=True)
print('Теперь нажав на клавишу f9, выделенный текст будет вырезан, переведен и вставлен обратно')
keyboard.wait()
language_from = get_language_from()
language_to = get_language_to()
run(language_from, language_to)