# HG changeset patch # User Bram Moolenaar # Date 1656505804 -7200 # Node ID ac102d0fb50fbe3b20408f6ea13ba9076259574e # Parent 81f357198a7805fceb9a1977b2087fd629e724d6 patch 9.0.0004: plural messages not translated properly Commit: https://github.com/vim/vim/commit/d14bb1aef9a142f403aa16298c23db2751de9391 Author: Matvey Tarasov Date: Wed Jun 29 13:18:27 2022 +0100 patch 9.0.0004: plural messages not translated properly Problem: Plural messages not translated properly. Solution: Use ngettext() in a few more places. (Matvey Tarasov, closes #10606) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -736,6 +736,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4, +/**/ 3, /**/ 2, diff --git a/src/vim9execute.c b/src/vim9execute.c --- a/src/vim9execute.c +++ b/src/vim9execute.c @@ -478,20 +478,16 @@ call_dfunc( arg_to_add = ufunc->uf_args.ga_len - argcount; if (arg_to_add < 0) { - if (arg_to_add == -1) - emsg(_(e_one_argument_too_many)); - else - semsg(_(e_nr_arguments_too_many), -arg_to_add); + semsg(NGETTEXT(e_one_argument_too_many, e_nr_arguments_too_many, + -arg_to_add), -arg_to_add); return FAIL; } else if (arg_to_add > ufunc->uf_def_args.ga_len) { int missing = arg_to_add - ufunc->uf_def_args.ga_len; - if (missing == 1) - emsg(_(e_one_argument_too_few)); - else - semsg(_(e_nr_arguments_too_few), missing); + semsg(NGETTEXT(e_one_argument_too_few, e_nr_arguments_too_few, + missing), missing); return FAIL; } @@ -5170,19 +5166,15 @@ call_def_function( idx = argc - ufunc->uf_args.ga_len; if (idx > 0 && ufunc->uf_va_name == NULL) { - if (idx == 1) - emsg(_(e_one_argument_too_many)); - else - semsg(_(e_nr_arguments_too_many), idx); + semsg(NGETTEXT(e_one_argument_too_many, e_nr_arguments_too_many, + idx), idx); goto failed_early; } idx = argc - ufunc->uf_args.ga_len + ufunc->uf_def_args.ga_len; if (idx < 0) { - if (idx == -1) - emsg(_(e_one_argument_too_few)); - else - semsg(_(e_nr_arguments_too_few), -idx); + semsg(NGETTEXT(e_one_argument_too_few, e_nr_arguments_too_few, + -idx), -idx); goto failed_early; }