[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden: GNU Coding Standards, internatialisation and plurals

From: Paul Eggert
Subject: Re: address@hidden: GNU Coding Standards, internatialisation and plurals]
Date: Fri, 19 May 2006 16:40:33 -0700
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)

address@hidden (Karl Berry) writes:

>      printf ((nfiles != 1 ? "%d files processed"
>               : "%d file processed"),
>              nfiles);
> (unquote)
> This has the problem that not all languages treat singular and plural
> the same way as English.

It might be helpful to recommend diagnostics that don't use singular
or plural at all, e.g.:

  printf ("Files processed: %d", nfiles);

This is equally awkward in almost all languages (:-), and bypasses the
singular/plural/etc. mess.

Another possibility is to update the recommendation to match the state
of the latest gettext.  (To be honest, I don't know what that is.)

We could do both, too.

> Another thing worth mentioning is that it is better to limit strings
> to be translated to one number argument per sentence unit (i.e.
> "Searched %d directories.  Found %d files"  or "Searched %d
> directories and found %d files" rather than "Found %d files in %d
> directories") as some languages may prefer to express the arguments in
> reverse order ("In %d directories found %d files"), which printf would
> probably not take kindly to.

This point doesn't make sense to me.  First, the translation need not
use the same number of sentences as the original.  Second,
translations generally can assume the %$n notation, which lets the
translator reorder the arguments.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]