| @c This file is part of the GNU gettext manual. |
| @c Copyright (C) 1995-2019 Free Software Foundation, Inc. |
| @c See the file gettext.texi for copying conditions. |
| |
| @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. |
| |
| @item -N |
| @itemx --no-fuzzy-matching |
| @opindex -N@r{, @code{msgcmp} option} |
| @opindex --no-fuzzy-matching@r{, @code{msgcmp} option} |
| Do not use fuzzy matching when an exact match is not found. This may speed |
| up the operation considerably. |
| |
| @item --use-fuzzy |
| @opindex --use-fuzzy@r{, @code{msgcmp} option} |
| Consider fuzzy messages in the @var{def}.po file like translated messages. |
| Note that using this option is usually wrong, because fuzzy messages are |
| exactly those which have not been validated by a human translator. |
| |
| @item --use-untranslated |
| @opindex --use-untranslated@r{, @code{msgcmp} option} |
| Consider untranslated messages in the @var{def}.po file like translated |
| messages. Note that using this option is usually wrong. |
| |
| @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. |
| |
| @item --stringtable-input |
| @opindex --stringtable-input@r{, @code{msgcmp} option} |
| Assume the input files are NeXTstep/GNUstep localized resource files in |
| @code{.strings} 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 |