diff options
author | Stiepen22 <stiepen22@gmx.de> | 2013-09-09 12:27:14 +0200 |
---|---|---|
committer | Stiepen22 <stiepen22@gmx.de> | 2013-09-09 12:27:14 +0200 |
commit | 2ae60038aaa36e91426b32667a2668aba8497dfc (patch) | |
tree | 616f333e02dcb66c4518edc8b039b716c22ba92c /MultiMC.cpp | |
parent | d6ba7d5494f14f67871366cf103452720a26fe88 (diff) | |
parent | 80107170a4d3ab1527a2e9079f6d9949c24b34aa (diff) | |
download | PrismLauncher-2ae60038aaa36e91426b32667a2668aba8497dfc.tar.gz PrismLauncher-2ae60038aaa36e91426b32667a2668aba8497dfc.tar.bz2 PrismLauncher-2ae60038aaa36e91426b32667a2668aba8497dfc.zip |
Merge branch 'feature_localization' of github.com:MultiMC/MultiMC5 into develop
Diffstat (limited to 'MultiMC.cpp')
-rw-r--r-- | MultiMC.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/MultiMC.cpp b/MultiMC.cpp index c93701b8..b49773a1 100644 --- a/MultiMC.cpp +++ b/MultiMC.cpp @@ -3,6 +3,8 @@ #include <iostream> #include <QDir> #include <QNetworkAccessManager> +#include <QTranslator> +#include <QLibraryInfo> #include "gui/mainwindow.h" #include "logic/lists/InstanceList.h" @@ -25,6 +27,8 @@ MultiMC::MultiMC ( int& argc, char** argv ) setOrganizationName("Forkk"); setApplicationName("MultiMC 5"); + initTranslations(); + // Print app header std::cout << "MultiMC 5" << std::endl; std::cout << "(c) 2013 MultiMC Contributors" << std::endl << std::endl; @@ -142,10 +146,64 @@ MultiMC::MultiMC ( int& argc, char** argv ) MultiMC::~MultiMC() { + if(m_mmc_translator) + { + removeTranslator(m_mmc_translator); + delete m_mmc_translator; + m_mmc_translator = nullptr; + } + if(m_qt_translator) + { + removeTranslator(m_qt_translator); + delete m_qt_translator; + m_qt_translator = nullptr; + } delete m_settings; delete m_metacache; } +void MultiMC::initTranslations() +{ + m_qt_translator = new QTranslator(); + if(m_qt_translator->load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath))) + { + std::cout + << "Loading Qt Language File for " + << QLocale::system().name().toLocal8Bit().constData() + << "..."; + if(!installTranslator(m_qt_translator)) + { + std::cout << " failed."; + } + std::cout << std::endl; + } + else + { + delete m_qt_translator; + m_qt_translator = nullptr; + } + + m_mmc_translator = new QTranslator(); + if(m_mmc_translator->load("mmc_" + QLocale::system().name(), QDir("translations").absolutePath())) + { + std::cout + << "Loading MMC Language File for " + << QLocale::system().name().toLocal8Bit().constData() + << "..."; + if(!installTranslator(m_mmc_translator)) + { + std::cout << " failed."; + } + std::cout << std::endl; + } + else + { + delete m_mmc_translator; + m_mmc_translator = nullptr; + } +} + + void MultiMC::initGlobalSettings() { m_settings = new INISettingsObject("multimc.cfg", this); @@ -228,6 +286,8 @@ int main(int argc, char *argv[]) MainWindow mainWin; mainWin.show(); + + switch(app.status()) { case MultiMC::Initialized: |