fetchmail-friends
[Top] [All Lists]

[fetchmail] Proposal: Upgrade of the gettext version used for fetchmail

2003-09-26 23:40:48
There is some output messages in driver.c like "X messages (Y seen)"
which are impossible to translate unless the target language happens
to be similar to English with regard to plural forms.

Problems arise if:
  - The target language have more than one plural form for "messages", or
  - The target language have more than one form for "seen".

Newer versions of gettext/libintl have a way to solve these problems
using the ngettext() function. It is used like this:

    report_build(stdout,
                 ngettext("%d message (%d %s) for %s",
                          "%d messages (%d %s) for %s",
                          count),
                 count,
                 count-new,
                 ngettext("seen", "seen", count-new),
                 buf);

For those who don't use National Language Support (NLS) there will
no changes because then ngettext will be defined as this macro:

#define ngettext(singular, plural, count) (count==1 ? singular : plural)

But for those who use NLS there will be a great advantage: The
translators will be able to make as many different translations as
needed dependent on the third argument (count) to ngettext().

Unfortunately the gettext code used in fetchmail is too old to
support the use of ngettext(). Therefore I propose an upgrade to
the current version which is gettext 0.12.1.

Another matter is that I see no big reason to distribute the libintl
library in the fetchmail package. The needed functions have been in
GNU libc since version 2.2, and people who want NLS but don't use
glibc can just install the gettext-runtime package - and probably most
have already done so.
 
Best regards,

Byrial Jensen (The Danish translator of fetchmail who looks forward to
be able to do a better translation)

<Prev in Thread] Current Thread [Next in Thread>