---
name: "xview_xgettext"
section: "1"
platform: "linux"
package: "xviewg-dev"
version: "3.2p1.4-28.1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/xview_xgettext"
---

# xview\_xgettext(1)

conditionally extract strings from C programs

## NAME

xgettext - conditionally extract strings from C programs

## SYNOPSIS

**xgettext** **-d** \[ **cmnopvhP** \] \[ **-o***directory-prefix* \] \[ **-x***exclude-list* \] \[ *filename ...* \]\
 **xgettext** \[ **-amopvhP** \] \[ **-x***exclude-list* \]  \[ *filename ...* \]\

## DESCRIPTION

**xgettext** is used to automate the creation of portable message files. A portable message file contains copies of "C" strings that are found in  "C" source code in *filename.* When the  **-d** option is specified, **xgettext** places the extracted strings in the file  *name* **.po**. *name* is either the domain specified in a **dgettext** call, or **messages.po** for strings extracted from  **gettext** and **textdomain** calls. If the **-d** flag is not specified, **xgettext** places all the strings in **messages.po**. The portable message file can be used as input to the  [**msgfmt**(1)](/msgfmt/1.md) utility, which will produce a binary form of the message file than can be  used at application run-time.

## OPTIONS

- **-a**

  Extract ALL strings, not just those found in **gettext**, **dgettext**, and **textdomain** calls.

- **-c***flag*

  Comments beginning with *flag filename* on the first line of the comment are added to file *filename* as  *#* delimited comments.

- **-d**

  Produce duplicates. Does not sort output when writing the portable message file and will not overwrite existing output files. Places output from each domain specified in a **dgettext** call into a separate file named for the domain,  *ie*. *name***.po**

- **-c***flag*

  Comments beginning with *flag filename* on the first line of the comment are added to file *filename* as  *#* delimited comments.

- **-m***string*

  Causes **xgettext** to fill in the **msgstr** line of the portable message files it produces. **xgettext** uses the corresponding msgid string extracted from the "C" file, appending *string*. Useful for debugging purposes.

- **-n**

  Add *#* delimited line number comments to output file indicating the line number in the source file where each extracted string is encountered.

- **-o***filename*

  rename the default output file from **messages.po** to *filename*.

- **-p***pathname*

  Specify the directory where the output files will be placed. This option overrides the current working  directory.

- **-x***filename*

  Specify a file that contains a list of strings that are not be extracted from the input files. Each string to be excluded must appear on a line by itself in the file *filename.*

- **-P**

  include strings in pre-processor statements.

- **-v**

  Verbose mode.

- **-h**

  Print a help message on standard output.

## FILES

-

  - **messages.po**

  is always created, but may be empty.

## SEE ALSO

[**msgfmt**(1)](/msgfmt/1.md)**,** [**xstr**(1)](/xstr/1.md)**,** **gettext**, **dgettext**, [**textdomain**(3)](/textdomain/3.md)**.**
