gencat

GENCAT(P)		   POSIX Programmer’s Manual		     GENCAT(P)



NAME
       gencat - generate a formatted message catalog

SYNOPSIS
       gencat catfile msgfile...

DESCRIPTION
       The  gencat  utility  shall  merge the message text source file msgfile
       into a formatted message catalog catfile. The  file  catfile  shall  be
       created	if  it does not already exist. If catfile does exist, its mes-
       sages shall be included in the new catfile. If set and message  numbers
       collide,	 the new message text defined in msgfile shall replace the old
       message text currently contained in catfile.

OPTIONS
       None.

OPERANDS
       The following operands shall be supported:

       catfile
	      A pathname of the formatted message catalog. If  ’-’  is	speci-
	      fied,  standard  output shall be used. The format of the message
	      catalog produced is unspecified.

       msgfile
	      A pathname of a message text source file. If  ’-’	 is  specified
	      for  an  instance	 of msgfile, standard input shall be used. The
	      format of message text source files is defined in	 the  EXTENDED
	      DESCRIPTION section.


STDIN
       The standard input shall not be used unless a msgfile operand is speci-
       fied as ’-’ .

INPUT FILES
       The input files shall be text files.

ENVIRONMENT VARIABLES
       The following environment variables shall affect the execution of  gen-
       cat:

       LANG   Provide  a  default value for the internationalization variables
	      that are unset or null. (See  the	 Base  Definitions  volume  of
	      IEEE Std 1003.1-2001,  Section  8.2,  Internationalization Vari-
	      ables for the precedence of internationalization variables  used
	      to determine the values of locale categories.)

       LC_ALL If  set  to a non-empty string value, override the values of all
	      the other internationalization variables.

       LC_CTYPE
	      Determine the locale for	the  interpretation  of	 sequences  of
	      bytes  of	 text  data as characters (for example, single-byte as
	      opposed to multi-byte characters in arguments and input  files).

       LC_MESSAGES
	      Determine	 the  locale  that should be used to affect the format
	      and contents of diagnostic messages written to standard error.

       NLSPATH
	      Determine the location of message catalogs for the processing of
	      LC_MESSAGES .


ASYNCHRONOUS EVENTS
       Default.

STDOUT
       The  standard  output  shall  not be used unless the catfile operand is
       specified as ’-’ .

STDERR
       The standard error shall be used only for diagnostic messages.

OUTPUT FILES
       None.

EXTENDED DESCRIPTION
       The content of a message text file shall be in the  format  defined  as
       follows.	 Note  that the fields of a message text source line are sepa-
       rated by a single <blank>. Any other <blank>s are considered to be part
       of the subsequent field.

       $set  n comment

	      This line specifies the set identifier of the following messages
	      until the next $set or end-of-file appears. The  n  denotes  the
	      set  identifier,	which  is defined as a number in the range [1,
	      {NL_SETMAX}] (see the <limits.h> header defined in the Base Def-
	      initions	volume of IEEE Std 1003.1-2001). The application shall
	      ensure that set identifiers are  presented  in  ascending	 order
	      within  a	 single	 source	 file, but need not be contiguous. Any
	      string following the set identifier shall be treated as  a  com-
	      ment. If no $set directive is specified in a message text source
	      file, all messages shall be located in an implementation-defined
	      default message set NL_SETD (see the <nl_types.h> header defined
	      in the Base Definitions volume of IEEE Std 1003.1-2001).

       $delset	n comment

	      This line deletes message set n from an existing	message	 cata-
	      log.   The n denotes the set number [1, {NL_SETMAX}]. Any string
	      following the set number shall be treated as a comment.

       $  comment
	      A line beginning with ’$’ followed by a <blank> shall be treated
	      as a comment.

       m message-text

	      The m denotes the message identifier, which is defined as a num-
	      ber in the range [1, {NL_MSGMAX}] (see the  <limits.h>  header).
	      The message-text shall be stored in the message catalog with the
	      set identifier specified by the last $set	 directive,  and  with
	      message  identifier  m.  If  the	message-text  is  empty, and a
	      <blank> field separator is present, an  empty  string  shall  be
	      stored  in  the  message catalog. 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) shall be deleted
	      from the catalog. The  application  shall	 ensure	 that  message
	      identifiers are in ascending order within a single set, but need
	      not be contiguous. The application shall ensure that the	length
	      of message-text is in the range [0, {NL_TEXTMAX}] (see the <lim-
	      its.h> header).

       $quote  n
	      This line specifies an optional quote character c, which can  be
	      used  to	surround  message-text so that trailing spaces or null
	      (empty) messages are visible  in	a  message  source  line.   By
	      default, or if an empty $quote directive is supplied, no quoting
	      of message-text shall be recognized.


       Empty lines in a message text source file shall be ignored. The effects
       of lines starting with any character other than those defined above are
       implementation-defined.

       Text strings can contain the special characters	and  escape  sequences
       defined in the following table:

			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

       The  escape sequence "\ddd" consists of backslash followed by one, two,
       or three octal digits, which shall be taken to specify the value of the
       desired character. If the character following a backslash is not one of
       those specified, the backslash shall be ignored.

       Backslash ( ’\’ ) followed by a <newline> is also used  to  continue  a
       string  on the following line. Thus, the following two lines describe a
       single message string:


	      1 This line continues \
	      to the next line

       which shall be equivalent to:


	      1 This line continues to the next line

EXIT STATUS
       The following exit values shall be returned:

	0     Successful completion.

       >0     An error occurred.


CONSEQUENCES OF ERRORS
       Default.

       The following sections are informative.

APPLICATION USAGE
       Message catalogs produced by gencat are binary  encoded,	 meaning  that
       their  portability  cannot  be  guaranteed  between  different types of
       machine. Thus, just as C programs need to be recompiled for  each  type
       of machine, so message catalogs must be recreated via gencat.

EXAMPLES
       None.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       iconv()	,  the	Base Definitions volume of IEEE Std 1003.1-2001, <lim-
       its.h>, <nl_types.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),	The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the	referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .



IEEE/The Open Group		     2003			     GENCAT(P)

Personal Tools