GENCAT(1)               NetBSD General Commands Manual               GENCAT(1)

NAME
     gencat -- generates a Native Language Support (NLS) message catalog file

SYNOPSIS
     gencat catfile msgfile [msgfile ...]

DESCRIPTION
     The gencat utility generates a formatted message catalog catfile from one
     or more message source text files msgfile.  The file catfile is created
     if it does not already exist.  If catfile does exist, its messages are
     included in the new catfile.  The new message text defined in msgfile
     replaces the old message text currently in catfile when the set and mes-
     sage numbers match.

     The generated message catalog contains message strings that will be
     retrieved using the catgets(3) library call.  These messages are dynami-
     cally loaded by the Native Language Support (NLS) library at run time.
     Error messages are grouped into sets, and a program can load a particular
     set depending on which type, or language, of messages is desired.

   Message Text Source File Format
     The message text source files are text files in the format described
     below.  Note that the fields of a message text source line are separated
     by space or tab characters.

     $set n comment
          Determines the set identifier to be used for all subsequent messages
          until the next $set or end-of-file.  The n is the set identifier
          which is defined as a number in the range [1, NL_SETMAX].  Set iden-
          tifiers within a single source file need not be contiguous.  Any
          string following the set identifier is treated as a comment.  If no
          $set directive is specified in a message text source file, all mes-
          sages will be located in the default message set NL_SETD.

     $delset n comment
          Removes message set n from the catalog.  The n is a set identifier
          in the range [1, NL_SETMAX].  If a message set was created earlier
          in the current file, or in a file previously read by the gencat com-
          mand, this directive will remove it.  Any string following the set
          identifier is treated as a comment.

     $ comment
          A line beginning with $ followed by a space or tab character is
          treated as a comment.

     m message-text
          A message line consists of a message identifier m in the range [1,
          NL_MSGMAX] and the message-text.  The message-text is read until the
          end of the line or a quote character (if one is specified).  The
          message-text is stored in the message catalog with the set identi-
          fier specified by the last $set directive, and the message identi-
          fier m.  If no message-text is provided, the message with the mes-
          sage identifier m in the current set is removed from the catalog.
          Message identifiers need not be contiguous within a single set.  The
          length of message-text must be in the range [0, NL_TEXTMAX].

     $quote c
          Sets an optional quote character to be used around the message-text.
          The quote character c may be any character other than white space.
          If this is specified, then messages must begin and end with the
          quote character.  This is useful when messages must contain leading
          white space.  By default no quote character is used.  If an empty
          $quote directive is specified, then the current quote character is
          unset.

     Empty lines and leading blanks in a message text source file are ignored.
     Any line beginning with any character other than those described above is
     ignored as a syntax error.

     Text message strings may contain any characters and the following special
     characters and escape sequences.

           Description        Symbol    Sequence
           newline            NL(LF)    \n
           horizontal tab     HT        \t
           vertical tab       VT        \v
           backspace          BS        \b
           carriage return    CR        \r
           form feed          FF        \f
           backslash          \         \\
           bit pattern        ddd       \ddd

     A bit pattern, \ddd, consists of a backslash followed by one, two, or
     three octal digits representing the value of the character.  The current
     quote character, if defined, may be escaped with a backslash to generate
     the quote character.  Any character following the backslash ('\') other
     than those specified is ignored.

     A backslash at the end of the line continues the message onto the next
     line.  The following two lines are an example of such a message:

           1 This message continues \
           on the next line

     Producing the following message:

           1 This message continues on the next line

EXIT STATUS
     The gencat utility exits 0 on success, and >0 if an error occurs.

SEE ALSO
     catclose(3), catgets(3), catopen(3), nls(7)

AUTHORS
     The Native Language Support (NLS) message catalog facility was contrib-
     uted by J.T. Conklin <jtc@NetBSD.org>.  This page was originally written
     by
     Kee Hinckley <nazgul@somewhere.com>.

NetBSD 5.0_STABLE              October 17, 2008              NetBSD 5.0_STABLE
