summaryrefslogtreecommitdiffstats
path: root/src/sdk/installerbase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdk/installerbase.cpp')
-rw-r--r--src/sdk/installerbase.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/sdk/installerbase.cpp b/src/sdk/installerbase.cpp
index e6cf150ca..7613d12f4 100644
--- a/src/sdk/installerbase.cpp
+++ b/src/sdk/installerbase.cpp
@@ -272,12 +272,18 @@ int InstallerBase::run()
}
const QString directory = QLatin1String(":/translations");
+ // Check if there is a modified translation first to enable people
+ // to easily provide corrected translations to Qt/IFW for their installers
+ const QString newDirectory = QLatin1String(":/translations_new");
const QStringList translations = m_core->settings().translations();
if (translations.isEmpty()) {
foreach (const QLocale locale, QLocale().uiLanguages()) {
QScopedPointer<QTranslator> qtTranslator(new QTranslator(QCoreApplication::instance()));
- const bool qtLoaded = qtTranslator->load(locale, QLatin1String("qt"),
+ bool qtLoaded = qtTranslator->load(locale, QLatin1String("qt"),
+ QLatin1String("_"), newDirectory);
+ if (!qtLoaded)
+ qtLoaded = qtTranslator->load(locale, QLatin1String("qt"),
QLatin1String("_"), directory);
if (qtLoaded || locale.language() == QLocale::English) {
@@ -285,7 +291,10 @@ int InstallerBase::run()
QCoreApplication::instance()->installTranslator(qtTranslator.take());
QScopedPointer<QTranslator> ifwTranslator(new QTranslator(QCoreApplication::instance()));
- if (ifwTranslator->load(locale, QLatin1String("ifw"), QLatin1String("_"), directory))
+ bool ifwLoaded = ifwTranslator->load(locale, QLatin1String("ifw"), QLatin1String("_"), newDirectory);
+ if (!ifwLoaded)
+ ifwLoaded = ifwTranslator->load(locale, QLatin1String("ifw"), QLatin1String("_"), directory);
+ if (ifwLoaded)
QCoreApplication::instance()->installTranslator(ifwTranslator.take());
// To stop loading other translations it's sufficient that