156 lines
2.8 KiB
C
156 lines
2.8 KiB
C
#ifndef UTIL_LINUX_NLS_H
|
|
#define UTIL_LINUX_NLS_H
|
|
|
|
int main(int argc, char *argv[]);
|
|
|
|
#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 */
|