qml: add gettext-wrapping QTranslator
This commit is contained in:
@@ -15,11 +15,11 @@ try:
|
|||||||
except Exception:
|
except Exception:
|
||||||
sys.exit("Error: Could not import PyQt5.QtQml on Linux systems, you may try 'sudo apt-get install python3-pyqt5.qtquick'")
|
sys.exit("Error: Could not import PyQt5.QtQml on Linux systems, you may try 'sudo apt-get install python3-pyqt5.qtquick'")
|
||||||
|
|
||||||
from PyQt5.QtCore import (Qt, QCoreApplication, QObject, QLocale, QTimer, pyqtSignal,
|
from PyQt5.QtCore import (Qt, QCoreApplication, QObject, QLocale, QTranslator, QTimer, pyqtSignal,
|
||||||
QT_VERSION_STR, PYQT_VERSION_STR)
|
QT_VERSION_STR, PYQT_VERSION_STR)
|
||||||
from PyQt5.QtGui import QGuiApplication
|
from PyQt5.QtGui import QGuiApplication
|
||||||
|
|
||||||
from electrum.i18n import set_language, languages
|
from electrum.i18n import set_language, languages, language
|
||||||
from electrum.plugin import run_hook
|
from electrum.plugin import run_hook
|
||||||
from electrum.util import profiler
|
from electrum.util import profiler
|
||||||
from electrum.logging import Logger
|
from electrum.logging import Logger
|
||||||
@@ -32,6 +32,16 @@ if TYPE_CHECKING:
|
|||||||
|
|
||||||
from .qeapp import ElectrumQmlApplication, Exception_Hook
|
from .qeapp import ElectrumQmlApplication, Exception_Hook
|
||||||
|
|
||||||
|
class ElectrumTranslator(QTranslator):
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
super().__init__(parent)
|
||||||
|
|
||||||
|
def translate(self, context, source_text, disambiguation, n):
|
||||||
|
if source_text == "":
|
||||||
|
return ""
|
||||||
|
return language.gettext(source_text)
|
||||||
|
|
||||||
|
|
||||||
class ElectrumGui(Logger):
|
class ElectrumGui(Logger):
|
||||||
|
|
||||||
@profiler
|
@profiler
|
||||||
@@ -61,6 +71,8 @@ class ElectrumGui(Logger):
|
|||||||
self.gui_thread = threading.current_thread()
|
self.gui_thread = threading.current_thread()
|
||||||
self.plugins = plugins
|
self.plugins = plugins
|
||||||
self.app = ElectrumQmlApplication(sys.argv, config, daemon, plugins)
|
self.app = ElectrumQmlApplication(sys.argv, config, daemon, plugins)
|
||||||
|
self.translator = ElectrumTranslator()
|
||||||
|
self.app.installTranslator(self.translator)
|
||||||
|
|
||||||
# timer
|
# timer
|
||||||
self.timer = QTimer(self.app)
|
self.timer = QTimer(self.app)
|
||||||
|
|||||||
Reference in New Issue
Block a user