Sharing common translated strings across apps to reduce redundancy
Guo Yunhe
i at guoyunhe.me
Mon Oct 12 15:18:28 BST 2026
KWidgetsAddon is mostly for Qt Widgets apps. Kirigami/Qt Quick may not depend on it.
The shared text domain should be ui toolkit independent and can be shared by kwidgetsaddon and kirigami apps.
--
Guo Yunhe / @guoyunhe / guoyunhe.me
2026/10/12 22:00 来自 alvin at alvinhc.com:
> Hi,
>
> On 12/10/2026 21:34, Guo Yunhe wrote:
>
>> Currently, every time a new app is developed, translators have to re-translate common UI strings—such as "OK", "Cancel", "Edit", and "Delete"—over and over again. This creates a few noticeable issues:
>>
>>
>> Wasted translator effort: Localization contributors spend time on duplicate, repetitive work.
>>
>>
>> Redundant storage: End users waste storage space carrying duplicate translation catalogs across multiple packages.
>>
>>
>> Inconsistent UX: Translation consistency across KDE apps is harder to maintain and track.
>>
>>
>> To address this, I propose establishing a minimal shared text domain for common strings used across multiple KDE applications.
>>
>
> I had the impression that some of these already exists in KWidgetsAddons - `KGuiItem` [1] / `KStandardGuiItem` [2] can be used to assign standard action text, tooltips, and even icons to buttons. It includes many typical buttons for dialog boxes, like "OK" and "Cancel".
>
> [1]: https://api.kde.org/kguiitem.html
> [2]: https://api.kde.org/kstandardguiitem.html
>
>
>> One possible approach is to reuse an existing domain like ki18n6 (or create a dedicated shared domain). Applications could then call i18nd("ki18n6", "OK") instead of i18n("OK"). These common strings would no longer pollute individual app text domains, leading to smaller PO files, less translation workload, and natural UX consistency across our ecosystem.
>>
>>
>> What are your thoughts on this? Suggestions and alternative ideas are very welcome!
>>
>> --
>> Guo Yunhe / @guoyunhe / guoyunhe.me
>>
> Alvin Wong
>
More information about the kde-i18n-doc
mailing list