GNOME Bugzilla – Bug 583419
Bad translatable string in gst-launch.c
Last modified: 2009-05-21 17:16:51 UTC
Affected code: g_print (_("Got Message #%" G_GUINT32_FORMAT " from element \"%s\" (%s): "), seqnum, GST_STR_NULL (GST_ELEMENT_NAME (GST_MESSAGE_SRC (message))), gst_message_type_get_name (GST_MESSAGE_TYPE (message))); This sort of syntax is not properly handled by xgettext. Only "Got Message #%" is extracted in the po files. Please use a format specifier instead of the G_GUINT32_FORMAT expression.
Thanks for the bug report - should be fixed in git now: commit 3a8aba7e92e128d79ac667400aaeb5b84c41868a Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Thu May 21 10:57:47 2009 +0100 gst-launch: don't use G_GUINT32_FORMAT in translatable string xgettext doesn't handle this very well. Fixes #583419.
Hrm, so a 'make update-po' in po/ results in this change: -msgid "Got Message #%" -msgstr "" +#, fuzzy, c-format +msgid "Got Message #%u from object \"%s\" (%s): " +msgstr "Boodskap vanaf element \"%s\" (%s):" which looks rather broken to me and like it's going to cause crashes. Can I tell gettext not to do silly things like that with a magic line in po/Makevars or so?
Why does it look broken for you? The message is marked ", fuzzy", that is gettext has added a similar translation to help the translator. But as long as the string is marked fuzzy, it will not be used in runtime. The translator's role is to correct the string and to remove the "fuzzy" marker.
Ah, I didn't realise it won't return those strings at runtime, thanks for clarifying.