lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 1 | #ifndef _LIBINTL_H |
| 2 | #include <intl/libintl.h> |
| 3 | #include <locale.h> |
| 4 | |
| 5 | /* Now define the internal interfaces. */ |
| 6 | extern char *__gettext (const char *__msgid) |
| 7 | __attribute_format_arg__ (1); |
| 8 | extern char *__dgettext (const char *__domainname, |
| 9 | const char *__msgid) |
| 10 | __attribute_format_arg__ (2); |
| 11 | extern char *__dcgettext (const char *__domainname, |
| 12 | const char *__msgid, int __category) |
| 13 | __attribute_format_arg__ (2); |
| 14 | libc_hidden_proto (__dcgettext) |
| 15 | |
| 16 | extern char *__ngettext (const char *__msgid1, const char *__msgid2, |
| 17 | unsigned long int __n) |
| 18 | __attribute_format_arg__ (1) __attribute_format_arg__ (2); |
| 19 | extern char *__dngettext (const char *__domainname, |
| 20 | const char *__msgid1, const char *__msgid2, |
| 21 | unsigned long int __n) |
| 22 | __attribute_format_arg__ (2) __attribute_format_arg__ (3); |
| 23 | extern char *__dcngettext (const char *__domainname, |
| 24 | const char *__msgid1, const char *__msgid2, |
| 25 | unsigned long int __n, int __category) |
| 26 | __attribute_format_arg__ (2) __attribute_format_arg__ (3); |
| 27 | |
| 28 | extern char *__textdomain (const char *__domainname); |
| 29 | extern char *__bindtextdomain (const char *__domainname, |
| 30 | const char *__dirname); |
| 31 | extern char *__bind_textdomain_codeset (const char *__domainname, |
| 32 | const char *__codeset); |
| 33 | |
| 34 | extern const char _libc_intl_domainname[]; |
| 35 | libc_hidden_proto (_libc_intl_domainname) |
| 36 | |
| 37 | /* Define the macros `_' and `N_' for conveniently marking translatable |
| 38 | strings in the libc source code. We have to make sure we get the |
| 39 | correct definitions so we undefine the macros first. */ |
| 40 | |
| 41 | # undef N_ |
| 42 | # define N_(msgid) msgid |
| 43 | |
| 44 | # undef _ |
| 45 | /* This is defined as an optimizing macro, so use it. */ |
| 46 | # define _(msgid) \ |
| 47 | __dcgettext (_libc_intl_domainname, msgid, LC_MESSAGES) |
| 48 | |
| 49 | #endif |