From 51be349c748e11868ae948b81d659025151a593d Mon Sep 17 00:00:00 2001 From: Martin Kleusberg Date: Sat, 24 May 2014 20:01:22 +0200 Subject: [PATCH] Fix loading of translation files The QTranslator objects need to be stored as class attributes as otherwise they are destroyed after the Application constructor is done and translations won't work. --- src/Application.cpp | 14 +++++++------- src/Application.h | 3 +++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/Application.cpp b/src/Application.cpp index b295f9b5..c7937d31 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -22,13 +22,13 @@ Application::Application(int& argc, char** argv) : QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); #endif - // Enable translation - QTranslator translator; - translator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); - installTranslator(&translator); - QTranslator apptranslator; - apptranslator.load("translations/tr_" + QLocale::system().name()); - installTranslator(&apptranslator); + // Load translations + m_translatorQt = new QTranslator(); + m_translatorQt->load("qt_de"/* + QLocale::system().name()*/, QLibraryInfo::location(QLibraryInfo::TranslationsPath)); + installTranslator(m_translatorQt); + m_translatorApp = new QTranslator(); + m_translatorApp->load("tr_de", "translations");// + QLocale::system().name()); + installTranslator(m_translatorApp); // Parse command line QString fileToOpen; diff --git a/src/Application.h b/src/Application.h index dbc4feb5..edbb8d52 100644 --- a/src/Application.h +++ b/src/Application.h @@ -4,6 +4,7 @@ #include class MainWindow; +class QTranslator; class Application : public QApplication { @@ -20,6 +21,8 @@ protected: private: bool m_dontShowMainWindow; MainWindow* m_mainWindow; + QTranslator* m_translatorQt; + QTranslator* m_translatorApp; }; #endif