Sets a function to be used for translating the @label of
a stock item.
If no function is registered for a translation domain,
g_dgettext() is used.
The function is used for all stock items whose
@translation_domain matches @domain. Note that it is possible
to use strings different from the actual gettext translation domain
of your application for this, as long as your #GtkTranslateFunc uses
the correct domain when calling dgettext(). This can be useful, e.g.
when dealing with message contexts:
Sets a function to be used for translating the @label of a stock item.
If no function is registered for a translation domain, g_dgettext() is used.
The function is used for all stock items whose @translation_domain matches @domain. Note that it is possible to use strings different from the actual gettext translation domain of your application for this, as long as your #GtkTranslateFunc uses the correct domain when calling dgettext(). This can be useful, e.g. when dealing with message contexts:
|[<!-- language="C" --> GtkStockItem items[] = { { MY_ITEM1, NC_("odd items", "Item 1"), 0, 0, "odd-item-domain" }, { MY_ITEM2, NC_("even items", "Item 2"), 0, 0, "even-item-domain" }, };
gchar * my_translate_func (const gchar *msgid, gpointer data) { gchar *msgctxt = data;
return (gchar*)g_dpgettext2 (GETTEXT_PACKAGE, msgctxt, msgid); }
...
gtk_stock_add (items, G_N_ELEMENTS (items)); gtk_stock_set_translate_func ("odd-item-domain", my_translate_func, "odd items"); gtk_stock_set_translate_func ("even-item-domain", my_translate_func, "even items"); ]|