/* Convenience header for conditional use of GNU <libintl.h>.1Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc.23This program is free software; you can redistribute it and/or modify4it under the terms of the GNU General Public License as published by5the Free Software Foundation; either version 2, or (at your option)6any later version.78This program is distributed in the hope that it will be useful,9but WITHOUT ANY WARRANTY; without even the implied warranty of10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the11GNU General Public License for more details.1213You should have received a copy of the GNU General Public License along14with this program; if not, write to the Free Software Foundation,15Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */1617#ifndef _LIBGETTEXT_H18#define _LIBGETTEXT_H 11920/* NLS can be disabled through the configure --disable-nls option. */21#if ENABLE_NLS2223/* Get declarations of GNU message catalog functions. */24# include <libintl.h>2526#else2728/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which29chokes if dcgettext is defined as a macro. So include it now, to make30later inclusions of <locale.h> a NOP. We don't include <libintl.h>31as well because people using "gettext.h" will not include <libintl.h>,32and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>33is OK. */34#if defined(__sun)35# include <locale.h>36#endif3738/* Disabled NLS.39The casts to 'const char *' serve the purpose of producing warnings40for invalid uses of the value returned from these functions.41On pre-ANSI systems without 'const', the config.h file is supposed to42contain "#define const". */43# define gettext(Msgid) ((const char *) (Msgid))44# define dgettext(Domainname, Msgid) ((const char *) (Msgid))45# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))46# define ngettext(Msgid1, Msgid2, N) \47((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))48# define dngettext(Domainname, Msgid1, Msgid2, N) \49((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))50# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \51((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))52# define textdomain(Domainname) ((const char *) (Domainname))53# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))54# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))5556#endif5758/* A pseudo function call that serves as a marker for the automated59extraction of messages, but does not call gettext(). The run-time60translation is done at a different place in the code.61The argument, String, should be a literal string. Concatenated strings62and other string expressions won't work.63The macro's expansion is not parenthesized, so that it is suitable as64initializer for static 'char[]' or 'const char[]' variables. */65#define gettext_noop(String) String6667#endif /* _LIBGETTEXT_H */686970