/** * glib_pgettext: * @msgctxtid: a combined message context and message id, separated * by a \004 character * @msgidoffset: the offset of the message id in @msgctxid * * This function is a variant of glib_gettext() which supports * a disambiguating message context. See g_dpgettext() for full * details. * * This is an internal function and should only be used by * the internals of glib (such as libgio). * * Returns: the translation of @str to the current locale */ const gchar * glib_pgettext (const gchar *msgctxtid, gsize msgidoffset) { ensure_gettext_initialized (); return g_dpgettext (GETTEXT_PACKAGE, msgctxtid, msgidoffset); }
/* * Translate @str according to the locale defined by LC_TIME; unlike * dcgettext(), the translation is still taken from the LC_MESSAGES * catalogue and not the LC_TIME one. */ static const char * translate_time_format_string (const char *str) { const char *locale = g_getenv ("LC_TIME"); const char *res; char *sep; locale_t old_loc; locale_t loc = (locale_t)0; if (locale) loc = newlocale (LC_MESSAGES_MASK, locale, (locale_t)0); old_loc = uselocale (loc); sep = strchr (str, '\004'); res = g_dpgettext (GETTEXT_PACKAGE, str, sep ? sep - str + 1 : 0); uselocale (old_loc); if (loc != (locale_t)0) freelocale (loc); return res; }