Hi,

I am the main developer of Skrooge and I have a problem since I migrated
to Qt5/Kf5.

Indeed, even if Skrooge is translated in many languages, only 3 are
available in "Switch Application Language".


Be aware that, if I click on "Réglages par défaut" the application is
translated in french even if french is not available in the list.

I tried to analyse with and here is my understanding:
1-Available languages are installed like this:

    /usr/share/locale/ast/LC_MESSAGES/skrooge.mo
    ...
    /usr/share/locale/ca@valencia/LC_MESSAGES/skrooge.mo
    ...
    /usr/share/locale/en_GB/LC_MESSAGES/skrooge.mo
    ...
    /usr/share/locale/fr/LC_MESSAGES/skrooge.mo
    ...
    /usr/share/locale/pt_BR/LC_MESSAGES/skrooge.mo
    ...
    /usr/share/locale/zh_CN/LC_MESSAGES/skrooge.mo
    /usr/share/locale/zh_TW/LC_MESSAGES/skrooge.mo

2-To fill the list, KSwitchLanguageDialog calls this method:

    void
    KSwitchLanguageDialogPrivate::fillApplicationLanguages(KLanguageButton
    *button)
    {
        QLocale defaultLocale;
        QLocale cLocale(QLocale::C);
        QLocale::setDefault(cLocale);
        //we start with 2, because the 0 is AnyLanguage and 1 is C
        for (int i = 2; i <= QLocale::LastLanguage; ++i) {
            QLocale l(static_cast<QLocale::Language>(i));
            QString languageCode = l.name();
            if (l != cLocale &&
    KLocalizedString::isApplicationTranslatedInto(languageCode)) {
                button->insertLanguage(languageCode);
            }
        }
        QLocale::setDefault(defaultLocale);
    }

3-For french, the languageCode is set to "fr_FR" and
KLocalizedString::isApplicationTranslatedInto(languageCode) return false.
This is normal, because the language code is "fr" and not "fr_FR"

4-If I do "sudo cp /usr/share/locale/fr/LC_MESSAGES/skrooge.mo
/usr/share/locale/fr_FR/LC_MESSAGES/skrooge.mo" then french is available
in the list.

So, all languages with two digits are not available in "Switch
Application Language".

*M**y question:*
Is it a bug in KSwitchLanguageDialog or is it due to a bad installation
of skrooge.mo file (for information, I use releaseme script) ?

Regards.
Stephane


>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Reply via email to