fix(translations): do not reset user language if translations index is missing

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
This commit is contained in:
Octol1ttle 2026-05-07 20:15:38 +05:00
parent 49aef77f3f
commit d59b4b0ad7
No known key found for this signature in database
GPG key ID: B77C34313AEE1FFF
2 changed files with 8 additions and 12 deletions

View file

@ -1018,12 +1018,9 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
// load translations
{
m_translations.reset(new TranslationsModel("translations"));
auto bcp47Name = m_settings->get("Language").toString();
m_translations->selectLanguage(bcp47Name);
qInfo() << "Your language is" << bcp47Name;
qInfo() << "<> Translations loaded.";
m_translations->downloadIndex();
qInfo() << "Your language is" << m_translations->selectedLanguage();
qInfo() << "<> Translations loaded.";
}
// FIXME: what to do with these?

View file

@ -179,6 +179,7 @@ TranslationsModel::TranslationsModel(const QString& path, QObject* parent) : QAb
{
d = std::make_unique<Private>();
d->m_dir.setPath(path);
d->m_selectedLanguage = APPLICATION->settings()->get("Language").toString();
FS::ensureFolderPathExists(path);
reloadLocalFiles();
@ -202,22 +203,20 @@ void TranslationsModel::indexReceived()
{
qDebug() << "Got translations index!";
d->m_indexJob.reset();
reloadLocalFiles();
if (d->m_noLanguageSet) {
reloadLocalFiles();
auto language = getSystemLocaleName();
if (!findLanguageAsOptional(language).has_value()) {
language = getSystemLanguage();
}
selectLanguage(language);
if (selectedLanguage() != g_defaultLangCode) {
updateLanguage(selectedLanguage());
}
APPLICATION->settings()->set("Language", selectedLanguage());
d->m_noLanguageSet = false;
} else if (d->m_selectedLanguage != g_defaultLangCode) {
downloadTranslation(d->m_selectedLanguage);
}
if (selectedLanguage() != g_defaultLangCode) {
updateLanguage(selectedLanguage());
}
}