[EMAIL PROTECTED] (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.