Provided by: gettext-base_0.21-4ubuntu4_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)