Man1 - xgettext.1

Table of Contents

NAME

xgettext - extract gettext strings from source

SYNOPSIS

xgettext [/OPTION/] [/INPUTFILE/]…

DESCRIPTION

Extract translatable strings from given input files.

Mandatory arguments to long options are mandatory for short options too. Similarly for optional arguments.

Input file location:

INPUTFILE …
input files
-f, *–files-from*=/FILE/
get list of input files from FILE
-D, *–directory*=/DIRECTORY/
add DIRECTORY to list for input files search

If input file is -, standard input is read.

Output file location:

-d, *–default-domain*=/NAME/
use NAME.po for output (instead of messages.po)
-o, *–output*=/FILE/
write output to specified file
-p, *–output-dir*=/DIR/
output files will be placed in directory DIR

If output file is -, output is written to standard output.

Choice of input file language:

-L, *–language*=/NAME/
recognise the specified language (C, C++, ObjectiveC, PO, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Smalltalk, Java, JavaProperties, C#, awk, YCP, Tcl, Perl, PHP, Ruby, GCC-source, NXStringTable, RST, RSJ, Glade, Lua, JavaScript, Vala, Desktop)
-C, *–c*++
shorthand for *–language*=/C/++

By default the language is guessed depending on the input file name extension.

Input file interpretation:

*–from-code*=/NAME/
encoding of input files (except for Python, Tcl, Glade)

By default the input files are assumed to be in ASCII.

Operation mode:

-j, –join-existing
join messages with existing file
-x, *–exclude-file*=/FILE/.po
entries from FILE.po are not extracted
-cTAG, *–add-comments*=/TAG/
place comment blocks starting with TAG and preceding keyword lines in output file
-c, –add-comments
place all comment blocks preceding keyword lines in output file
*–check*=/NAME/

perform syntax check on messages (ellipsis-unicode, space-ellipsis,

quote-unicode, bullet-unicode)

*–sentence-end*=/TYPE/

type describing the end of sentence (single-space, which is the default,

or double-space)

Language specific options:

-a, –extract-all
extract all strings (only languages C, C++, ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Java, C#, awk, Tcl, Perl, PHP, GCC-source, Glade, Lua, JavaScript, Vala)
-kWORD, *–keyword*=/WORD/
look for WORD as an additional keyword
-k, –keyword
do not to use default keywords (only languages C, C++, ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Java, C#, awk, Tcl, Perl, PHP, GCC-source, Glade, Lua, JavaScript, Vala, Desktop)
*–flag*=/WORD/:ARG:FLAG
additional flag for strings inside the argument number ARG of keyword WORD
(only languages C, C++, ObjectiveC, Shell,
Python, Lisp, EmacsLisp, librep, Scheme, Java, C#, awk, YCP, Tcl, Perl, PHP, GCC-source, Lua, JavaScript, Vala)
-T, –trigraphs
understand ANSI C trigraphs for input (only languages C, C++, ObjectiveC)
*–its*=/FILE/
apply ITS rules from FILE (only XML based languages)
–qt
recognize Qt format strings (only language C++)
–kde
recognize KDE 4 format strings (only language C++)
–boost
recognize Boost format strings (only language C++)
–debug
more detailed formatstring recognition result

Output details:

–color
use colors and other text attributes always
*–color*=/WHEN/
use colors and other text attributes if WHEN. WHEN may be ’always’, ’never’, ’auto’, or ’html’.
*–style*=/STYLEFILE/
specify CSS style rule file for –color
-e, –no-escape
do not use C escapes in output (default)
-E, –escape
use C escapes in output, no extended chars
–force-po
write PO file even if empty
-i, –indent
write the .po file using indented style
–no-location
do not write ’#: filename:line’ lines
-n, –add-location
generate ’#: filename:line’ lines (default)
–strict
write out strict Uniforum conforming .po file
–properties-output
write out a Java .properties file
–stringtable-output
write out a NeXTstep/GNUstep .strings file
–itstool
write out itstool comments
-w, *–width*=/NUMBER/
set output page width
–no-wrap
do not break long message lines, longer than the output page width, into several lines
-s, –sort-output
generate sorted output
-F, –sort-by-file
sort output by file location
–omit-header
don’t write header with ’msgid “”’ entry
*–copyright-holder*=/STRING/
set copyright holder in output
–foreign-user
omit FSF copyright in output for foreign user
*–package-name*=/PACKAGE/
set package name in output
*–package-version*=/VERSION/
set package version in output
*–msgid-bugs-address*=/EMAIL/@ADDRESS
set report address for msgid bugs
-m[STRING], –msgstr-prefix[=/STRING/]
use STRING or “” as prefix for msgstr values
-M[STRING], –msgstr-suffix[=/STRING/]
use STRING or “” as suffix for msgstr values

Informative output:

-h, –help
display this help and exit
-V, –version
output version information and exit
-v, –verbose
increase verbosity level

AUTHOR

Written by Ulrich Drepper.

REPORTING BUGS

Report bugs in the bug tracker at https://savannah.gnu.org/projects/gettext or by email to <bug-gettext@gnu.org>.

COPYRIGHT

Copyright © 1995-2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later https://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for xgettext is maintained as a Texinfo manual. If the info and xgettext programs are properly installed at your site, the command

info xgettext

should give you access to the complete manual.

Author: dt

Created: 2022-02-22 Tue 15:54