summaryrefslogtreecommitdiffstats
path: root/man/bindtextdomain.3.html
blob: 01c0bc3adb2f51aace1295d3d9fe4dc3e1a1687b (plain)
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
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta name="Content-Style" content="text/css">
<title>BINDTEXTDOMAIN</title>
</head>
<body>

<h1 align=center>BINDTEXTDOMAIN</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:14 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%">
bindtextdomain - set directory containing message catalogs</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 &lt;libintl.h&gt;

char * bindtextdomain (const char *</b> <i>domainname</i><b>, const char *</b> <i>dirname</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>bindtextdomain</b> function sets the base directory
of the hierarchy containing message catalogs for a given
message domain.</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%">
A message domain is a set of translatable <i>msgid</i>
messages. Usually, every software package has its own
message domain. The need for calling <b>bindtextdomain</b>
arises because packages are not always installed with the
same prefix as the &lt;libintl.h&gt; header and the
libc/libintl libraries.</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%">
Message catalogs will be expected at the pathnames
<i>dirname</i>/<i>locale</i>/<i>category</i>/<i>domainname</i>.mo,
where <i>locale</i> is a locale name and <i>category</i> is
a locale facet such as <b>LC_MESSAGES</b>.</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%">
<i>domainname</i> must be a non-empty string.</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%">
If <i>dirname</i> is not NULL, the base directory for
message catalogs belonging to domain <i>domainname</i> is
set to <i>dirname</i>. The function makes copies of the
argument strings as needed. If the program wishes to call
the <b>chdir</b> function, it is important that
<i>dirname</i> be an absolute pathname; otherwise it cannot
be guaranteed that the message catalogs will be
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%">
If <i>dirname</i> is NULL, the function returns the
previously set base directory for domain
<i>domainname</i>.</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 successful, the <b>bindtextdomain</b> function returns
the current base directory for domain <i>domainname</i>,
after possibly changing it. The resulting string is valid
until the next <b>bindtextdomain</b> call for the same
<i>domainname</i> and must not be modified or freed. If a
memory allocation failure occurs, it sets <b>errno</b> to
<b>ENOMEM</b> and returns NULL.</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%">
The following error can occur, among others:</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%">
<b>ENOMEM</b></td></table>

<table width="100%" border=0 rules="none" frame="void"
       cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
Not enough memory available.</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),
<b>ngettext</b>(3), <b>dngettext</b>(3),
<b>dcngettext</b>(3), <b>textdomain</b>(3),
<b>realpath</b>(3)</td></table>
<hr>
</body>
</html>