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