Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XGETTEXT(1)			  User Commands 		     XGETTEXT(1)

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,  Python,
	    Java,  JavaProperties,  C#,  JavaScript,  TypeScript,  TSX,  Scheme,
	    Guile, Lisp, EmacsLisp, librep, Rust, Go,  Ruby,  Shell,  awk,  Lua,
	    Modula-2,  D,  OCaml,  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  exten-
     sion.

   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)

     --no-check=NAME
	    don't perform syntax check on messages (url, email)

     --sentence-end=TYPE
	    type describing the end of sentence (single-space, which is the  de-
	    fault,

	    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,  Emac-
	    sLisp,  librep, Rust, Go, Shell, awk, Lua, Modula-2, D, OCaml, 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,  OCaml,
	    Vala, Tcl, Perl, PHP, GCC-source, Glade, GSettings, Desktop)

     --flag=WORD:ARG:FLAG
	    additional	flag  for strings inside the argument number ARG of key-
	    word WORD

     (only languages C, C++, ObjectiveC, Python,
	    Java, C#, JavaScript, TypeScript, TSX, Scheme,  Guile,  Lisp,  Emac-
	    sLisp,  librep, Rust, Go, Shell, awk, Lua, Modula-2, D, OCaml, 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-Cre-
	    ation-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  out-
	    put.

     -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 and Bruno Haible.

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

COPYRIGHT
     Copyright (C) 1995-2026 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.

GNU gettext-tools 1.0		  January 2026			     XGETTEXT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xgettext&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help