make modules

This commit is contained in:
misyaguziya
2023-06-12 12:49:37 +09:00
parent f3d955e8fd
commit 63ed087986
7 changed files with 888 additions and 879 deletions

74
translation.py Normal file
View File

@@ -0,0 +1,74 @@
import deepl
import deepl_translate
import translators as ts
# Translator
class Translator():
def __init__(self):
self.translator_status = {
"DeepL(web)": False,
"DeepL(auth)": False,
"Google(web)": False,
"Bing(web)": False,
}
self.languages = {}
self.languages["DeepL(web)"] = [
"JA","EN","BG","ZH","CS","DA","NL","ET","FI","FR","DE","EL","HU","IT",
"LV","LT","PL","PT","RO","RU","SK","SL","ES","SV",
]
self.languages["DeepL(auth)"] = [
"JA","EN-US","EN-GB","BG","CS","DA","DE","EL","ES","ET","FI","FR","HU",
"ID","IT","KO","LT","LV","NB","NL","PL","PT","PT-BR","PT-PT","RO","RU",
"SK","SL","SV","TR","UK","ZH",
]
self.languages["Google(web)"] = [
"ja","en","zh","ar","ru","fr","de","es","pt","it","ko","el","nl","hi",
"tr","ms","th","vi","id","he","pl","mn","cs","hu","et","bg","da","fi",
"ro","sv","sl","fa","bs","sr","tl","ht","ca","hr","lv","lt","ur","uk",
"cy","sw","sm","sk","af","no","bn","mg","mt","gu","ta","te","pa","am",
"az","be","ceb","eo","eu","ga"
]
self.languages["Bing(web)"] = [
"ja","en","zh","ar","ru","fr","de","es","pt","it","ko","el","nl","hi",
"tr","ms","th","vi","id","he","pl","cs","hu","et","bg","da","fi","ro",
"sv","sl","fa","bs","sr","fj","tl","ht","ca","hr","lv","lt","ur","uk",
"cy","ty","to","sw","sm","sk","af","no","bn","mg","mt","otq","tlh","gu",
"ta","te","pa","ga"
]
self.deepl_client = None
def authentication(self, translator_name, authkey=None):
result = False
try:
if translator_name == "DeepL(web)":
self.translator_status["DeepL(web)"] = True
result = True
elif translator_name == "DeepL(auth)":
self.deepl_client = deepl.Translator(authkey)
self.deepl_client.translate_text(" ", target_lang="EN-US")
self.translator_status["DeepL(auth)"] = True
result = True
elif translator_name == "Google(web)":
self.translator_status["Google(web)"] = True
result = True
elif translator_name == "Bing(web)":
self.translator_status["Bing(web)"] = True
result = True
except:
pass
return result
def translate(self, translator_name, source_language, target_language, message):
result = False
try:
if translator_name == "DeepL(web)":
result = deepl_translate.translate(source_language=source_language, target_language=target_language, text=message)
elif translator_name == "DeepL(auth)":
result = self.deepl_client.translate_text(message, source_lang=source_language, target_lang=target_language).text
elif translator_name == "Google(web)":
result = ts.translate_text(query_text=message, translator="google", from_language=source_language, to_language=target_language)
elif translator_name == "Bing(web)":
result = ts.translate_text(query_text=message, translator="bing", from_language=source_language, to_language=target_language)
except:
pass
return result