# xgettext

## 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, 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
    


* * *