[HEAD PATCH] Use ngettext where appropriate
ineiev at gnu.org
Wed Dec 2 18:37:46 CET 2015
On Wed, Dec 02, 2015 at 06:12:51PM +0100, Werner Koch wrote:
> On Tue, 20 Oct 2015 09:08, ineiev at gnu.org said:
> > I attach a patch against current HEAD to make use
> > of ngettext in some places; it also marks two more messages
> > localizable.
> At the cost of translating a lot more and quite similar strings.
The string is the same (it's single msgid); what would be needed
is filling different forms of the words (when the number of plural
forms is more then one, which is not the case for some languages).
> This breaks too many other translations.
To be precise, it makes them 'fuzzy'.
> Although not being correct, it is
> better to not apply your patch. Sorry.
In cases like
- if (n_uids == 1 )
- log_info( _("key %s: \"%s\" 1 new user ID\n"),
- else if (n_uids )
- log_info( _("key %s: \"%s\" %d new user IDs\n"),
+ if (n_uids)
+ log_info( ngettext ("key %s: \"%s\" %d new user ID\n",
+ "key %s: \"%s\" %d new user IDs\n", n_uids),
+ keystr(keyid),p, n_uids);
the number of messages decreases. will you accept the patch
if I pick such cases?
> Where possible I try to use a table format to avoid plural issues. BTW,
> for that reason this hunk would be wrong:
> > - log_info (_("permanently loaded certificates: %u\n"),
> > + log_info (ngettext(" permanently loaded certificate: %u\n",
> > + "permanently loaded certificates: %u\n",
> > + total_loaded_certificates),
I'm not sure this method always works very well.
More information about the Gnupg-i18n