On Wed, Aug 13, 2003 at 04:57:24 -0400, Eric S. Raymond wrote:
Here are the release notes:
* Introduce a translation item for the word "seen".
Hi,
I wonder why this was changed (at driver.c, line 1263).
The word "seen" was just moved out of the string
"%d %s (%d seen) for %s" and into an independent translatable string.
This will not help any translator to improve his translation as it do
not change the fundamental problem with the string, namely that some
languages have different forms of "seen" dependent on the number of
seen messages.
The solution for selection between "message" and "messages" in the
same line is not good either. It works in some languages but not
everywhere.
It would be better to use ngettext(3) in both cases so the
translators can define plural rules for their own languages.
Then
report_build(stdout,
GT_("%d %s (%d %s) for %s"),
count,
count > 1 ? GT_("messages") : GT_("message"),
count-new,
GT_("seen"),
buf);
should be changed to:
report_build(stdout,
NGT_("%d message (%d %s) for %s",
"%d messages (%d %s) for %s",
count),
count,
count-new,
NGT_("seen", "seen", count-new),
buf);
where NGT_ is defined as:
#ifdef ENABLE_NLS
#define NGT_(singularis,plural,number) ngettext(singularis,plural,number)
#else
#define NGT_(singularis,plural,number) (number==1 ? singularis : plural)
#endif
(and the existing NGT_ macro is better renamed to GT_NOOP).
I could prepare a patch if it has our interest.
Best regards,
Byrial Jensen
Danish translator of fetchmail