Provided by: gettext-base_0.19.7-2ubuntu3.1_amd64 bug

NAME

       ngettext, dngettext, dcngettext - translate message and choose plural form

SYNOPSIS

       #include <libintl.h>

       char * ngettext (const char * msgid, const char * msgid_plural,
                        unsigned long int n);
       char * dngettext (const char * domainname,
                         const char * msgid, const char * msgid_plural,
                         unsigned long int n);
       char * dcngettext (const char * domainname,
                          const char * msgid, const char * msgid_plural,
                          unsigned long int n, int category);

DESCRIPTION

       The  ngettext,  dngettext  and  dcngettext  functions  attempt to translate a text string into the user's
       native language, by looking up the appropriate plural form of the translation in a message catalog.

       Plural forms are grammatical variants depending on the a number. Some languages have  two  forms,  called
       singular  and  plural. Other languages have three forms, called singular, dual and plural. There are also
       languages with four forms.

       The ngettext, dngettext and dcngettext functions work like the gettext, dgettext and dcgettext functions,
       respectively.   Additionally,  they choose the appropriate plural form, which depends on the number n and
       the language of the message catalog where the translation was found.

       In the "C" locale, or if none of the used  catalogs  contain  a  translation  for  msgid,  the  ngettext,
       dngettext and dcngettext functions return msgid if n == 1, or msgid_plural if n != 1.

RETURN VALUE

       If  a translation was found in one of the specified catalogs, the appropriate plural form is converted to
       the locale's codeset and returned. The resulting string is statically allocated and must not be  modified
       or freed. Otherwise msgid or msgid_plural is returned, as described above.

ERRORS

       errno is not modified.

BUGS

       The return type ought to be const char *, but is char * to avoid warnings in C code predating ANSI C.

SEE ALSO

       gettext(3), dgettext(3), dcgettext(3)