strmerge man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

strmerge(1)							   strmerge(1)

       strmerge - batch string replacement

       strmerge [-m prefix] [-p patternfile] [-s string] source-program...

       Add  prefix  to message numbers in the output source program and source
       message catalog. You can use  this  prefix  as  a  mnemonic.  You  must
       process	source message catalogs that contain number prefixes using the
       mkcatdefs command.  Message numbers will be in the form:


	      Set numbers will be in the form:


	      If you process your input source program with the mkcatdefs com‐
	      mand,  the  resulting  source program and source message catalog
	      might not be portable. For more  information,  see  the  Writing
	      Software for the International Market.  Use patternfile to match
	      strings in the input source program.  By	default,  the  command
	      searches	for  the  pattern  file in the current directory, your
	      home directory and finally /usr/lib/nls.

	      If you omit the -p option, the strmerge command uses  a  default
	      patterns	file  that  is stored in /usr/lib/nls/patterns.	 Write
	      string at the top of the source message catalog. If you omit the
	      -s  option,  strmerge  uses the string specified in the $CATHEAD
	      section of the patterns file.

       The strmerge command reads the strings specified in  the	 message  file
       produced	 by  strextract	 and  replaces those strings with calls to the
       message file in the source program to create a new source program.  The
       new  version  of	 source	 program has the same name as the input source
       program, with the prefix nl_. For example, if the input source  program
       is  named prog.c, the output source program is named nl_prog.c. You use
       this command to replace hard-coded messages (text strings identified by
       the  strextract command) with calls to the catgets function and to cre‐
       ate a source message catalog file. The source message catalog  contains
       the text for each message extracted from your input source program. The
       strmerge command names the file by appending to the name of  the	 input
       source  program. For example, the source message catalog for the prog.c
       program is named prog.msg. You can use the source  message  catalog  as
       input to the gencat command.

       At  run time, the program reads the message text from the message cata‐
       log.  By storing messages in a message catalog, instead	of  your  pro‐
       gram, you allow the text of messages to be translated to a new language
       or modified without the source program being changed.

       In the source-program argument, you name one or	more  source  programs
       for  which  you	want  strings  replaced. The strmerge command does not
       replace messages for source programs included using the #include direc‐
       tive.  Therefore,  you  might  want a source program and all the source
       programs it includes on a single strmerge command line.

       You can create a patterns file (as specified by patternfile )  to  con‐
       trol  how  the  strmerge	 command  replaces  text. The patterns file is
       divided into several sections, each of which is identified  by  a  key‐
       word.  The  keyword  must start at the beginning of a new line, and its
       first character must be a dollar sign ($).  Following  the  identifier,
       you specify a number of patterns. Each pattern begins on a new line and
       follows the regular expression syntax you use in the  ed	 editor.   For
       more  information  on  the patterns file, see the patterns(4) reference

       You can specify only one rewrite string	for  all  classes  of  pattern

       The  strmerge  command does not verify if the message text file matches
       the source file being rewritten.

       The strmerge command does not replace strings to	 files	included  with
       #include	 directive.  You  must run the strmerge command on these files

       The following produces a message file  for  a  program	called

       %  strextract  -p c_patterns prog.c prog2.c % vi prog.str % strmerge -p
       c_patterns prog.c prog2.c % gencat  prog.msg  prog2.msg	 %  vi
       nl_prog.c % vi nl_prog2.c % cc nl_prog.c nl_prog2.c

       In  this	 example,  the	strextract command uses the c_patterns file to
       determine which strings to match. The input source programs  are	 named
       prog.c and prog2.c.

       If you need to remove any of the messages or extract one of the created
       strings, edit the resulting message file, prog.str. Under no conditions
       should  you  add	 to  this file. Doing so could result in unpredictable

       You issue the strmerge command to replace the  extracted	 strings  with
       calls  to  the  message	catalog. In response to this command, strmerge
       creates the source message catalogs, prog.msg and  prog2.msg,  and  the
       output source programs, nl_prog.c and nl_prog2.c.

       Before  compiling  the  source  programs,  you  must edit nl_prog.c and
       nl_prog2.c to include the appropriate  catopen  and  catclose  function

       The gencat command creates a message catalog and the cc command creates
       an executable program.

       extract(1), gencat(1), strextract(1), trans(1), regexp(3),  catopen(3),
       catgets(3), patterns(4)

       Writing Software for the International Market


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net