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