From bcaecbdde1b39a88b3070288f2e689ddd860b898 Mon Sep 17 00:00:00 2001 From: nowrep Date: Fri, 17 Jan 2014 21:39:02 +0100 Subject: [PATCH] [Translations] Correctly load translation for non-translated countries Closes #1152 --- src/lib/app/mainapplication.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/lib/app/mainapplication.cpp b/src/lib/app/mainapplication.cpp index ccb4dbd95..1e1cd6ff5 100644 --- a/src/lib/app/mainapplication.cpp +++ b/src/lib/app/mainapplication.cpp @@ -762,6 +762,19 @@ void MainApplication::translateApp() file.append(".qm"); } + // If "xx_yy" translation doesn't exists, try to use "xx*" translation + // It can only happen when Language is chosen from system locale + + if (!file.isEmpty() && !QFile(TRANSLATIONSDIR + QLatin1String("/") + file).exists()) { + QDir translationsDir(TRANSLATIONSDIR); + QString lang = file.left(2) + QLatin1String("*.qm"); + + const QStringList translations = translationsDir.entryList(QStringList(lang)); + + // If no translation can be found, default English will be used + file = translations.isEmpty() ? QString() : translations.first(); + } + QTranslator* app = new QTranslator(this); app->load(file, TRANSLATIONSDIR);