From ce250a863bce3198096e65d4c7a68269495302dd Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Thu, 26 Jul 2018 22:58:40 +0200 Subject: [PATCH] common: Initialize translations in Quassel::init() In order to have localized strings during initialization, e.g. for command line options, the translation catalogue must be loaded early. Since at this point the UI configuration is not available yet, the system locale is used. QtUi will reload translations afterwards later if a language different from the system locale is configured for the UI. --- src/common/quassel.cpp | 8 ++++++-- src/core/core.cpp | 4 ---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/common/quassel.cpp b/src/common/quassel.cpp index b7a6fbfb..ee8876f3 100644 --- a/src/common/quassel.cpp +++ b/src/common/quassel.cpp @@ -70,6 +70,9 @@ void Quassel::init(RunMode runMode) setupEnvironment(); registerMetaTypes(); + // Initial translation (may be overridden in UI settings) + loadTranslation(QLocale::system()); + Network::setDefaultCodecForServer("UTF-8"); Network::setDefaultCodecForEncoding("UTF-8"); Network::setDefaultCodecForDecoding("ISO-8859-15"); @@ -536,11 +539,9 @@ void Quassel::loadTranslation(const QLocale &locale) qtTranslator = new QTranslator(qApp); qtTranslator->setObjectName("QtTr"); - qApp->installTranslator(qtTranslator); quasselTranslator = new QTranslator(qApp); quasselTranslator->setObjectName("QuasselTr"); - qApp->installTranslator(quasselTranslator); #ifndef Q_OS_MAC bool success = qtTranslator->load(locale, QString("qt_"), translationDirPath()); @@ -553,6 +554,9 @@ void Quassel::loadTranslation(const QLocale &locale) qtTranslator->load(QString("qt_%1").arg(locale.name()), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); quasselTranslator->load(QString("%1").arg(locale.name()), translationDirPath()); #endif + + qApp->installTranslator(quasselTranslator); + qApp->installTranslator(qtTranslator); } diff --git a/src/core/core.cpp b/src/core/core.cpp index 2634dd28..db30b308 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -91,10 +91,6 @@ void Core::init() { _startTime = QDateTime::currentDateTime().toUTC(); // for uptime :) - if (Quassel::runMode() == Quassel::RunMode::CoreOnly) { - Quassel::loadTranslation(QLocale::system()); - } - // check settings version // so far, we only have 1 CoreSettings s; -- 2.20.1