Created attachment 190348 [details] UI elements in a mess SUMMARY When run as `LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:en_US:C plasma-discover`, all UI elements like texts and images are all overlapped into the same place. The same also happens with `LANG=ja_JP.UTF-8 LANGUAGE=ja_JP:en_US:C plasma-discover`, but not with `LANG=en_US.UTF-8 LANGUAGE=en_US:C plasma-discover`. STEPS TO REPRODUCE 1. Run `LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:en_US:C plasma-discover` OBSERVED RESULT UI is a mess. EXPECTED RESULT Normal Discover home page. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.6.2 KDE Frameworks Version: 6.23.0 Qt Version: 6.10.2 Kernel Version: 6.18.13-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 PRO 6850HS with Radeon Graphics Memory: 16 GiB of RAM (14.9 GiB usable) Graphics Processor: AMD Radeon Graphics ADDITIONAL INFORMATION
Created attachment 190349 [details] stdout and stderr Output from `LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:en_US:C plasma-discover 2>/tmp/discover.log`
Looks identical to what I reported in Bug 514542, but for Arabic. Does the problem go away if you unset LANGUAGE (and make sure it's unset in the environment) and only run `LANG=zh_CN.UTF-8 plasma-discover`?
(In reply to Nate Graham from comment #2) > Looks identical to what I reported in Bug 514542, but for Arabic. > > Does the problem go away if you unset LANGUAGE (and make sure it's unset in > the environment) and only run `LANG=zh_CN.UTF-8 plasma-discover`? No, the UI is still a mess. I used these command to unset LANGUAGE, and printenv can confirm: > yjc@yjc-hpeb ~ % env --unset=LANGUAGE LANG=zh_CN.UTF-8 printenv LANG > zh_CN.UTF-8 > yjc@yjc-hpeb ~ % env --unset=LANGUAGE LANG=zh_CN.UTF-8 printenv LANGUAGE > 1 yjc@yjc-hpeb ~ % env --unset=LANGUAGE LANG=zh_CN.UTF-8 plasma-discover &> /tmp/discover-2.log
Created attachment 190383 [details] discover output with LANGUAGE unset console output with LANGUAGE unset.
Created attachment 190814 [details] discover 6.6.2 launched with LANG=ja_JP.UTF-8 In my environment, if I launch Discover with LANGUAGE unset and with LANG=zh_CN.UTF-8, the problem goes away; but not with LANG=ja_JP. The output is identical. The UI situation is a bit different, though. My system info: Operating System: Fedora Linux 43 KDE Plasma Version: 6.6.2 KDE Frameworks Version: 6.24.0 Qt Version: 6.10.2 Kernel Version: 6.19.8-200.fc43.x86_64 (64-bit) Graphics Platform: Wayland Processors: 8 × Intel® Core™ i7-8565U CPU @ 1.80GHz Memory: 12 GiB of RAM (11.4 GiB usable) Graphics Processor 1: Intel® UHD Graphics 620 Graphics Processor 2: NVIDIA GeForce GTX 1650 with Max-Q Design
Upgraded to discover 6.6.3-1, and this problem persists. However when I tried the same thing in a new account, everything works find there. So is something in my main user account is wrong, for example QML cache?
(In reply to Ye Jingchen from comment #6) > Upgraded to discover 6.6.3-1, and this problem persists. However when I > tried the same thing in a new account, everything works find there. So is > something in my main user account is wrong, for example QML cache? Does not seem like it. I ran `mv qmlcache qmlcache.disable` in ~/.cache/discover before starting Discover, the UI still breaks.
🐛🧹 ⚠️ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME. For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging. Thank you for helping us make KDE software even better for everyone!
Since the additional info is added, I change the status from NEEDSINFO to REPORTED. (If I misunderstand the situation, feel free to revert the status.)
I cannot reproduce with either of: LANGUAGE=ar_AR plasma-discover LANG=ar_AR plasma-discover LANGUAGE=ar_AR.UTF-8 plasma-discover LANG=ar_AR.UTF-8 plasma-discover But I can reproduce with either of: LANG=ja_JP.UTF-8 plasma-discover LANG=zh_CN.UTF-8 plasma-discover And any combination with LANGUAGE or without ".UTF-8" When this bug is reproduceable, the menu is shown on the left instead of the right.
Very strange. For me on KDE Linux I can reproduce the issue 100% with: - LANGUAGE=ar_AR plasma-discover - LANGUAGE=ar_AR.UTF-8 plasma-discover But not any of the other ones. Still, clearly *something* is going terribly wrong here with support for non-Latin characters. Raising priority given how billions of people in the world use languages with these characters.
*** Bug 514542 has been marked as a duplicate of this bug. ***
*** Bug 519835 has been marked as a duplicate of this bug. ***
Searchable logs from the duplicate report user@fedora:~$ LANG=ja_JP.UTF-8 plasma-discover org.kde.plasma.libdiscover: OdrsReviewsBackend: Fetch ratings: false adding empty sources model QStandardItemModel(0x55f37d34c840) qrc:/qt/qml/org/kde/discover/qml/DiscoverWindow.qml:119:5: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 15. Use 'sequences: [ <key> ]' to bind to all of them. qt.qpa.services: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") file:///usr/lib64/qt6/qml/org/kde/kirigami/controls/private/GlobalDrawerActionItem.qml:36:18: QML RowLayout: possible QQuickItem::polish() loop file:///usr/lib64/qt6/qml/org/kde/kirigami/controls/private/GlobalDrawerActionItem.qml:36:18: QML RowLayout: RowLayout called polish() inside updatePolish() of RowLayout file:///usr/lib64/qt6/qml/org/kde/kirigami/controls/private/GlobalDrawerActionItem.qml:36:18: QML RowLayout: possible QQuickItem::polish() loop file:///usr/lib64/qt6/qml/org/kde/kirigami/controls/private/GlobalDrawerActionItem.qml:36:18: QML RowLayout: RowLayout called polish() inside updatePolish() of RowLayout file:///usr/lib64/qt6/qml/org/kde/kirigami/controls/private/GlobalDrawerActionItem.qml:36:18: QML RowLayout: possible QQuickItem::polish() loop file:///usr/lib64/qt6/qml/org/kde/kirigami/controls/private/GlobalDrawerActionItem.qml:36:18: QML RowLayout: RowLayout called polish() inside updatePolish() of RowLayout file:///usr/lib64/qt6/qml/org/kde/kirigami/controls/private/GlobalDrawerActionItem.qml:36:18: QML RowLayout: possible QQuickItem::polish() loop file:///usr/lib64/qt6/qml/org/kde/kirigami/controls/private/GlobalDrawerActionItem.qml:36:18: QML RowLayout: RowLayout called polish() inside updatePolish() of RowLayout file:///usr/lib64/qt6/qml/org/kde/kirigami/controls/private/GlobalDrawerActionItem.qml:36:18: QML RowLayout: possible QQuickItem::polish() loop file:///usr/lib64/qt6/qml/org/kde/kirigami/controls/private/GlobalDrawerActionItem.qml:36:18: QML RowLayout: RowLayout called polish() inside updatePolish() of RowLayout No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong. No QSGTexture provided from updateSampledImage(). This is wrong.
*** Bug 519978 has been marked as a duplicate of this bug. ***
Looks like this is caused by TextMetrics not being able to handle non-latin characters properly. In GlobalDrawerActionItem, removing `Layout.preferredWidth: metrics.width` from the MnemonicLabel fixes the issue.
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/2098
(In reply to Akseli Lahtinen from comment #16) > Looks like this is caused by TextMetrics not being able to handle non-latin > characters properly. > > In GlobalDrawerActionItem, removing `Layout.preferredWidth: metrics.width` > from the MnemonicLabel fixes the issue. I was wrong, it was just the height missing.
Git commit 64b13ba1bcbb6ec0d86cd92799ec45661044d46c by Akseli Lahtinen. Committed on 12/05/2026 at 11:26. Pushed by akselmo into branch 'master'. GlobalDrawer: Use implicitWidth, set preferredHeight in item In GlobalDrawer, using width here causes undefined behavior since the item is inside a layout. Use implicitWidth instead. In GlobalDrawerItem, the preferredHeight can fluctuate based on text height, for example when text field is empty. To make sure it is always same, use metrics.height as the preferredHeight. This is noticeable in languages where the glyph heights can differ from each other. M +1 -1 src/controls/GlobalDrawer.qml M +1 -0 src/controls/private/GlobalDrawerActionItem.qml https://invent.kde.org/frameworks/kirigami/-/commit/64b13ba1bcbb6ec0d86cd92799ec45661044d46c