add google, bing
This commit is contained in:
61
VRCT.py
61
VRCT.py
@@ -2,6 +2,7 @@ import os
|
|||||||
import json
|
import json
|
||||||
import deepl
|
import deepl
|
||||||
import deepl_translate
|
import deepl_translate
|
||||||
|
import translators as ts
|
||||||
from pythonosc import osc_message_builder
|
from pythonosc import osc_message_builder
|
||||||
from pythonosc import udp_client
|
from pythonosc import udp_client
|
||||||
import tkinter as tk
|
import tkinter as tk
|
||||||
@@ -20,17 +21,33 @@ class Translator():
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.translator_status = {
|
self.translator_status = {
|
||||||
"DeepL(web)": False,
|
"DeepL(web)": False,
|
||||||
"DeepL": False,
|
"DeepL(auth)": False,
|
||||||
|
"Google(web)": False,
|
||||||
|
"Bing(web)": False,
|
||||||
}
|
}
|
||||||
self.languages = {}
|
self.languages = {}
|
||||||
self.languages["DeepL(web)"] = [
|
self.languages["DeepL(web)"] = [
|
||||||
"JA","EN","BG","ZH","CS","DA","NL","ET","FI","FR","DE","EL","HU","IT",
|
"JA","EN","BG","ZH","CS","DA","NL","ET","FI","FR","DE","EL","HU","IT",
|
||||||
"LV","LT","PL","PT","RO","RU","SK","SL","ES","SV",
|
"LV","LT","PL","PT","RO","RU","SK","SL","ES","SV",
|
||||||
]
|
]
|
||||||
self.languages["DeepL"] = [
|
self.languages["DeepL(auth)"] = [
|
||||||
"JA","EN-US","EN-GB","BG","CS","DA","DE","EL","ES","ET","FI","FR","HU",
|
"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",
|
"ID","IT","KO","LT","LV","NB","NL","PL","PT","PT-BR","PT-PT","RO","RU",
|
||||||
"SV","TR","UK","ZH",
|
"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
|
self.deepl_client = None
|
||||||
|
|
||||||
@@ -40,10 +57,16 @@ class Translator():
|
|||||||
if translator_name == "DeepL(web)":
|
if translator_name == "DeepL(web)":
|
||||||
self.translator_status["DeepL(web)"] = True
|
self.translator_status["DeepL(web)"] = True
|
||||||
result = True
|
result = True
|
||||||
elif translator_name == "DeepL":
|
elif translator_name == "DeepL(auth)":
|
||||||
self.deepl_client = deepl.Translator(authkey)
|
self.deepl_client = deepl.Translator(authkey)
|
||||||
self.deepl_client.translate_text(" ", target_lang="EN-US")
|
self.deepl_client.translate_text(" ", target_lang="EN-US")
|
||||||
self.translator_status["DeepL"] = True
|
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
|
result = True
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
@@ -54,8 +77,12 @@ class Translator():
|
|||||||
try:
|
try:
|
||||||
if translator_name == "DeepL(web)":
|
if translator_name == "DeepL(web)":
|
||||||
result = deepl_translate.translate(source_language=source_language, target_language=target_language, text=message)
|
result = deepl_translate.translate(source_language=source_language, target_language=target_language, text=message)
|
||||||
elif translator_name == "DeepL":
|
elif translator_name == "DeepL(auth)":
|
||||||
result = self.deepl_client.translate_text(message, target_lang=target_language).text
|
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:
|
except:
|
||||||
pass
|
pass
|
||||||
return result
|
return result
|
||||||
@@ -342,7 +369,7 @@ class ToplevelWindowConfig(customtkinter.CTkToplevel):
|
|||||||
self.label_authkey.grid(row=2, column=0, columnspan=1, padx=5, pady=5, sticky="nsw")
|
self.label_authkey.grid(row=2, column=0, columnspan=1, padx=5, pady=5, sticky="nsw")
|
||||||
self.entry_authkey = customtkinter.CTkEntry(
|
self.entry_authkey = customtkinter.CTkEntry(
|
||||||
self.tabview_config.tab("Parameter"),
|
self.tabview_config.tab("Parameter"),
|
||||||
textvariable=customtkinter.StringVar(value=self.parent.AUTH_KEYS["DeepL"]),
|
textvariable=customtkinter.StringVar(value=self.parent.AUTH_KEYS["DeepL(auth)"]),
|
||||||
font=customtkinter.CTkFont(family=self.parent.FONT_FAMILY)
|
font=customtkinter.CTkFont(family=self.parent.FONT_FAMILY)
|
||||||
)
|
)
|
||||||
self.entry_authkey.grid(row=2, column=1, columnspan=1, padx=1, pady=5, sticky="nsew")
|
self.entry_authkey.grid(row=2, column=1, columnspan=1, padx=1, pady=5, sticky="nsew")
|
||||||
@@ -398,7 +425,7 @@ class ToplevelWindowConfig(customtkinter.CTkToplevel):
|
|||||||
self.parent.textbox_message_log.configure(state='disabled')
|
self.parent.textbox_message_log.configure(state='disabled')
|
||||||
|
|
||||||
if self.parent.translator.authentication(self.parent.CHOICE_TRANSLATOR, self.parent.AUTH_KEYS[self.parent.CHOICE_TRANSLATOR]) is True:
|
if self.parent.translator.authentication(self.parent.CHOICE_TRANSLATOR, self.parent.AUTH_KEYS[self.parent.CHOICE_TRANSLATOR]) is True:
|
||||||
self.parent.AUTH_KEYS["DeepL"] = value
|
self.parent.AUTH_KEYS["DeepL(auth)"] = value
|
||||||
save_json(self.parent.PATH_CONFIG, "AUTH_KEYS", self.parent.AUTH_KEYS)
|
save_json(self.parent.PATH_CONFIG, "AUTH_KEYS", self.parent.AUTH_KEYS)
|
||||||
else:
|
else:
|
||||||
self.parent.textbox_message_log.configure(state='normal')
|
self.parent.textbox_message_log.configure(state='normal')
|
||||||
@@ -424,14 +451,14 @@ class ToplevelWindowConfig(customtkinter.CTkToplevel):
|
|||||||
else:
|
else:
|
||||||
self.optionmenu_source_language.configure(
|
self.optionmenu_source_language.configure(
|
||||||
values=self.parent.translator.languages[choice],
|
values=self.parent.translator.languages[choice],
|
||||||
variable=customtkinter.StringVar(value="Select"))
|
variable=customtkinter.StringVar(value=self.parent.translator.languages[choice][0]))
|
||||||
self.optionmenu_target_language.configure(
|
self.optionmenu_target_language.configure(
|
||||||
values=self.parent.translator.languages[choice],
|
values=self.parent.translator.languages[choice],
|
||||||
variable=customtkinter.StringVar(value="Select"))
|
variable=customtkinter.StringVar(value=self.parent.translator.languages[choice][1]))
|
||||||
|
|
||||||
self.parent.CHOICE_TRANSLATOR = choice
|
self.parent.CHOICE_TRANSLATOR = choice
|
||||||
self.parent.SOURCE_LANG = "None"
|
self.parent.SOURCE_LANG = self.parent.translator.languages[choice][0]
|
||||||
self.parent.TARGET_LANG = "None"
|
self.parent.TARGET_LANG = self.parent.translator.languages[choice][1]
|
||||||
save_json(self.parent.PATH_CONFIG, "CHOICE_TRANSLATOR", self.parent.CHOICE_TRANSLATOR)
|
save_json(self.parent.PATH_CONFIG, "CHOICE_TRANSLATOR", self.parent.CHOICE_TRANSLATOR)
|
||||||
save_json(self.parent.PATH_CONFIG, "SOURCE_LANG", self.parent.SOURCE_LANG)
|
save_json(self.parent.PATH_CONFIG, "SOURCE_LANG", self.parent.SOURCE_LANG)
|
||||||
save_json(self.parent.PATH_CONFIG, "TARGET_LANG", self.parent.TARGET_LANG)
|
save_json(self.parent.PATH_CONFIG, "TARGET_LANG", self.parent.TARGET_LANG)
|
||||||
@@ -506,8 +533,10 @@ class App(customtkinter.CTk):
|
|||||||
self.ENABLE_FOREGROUND = False
|
self.ENABLE_FOREGROUND = False
|
||||||
self.AUTH_KEYS = {
|
self.AUTH_KEYS = {
|
||||||
"DeepL(web)": None,
|
"DeepL(web)": None,
|
||||||
"DeepL": None,
|
"DeepL(auth)": None,
|
||||||
}
|
"Bing(web)": None,
|
||||||
|
"Google(web)": None,
|
||||||
|
}
|
||||||
self.MESSAGE_FORMAT = "[message]([translation])"
|
self.MESSAGE_FORMAT = "[message]([translation])"
|
||||||
self.FONT_FAMILY = "Yu Gothic UI"
|
self.FONT_FAMILY = "Yu Gothic UI"
|
||||||
self.TRANSPARENCY = 100
|
self.TRANSPARENCY = 100
|
||||||
|
|||||||
Reference in New Issue
Block a user