Table of Contents
xgettext - extract gettext call strings from C programs
xgettext [ -ns ] [ -a [ -x exclude-file ] ] [ -c comment-tag ] [ -d default-domain
] [ -j ] [ -m prefix ] [ -M suffix ] [ -p pathname ] -| filename ...
xgettext
-h
xgettext is used to automate the creation of portable
message 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 where domainname is the
first parameter to the dgettext() call.
By default, xgettext creates a
.po file in the current working directory, and each entry is in the same
order 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.
- -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 comments. 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 identical
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 current 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.
See attributes(5)
for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE
VALUE |
Availability | SUNWloc |
msgfmt(1)
, gettext(3C)
, attributes(5)
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.
Table of Contents