diff options
| author | 2023-04-30 18:31:18 -0400 | |
|---|---|---|
| committer | 2023-04-30 18:31:18 -0400 | |
| commit | 4de57f628bc74f00ba1885e91c84ea07c5405d8f (patch) | |
| tree | 5d91900751e826d491ff1b2ebc571a787e84f864 /SQLiteStudio3/coreSQLiteStudio/translations.cpp | |
| parent | 74d881cefa9097e58e129e37b9c44d680d8c7dfe (diff) | |
| parent | 3565aad630864ecdbe53fdaa501ea708555b3c7c (diff) | |
Update upstream source from tag 'upstream/3.4.4+dfsg'
Update to upstream version '3.4.4+dfsg'
with Debian dir 482614bd23f0ef52dabc9803477204ad88e917ed
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(); } |
