From 6b5615ece918486a415f18fc514980de15ef6a7e Mon Sep 17 00:00:00 2001 From: Octol1ttle Date: Sun, 3 May 2026 16:23:45 +0500 Subject: [PATCH] fix(TranslationsModel): use proper way to get system locale Signed-off-by: Octol1ttle --- launcher/translations/TranslationsModel.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/launcher/translations/TranslationsModel.cpp b/launcher/translations/TranslationsModel.cpp index dea7241b2..9d5400634 100644 --- a/launcher/translations/TranslationsModel.cpp +++ b/launcher/translations/TranslationsModel.cpp @@ -433,7 +433,7 @@ std::optional TranslationsModel::findLanguageAsOptional(const QString& void TranslationsModel::setUseSystemLocale(bool useSystemLocale) { APPLICATION->settings()->set("UseSystemLocale", useSystemLocale); - QLocale::setDefault(QLocale(useSystemLocale ? QString::fromStdString(std::locale().name()) : defaultLangCode)); + QLocale::setDefault(useSystemLocale ? QLocale::system() : QLocale(defaultLangCode)); } bool TranslationsModel::selectLanguage(QString key) @@ -467,8 +467,8 @@ bool TranslationsModel::selectLanguage(QString key) * In a multithreaded application, the default locale should be set at application startup, before any non-GUI threads are created. * This function is not reentrant. */ - QLocale::setDefault( - QLocale(APPLICATION->settings()->get("UseSystemLocale").toBool() ? QString::fromStdString(std::locale().name()) : langCode)); + const bool useSystemLocale = APPLICATION->settings()->get("UseSystemLocale").toBool(); + QLocale::setDefault(useSystemLocale ? QLocale::system() : QLocale(langCode)); // if it's the default UI language, finish if (langCode == defaultLangCode) {