X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gettext.h;h=24d91824e5a810cb3f2cbc4ca0514ec68725597d;hb=c5a5f12e5a514d198f49a76d4e001c88570bf7d1;hp=11d82b0a6ec5a442619a6369dc4f9253700e726c;hpb=bb946bba761288e24b3eb621a3782a4fa804f21d;p=git.git diff --git a/gettext.h b/gettext.h index 11d82b0a6..24d91824e 100644 --- a/gettext.h +++ b/gettext.h @@ -9,14 +9,14 @@ #ifndef GETTEXT_H #define GETTEXT_H -#ifdef _ -#error "namespace conflict: '_' is pre-defined?" +#if defined(_) || defined(Q_) +#error "namespace conflict: '_' or 'Q_' is pre-defined?" #endif #define FORMAT_PRESERVING(n) __attribute__((format_arg(n))) #ifdef GETTEXT_POISON -#define use_gettext_poison() 1 +extern int use_gettext_poison(void); #else #define use_gettext_poison() 0 #endif @@ -26,7 +26,15 @@ static inline FORMAT_PRESERVING(1) const char *_(const char *msgid) return use_gettext_poison() ? "# GETTEXT POISON #" : msgid; } +static inline FORMAT_PRESERVING(1) FORMAT_PRESERVING(2) +const char *Q_(const char *msgid, const char *plu, unsigned long n) +{ + if (use_gettext_poison()) + return "# GETTEXT POISON #"; + return n == 1 ? msgid : plu; +} + /* Mark msgid for translation but do not translate it. */ -#define N_(msgid) (msgid) +#define N_(msgid) msgid #endif