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
This commit is contained in:
Sébastien Wilmet 2012-11-22 19:41:19 +01:00
parent 276cf6ceee
commit 2b7c2107a5

View File

@ -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
* <filename>glib/gi18n.h</filename>. For use in a library, must include
* <filename>glib/gi18n.h</filename>. For use in a library, you must include
* <filename>glib/gi18n-lib.h</filename> <emphasis>after</emphasis> defining
* the GETTEXT_PACKAGE macro suitably for your library:
* |[
* &num;define GETTEXT_PACKAGE "gtk20"
* &num;include &lt;glib/gi18n-lib.h&gt;
* ]|
* 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.