1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title>NGETTEXT</title>
</head>
<body>
<h1 align=center>NGETTEXT</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#RETURN VALUE">RETURN VALUE</a><br>
<a href="#ERRORS">ERRORS</a><br>
<a href="#BUGS">BUGS</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<!-- Creator : groff version 1.17 -->
<!-- CreationDate: Sun May 20 13:45:13 2001 -->
<a name="NAME"></a>
<h2>NAME</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
ngettext, dngettext, dcngettext - translate message and choose plural form</td></table>
<a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<pre><b>#include <libintl.h>
char * ngettext (const char *</b> <i>msgid</i><b>, const char *</b> <i>msgid_plural</i><b>,
unsigned long int</b> <i>n</i><b>);
char * dngettext (const char *</b> <i>domainname</i><b>,
const char *</b> <i>msgid</i><b>, const char *</b> <i>msgid_plural</i><b>,
unsigned long int</b> <i>n</i><b>);
char * dcngettext (const char *</b> <i>domainname</i><b>,
const char *</b> <i>msgid</i><b>, const char *</b> <i>msgid_plural</i><b>,
unsigned long int</b> <i>n</i><b>, int</b> <i>category</i><b>);
</b></pre></td></table>
<a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <b>ngettext</b>, <b>dngettext</b> and <b>dcngettext</b>
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.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
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.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The <b>ngettext</b>, <b>dngettext</b> and <b>dcngettext</b>
functions work like the <b>gettext</b>, <b>dgettext</b> and
<b>dcgettext</b> functions, respectively. Additionally, they
choose the appropriate plural form, which depends on the
number <i>n</i> and the language of the message catalog
where the translation was found.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
In the "C" locale, or if none of the used catalogs
contain a translation for <i>msgid</i>, the <b>ngettext</b>,
<b>dngettext</b> and <b>dcngettext</b> functions return
<i>msgid</i> if <i>n</i> == 1, or <i>msgid_plural</i> if
<i>n</i> != 1.</td></table>
<a name="RETURN VALUE"></a>
<h2>RETURN VALUE</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
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
<i>msgid</i> or <i>msgid_plural</i> is returned, as
described above.</td></table>
<a name="ERRORS"></a>
<h2>ERRORS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>errno</b> is not modified.</td></table>
<a name="BUGS"></a>
<h2>BUGS</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
The return type ought to be <b>const char *</b>, but is
<b>char *</b> to avoid warnings in C code predating ANSI
C.</td></table>
<a name="SEE ALSO"></a>
<h2>SEE ALSO</h2>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="10%"></td><td width="90%">
<b>gettext</b>(3), <b>dgettext</b>(3),
<b>dcgettext</b>(3)</td></table>
<hr>
</body>
</html>
|