Summary: | Not all installed languages are visible on Windows | ||
---|---|---|---|
Product: | [Unmaintained] kdelibs | Reporter: | Ralf Habacker <ralf.habacker> |
Component: | klocale | Assignee: | Chusslove Illich <caslav.ilic> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | CC: | christoph, trustno12003 |
Priority: | NOR | ||
Version: | 4.14.0 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Microsoft Windows | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Bug Depends on: | |||
Bug Blocks: | 403474 |
Description
Ralf Habacker
2017-07-10 11:04:14 UTC
https://github.com/KDE/kdelibs/blob/KDE/4.14/kdecore/localization/klocale_win.cpp#L30 indicates that on Windows KDE applications are bound to the language of the windows Gui. To verify that language selection for other language beside german works too it would be nice if people having a Windows >= 7 system with other gui language would check this on there local workstation. KMymoney 4.8.0 installer on Windows shows the same behavior which confirms the assumption made in comment 1 *** Bug 388906 has been marked as a duplicate of this bug. *** Looking at the implementation of KLocale on Windows shows that there is currently no support for choosing a different language beside the users default language (see https://cgit.kde.org/kdelibs.git/tree/kdecore/localization/klocale_win.cpp?h=KDE/4.14#n39) A forward look to KF5: 1. The issue has not been fixed in the KF5 variant of KLocale (https://cgit.kde.org/kdelibs4support.git/tree/src/kdecore/klocale_win.cpp#n39) 2. The Qt equivalent class QLocale is also limited to the default language of the current user (see https://code.woboq.org/qt5/qtbase/src/corelib/tools/qlocale_win.cpp.html#171) (In reply to Ralf Habacker from comment #4) > Looking at the implementation of KLocale on Windows shows that there is > currently no support for choosing a different language beside the users > default language (see > https://cgit.kde.org/kdelibs.git/tree/kdecore/localization/klocale_win. > cpp?h=KDE/4.14#n39) The current implementation inits a locale id by m_winLocaleId = GetUserDefaultLCID(); and later use this with in QString KLocaleWindowsPrivate::windowsLocaleValue( LCTYPE key ) const to access locale related values identified by this locale id (https://cgit.kde.org/kdelibs.git/tree/kdecore/localization/klocale_win.cpp?h=KDE/4.14#n68). A change would req (In reply to Ralf Habacker from comment #5) > A change would req A change would require to change https://cgit.kde.org/kdelibs4support.git/tree/src/kdecore/klocale_win.cpp#n35 to get a locale id from given language and country. It has been tried to use the unix related klocale implementation (klocale_unix.cpp ) on Windows too. After choosing a language different from the system language in kmymoney help menu, the splashscreen is shown in english, but not the expected language. The ui is still bound to the system language. Also using the klocale unix implementation 'klocale_unix.cpp' instead of 'klocale_win.cpp' does not solve the problem. There is more analysis required. Hi, the KDE libaries and applications version 4.x are obsolete and got replaced with Frameworks 5 and now 6 based variants that are still maintained. The issue in this bug doesn't seem to happen for me with these versions. |