From d03330ea03ab90a9fe88afc254f2257b1a6801ca Mon Sep 17 00:00:00 2001 From: misyaguziya Date: Sun, 14 Jan 2024 11:45:19 +0900 Subject: [PATCH 1/5] =?UTF-8?q?=20=F0=9F=91=8D[Update]=20Controller=20:=20?= =?UTF-8?q?UI=E3=81=AE=E7=BF=BB=E8=A8=B3=E3=82=A8=E3=83=B3=E3=82=B8?= =?UTF-8?q?=E3=83=B3=E3=81=A8Controller=E3=82=92=E6=8E=A5=E7=B6=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller.py | 55 +++++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/controller.py b/controller.py index 7ef2f457..d752ec34 100644 --- a/controller.py +++ b/controller.py @@ -65,11 +65,11 @@ def sendMicMessage(message): elif config.ENABLE_TRANSLATION is False: pass else: - translation = model.getInputTranslate(message) - # if translation is False: - # config.ENABLE_TRANSLATION = False - # translation = "" - # view.translationEngineLimitErrorProcess() + translation, success = model.getInputTranslate(message) + if success is False: + config.SOURCE_LANGUAGE = "CTranslate2" + config.TARGET_LANGUAGE = "CTranslate2" + updateTranslationEngineAndEngineList() if config.ENABLE_TRANSCRIPTION_SEND is True: if config.ENABLE_SEND_MESSAGE_TO_VRC is True: @@ -132,11 +132,11 @@ def receiveSpeakerMessage(message): if config.ENABLE_TRANSLATION is False: pass else: - translation = model.getOutputTranslate(message) - # if translation is False: - # config.ENABLE_TRANSLATION = False - # translation = "" - # view.translationEngineLimitErrorProcess() + translation, success = model.getOutputTranslate(message) + if success is False: + config.SOURCE_LANGUAGE = "CTranslate2" + config.TARGET_LANGUAGE = "CTranslate2" + updateTranslationEngineAndEngineList() if config.ENABLE_TRANSCRIPTION_RECEIVE is True: if config.ENABLE_NOTICE_XSOVERLAY is True: @@ -202,12 +202,11 @@ def sendChatMessage(message): if config.ENABLE_TRANSLATION is False: pass else: - translation = model.getInputTranslate(message) - # if translation is False: - # config.ENABLE_TRANSLATION = False - # translation = "" - # view.translationEngineLimitErrorProcess() - + translation, success = model.getInputTranslate(message) + if success is False: + config.SOURCE_LANGUAGE = "CTranslate2" + config.TARGET_LANGUAGE = "CTranslate2" + updateTranslationEngineAndEngineList() # send OSC message if config.ENABLE_SEND_MESSAGE_TO_VRC is True: if config.ENABLE_SEND_ONLY_TRANSLATED_MESSAGES is True: @@ -249,9 +248,15 @@ def messageBoxFocusOut(e): if config.ENABLE_SEND_MESSAGE_TO_VRC is True: model.oscStopSendTyping() -# func select languages -def getLatestSelectableTranslationEngines(): - return model.findTranslationEngines(config.SOURCE_LANGUAGE, config.TARGET_LANGUAGE) +def updateTranslationEngineAndEngineList(): + engine = config.CHOICE_INPUT_TRANSLATOR + engines = model.findTranslationEngines(config.SOURCE_LANGUAGE, config.TARGET_LANGUAGE) + if engine not in engines: + engine = engines[0] + config.CHOICE_INPUT_TRANSLATOR = engine + config.CHOICE_OUTPUT_TRANSLATOR = engine + view.updateSelectableTranslationEngineList(engines) + view.setGuiVariable_SelectedTranslationEngine(engine) def initSetTranslateEngine(): engine = config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO] @@ -288,8 +293,7 @@ def setYourLanguageAndCountry(select): language, country = model.getLanguageAndCountry(select) config.SOURCE_LANGUAGE = language config.SOURCE_COUNTRY = country - view.updateSelectableTranslationEngineList(getLatestSelectableTranslationEngines()) - view.setGuiVariable_SelectedTranslationEngine(config.CHOICE_OUTPUT_TRANSLATOR) + updateTranslationEngineAndEngineList() view.printToTextbox_selectedYourLanguages(select) def setTargetLanguageAndCountry(select): @@ -299,8 +303,7 @@ def setTargetLanguageAndCountry(select): language, country = model.getLanguageAndCountry(select) config.TARGET_LANGUAGE = language config.TARGET_COUNTRY = country - view.updateSelectableTranslationEngineList(getLatestSelectableTranslationEngines()) - view.setGuiVariable_SelectedTranslationEngine(config.CHOICE_OUTPUT_TRANSLATOR) + updateTranslationEngineAndEngineList() view.printToTextbox_selectedTargetLanguages(select) def swapYourLanguageAndTargetLanguage(): @@ -336,8 +339,7 @@ def callbackSelectedLanguagePresetTab(selected_tab_no): config.TARGET_LANGUAGE = language config.TARGET_COUNTRY = country view.printToTextbox_changedLanguagePresetTab(config.SELECTED_TAB_NO) - view.updateSelectableTranslationEngineList(getLatestSelectableTranslationEngines()) - view.setGuiVariable_SelectedTranslationEngine(config.CHOICE_OUTPUT_TRANSLATOR) + updateTranslationEngineAndEngineList() def callbackSelectedTranslationEngine(selected_translation_engine): print("callbackSelectedTranslationEngine", selected_translation_engine) @@ -497,6 +499,7 @@ def callbackSetDeeplAuthkey(value): auth_keys = config.AUTH_KEYS auth_keys["DeepL_API"] = None config.AUTH_KEYS = auth_keys + updateTranslationEngineAndEngineList() # Transcription Tab # Transcription (Mic) @@ -840,7 +843,7 @@ def createMainWindow(): initSetConfigByExeArguments() initSetTranslateEngine() initSetLanguageAndCountry() - view.updateSelectableTranslationEngineList(getLatestSelectableTranslationEngines()) + updateTranslationEngineAndEngineList() if config.AUTH_KEYS["DeepL_API"] is not None: if model.authenticationTranslatorDeepLAuthKey("DeepL_API", config.AUTH_KEYS["DeepL_API"]) is False: From 12bbec013a12f0f173eafef6eff4e71e0e07b1b5 Mon Sep 17 00:00:00 2001 From: misyaguziya Date: Sun, 14 Jan 2024 11:46:37 +0900 Subject: [PATCH 2/5] =?UTF-8?q?=F0=9F=91=8D[Update]=20Model=20:=20?= =?UTF-8?q?=E7=BF=BB=E8=A8=B3=E5=A4=B1=E6=95=97=E6=99=82=E3=81=AE=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=82=92=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/model.py b/model.py index 185e6dcc..3f89ad12 100644 --- a/model.py +++ b/model.py @@ -127,7 +127,8 @@ class Model: compatible_engines.remove('DeepL_API') return compatible_engines - def getInputTranslate(self, message, fnc=None): + def getInputTranslate(self, message): + translation_success_flag = True translator_name=config.CHOICE_INPUT_TRANSLATOR source_language=config.SOURCE_LANGUAGE target_language=config.TARGET_LANGUAGE @@ -143,6 +144,7 @@ class Model: # 翻訳失敗時のフェールセーフ処理 if translation is False: + translation_success_flag = False translation = self.translator.translate( translator_name="CTranslate2", source_language=source_language, @@ -150,13 +152,10 @@ class Model: target_country=target_country, message=message ) - try: - fnc() - except Exception: - pass - return translation + return translation, translation_success_flag - def getOutputTranslate(self, message, fnc=None): + def getOutputTranslate(self, message): + translation_success_flag = True translator_name=config.CHOICE_OUTPUT_TRANSLATOR source_language=config.TARGET_LANGUAGE target_language=config.SOURCE_LANGUAGE @@ -172,6 +171,7 @@ class Model: # 翻訳失敗時のフェールセーフ処理 if translation is False: + translation_success_flag = False translation = self.translator.translate( translator_name="CTranslate2", source_language=source_language, @@ -179,11 +179,7 @@ class Model: target_country=target_country, message=message ) - try: - fnc() - except Exception: - pass - return translation + return translation, translation_success_flag def addKeywords(self): for f in config.INPUT_MIC_WORD_FILTER: From 3783a0fff2459f70f1fba8bd6c80848b3c307552 Mon Sep 17 00:00:00 2001 From: misyaguziya Date: Sun, 14 Jan 2024 12:03:05 +0900 Subject: [PATCH 3/5] =?UTF-8?q?=F0=9F=90=9B[bugfix]=20Controller=20:=20?= =?UTF-8?q?=E5=A4=89=E6=95=B0=E8=A8=AD=E5=AE=9A=E9=96=93=E9=81=95=E3=81=84?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/controller.py b/controller.py index d752ec34..72bbeb04 100644 --- a/controller.py +++ b/controller.py @@ -67,8 +67,8 @@ def sendMicMessage(message): else: translation, success = model.getInputTranslate(message) if success is False: - config.SOURCE_LANGUAGE = "CTranslate2" - config.TARGET_LANGUAGE = "CTranslate2" + config.CHOICE_INPUT_TRANSLATOR = "CTranslate2" + config.CHOICE_OUTPUT_TRANSLATOR = "CTranslate2" updateTranslationEngineAndEngineList() if config.ENABLE_TRANSCRIPTION_SEND is True: @@ -134,8 +134,8 @@ def receiveSpeakerMessage(message): else: translation, success = model.getOutputTranslate(message) if success is False: - config.SOURCE_LANGUAGE = "CTranslate2" - config.TARGET_LANGUAGE = "CTranslate2" + config.CHOICE_INPUT_TRANSLATOR = "CTranslate2" + config.CHOICE_OUTPUT_TRANSLATOR = "CTranslate2" updateTranslationEngineAndEngineList() if config.ENABLE_TRANSCRIPTION_RECEIVE is True: @@ -204,8 +204,8 @@ def sendChatMessage(message): else: translation, success = model.getInputTranslate(message) if success is False: - config.SOURCE_LANGUAGE = "CTranslate2" - config.TARGET_LANGUAGE = "CTranslate2" + config.CHOICE_INPUT_TRANSLATOR = "CTranslate2" + config.CHOICE_OUTPUT_TRANSLATOR = "CTranslate2" updateTranslationEngineAndEngineList() # send OSC message if config.ENABLE_SEND_MESSAGE_TO_VRC is True: From 135f634c36bc2792bee87e8e1b99309094609ce6 Mon Sep 17 00:00:00 2001 From: misyaguziya Date: Sun, 14 Jan 2024 12:08:58 +0900 Subject: [PATCH 4/5] =?UTF-8?q?=F0=9F=90=9B[bugfix]=20Controller=20:=20Dee?= =?UTF-8?q?pL=20AuthKey=E3=81=AE=E8=AA=8D=E8=A8=BC=E3=82=BF=E3=82=A4?= =?UTF-8?q?=E3=83=9F=E3=83=B3=E3=82=B0=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/controller.py b/controller.py index 72bbeb04..22d9eb2d 100644 --- a/controller.py +++ b/controller.py @@ -843,16 +843,18 @@ def createMainWindow(): initSetConfigByExeArguments() initSetTranslateEngine() initSetLanguageAndCountry() - updateTranslationEngineAndEngineList() if config.AUTH_KEYS["DeepL_API"] is not None: - if model.authenticationTranslatorDeepLAuthKey("DeepL_API", config.AUTH_KEYS["DeepL_API"]) is False: + if model.authenticationTranslatorDeepLAuthKey(auth_key=config.AUTH_KEYS["DeepL_API"]) is False: # error update Auth key auth_keys = config.AUTH_KEYS auth_keys["DeepL_API"] = None config.AUTH_KEYS = auth_keys view.printToTextbox_AuthenticationError() + # set Translation Engine + updateTranslationEngineAndEngineList() + # set word filter model.addKeywords() From d65829175ea630ca3f6682f207ba1688e9b96eb7 Mon Sep 17 00:00:00 2001 From: misyaguziya Date: Sun, 14 Jan 2024 13:13:43 +0900 Subject: [PATCH 5/5] =?UTF-8?q?=F0=9F=90=9B[bugfix]=20Model=20:=20deepl=20?= =?UTF-8?q?authkey=20=E5=89=8A=E9=99=A4=E6=99=82=E3=81=AB=20=E7=BF=BB?= =?UTF-8?q?=E8=A8=B3=E3=82=A8=E3=83=B3=E3=82=B8=E3=83=B3=E3=81=AE"DeepL=5F?= =?UTF-8?q?API"=E3=81=8C=E5=89=8A=E9=99=A4=E3=81=95=E3=82=8C=E3=81=AA?= =?UTF-8?q?=E3=81=84=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model.py b/model.py index 3f89ad12..01277bb5 100644 --- a/model.py +++ b/model.py @@ -123,7 +123,7 @@ class Model: if source_lang in languages and target_lang in languages: compatible_engines.append(engine) if "DeepL_API" in compatible_engines: - if self.translator.deepl_client is None: + if config.AUTH_KEYS["DeepL_API"] is None: compatible_engines.remove('DeepL_API') return compatible_engines