Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 480724

Summary: Localization broken in kde-native dialogs used in Qt-based applications
Product: Gentoo Linux Reporter: Egor Y. Egorov <egorov_egor>
Component: [OLD] KDEAssignee: Gentoo KDE team <kde>
Status: RESOLVED UPSTREAM    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://bugs.kde.org/show_bug.cgi?id=337848
Whiteboard:
Package list:
Runtime testing required: ---

Description Egor Y. Egorov 2013-08-12 12:58:06 UTC
Build test Qt-application:
#include <QtGui>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    bool ok;
    QFileDialog::getExistingDirectory();
    QColorDialog::getColor ();
    QFontDialog::getFont(&ok);
    QTimer::singleShot(1000, QApplication::instance(), SLOT(quit()));
    return a.exec();
}

and run in KDE environment.


Reproducible: Always

Steps to Reproduce:
Build test Qt-application:
#include <QtGui>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    bool ok;
    QFileDialog::getExistingDirectory();
    QColorDialog::getColor ();
    QFontDialog::getFont(&ok);
    QTimer::singleShot(1000, QApplication::instance(), SLOT(quit()));
    return a.exec();
}

and run in KDE environment with not default locale (ru_RU.UTF-8 in my case)
Actual Results:  
Dialogs are not localized.

Expected Results:  
Dialogs are localized.


In strace log we can see:
access("/home/eegorov/.kde4/share/locale/ru/LC_MESSAGES/kfilemodule.mo", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/locale/ru/LC_MESSAGES/kfilemodule.mo", R_OK) = -1 ENOENT (No such file or directory)
access("/home/eegorov/.kde4/share/locale/ru_RU/LC_MESSAGES/kfilemodule.mo", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/locale/ru_RU/LC_MESSAGES/kfilemodule.mo", R_OK) = -1 ENOENT (No such file or directory)
access("/home/eegorov/.kde4/share/locale/ru/LC_MESSAGES/kfilemodule.mo", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/locale/ru/LC_MESSAGES/kfilemodule.mo", R_OK) = -1 ENOENT (No such file or directory)
access("/home/eegorov/.kde4/share/locale/ru_RU/LC_MESSAGES/kfilemodule.mo", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/locale/ru_RU/LC_MESSAGES/kfilemodule.mo", R_OK) = -1 ENOENT (No such file or directory)
access("/home/eegorov/.kde4/share/locale/ru/LC_MESSAGES/kfilemodule.mo", R_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/locale/ru/LC_MESSAGES/kfilemodule.mo", R_OK) = -1 ENOENT (No such file or directory)
access("/home/eegorov/.kde4/share/locale/en_US/LC_MESSAGES/kdelibs4.mo", R_OK) = -1 ENOENT (No such file or directory)

=> workaround:

mkdir -p ~/.kde4/share/locale/ru/LC_MESSAGES/
cd ~/.kde4/share/locale/ru/LC_MESSAGES/
ln -s /usr/share/locale/ru/LC_MESSAGES/kdialog.mo kfilemodule.mo

After this all localized fine.
Comment 1 Egor Y. Egorov 2013-08-12 15:57:28 UTC
I do not know, this is gentoo bug or upstream bug. But maybe it makes sense to install links kfilemodule.mo -> kdialog.mo in /usr/share/locale/<lang>/LC_MESSAGES/ by kde-base/kde-l10n ebuld?
Comment 2 Johannes Huber (RETIRED) gentoo-dev 2013-11-03 12:59:33 UTC
Is this still valid with testing qt (4.8.5) and kde (4.11.2) version?
Comment 3 Egor Y. Egorov 2013-11-03 13:38:14 UTC
Yes. Bug is still with qt-4.8.5 on kde-4.11.2
Comment 4 Egor Y. Egorov 2014-04-30 06:04:52 UTC
Bug is still with qt-4.8.5 on kde-4.13.0
Comment 5 Michael Palimaka (kensington) gentoo-dev 2014-05-01 11:24:07 UTC
This should probably go upstream I guess.
Comment 6 Johannes Huber (RETIRED) gentoo-dev 2014-07-25 19:45:32 UTC
Please report this upstream. This looks not like an packaging issue. If it turns out that this is a Gentoo specific problem, please re-open this bug.