👍️[Update] Model : 多言語対応の処理をtabごとに持つように変更
This commit is contained in:
@@ -264,7 +264,10 @@ class Config:
|
|||||||
for k1, v1 in v0.items():
|
for k1, v1 in v0.items():
|
||||||
language = v1["language"]
|
language = v1["language"]
|
||||||
country = v1["country"]
|
country = v1["country"]
|
||||||
if language not in list(transcription_lang.keys()) or country not in list(transcription_lang[language].keys()):
|
enable = v1["enable"]
|
||||||
|
if (language not in list(transcription_lang.keys()) or
|
||||||
|
country not in list(transcription_lang[language].keys()) or
|
||||||
|
not isinstance(enable, bool)):
|
||||||
value[k0][k1] = value_old[k0][k1]
|
value[k0][k1] = value_old[k0][k1]
|
||||||
self._SELECTED_YOUR_LANGUAGES = value
|
self._SELECTED_YOUR_LANGUAGES = value
|
||||||
self.saveConfig(inspect.currentframe().f_code.co_name, value)
|
self.saveConfig(inspect.currentframe().f_code.co_name, value)
|
||||||
@@ -282,7 +285,10 @@ class Config:
|
|||||||
for k1, v1 in v0.items():
|
for k1, v1 in v0.items():
|
||||||
language = v1["language"]
|
language = v1["language"]
|
||||||
country = v1["country"]
|
country = v1["country"]
|
||||||
if language not in list(transcription_lang.keys()) or country not in list(transcription_lang[language].keys()):
|
enable = v1["enable"]
|
||||||
|
if (language not in list(transcription_lang.keys()) or
|
||||||
|
country not in list(transcription_lang[language].keys()) or
|
||||||
|
not isinstance(enable, bool)):
|
||||||
value[k0][k1] = value_old[k0][k1]
|
value[k0][k1] = value_old[k0][k1]
|
||||||
self._SELECTED_TARGET_LANGUAGES = value
|
self._SELECTED_TARGET_LANGUAGES = value
|
||||||
self.saveConfig(inspect.currentframe().f_code.co_name, value)
|
self.saveConfig(inspect.currentframe().f_code.co_name, value)
|
||||||
@@ -299,17 +305,6 @@ class Config:
|
|||||||
self._SELECTED_TRANSCRIPTION_ENGINE = value
|
self._SELECTED_TRANSCRIPTION_ENGINE = value
|
||||||
self.saveConfig(inspect.currentframe().f_code.co_name, value)
|
self.saveConfig(inspect.currentframe().f_code.co_name, value)
|
||||||
|
|
||||||
@property
|
|
||||||
@json_serializable('MULTI_LANGUAGE_TRANSLATION')
|
|
||||||
def MULTI_LANGUAGE_TRANSLATION(self):
|
|
||||||
return self._MULTI_LANGUAGE_TRANSLATION
|
|
||||||
|
|
||||||
@MULTI_LANGUAGE_TRANSLATION.setter
|
|
||||||
def MULTI_LANGUAGE_TRANSLATION(self, value):
|
|
||||||
if isinstance(value, bool):
|
|
||||||
self._MULTI_LANGUAGE_TRANSLATION = value
|
|
||||||
self.saveConfig(inspect.currentframe().f_code.co_name, value)
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@json_serializable('CONVERT_MESSAGE_TO_ROMAJI')
|
@json_serializable('CONVERT_MESSAGE_TO_ROMAJI')
|
||||||
def CONVERT_MESSAGE_TO_ROMAJI(self):
|
def CONVERT_MESSAGE_TO_ROMAJI(self):
|
||||||
@@ -964,6 +959,7 @@ class Config:
|
|||||||
"primary": {
|
"primary": {
|
||||||
"language": "Japanese",
|
"language": "Japanese",
|
||||||
"country": "Japan",
|
"country": "Japan",
|
||||||
|
"enable": True,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
self._SELECTED_TARGET_LANGUAGES = {}
|
self._SELECTED_TARGET_LANGUAGES = {}
|
||||||
@@ -972,18 +968,20 @@ class Config:
|
|||||||
"primary": {
|
"primary": {
|
||||||
"language": "English",
|
"language": "English",
|
||||||
"country": "United States",
|
"country": "United States",
|
||||||
|
"enable": True,
|
||||||
},
|
},
|
||||||
"secondary": {
|
"secondary": {
|
||||||
"language": "English",
|
"language": "English",
|
||||||
"country": "United States",
|
"country": "United States",
|
||||||
|
"enable": False,
|
||||||
},
|
},
|
||||||
"tertiary": {
|
"tertiary": {
|
||||||
"language": "English",
|
"language": "English",
|
||||||
"country": "United States",
|
"country": "United States",
|
||||||
|
"enable": False,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
self._SELECTED_TRANSCRIPTION_ENGINE = "Google"
|
self._SELECTED_TRANSCRIPTION_ENGINE = "Google"
|
||||||
self._MULTI_LANGUAGE_TRANSLATION = False
|
|
||||||
self._CONVERT_MESSAGE_TO_ROMAJI = False
|
self._CONVERT_MESSAGE_TO_ROMAJI = False
|
||||||
self._CONVERT_MESSAGE_TO_HIRAGANA = False
|
self._CONVERT_MESSAGE_TO_HIRAGANA = False
|
||||||
self._MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
|
self._MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False
|
||||||
|
|||||||
@@ -164,21 +164,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, multi_language_translation=False):
|
def findTranslationEngines(self, source_lang, target_lang):
|
||||||
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 e["enable"] is True]
|
||||||
if multi_language_translation is True:
|
target_langs = [e["language"] for e in list(target_lang.values()) if e["enable"] is True]
|
||||||
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):
|
||||||
compatible_engines.append(engine)
|
compatible_engines.append(engine)
|
||||||
|
|
||||||
if "DeepL_API" in compatible_engines:
|
if "DeepL_API" in compatible_engines:
|
||||||
if config.AUTH_KEYS["DeepL_API"] is None:
|
if config.AUTH_KEYS["DeepL_API"] is None:
|
||||||
compatible_engines.remove('DeepL_API')
|
compatible_engines.remove('DeepL_API')
|
||||||
@@ -218,10 +214,10 @@ class Model:
|
|||||||
|
|
||||||
translations = []
|
translations = []
|
||||||
success_flags = []
|
success_flags = []
|
||||||
for key in target_languages.keys():
|
for value in target_languages.values():
|
||||||
if key == "primary" or config.MULTI_LANGUAGE_TRANSLATION is True:
|
if value["enable"] is True:
|
||||||
target_language = target_languages[key]["language"]
|
target_language = value["language"]
|
||||||
target_country = target_languages[key]["country"]
|
target_country = value["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:
|
||||||
translation, success_flag = self.getTranslate(
|
translation, success_flag = self.getTranslate(
|
||||||
translator_name,
|
translator_name,
|
||||||
|
|||||||
@@ -484,7 +484,6 @@ class Controller:
|
|||||||
engines = model.findTranslationEngines(
|
engines = model.findTranslationEngines(
|
||||||
config.SELECTED_YOUR_LANGUAGES[config.SELECTED_TAB_NO],
|
config.SELECTED_YOUR_LANGUAGES[config.SELECTED_TAB_NO],
|
||||||
config.SELECTED_TARGET_LANGUAGES[config.SELECTED_TAB_NO],
|
config.SELECTED_TARGET_LANGUAGES[config.SELECTED_TAB_NO],
|
||||||
config.MULTI_LANGUAGE_TRANSLATION,
|
|
||||||
)
|
)
|
||||||
return {"status":200, "result":engines}
|
return {"status":200, "result":engines}
|
||||||
|
|
||||||
@@ -540,20 +539,6 @@ class Controller:
|
|||||||
config.SELECTED_TRANSCRIPTION_ENGINE = str(data)
|
config.SELECTED_TRANSCRIPTION_ENGINE = str(data)
|
||||||
return {"status":200, "result":config.SELECTED_TRANSCRIPTION_ENGINE}
|
return {"status":200, "result":config.SELECTED_TRANSCRIPTION_ENGINE}
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def getMultiLanguageTranslation(*args, **kwargs) -> dict:
|
|
||||||
return {"status":200, "result":config.MULTI_LANGUAGE_TRANSLATION}
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def setEnableMultiLanguageTranslation(*args, **kwargs) -> dict:
|
|
||||||
config.MULTI_LANGUAGE_TRANSLATION = True
|
|
||||||
return {"status":200, "result":config.MULTI_LANGUAGE_TRANSLATION}
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def setDisableMultiLanguageTranslation(*args, **kwargs) -> dict:
|
|
||||||
config.MULTI_LANGUAGE_TRANSLATION = False
|
|
||||||
return {"status":200, "result":config.MULTI_LANGUAGE_TRANSLATION}
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def getConvertMessageToRomaji(*args, **kwargs) -> dict:
|
def getConvertMessageToRomaji(*args, **kwargs) -> dict:
|
||||||
return {"status":200, "result":config.CONVERT_MESSAGE_TO_ROMAJI}
|
return {"status":200, "result":config.CONVERT_MESSAGE_TO_ROMAJI}
|
||||||
|
|||||||
@@ -141,10 +141,6 @@ mapping = {
|
|||||||
"/set/data/deepl_auth_key": {"status": False, "variable":controller.setDeeplAuthKey},
|
"/set/data/deepl_auth_key": {"status": False, "variable":controller.setDeeplAuthKey},
|
||||||
"/delete/data/deepl_auth_key": {"status": False, "variable":controller.delDeeplAuthKey},
|
"/delete/data/deepl_auth_key": {"status": False, "variable":controller.delDeeplAuthKey},
|
||||||
|
|
||||||
"/get/data/multi_language_translation": {"status": True, "variable":controller.getMultiLanguageTranslation},
|
|
||||||
"/set/enable/multi_language_translation": {"status": True, "variable":controller.setEnableMultiLanguageTranslation},
|
|
||||||
"/set/disable/multi_language_translation": {"status": True, "variable":controller.setDisableMultiLanguageTranslation},
|
|
||||||
|
|
||||||
"/get/data/convert_message_to_romaji": {"status": True, "variable":controller.getConvertMessageToRomaji},
|
"/get/data/convert_message_to_romaji": {"status": True, "variable":controller.getConvertMessageToRomaji},
|
||||||
"/set/enable/convert_message_to_romaji": {"status": True, "variable":controller.setEnableConvertMessageToRomaji},
|
"/set/enable/convert_message_to_romaji": {"status": True, "variable":controller.setEnableConvertMessageToRomaji},
|
||||||
"/set/disable/convert_message_to_romaji": {"status": True, "variable":controller.setDisableConvertMessageToRomaji},
|
"/set/disable/convert_message_to_romaji": {"status": True, "variable":controller.setDisableConvertMessageToRomaji},
|
||||||
@@ -440,43 +436,52 @@ if __name__ == "__main__":
|
|||||||
"1":{
|
"1":{
|
||||||
"primary": {
|
"primary": {
|
||||||
"language": "Japanese",
|
"language": "Japanese",
|
||||||
"country": "Japan"
|
"country": "Japan",
|
||||||
|
"enabled": True,
|
||||||
},
|
},
|
||||||
"secondary": {
|
"secondary": {
|
||||||
"language": "English",
|
"language": "English",
|
||||||
"country": "United States"
|
"country": "United States",
|
||||||
|
"enabled": True,
|
||||||
},
|
},
|
||||||
"tertiary": {
|
"tertiary": {
|
||||||
"language": "Chinese Simplified",
|
"language": "Chinese Simplified",
|
||||||
"country": "China"
|
"country": "China",
|
||||||
|
"enabled": True,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"2":{
|
"2":{
|
||||||
"primary":{
|
"primary":{
|
||||||
"language":"English",
|
"language":"English",
|
||||||
"country":"United States",
|
"country":"United States",
|
||||||
|
"enabled": True,
|
||||||
},
|
},
|
||||||
"secondary":{
|
"secondary":{
|
||||||
"language":"English",
|
"language":"English",
|
||||||
"country":"United States"
|
"country":"United States",
|
||||||
|
"enabled": True,
|
||||||
},
|
},
|
||||||
"tertiary":{
|
"tertiary":{
|
||||||
"language":"English",
|
"language":"English",
|
||||||
"country":"United States"
|
"country":"United States",
|
||||||
|
"enabled": True,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"3":{
|
"3":{
|
||||||
"primary":{
|
"primary":{
|
||||||
"language":"English",
|
"language":"English",
|
||||||
"country":"United States",
|
"country":"United States",
|
||||||
|
"enabled": True,
|
||||||
},
|
},
|
||||||
"secondary":{
|
"secondary":{
|
||||||
"language":"English",
|
"language":"English",
|
||||||
"country":"United States"
|
"country":"United States",
|
||||||
|
"enabled": True,
|
||||||
},
|
},
|
||||||
"tertiary":{
|
"tertiary":{
|
||||||
"language":"English",
|
"language":"English",
|
||||||
"country":"United States"
|
"country":"United States",
|
||||||
|
"enabled": True,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user