File: gettext.3.html

package info (click to toggle)
gettext 0.18.1.1-9
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 70,628 kB
  • sloc: ansic: 333,297; sh: 51,604; makefile: 8,355; perl: 4,181; lisp: 3,357; yacc: 665; java: 613; cs: 578; sed: 369; objc: 337; cpp: 325; awk: 80; tcl: 63; pascal: 11; php: 8
file content (186 lines) | stat: -rw-r--r-- 6,844 bytes parent folder | download | duplicates (2)
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<!-- Creator     : groff version 1.18.1 -->
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title>GETTEXT</title>
</head>
<body>

<h1 align=center>GETTEXT</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>
<a name="NAME"></a>
<h2>NAME</h2>
<!-- INDENTATION -->
<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="89%">
<p>gettext, dgettext, dcgettext &minus; translate
message</p>
</td>
</table>
<a name="SYNOPSIS"></a>
<h2>SYNOPSIS</h2>
<!-- INDENTATION -->
<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="89%">
<pre><b>#include &lt;libintl.h&gt;

char * gettext (const char *</b> <i>msgid</i><b>);
char * dgettext (const char *</b> <i>domainname</i><b>, const char *</b> <i>msgid</i><b>);
char * dcgettext (const char *</b> <i>domainname</i><b>, const char *</b> <i>msgid</i><b>,
                  int</b> <i>category</i><b>);
</b></pre>
</td>
</table>
<a name="DESCRIPTION"></a>
<h2>DESCRIPTION</h2>
<!-- INDENTATION -->

<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="89%">
<p>The <b>gettext</b>, <b>dgettext</b> and <b>dcgettext</b>
functions attempt to translate a text string into the
user&rsquo;s native language, by looking up the translation
in a message catalog.</p>
<!-- INDENTATION -->
<p>The <i>msgid</i> argument identifies the message to be
translated. By convention, it is the English version of the
message, with non-ASCII characters replaced by ASCII
approximations. This choice allows the translators to work
with message catalogs, called PO files, that contain both
the English and the translated versions of each message, and
can be installed using the <b>msgfmt</b> utility.</p>
<!-- INDENTATION -->
<p>A message domain is a set of translatable <i>msgid</i>
messages. Usually, every software package has its own
message domain. The domain name is used to determine the
message catalog where the translation is looked up; it must
be a non-empty string. For the <b>gettext</b> function, it
is specified through a preceding <b>textdomain</b> call. For
the <b>dgettext</b> and <b>dcgettext</b> functions, it is
passed as the <i>domainname</i> argument; if this argument
is NULL, the domain name specified through a preceding
<b>textdomain</b> call is used instead.</p>
<!-- INDENTATION -->
<p>Translation lookup operates in the context of the current
locale. For the <b>gettext</b> and <b>dgettext</b>
functions, the <b>LC_MESSAGES</b> locale facet is used. It
is determined by a preceding call to the <b>setlocale</b>
function. <b>setlocale(LC_ALL,&quot;&quot;)</b> initializes
the <b>LC_MESSAGES</b> locale based on the first nonempty
value of the three environment variables <b>LC_ALL</b>,
<b>LC_MESSAGES</b>, <b>LANG</b>; see <b>setlocale</b>(3).
For the <b>dcgettext</b> function, the locale facet is
determined by the <i>category</i> argument, which should be
one of the <b>LC_xxx</b> constants defined in the
&lt;locale.h&gt; header, excluding <b>LC_ALL</b>. In both
cases, the functions also use the <b>LC_CTYPE</b> locale
facet in order to convert the translated message from the
translator&rsquo;s codeset to the current locale&rsquo;s
codeset, unless overridden by a prior call to the
<b>bind_textdomain_codeset</b> function.</p>
<!-- INDENTATION -->
<p>The message catalog used by the functions is at the
pathname
<i>dirname</i>/<i>locale</i>/<i>category</i>/<i>domainname</i>.mo.
Here <i>dirname</i> is the directory specified through
<b>bindtextdomain</b>. Its default is system and
configuration dependent; typically it is
<i>prefix</i>/share/locale, where <i>prefix</i> is the
installation prefix of the package. <i>locale</i> is the
name of the current locale facet; the GNU implementation
also tries generalizations, such as the language name
without the territory name. <i>category</i> is
<b>LC_MESSAGES</b> for the <b>gettext</b> and
<b>dgettext</b> functions, or the argument passed to the
<b>dcgettext</b> function.</p>
<!-- INDENTATION -->
<p>If the <b>LANGUAGE</b> environment variable is set to a
nonempty value, and the locale is not the &quot;C&quot;
locale, the value of <b>LANGUAGE</b> is assumed to contain a
colon separated list of locale names. The functions will
attempt to look up a translation of <i>msgid</i> in each of
the locales in turn. This is a GNU extension.</p>
<!-- INDENTATION -->
<p>In the &quot;C&quot; locale, or if none of the used
catalogs contain a translation for <i>msgid</i>, the
<b>gettext</b>, <b>dgettext</b> and <b>dcgettext</b>
functions return <i>msgid</i>.</p>
</td>
</table>
<a name="RETURN VALUE"></a>
<h2>RETURN VALUE</h2>
<!-- INDENTATION -->
<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="89%">
<p>If a translation was found in one of the specified
catalogs, it is converted to the locale&rsquo;s codeset and
returned. The resulting string is statically allocated and
must not be modified or freed. Otherwise <i>msgid</i> is
returned.</p>
</td>
</table>
<a name="ERRORS"></a>
<h2>ERRORS</h2>
<!-- INDENTATION -->
<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="89%">
<p><b>errno</b> is not modified.</p>
</td>
</table>
<a name="BUGS"></a>
<h2>BUGS</h2>
<!-- INDENTATION -->
<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="89%">
<p>The return type ought to be <b>const char *</b>, but is
<b>char *</b> to avoid warnings in C code predating ANSI
C.</p>
<!-- INDENTATION -->
<p>When an empty string is used for <i>msgid</i>, the
functions may return a nonempty string.</p>
</td>
</table>
<a name="SEE ALSO"></a>
<h2>SEE ALSO</h2>
<!-- INDENTATION -->
<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="89%">
<p><b>ngettext</b>(3), <b>dngettext</b>(3),
<b>dcngettext</b>(3), <b>setlocale</b>(3),
<b>textdomain</b>(3), <b>bindtextdomain</b>(3),
<b>bind_textdomain_codeset</b>(3), <b>msgfmt</b>(1)</p>
</td>
</table>
<hr>
</body>
</html>