xgettext(1) User Commands xgettext(1)NAME
xgettext - extract gettext call strings from C programs
SYNOPSIS
xgettext [-ns] [ -a [-x exclude-file]] [-c comment-tag] [-d default-
domain] [-j] [-m prefix] [-M suffix] [-p pathname] -| filename...
xgettext -h
DESCRIPTION
The xgettext utility is used to automate the creation of portable mes‐
sage files (.po). A .po file contains copies of "C" strings that are
found in ANSI C source code in filename or the standard input if `−'
is specified on the command line. The .po file can be used as input to
the msgfmt(1) utility, which produces a binary form of the message
file that can be used by application during run-time.
xgettext writes msgid strings from gettext(3C) calls in filename to
the default output file messages.po. The default output file name can
be changed by -d option. msgid strings in dgettext() calls are written
to the output file domainname.po where domainname is the first parame‐
ter to the dgettext() call.
By default, xgettext creates a .po file in the current working direc‐
tory, and each entry is in the same order that the strings are
extracted from filenames. When the -p option is specified, the .po
file is created in the pathname directory. An existing .po file is
overwritten.
Duplicate msgids are written to the .po file as comment lines. When
the -s option is specified, the .po is sorted by the msgid string,
and all duplicated msgids are removed. All msgstr directives in the
.po file are empty unless the -m option is used.
OPTIONS
The following options are supported:
-n Add comment lines to the output file indicating
file name and line number in the source file
where each extracted string is encountered.
These lines appear before each msgid in the
following format:
# # File: filename, line: line-number
-s Generate output sorted by msgids with all
duplicate msgids removed.
-a Extract all strings, not just those found in
gettext(3C), and dgettext() () calls. Only one
.po file is created.
-c comment-tag The comment block beginning with comment-tag as
the first token of the comment block is added
to the output .po file as # delimited com‐
ments. For multiple domains, xgettext directs
comments and messages to the prevailing text
domain.
-d default-domain Rename default output file from messages.po to
default-domain .po.
-j Join messages with existing message files. If
a .po file does not exist, it is created. If a
.po file does exist, new messages are appended.
Any duplicate msgids are commented out in the
resulting .po file. Domain directives in the
existing .po file are ignored. Results not
guaranteed if the existing message file has
been edited.
-m prefix Fill in the msgstr with prefix. This is useful
for debugging purposes. To make msgstr identi‐
cal to msgid, use an empty string ("") for
prefix.
-M suffix Fill in the msgstr with suffix. This is useful
for debugging purposes.
-p pathname Specify the directory where the output files
will be placed. This option overrides the cur‐
rent working directory.
-x exclude-file Specify a .po file that contains a list of
msgids that are not to be extracted from the
input files. The format of exclude-file is
identical to the .po file. However, only the
msgid directive line in exclude-file is used.
All other lines are simply ignored. The -x
option can only be used with the -a option.
-h Print a help message on the standard output.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Availability │SUNWloc │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOmsgfmt(1), gettext(3C), attributes(5)NOTES
xgettext is not able to extract cast strings, for example ANSI C casts
of literal strings to (const char *). This is unnecessary anyway, since
the prototypes in <libintl.h> already specify this type.
In messages and translation notes, lines greater than 2048 characters
are truncated to 2048 characters and a warning message is printed to
stderr.
SunOS 5.10 23 Mar 1999 xgettext(1)