StockItem.stockSetTranslateFunc

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"); ]|

class StockItem
static
void
stockSetTranslateFunc
(
string domain
,
GtkTranslateFunc func
,
void* data
,
GDestroyNotify notify
)

Parameters

domain string

the translation domain for which @func shall be used

func GtkTranslateFunc

a #GtkTranslateFunc

data void*

data to pass to @func

notify GDestroyNotify

a #GDestroyNotify that is called when @data is no longer needed

Meta