set_translate_func


Description:


public void set_translate_func (string domain, owned TranslateFunc func)

Sets a function to be used for translating the label of a stock item.

If no function is registered for a translation domain, 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 TranslateFunc uses the correct domain when calling dgettext . This can be useful, e.g. when dealing with message contexts:

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

Parameters:

domain

the translation domain for which func shall be used

func

a TranslateFunc

data

data to pass to func

notify

a DestroyNotify that is called when data is no longer needed


Namespace: Gtk.Stock
Package: gtk+-3.0



2022 vala-language.org