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

View File

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

View File

@@ -120,13 +120,6 @@ class Model:
langs.append(f"{lang}\n({country})") langs.append(f"{lang}\n({country})")
return sorted(langs) 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): 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()):

10
view.py
View File

@@ -1508,8 +1508,10 @@ class View():
# Update GuiVariable (view_variable) # Update GuiVariable (view_variable)
def updateGuiVariableByPresetTabNo(self, tab_no:str): def updateGuiVariableByPresetTabNo(self, tab_no:str):
self.view_variable.VAR_YOUR_LANGUAGE.set(config.SELECTED_TAB_YOUR_LANGUAGES[tab_no]) your_language, your_country = list(config.SELECTED_TAB_YOUR_LANGUAGES[tab_no].items())[0]
self.view_variable.VAR_TARGET_LANGUAGE.set(config.SELECTED_TAB_TARGET_LANGUAGES[tab_no]) 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): def updateList_selectableLanguages(self, new_selectable_language_list:list):
@@ -1651,11 +1653,11 @@ class View():
def printToTextbox_selectedYourLanguages(self, selected_your_language): 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)) self._printToTextbox_Info(i18n.t("main_window.textbox_system_message.selected_your_language", your_language=your_language))
def printToTextbox_selectedTargetLanguages(self, selected_target_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)) self._printToTextbox_Info(i18n.t("main_window.textbox_system_message.selected_target_language", target_language=target_language))
def printToTextbox_changedLanguagePresetTab(self, tab_no:str): def printToTextbox_changedLanguagePresetTab(self, tab_no:str):

View File

@@ -49,6 +49,9 @@ class _CreateSelectableLanguagesWindow(CTkToplevel):
def callbackSelectableLanguages(self, value, _e): 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": if self.selectable_language_window_type == "your_language":
callback = self._view_variable.CALLBACK_SELECTED_YOUR_LANGUAGE callback = self._view_variable.CALLBACK_SELECTED_YOUR_LANGUAGE
target_variable = self._view_variable.VAR_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 = self._view_variable.VAR_TARGET_LANGUAGE
target_variable.set(value) target_variable.set(value)
callFunctionIfCallable(callback, value) callFunctionIfCallable(callback, callback_value)
self.vrct_gui._closeSelectableLanguagesWindow() self.vrct_gui._closeSelectableLanguagesWindow()