summaryrefslogtreecommitdiff
path: root/src/os_win32.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-08-03 22:08:45 +0200
committerBram Moolenaar <Bram@vim.org>2016-08-03 22:08:45 +0200
commitee695f787ade7fd88fc5f5497553d95c0c3645b5 (patch)
tree222deac7781773672758c4466687c7367f014ef3 /src/os_win32.c
parentcf25fdb8f10a92b3bf9e295c466c1b69812b7886 (diff)
downloadvim-git-ee695f787ade7fd88fc5f5497553d95c0c3645b5.tar.gz
patch 7.4.2152v7.4.2152
Problem: No proper translation of messages with a count. Solution: Use ngettext(). (Sergey Alyoshin)
Diffstat (limited to 'src/os_win32.c')
-rw-r--r--src/os_win32.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/os_win32.c b/src/os_win32.c
index 54f2e887f..9fe43218d 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -472,12 +472,15 @@ vimLoadLib(char *name)
# endif
/* Dummy functions */
static char *null_libintl_gettext(const char *);
+static char *null_libintl_ngettext(const char *, const char *, unsigned long n);
static char *null_libintl_textdomain(const char *);
static char *null_libintl_bindtextdomain(const char *, const char *);
static char *null_libintl_bind_textdomain_codeset(const char *, const char *);
static HINSTANCE hLibintlDLL = NULL;
char *(*dyn_libintl_gettext)(const char *) = null_libintl_gettext;
+char *(*dyn_libintl_ngettext)(const char *, const char *, unsigned long n)
+ = null_libintl_ngettext;
char *(*dyn_libintl_textdomain)(const char *) = null_libintl_textdomain;
char *(*dyn_libintl_bindtextdomain)(const char *, const char *)
= null_libintl_bindtextdomain;
@@ -495,6 +498,7 @@ dyn_libintl_init(void)
} libintl_entry[] =
{
{"gettext", (FARPROC*)&dyn_libintl_gettext},
+ {"ngettext", (FARPROC*)&dyn_libintl_ngettext},
{"textdomain", (FARPROC*)&dyn_libintl_textdomain},
{"bindtextdomain", (FARPROC*)&dyn_libintl_bindtextdomain},
{NULL, NULL}
@@ -553,6 +557,7 @@ dyn_libintl_end(void)
FreeLibrary(hLibintlDLL);
hLibintlDLL = NULL;
dyn_libintl_gettext = null_libintl_gettext;
+ dyn_libintl_ngettext = null_libintl_ngettext;
dyn_libintl_textdomain = null_libintl_textdomain;
dyn_libintl_bindtextdomain = null_libintl_bindtextdomain;
dyn_libintl_bind_textdomain_codeset = null_libintl_bind_textdomain_codeset;
@@ -567,6 +572,16 @@ null_libintl_gettext(const char *msgid)
/*ARGSUSED*/
static char *
+null_libintl_ngettext(
+ const char *msgid,
+ const char *msgid_plural,
+ unsigned long n)
+{
+ return n == 1 ? msgid : msgid_plural;
+}
+
+/*ARGSUSED*/
+ static char *
null_libintl_bindtextdomain(const char *domainname, const char *dirname)
{
return NULL;