From f0be0e8855ccf7cb60422c820439fb51a02749cf Mon Sep 17 00:00:00 2001 From: JP Cimalando Date: Thu, 21 Mar 2019 20:57:08 +0100 Subject: [PATCH] Search and load translation files at frontend startup --- source/frontend/carla_app.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/source/frontend/carla_app.py b/source/frontend/carla_app.py index b0d6a8662..f4322dfdf 100644 --- a/source/frontend/carla_app.py +++ b/source/frontend/carla_app.py @@ -19,7 +19,7 @@ # ------------------------------------------------------------------------------------------------------------ # Imports (Global) -from PyQt5.QtCore import QT_VERSION, Qt, QCoreApplication, QSettings +from PyQt5.QtCore import QT_VERSION, Qt, QCoreApplication, QSettings, QTranslator, QLocale, QLibraryInfo from PyQt5.QtGui import QColor, QPalette from PyQt5.QtWidgets import QApplication @@ -57,6 +57,22 @@ class CarlaApplication(object): else: stylesDir = "" + # Set up translations + currentLocale = QLocale() + appTranslator = QTranslator() + sysTranslator = None + pathTranslations = os.path.join(pathResources, "translations") + if appTranslator.load(currentLocale, "carla", "_", pathTranslations): + sysTranslator = QTranslator() + pathSysTranslations = pathTranslations + if not sysTranslator.load(currentLocale, "qt", "_", pathSysTranslations): + pathSysTranslations = QLibraryInfo.location(QLibraryInfo.TranslationsPath) + sysTranslator.load(currentLocale, "qt", "_", pathSysTranslations) + else: + appTranslator = None + self.fAppTranslator = appTranslator + self.fSysTranslator = sysTranslator + # base settings settings = QSettings("falkTX", appName) useProTheme = MACOS or settings.value(CARLA_KEY_MAIN_USE_PRO_THEME, CARLA_DEFAULT_MAIN_USE_PRO_THEME, type=bool) @@ -234,6 +250,10 @@ class CarlaApplication(object): self.fApp.setApplicationVersion(VERSION) self.fApp.setOrganizationName("falkTX") + if self.fAppTranslator is not None: + self.fApp.installTranslator(self.fAppTranslator) + self.fApp.installTranslator(self.fSysTranslator) + if gCarla.nogui: return