From 3565aad630864ecdbe53fdaa501ea708555b3c7c Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sun, 30 Apr 2023 18:30:36 -0400 Subject: New upstream version 3.4.4+dfsg. --- SQLiteStudio3/coreSQLiteStudio/translations.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'SQLiteStudio3/coreSQLiteStudio/translations.cpp') diff --git a/SQLiteStudio3/coreSQLiteStudio/translations.cpp b/SQLiteStudio3/coreSQLiteStudio/translations.cpp index dc53395..72883b7 100644 --- a/SQLiteStudio3/coreSQLiteStudio/translations.cpp +++ b/SQLiteStudio3/coreSQLiteStudio/translations.cpp @@ -22,10 +22,10 @@ void loadTranslation(const QString& baseName) QStringList filters = QStringList({baseName+"_"+lang+".qm"}); QDir dir; - for (const QString& dirPath : SQLITESTUDIO_TRANSLATION_DIRS) + for (QString& dirPath : SQLITESTUDIO_TRANSLATION_DIRS) { dir.setPath(dirPath); - for (const QString& f : dir.entryList(filters)) + for (QString& f : dir.entryList(filters)) { res = translator->load(f, dirPath); if (res) @@ -40,7 +40,10 @@ void loadTranslation(const QString& baseName) } if (!res) + { + delete translator; return; + } qApp->installTranslator(translator); SQLITESTUDIO_TRANSLATIONS[baseName] = translator; @@ -66,15 +69,15 @@ void loadTranslations(const QStringList& baseNames) QStringList getAvailableTranslations() { + static QRegularExpression re("[^\\_]+\\_(\\w+)\\.qm"); QSet locales; - QRegularExpression re("[^\\_]+\\_(\\w+)\\.qm"); QRegularExpressionMatch match; QDir dir; QStringList filters = QStringList({"*_*.qm"}); - for (const QString& dirPath : SQLITESTUDIO_TRANSLATION_DIRS) + for (QString& dirPath : SQLITESTUDIO_TRANSLATION_DIRS) { dir.setPath(dirPath); - for (const QString& f : dir.entryList(filters)) + for (QString& f : dir.entryList(filters)) { match = re.match(f); if (!match.isValid()) @@ -85,6 +88,10 @@ QStringList getAvailableTranslations() } locales << "en"; + // #4278 - the en_us translation as explicit qm file is unnecessary, + // but produced by CrowdIn. The "en" is default and used for American English. + locales.remove("en_us"); + return locales.values(); } @@ -114,5 +121,5 @@ void setDefaultLanguage(const QString& lang) QString getConfigLanguageDefault() { - return CFG_CORE.General.Language.getDefultValue().toString(); + return CFG_CORE.General.Language.getDefaultValue().toString(); } -- cgit v1.2.3