Imported Upstream version 0.18.1.1
[platform/upstream/gettext.git] / gettext-tools / doc / msgcat.texi
1 @pindex msgcat
2 @cindex @code{msgcat} program, usage
3 @example
4 msgcat [@var{option}] [@var{inputfile}]...
5 @end example
6
7 @cindex concatenate PO files
8 @cindex merge PO files
9 The @code{msgcat} program concatenates and merges the specified PO files.
10 It finds messages which are common to two or more of the specified PO files.
11 By using the @code{--more-than} option, greater commonality may be requested
12 before messages are printed.  Conversely, the @code{--less-than} option may be
13 used to specify less commonality before messages are printed (i.e.@:
14 @samp{--less-than=2} will only print the unique messages).  Translations,
15 comments and extract comments will be cumulated, except that if
16 @code{--use-first} is specified, they will be taken from the first PO file
17 to define them.  File positions from all PO files will be cumulated.
18
19 @subsection Input file location
20
21 @table @samp
22 @item @var{inputfile} @dots{}
23 Input files.
24
25 @item -f @var{file}
26 @itemx --files-from=@var{file}
27 @opindex -f@r{, @code{msgcat} option}
28 @opindex --files-from@r{, @code{msgcat} option}
29 Read the names of the input files from @var{file} instead of getting
30 them from the command line.
31
32 @item -D @var{directory}
33 @itemx --directory=@var{directory}
34 @opindex -D@r{, @code{msgcat} option}
35 @opindex --directory@r{, @code{msgcat} option}
36 Add @var{directory} to the list of directories.  Source files are
37 searched relative to this list of directories.  The resulting @file{.po}
38 file will be written relative to the current directory, though.
39
40 @end table
41
42 If @var{inputfile} is @samp{-}, standard input is read.
43
44 @subsection Output file location
45
46 @table @samp
47 @item -o @var{file}
48 @itemx --output-file=@var{file}
49 @opindex -o@r{, @code{msgcat} option}
50 @opindex --output-file@r{, @code{msgcat} option}
51 Write output to specified file.
52
53 @end table
54
55 @cindex standard output, and @code{msgcat}
56 The results are written to standard output if no output file is specified
57 or if it is @samp{-}.
58
59 @subsection Message selection
60
61 @table @samp
62 @item -< @var{number}
63 @itemx --less-than=@var{number}
64 @opindex -<@r{, @code{msgcat} option}
65 @opindex --less-than@r{, @code{msgcat} option}
66 Print messages with less than @var{number} definitions, defaults to infinite
67 if not set.
68
69 @item -> @var{number}
70 @itemx --more-than=@var{number}
71 @opindex ->@r{, @code{msgcat} option}
72 @opindex --more-than@r{, @code{msgcat} option}
73 Print messages with more than @var{number} definitions, defaults to 0 if not
74 set.
75
76 @item -u
77 @itemx --unique
78 @opindex -u@r{, @code{msgcat} option}
79 @opindex --unique@r{, @code{msgcat} option}
80 Shorthand for @samp{--less-than=2}.  Requests that only unique messages be
81 printed.
82
83 @end table
84
85 @subsection Input file syntax
86
87 @table @samp
88 @item -P
89 @itemx --properties-input
90 @opindex -P@r{, @code{msgcat} option}
91 @opindex --properties-input@r{, @code{msgcat} option}
92 Assume the input files are Java ResourceBundles in Java @code{.properties}
93 syntax, not in PO file syntax.
94
95 @item --stringtable-input
96 @opindex --stringtable-input@r{, @code{msgcat} option}
97 Assume the input files are NeXTstep/GNUstep localized resource files in
98 @code{.strings} syntax, not in PO file syntax.
99
100 @end table
101
102 @subsection Output details
103
104 @c --no-escape and --escape omitted on purpose.  They are not useful.
105
106 @table @samp
107 @item -t
108 @itemx --to-code=@var{name}
109 @opindex -t@r{, @code{msgcat} option}
110 @opindex --to-code@r{, @code{msgcat} option}
111 Specify encoding for output.
112
113 @item --use-first
114 @opindex --use-first@r{, @code{msgcat} option}
115 Use first available translation for each message.  Don't merge several
116 translations into one.
117
118 @item --lang=@var{catalogname}
119 @opindex --lang@r{, @code{msgcat} option}
120 Specify the @samp{Language} field to be used in the header entry.  See
121 @ref{Header Entry} for the meaning of this field.  Note: The
122 @samp{Language-Team} and @samp{Plural-Forms} fields are left unchanged.
123
124 @item --color
125 @itemx --color=@var{when}
126 @opindex --color@r{, @code{msgcat} option}
127 Specify whether or when to use colors and other text attributes.
128 See @ref{The --color option} for details.
129
130 @item --style=@var{style_file}
131 @opindex --style@r{, @code{msgcat} option}
132 Specify the CSS style rule file to use for @code{--color}.
133 See @ref{The --style option} for details.
134
135 @item --force-po
136 @opindex --force-po@r{, @code{msgcat} option}
137 Always write an output file even if it contains no message.
138
139 @item -i
140 @itemx --indent
141 @opindex -i@r{, @code{msgcat} option}
142 @opindex --indent@r{, @code{msgcat} option}
143 Write the .po file using indented style.
144
145 @item --no-location
146 @opindex --no-location@r{, @code{msgcat} option}
147 Do not write @samp{#: @var{filename}:@var{line}} lines.
148
149 @item -n
150 @itemx --add-location
151 @opindex -n@r{, @code{msgcat} option}
152 @opindex --add-location@r{, @code{msgcat} option}
153 Generate @samp{#: @var{filename}:@var{line}} lines (default).
154
155 @item --strict
156 @opindex --strict@r{, @code{msgcat} option}
157 Write out a strict Uniforum conforming PO file.  Note that this
158 Uniforum format should be avoided because it doesn't support the
159 GNU extensions.
160
161 @item -p
162 @itemx --properties-output
163 @opindex -p@r{, @code{msgcat} option}
164 @opindex --properties-output@r{, @code{msgcat} option}
165 Write out a Java ResourceBundle in Java @code{.properties} syntax.  Note
166 that this file format doesn't support plural forms and silently drops
167 obsolete messages.
168
169 @item --stringtable-output
170 @opindex --stringtable-output@r{, @code{msgcat} option}
171 Write out a NeXTstep/GNUstep localized resource file in @code{.strings} syntax.
172 Note that this file format doesn't support plural forms.
173
174 @item -w @var{number}
175 @itemx --width=@var{number}
176 @opindex -w@r{, @code{msgcat} option}
177 @opindex --width@r{, @code{msgcat} option}
178 Set the output page width.  Long strings in the output files will be
179 split across multiple lines in order to ensure that each line's width
180 (= number of screen columns) is less or equal to the given @var{number}.
181
182 @item --no-wrap
183 @opindex --no-wrap@r{, @code{msgcat} option}
184 Do not break long message lines.  Message lines whose width exceeds the
185 output page width will not be split into several lines.  Only file reference
186 lines which are wider than the output page width will be split.
187
188 @item -s
189 @itemx --sort-output
190 @opindex -s@r{, @code{msgcat} option}
191 @opindex --sort-output@r{, @code{msgcat} option}
192 @cindex sorting @code{msgcat} output
193 Generate sorted output.  Note that using this option makes it much harder
194 for the translator to understand each message's context.
195
196 @item -F
197 @itemx --sort-by-file
198 @opindex -F@r{, @code{msgcat} option}
199 @opindex --sort-by-file@r{, @code{msgcat} option}
200 Sort output by file location.
201
202 @end table
203
204 @subsection Informative output
205
206 @table @samp
207 @item -h
208 @itemx --help
209 @opindex -h@r{, @code{msgcat} option}
210 @opindex --help@r{, @code{msgcat} option}
211 Display this help and exit.
212
213 @item -V
214 @itemx --version
215 @opindex -V@r{, @code{msgcat} option}
216 @opindex --version@r{, @code{msgcat} option}
217 Output version information and exit.
218
219 @end table