From 2b7c2107a5478660630666e57d53251c7602135a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Wilmet?= Date: Thu, 22 Nov 2012 19:41:19 +0100 Subject: [PATCH] Improve i18n documentation Clearly explain which gettext functions must be called. It depends whether the program is an application or a library. https://bugzilla.gnome.org/show_bug.cgi?id=688886 --- glib/ggettext.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/glib/ggettext.c b/glib/ggettext.c index da8e1a49a..ed7137e8f 100644 --- a/glib/ggettext.c +++ b/glib/ggettext.c @@ -472,16 +472,21 @@ g_dngettext (const gchar *domain, * easy-to-use form. * * In order to use these macros in an application, you must include - * glib/gi18n.h. For use in a library, must include + * glib/gi18n.h. For use in a library, you must include * glib/gi18n-lib.h after defining * the GETTEXT_PACKAGE macro suitably for your library: * |[ * #define GETTEXT_PACKAGE "gtk20" * #include <glib/gi18n-lib.h> * ]| - * Note that you also have to call setlocale() and textdomain() (as well as - * bindtextdomain() and bind_textdomain_codeset()) early on in your main() - * to make gettext() work. + * For an application, note that you also have to call bindtextdomain(), + * bind_textdomain_codeset(), textdomain() and setlocale() early on in your + * main() to make gettext() work. + * + * For a library, you only have to call bindtextdomain() and + * bind_textdomain_codeset() in your initialization function. If your library + * doesn't have an initialization function, you can call the functions before + * the first translated message. * * The gettext manual covers details of how to set up message extraction * with xgettext.