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