Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1:Ports
ki18n
fallbackLang.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fallbackLang.diff of Package ki18n
diff -urNB a/src/kcatalog.cpp b/src/kcatalog.cpp --- a/src/kcatalog.cpp 2015-06-06 23:17:35.000000000 +0200 +++ b/src/kcatalog.cpp 2015-06-12 11:18:12.263968360 +0200 @@ -110,26 +110,51 @@ QString KCatalog::catalogLocaleDir(const QByteArray &domain, const QString &language) { + QStringList localeDirs; + QString localeDir; QString relpath = QString::fromLatin1("%1/LC_MESSAGES/%2.mo") .arg(language, QFile::decodeName(domain)); + + // Specific SUSE kf5 location ; bundle-lang-bla ; update-translations ; generic + localeDirs << "/usr/share/locale/kf5/" << "/usr/share/locale-bundle/kf5/" << "/usr/share/locale-bundle/" << "/usr/share/locale-langpack/"; + + foreach (const QString &locDir, localeDirs) { + QFile file(locDir + relpath); + if (file.exists()) { + return locDir; + } + } + // Check the standard locations QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, - QString::fromLatin1("locale/") + relpath); - QString localeDir; - if (file.isEmpty()) { - localeDir = QString(); - } else { - // Path of the locale/ directory must be returned. + QString::fromLatin1("locale/") + relpath); + if (!file.isEmpty()) { localeDir = QFileInfo(file.left(file.size() - relpath.size())).absolutePath(); + return localeDir; } + // No translation around + localeDir = QString(); return localeDir; } QSet<QString> KCatalog::availableCatalogLanguages(const QByteArray &domain_) { QString domain = QFile::decodeName(domain_); - QStringList localeDirPaths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, - QString::fromLatin1("locale"), - QStandardPaths::LocateDirectory); + QStringList localeDirPaths; + QStringList localeDirs; + + // Specific SUSE kf5 location ; bundle-lang-bla ; update-translations ; generic + localeDirs << "/usr/share/locale/kf5" << "/usr/share/locale-bundle/kf5" << "/usr/share/locale-bundle" << "/usr/share/locale-langpack"; + + foreach (const QString &localeDir, localeDirs) { + QDir locDir(localeDir); + if (locDir.exists()) { + localeDirPaths.append(localeDir); + } + } + QStringList localeFallbackDirPaths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, + QString::fromLatin1("locale"), + QStandardPaths::LocateDirectory); + localeDirPaths.append(localeFallbackDirPaths); QSet<QString> availableLanguages; foreach (const QString &localDirPath, localeDirPaths) { QDir localeDir(localDirPath);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor