1 |
.\" $MidnightBSD$ |
2 |
.\" $OpenBSD: gencat.1,v 1.3 1997/06/11 15:39:54 kstailey Exp $ |
3 |
.\" |
4 |
.\" Copyright (c) 1997 Ken Stailey |
5 |
.\" |
6 |
.\" Redistribution and use in source and binary forms, with or without |
7 |
.\" modification, are permitted provided that the following conditions |
8 |
.\" are met: |
9 |
.\" 1. Redistributions of source code must retain the above copyright |
10 |
.\" notice, this list of conditions and the following disclaimer. |
11 |
.\" 2. Redistributions in binary form must reproduce the above copyright |
12 |
.\" notice, this list of conditions and the following disclaimer in the |
13 |
.\" documentation and/or other materials provided with the distribution. |
14 |
.\" 3. The name of the author may not be used to endorse or promote products |
15 |
.\" derived from this software without specific prior written permission |
16 |
.\" |
17 |
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
18 |
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
19 |
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
20 |
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
21 |
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
22 |
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
23 |
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
24 |
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 |
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
26 |
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 |
.\" |
28 |
.\" $FreeBSD: stable/10/usr.bin/gencat/gencat.1 213573 2010-10-08 12:40:16Z uqs $ |
29 |
.\" |
30 |
.Dd June 11, 1997 |
31 |
.Dt GENCAT 1 |
32 |
.Os |
33 |
.Sh NAME |
34 |
.Nm gencat |
35 |
.Nd NLS catalog compiler |
36 |
.Sh SYNOPSIS |
37 |
.Nm |
38 |
.Ar "output-file" |
39 |
.Ar "input-files..." |
40 |
.Sh DESCRIPTION |
41 |
The |
42 |
.Nm |
43 |
utility merges the text NLS input files |
44 |
.Ar "input-files..." |
45 |
into a formatted message catalog file |
46 |
.Ar "output-file" . |
47 |
The file |
48 |
.Ar "output-file" |
49 |
will be created if it does not already exist. |
50 |
If |
51 |
.Ar "output-file" |
52 |
does exist, its messages will be included in the new |
53 |
.Ar "output-file" . |
54 |
If set and message numbers collide, the new message text defined in |
55 |
.Ar "input-files..." |
56 |
will replace the old message text currently contained in |
57 |
.Ar "output-file" . |
58 |
.Sh INPUT FILES |
59 |
The format of a message text source file is defined below. |
60 |
Note that |
61 |
the fields of a message text source line are separated by a single space |
62 |
character: any other space characters are considered to be part of the |
63 |
field contents. |
64 |
.Bl -tag -width 3n |
65 |
.It Li $set Ar n comment |
66 |
This line specifies the set identifier of the following messages until |
67 |
the next |
68 |
.Li $set |
69 |
or end-of-file appears. |
70 |
The argument |
71 |
.Ar n |
72 |
is the set identifier which is defined as a number in the range |
73 |
[1, (NL_SETMAX)]. |
74 |
Set identifiers must occur in ascending order within |
75 |
a single source file, but need not be contiguous. |
76 |
Any string following |
77 |
a space following the set identifier is treated as a comment. |
78 |
If no |
79 |
.Li $set |
80 |
directive is specified in a given source file, all messages will |
81 |
be located in the default message set NL_SETD. |
82 |
.It Li $del Ar n comment |
83 |
This line deletes messages from set |
84 |
.Ar n |
85 |
from a message catalog. |
86 |
The |
87 |
.Ar n |
88 |
specifies a set number. |
89 |
Any string following a space following the set |
90 |
number is treated as a comment. |
91 |
.It Li $ Ar comment |
92 |
A line beginning with |
93 |
.Li $ |
94 |
followed by a space is treated as a comment. |
95 |
.It Ar m message-text |
96 |
A message line consists of a message identifier |
97 |
.Ar m |
98 |
in the range [1, (NL_MSGMAX)]. |
99 |
The |
100 |
.Ar message-text |
101 |
is stored in the message catalog with the set identifier specified by |
102 |
the last |
103 |
.Li $set |
104 |
directive, and the message identifier |
105 |
.Ar m . |
106 |
If the |
107 |
.Ar message-text |
108 |
is empty, and there is a space character following the message identifier, |
109 |
an empty string is stored in the message catalog. |
110 |
If the |
111 |
.Ar message-text |
112 |
is empty, and if there is no space character following the message |
113 |
identifier, then the existing message in the current set with the |
114 |
specified message identifier is deleted from the catalog. |
115 |
Message |
116 |
identifiers must be in ascending order within a single set, but |
117 |
need not be contiguous. |
118 |
The |
119 |
.Ar message-text |
120 |
length must be in the range [0, (NL_TEXTMAX)]. |
121 |
.It Li $quote Ar c |
122 |
This line specifies an optional quote character |
123 |
.Ar c |
124 |
which can be used to surround |
125 |
.Ar message-text |
126 |
so that trailing space or empty messages are visible in message |
127 |
source files. |
128 |
By default, or if an empty |
129 |
.Li $quote |
130 |
directive is specified, no quoting of |
131 |
.Ar message-text |
132 |
will be recognized. |
133 |
.El |
134 |
.Pp |
135 |
Empty lines in message source files are ignored. |
136 |
The effect of lines |
137 |
beginning with any character other than those described above is |
138 |
undefined. |
139 |
.Pp |
140 |
Text strings can contain the following special characters and escape |
141 |
sequences. |
142 |
In addition, if a quote character is defined, it may be |
143 |
escaped as well to embed a literal quote character. |
144 |
.Pp |
145 |
.Bl -tag -width "\eooo" -offset indent -compact |
146 |
.It Li \en |
147 |
line feed |
148 |
.It Li \et |
149 |
horizontal tab |
150 |
.It Li \ev |
151 |
vertical tab |
152 |
.It Li \eb |
153 |
backspace |
154 |
.It Li \er |
155 |
carriage return |
156 |
.It Li \ef |
157 |
form feed |
158 |
.It Li \e\e |
159 |
backslash |
160 |
.It Li \eooo |
161 |
octal number in the range [000, 377] |
162 |
.El |
163 |
.Pp |
164 |
A backslash character immediately before the end of the line in a file |
165 |
is used to continue the line onto the next line, e.g.: |
166 |
.Pp |
167 |
.Dl 1 This line is continued \e |
168 |
.Dl on this line. |
169 |
.Pp |
170 |
If the character following the backslash is not one of those specified, |
171 |
the backslash is ignored. |
172 |
.Sh EXIT STATUS |
173 |
.Ex -std |
174 |
.Sh SEE ALSO |
175 |
.Xr catclose 3 , |
176 |
.Xr catgets 3 , |
177 |
.Xr catopen 3 |
178 |
.Sh STANDARDS |
179 |
The |
180 |
.Nm |
181 |
utility is compliant with the |
182 |
.St -xpg4 |
183 |
standard. |
184 |
.Sh AUTHORS |
185 |
.An -nosplit |
186 |
This manual page was originally written by |
187 |
.An Ken Stailey |
188 |
and later revised by |
189 |
.An Terry Lambert . |
190 |
.Sh BUGS |
191 |
A message catalog file created from a blank input file cannot be revised; |
192 |
it must be deleted and recreated. |