unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



strextract(1)							strextract(1)



NAME

  strextract - batch string extraction

SYNOPSIS

  strextract [-p patternfile] [-i ignorefile] [-d] [source-program...]

OPTIONS

  -i  Ignore text strings specified in ignorefile.  By default,	the strex-
      tract command searches for ignorefile in the current working directory,
      your home	directory, and /usr/lib/nls.

      If you omit the -i option, strextract recognizes all strings specified
      in the patterns file.

  -p  Use patternfile to match strings in the input source program. By
      default, the command searches for	the pattern file in the	current	work-
      ing directory, your home directory, and finally /usr/lib/nls.

      If you omit the -p option, the strextract	command	uses a default pat-
      terns file that is stored	in /usr/lib/nls/patterns.

  -d  Disables warnings	of duplicate strings. If you omit the -d option,
      strextract prints	warnings of duplicate strings in your source program.

DESCRIPTION

  The strextract command extracts text strings from source programs. This
  command also writes the string it extracts to	a message text file. The mes-
  sage text file contains the text for each message extracted from your	input
  source program. The strextract command names the file	by appending .str to
  the name of the input	source program.

  In the source-program	argument, you name one or more source programs from
  which	you want messages extracted. The strextract command does not extract
  messages from	source programs	included using the #include directive. There-
  fore,	you might want a source	program	and all	the source programs it
  includes on a	single strextract command line.

  You can create a patterns file (as specified by patternfile )	to control
  how the strextract command extracts 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	pat-
  terns. Each pattern begins on	a new line and follows the regular expression
  syntax you use in the	regexp(3) routine. For more information	on the pat-
  terns	file, see the patterns(4) reference page.

  In addition to the patterns file, you	can create a file that indicates
  strings that extract ignores.	 Each line in this ignore file contains	a
  single string	to be ignored that follows the syntax of the regexp(3)
  routine.

  When you invoke the strextract command, it reads the patterns	file and the
  file that contains strings it	ignores.  You can specify a patterns file and
  an ignore file on the	strextract command line.  Otherwise, the strextract
  command matches all strings and uses the default patterns file.

  If strextract	finds strings which match the ERROR directive in the pattern
  file,	it reports the strings to standard error (stderr.) but does not	write
  the string to	the message file.

  After	running	strextract, you	can edit the message text file to remove text
  strings which	do not need translating	before running strmerge.

  It is	 recommended that you use extract command as a visual front end	to
  the strextract command rather	than running strextract	directly.

RESTRICTIONS

  Given	the default pattern file, you cannot cause strextract to ignore
  strings in comments that are longer than one line.

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

  The strextract command does not extract strings from files include with
  #include directive. You must run the strextract commands on these files
  separately.

       % 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 deter-
  mine 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 pro-
  grams, nl_prog.c and nl_prog2.c.

  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

  gencat(1), extract(1), strmerge(1), regexp(3), catopen(3), patterns(4)

  Writing Software for the International Market