Imported Upstream version 0.18.1.1
[platform/upstream/gettext.git] / gettext-tools / doc / msgen.texi
1 @pindex msgen
2 @cindex @code{msgen} program, usage
3 @example
4 msgen [@var{option}] @var{inputfile}
5 @end example
6
7 @cindex generate translation catalog in English
8 The @code{msgen} program creates an English translation catalog.  The
9 input file is the last created English PO file, or a PO Template file
10 (generally created by xgettext).  Untranslated entries are assigned a
11 translation that is identical to the msgid.
12
13 Note: @samp{msginit --no-translator --locale=en} performs a very similar
14 task.  The main difference is that @code{msginit} cares specially about
15 the header entry, whereas @code{msgen} doesn't.
16
17 @subsection Input file location
18
19 @table @samp
20 @item @var{inputfile}
21 Input 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}
27 Add @var{directory} to the list of directories.  Source files are
28 searched relative to this list of directories.  The resulting @file{.po}
29 file will be written relative to the current directory, though.
30
31 @end table
32
33 If @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}
42 Write output to specified file.
43
44 @end table
45
46 The results are written to standard output if no output file is specified
47 or 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}
56 Assume the input file is a Java ResourceBundle in Java @code{.properties}
57 syntax, not in PO file syntax.
58
59 @item --stringtable-input
60 @opindex --stringtable-input@r{, @code{msgen} option}
61 Assume 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 --lang=@var{catalogname}
72 @opindex --lang@r{, @code{msgcat} option}
73 Specify the @samp{Language} field to be used in the header entry.  See
74 @ref{Header Entry} for the meaning of this field.  Note: The
75 @samp{Language-Team} and @samp{Plural-Forms} fields are not set by this
76 option.
77
78 @item --color
79 @itemx --color=@var{when}
80 @opindex --color@r{, @code{msgen} option}
81 Specify whether or when to use colors and other text attributes.
82 See @ref{The --color option} for details.
83
84 @item --style=@var{style_file}
85 @opindex --style@r{, @code{msgen} option}
86 Specify the CSS style rule file to use for @code{--color}.
87 See @ref{The --style option} for details.
88
89 @item --force-po
90 @opindex --force-po@r{, @code{msgen} option}
91 Always write an output file even if it contains no message.
92
93 @item -i
94 @itemx --indent
95 @opindex -i@r{, @code{msgen} option}
96 @opindex --indent@r{, @code{msgen} option}
97 Write the .po file using indented style.
98
99 @item --no-location
100 @opindex --no-location@r{, @code{msgen} option}
101 Do not write @samp{#: @var{filename}:@var{line}} lines.
102
103 @item --add-location
104 @opindex --add-location@r{, @code{msgen} option}
105 Generate @samp{#: @var{filename}:@var{line}} lines (default).
106
107 @item --strict
108 @opindex --strict@r{, @code{msgen} option}
109 Write out a strict Uniforum conforming PO file.  Note that this
110 Uniforum format should be avoided because it doesn't support the
111 GNU extensions.
112
113 @item -p
114 @itemx --properties-output
115 @opindex -p@r{, @code{msgen} option}
116 @opindex --properties-output@r{, @code{msgen} option}
117 Write out a Java ResourceBundle in Java @code{.properties} syntax.  Note
118 that this file format doesn't support plural forms and silently drops
119 obsolete messages.
120
121 @item --stringtable-output
122 @opindex --stringtable-output@r{, @code{msgen} option}
123 Write out a NeXTstep/GNUstep localized resource file in @code{.strings} syntax.
124 Note that this file format doesn't support plural forms.
125
126 @item -w @var{number}
127 @itemx --width=@var{number}
128 @opindex -w@r{, @code{msgen} option}
129 @opindex --width@r{, @code{msgen} option}
130 Set the output page width.  Long strings in the output files will be
131 split across multiple lines in order to ensure that each line's width
132 (= number of screen columns) is less or equal to the given @var{number}.
133
134 @item --no-wrap
135 @opindex --no-wrap@r{, @code{msgen} option}
136 Do not break long message lines.  Message lines whose width exceeds the
137 output page width will not be split into several lines.  Only file reference
138 lines which are wider than the output page width will be split.
139
140 @item -s
141 @itemx --sort-output
142 @opindex -s@r{, @code{msgen} option}
143 @opindex --sort-output@r{, @code{msgen} option}
144 Generate sorted output.  Note that using this option makes it much harder
145 for the translator to understand each message's context.
146
147 @item -F
148 @itemx --sort-by-file
149 @opindex -F@r{, @code{msgen} option}
150 @opindex --sort-by-file@r{, @code{msgen} option}
151 Sort output by file location.
152
153 @end table
154
155 @subsection Informative output
156
157 @table @samp
158 @item -h
159 @itemx --help
160 @opindex -h@r{, @code{msgen} option}
161 @opindex --help@r{, @code{msgen} option}
162 Display this help and exit.
163
164 @item -V
165 @itemx --version
166 @opindex -V@r{, @code{msgen} option}
167 @opindex --version@r{, @code{msgen} option}
168 Output version information and exit.
169
170 @end table