X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fggettext.c;h=636fdbba5ab0e9328e5e59c5f95c791d4d730f7b;hb=35eaf037bdfca985abf5d349e7355f1d2ed9c77b;hp=0f1ebb17961b53bcd19c297d2f3ae633a8c023d6;hpb=18da6e6be97c838edf6ef150b196b428ff3118cf;p=platform%2Fupstream%2Fglib.git
diff --git a/glib/ggettext.c b/glib/ggettext.c
index 0f1ebb1..636fdbb 100644
--- a/glib/ggettext.c
+++ b/glib/ggettext.c
@@ -12,9 +12,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library; if not, see .
*/
/*
@@ -27,6 +25,8 @@
#include "config.h"
#include "ggettext.h"
+#include "glibintl.h"
+#include "glib-private.h"
#include "galloca.h"
#include "gthread.h"
@@ -144,7 +144,7 @@ glib_gettext (const gchar *str)
* This is an internal function and should only be used by
* the internals of glib (such as libgio).
*
- * Returns: the transation of @str to the current locale
+ * Returns: the translation of @str to the current locale
*/
const gchar *
glib_pgettext (const gchar *msgctxtid,
@@ -162,7 +162,7 @@ glib_pgettext (const gchar *msgctxtid,
*
* An auxiliary function for gettext() support (see Q_()).
*
- * Return value: @msgval, unless @msgval is identical to @msgid
+ * Returns: @msgval, unless @msgval is identical to @msgid
* and contains a '|' character, in which case a pointer to
* the substring of msgid after the first '|' character is returned.
*
@@ -184,7 +184,7 @@ g_strip_context (const gchar *msgid,
/**
* g_dpgettext:
- * @domain: the translation domain to use, or %NULL to use
+ * @domain: (allow-none): the translation domain to use, or %NULL to use
* the domain set with textdomain()
* @msgctxtid: a combined message context and message id, separated
* by a \004 character
@@ -248,7 +248,7 @@ g_dpgettext (const gchar *domain,
*/
/**
* g_dpgettext2:
- * @domain: the translation domain to use, or %NULL to use
+ * @domain: (allow-none): the translation domain to use, or %NULL to use
* the domain set with textdomain()
* @context: the message context
* @msgid: the message
@@ -333,10 +333,11 @@ _g_dgettext_should_translate (void)
* - If locale is "C", maybe user calls setlocale(LC_ALL,"") later.
* Continue with old behavior of translating.
*/
- if (0 != strcmp (default_domain, "messages") &&
+ if (!default_domain || !translator_comment || !translate_locale ||
+ (0 != strcmp (default_domain, "messages") &&
'\0' == *translator_comment &&
0 != strncmp (translate_locale, "en_", 3) &&
- 0 != strcmp (translate_locale, "C"))
+ 0 != strcmp (translate_locale, "C")))
should_translate = FALSE;
g_once_init_leave (&translate,
@@ -350,7 +351,7 @@ _g_dgettext_should_translate (void)
/**
* g_dgettext:
- * @domain: the translation domain to use, or %NULL to use
+ * @domain: (allow-none): the translation domain to use, or %NULL to use
* the domain set with textdomain()
* @msgid: message to translate
*
@@ -369,17 +370,19 @@ _g_dgettext_should_translate (void)
*
* This function disables translations if and only if upon its first
* call all the following conditions hold:
- *
- * @domain is not %NULL
- * textdomain() has been called to set a default text domain
- * there is no translations available for the default text domain
- * and the current locale
- * current locale is not "C" or any English locales (those
- * starting with "en_")
- *
+ *
+ * - @domain is not %NULL
+ *
+ * - textdomain() has been called to set a default text domain
+ *
+ * - there is no translations available for the default text domain
+ * and the current locale
+ *
+ * - current locale is not "C" or any English locales (those
+ * starting with "en_")
*
* Note that this behavior may not be desired for example if an application
- * has its untranslated messages in a language other than English. In those
+ * has its untranslated messages in a language other than English. In those
* cases the application should call textdomain() after initializing GTK+.
*
* Applications should normally not use this function directly,
@@ -407,7 +410,7 @@ g_dgettext (const gchar *domain,
* @category: a locale category
*
* This is a variant of g_dgettext() that allows specifying a locale
- * category instead of always using %LC_MESSAGES. See g_dgettext() for
+ * category instead of always using `LC_MESSAGES`. See g_dgettext() for
* more information about how this functions differs from calling
* dcgettext() directly.
*
@@ -428,7 +431,7 @@ g_dcgettext (const gchar *domain,
/**
* g_dngettext:
- * @domain: the translation domain to use, or %NULL to use
+ * @domain: (allow-none): the translation domain to use, or %NULL to use
* the domain set with textdomain()
* @msgid: message to translate
* @msgid_plural: plural form of the message
@@ -470,16 +473,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-lib.hafter defining
- * the GETTEXT_PACKAGE macro suitably for your library:
- * |[
- * #define GETTEXT_PACKAGE "gtk20"
- * #include <glib/gi18n-lib.h>
+ * ``. For use in a library, you must include
+ * ``
+ * after defining the %GETTEXT_PACKAGE macro suitably for your library:
+ * |[
+ * #define GETTEXT_PACKAGE "gtk20"
+ * #include
* ]|
- * 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.
@@ -514,11 +522,11 @@ g_dngettext (const gchar *domain,
* See the C_() macro for a different way to mark up translatable strings
* with context.
*
- * If you are using the Q_() macro, you need to make sure
- * that you pass to xgettext when extracting
- * messages. If you are using GNU gettext >= 0.15, you can also use
- * to let xgettext split the context
- * string off into a msgctxt line in the po file.
+ * If you are using the Q_() macro, you need to make sure that you pass
+ * `--keyword=Q_` to xgettext when extracting messages.
+ * If you are using GNU gettext >= 0.15, you can also use
+ * `--keyword=Q_:1g` to let xgettext split the context
+ * string off into a msgctxt line in the po file.
*
* Returns: the translated message
*
@@ -534,15 +542,14 @@ g_dngettext (const gchar *domain,
* used as a context. This is mainly useful for short strings which
* may need different translations, depending on the context in which
* they are used.
- * |[
+ * |[
* label1 = C_("Navigation", "Back");
* label2 = C_("Body part", "Back");
* ]|
*
- * If you are using the C_() macro, you need to make sure
- * that you pass to xgettext when
- * extracting messages. Note that this only works with GNU
- * gettext >= 0.15.
+ * If you are using the C_() macro, you need to make sure that you pass
+ * `--keyword=C_:1c,2` to xgettext when extracting messages.
+ * Note that this only works with GNU gettext >= 0.15.
*
* Returns: the translated message
*
@@ -557,7 +564,7 @@ g_dngettext (const gchar *domain,
* where the translated strings can't be directly used, e.g. in string
* array initializers. To get the translated string, call gettext()
* at runtime.
- * |[
+ * |[
* {
* static const char *messages[] = {
* N_("some very meaningful message"),
@@ -586,7 +593,7 @@ g_dngettext (const gchar *domain,
* be directly used, e.g. in string array initializers. To get the
* translated string, you should call g_dpgettext2() at runtime.
*
- * |[
+ * |[
* {
* static const char *messages[] = {
* NC_("some context", "some very meaningful message"),
@@ -595,19 +602,18 @@ g_dngettext (const gchar *domain,
* const char *string;
* ...
* string
- * = index > 1 ? g_dpgettext2 (NULL, "some context", "a default message")
- * : g_dpgettext2 (NULL, "some context", messages[index]);
+ * = index > 1 ? g_dpgettext2 (NULL, "some context", "a default message")
+ * : g_dpgettext2 (NULL, "some context", messages[index]);
*
* fputs (string);
* ...
* }
* ]|
*
- * If you are using the NC_() macro, you need to make sure
- * that you pass to xgettext when
- * extracting messages. Note that this only works with GNU gettext >= 0.15.
- * Intltool has support for the NC_() macro since version 0.40.1.
- *
+ * If you are using the NC_() macro, you need to make sure that you pass
+ * `--keyword=NC_:1c,2` to xgettext when extracting messages.
+ * Note that this only works with GNU gettext >= 0.15. Intltool has support
+ * for the NC_() macro since version 0.40.1.
*
* Since: 2.18
*/