diff options
| author | 2023-04-30 18:30:36 -0400 | |
|---|---|---|
| committer | 2023-04-30 18:30:36 -0400 | |
| commit | 3565aad630864ecdbe53fdaa501ea708555b3c7c (patch) | |
| tree | c743e4ad0bad39ebdb2f514c7cc52d34a257ebbe /SQLiteStudio3/coreSQLiteStudio/translations.cpp | |
| parent | 1fdc150116cad39aae5c5da407c3312b47a59e3a (diff) | |
New upstream version 3.4.4+dfsg.upstream/3.4.4+dfsg
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/translations.cpp')
| -rw-r--r-- | SQLiteStudio3/coreSQLiteStudio/translations.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
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<QString> 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(); } |
