39 lines
777 B
C++
39 lines
777 B
C++
|
|
#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);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|