From 5df521eb70991152a3775f0f69b3557ab0e396ab Mon Sep 17 00:00:00 2001 From: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com> Date: Tue, 14 Feb 2023 14:01:40 -0300 Subject: [PATCH] misc: fix plugin translation Change-Id: Ia94e47c26ded5f3d7271c1d81253eca6d67001dd --- src/app/appsettingsmanager.cpp | 11 ++++++++--- src/app/appsettingsmanager.h | 1 + src/app/mainapplication.cpp | 2 +- src/app/messagesadapter.cpp | 18 ++++++------------ 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/app/appsettingsmanager.cpp b/src/app/appsettingsmanager.cpp index 6e1f37d26..5ee0d1dfb 100644 --- a/src/app/appsettingsmanager.cpp +++ b/src/app/appsettingsmanager.cpp @@ -57,6 +57,13 @@ AppSettingsManager::setValue(const Settings::Key key, const QVariant& value) settings_->setValue(Settings::toString(key), value); } +QString +AppSettingsManager::getLanguage() +{ + auto pref = getValue(Settings::Key::LANG).toString(); + return pref == "SYSTEM" ? QLocale::system().name() : pref; +} + void AppSettingsManager::loadTranslations() { @@ -75,9 +82,7 @@ AppSettingsManager::loadTranslations() qApp->removeTranslator(tr); installedTr_.clear(); - auto pref = getValue(Settings::Key::LANG).toString(); - - QString locale_name = pref == "SYSTEM" ? QLocale::system().name() : pref; + QString locale_name = getLanguage(); qDebug() << QString("Using locale: %1").arg(locale_name); QString locale_lang = locale_name.split('_')[0]; diff --git a/src/app/appsettingsmanager.h b/src/app/appsettingsmanager.h index 7b3b20305..1425440f4 100644 --- a/src/app/appsettingsmanager.h +++ b/src/app/appsettingsmanager.h @@ -111,6 +111,7 @@ public: Q_INVOKABLE QVariant getValue(const Settings::Key key); Q_INVOKABLE void setValue(const Settings::Key key, const QVariant& value); + QString getLanguage(); void loadTranslations(); diff --git a/src/app/mainapplication.cpp b/src/app/mainapplication.cpp index 64ad3b27f..b310cfbb8 100644 --- a/src/app/mainapplication.cpp +++ b/src/app/mainapplication.cpp @@ -132,7 +132,7 @@ MainApplication::init() setWindowIcon(QIcon(":/images/jami.ico")); Utils::removeOldVersions(); - qputenv("JAMI_LANG", settingsManager_->getValue(Settings::Key::LANG).toByteArray()); + qputenv("JAMI_LANG", settingsManager_->getLanguage().toUtf8()); settingsManager_->loadTranslations(); setApplicationFont(); diff --git a/src/app/messagesadapter.cpp b/src/app/messagesadapter.cpp index e10bf3583..cb1e5648f 100644 --- a/src/app/messagesadapter.cpp +++ b/src/app/messagesadapter.cpp @@ -688,14 +688,11 @@ MessagesAdapter::getFormattedTime(const quint64 timestamp) auto interval = qFloor(seconds / 60); if (interval > 1) { - auto curLang = settingsManager_->getValue(Settings::Key::LANG); - auto curLocal(QLocale(curLang.toString())); + auto curLang = settingsManager_->getLanguage(); + auto curLocal = QLocale(curLang); auto curTime = QDateTime::fromSecsSinceEpoch(timestamp).time(); QString timeLocale; - if (curLang == "SYSTEM") - timeLocale = QLocale::system().toString(curTime, QLocale::system().ShortFormat); - else - timeLocale = curLocal.toString(curTime, curLocal.ShortFormat); + timeLocale = curLocal.toString(curTime, curLocal.ShortFormat); return timeLocale; } @@ -722,14 +719,11 @@ MessagesAdapter::getFormattedDay(const quint64 timestamp) if (timestampDate.daysTo(currentDate) == 1) return QObject::tr("Yesterday"); - auto curLang = settingsManager_->getValue(Settings::Key::LANG); - auto curLocal(QLocale(curLang.toString())); + auto curLang = settingsManager_->getLanguage(); + auto curLocal = QLocale(curLang); auto curDate = QDateTime::fromSecsSinceEpoch(timestamp).date(); QString dateLocale; - if (curLang == "SYSTEM") - dateLocale = QLocale::system().toString(curDate, QLocale::system().ShortFormat); - else - dateLocale = curLocal.toString(curDate, curLocal.ShortFormat); + dateLocale = curLocal.toString(curDate, curLocal.ShortFormat); return dateLocale; } -- GitLab