|
NAME | SYNOPSIS | DESCRIPTION | AUTHOR | REPORTING BUGS | COPYRIGHT | SEE ALSO | COLOPHON |
|
|
|
XGETTEXT(1) User Commands XGETTEXT(1)
xgettext - extract gettext strings from source
xgettext [OPTION] [INPUTFILE]...
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,
Python, Java, JavaProperties, C#, JavaScript, TypeScript,
TSX, Scheme, Guile, Lisp, EmacsLisp, librep, Rust, Go,
Ruby, Shell, awk, Lua, Modula-2, D, Smalltalk, Vala, Tcl,
Perl, PHP, GCC-source, YCP, NXStringTable, RST, RSJ, Glade,
GSettings, 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,
Python, Java, C#, JavaScript, TypeScript, TSX, Scheme,
Guile, Lisp, EmacsLisp, librep, Rust, Go, Shell, awk, Lua,
Modula-2, D, Vala, Tcl, Perl, PHP, GCC-source, Glade,
GSettings)
-kWORD, --keyword=WORD
look for WORD as an additional keyword
-k, --keyword
do not to use default keywords (only languages C, C++,
ObjectiveC, Python, Java, C#, JavaScript, TypeScript, TSX,
Scheme, Guile, Lisp, EmacsLisp, librep, Rust, Go, Shell,
awk, Lua, Modula-2, D, Vala, Tcl, Perl, PHP, GCC-source,
Glade, GSettings, Desktop)
--flag=WORD:ARG:FLAG
additional flag for strings inside the argument number ARG
of keyword WORD
(only languages C, C++, ObjectiveC, Python,
Java, C#, JavaScript, TypeScript, TSX, Scheme, Guile, Lisp,
EmacsLisp, librep, Rust, Go, Shell, awk, Lua, Modula-2, D,
Vala, Tcl, Perl, PHP, GCC-source, YCP)
--tag=WORD:FORMAT
defines the behaviour of tagged template literals with tag
WORD
(only language JavaScript)
-T, --trigraphs
understand ANSI C trigraphs for input (deprecated; 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 (deprecated)
-F, --sort-by-file
sort output by file location
--omit-header
don't write header with 'msgid ""' entry
--no-git
don't use the git program to produce a reproducible
'POT-Creation-Date' field in the output.
--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
--generated=FILE
Declares that the given FILE is generated and therefore
should not have an influence on the 'POT-Creation-Date'
field in the output.
--reference=FILE
Declares that the output depends on the contents of the
given FILE. This has an influence on the
'POT-Creation-Date' field in the output.
-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
Written by Ulrich Drepper.
Report bugs in the bug tracker at
<https://savannah.gnu.org/projects/gettext> or by email to
<bug-gettext@gnu.org>.
Copyright © 1995-2025 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.
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.
This page is part of the gettext (message translation) project.
Information about the project can be found at
⟨http://www.gnu.org/software/gettext/⟩. If you have a bug report
for this manual page, see
⟨http://savannah.gnu.org/projects/gettext/⟩. This page was
obtained from the tarball gettext-0.26.tar.gz fetched from
⟨https://ftp.gnu.org/gnu/gettext/⟩ on 2025-08-11. If you discover
any rendering problems in this HTML version of the page, or you
believe there is a better or more up-to-date source for the page,
or you have corrections or improvements to the information in this
COLOPHON (which is not part of the original manual page), send a
mail to man-pages@man7.org
GNU gettext-tools 0.26 July 2025 XGETTEXT(1)