Files
GUI/src/utilities/LanguageSwitcher.cpp

39 lines
777 B
C++
Raw Normal View History

2022-06-13 13:26:49 +08:00
#include "LanguageSwitcher.h"
#include "event/EventCenter.h"
LanguageSwitcher* LanguageSwitcher::getInstance()
{
static LanguageSwitcher instance;
return &instance;
}
LanguageSwitcher::LanguageSwitcher()
: QObject()
, mTranslator(new QTranslator(this))
{
}
LanguageSwitcher::~LanguageSwitcher()
{
}
void LanguageSwitcher::setTranslator(TranslatorPointer aTranslator)
{
mTranslator = aTranslator;
}
QTranslator* LanguageSwitcher::getTranslator()
{
return mTranslator.get();
}
void LanguageSwitcher::setDefaultLanguage(const QString aLanguage)
{
QString language = QString(":/translations/" + aLanguage + ".qm");
if (mTranslator->load(language))
{
EventCenter::Default()->triggerEvent(ReloadLanguage, nullptr, nullptr);
}
}