1@pindex msgen
2@cindex @code{msgen} program, usage
3@example
4msgen [@var{option}] @var{inputfile}
5@end example
6
7@cindex generate translation catalog in English
8The @code{msgen} program creates an English translation catalog.  The
9input file is the last created English PO file, or a PO Template file
10(generally created by xgettext).  Untranslated entries are assigned a
11translation that is identical to the msgid.
12
13Note: @samp{msginit --no-translator --locale=en} performs a very similar
14task.  The main difference is that @code{msginit} cares specially about
15the header entry, whereas @code{msgen} doesn't.
16
17@subsection Input file location
18
19@table @samp
20@item @var{inputfile}
21Input PO or POT file.
22
23@item -D @var{directory}
24@itemx --directory=@var{directory}
25@opindex -D@r{, @code{msgen} option}
26@opindex --directory@r{, @code{msgen} option}
27Add @var{directory} to the list of directories.  Source files are
28searched relative to this list of directories.  The resulting @file{.po}
29file will be written relative to the current directory, though.
30
31@end table
32
33If @var{inputfile} is @samp{-}, standard input is read.
34
35@subsection Output file location
36
37@table @samp
38@item -o @var{file}
39@itemx --output-file=@var{file}
40@opindex -o@r{, @code{msgen} option}
41@opindex --output-file@r{, @code{msgen} option}
42Write output to specified file.
43
44@end table
45
46The results are written to standard output if no output file is specified
47or if it is @samp{-}.
48
49@subsection Input file syntax
50
51@table @samp
52@item -P
53@itemx --properties-input
54@opindex -P@r{, @code{msgen} option}
55@opindex --properties-input@r{, @code{msgen} option}
56Assume the input file is a Java ResourceBundle in Java @code{.properties}
57syntax, not in PO file syntax.
58
59@item --stringtable-input
60@opindex --stringtable-input@r{, @code{msgen} option}
61Assume the input file is a NeXTstep/GNUstep localized resource file in
62@code{.strings} syntax, not in PO file syntax.
63
64@end table
65
66@subsection Output details
67
68@c --no-escape and --escape omitted on purpose.  They are not useful.
69
70@table @samp
71@item --force-po
72@opindex --force-po@r{, @code{msgen} option}
73Always write an output file even if it contains no message.
74
75@item -i
76@itemx --indent
77@opindex -i@r{, @code{msgen} option}
78@opindex --indent@r{, @code{msgen} option}
79Write the .po file using indented style.
80
81@item --no-location
82@opindex --no-location@r{, @code{msgen} option}
83Do not write @samp{#: @var{filename}:@var{line}} lines.
84
85@item --add-location
86@opindex --add-location@r{, @code{msgen} option}
87Generate @samp{#: @var{filename}:@var{line}} lines (default).
88
89@item --strict
90@opindex --strict@r{, @code{msgen} option}
91Write out a strict Uniforum conforming PO file.  Note that this
92Uniforum format should be avoided because it doesn't support the
93GNU extensions.
94
95@item -p
96@itemx --properties-output
97@opindex -p@r{, @code{msgen} option}
98@opindex --properties-output@r{, @code{msgen} option}
99Write out a Java ResourceBundle in Java @code{.properties} syntax.  Note
100that this file format doesn't support plural forms and silently drops
101obsolete messages.
102
103@item --stringtable-output
104@opindex --stringtable-output@r{, @code{msgen} option}
105Write out a NeXTstep/GNUstep localized resource file in @code{.strings} syntax.
106Note that this file format doesn't support plural forms.
107
108@item -w @var{number}
109@itemx --width=@var{number}
110@opindex -w@r{, @code{msgen} option}
111@opindex --width@r{, @code{msgen} option}
112Set the output page width.  Long strings in the output files will be
113split across multiple lines in order to ensure that each line's width
114(= number of screen columns) is less or equal to the given @var{number}.
115
116@item --no-wrap
117@opindex --no-wrap@r{, @code{msgen} option}
118Do not break long message lines.  Message lines whose width exceeds the
119output page width will not be split into several lines.  Only file reference
120lines which are wider than the output page width will be split.
121
122@item -s
123@itemx --sort-output
124@opindex -s@r{, @code{msgen} option}
125@opindex --sort-output@r{, @code{msgen} option}
126Generate sorted output.  Note that using this option makes it much harder
127for the translator to understand each message's context.
128
129@item -F
130@itemx --sort-by-file
131@opindex -F@r{, @code{msgen} option}
132@opindex --sort-by-file@r{, @code{msgen} option}
133Sort output by file location.
134
135@end table
136
137@subsection Informative output
138
139@table @samp
140@item -h
141@itemx --help
142@opindex -h@r{, @code{msgen} option}
143@opindex --help@r{, @code{msgen} option}
144Display this help and exit.
145
146@item -V
147@itemx --version
148@opindex -V@r{, @code{msgen} option}
149@opindex --version@r{, @code{msgen} option}
150Output version information and exit.
151
152@end table
153