MSGMERGE(1)

NAME
msgmerge - merge message catalog and template

SYNOPSIS
msgmerge [OPTION] def.po ref.pot

DESCRIPTION

Merges two Uniforum style .po files together. The def.po file is an existing PO file with translations which will be taken over to the newly created file as long as they still match; comments will be preserved, but extracted comments and file positions will be discarded. The ref.pot file is the last created PO file with up-to-date source references but old translations, or a PO Template file (generally created by xgettext); any translations or comments in the file will be discarded, however dot comments and file positions will be preserved. Where an exact match cannot be found, fuzzy matching is used to produce better results.

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

  Input file location:

def.po
    translations referring to old sources

ref.pot
    references to new sources

-D, --directory=DIRECTORY
    add DIRECTORY to list for input files search

-C, --compendium=FILE
    additional library of message translations, may be specified more than once

  Operation mode:

-U, --update
    update def.po, do nothing if def.po already up to date

  Output file location:

-o, --output-file=FILE
    write output to specified file

The results are written to standard output if no output file is specified or if it is -.

Output file location in update mode: The result is written back to def.po.

--backup=CONTROL
    make a backup of def.po

--suffix=SUFFIX
    override the usual backup suffix

The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values:

none, off
    never make backups (even if --backup is given)

numbered, t
    make numbered backups

existing, nil
    numbered if numbered backups exist, simple otherwise

simple, never
    always make simple backups

The backup suffix is '~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX environment variable.

  Operation modifiers:

-m, --multi-domain
    apply ref.pot to each of the domains in def.po

--for-msgfmt
    produce output for 'msgfmt', not for a translator

-N, --no-fuzzy-matching
    do not use fuzzy matching

--previous
    keep previous msgids of translated messages

  Input file syntax:

-P, --properties-input
    input files are in Java .properties syntax

--stringtable-input
    input files are in NeXTstep/GNUstep .strings syntax

  Output details:

--lang=CATALOGNAME
    set 'Language' field in the header entry

--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
    indented output style

--no-location
    suppress '#: filename:line' lines

-n, --add-location
    preserve '#: filename:line' lines (default)

--strict
    strict Uniforum output style

-p, --properties-output
    write out a Java .properties file

--stringtable-output
    write out a NeXTstep/GNUstep .strings file

-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

  Informative output:

-h, --help
    display this help and exit

-V, --version
    output version information and exit

-v, --verbose
    increase verbosity level

-q, --quiet, --silent
    suppress progress indicators

AUTHOR
Written by Peter Miller and Bruno Haible.

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-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 msgmerge is maintained as a Texinfo manual. If the info and msgmerge programs are properly installed at your site, the command

    info msgmerge

should give you access to the complete manual.