[bugfix] Deepl(auth)でEN→JPの翻訳がうまくいかない問題を修正(#29)

This commit is contained in:
misygauziya
2023-07-27 03:57:35 +09:00
parent a6a88065ef
commit f83cfa79c8
4 changed files with 89 additions and 40 deletions

16
VRCT.py
View File

@@ -44,10 +44,10 @@ class App(CTk):
self.UI_LANGUAGE = "en" self.UI_LANGUAGE = "en"
## Translation ## Translation
self.CHOICE_TRANSLATOR = translators[0] self.CHOICE_TRANSLATOR = translators[0]
self.INPUT_SOURCE_LANG = list(translation_lang[self.CHOICE_TRANSLATOR].keys())[0] self.INPUT_SOURCE_LANG = list(translation_lang[self.CHOICE_TRANSLATOR]["source"].keys())[0]
self.INPUT_TARGET_LANG = list(translation_lang[self.CHOICE_TRANSLATOR].keys())[1] self.INPUT_TARGET_LANG = list(translation_lang[self.CHOICE_TRANSLATOR]["target"].keys())[1]
self.OUTPUT_SOURCE_LANG = list(translation_lang[self.CHOICE_TRANSLATOR].keys())[1] self.OUTPUT_SOURCE_LANG = list(translation_lang[self.CHOICE_TRANSLATOR]["source"].keys())[1]
self.OUTPUT_TARGET_LANG = list(translation_lang[self.CHOICE_TRANSLATOR].keys())[0] self.OUTPUT_TARGET_LANG = list(translation_lang[self.CHOICE_TRANSLATOR]["target"].keys())[0]
## Transcription Send ## Transcription Send
self.CHOICE_MIC_HOST = get_default_input_device()["host"]["name"] self.CHOICE_MIC_HOST = get_default_input_device()["host"]["name"]
self.CHOICE_MIC_DEVICE = get_default_input_device()["device"]["name"] self.CHOICE_MIC_DEVICE = get_default_input_device()["device"]["name"]
@@ -127,16 +127,16 @@ class App(CTk):
if config["CHOICE_TRANSLATOR"] in list(self.translator.translator_status.keys()): if config["CHOICE_TRANSLATOR"] in list(self.translator.translator_status.keys()):
self.CHOICE_TRANSLATOR = config["CHOICE_TRANSLATOR"] self.CHOICE_TRANSLATOR = config["CHOICE_TRANSLATOR"]
if "INPUT_SOURCE_LANG" in config.keys(): if "INPUT_SOURCE_LANG" in config.keys():
if config["INPUT_SOURCE_LANG"] in list(translation_lang[self.CHOICE_TRANSLATOR].keys()): if config["INPUT_SOURCE_LANG"] in list(translation_lang[self.CHOICE_TRANSLATOR]["source"].keys()):
self.INPUT_SOURCE_LANG = config["INPUT_SOURCE_LANG"] self.INPUT_SOURCE_LANG = config["INPUT_SOURCE_LANG"]
if "INPUT_TARGET_LANG" in config.keys(): if "INPUT_TARGET_LANG" in config.keys():
if config["INPUT_SOURCE_LANG"] in list(translation_lang[self.CHOICE_TRANSLATOR].keys()): if config["INPUT_TARGET_LANG"] in list(translation_lang[self.CHOICE_TRANSLATOR]["target"].keys()):
self.INPUT_TARGET_LANG = config["INPUT_TARGET_LANG"] self.INPUT_TARGET_LANG = config["INPUT_TARGET_LANG"]
if "OUTPUT_SOURCE_LANG" in config.keys(): if "OUTPUT_SOURCE_LANG" in config.keys():
if config["INPUT_SOURCE_LANG"] in list(translation_lang[self.CHOICE_TRANSLATOR].keys()): if config["OUTPUT_SOURCE_LANG"] in list(translation_lang[self.CHOICE_TRANSLATOR]["source"].keys()):
self.OUTPUT_SOURCE_LANG = config["OUTPUT_SOURCE_LANG"] self.OUTPUT_SOURCE_LANG = config["OUTPUT_SOURCE_LANG"]
if "OUTPUT_TARGET_LANG" in config.keys(): if "OUTPUT_TARGET_LANG" in config.keys():
if config["INPUT_SOURCE_LANG"] in list(translation_lang[self.CHOICE_TRANSLATOR].keys()): if config["OUTPUT_TARGET_LANG"] in list(translation_lang[self.CHOICE_TRANSLATOR]["target"].keys()):
self.OUTPUT_TARGET_LANG = config["OUTPUT_TARGET_LANG"] self.OUTPUT_TARGET_LANG = config["OUTPUT_TARGET_LANG"]
# Transcription # Transcription

View File

@@ -1,5 +1,5 @@
transcription_lang = { transcription_lang = {
"Japanese Japan":"ja-JP", "Japanese (Japan)":"ja-JP",
"English (United States)":"en-US", "English (United States)":"en-US",
"English (United Kingdom)":"en-GB", "English (United Kingdom)":"en-GB",
"Afrikaans (South Africa)":"af-ZA", "Afrikaans (South Africa)":"af-ZA",
@@ -92,7 +92,7 @@ transcription_lang = {
translators = ["DeepL(web)", "DeepL(auth)", "Google(web)", "Bing(web)"] translators = ["DeepL(web)", "DeepL(auth)", "Google(web)", "Bing(web)"]
translation_lang = {} translation_lang = {}
translation_lang["DeepL(web)"] = { dict_deepl_web_languages = {
"Japanese":"JA", "Japanese":"JA",
"English":"EN", "English":"EN",
"Korean":"KO", "Korean":"KO",
@@ -123,7 +123,43 @@ translation_lang["DeepL(web)"] = {
"Turkish":"TR", "Turkish":"TR",
"Norwegian":"NB", "Norwegian":"NB",
} }
translation_lang["DeepL(auth)"] = { translation_lang["DeepL(web)"] = {
"source":dict_deepl_web_languages,
"target":dict_deepl_web_languages,
}
dict_deepl_auth_source_languages = {
"Japanese":"ja",
"English":"en",
"Bulgarian":"bg",
"Czech":"cs",
"Danish":"da",
"German":"de",
"Greek":"el",
"Spanish":"es",
"Estonian":"et",
"Finnish":"fi",
"French":"fr",
"Hungarian":"hu",
"Indonesian":"id",
"Italian":"it",
"Korean":"ko",
"Lithuanian":"lt",
"Latvian":"lv",
"Norwegian":"nb",
"Dutch":"nl",
"Polish":"pl",
"Portuguese":"pt",
"Romanian":"ro",
"Russian":"ru",
"Slovak":"sk",
"Slovenian":"sl",
"Swedish":"sv",
"Turkish":"tr",
"Ukrainian":"uk",
"Chinese":"zh"
}
dict_deepl_auth_target_languages = {
"Japanese":"ja", "Japanese":"ja",
"English American":"en-US", "English American":"en-US",
"English British":"en-GB", "English British":"en-GB",
@@ -146,7 +182,6 @@ translation_lang["DeepL(auth)"] = {
"Norwegian":"nb", "Norwegian":"nb",
"Dutch":"nl", "Dutch":"nl",
"Polish":"pl", "Polish":"pl",
"Portuguese":"pt",
"Portuguese Brazilian":"pt-BR", "Portuguese Brazilian":"pt-BR",
"Portuguese European":"pt-PT", "Portuguese European":"pt-PT",
"Romanian":"ro", "Romanian":"ro",
@@ -158,7 +193,12 @@ translation_lang["DeepL(auth)"] = {
"Ukrainian":"uk", "Ukrainian":"uk",
"Chinese":"zh" "Chinese":"zh"
} }
translation_lang["Google(web)"] = { translation_lang["DeepL(auth)"] = {
"source": dict_deepl_auth_source_languages,
"target": dict_deepl_auth_target_languages,
}
dict_google_web_languages = {
"Japanese":"ja", "Japanese":"ja",
"English":"en", "English":"en",
"Chinese":"zh", "Chinese":"zh",
@@ -222,7 +262,12 @@ translation_lang["Google(web)"] = {
"Basque":"eu", "Basque":"eu",
"Irish":"ga" "Irish":"ga"
} }
translation_lang["Bing(web)"] = { translation_lang["Google(web)"] = {
"source":dict_google_web_languages,
"target":dict_google_web_languages,
}
dict_bing_web_languages = {
"Japanese":"ja", "Japanese":"ja",
"English":"en", "English":"en",
"Chinese":"zh", "Chinese":"zh",
@@ -284,6 +329,10 @@ translation_lang["Bing(web)"] = {
"Punjabi":"pa", "Punjabi":"pa",
"Irish":"ga" "Irish":"ga"
} }
translation_lang["Bing(web)"] = {
"source":dict_bing_web_languages,
"target":dict_bing_web_languages,
}
selectable_languages = { selectable_languages = {
"en": "English", "en": "English",

View File

@@ -35,8 +35,8 @@ class Translator():
def translate(self, translator_name, source_language, target_language, message): def translate(self, translator_name, source_language, target_language, message):
result = "" result = ""
try: try:
source_language=translation_lang[translator_name][source_language] source_language=translation_lang[translator_name]["source"][source_language]
target_language=translation_lang[translator_name][target_language] target_language=translation_lang[translator_name]["target"][target_language]
if translator_name == "DeepL(web)": if translator_name == "DeepL(web)":
result = deepl_web_Translator( result = deepl_web_Translator(
source_language=source_language, source_language=source_language,

View File

@@ -212,33 +212,33 @@ class ToplevelWindowConfig(CTkToplevel):
print_textbox(self.parent.textbox_message_system_log, "Auth Key or language setting is incorrect", "ERROR") print_textbox(self.parent.textbox_message_system_log, "Auth Key or language setting is incorrect", "ERROR")
else: else:
self.optionmenu_translation_input_source_language.configure( self.optionmenu_translation_input_source_language.configure(
values=list(translation_lang[choice].keys()), values=list(translation_lang[choice]["source"].keys()),
variable=StringVar(value=list(translation_lang[choice].keys())[0])) variable=StringVar(value=list(translation_lang[choice]["source"].keys())[0]))
self.optionmenu_translation_input_target_language.configure( self.optionmenu_translation_input_target_language.configure(
values=list(translation_lang[choice].keys()), values=list(translation_lang[choice]["target"].keys()),
variable=StringVar(value=list(translation_lang[choice].keys())[1])) variable=StringVar(value=list(translation_lang[choice]["target"].keys())[1]))
self.optionmenu_translation_output_source_language.configure( self.optionmenu_translation_output_source_language.configure(
values=list(translation_lang[choice].keys()), values=list(translation_lang[choice]["source"].keys()),
variable=StringVar(value=list(translation_lang[choice].keys())[1])) variable=StringVar(value=list(translation_lang[choice]["source"].keys())[1]))
self.optionmenu_translation_output_target_language.configure( self.optionmenu_translation_output_target_language.configure(
values=list(translation_lang[choice].keys()), values=list(translation_lang[choice]["target"].keys()),
variable=StringVar(value=list(translation_lang[choice].keys())[0])) variable=StringVar(value=list(translation_lang[choice]["target"].keys())[0]))
if SCROLLABLE_DROPDOWN: if SCROLLABLE_DROPDOWN:
self.scrollableDropdown_translation_input_source_language.configure( self.scrollableDropdown_translation_input_source_language.configure(
values=list(translation_lang[choice].keys())) values=list(translation_lang[choice]["source"].keys()))
self.scrollableDropdown_translation_input_target_language.configure( self.scrollableDropdown_translation_input_target_language.configure(
values=list(translation_lang[choice].keys())) values=list(translation_lang[choice]["target"].keys()))
self.scrollableDropdown_translation_output_source_language.configure( self.scrollableDropdown_translation_output_source_language.configure(
values=list(translation_lang[choice].keys())) values=list(translation_lang[choice]["source"].keys()))
self.scrollableDropdown_translation_output_target_language.configure( self.scrollableDropdown_translation_output_target_language.configure(
values=list(translation_lang[choice].keys())) values=list(translation_lang[choice]["target"].keys()))
self.parent.CHOICE_TRANSLATOR = choice self.parent.CHOICE_TRANSLATOR = choice
self.parent.INPUT_SOURCE_LANG = list(translation_lang[choice].keys())[0] self.parent.INPUT_SOURCE_LANG = list(translation_lang[choice]["source"].keys())[0]
self.parent.INPUT_TARGET_LANG = list(translation_lang[choice].keys())[1] self.parent.INPUT_TARGET_LANG = list(translation_lang[choice]["target"].keys())[1]
self.parent.OUTPUT_SOURCE_LANG = list(translation_lang[choice].keys())[1] self.parent.OUTPUT_SOURCE_LANG = list(translation_lang[choice]["source"].keys())[1]
self.parent.OUTPUT_TARGET_LANG = list(translation_lang[choice].keys())[0] self.parent.OUTPUT_TARGET_LANG = list(translation_lang[choice]["target"].keys())[0]
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, "INPUT_SOURCE_LANG", self.parent.INPUT_SOURCE_LANG) save_json(self.parent.PATH_CONFIG, "INPUT_SOURCE_LANG", self.parent.INPUT_SOURCE_LANG)
save_json(self.parent.PATH_CONFIG, "INPUT_TARGET_LANG", self.parent.INPUT_TARGET_LANG) save_json(self.parent.PATH_CONFIG, "INPUT_TARGET_LANG", self.parent.INPUT_TARGET_LANG)
@@ -757,7 +757,7 @@ class ToplevelWindowConfig(CTkToplevel):
self.optionmenu_translation_input_source_language = CTkOptionMenu( self.optionmenu_translation_input_source_language = CTkOptionMenu(
self.tabview_config.tab(config_tab_title_translation), self.tabview_config.tab(config_tab_title_translation),
command=self.optionmenu_translation_input_source_language_callback, command=self.optionmenu_translation_input_source_language_callback,
values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), values=list(translation_lang[self.parent.CHOICE_TRANSLATOR]["source"].keys()),
variable=StringVar(value=self.parent.INPUT_SOURCE_LANG), variable=StringVar(value=self.parent.INPUT_SOURCE_LANG),
font=CTkFont(family=self.parent.FONT_FAMILY), font=CTkFont(family=self.parent.FONT_FAMILY),
dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), dropdown_font=CTkFont(family=self.parent.FONT_FAMILY),
@@ -768,7 +768,7 @@ class ToplevelWindowConfig(CTkToplevel):
if SCROLLABLE_DROPDOWN: if SCROLLABLE_DROPDOWN:
self.scrollableDropdown_translation_input_source_language = CTkScrollableDropdown( self.scrollableDropdown_translation_input_source_language = CTkScrollableDropdown(
self.optionmenu_translation_input_source_language, self.optionmenu_translation_input_source_language,
values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), values=list(translation_lang[self.parent.CHOICE_TRANSLATOR]["source"].keys()),
justify="left", justify="left",
button_color="transparent", button_color="transparent",
command=self.optionmenu_translation_input_source_language_callback, command=self.optionmenu_translation_input_source_language_callback,
@@ -792,7 +792,7 @@ class ToplevelWindowConfig(CTkToplevel):
self.optionmenu_translation_input_target_language = CTkOptionMenu( self.optionmenu_translation_input_target_language = CTkOptionMenu(
self.tabview_config.tab(config_tab_title_translation), self.tabview_config.tab(config_tab_title_translation),
command=self.optionmenu_translation_input_target_language_callback, command=self.optionmenu_translation_input_target_language_callback,
values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), values=list(translation_lang[self.parent.CHOICE_TRANSLATOR]["target"].keys()),
variable=StringVar(value=self.parent.INPUT_TARGET_LANG), variable=StringVar(value=self.parent.INPUT_TARGET_LANG),
font=CTkFont(family=self.parent.FONT_FAMILY), font=CTkFont(family=self.parent.FONT_FAMILY),
dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), dropdown_font=CTkFont(family=self.parent.FONT_FAMILY),
@@ -803,7 +803,7 @@ class ToplevelWindowConfig(CTkToplevel):
if SCROLLABLE_DROPDOWN: if SCROLLABLE_DROPDOWN:
self.scrollableDropdown_translation_input_target_language = CTkScrollableDropdown( self.scrollableDropdown_translation_input_target_language = CTkScrollableDropdown(
self.optionmenu_translation_input_target_language, self.optionmenu_translation_input_target_language,
values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), values=list(translation_lang[self.parent.CHOICE_TRANSLATOR]["target"].keys()),
justify="left", justify="left",
button_color="transparent", button_color="transparent",
command=self.optionmenu_translation_input_target_language_callback, command=self.optionmenu_translation_input_target_language_callback,
@@ -828,7 +828,7 @@ class ToplevelWindowConfig(CTkToplevel):
self.optionmenu_translation_output_source_language = CTkOptionMenu( self.optionmenu_translation_output_source_language = CTkOptionMenu(
self.tabview_config.tab(config_tab_title_translation), self.tabview_config.tab(config_tab_title_translation),
command=self.optionmenu_translation_output_source_language_callback, command=self.optionmenu_translation_output_source_language_callback,
values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), values=list(translation_lang[self.parent.CHOICE_TRANSLATOR]["source"].keys()),
variable=StringVar(value=self.parent.OUTPUT_SOURCE_LANG), variable=StringVar(value=self.parent.OUTPUT_SOURCE_LANG),
font=CTkFont(family=self.parent.FONT_FAMILY), font=CTkFont(family=self.parent.FONT_FAMILY),
dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), dropdown_font=CTkFont(family=self.parent.FONT_FAMILY),
@@ -839,7 +839,7 @@ class ToplevelWindowConfig(CTkToplevel):
if SCROLLABLE_DROPDOWN: if SCROLLABLE_DROPDOWN:
self.scrollableDropdown_translation_output_source_language = CTkScrollableDropdown( self.scrollableDropdown_translation_output_source_language = CTkScrollableDropdown(
self.optionmenu_translation_output_source_language, self.optionmenu_translation_output_source_language,
values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), values=list(translation_lang[self.parent.CHOICE_TRANSLATOR]["source"].keys()),
justify="left", justify="left",
button_color="transparent", button_color="transparent",
command=self.optionmenu_translation_output_source_language_callback, command=self.optionmenu_translation_output_source_language_callback,
@@ -863,7 +863,7 @@ class ToplevelWindowConfig(CTkToplevel):
self.optionmenu_translation_output_target_language = CTkOptionMenu( self.optionmenu_translation_output_target_language = CTkOptionMenu(
self.tabview_config.tab(config_tab_title_translation), self.tabview_config.tab(config_tab_title_translation),
command=self.optionmenu_translation_output_target_language_callback, command=self.optionmenu_translation_output_target_language_callback,
values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), values=list(translation_lang[self.parent.CHOICE_TRANSLATOR]["target"].keys()),
variable=StringVar(value=self.parent.OUTPUT_TARGET_LANG), variable=StringVar(value=self.parent.OUTPUT_TARGET_LANG),
font=CTkFont(family=self.parent.FONT_FAMILY), font=CTkFont(family=self.parent.FONT_FAMILY),
dropdown_font=CTkFont(family=self.parent.FONT_FAMILY), dropdown_font=CTkFont(family=self.parent.FONT_FAMILY),
@@ -874,7 +874,7 @@ class ToplevelWindowConfig(CTkToplevel):
if SCROLLABLE_DROPDOWN: if SCROLLABLE_DROPDOWN:
self.scrollableDropdown_translation_output_target_language = CTkScrollableDropdown( self.scrollableDropdown_translation_output_target_language = CTkScrollableDropdown(
self.optionmenu_translation_output_target_language, self.optionmenu_translation_output_target_language,
values=list(translation_lang[self.parent.CHOICE_TRANSLATOR].keys()), values=list(translation_lang[self.parent.CHOICE_TRANSLATOR]["target"].keys()),
justify="left", justify="left",
button_color="transparent", button_color="transparent",
command=self.optionmenu_translation_output_target_language_callback, command=self.optionmenu_translation_output_target_language_callback,