• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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