msggen - generate a machine independent formatted message
catalog
msggen [-fls] catfile [msgfile]
msggen merges the message text source file msgfile
into a machine independent formatted message catalog catfile. The
file catfile is created if it does not already exist. If
catfile does exist, its messages are included in the new
catfile. If set and message numbers collide, the new message text
defined in msgfile replaces the old message text currently contained
in catfile.
Non-ASCII characters must be UTF-8 encoded. iconv(1) can be
used to convert to/from UTF-8.
The following options are supported:
-f
--format
List the
printf(3C) format signature for each
message in
catfile. A format signature is one line containing one
character for each format specification:
c
char
d
double
D
long double
f
float
h
short
i
int
j
long long
l
long
p
void*
s
string
t
ptrdiff_t
z
size_t
?
unknown
-l
--list
List catfile in UTF-8 msgfile form.
-s
--set
Convert the catfile to a message set number and
print the number on the standard output.
The following operands are supported:
catfile
Machine independent formatted message catalog file.
msgfile
Message text source file.
Message text source files are in gencat(1) format, defined
as follows. The fields of a message text source line are separated by a
single blank character. Any other blank characters are considered to be part
of the subsequent field. The NL_* constants are defined in one or
both of <limits.h> and <nl_types.h>.
$ comment
A line beginning with a $ followed by a blank
character is treated as a comment.
$delset n comment
This line deletes message set n from an existing
message catalog. n denotes the set number [1, NL_SETMAX]. Any
text following the set number is treated as a comment.
$quote c
This line specifies an optional quote character c,
which can be used to surround message-text so that trailing spaces or empty
messages are visible in a message source line. By default, or if an empty
$quote directive is supplied, no quoting of message-text is
recognized.
$set n comment
This line specifies the set identifier of the following
messages until the next $set or end-of-file (EOF) appears.
n denotes the set identifier, which is defined as a number in the range
[1, NL_SETMAX]. Set numbers need not be contiguous. Any text following
the set identifier is treated as a comment. If no $set directive is
specified in a message text source file, all messages are located in message
set 1.
$translation identification
YYYY-MM-DD[,...]
Append translation information to the message catalog
header. Only the newest date for a given identification is retained in the
catalog. Multiple translation lines are combined into a single,
comma-separated list.
m message-text
m denotes the message identifier, which is defined
as a number in the range [1, NL_MSGMAX]. The message-text is stored in
the message catalogue with the set identifier specified by the last
$set directive, and with message identifier m. If the
message-text is empty, and a blank character field separator is present, an
empty string is stored in the message catalogue. If a message source line has
a message number, but neither a field separator nor message-text, the existing
message with that number (if any) is deleted from the catalogue. Message
identifiers need not be contiguous. There are no message-text length
restrictions.
0
Successful completion.
>0
One or more specified jobs does not exist.
Example 1 Using msggen
The following example generates a message catalog xxx from
the message file xxx.msg:
example% msggen xxx xxx.msg
Glenn Fowler, gsf@research.att.com
See attributes(7) for descriptions of the following
attributes:
ATTRIBUTE
TYPE |
ATTRIBUTE VALUE |
Interface Stability |
Volatile |