The problem seems to be caused by the gettext support for .desktop files (01_gettext-desktopfiles.patch in glib2.0). More detailed, in source package gnome-menus in desktop-entries.c (function desktop_entry_load()), the function g_key_file_get_locale_string() from glib2.0 is used to get the icon name from /usr/share/applications/seahorse.desktop . In German locale, the gettext patch then causes that function to translate the icon name "seahorse" to "Seahorse", which is then not found as icon...
A workaround is to remove or disable the X-Ubuntu-Gettext-Domain line in seahorse.desktop.
A better solution might be to modify gnome-menus to use g_key_file_get_string() to get the icon name as untranslated string. This has the drawback that desktop file lines like "Icon[de]=seahorse-german" (to get a locale-specific icon) would not work anymore (is this actually used somewhere?). Also, the Desktop Entry Spec states that the Icon value is a "localestring", so g_key_file_get_locale_string() is actually the correct function to use...
The "Right Way" might be to add a flag to g_key_file_get_locale_string() so it loads the icon name as described in its documentation but without translating it with gettext... Not sure if this is possible, though, with regard to compatibility.
The problem seems to be caused by the gettext support for .desktop files (01_gettext- desktopfiles. patch in glib2.0). More detailed, in source package gnome-menus in desktop-entries.c (function desktop_ entry_load( )), the function g_key_file_ get_locale_ string( ) from glib2.0 is used to get the icon name from /usr/share/ applications/ seahorse. desktop . In German locale, the gettext patch then causes that function to translate the icon name "seahorse" to "Seahorse", which is then not found as icon...
A workaround is to remove or disable the X-Ubuntu- Gettext- Domain line in seahorse.desktop. get_string( ) to get the icon name as untranslated string. This has the drawback that desktop file lines like "Icon[de] =seahorse- german" (to get a locale-specific icon) would not work anymore (is this actually used somewhere?). Also, the Desktop Entry Spec states that the Icon value is a "localestring", so g_key_file_ get_locale_ string( ) is actually the correct function to use... get_locale_ string( ) so it loads the icon name as described in its documentation but without translating it with gettext... Not sure if this is possible, though, with regard to compatibility.
A better solution might be to modify gnome-menus to use g_key_file_
The "Right Way" might be to add a flag to g_key_file_