🐛[bugfix] Model : 多言語翻訳を使用しない場合にプライマリの言語のみで翻訳エンジンを選択できるように修正
This commit is contained in:
@@ -291,14 +291,14 @@ class Config:
|
|||||||
# saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
# saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@json_serializable('ENABLE_MULTI_TRANSLATION')
|
@json_serializable('ENABLE_MULTI_LANGUAGE_TRANSLATION')
|
||||||
def ENABLE_MULTI_TRANSLATION(self):
|
def ENABLE_MULTI_LANGUAGE_TRANSLATION(self):
|
||||||
return self._ENABLE_MULTI_TRANSLATION
|
return self._ENABLE_MULTI_LANGUAGE_TRANSLATION
|
||||||
|
|
||||||
@ENABLE_MULTI_TRANSLATION.setter
|
@ENABLE_MULTI_LANGUAGE_TRANSLATION.setter
|
||||||
def ENABLE_MULTI_TRANSLATION(self, value):
|
def ENABLE_MULTI_LANGUAGE_TRANSLATION(self, value):
|
||||||
if isinstance(value, bool):
|
if isinstance(value, bool):
|
||||||
self._ENABLE_MULTI_TRANSLATION = value
|
self._ENABLE_MULTI_LANGUAGE_TRANSLATION = value
|
||||||
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@@ -1044,7 +1044,7 @@ class Config:
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
self._SELECTED_TRANSCRIPTION_ENGINE = "Google"
|
self._SELECTED_TRANSCRIPTION_ENGINE = "Google"
|
||||||
self._ENABLE_MULTI_TRANSLATION = False
|
self._ENABLE_MULTI_LANGUAGE_TRANSLATION = False
|
||||||
self._IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
|
self._IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
|
||||||
|
|
||||||
## Config Window
|
## Config Window
|
||||||
|
|||||||
@@ -163,13 +163,17 @@ class Model:
|
|||||||
languages = sorted(languages, key=lambda x: x['language'])
|
languages = sorted(languages, key=lambda x: x['language'])
|
||||||
return languages
|
return languages
|
||||||
|
|
||||||
def findTranslationEngines(self, source_lang, target_lang):
|
def findTranslationEngines(self, source_lang, target_lang, multi_language_translation=False):
|
||||||
compatible_engines = []
|
compatible_engines = []
|
||||||
for engine in list(translation_lang.keys()):
|
for engine in list(translation_lang.keys()):
|
||||||
languages = translation_lang.get(engine, {}).get("source", {})
|
languages = translation_lang.get(engine, {}).get("source", {})
|
||||||
|
|
||||||
source_langs = [e["language"] for e in list(source_lang.values())]
|
if multi_language_translation is True:
|
||||||
target_langs = [e["language"] for e in list(target_lang.values())]
|
source_langs = [e["language"] for e in list(source_lang.values())]
|
||||||
|
target_langs = [e["language"] for e in list(target_lang.values())]
|
||||||
|
else:
|
||||||
|
source_langs = [source_lang["primary"]["language"]]
|
||||||
|
target_langs = [target_lang["primary"]["language"]]
|
||||||
language_list = list(languages.keys())
|
language_list = list(languages.keys())
|
||||||
|
|
||||||
if all(e in language_list for e in source_langs) and all(e in language_list for e in target_langs):
|
if all(e in language_list for e in source_langs) and all(e in language_list for e in target_langs):
|
||||||
@@ -214,7 +218,7 @@ class Model:
|
|||||||
translations = []
|
translations = []
|
||||||
success_flags = []
|
success_flags = []
|
||||||
for key in target_languages.keys():
|
for key in target_languages.keys():
|
||||||
if key == "primary" or config.ENABLE_MULTI_TRANSLATION is True:
|
if key == "primary" or config.ENABLE_MULTI_LANGUAGE_TRANSLATION is True:
|
||||||
target_language = target_languages[key]["language"]
|
target_language = target_languages[key]["language"]
|
||||||
target_country = target_languages[key]["country"]
|
target_country = target_languages[key]["country"]
|
||||||
if target_language is not None or target_country is not None:
|
if target_language is not None or target_country is not None:
|
||||||
|
|||||||
@@ -377,7 +377,9 @@ def updateTranslationEngineAndEngineList():
|
|||||||
engine = config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO]
|
engine = config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO]
|
||||||
engines = model.findTranslationEngines(
|
engines = model.findTranslationEngines(
|
||||||
config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO],
|
config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO],
|
||||||
config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO])
|
config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO],
|
||||||
|
config.ENABLE_MULTI_LANGUAGE_TRANSLATION,
|
||||||
|
)
|
||||||
if engine not in engines:
|
if engine not in engines:
|
||||||
engine = engines[0]
|
engine = engines[0]
|
||||||
config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO] = engine
|
config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES[config.SELECTED_TAB_NO] = engine
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ config_mapping = {
|
|||||||
"/config/selected_tab_your_languages": "SELECTED_TAB_YOUR_LANGUAGES",
|
"/config/selected_tab_your_languages": "SELECTED_TAB_YOUR_LANGUAGES",
|
||||||
"/config/selected_tab_target_languages": "SELECTED_TAB_TARGET_LANGUAGES",
|
"/config/selected_tab_target_languages": "SELECTED_TAB_TARGET_LANGUAGES",
|
||||||
"/config/selected_transcription_engine": "SELECTED_TRANSCRIPTION_ENGINE",
|
"/config/selected_transcription_engine": "SELECTED_TRANSCRIPTION_ENGINE",
|
||||||
|
"/config/enable_multi_translation": "ENABLE_MULTI_LANGUAGE_TRANSLATION",
|
||||||
"/config/is_main_window_sidebar_compact_mode": "IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE",
|
"/config/is_main_window_sidebar_compact_mode": "IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE",
|
||||||
"/config/transparency": "TRANSPARENCY",
|
"/config/transparency": "TRANSPARENCY",
|
||||||
"/config/appearance_theme": "APPEARANCE_THEME",
|
"/config/appearance_theme": "APPEARANCE_THEME",
|
||||||
|
|||||||
Reference in New Issue
Block a user