diff --git a/glib/glibintl.h b/glib/glibintl.h index ee2d0fe42..f540edfe8 100644 --- a/glib/glibintl.h +++ b/glib/glibintl.h @@ -7,10 +7,12 @@ #ifdef ENABLE_NLS -gchar *_glib_gettext (const gchar *str) G_GNUC_FORMAT (1); +gchar *glib_gettext (const gchar *str); #include -#define _(String) _glib_gettext(String) +#define _(String) glib_gettext(String) +/* Split out this in the code, but keep it in the same domain for now */ +#define P_(String) glib_gettext(String) #ifdef gettext_noop #define N_(String) gettext_noop(String) @@ -20,6 +22,7 @@ gchar *_glib_gettext (const gchar *str) G_GNUC_FORMAT (1); #else /* NLS is disabled */ #define _(String) (String) #define N_(String) (String) +#define P_(String) (String) #define textdomain(String) (String) #define gettext(String) (String) #define dgettext(Domain,String) (String) @@ -27,4 +30,7 @@ gchar *_glib_gettext (const gchar *str) G_GNUC_FORMAT (1); #define bindtextdomain(Domain,Directory) (Domain) #endif +/* not really I18N-related, but also a string marker macro */ +#define I_(string) g_intern_static_string (string) + #endif /* __GLIBINTL_H__ */ diff --git a/glib/gutils.c b/glib/gutils.c index dd9d0e1b5..d54d0b5ec 100644 --- a/glib/gutils.c +++ b/glib/gutils.c @@ -3171,8 +3171,16 @@ _glib_get_locale_dir (void) #endif /* G_OS_WIN32 */ +/** + * glib_gettext: + * str: The string to be translated + * + * Returns the translated string from the glib translations. + * This is an internal function and should only be used by + * the internals of glib (such as libgio). + */ G_CONST_RETURN gchar * -_glib_gettext (const gchar *str) +glib_gettext (const gchar *str) { static gboolean _glib_gettext_initialized = FALSE;