Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022

msggen (1)


msggen - generate a machine independent formatted message catalog


msggen [-fls] catfile [msgfile]


msggen(1)                        User Commands                       msggen(1)

       msggen - generate a machine independent formatted message catalog

       msggen [-fls] catfile [msgfile]

       msggen merges the message text source file msgfile into a machine inde-
       pendent 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 cur-
       rently 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          List  the  printf(3C)  format signature for each message in
       --format    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 catfile in UTF-8 msgfile form.

       -s          Convert  the  catfile to a message set number and print the
       --set       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 mes-
           sages  are  visible  in a message source line. By default, or if an
           empty $quote directive is supplied, no quoting of  message-text  is

       $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_SET-
           MAX]. 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 cata-
           log.  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 direc-
           tive,  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 cat-
           alogue. 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        |
       |Availability                 |developer/astdev             |
       |Interface Stability          |Volatile                     |

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

Solaris 11.4                      9 Oct 2007                         msggen(1)