diff options
Diffstat (limited to 'CMake/apti18n.h.in')
-rw-r--r-- | CMake/apti18n.h.in | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/CMake/apti18n.h.in b/CMake/apti18n.h.in new file mode 100644 index 0000000..de9c849 --- /dev/null +++ b/CMake/apti18n.h.in @@ -0,0 +1,34 @@ +// -*- mode: cpp; mode: fold -*- +/* Internationalization macros for apt. This header should be included last + in each C file. */ + +#ifndef APT_I18N_H +#define APT_I18N_H + +// Set by autoconf +#cmakedefine USE_NLS + +#ifdef USE_NLS +// apt will use the gettext implementation of the C library +#include <libintl.h> +#include <locale.h> +# ifdef APT_DOMAIN +# define _(x) dgettext(APT_DOMAIN,x) +# define P_(msg,plural,n) dngettext(APT_DOMAIN,msg,plural,n) +# else +# define _(x) gettext(x) +# define P_(msg,plural,n) ngettext(msg,plural,n) +# endif +# define N_(x) x +#else +// apt will not use any gettext +extern "C" inline char* setlocale(int, const char*) throw() { return nullptr; } +extern "C" inline char* textdomain(const char*) throw() { return nullptr; } +extern "C" inline char* bindtextdomain(const char*, const char*) throw() { return nullptr; } +extern "C" inline char* dgettext(const char*, const char* msg) throw() { return const_cast<char*>(msg); } +# define _(x) x +# define P_(msg,plural,n) (n == 1 ? msg : plural) +# define N_(x) x +#endif + +#endif |