From 4293d6eca034a2d2aa6c391b8e6d03c49e3772bc Mon Sep 17 00:00:00 2001 From: SomberNight Date: Wed, 15 Sep 2021 19:52:40 +0200 Subject: [PATCH] kivy: settings: better handling of "default" language --- electrum/gui/kivy/uix/dialogs/settings.py | 15 +++++++++++---- electrum/i18n.py | 1 + 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/electrum/gui/kivy/uix/dialogs/settings.py b/electrum/gui/kivy/uix/dialogs/settings.py index 4bbf2a755..ab89d330f 100644 --- a/electrum/gui/kivy/uix/dialogs/settings.py +++ b/electrum/gui/kivy/uix/dialogs/settings.py @@ -1,3 +1,5 @@ +from typing import TYPE_CHECKING + from kivy.app import App from kivy.factory import Factory from kivy.properties import ObjectProperty @@ -14,6 +16,10 @@ from electrum.gui.kivy import KIVY_GUI_PATH from .choice_dialog import ChoiceDialog +if TYPE_CHECKING: + from ...main_window import ElectrumWindow + + Builder.load_string(''' #:import partial functools.partial #:import _ electrum.gui.kivy.i18n._ @@ -110,7 +116,7 @@ Builder.load_string(''' class SettingsDialog(Factory.Popup): - def __init__(self, app): + def __init__(self, app: 'ElectrumWindow'): self.app = app self.plugins = self.app.plugins self.config = self.app.electrum_config @@ -132,8 +138,9 @@ class SettingsDialog(Factory.Popup): self.has_pin_code = self.app.has_pin_code() self.enable_toggle_use_recoverable_channels = bool(self.wallet.lnworker and self.wallet.lnworker.has_deterministic_node_id()) - def get_language_name(self): - return languages.get(self.config.get('language', 'en_UK'), '') + def get_language_name(self) -> str: + lang = self.config.get('language') or '' + return languages.get(lang) or languages.get('') or '' def change_password(self, dt): self.app.change_password(self.update) @@ -143,7 +150,7 @@ class SettingsDialog(Factory.Popup): def language_dialog(self, item, dt): if self._language_dialog is None: - l = self.config.get('language', 'en_UK') + l = self.config.get('language') or '' def cb(key): self.config.set_key("language", key, True) item.lang = self.get_language_name() diff --git a/electrum/i18n.py b/electrum/i18n.py index a1d4089f0..15310b614 100644 --- a/electrum/i18n.py +++ b/electrum/i18n.py @@ -84,3 +84,4 @@ languages = { 'zh_CN': _('Chinese Simplified'), 'zh_TW': _('Chinese Traditional') } +assert '' in languages