diff --git a/src-python/webui_controller.py b/src-python/webui_controller.py index 49433bea..6c6bd299 100644 --- a/src-python/webui_controller.py +++ b/src-python/webui_controller.py @@ -426,8 +426,8 @@ class Controller: return {"status":200, "result":config.SELECTED_TRANSLATION_ENGINES} @staticmethod - def setSelectedTranslatorEngines(engines:dict, *args, **kwargs) -> dict: - printLog("setSelectedTranslatorEngines", engines) + def setSelectedTranslationEngines(engines:dict, *args, **kwargs) -> dict: + printLog("setSelectedTranslationEngines", engines) config.SELECTED_TRANSLATION_ENGINES = engines return {"status":200,"result":config.SELECTED_TRANSLATION_ENGINES} @@ -1512,7 +1512,7 @@ class Controller: if engine not in engines: engine = engines[0] config.SELECTED_TRANSLATION_ENGINES[config.SELECTED_TAB_NO] = engine - self.run(200, self.run_mapping["selected_translation_engine"], engine) + self.run(200, self.run_mapping["selected_translation_engines"], config.SELECTED_TRANSLATION_ENGINES) self.run(200, self.run_mapping["translation_engines"], engines) @staticmethod diff --git a/src-python/webui_mainloop.py b/src-python/webui_mainloop.py index 57da7aa2..25ff20cc 100644 --- a/src-python/webui_mainloop.py +++ b/src-python/webui_mainloop.py @@ -29,7 +29,7 @@ run_mapping = { "selected_mic_device":"/run/selected_mic_device", "selected_speaker_device":"/run/selected_speaker_device", - "selected_translation_engine":"/run/selected_translation_engine", + "selected_translation_engines":"/run/selected_translation_engines", "translation_engines":"/run/translation_engines", "mic_host_list":"/run/mic_host_list", @@ -72,7 +72,7 @@ mapping = { "/get/data/selectable_language_list": {"status": True, "variable":controller.getListLanguageAndCountry}, "/get/data/selected_translation_engines": {"status": False, "variable":controller.getSelectedTranslationEngines}, - "/set/data/selected_translator_engines": {"status": True, "variable":controller.setSelectedTranslatorEngines}, + "/set/data/selected_translation_engines": {"status": True, "variable":controller.setSelectedTranslationEngines}, "/get/data/selected_your_languages": {"status": True, "variable":controller.getSelectedYourLanguages}, "/set/data/selected_your_languages": {"status": True, "variable":controller.setSelectedYourLanguages}, @@ -413,7 +413,7 @@ if __name__ == "__main__": # handleRequest("/set/enable/translation") # handleRequest("/set/enable/convert_message_to_romaji") data = {"id":"123456", "message":"ใƒ†ใ‚นใƒˆ"} - case "/set/data/selected_translator_engines": + case "/set/data/selected_translation_engines": data = { "1":"CTranslate2", "2":"CTranslate2", diff --git a/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/TranslatorSelectorOpenButton.jsx b/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/TranslatorSelectorOpenButton.jsx index 8647c58a..ff063cbf 100644 --- a/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/TranslatorSelectorOpenButton.jsx +++ b/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/TranslatorSelectorOpenButton.jsx @@ -10,7 +10,6 @@ export const TranslatorSelectorOpenButton = () => { const { currentSelectedPresetTabNumber, currentTranslationEngines, - getTranslationEngines, currentSelectedTranslationEngines, } = useLanguageSettings(); @@ -24,7 +23,6 @@ export const TranslatorSelectorOpenButton = () => { const { currentIsOpenedTranslatorSelector, updateIsOpenedTranslatorSelector} = useStore_IsOpenedTranslatorSelector(); const openTranslatorSelector = () => { - getTranslationEngines(); updateIsOpenedTranslatorSelector(!currentIsOpenedTranslatorSelector.data); }; diff --git a/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/translator_selector/TranslatorSelector.jsx b/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/translator_selector/TranslatorSelector.jsx index b47561b5..5368f988 100644 --- a/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/translator_selector/TranslatorSelector.jsx +++ b/src-ui/app/main_page/sidebar_section/language_settings/translator_selector_open_button/translator_selector/TranslatorSelector.jsx @@ -35,7 +35,7 @@ const TranslatorBox = (props) => { const box_class_name = clsx( styles.box, - { [styles["is_selected"]]: (currentSelectedTranslationEngines[currentSelectedPresetTabNumber.data] === props.translator_id) ? true : false }, + { [styles["is_selected"]]: (currentSelectedTranslationEngines.data[currentSelectedPresetTabNumber.data] === props.translator_id) ? true : false }, { [styles["is_available"]]: (props.is_available === true) ? true : false } ); diff --git a/src-ui/logics/main/useLanguageSettings.js b/src-ui/logics/main/useLanguageSettings.js index fdd3b668..067fdcf4 100644 --- a/src-ui/logics/main/useLanguageSettings.js +++ b/src-ui/logics/main/useLanguageSettings.js @@ -101,7 +101,7 @@ export const useLanguageSettings = () => { pendingSelectedTranslationEngines(); let send_obj = currentSelectedTranslationEngines.data; send_obj[currentSelectedPresetTabNumber.data] = selected_translator; - asyncStdoutToPython("/set/data/selected_translator_engines", send_obj); + asyncStdoutToPython("/set/data/selected_translation_engines", send_obj); }; const runLanguageSwap = () => { diff --git a/src-ui/logics/useReceiveRoutes.js b/src-ui/logics/useReceiveRoutes.js index 406a7b31..7d529eb3 100644 --- a/src-ui/logics/useReceiveRoutes.js +++ b/src-ui/logics/useReceiveRoutes.js @@ -95,6 +95,7 @@ export const useReceiveRoutes = () => { "/set/data/selected_your_languages": updateSelectedYourLanguages, "/get/data/selected_target_languages": updateSelectedTargetLanguages, "/set/data/selected_target_languages": updateSelectedTargetLanguages, + "/get/data/translation_engines": (payload) => { const updateTranslatorAvailability = (keys) => { return translator_status.map(translator => ({ @@ -102,13 +103,22 @@ export const useReceiveRoutes = () => { is_available: keys.includes(translator.translator_id), })); }; - const updated_list = updateTranslatorAvailability(payload); - + updateTranslationEngines(updated_list); + }, + "/run/translation_engines": (payload) => { + const updateTranslatorAvailability = (keys) => { + return translator_status.map(translator => ({ + ...translator, + is_available: keys.includes(translator.translator_id), + })); + }; + const updated_list = updateTranslatorAvailability(payload); updateTranslationEngines(updated_list); }, "/get/data/selected_translation_engines": updateSelectedTranslationEngines, - "/set/data/selected_translator_engines": updateSelectedTranslationEngines, + "/set/data/selected_translation_engines": updateSelectedTranslationEngines, + "/run/selected_translation_engines": updateSelectedTranslationEngines, "/run/swap_your_language_and_target_language": (payload) => { updateSelectedYourLanguages(payload.your);