👍[Update] Model/Veiw/Config : SELECTED_TAB_YOUR_LANGUAGES/SELECTED_TAB_TARGET_LANGUAGESの表現の変更に伴い処理を変更

This commit is contained in:
misyaguziya
2024-03-09 01:26:10 +09:00
parent 7791f371b4
commit cb78942b8d
5 changed files with 78 additions and 44 deletions

View File

@@ -293,8 +293,10 @@ class Config:
if isinstance(value, dict):
value_old = self.SELECTED_TAB_YOUR_LANGUAGES
for k, v in value.items():
lang, country = list(v.items())[0]
if lang not in list(transcription_lang.keys()) or country not in list(transcription_lang[lang].keys()):
data = list(v.items())[0]
language = data["language"]
country = data["country"]
if language not in list(transcription_lang.keys()) or country not in list(transcription_lang[language].keys()):
value[k] = value_old[k]
self._SELECTED_TAB_YOUR_LANGUAGES = value
except Exception:
@@ -312,8 +314,10 @@ class Config:
if isinstance(value, dict):
value_old = self.SELECTED_TAB_TARGET_LANGUAGES
for k, v in value.items():
lang, country = list(v.items())[0]
if lang not in list(transcription_lang.keys()) or country not in list(transcription_lang[lang].keys()):
data = list(v.items())[0]
language = data["language"]
country = data["country"]
if language not in list(transcription_lang.keys()) or country not in list(transcription_lang[language].keys()):
value[k] = value_old[k]
self._SELECTED_TAB_TARGET_LANGUAGES = value
except Exception:
@@ -902,14 +906,32 @@ class Config:
"3":"CTranslate2",
}
self._SELECTED_TAB_YOUR_LANGUAGES = {
"1":{"Japanese":"Japan"},
"2":{"Japanese":"Japan"},
"3":{"Japanese":"Japan"},
"1":{
"language":"Japanese",
"country":"Japan"
},
"2":{
"language":"Japanese",
"country":"Japan"
},
"3":{
"language":"Japanese",
"country":"Japan"
},
}
self._SELECTED_TAB_TARGET_LANGUAGES = {
"1":{"English":"United States"},
"2":{"English":"United States"},
"3":{"English":"United States"},
"1":{
"language":"English",
"country":"United States"
},
"2":{
"language":"English",
"country":"United States"
},
"3":{
"language":"English",
"country":"United States"
},
}
self._SELECTED_TRANSCRIPTION_ENGINE = "Google"
self._IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False

View File

@@ -292,13 +292,11 @@ def initSetTranslateEngine():
def initSetLanguageAndCountry():
select = config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]
language, country = list(select.items())[0]
config.SOURCE_LANGUAGE = language
config.SOURCE_COUNTRY = country
config.SOURCE_LANGUAGE = select["language"]
config.SOURCE_COUNTRY = select["country"]
select = config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]
language, country = list(select.items())[0]
config.TARGET_LANGUAGE = language
config.TARGET_COUNTRY = country
config.TARGET_LANGUAGE = select["language"]
config.TARGET_COUNTRY = select["country"]
def setYourTranslateEngine(select):
engines = config.SELECTED_TAB_YOUR_TRANSLATOR_ENGINES
@@ -316,9 +314,8 @@ def setYourLanguageAndCountry(select):
languages = config.SELECTED_TAB_YOUR_LANGUAGES
languages[config.SELECTED_TAB_NO] = select
config.SELECTED_TAB_YOUR_LANGUAGES = languages
language, country = list(select.items())[0]
config.SOURCE_LANGUAGE = language
config.SOURCE_COUNTRY = country
config.SOURCE_LANGUAGE = select["language"]
config.SOURCE_COUNTRY = select["country"]
updateTranslationEngineAndEngineList()
view.printToTextbox_selectedYourLanguages(select)
@@ -326,9 +323,8 @@ def setTargetLanguageAndCountry(select):
languages = config.SELECTED_TAB_TARGET_LANGUAGES
languages[config.SELECTED_TAB_NO] = select
config.SELECTED_TAB_TARGET_LANGUAGES = languages
language, country = list(select.items())[0]
config.TARGET_LANGUAGE = language
config.TARGET_COUNTRY = country
config.TARGET_LANGUAGE = select["language"]
config.TARGET_COUNTRY = select["country"]
updateTranslationEngineAndEngineList()
view.printToTextbox_selectedTargetLanguages(select)
@@ -355,15 +351,13 @@ def callbackSelectedLanguagePresetTab(selected_tab_no):
languages = config.SELECTED_TAB_YOUR_LANGUAGES
select = languages[config.SELECTED_TAB_NO]
language, country = list(select.items())[0]
config.SOURCE_LANGUAGE = language
config.SOURCE_COUNTRY = country
config.SOURCE_LANGUAGE = select["language"]
config.SOURCE_COUNTRY = select["country"]
languages = config.SELECTED_TAB_TARGET_LANGUAGES
select = languages[config.SELECTED_TAB_NO]
language, country = list(select.items())[0]
config.TARGET_LANGUAGE = language
config.TARGET_COUNTRY = country
config.TARGET_LANGUAGE = select["language"]
config.TARGET_COUNTRY = select["country"]
view.printToTextbox_changedLanguagePresetTab(config.SELECTED_TAB_NO)
updateTranslationEngineAndEngineList()
@@ -999,7 +993,7 @@ def createMainWindow(splash):
"callback_your_language": setYourLanguageAndCountry,
"callback_target_language": setTargetLanguageAndCountry,
"values": model.getListLanguageAndCountry(),
"values": [f"{v['language']} ({v['country']})" for v in model.getListLanguageAndCountry()],
"callback_swap_languages": swapYourLanguageAndTargetLanguage,
"callback_selected_language_preset_tab": callbackSelectedLanguagePresetTab,

