Update.
[glibc.git] / include / libintl.h
blobd81d60438a65d405d2822b320a8b5c88c0074264
1 #ifndef _LIBINTL_H
2 #include <intl/libintl.h>
4 /* Now define the internal interfaces. */
5 extern char *__gettext (__const char *__msgid) __THROW;
6 extern char *__dgettext (__const char *__domainname,
7 __const char *__msgid) __THROW;
8 extern char *__dcgettext (__const char *__domainname,
9 __const char *__msgid, int __category) __THROW;
10 extern char *__textdomain (__const char *__domainname) __THROW;
11 extern char *__bindtextdomain (__const char *__domainname,
12 __const char *__dirname) __THROW;
13 extern const char _libc_intl_domainname[];
15 /* Define the macros `_' and `N_' for conveniently marking translatable
16 strings in the libc source code. We have to make sure we get the
17 correct definitions so we undefine the macros first. */
19 # undef N_
20 # define N_(msgid) msgid
22 # undef _
23 # ifdef dgettext
24 /* This is defined as an optimizing macro, so use it. */
25 # define _(msgid) dgettext (_libc_intl_domainname, (msgid))
26 # else
27 /* Be sure to use only the __ name when `dgettext' is a plain function
28 instead of an optimizing macro. */
29 # define _(msgid) __dgettext (_libc_intl_domainname, (msgid))
30 # endif
32 #endif