#include "languagemanager.h" #include #include #include LanguageManager *LanguageManager::m_languageManager = NULL; LanguageManager::LanguageManager(QObject *parent) : QObject{parent} { m_translator = new QTranslator(this); getConfigLanguage(); } LanguageManager *LanguageManager::getInstance() { if(!m_languageManager) m_languageManager = new LanguageManager(); return m_languageManager; } void LanguageManager::setCurrentLanguage(E_LANGUAGE language) { switch(language) { case English_E: if(m_translator->load("./UpLowLimp_EN.qm")) qApp->installTranslator(m_translator); break; case Chinese_E: if(m_translator->load("./UpLowLimp_CN.qm")) qApp->installTranslator(m_translator); break; } m_language = language; // emit signalLanguageChanged(m_language); QString dirPath = QApplication::applicationDirPath() + "/conf/"; QDir confdir(dirPath); if(!confdir.exists()) confdir.mkdir(dirPath); QString confFile(dirPath + "IDconf.ini"); QSettings iniSetting(confFile, QSettings::IniFormat); iniSetting.setValue("language",language); } E_LANGUAGE LanguageManager::getCurrentLanguage() { return m_language; } E_LANGUAGE LanguageManager::getConfigLanguage() { QString dirPath = QApplication::applicationDirPath() + "/conf/"; QDir confdir(dirPath); if(!confdir.exists()) confdir.mkdir(dirPath); QString confFile(dirPath + "IDconf.ini"); QSettings iniSetting(confFile, QSettings::IniFormat); int value = iniSetting.value("language").toUInt(); m_language = E_LANGUAGE(value); return m_language; }