forked from Alex-One152/translate-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtranslate-cli.py
34 lines (26 loc) · 1.21 KB
/
translate-cli.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
from mtranslate import translate
import argparse
import os
parser = argparse.ArgumentParser(description='CLI переводчик основанный на Google translate API')
parser.add_argument("-lf", "--language_from", help="язык с которого выполняется перевод (default auto).", default="auto")
parser.add_argument("-lt", "--language_to", help="язык на который выполняется перевод (default ru).", default="ru")
parser.add_argument("-t", "--text", help="быстрый перевод без оболочки")
args = parser.parse_args()
def core_of_translate(text):
print(f"{translate('current translate is',args.language_to,'en')}:"
f"\n{translate(text, args.language_to, args.language_from)}")
def shell_cli():
while True:
text = input("Translate-CLI>")
if text in ["exit()", "quit()"]:
print("bye", "\n")
break
if text == "clear()":
os.system('cls' if os.name == 'nt' else 'clear')
continue
core_of_translate(text)
try:
shell_cli() if args.text is None else core_of_translate(args.text)
except Exception as e:
print(f"uncatched error {e=}")
pass