+Wed Nov 5 22:05:19 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gi18n-lib.h:
+ * glib/gi18n.h: New headers defining common gettext-support
+ macros.
+
+ * glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
+ and gi18n-lib.h.
+
+ * glib/gstrfuncs.h:
+ * glib/gstrfuncs.c (g_strip_context): Auxiliary function for
+ the implementation of Q_().
+
2003-11-05 Morten Welinder <terra@gnome.org>
* glib/garray.c (g_ptr_array_remove_range): Make it compile.
+Wed Nov 5 22:05:19 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gi18n-lib.h:
+ * glib/gi18n.h: New headers defining common gettext-support
+ macros.
+
+ * glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
+ and gi18n-lib.h.
+
+ * glib/gstrfuncs.h:
+ * glib/gstrfuncs.c (g_strip_context): Auxiliary function for
+ the implementation of Q_().
+
2003-11-05 Morten Welinder <terra@gnome.org>
* glib/garray.c (g_ptr_array_remove_range): Make it compile.
+Wed Nov 5 22:05:19 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gi18n-lib.h:
+ * glib/gi18n.h: New headers defining common gettext-support
+ macros.
+
+ * glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
+ and gi18n-lib.h.
+
+ * glib/gstrfuncs.h:
+ * glib/gstrfuncs.c (g_strip_context): Auxiliary function for
+ the implementation of Q_().
+
2003-11-05 Morten Welinder <terra@gnome.org>
* glib/garray.c (g_ptr_array_remove_range): Make it compile.
+Wed Nov 5 22:05:19 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gi18n-lib.h:
+ * glib/gi18n.h: New headers defining common gettext-support
+ macros.
+
+ * glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
+ and gi18n-lib.h.
+
+ * glib/gstrfuncs.h:
+ * glib/gstrfuncs.c (g_strip_context): Auxiliary function for
+ the implementation of Q_().
+
2003-11-05 Morten Welinder <terra@gnome.org>
* glib/garray.c (g_ptr_array_remove_range): Make it compile.
+Wed Nov 5 22:05:19 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gi18n-lib.h:
+ * glib/gi18n.h: New headers defining common gettext-support
+ macros.
+
+ * glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
+ and gi18n-lib.h.
+
+ * glib/gstrfuncs.h:
+ * glib/gstrfuncs.c (g_strip_context): Auxiliary function for
+ the implementation of Q_().
+
2003-11-05 Morten Welinder <terra@gnome.org>
* glib/garray.c (g_ptr_array_remove_range): Make it compile.
+Wed Nov 5 22:05:19 2003 Matthias Clasen <maclas@gmx.de>
+
+ * glib/gi18n-lib.h:
+ * glib/gi18n.h: New headers defining common gettext-support
+ macros.
+
+ * glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
+ and gi18n-lib.h.
+
+ * glib/gstrfuncs.h:
+ * glib/gstrfuncs.c (g_strip_context): Auxiliary function for
+ the implementation of Q_().
+
2003-11-05 Morten Welinder <terra@gnome.org>
* glib/garray.c (g_ptr_array_remove_range): Make it compile.
gfileutils.h \
ghash.h \
ghook.h \
+ gi18n.h \
+ gi18n-lib.h \
giochannel.h \
glist.h \
gmacros.h \
--- /dev/null
+/* GLIB - Library of useful routines for C programming
+ * Copyright (C) 1995-1997, 2002 Peter Mattis, Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * 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.
+ */
+#ifndef __G_I18N_LIB_H__
+#define __G_I18N_LIB_H__
+
+#include <glib/gstrfuncs.h>
+
+#ifdef ENABLE_NLS
+
+#include <libintl.h>
+
+#ifndef GETTEXT_PACKAGE
+#error You must define GETTEXT_PACKAGE before including gi18n-lib.h.
+#endif
+
+#define _(String) dgettext (GETTEXT_PACKAGE, String)
+#define Q_(String) g_strip_context ((String), dgettext (GETTEXT_PACKAGE, String))
+#ifdef gettext_noop
+#define N_(String) gettext_noop (String)
+#else
+#define N_(String) (String)
+#endif
+
+#else /* NLS is disabled */
+
+#define _(String) (String)
+#define Q_(String) (String)
+#define N_(String) (String)
+#define textdomain(String) (String)
+#define gettext(String) (String)
+#define dgettext(Domain,String) (String)
+#define dcgettext(Domain,String,Type) (String)
+#define bindtextdomain(Domain,Directory) (Domain)
+
+#endif
+
+#endif /* __G_I18N_LIB_H__ */
+
+
--- /dev/null
+/* GLIB - Library of useful routines for C programming
+ * Copyright (C) 1995-1997, 2002 Peter Mattis, Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * 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.
+ */
+#ifndef __G_I18N_H__
+#define __G_I18N_H__
+
+#include <glib/gstrfuncs.h>
+
+#ifdef ENABLE_NLS
+
+#include <libintl.h>
+#define _(String) gettext (String)
+#define Q_(String) g_strip_context ((String), gettext (String))
+#ifdef gettext_noop
+#define N_(String) gettext_noop (String)
+#else
+#define N_(String) (String)
+#endif
+
+#else /* NLS is disabled */
+
+#define _(String) (String)
+#define Q_(String) (String)
+#define N_(String) (String)
+#define textdomain(String) (String)
+#define gettext(String) (String)
+#define dgettext(Domain,String) (String)
+#define dcgettext(Domain,String,Type) (String)
+#define bindtextdomain(Domain,Directory) (Domain)
+
+#endif
+
+#endif /* __G_I18N_H__ */
+
+
return strncmp (str, prefix, prefix_len) == 0;
}
+
+/**
+ * g_strip_context:
+ * @msgid: a string
+ * @msgval: another string
+ *
+ * An auxiliary function for gettext() support (see Q_()).
+ *
+ * Return value: @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.
+ *
+ * Since: 2.4
+ **/
+G_CONST_RETURN gchar *
+g_strip_context (const gchar *msgid,
+ const gchar *msgval)
+{
+ if (msgval == msgid)
+ {
+ const char *c = strchr (msgid, '|');
+ if (c != NULL)
+ return c + 1;
+ }
+
+ return msgval;
+}
gchar* g_stpcpy (gchar *dest,
const char *src);
+G_CONST_RETURN gchar *g_strip_context (const gchar *msgid,
+ const gchar *msgval);
+
G_END_DECLS
#endif /* __G_STRFUNCS_H__ */