diff options
Diffstat (limited to 'src/include/gettext.h')
-rw-r--r-- | src/include/gettext.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/include/gettext.h b/src/include/gettext.h new file mode 100644 index 0000000..4585126 --- /dev/null +++ b/src/include/gettext.h | |||
@@ -0,0 +1,71 @@ | |||
1 | /* Convenience header for conditional use of GNU <libintl.h>. | ||
2 | Copyright Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. | ||
3 | |||
4 | This program is free software; you can redistribute it and/or modify it | ||
5 | under the terms of the GNU Library General Public License as published | ||
6 | by the Free Software Foundation; either version 3, or (at your option) | ||
7 | any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
12 | Library General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU Library General Public | ||
15 | License along with this program; if not, write to the Free Software | ||
16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, | ||
17 | USA. */ | ||
18 | |||
19 | #ifndef _LIBGETTEXT_H | ||
20 | #define _LIBGETTEXT_H 1 | ||
21 | |||
22 | /* NLS can be disabled through the configure --disable-nls option. */ | ||
23 | #if ENABLE_NLS | ||
24 | |||
25 | /* Get declarations of GNU message catalog functions. */ | ||
26 | #include <libintl.h> | ||
27 | |||
28 | #else | ||
29 | |||
30 | /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which | ||
31 | chokes if dcgettext is defined as a macro. So include it now, to make | ||
32 | later inclusions of <locale.h> a NOP. We don't include <libintl.h> | ||
33 | as well because people using "gettext.h" will not include <libintl.h>, | ||
34 | and also including <libintl.h> would fail on SunOS 4, whereas <locale.h> | ||
35 | is GNUNET_OK. */ | ||
36 | #if defined(__sun) | ||
37 | #include <locale.h> | ||
38 | #endif | ||
39 | |||
40 | /* Disabled NLS. | ||
41 | The casts to 'const char *' serve the purpose of producing warnings | ||
42 | for invalid uses of the value returned from these functions. | ||
43 | On pre-ANSI systems without 'const', the config.h file is supposed to | ||
44 | contain "#define const". */ | ||
45 | #define gettext(Msgid) ((const char *) (Msgid)) | ||
46 | #define dgettext(Domainname, Msgid) ((const char *) (Msgid)) | ||
47 | #define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid)) | ||
48 | #define ngettext(Msgid1, Msgid2, N) \ | ||
49 | ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) | ||
50 | #define dngettext(Domainname, Msgid1, Msgid2, N) \ | ||
51 | ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) | ||
52 | #define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ | ||
53 | ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) | ||
54 | /* slight modification here to avoid warnings: generate GNUNET_NO code, | ||
55 | not even the cast... */ | ||
56 | #define textdomain(Domainname) | ||
57 | #define bindtextdomain(Domainname, Dirname) | ||
58 | #define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset)) | ||
59 | |||
60 | #endif | ||
61 | |||
62 | /* A pseudo function call that serves as a marker for the automated | ||
63 | extraction of messages, but does not call gettext(). The run-time | ||
64 | translation is done at a different place in the code. | ||
65 | The argument, String, should be a literal string. Concatenated strings | ||
66 | and other string expressions won't work. | ||
67 | The macro's expansion is not parenthesized, so that it is suitable as | ||
68 | initializer for static 'char[]' or 'const char[]' variables. */ | ||
69 | #define gettext_noop(String) String | ||
70 | |||
71 | #endif /* _LIBGETTEXT_H */ | ||