View File

@@ -106,19 +106,24 @@ class Model:
def getListLanguageAndCountry(self):
transcription_langs = list(transcription_lang.keys())
tl_keys = translation_lang.keys()
translation_langs = []
for tl_key in tl_keys:
for tl_key in translation_lang.keys():
for lang in translation_lang[tl_key]["source"]:
translation_langs.append(lang)
translation_langs = list(set(translation_langs))
supported_langs = list(filter(lambda x: x in transcription_langs, translation_langs))
langs = []
for lang in supported_langs:
for country in transcription_lang[lang]:
langs.append(f"{lang}\n({country})")
return sorted(langs)
languages = []
for language in supported_langs:
for country in transcription_lang[language]:
languages.append(
{
"language" : language,
"country" : country,
}
)
languages = sorted(languages, key=lambda x: x['language'])
return languages
def findTranslationEngines(self, source_lang, target_lang):
compatible_engines = []

16
view.py
View File

@@ -1508,9 +1508,13 @@ class View():
# Update GuiVariable (view_variable)
def updateGuiVariableByPresetTabNo(self, tab_no:str):
your_language, your_country = list(config.SELECTED_TAB_YOUR_LANGUAGES[tab_no].items())[0]
select = config.SELECTED_TAB_YOUR_LANGUAGES[tab_no]
your_language = select["language"]
your_country = select["country"]
self.view_variable.VAR_YOUR_LANGUAGE.set(f"{your_language}\n({your_country})")
target_language, target_country = list(config.SELECTED_TAB_TARGET_LANGUAGES[tab_no].items())[0]
select = config.SELECTED_TAB_TARGET_LANGUAGES[tab_no]
target_language = select["language"]
target_country = select["country"]
self.view_variable.VAR_TARGET_LANGUAGE.set(f"{target_language}\n({target_country})")
@@ -1653,11 +1657,15 @@ class View():
def printToTextbox_selectedYourLanguages(self, selected_your_language):
your_language = ' '.join(f'{k} {v}' for k, v in selected_your_language.items())
language = selected_your_language["language"]
country = selected_your_language["country"]
your_language = f"{language} {country}"
self._printToTextbox_Info(i18n.t("main_window.textbox_system_message.selected_your_language", your_language=your_language))
def printToTextbox_selectedTargetLanguages(self, selected_target_language):
target_language = ' '.join(f'{k} {v}' for k, v in selected_target_language.items())
language = selected_target_language["language"]
country = selected_target_language["country"]
target_language = f"{language} {country}"
self._printToTextbox_Info(i18n.t("main_window.textbox_system_message.selected_target_language", target_language=target_language))
def printToTextbox_changedLanguagePresetTab(self, tab_no:str):

View File

@@ -49,9 +49,14 @@ class _CreateSelectableLanguagesWindow(CTkToplevel):
def callbackSelectableLanguages(self, value, _e):
language, country = value.split("\n")
country = country[1:-1]
callback_value = {language: country}
language, country = value.split(" (")
country = country[:-1]
callback_value = {
"language" : language,
"country" : country,
}
set_value = f"{language}\n({country})"
if self.selectable_language_window_type == "your_language":
callback = self._view_variable.CALLBACK_SELECTED_YOUR_LANGUAGE
target_variable = self._view_variable.VAR_YOUR_LANGUAGE
@@ -59,7 +64,7 @@ class _CreateSelectableLanguagesWindow(CTkToplevel):
callback = self._view_variable.CALLBACK_SELECTED_TARGET_LANGUAGE
target_variable = self._view_variable.VAR_TARGET_LANGUAGE
target_variable.set(value)
target_variable.set(set_value)
callFunctionIfCallable(callback, callback_value)
self.vrct_gui._closeSelectableLanguagesWindow()