i18n.sgml

来自「一套linux glib源代码」· SGML 代码 · 共 107 行

SGML
107
字号
<!-- ##### 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 seemsnatural 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> definingthe GETTEXT_PACKAGE macro suitably for your library:<informalexample><programlisting>&num;define GETTEXT_PACKAGE "gtk20"&num;include &lt;glib/gi18n-lib.h&gt;</programlisting></informalexample></para><!-- ##### SECTION See_Also ##### --><para>The gettext manual.</para><!-- ##### SECTION Stability_Level ##### --><!-- ##### MACRO _ ##### --><para>Marks a string for translation, gets replaced with the translated stringat 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 theadvantage 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 translateddifferently 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 stringat runtime. This is useful in situations where the translated strings can'tbe 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 &gt; 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: <!-- ##### FUNCTION g_get_language_names ##### --><para></para>@Returns: 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?