Uniform way to set the naming of KCM gettext catalog files
Closed, ResolvedPublic

Description

Right now the naming rules for a KCM gettext catalog depends on the implementation of its UI part:

  • it can be freely set using TRANSLATION_DOMAIN like any other library in the QtWidgets ones (like any other library)
  • it follows the value set in KAboutData in the C++ part (see D29270) when it's QML-based.

During the kdelibs 4.x -> KF5 transition some of those catalog files have been renamed to follow the kcm5_<foo> pattern (just like kio ones follows kio5_<foo>) to avoid installation conflicts.
After the rewrite of several KCMs in QML, this has been lost and they are back to kcm_<foo>. In the upcoming KF6 migration, while this pattern may not be a problem for the KCMs shipped with Plasma, as Plasma 5 and 6 may not be installed side-by-side, it is a more than potential issue for all the other KCMs, which won't be co-installable even though potentially provided by component that are not mutually exclusive.

The KCM catalog name should be defined separately by the KAboutData name (with a possible fallback to that of course) and use TRANSLATION_DOMAIN just like the C++ one to not have two different set of rules.

alex added a subscriber: alex.Jun 6 2021, 9:07 AM

After the rewrite of several KCMs in QML, this has been lost and they are back to kcm_<foo>. In the upcoming KF6 migration, while this pattern may not be a problem for the KCMs shipped with Plasma, as Plasma 5 and 6 may not be installed side-by-side,

Plasma also does not have versioned executables (for example plasmashell, krunner), I guess co-installability for Plasma is not planned. Of course with the exception of having a setup locally build.

What frameworks KCMs are you specifically referring to? KIO sets it translation domain to add_definitions(-DTRANSLATION_DOMAIN=\"kio5\") which seems fine. Besides that there come no frameworks to mind which ship KCMs too.

alex closed this task as Resolved.Aug 2 2021, 3:09 PM
alex claimed this task.

This is already covered by T14733