From: Manuel Nickschas Date: Wed, 11 Feb 2009 22:22:59 +0000 (+0100) Subject: Show entries from translationDir rather than :/i18n in settingspage X-Git-Tag: 0.4.0~80 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=b5934d8188cbb1919a320c26cea323568243cb85 Show entries from translationDir rather than :/i18n in settingspage --- diff --git a/src/common/quassel.cpp b/src/common/quassel.cpp index e74d6059..50651bd8 100644 --- a/src/common/quassel.cpp +++ b/src/common/quassel.cpp @@ -336,10 +336,10 @@ QString Quassel::findDataFilePath(const QString &fileName) { return QString(); } -void Quassel::loadTranslation(const QLocale &locale) { +QString Quassel::translationDirPath() { if(_translationDirPath.isEmpty()) { // We support only one translation dir; fallback mechanisms wouldn't work else. - // This means that if we have a $data/i18n dir, the internal :/i18n resource won't be considered. + // This means that if we have a $data/translations dir, the internal :/i18n resource won't be considered. foreach(const QString &dir, dataDirPaths()) { if(QFile::exists(dir + "translations/")) { _translationDirPath = dir + "translations/"; @@ -349,7 +349,10 @@ void Quassel::loadTranslation(const QLocale &locale) { if(_translationDirPath.isEmpty()) _translationDirPath = ":/i18n/"; } + return _translationDirPath; +} +void Quassel::loadTranslation(const QLocale &locale) { QTranslator *qtTranslator = QCoreApplication::instance()->findChild("QtTr"); QTranslator *quasselTranslator = QCoreApplication::instance()->findChild("QuasselTr"); @@ -369,8 +372,8 @@ void Quassel::loadTranslation(const QLocale &locale) { if(locale.language() == QLocale::C) return; - bool success = qtTranslator->load(QString("qt_%1").arg(locale.name()), _translationDirPath); + bool success = qtTranslator->load(QString("qt_%1").arg(locale.name()), translationDirPath()); if(!success) qtTranslator->load(QString("qt_%1").arg(locale.name()), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); - quasselTranslator->load(QString("quassel_%1").arg(locale.name()), _translationDirPath); + quasselTranslator->load(QString("quassel_%1").arg(locale.name()), translationDirPath()); } diff --git a/src/common/quassel.h b/src/common/quassel.h index 20949951..7e78f73d 100644 --- a/src/common/quassel.h +++ b/src/common/quassel.h @@ -82,6 +82,8 @@ public: */ static QString findDataFilePath(const QString &filename); + static QString translationDirPath(); + static void loadTranslation(const QLocale &locale); static inline void setCliParser(AbstractCliParser *cliParser); diff --git a/src/qtui/settingspages/appearancesettingspage.cpp b/src/qtui/settingspages/appearancesettingspage.cpp index 516c81cc..24dfc7b6 100644 --- a/src/qtui/settingspages/appearancesettingspage.cpp +++ b/src/qtui/settingspages/appearancesettingspage.cpp @@ -58,7 +58,7 @@ void AppearanceSettingsPage::initStyleComboBox() { } void AppearanceSettingsPage::initLanguageComboBox() { - QDir i18nDir(":/i18n", "quassel_*.qm"); + QDir i18nDir(Quassel::translationDirPath(), "quassel_*.qm"); foreach(QString translationFile, i18nDir.entryList()) { QString localeName(translationFile.mid(8));