@pindex msgcmp
@cindex @code{msgcmp} program, usage
@example
msgcmp [@var{option}] @var{def}.po @var{ref}.pot
@end example

@cindex compare PO files
The @code{msgcmp} program compares two Uniforum style .po files to check that
both contain the same set of msgid strings.  The @var{def}.po file is an
existing PO file with the translations.  The @var{ref}.pot file is the last
created PO file, or a PO Template file (generally created by @code{xgettext}).
This is useful for checking that you have translated each and every message
in your program.  Where an exact match cannot be found, fuzzy matching is
used to produce better diagnostics.

@subsection Input file location

@table @samp
@item @var{def}.po
Translations.

@item @var{ref}.pot
References to the sources.

@item -D @var{directory}
@itemx --directory=@var{directory}
@opindex -D@r{, @code{msgcmp} option}
@opindex --directory@r{, @code{msgcmp} option}
Add @var{directory} to the list of directories.  Source files are
searched relative to this list of directories.

@end table

@subsection Operation modifiers

@table @samp
@item -m
@itemx --multi-domain
@opindex -m@r{, @code{msgcmp} option}
@opindex --multi-domain@r{, @code{msgcmp} option}
Apply @var{ref}.pot to each of the domains in @var{def}.po.

@end table

@subsection Input file syntax

@table @samp
@item -P
@itemx --properties-input
@opindex -P@r{, @code{msgcmp} option}
@opindex --properties-input@r{, @code{msgcmp} option}
Assume the input files are Java ResourceBundles in Java @code{.properties}
syntax, not in PO file syntax.

@end table

@subsection Informative output

@table @samp
@item -h
@itemx --help
@opindex -h@r{, @code{msgcmp} option}
@opindex --help@r{, @code{msgcmp} option}
Display this help and exit.

@item -V
@itemx --version
@opindex -V@r{, @code{msgcmp} option}
@opindex --version@r{, @code{msgcmp} option}
Output version information and exit.

@end table
