]> git.ipfire.org Git - thirdparty/util-linux.git/blame - include/nls.h
Merge branch 'lsfd--bpf-name#in-flight' of https://github.com/masatake/util-linux
[thirdparty/util-linux.git] / include / nls.h
CommitLineData
faeb1b64
KZ
1/*
2 * No copyright is claimed. This code is in the public domain; do with
3 * it what you wish.
4 */
392f76cf
GB
5#ifndef UTIL_LINUX_NLS_H
6#define UTIL_LINUX_NLS_H
7
7eda085c
KZ
8#ifndef LOCALEDIR
9#define LOCALEDIR "/usr/share/locale"
10#endif
11
8b7f16fc
MF
12#ifdef HAVE_LOCALE_H
13# include <locale.h>
14#else
15# undef setlocale
16# define setlocale(Category, Locale) /* empty */
ab65d635 17struct lconv
18{
19 char *decimal_point;
20};
21# undef localeconv
22# define localeconv() NULL
8b7f16fc
MF
23#endif
24
7095232d 25
48d7b13a 26#ifdef ENABLE_NLS
7eda085c 27# include <libintl.h>
7095232d
KZ
28/*
29 * For NLS support in the public shared libraries we have to specify text
73afd3f8 30 * domain name to be independent on the main program. For this purpose define
7095232d
KZ
31 * UL_TEXTDOMAIN_EXPLICIT before you include nls.h to your shared library code.
32 */
33# ifdef UL_TEXTDOMAIN_EXPLICIT
34# define _(Text) dgettext (UL_TEXTDOMAIN_EXPLICIT, Text)
35# else
36# define _(Text) gettext (Text)
37# endif
7eda085c
KZ
38# ifdef gettext_noop
39# define N_(String) gettext_noop (String)
40# else
41# define N_(String) (String)
42# endif
27cc2547 43# define P_(Singular, Plural, n) ngettext (Singular, Plural, n)
7eda085c
KZ
44#else
45# undef bindtextdomain
46# define bindtextdomain(Domain, Directory) /* empty */
47# undef textdomain
48# define textdomain(Domain) /* empty */
49# define _(Text) (Text)
50# define N_(Text) (Text)
27cc2547 51# define P_(Singular, Plural, n) ((n) == 1 ? (Singular) : (Plural))
7095232d 52#endif /* ENABLE_NLS */
7eda085c 53
dc61d398
KZ
54#ifdef HAVE_LANGINFO_H
55# include <langinfo.h>
56#else
57
58typedef int nl_item;
59extern char *langinfo_fallback(nl_item item);
60
61# define nl_langinfo langinfo_fallback
62
63enum {
64 CODESET = 1,
65 RADIXCHAR,
66 THOUSEP,
67 D_T_FMT,
68 D_FMT,
69 T_FMT,
70 T_FMT_AMPM,
71 AM_STR,
72 PM_STR,
73
74 DAY_1,
75 DAY_2,
76 DAY_3,
77 DAY_4,
78 DAY_5,
79 DAY_6,
80 DAY_7,
81
82 ABDAY_1,
83 ABDAY_2,
84 ABDAY_3,
85 ABDAY_4,
86 ABDAY_5,
87 ABDAY_6,
88 ABDAY_7,
89
90 MON_1,
91 MON_2,
92 MON_3,
93 MON_4,
94 MON_5,
95 MON_6,
96 MON_7,
97 MON_8,
98 MON_9,
99 MON_10,
100 MON_11,
101 MON_12,
102
103 ABMON_1,
104 ABMON_2,
105 ABMON_3,
106 ABMON_4,
107 ABMON_5,
108 ABMON_6,
109 ABMON_7,
110 ABMON_8,
111 ABMON_9,
112 ABMON_10,
113 ABMON_11,
114 ABMON_12,
115
116 ERA_D_FMT,
117 ERA_D_T_FMT,
118 ERA_T_FMT,
119 ALT_DIGITS,
120 CRNCYSTR,
121 YESEXPR,
122 NOEXPR
123};
124
125#endif /* !HAVE_LANGINFO_H */
126
4e12a62e
RL
127#ifndef HAVE_LANGINFO_ALTMON
128# define ALTMON_1 MON_1
129# define ALTMON_2 MON_2
130# define ALTMON_3 MON_3
131# define ALTMON_4 MON_4
132# define ALTMON_5 MON_5
133# define ALTMON_6 MON_6
134# define ALTMON_7 MON_7
135# define ALTMON_8 MON_8
136# define ALTMON_9 MON_9
137# define ALTMON_10 MON_10
138# define ALTMON_11 MON_11
139# define ALTMON_12 MON_12
140#endif /* !HAVE_LANGINFO_ALTMON */
141
142#ifndef HAVE_LANGINFO_NL_ABALTMON
143# define _NL_ABALTMON_1 ABMON_1
144# define _NL_ABALTMON_2 ABMON_2
145# define _NL_ABALTMON_3 ABMON_3
146# define _NL_ABALTMON_4 ABMON_4
147# define _NL_ABALTMON_5 ABMON_5
148# define _NL_ABALTMON_6 ABMON_6
149# define _NL_ABALTMON_7 ABMON_7
150# define _NL_ABALTMON_8 ABMON_8
151# define _NL_ABALTMON_9 ABMON_9
152# define _NL_ABALTMON_10 ABMON_10
153# define _NL_ABALTMON_11 ABMON_11
154# define _NL_ABALTMON_12 ABMON_12
155#endif /* !HAVE_LANGINFO_NL_ABALTMON */
156
392f76cf 157#endif /* UTIL_LINUX_NLS_H */