summaryrefslogtreecommitdiffstats
path: root/include/nls.h
blob: 377c5a1ff311e3dd3f1c900566ad219691f0c4fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/*
 * No copyright is claimed.  This code is in the public domain; do with
 * it what you wish.
 */
#ifndef UTIL_LINUX_NLS_H
#define UTIL_LINUX_NLS_H

#ifndef LOCALEDIR
#define LOCALEDIR "/usr/share/locale"
#endif

#ifdef HAVE_LOCALE_H
# include <locale.h>
#else
# undef setlocale
# define setlocale(Category, Locale) /* empty */
struct lconv
{
	char *decimal_point;
};
# undef localeconv
# define localeconv() NULL
#endif


#ifdef ENABLE_NLS
# include <libintl.h>
/*
 * For NLS support in the public shared libraries we have to specify text
 * domain name to be independent on the main program. For this purpose define
 * UL_TEXTDOMAIN_EXPLICIT before you include nls.h to your shared library code.
 */
# ifdef UL_TEXTDOMAIN_EXPLICIT
#  define _(Text) dgettext (UL_TEXTDOMAIN_EXPLICIT, Text)
# else
#  define _(Text) gettext (Text)
# endif
# ifdef gettext_noop
#  define N_(String) gettext_noop (String)
# else
#  define N_(String) (String)
# endif
# define P_(Singular, Plural, n) ngettext (Singular, Plural, n)
#else
# undef bindtextdomain
# define bindtextdomain(Domain, Directory) /* empty */
# undef textdomain
# define textdomain(Domain) /* empty */
# define _(Text) (Text)
# define N_(Text) (Text)
# define P_(Singular, Plural, n) ((n) == 1 ? (Singular) : (Plural))
#endif /* ENABLE_NLS */

#ifdef HAVE_LANGINFO_H
# include <langinfo.h>
#else

typedef int nl_item;
extern char *langinfo_fallback(nl_item item);

# define nl_langinfo	langinfo_fallback

enum {
	CODESET = 1,
	RADIXCHAR,
	THOUSEP,
	D_T_FMT,
	D_FMT,
	T_FMT,
	T_FMT_AMPM,
	AM_STR,
	PM_STR,

	DAY_1,
	DAY_2,
	DAY_3,
	DAY_4,
	DAY_5,
	DAY_6,
	DAY_7,

	ABDAY_1,
	ABDAY_2,
	ABDAY_3,
	ABDAY_4,
	ABDAY_5,
	ABDAY_6,
	ABDAY_7,

	MON_1,
	MON_2,
	MON_3,
	MON_4,
	MON_5,
	MON_6,
	MON_7,
	MON_8,
	MON_9,
	MON_10,
	MON_11,
	MON_12,

	ABMON_1,
	ABMON_2,
	ABMON_3,
	ABMON_4,
	ABMON_5,
	ABMON_6,
	ABMON_7,
	ABMON_8,
	ABMON_9,
	ABMON_10,
	ABMON_11,
	ABMON_12,

	ERA_D_FMT,
	ERA_D_T_FMT,
	ERA_T_FMT,
	ALT_DIGITS,
	CRNCYSTR,
	YESEXPR,
	NOEXPR
};

#endif /* !HAVE_LANGINFO_H */

#ifndef HAVE_LANGINFO_ALTMON
# define ALTMON_1 MON_1
# define ALTMON_2 MON_2
# define ALTMON_3 MON_3
# define ALTMON_4 MON_4
# define ALTMON_5 MON_5
# define ALTMON_6 MON_6
# define ALTMON_7 MON_7
# define ALTMON_8 MON_8
# define ALTMON_9 MON_9
# define ALTMON_10 MON_10
# define ALTMON_11 MON_11
# define ALTMON_12 MON_12
#endif /* !HAVE_LANGINFO_ALTMON */

#ifndef HAVE_LANGINFO_NL_ABALTMON
# define _NL_ABALTMON_1 ABMON_1
# define _NL_ABALTMON_2 ABMON_2
# define _NL_ABALTMON_3 ABMON_3
# define _NL_ABALTMON_4 ABMON_4
# define _NL_ABALTMON_5 ABMON_5
# define _NL_ABALTMON_6 ABMON_6
# define _NL_ABALTMON_7 ABMON_7
# define _NL_ABALTMON_8 ABMON_8
# define _NL_ABALTMON_9 ABMON_9
# define _NL_ABALTMON_10 ABMON_10
# define _NL_ABALTMON_11 ABMON_11
# define _NL_ABALTMON_12 ABMON_12
#endif /* !HAVE_LANGINFO_NL_ABALTMON */

#endif /* UTIL_LINUX_NLS_H */