What | Removed | Added |
---|---|---|
Flags | needinfo?(wbauer@tmo.at) |
(In reply to Hrvoje Senjan from comment #18) > Please do; many thanks for looking deeper into this. OK, I will do later today. > Regarding ServiceMenus, etc. do i understand correctly that the issue is now > due to translations not injected back into desktop-translations.mo? No. That part is ok. The translations are in desktop_translations.mo. But the KDE patch only reads the normal "Name", "GenericName", and "Comment" fields from desktop_translations (i.e. it patches the functions KDesktopFile::readName(), ::readGenericName(), and ::readComment()). The ServiceMenus are so-called "Device Actions" (see also comment#9), there can be more than one per .desktop file. See also http://api.kde.org/frameworks-api/frameworks5-apidocs/kservice/html/classKServiceAction.html In detail, those .desktop files (located in /usr/share/kde4/services/ServiceMenus/ and /usr/share/kservices5/ServiceMenus/, the device actions are in /usr/share/(kde4/)solid/actions/) look like this: [Desktop Entry] Type=Service Actions=CreateK3bAudioProject; ... [Desktop Action CreateK3bAudioProject] Exec=k3b --audiocd %F Name=Create Audio CD with K3b Name[ar]=... There are separate functions in libkdecore (now kservice) for getting those actions, and they are not patched and only consider the translations in the .desktop file... (those .desktop files were not stripped anyway until the change mentioned in my previous comment) I.e. KServicePrivate::parseActions() calls KConfigGroup::readEntry("Name") and so on, this would need to be changed. I see three possible ways to fix that: - revert the change in brp-trim-desktop.sh (package update-desktop-files) to again not unconditionally strip all .desktop files in the whole /usr/share/ hierarchy, but only in selected folders - make brp-trim-desktop.sh a bit smarter in parsing the files, and leave "Device Actions" in - extend the KDE patch to read those translations from desktop_translations.mo too