|HP-UX Reference > I
HP-UX 11i Version 3: February 2007
insertmsg — use findstr(1) output to insert calls to catgets(3C)
insertmsg examines the file stringlist, which is assumed to be the output of findstr after subsequent editing to remove any strings that do not need to be localized (see findstr(1)). If the -h option is specified, insertmsg places the following lines at the beginning of each file named in stringlist:
#ifndef NLS #define catgets(i,sn,mn,s) (s) #else NLS #define NL_SETN number #include <nl_types.h> #endif NLS
where number is a set number defined by the -s option; the default is 1. For each string in stringlist, insertmsg surrounds the string in the corresponding file with an expression of the form:
The default string is the original string referenced by the line in stringlist, and msg_num is replaced by the message number assigned to that string. The assigned message numbers begin with the number defined by the -n option and are incremented by the amount defined by the -i option. The default is 1 for both the starting message number and the increment. If name.c is the file to be modified, as specified within the stringlist file, insertmsg places the modified source in nl_name.c. The user must then manually edit the file nl_name.c to insert the following statements:
nl_catd catd; catd = catopen("appropriate message catalog",0);
The data type nl_catd is defined in <nl_types.h> and catd is a parameter to the calls to catgets, which are inserted for each string from stringlist.
insertmsg also sends to the standard output a file that can be used as input to gencat (see gencat(1)).
LC_CTYPE determines the interpretation of text as single- and/or multi-byte characters.
LC_MESSAGES determines the language in which messages are displayed.
If LC_CTYPE or LC_MESSAGES is not specified in the environment or is set to the empty string, the value of LANG is used as a default for each unspecified or empty variable. If LANG is not specified or is set to the empty string, a default of "C" (see lang(5)) is used instead of LANG. If any internationalization variable contains an invalid setting, insertmsg behaves as if all internationalization variables are set to "C". See environ(5).
If insertmsg does not find opening or closing double quotes where required in the strings file, it prints insertmsg exiting : lost in strings file and aborts. If this happens, check the strings file to ensure that the lines that have been kept there have not been altered.
If the -h option is not used, it may be necessary to manually add the following statement to the file created by insertmsg:
insertmsg inserts a pointer to a static area that is overwritten on each call.
The insertmsg command is HP proprietary, not portable to other vendors' systems, and will not be provided in future HP-UX releases.