From 5d4e50c39e54d54832485852829c3b341579e044 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 4 Feb 2021 20:28:25 +1000 Subject: [PATCH] fix Qt translations in macOS packaged build --- qt/aqt/__init__.py | 10 +++++++++- qt/aqt/utils.py | 5 ++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/qt/aqt/__init__.py b/qt/aqt/__init__.py index 93192d574..fdadd0ec9 100644 --- a/qt/aqt/__init__.py +++ b/qt/aqt/__init__.py @@ -222,7 +222,15 @@ def setupLangAndBackend( # load qt translations _qtrans = QTranslator() - qt_dir = QLibraryInfo.location(QLibraryInfo.TranslationsPath) + + from aqt.utils import aqt_data_folder + + if isMac and getattr(sys, "frozen", False): + qt_dir = os.path.abspath( + os.path.join(aqt_data_folder(), "..", "qt_translations") + ) + else: + qt_dir = QLibraryInfo.location(QLibraryInfo.TranslationsPath) qt_lang = lang.replace("-", "_") if _qtrans.load("qtbase_" + qt_lang, qt_dir): app.installTranslator(_qtrans) diff --git a/qt/aqt/utils.py b/qt/aqt/utils.py index fd7dc6f47..46a6c5e64 100644 --- a/qt/aqt/utils.py +++ b/qt/aqt/utils.py @@ -53,7 +53,10 @@ def aqt_data_folder() -> str: if os.path.exists(dir): return dir # packaged install? - dir2 = os.path.join(sys.prefix, "aqt_data") + if isMac: + dir2 = os.path.join(sys.prefix, "..", "Resources", "aqt_data") + else: + dir2 = os.path.join(sys.prefix, "aqt_data") if os.path.exists(dir2): return dir2