| <!-- ##### SECTION Title ##### --> |
| Internationalization |
| |
| <!-- ##### SECTION Short_Description ##### --> |
| gettext support macros. |
| |
| <!-- ##### SECTION Long_Description ##### --> |
| <para> |
| GLib doesn't force any particular localization method upon its users. |
| But since GLib itself is localized using the gettext() mechanism, it seems |
| natural to offer the de-facto standard gettext() support macros in an |
| easy-to-use form. |
| </para> |
| <para> |
| 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-lib.h</filename> <emphasis>after</emphasis> defining |
| the GETTEXT_PACKAGE macro suitably for your library: |
| <informalexample><programlisting> |
| #define GETTEXT_PACKAGE "gtk20" |
| #include <glib/gi18n-lib.h> |
| </programlisting></informalexample> |
| </para> |
| |
| <!-- ##### SECTION See_Also ##### --> |
| <para> |
| The gettext manual. |
| </para> |
| |
| <!-- ##### MACRO _ ##### --> |
| <para> |
| Marks a string for translation, gets replaced with the translated string |
| at runtime. |
| </para> |
| |
| @String: the string to be translated |
| @Since: 2.4 |
| |
| |
| <!-- ##### MACRO Q_ ##### --> |
| <para> |
| Like _(), but applies g_strip_context() to the translation. This has the |
| advantage that the string can be adorned with a prefix to guarantee |
| uniqueness and provide context to the translator. |
| </para> |
| <para> |
| One use case given in the gettext manual is GUI translation, where one could |
| e.g. disambiguate two "Open" menu entries as "File|Open" and "Printer|Open". |
| Another use case is the string "Russian" which may have to be translated |
| differently depending on whether it's the name of a character set or a |
| language. This could be solved by using "charset|Russian" and |
| "language|Russian". |
| </para> |
| |
| @String: the string to be translated, with a '|'-separated prefix which |
| must not be translated |
| @Since: 2.4 |
| |
| |
| <!-- ##### MACRO N_ ##### --> |
| <para> |
| Marks a string for translation, gets replaced with the untranslated string |
| at runtime. This is useful in situations where the translated strings can't |
| be directly used, e.g. in string array initializers. |
| </para> |
| <informalexample><programlisting> |
| { |
| static const char *messages[] = { |
| N_("some very meaningful message"), |
| N_("and another one") |
| }; |
| const char *string; |
| ... |
| string |
| = index > 1 ? _("a default message") : gettext (messages[index]); |
| <!-- --> |
| fputs (string); |
| ... |
| } |
| </programlisting></informalexample> |
| |
| @String: the string to be translated |
| @Since: 2.4 |
| |
| |
| <!-- ##### FUNCTION g_strip_context ##### --> |
| <para> |
| |
| </para> |
| |
| @msgid: |
| @msgval: |
| @Returns: |
| |
| |