diff --git a/ChangeLog b/ChangeLog index 20f35ed2..34fc724f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ * Check in configure if selinux libraries are required in static version. * Add temporary debug code to find processes locking internal device. * Simplify build system, use autopoint and clean gettext processing. + * Use proper NLS macros and detection (so the message translation works again). 2009-09-30 Milan Broz * Fix exported symbols and versions in libcryptsetup. diff --git a/lib/internal.h b/lib/internal.h index fe9dfa07..50529c47 100644 --- a/lib/internal.h +++ b/lib/internal.h @@ -10,9 +10,7 @@ #include #include -#include -#include -#define _(String) gettext((String)) +#include "nls.h" #define SECTOR_SHIFT 9 #define SECTOR_SIZE (1 << SECTOR_SHIFT) diff --git a/lib/nls.h b/lib/nls.h new file mode 100644 index 00000000..d7a9d9bd --- /dev/null +++ b/lib/nls.h @@ -0,0 +1,32 @@ +#ifndef CRYPTSETUP_NLS_H +#define CRYPTSETUP_NLS_H + +#ifndef LOCALEDIR +#define LOCALEDIR "/usr/share/locale" +#endif + +#ifdef HAVE_LOCALE_H +# include +#else +# undef setlocale +# define setlocale(Category, Locale) /* empty */ +#endif + +#ifdef ENABLE_NLS +# include +# define _(Text) gettext (Text) +# ifdef gettext_noop +# define N_(String) gettext_noop (String) +# else +# define N_(String) (String) +# endif +#else +# undef bindtextdomain +# define bindtextdomain(Domain, Directory) /* empty */ +# undef textdomain +# define textdomain(Domain) /* empty */ +# define _(Text) (Text) +# define N_(Text) (Text) +#endif + +#endif /* CRYPTSETUP_H */ diff --git a/src/cryptsetup.h b/src/cryptsetup.h index d787f7a6..a0102529 100644 --- a/src/cryptsetup.h +++ b/src/cryptsetup.h @@ -5,26 +5,7 @@ # include #endif -#if HAVE_LOCALE_H -# include -#endif -#if !HAVE_SETLOCALE -# define setlocale(Category, Locale) do { } while (0) -#endif - -#ifdef ENABLE_NLS -# include -# define _(Text) gettext (Text) -#else -# undef bindtextdomain -# define bindtextdomain(Domain, Directory) do { } while (0) -# undef textdomain -# define textdomain(Domain) do { } while (0) -# undef dcgettext -# define dcgettext(Domainname, Text, Category) Text -# define _(Text) Text -#endif -#define N_(Text) (Text) +#include "lib/nls.h" #define DEFAULT_CIPHER "aes" #define DEFAULT_LUKS_CIPHER "aes-cbc-essiv:sha256"