Content-type: text/html Man page of patterns

patterns

Section: Devices and Network Interfaces (4)
Index Return to Main Contents
 

NAME

patterns - Patterns for use with internationalization tools  

SYNOPSIS

See the Description section.  

DESCRIPTION

The patterns file contains the patterns that must be matched for the internationalization tools extract, strextract, and strmerge.

The pattern file in the following example is the default patterns file located in /usr/lib/nls/patterns.

# This is the header to insert at the beginning of the first new # source file

$SRCHEAD1 (1) \#include <nl_types.h> nl_catd _m_catd; \

# The header to insert at the beginning of the rest of the new # source files

$SRCHEAD2 (2) \#include <nl_types.h> extern nl_catd _m_catd; \

# This is the header to insert at the beginning of the message # catalogues

$CATHEAD (3) \$ /* \$ * X/OPEN message catalogue \$ */ \ \$quote "

# This is how patterns that are matched will get rewritten.

$REWRITE (4) catgets(_m_catd, %s, %n, %t)

# Following is a list of the sort of strings we are looking for. # The regular expression syntax is based on regexp(3).

$MATCH (5)

# Match on strings containing an escaped " "[^\\]*\\"[^"]*"

# Match on general strings "[^"]*"

# Now reject some special C constructs.

$REJECT (6) # the empty string ""0

# string with just one format descriptor "%." "%.\."

# string with just line control in "\\."

# string with just line control and one format descriptor in "%.\\." "\\.%."

# ignore cpp include lines \#[ ]*include[ ]*".*" \#[ ]*ident[ ]*".*"

# reject some common C functions and expressions with quoted # strings [sS][cC][cC][sS][iI][dD]\[\][ ]*=[ ]*".*" open[ ]*([^,]*,[^)]*) creat[ ]*([^,]*,[^)]*) access[ ]*([^,]*,[^)]*) chdir[ ]*([^,]*,[^)]*) chmod[ ]*([^,]*,[^)]*) chown[ ]*([^,]*,[^)]*)

# Reject any strings in single line comments /\*.*\*/

# Print a warning for initialised strings.

$ERROR initialised strings cannot be replaced (7) char[^=]*=[ ]*"[^"]*" char[^=]*=[ ]*"[^\\]*\\"[^"]*" char[ ]*\**[A-Za-z][A-Za-z0-9]*\[[^\]*\][ ]*=[ {]*"[^"]*" char[ ]*\**[A-Za-z][A-Za-z0-9]*\[[^\]*\][ ]*=[ {]*"[^\\]*\\"[^"]*"

The default patterns file is divided into the following sections: In the $SRCHEAD1 section, the strmerge and extract commands place text in this section at the beginning of the first new source program, which is prefixed by nl_. These commands define the native language file descriptors that point to the message catalog. In the $SRCHEAD2 section, the strmerge and extract commands place text in this section at the beginning of the second and remaining source programs. These commands also define the native language file descriptors that point to the message catalog. $SRCHEAD2 contains the external declaration of the nl file descriptor. In the $CATHEAD section, the strmerge and extract commands place text in this section at the beginning of the message catalog. In the $REWRITE section, you specify how the strmerge and extract commands should replace the extracted strings in the new source program. You can supply three options to the catgets command: This option increments the set number for each source. This option applies only if you are using the strmerge command. For more information on set numbers, see the catgets(3) reference page. This option increments the message number for each string extracted. This option applies if you are using either the strmerge or extract commands. This option expands the text from the string extracted. The string can be a error message or the default string extracted and printed by the catgets command. For example, if you want an error message to appear when catgets is unable to retrieve the message from the message catalog, you would include the following line: catgets(_m_catd, %s, %n, "BAD STRING")

When catgets fails, it returns the message BAD STRING. In the $MATCH section, you specify the patterns in the form of a regular expression that you want the strextract, strmerge, and extract commands to find and match. The regular expression follows the same syntax rules as defined in regexp(3) reference page. In the $REJECT section, you specify the matched strings that you do not want the strmerge and extract commands to replace in your source program. The regular expression follows the same syntax rules as defined in regexp(3) reference page. In the $ERROR section, the strextract, strmerge, and extract commands look for bad matches and notify you with a warning message. The regular expression follows the same syntax rules as defined in the regexp(3) reference page.
 

RELATED INFORMATION

extract(1), strextract(1), strmerge(1), trans(1), regexp(3)
Writing Software for the International Market delim off


 

Index

NAME
SYNOPSIS
DESCRIPTION
RELATED INFORMATION

This document was created by man2html, using the manual pages.
Time: 02:40:09 GMT, October 02, 2010