MSGGEN(1) User Commands MSGGEN(1)


NAME


msggen - generate a machine independent formatted message catalog

SYNOPSIS


msggen [-fls] catfile [msgfile]


DESCRIPTION


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.

OPTIONS


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.


OPERANDS


The following operands are supported:

catfile
Machine independent formatted message catalog file.


msgfile
Message text source file.


USAGE


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.


EXIT STATUS


0
Successful completion.


>0
One or more specified jobs does not exist.


EXAMPLES


Example 1: Using msggen




The following example generates a message catalog xxx from the message
file xxx.msg:


example% msggen xxx xxx.msg


AUTHORS


Glenn Fowler, gsf@research.att.com

ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Volatile |
+--------------------+-----------------+

SEE ALSO


gencat(1), iconv(1), msgcc(1), printf(3C), attributes(7)


October 9, 2007 MSGGEN(1)