aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/gettext_defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/gettext_defs.h')
-rw-r--r--src/nvim/gettext_defs.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/nvim/gettext_defs.h b/src/nvim/gettext_defs.h
new file mode 100644
index 0000000000..2c7b5626d2
--- /dev/null
+++ b/src/nvim/gettext_defs.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#ifdef HAVE_WORKING_LIBINTL
+# include <libintl.h> // IWYU pragma: export
+# define _(x) gettext(x) // NOLINT(bugprone-reserved-identifier)
+// XXX do we actually need this?
+# ifdef gettext_noop
+# define N_(x) gettext_noop(x)
+# else
+# define N_(x) x
+# endif
+# define NGETTEXT(x, xs, n) ngettext(x, xs, (unsigned long)n)
+// On a Mac, gettext's libintl.h defines "setlocale" to be replaced by
+// "libintl_setlocal" which leads to wrong return values. #9789
+# if defined(__APPLE__) && defined(setlocale)
+# undef setlocale
+# endif
+#else
+# define _(x) ((char *)(x)) // NOLINT(bugprone-reserved-identifier)
+# define N_(x) x
+# define NGETTEXT(x, xs, n) ((n) == 1 ? (x) : (xs))
+# define bindtextdomain(x, y) // empty
+# define bind_textdomain_codeset(x, y) // empty
+# define textdomain(x) // empty
+#endif