🐛[bugfix] Config : 言語設定のlanguage, countryの表現方法を見直し

見直しに伴い、処理方法を修正
This commit is contained in:
misyaguziya
2024-03-08 01:25:54 +09:00
parent 3703406ff7
commit 7791f371b4
5 changed files with 44 additions and 42 deletions

View File

@@ -289,15 +289,17 @@ class Config:
@SELECTED_TAB_YOUR_LANGUAGES.setter
def SELECTED_TAB_YOUR_LANGUAGES(self, value):
if isinstance(value, dict):
value_old = self.SELECTED_TAB_YOUR_LANGUAGES
for k, v in value.items():
lang, country = v.split("\n")
country = country[1:-1]
if lang not in list(transcription_lang.keys()) or country not in list(transcription_lang[lang].keys()):
value[k] = value_old[k]
self._SELECTED_TAB_YOUR_LANGUAGES = value
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
try:
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()):
value[k] = value_old[k]
self._SELECTED_TAB_YOUR_LANGUAGES = value
except Exception:
pass
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('SELECTED_TAB_TARGET_LANGUAGES')
@@ -306,15 +308,17 @@ class Config:
@SELECTED_TAB_TARGET_LANGUAGES.setter
def SELECTED_TAB_TARGET_LANGUAGES(self, value):
if isinstance(value, dict):
value_old = self.SELECTED_TAB_TARGET_LANGUAGES
for k, v in value.items():
lang, country = v.split("\n")
country = country[1:-1]
if lang not in list(transcription_lang.keys()) or country not in list(transcription_lang[lang].keys()):
value[k] = value_old[k]
self._SELECTED_TAB_TARGET_LANGUAGES = value
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
try:
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()):
value[k] = value_old[k]
self._SELECTED_TAB_TARGET_LANGUAGES = value
except Exception:
pass
saveJson(self.PATH_CONFIG, inspect.currentframe().f_code.co_name, value)
@property
@json_serializable('SELECTED_TRANSCRIPTION_ENGINE')
@@ -898,14 +902,14 @@ class Config:
"3":"CTranslate2",
}
self._SELECTED_TAB_YOUR_LANGUAGES = {
"1":"Japanese\n(Japan)",
"2":"Japanese\n(Japan)",
"3":"Japanese\n(Japan)",
"1":{"Japanese":"Japan"},
"2":{"Japanese":"Japan"},
"3":{"Japanese":"Japan"},
}
self._SELECTED_TAB_TARGET_LANGUAGES = {
"1":"English\n(United States)",
"2":"English\n(United States)",
"3":"English\n(United States)",
"1":{"English":"United States"},
"2":{"English":"United States"},
"3":{"English":"United States"},
}
self._SELECTED_TRANSCRIPTION_ENGINE = "Google"
self._IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = False

View File

@@ -292,11 +292,11 @@ def initSetTranslateEngine():
def initSetLanguageAndCountry():
select = config.SELECTED_TAB_YOUR_LANGUAGES[config.SELECTED_TAB_NO]
language, country = model.getLanguageAndCountry(select)
language, country = list(select.items())[0]
config.SOURCE_LANGUAGE = language
config.SOURCE_COUNTRY = country
select = config.SELECTED_TAB_TARGET_LANGUAGES[config.SELECTED_TAB_NO]
language, country = model.getLanguageAndCountry(select)
language, country = list(select.items())[0]
config.TARGET_LANGUAGE = language
config.TARGET_COUNTRY = country
@@ -316,7 +316,7 @@ def setYourLanguageAndCountry(select):
languages = config.SELECTED_TAB_YOUR_LANGUAGES
languages[config.SELECTED_TAB_NO] = select
config.SELECTED_TAB_YOUR_LANGUAGES = languages
language, country = model.getLanguageAndCountry(select)
language, country = list(select.items())[0]
config.SOURCE_LANGUAGE = language
config.SOURCE_COUNTRY = country
updateTranslationEngineAndEngineList()
@@ -326,7 +326,7 @@ def setTargetLanguageAndCountry(select):
languages = config.SELECTED_TAB_TARGET_LANGUAGES
languages[config.SELECTED_TAB_NO] = select
config.SELECTED_TAB_TARGET_LANGUAGES = languages
language, country = model.getLanguageAndCountry(select)
language, country = list(select.items())[0]
config.TARGET_LANGUAGE = language
config.TARGET_COUNTRY = country
updateTranslationEngineAndEngineList()
@@ -355,13 +355,13 @@ def callbackSelectedLanguagePresetTab(selected_tab_no):
languages = config.SELECTED_TAB_YOUR_LANGUAGES
select = languages[config.SELECTED_TAB_NO]
language, country = model.getLanguageAndCountry(select)
language, country = list(select.items())[0]
config.SOURCE_LANGUAGE = language
config.SOURCE_COUNTRY = country
languages = config.SELECTED_TAB_TARGET_LANGUAGES
select = languages[config.SELECTED_TAB_NO]
language, country = model.getLanguageAndCountry(select)
language, country = list(select.items())[0]
config.TARGET_LANGUAGE = language
config.TARGET_COUNTRY = country
view.printToTextbox_changedLanguagePresetTab(config.SELECTED_TAB_NO)

View File

@@ -120,13 +120,6 @@ class Model:
langs.append(f"{lang}\n({country})")
return sorted(langs)
@staticmethod
def getLanguageAndCountry(select):
parts = select.split("\n")
language = parts[0]
country = parts[1][1:-1]
return language, country
def findTranslationEngines(self, source_lang, target_lang):
compatible_engines = []
for engine in list(translation_lang.keys()):

10
view.py
View File

@@ -1508,8 +1508,10 @@ class View():
# Update GuiVariable (view_variable)
def updateGuiVariableByPresetTabNo(self, tab_no:str):
self.view_variable.VAR_YOUR_LANGUAGE.set(config.SELECTED_TAB_YOUR_LANGUAGES[tab_no])
self.view_variable.VAR_TARGET_LANGUAGE.set(config.SELECTED_TAB_TARGET_LANGUAGES[tab_no])
your_language, your_country = list(config.SELECTED_TAB_YOUR_LANGUAGES[tab_no].items())[0]
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]
self.view_variable.VAR_TARGET_LANGUAGE.set(f"{target_language}\n({target_country})")
def updateList_selectableLanguages(self, new_selectable_language_list:list):
@@ -1651,11 +1653,11 @@ class View():
def printToTextbox_selectedYourLanguages(self, selected_your_language):
your_language = selected_your_language.replace("\n", " ")
your_language = ' '.join(f'{k} {v}' for k, v in selected_your_language.items())
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 = selected_target_language.replace("\n", " ")
target_language = ' '.join(f'{k} {v}' for k, v in selected_target_language.items())
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,6 +49,9 @@ class _CreateSelectableLanguagesWindow(CTkToplevel):
def callbackSelectableLanguages(self, value, _e):
language, country = value.split("\n")
country = country[1:-1]
callback_value = {language: 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
@@ -57,7 +60,7 @@ class _CreateSelectableLanguagesWindow(CTkToplevel):
target_variable = self._view_variable.VAR_TARGET_LANGUAGE
target_variable.set(value)
callFunctionIfCallable(callback, value)
callFunctionIfCallable(callback, callback_value)
self.vrct_gui._closeSelectableLanguagesWindow()