--- a/src/i18n/kcatalog.cpp +++ b/src/i18n/kcatalog.cpp @@ -158,6 +158,8 @@ QString KCatalog::catalogLocaleDir(const #if defined(Q_OS_ANDROID) return androidUnpackCatalog(relpath); #else + if( QFileInfo(QStringLiteral("/usr/share/kf5/locale/") + relpath).isFile() ) + return QStringLiteral("/usr/share/kf5/locale"); QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("locale/") + relpath); #ifdef Q_OS_WIN // QStandardPaths fails on Windows for executables that aren't properly deployed yet, such as unit tests @@ -182,6 +184,8 @@ QSet KCatalog::availableCatalog { QString domain = QFile::decodeName(domain_); QStringList localeDirPaths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("locale"), QStandardPaths::LocateDirectory); + localeDirPaths.removeAll(QStringLiteral("/usr/share/kf5/locale")); + localeDirPaths.prepend(QStringLiteral("/usr/share/kf5/locale")); #ifdef Q_OS_WIN // QStandardPaths fails on Windows for executables that aren't properly deployed yet, such as unit tests localeDirPaths += QLatin1String(INSTALLED_LOCALE_PREFIX) + QLatin1String("/bin/data/locale/");