*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> strmerge (1)              



NAME    [Toc]    [Back]

       strmerge - batch string replacement

SYNOPSIS    [Toc]    [Back]

       strmerge   [-m   prefix]   [-p  patternfile]  [-s  string]

OPTIONS    [Toc]    [Back]

       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 command, 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

              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.

DESCRIPTION    [Toc]    [Back]

       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  hardcoded
  messages (text strings identified by the strextract
       command) with calls to the catgets function and to  create
       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 catalog.  By storing messages in a  message  catalog,
  instead  of your program, 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  directive.  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 control how the strmerge command replaces text.
       The patterns file is divided into several  sections,  each
       of  which  is  identified  by  a keyword. 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 page.

RESTRICTIONS    [Toc]    [Back]

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

       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 separately.

EXAMPLES    [Toc]    [Back]

       The  following produces a message file prog.cat for a program
 called prog.c.

       % strextract -p c_patterns prog.c prog2.c % vi prog.str  %
       strmerge  -p  c_patterns  prog.c prog2.c % gencat prog.cat
       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 behavior.

       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 calls.

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

SEE ALSO    [Toc]    [Back]

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

       Writing Software for the International Market

[ Back ]
 Similar pages
Name OS Title
strextract Tru64 batch string extraction
fastmail HP-UX quick batch mail interface
at.allow Linux determine who can submit jobs via at or batch
chpasswd Linux update password file in batch
newusers Linux update and create new users in batch
queuedefs IRIX at/batch/cron queue description file
queuedefs HP-UX queue description file for at, batch, and crontab
pkg OpenBSD replacement-to-be of pkg_* tools
File::DosGlob IRIX a more capable perlglob.exe replacement
queuedefs Tru64 Queue description file for at, batch, and cron commands
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service