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.