1@c This file is part of the GNU gettext manual. 2@c Copyright (C) 1995-2019 Free Software Foundation, Inc. 3@c See the file gettext.texi for copying conditions. 4 5@pindex msgcmp 6@cindex @code{msgcmp} program, usage 7@example 8msgcmp [@var{option}] @var{def}.po @var{ref}.pot 9@end example 10 11@cindex compare PO files 12The @code{msgcmp} program compares two Uniforum style .po files to check that 13both contain the same set of msgid strings. The @var{def}.po file is an 14existing PO file with the translations. The @var{ref}.pot file is the last 15created PO file, or a PO Template file (generally created by @code{xgettext}). 16This is useful for checking that you have translated each and every message 17in your program. Where an exact match cannot be found, fuzzy matching is 18used to produce better diagnostics. 19 20@subsection Input file location 21 22@table @samp 23@item @var{def}.po 24Translations. 25 26@item @var{ref}.pot 27References to the sources. 28 29@item -D @var{directory} 30@itemx --directory=@var{directory} 31@opindex -D@r{, @code{msgcmp} option} 32@opindex --directory@r{, @code{msgcmp} option} 33Add @var{directory} to the list of directories. Source files are 34searched relative to this list of directories. 35 36@end table 37 38@subsection Operation modifiers 39 40@table @samp 41@item -m 42@itemx --multi-domain 43@opindex -m@r{, @code{msgcmp} option} 44@opindex --multi-domain@r{, @code{msgcmp} option} 45Apply @var{ref}.pot to each of the domains in @var{def}.po. 46 47@item -N 48@itemx --no-fuzzy-matching 49@opindex -N@r{, @code{msgcmp} option} 50@opindex --no-fuzzy-matching@r{, @code{msgcmp} option} 51Do not use fuzzy matching when an exact match is not found. This may speed 52up the operation considerably. 53 54@item --use-fuzzy 55@opindex --use-fuzzy@r{, @code{msgcmp} option} 56Consider fuzzy messages in the @var{def}.po file like translated messages. 57Note that using this option is usually wrong, because fuzzy messages are 58exactly those which have not been validated by a human translator. 59 60@item --use-untranslated 61@opindex --use-untranslated@r{, @code{msgcmp} option} 62Consider untranslated messages in the @var{def}.po file like translated 63messages. Note that using this option is usually wrong. 64 65@end table 66 67@subsection Input file syntax 68 69@table @samp 70@item -P 71@itemx --properties-input 72@opindex -P@r{, @code{msgcmp} option} 73@opindex --properties-input@r{, @code{msgcmp} option} 74Assume the input files are Java ResourceBundles in Java @code{.properties} 75syntax, not in PO file syntax. 76 77@item --stringtable-input 78@opindex --stringtable-input@r{, @code{msgcmp} option} 79Assume the input files are NeXTstep/GNUstep localized resource files in 80@code{.strings} syntax, not in PO file syntax. 81 82@end table 83 84@subsection Informative output 85 86@table @samp 87@item -h 88@itemx --help 89@opindex -h@r{, @code{msgcmp} option} 90@opindex --help@r{, @code{msgcmp} option} 91Display this help and exit. 92 93@item -V 94@itemx --version 95@opindex -V@r{, @code{msgcmp} option} 96@opindex --version@r{, @code{msgcmp} option} 97Output version information and exit. 98 99@end table 100