[Ben Collins-Sussman]
> --- subversion/svn/notify.c (revision 24986)
> +++ subversion/svn/notify.c (working copy)
> @@ -410,6 +410,18 @@
> svn_error_clear(n->err);
> break;
>
> + case svn_wc_notify_merge_begin:
> + if (n->merge_range->start == n->merge_range->end)
> + err = svn_cmdline_printf(pool, _("--- Merging revision %ld to
> '%s':\n"),
> + n->merge_range->start, path_local);
> + else
> + err = svn_cmdline_printf(pool, _("--- Merging revisions
> %ld-%ld to '%s':\n"),
> + n->merge_range->start,
> n->merge_range->end,
> + path_local);
Instead of _(), it would be appropriate to use the plural-sensitive
form of gettext:
int numrevs = n->merge_range->end - n->merge_range->start + 1;
char *tmpstr = dngettext(PACKAGE_NAME,
"--- Merging revision %ld to '%s':\n",
"--- Merging revisions %ld-%ld to '%s':\n",
numrevs);
if (numrevs == 1)
err = svn_cmdline_printf(pool, tmpstr,
n->merge_range->start, path_local);
else
err = svn_cmdline_printf(pool, tmpstr, n->merge_range->start,
n->merge_range->end, path_local);
This accommodates languages which have more than two forms to denote
singular/plural. For example, I understand that in some languages,
nouns are declined as {one | two | more-than-two}. ngettext and
dngettext handle this correctly.
Of course, if you use dngettext(), you also want to add it to
svn_private_config.hw, to support --disable-nls.
Received on Fri May 11 07:53:46 2007