xref: /freebsd/usr.bin/gencat/gencat.1 (revision f4d874a1db833173112c1f9fe338994fc82cc882)
1634a86baSWolfram Schneider.\"	$OpenBSD: gencat.1,v 1.3 1997/06/11 15:39:54 kstailey Exp $
2634a86baSWolfram Schneider.\"
3634a86baSWolfram Schneider.\" Copyright (c) 1997 Ken Stailey
4634a86baSWolfram Schneider.\"
5634a86baSWolfram Schneider.\" Redistribution and use in source and binary forms, with or without
6634a86baSWolfram Schneider.\" modification, are permitted provided that the following conditions
7634a86baSWolfram Schneider.\" are met:
8634a86baSWolfram Schneider.\" 1. Redistributions of source code must retain the above copyright
9634a86baSWolfram Schneider.\"    notice, this list of conditions and the following disclaimer.
10634a86baSWolfram Schneider.\" 2. Redistributions in binary form must reproduce the above copyright
11634a86baSWolfram Schneider.\"    notice, this list of conditions and the following disclaimer in the
12634a86baSWolfram Schneider.\"    documentation and/or other materials provided with the distribution.
13634a86baSWolfram Schneider.\" 3. The name of the author may not be used to endorse or promote products
14634a86baSWolfram Schneider.\"    derived from this software without specific prior written permission
15634a86baSWolfram Schneider.\"
16634a86baSWolfram Schneider.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17634a86baSWolfram Schneider.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18634a86baSWolfram Schneider.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19634a86baSWolfram Schneider.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20634a86baSWolfram Schneider.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21634a86baSWolfram Schneider.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22634a86baSWolfram Schneider.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23634a86baSWolfram Schneider.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24634a86baSWolfram Schneider.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25634a86baSWolfram Schneider.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26634a86baSWolfram Schneider.\"
27c3aac50fSPeter Wemm.\" $FreeBSD$
28634a86baSWolfram Schneider.\"
29634a86baSWolfram Schneider.Dd June 11, 1997
30634a86baSWolfram Schneider.Dt GENCAT 1
31634a86baSWolfram Schneider.Os
32634a86baSWolfram Schneider.Sh NAME
33634a86baSWolfram Schneider.Nm gencat
34634a86baSWolfram Schneider.Nd NLS catalog compiler
35634a86baSWolfram Schneider.Sh SYNOPSIS
36cb474aacSJoseph Koshy.Nm
37634a86baSWolfram Schneider.Ar "output-file"
38cb474aacSJoseph Koshy.Ar "input-files..."
39634a86baSWolfram Schneider.Sh DESCRIPTION
40634a86baSWolfram SchneiderThe
41cb474aacSJoseph Koshy.Nm
42cb474aacSJoseph Koshyutility merges the text NLS input files
43cb474aacSJoseph Koshy.Ar "input-files..."
44cb474aacSJoseph Koshyinto a formatted message catalog file
45cb474aacSJoseph Koshy.Ar "output-file" .
46cb474aacSJoseph KoshyThe file
47cb474aacSJoseph Koshy.Ar "output-file"
48cb474aacSJoseph Koshywill be created if it does not already exist.  If
49cb474aacSJoseph Koshy.Ar "output-file"
50cb474aacSJoseph Koshydoes exist, its messages will be included in the new
51cb474aacSJoseph Koshy.Ar "output-file" .
52cb474aacSJoseph KoshyIf set and message numbers collide, the new message text defined in
53cb474aacSJoseph Koshy.Ar "input-files..."
54cb474aacSJoseph Koshywill replace the old message text currently contained in
55cb474aacSJoseph Koshy.Ar "output-file" .
56cb474aacSJoseph Koshy.Sh INPUT FILES
57cb474aacSJoseph KoshyThe format of a message text source file is defined below.  Note that
58cb474aacSJoseph Koshythe fields of a message text source line are separated by a single space
59cb474aacSJoseph Koshycharacter: any other space characters are considered to be part of the
60cb474aacSJoseph Koshyfield contents.
61cb474aacSJoseph Koshy.Pp
62f4d874a1SRuslan Ermilov.Bl -tag -width 3n
63cb474aacSJoseph Koshy.It Li $set Ar n comment
64cb474aacSJoseph KoshyThis line specifies the set identifier of the following messages until
65cb474aacSJoseph Koshythe next
66cb474aacSJoseph Koshy.Li $set
67cb474aacSJoseph Koshyor end-of-file appears.  The argument
68cb474aacSJoseph Koshy.Ar n
69cb474aacSJoseph Koshyis the set identifier which is defined as a number in the range
70cb474aacSJoseph Koshy[1, (NL_SETMAX)].  Set identifiers must occur in ascending order within
71cb474aacSJoseph Koshya single source file, but need not be contiguous.  Any string following
72cb474aacSJoseph Koshya space following the set identifier is treated as a comment.  If no
73cb474aacSJoseph Koshy.Li $set
74cb474aacSJoseph Koshydirective  is specified in a given source file, all messages will
75cb474aacSJoseph Koshybe located in the default message set NL_SETD.
76cb474aacSJoseph Koshy.It Li $del Ar n comment
77cb474aacSJoseph KoshyThis line deletes messages from set
78cb474aacSJoseph Koshy.Ar n
79cb474aacSJoseph Koshyfrom a message catalog.  The
80cb474aacSJoseph Koshy.Ar n
81cb474aacSJoseph Koshyspecifies a set number.  Any string following a space following the set
82cb474aacSJoseph Koshynumber is treated as a comment.
83cb474aacSJoseph Koshy.It Li $ Ar comment
84cb474aacSJoseph KoshyA line beginning with
85cb474aacSJoseph Koshy.Li $
86cb474aacSJoseph Koshyfollowed by a space is treated as a comment.
87cb474aacSJoseph Koshy.It Ar m message-text
88cb474aacSJoseph KoshyA message line consists of a message identifier
89cb474aacSJoseph Koshy.Ar m
90cb474aacSJoseph Koshyin the range [1, (NL_MSGMAX)].  The
91cb474aacSJoseph Koshy.Ar message-text
92cb474aacSJoseph Koshyis stored in the message catalog with the set identifier specified by
93cb474aacSJoseph Koshythe last
94cb474aacSJoseph Koshy.Li $set
95cb474aacSJoseph Koshydirective, and the message identifier
96cb474aacSJoseph Koshy.Ar m .
97cb474aacSJoseph KoshyIf the
98cb474aacSJoseph Koshy.Ar message-text
99cb474aacSJoseph Koshyis empty, and there is a space character following the message identifier,
100cb474aacSJoseph Koshyan empty string is stored in the message catalog.  If the
101cb474aacSJoseph Koshy.Ar message-text
102cb474aacSJoseph Koshyis empty, and if there is no space character following the message
103cb474aacSJoseph Koshyidentifier, then the existing message in the current set with the
104cb474aacSJoseph Koshyspecified message identifier is deleted from the catalog.  Message
105cb474aacSJoseph Koshyidentifiers must be in ascending order within a single set, but
106cb474aacSJoseph Koshyneed not be contiguous.  The
107cb474aacSJoseph Koshy.Ar message-text
108cb474aacSJoseph Koshylength must be in the range [0, (NL_TEXTMAX)].
109cb474aacSJoseph Koshy.It Li $quote Ar c
110cb474aacSJoseph KoshyThis line specifies an optional quote character
111cb474aacSJoseph Koshy.Ar c
112cb474aacSJoseph Koshywhich can be used to surround
113cb474aacSJoseph Koshy.Ar message-text
114cb474aacSJoseph Koshyso that trailing space or empty messages are visible in message
115cb474aacSJoseph Koshysource files.  By default, or if an empty
116cb474aacSJoseph Koshy.Li $quote
117cb474aacSJoseph Koshydirective is specified, no quoting of
118cb474aacSJoseph Koshy.Ar message-text
119cb474aacSJoseph Koshywill be recognized.
120cb474aacSJoseph Koshy.El
121cb474aacSJoseph Koshy.Pp
122cb474aacSJoseph KoshyEmpty lines in message source files are ignored.  The effect of lines
123cb474aacSJoseph Koshybeginning with any character other than those described above is
124cb474aacSJoseph Koshyundefined.
125cb474aacSJoseph Koshy.Pp
126cb474aacSJoseph KoshyText strings can contain the following special characters and escape
127cb474aacSJoseph Koshysequences.  In addition, if a quote character is defined, it may be
128cb474aacSJoseph Koshyescaped as well to embed a literal quote character.
129cb474aacSJoseph Koshy.Pp
130f4d874a1SRuslan Ermilov.Bl -tag -width "\eooo" -offset indent -compact
131cb474aacSJoseph Koshy.It Li \en
132cb474aacSJoseph Koshyline feed
133cb474aacSJoseph Koshy.It Li \et
134cb474aacSJoseph Koshyhorizontal tab
135cb474aacSJoseph Koshy.It Li \ev
136cb474aacSJoseph Koshyvertical tab
137cb474aacSJoseph Koshy.It Li \eb
138cb474aacSJoseph Koshybackspace
139cb474aacSJoseph Koshy.It Li \er
140cb474aacSJoseph Koshycarriage return
141cb474aacSJoseph Koshy.It Li \ef
142cb474aacSJoseph Koshyform feed
143cb474aacSJoseph Koshy.It Li \e\e
144cb474aacSJoseph Koshybackslash
145cb474aacSJoseph Koshy.It Li \eooo
146cb474aacSJoseph Koshyoctal number in the range [000, 377]
147cb474aacSJoseph Koshy.El
148cb474aacSJoseph Koshy.Pp
149cb474aacSJoseph KoshyA backslash character immediately before the end of the line in a file
150cb474aacSJoseph Koshyis used to continue the line onto the next line, e.g.:
151cb474aacSJoseph Koshy.Pp
152cb474aacSJoseph Koshy.Dl 1 This line is continued \e
153cb474aacSJoseph Koshy.Dl on this line.
154cb474aacSJoseph Koshy.Pp
155cb474aacSJoseph KoshyIf the character following the backslash is not one of those specified,
156cb474aacSJoseph Koshythe backslash is ignored.
157634a86baSWolfram Schneider.Pp
158634a86baSWolfram SchneiderThe
159cb474aacSJoseph Koshy.Nm
160634a86baSWolfram Schneiderutility exits 0 on success, and >0 if an error occurs.
161634a86baSWolfram Schneider.Sh SEE ALSO
162634a86baSWolfram Schneider.Xr catclose 3 ,
163634a86baSWolfram Schneider.Xr catgets 3 ,
164634a86baSWolfram Schneider.Xr catopen 3
165634a86baSWolfram Schneider.Sh STANDARDS
166634a86baSWolfram SchneiderThe
167cb474aacSJoseph Koshy.Nm
168cb474aacSJoseph Koshyutility is compliant with the
169cb474aacSJoseph Koshy.St -xpg4
170cb474aacSJoseph Koshystandard.
171a4cab7d3SMike Pritchard.Sh AUTHORS
172f4d874a1SRuslan Ermilov.An -nosplit
173cb474aacSJoseph KoshyThis manual page by
174cb474aacSJoseph Koshy.An Ken Stailey
175cb474aacSJoseph Koshyupdated and revised by
176cb474aacSJoseph Koshy.An Terry Lambert .
177cb474aacSJoseph Koshy.Sh BUGS
178cb474aacSJoseph KoshyA message catalog file created from a blank input file can not be revised;
179cb474aacSJoseph Koshyit must be deleted and recreated.
180