Revision 7940
trunk/install/launcher/izpack-launcher-1.3/src/extraerClaves.bat | ||
---|---|---|
1 |
@echo off |
|
2 |
color F0 |
|
3 |
PROMPT=$g |
|
4 |
|
|
5 |
echo Extraemos las calves de los ficheros cpp... |
|
6 |
gettext\bin\xgettext -C -n -k_ -o launcher.pot launcher.cpp statusdialog.cpp |
|
7 |
|
|
8 |
echo Fusionando con Idioma da... |
|
9 |
IF NOT EXIST da\launcher.po copy launcher.pot da\launcher.po |
|
10 |
gettext\bin\msgmerge.exe da\launcher.po launcher.pot -o da\launcher.po |
|
11 |
|
|
12 |
echo Fusionando con Idioma de... |
|
13 |
IF NOT EXIST de\launcher.po copy launcher.pot de\launcher.po |
|
14 |
gettext\bin\msgmerge.exe de\launcher.po launcher.pot -o de\launcher.po |
|
15 |
|
|
16 |
echo Fusionando con Idioma es... |
|
17 |
IF NOT EXIST es\launcher.po copy launcher.pot es\launcher.po |
|
18 |
gettext\bin\msgmerge.exe es\launcher.po launcher.pot -o es\launcher.po |
|
19 |
|
|
20 |
echo Fusionando con Idioma fr... |
|
21 |
IF NOT EXIST fr\launcher.po copy launcher.pot fr\launcher.po |
|
22 |
gettext\bin\msgmerge.exe fr\launcher.po launcher.pot -o fr\launcher.po |
|
23 |
|
|
24 |
echo Fusionando con Idioma it... |
|
25 |
IF NOT EXIST it\launcher.po copy launcher.pot it\launcher.po |
|
26 |
gettext\bin\msgmerge.exe it\launcher.po launcher.pot -o it\launcher.po |
|
27 |
|
|
28 |
echo Fusionando con Idioma nl... |
|
29 |
IF NOT EXIST nl\launcher.po copy launcher.pot nl\launcher.po |
|
30 |
gettext\bin\msgmerge.exe nl\launcher.po launcher.pot -o nl\launcher.po |
|
31 |
|
|
32 |
echo Fusionando con Idioma pt-BR... |
|
33 |
IF NOT EXIST pt-BR\launcher.po copy launcher.pot pt-BR\launcher.po |
|
34 |
gettext\bin\msgmerge.exe pt-BR\launcher.po launcher.pot -o pt-BR\launcher.po |
|
35 |
|
|
36 |
echo Termiando. |
|
0 | 37 |
trunk/install/launcher/izpack-launcher-1.3/src/gettext/share/doc/gettext/msgen.1.html | ||
---|---|---|
1 |
<html> |
|
2 |
<head> |
|
3 |
<meta name="generator" content="groff -Thtml, see www.gnu.org"> |
|
4 |
<meta name="Content-Style" content="text/css"> |
|
5 |
<title>MSGEN</title> |
|
6 |
</head> |
|
7 |
<body> |
|
8 |
|
|
9 |
<h1 align=center>MSGEN</h1> |
|
10 |
<a href="#NAME">NAME</a><br> |
|
11 |
<a href="#SYNOPSIS">SYNOPSIS</a><br> |
|
12 |
<a href="#DESCRIPTION">DESCRIPTION</a><br> |
|
13 |
<a href="#AUTHOR">AUTHOR</a><br> |
|
14 |
<a href="#REPORTING BUGS">REPORTING BUGS</a><br> |
|
15 |
<a href="#COPYRIGHT">COPYRIGHT</a><br> |
|
16 |
<a href="#SEE ALSO">SEE ALSO</a><br> |
|
17 |
|
|
18 |
<hr> |
|
19 |
<!-- Creator : groff version 1.17.2 --> |
|
20 |
<a name="NAME"></a> |
|
21 |
<h2>NAME</h2> |
|
22 |
<table width="100%" border=0 rules="none" frame="void" |
|
23 |
cols="2" cellspacing="0" cellpadding="0"> |
|
24 |
<tr valign="top" align="left"> |
|
25 |
<td width="10%"></td><td width="90%"> |
|
26 |
msgen - create English message catalog</td></table> |
|
27 |
<a name="SYNOPSIS"></a> |
|
28 |
<h2>SYNOPSIS</h2> |
|
29 |
|
|
30 |
<table width="100%" border=0 rules="none" frame="void" |
|
31 |
cols="2" cellspacing="0" cellpadding="0"> |
|
32 |
<tr valign="top" align="left"> |
|
33 |
<td width="10%"></td><td width="90%"> |
|
34 |
<b>msgen</b> [<i>OPTION</i>] <i>INPUTFILE</i></td></table> |
|
35 |
<a name="DESCRIPTION"></a> |
|
36 |
<h2>DESCRIPTION</h2> |
|
37 |
|
|
38 |
<table width="100%" border=0 rules="none" frame="void" |
|
39 |
cols="2" cellspacing="0" cellpadding="0"> |
|
40 |
<tr valign="top" align="left"> |
|
41 |
<td width="10%"></td><td width="90%"> |
|
42 |
Creates an English translation catalog. The input file is |
|
43 |
the last created English PO file, or a PO Template file |
|
44 |
(generally created by xgettext). Untranslated entries are |
|
45 |
assigned a translation that is identical to the |
|
46 |
msgid.</td></table> |
|
47 |
|
|
48 |
<table width="100%" border=0 rules="none" frame="void" |
|
49 |
cols="2" cellspacing="0" cellpadding="0"> |
|
50 |
<tr valign="top" align="left"> |
|
51 |
<td width="10%"></td><td width="90%"> |
|
52 |
Mandatory arguments to long options are mandatory for short |
|
53 |
options too.</td></table> |
|
54 |
|
|
55 |
<table width="100%" border=0 rules="none" frame="void" |
|
56 |
cols="2" cellspacing="0" cellpadding="0"> |
|
57 |
<tr valign="top" align="left"> |
|
58 |
<td width="4%"></td><td width="96%"> |
|
59 |
<b>Input file location:</b></td></table> |
|
60 |
|
|
61 |
<table width="100%" border=0 rules="none" frame="void" |
|
62 |
cols="2" cellspacing="0" cellpadding="0"> |
|
63 |
<tr valign="top" align="left"> |
|
64 |
<td width="10%"></td><td width="90%"> |
|
65 |
INPUTFILE</td></table> |
|
66 |
|
|
67 |
<table width="100%" border=0 rules="none" frame="void" |
|
68 |
cols="2" cellspacing="0" cellpadding="0"> |
|
69 |
<tr valign="top" align="left"> |
|
70 |
<td width="21%"></td><td width="79%"> |
|
71 |
input PO or POT file</td></table> |
|
72 |
|
|
73 |
<table width="100%" border=0 rules="none" frame="void" |
|
74 |
cols="2" cellspacing="0" cellpadding="0"> |
|
75 |
<tr valign="top" align="left"> |
|
76 |
<td width="10%"></td><td width="90%"> |
|
77 |
<b>-D</b>, <b>--directory</b>=<i>DIRECTORY</i></td></table> |
|
78 |
|
|
79 |
<table width="100%" border=0 rules="none" frame="void" |
|
80 |
cols="2" cellspacing="0" cellpadding="0"> |
|
81 |
<tr valign="top" align="left"> |
|
82 |
<td width="21%"></td><td width="79%"> |
|
83 |
add DIRECTORY to list for input files search</td></table> |
|
84 |
|
|
85 |
<table width="100%" border=0 rules="none" frame="void" |
|
86 |
cols="2" cellspacing="0" cellpadding="0"> |
|
87 |
<tr valign="top" align="left"> |
|
88 |
<td width="10%"></td><td width="90%"> |
|
89 |
If input file is -, standard input is read.</td></table> |
|
90 |
|
|
91 |
<table width="100%" border=0 rules="none" frame="void" |
|
92 |
cols="2" cellspacing="0" cellpadding="0"> |
|
93 |
<tr valign="top" align="left"> |
|
94 |
<td width="4%"></td><td width="96%"> |
|
95 |
<b>Output file location:</b></td></table> |
|
96 |
|
|
97 |
<table width="100%" border=0 rules="none" frame="void" |
|
98 |
cols="2" cellspacing="0" cellpadding="0"> |
|
99 |
<tr valign="top" align="left"> |
|
100 |
<td width="10%"></td><td width="90%"> |
|
101 |
<b>-o</b>, <b>--output-file</b>=<i>FILE</i></td></table> |
|
102 |
|
|
103 |
<table width="100%" border=0 rules="none" frame="void" |
|
104 |
cols="2" cellspacing="0" cellpadding="0"> |
|
105 |
<tr valign="top" align="left"> |
|
106 |
<td width="21%"></td><td width="79%"> |
|
107 |
write output to specified file</td></table> |
|
108 |
|
|
109 |
<table width="100%" border=0 rules="none" frame="void" |
|
110 |
cols="2" cellspacing="0" cellpadding="0"> |
|
111 |
<tr valign="top" align="left"> |
|
112 |
<td width="10%"></td><td width="90%"> |
|
113 |
The results are written to standard output if no output file |
|
114 |
is specified or if it is -.</td></table> |
|
115 |
|
|
116 |
<table width="100%" border=0 rules="none" frame="void" |
|
117 |
cols="2" cellspacing="0" cellpadding="0"> |
|
118 |
<tr valign="top" align="left"> |
|
119 |
<td width="4%"></td><td width="96%"> |
|
120 |
<b>Input file syntax:</b></td></table> |
|
121 |
|
|
122 |
<table width="100%" border=0 rules="none" frame="void" |
|
123 |
cols="2" cellspacing="0" cellpadding="0"> |
|
124 |
<tr valign="top" align="left"> |
|
125 |
<td width="10%"></td><td width="90%"> |
|
126 |
<b>-P</b>, <b>--properties-input</b></td></table> |
|
127 |
|
|
128 |
<table width="100%" border=0 rules="none" frame="void" |
|
129 |
cols="2" cellspacing="0" cellpadding="0"> |
|
130 |
<tr valign="top" align="left"> |
|
131 |
<td width="21%"></td><td width="79%"> |
|
132 |
input file is in Java .properties syntax</td></table> |
|
133 |
|
|
134 |
<table width="100%" border=0 rules="none" frame="void" |
|
135 |
cols="2" cellspacing="0" cellpadding="0"> |
|
136 |
<tr valign="top" align="left"> |
|
137 |
<td width="10%"></td><td width="90%"> |
|
138 |
<b>--stringtable-input</b></td></table> |
|
139 |
|
|
140 |
<table width="100%" border=0 rules="none" frame="void" |
|
141 |
cols="2" cellspacing="0" cellpadding="0"> |
|
142 |
<tr valign="top" align="left"> |
|
143 |
<td width="21%"></td><td width="79%"> |
|
144 |
input file is in NeXTstep/GNUstep .strings |
|
145 |
syntax</td></table> |
|
146 |
|
|
147 |
<table width="100%" border=0 rules="none" frame="void" |
|
148 |
cols="2" cellspacing="0" cellpadding="0"> |
|
149 |
<tr valign="top" align="left"> |
|
150 |
<td width="4%"></td><td width="96%"> |
|
151 |
<b>Output details:</b></td></table> |
|
152 |
|
|
153 |
<table width="100%" border=0 rules="none" frame="void" |
|
154 |
cols="2" cellspacing="0" cellpadding="0"> |
|
155 |
<tr valign="top" align="left"> |
|
156 |
<td width="10%"></td><td width="90%"> |
|
157 |
<b>-e</b>, <b>--no-escape</b></td></table> |
|
158 |
|
|
159 |
<table width="100%" border=0 rules="none" frame="void" |
|
160 |
cols="2" cellspacing="0" cellpadding="0"> |
|
161 |
<tr valign="top" align="left"> |
|
162 |
<td width="21%"></td><td width="79%"> |
|
163 |
do not use C escapes in output (default)</td></table> |
|
164 |
|
|
165 |
<table width="100%" border=0 rules="none" frame="void" |
|
166 |
cols="2" cellspacing="0" cellpadding="0"> |
|
167 |
<tr valign="top" align="left"> |
|
168 |
<td width="10%"></td><td width="90%"> |
|
169 |
<b>-E</b>, <b>--escape</b></td></table> |
|
170 |
|
|
171 |
<table width="100%" border=0 rules="none" frame="void" |
|
172 |
cols="2" cellspacing="0" cellpadding="0"> |
|
173 |
<tr valign="top" align="left"> |
|
174 |
<td width="21%"></td><td width="79%"> |
|
175 |
use C escapes in output, no extended chars</td></table> |
|
176 |
|
|
177 |
<table width="100%" border=0 rules="none" frame="void" |
|
178 |
cols="2" cellspacing="0" cellpadding="0"> |
|
179 |
<tr valign="top" align="left"> |
|
180 |
<td width="10%"></td><td width="90%"> |
|
181 |
<b>--force-po</b></td></table> |
|
182 |
|
|
183 |
<table width="100%" border=0 rules="none" frame="void" |
|
184 |
cols="2" cellspacing="0" cellpadding="0"> |
|
185 |
<tr valign="top" align="left"> |
|
186 |
<td width="21%"></td><td width="79%"> |
|
187 |
write PO file even if empty</td></table> |
|
188 |
|
|
189 |
<table width="100%" border=0 rules="none" frame="void" |
|
190 |
cols="2" cellspacing="0" cellpadding="0"> |
|
191 |
<tr valign="top" align="left"> |
|
192 |
<td width="10%"></td><td width="90%"> |
|
193 |
<b>-i</b>, <b>--indent</b></td></table> |
|
194 |
|
|
195 |
<table width="100%" border=0 rules="none" frame="void" |
|
196 |
cols="2" cellspacing="0" cellpadding="0"> |
|
197 |
<tr valign="top" align="left"> |
|
198 |
<td width="21%"></td><td width="79%"> |
|
199 |
indented output style</td></table> |
|
200 |
|
|
201 |
<table width="100%" border=0 rules="none" frame="void" |
|
202 |
cols="2" cellspacing="0" cellpadding="0"> |
|
203 |
<tr valign="top" align="left"> |
|
204 |
<td width="10%"></td><td width="90%"> |
|
205 |
<b>--no-location</b></td></table> |
|
206 |
|
|
207 |
<table width="100%" border=0 rules="none" frame="void" |
|
208 |
cols="2" cellspacing="0" cellpadding="0"> |
|
209 |
<tr valign="top" align="left"> |
|
210 |
<td width="21%"></td><td width="79%"> |
|
211 |
suppress '#: filename:line' lines</td></table> |
|
212 |
|
|
213 |
<table width="100%" border=0 rules="none" frame="void" |
|
214 |
cols="2" cellspacing="0" cellpadding="0"> |
|
215 |
<tr valign="top" align="left"> |
|
216 |
<td width="10%"></td><td width="90%"> |
|
217 |
<b>--add-location</b></td></table> |
|
218 |
|
|
219 |
<table width="100%" border=0 rules="none" frame="void" |
|
220 |
cols="2" cellspacing="0" cellpadding="0"> |
|
221 |
<tr valign="top" align="left"> |
|
222 |
<td width="21%"></td><td width="79%"> |
|
223 |
preserve '#: filename:line' lines (default)</td></table> |
|
224 |
|
|
225 |
<table width="100%" border=0 rules="none" frame="void" |
|
226 |
cols="2" cellspacing="0" cellpadding="0"> |
|
227 |
<tr valign="top" align="left"> |
|
228 |
<td width="10%"></td><td width="90%"> |
|
229 |
<b>--strict</b></td></table> |
|
230 |
|
|
231 |
<table width="100%" border=0 rules="none" frame="void" |
|
232 |
cols="2" cellspacing="0" cellpadding="0"> |
|
233 |
<tr valign="top" align="left"> |
|
234 |
<td width="21%"></td><td width="79%"> |
|
235 |
strict Uniforum output style</td></table> |
|
236 |
|
|
237 |
<table width="100%" border=0 rules="none" frame="void" |
|
238 |
cols="2" cellspacing="0" cellpadding="0"> |
|
239 |
<tr valign="top" align="left"> |
|
240 |
<td width="10%"></td><td width="90%"> |
|
241 |
<b>-p</b>, <b>--properties-output</b></td></table> |
|
242 |
|
|
243 |
<table width="100%" border=0 rules="none" frame="void" |
|
244 |
cols="2" cellspacing="0" cellpadding="0"> |
|
245 |
<tr valign="top" align="left"> |
|
246 |
<td width="21%"></td><td width="79%"> |
|
247 |
write out a Java .properties file</td></table> |
|
248 |
|
|
249 |
<table width="100%" border=0 rules="none" frame="void" |
|
250 |
cols="2" cellspacing="0" cellpadding="0"> |
|
251 |
<tr valign="top" align="left"> |
|
252 |
<td width="10%"></td><td width="90%"> |
|
253 |
<b>--stringtable-output</b></td></table> |
|
254 |
|
|
255 |
<table width="100%" border=0 rules="none" frame="void" |
|
256 |
cols="2" cellspacing="0" cellpadding="0"> |
|
257 |
<tr valign="top" align="left"> |
|
258 |
<td width="21%"></td><td width="79%"> |
|
259 |
write out a NeXTstep/GNUstep .strings file</td></table> |
|
260 |
|
|
261 |
<table width="100%" border=0 rules="none" frame="void" |
|
262 |
cols="2" cellspacing="0" cellpadding="0"> |
|
263 |
<tr valign="top" align="left"> |
|
264 |
<td width="10%"></td><td width="90%"> |
|
265 |
<b>-w</b>, <b>--width</b>=<i>NUMBER</i></td></table> |
|
266 |
|
|
267 |
<table width="100%" border=0 rules="none" frame="void" |
|
268 |
cols="2" cellspacing="0" cellpadding="0"> |
|
269 |
<tr valign="top" align="left"> |
|
270 |
<td width="21%"></td><td width="79%"> |
|
271 |
set output page width</td></table> |
|
272 |
|
|
273 |
<table width="100%" border=0 rules="none" frame="void" |
|
274 |
cols="2" cellspacing="0" cellpadding="0"> |
|
275 |
<tr valign="top" align="left"> |
|
276 |
<td width="10%"></td><td width="90%"> |
|
277 |
<b>--no-wrap</b></td></table> |
|
278 |
|
|
279 |
<table width="100%" border=0 rules="none" frame="void" |
|
280 |
cols="2" cellspacing="0" cellpadding="0"> |
|
281 |
<tr valign="top" align="left"> |
|
282 |
<td width="21%"></td><td width="79%"> |
|
283 |
do not break long message lines, longer than the output page |
|
284 |
width, into several lines</td></table> |
|
285 |
|
|
286 |
<table width="100%" border=0 rules="none" frame="void" |
|
287 |
cols="2" cellspacing="0" cellpadding="0"> |
|
288 |
<tr valign="top" align="left"> |
|
289 |
<td width="10%"></td><td width="90%"> |
|
290 |
<b>-s</b>, <b>--sort-output</b></td></table> |
|
291 |
|
|
292 |
<table width="100%" border=0 rules="none" frame="void" |
|
293 |
cols="2" cellspacing="0" cellpadding="0"> |
|
294 |
<tr valign="top" align="left"> |
|
295 |
<td width="21%"></td><td width="79%"> |
|
296 |
generate sorted output</td></table> |
|
297 |
|
|
298 |
<table width="100%" border=0 rules="none" frame="void" |
|
299 |
cols="2" cellspacing="0" cellpadding="0"> |
|
300 |
<tr valign="top" align="left"> |
|
301 |
<td width="10%"></td><td width="90%"> |
|
302 |
<b>-F</b>, <b>--sort-by-file</b></td></table> |
|
303 |
|
|
304 |
<table width="100%" border=0 rules="none" frame="void" |
|
305 |
cols="2" cellspacing="0" cellpadding="0"> |
|
306 |
<tr valign="top" align="left"> |
|
307 |
<td width="21%"></td><td width="79%"> |
|
308 |
sort output by file location</td></table> |
|
309 |
|
|
310 |
<table width="100%" border=0 rules="none" frame="void" |
|
311 |
cols="2" cellspacing="0" cellpadding="0"> |
|
312 |
<tr valign="top" align="left"> |
|
313 |
<td width="4%"></td><td width="96%"> |
|
314 |
<b>Informative output:</b></td></table> |
|
315 |
|
|
316 |
<table width="100%" border=0 rules="none" frame="void" |
|
317 |
cols="2" cellspacing="0" cellpadding="0"> |
|
318 |
<tr valign="top" align="left"> |
|
319 |
<td width="10%"></td><td width="90%"> |
|
320 |
<b>-h</b>, <b>--help</b></td></table> |
|
321 |
|
|
322 |
<table width="100%" border=0 rules="none" frame="void" |
|
323 |
cols="2" cellspacing="0" cellpadding="0"> |
|
324 |
<tr valign="top" align="left"> |
|
325 |
<td width="21%"></td><td width="79%"> |
|
326 |
display this help and exit</td></table> |
|
327 |
|
|
328 |
<table width="100%" border=0 rules="none" frame="void" |
|
329 |
cols="2" cellspacing="0" cellpadding="0"> |
|
330 |
<tr valign="top" align="left"> |
|
331 |
<td width="10%"></td><td width="90%"> |
|
332 |
<b>-V</b>, <b>--version</b></td></table> |
|
333 |
|
|
334 |
<table width="100%" border=0 rules="none" frame="void" |
|
335 |
cols="2" cellspacing="0" cellpadding="0"> |
|
336 |
<tr valign="top" align="left"> |
|
337 |
<td width="21%"></td><td width="79%"> |
|
338 |
output version information and exit</td></table> |
|
339 |
<a name="AUTHOR"></a> |
|
340 |
<h2>AUTHOR</h2> |
|
341 |
|
|
342 |
<table width="100%" border=0 rules="none" frame="void" |
|
343 |
cols="2" cellspacing="0" cellpadding="0"> |
|
344 |
<tr valign="top" align="left"> |
|
345 |
<td width="10%"></td><td width="90%"> |
|
346 |
Written by Bruno Haible.</td></table> |
|
347 |
<a name="REPORTING BUGS"></a> |
|
348 |
<h2>REPORTING BUGS</h2> |
|
349 |
|
|
350 |
<table width="100%" border=0 rules="none" frame="void" |
|
351 |
cols="2" cellspacing="0" cellpadding="0"> |
|
352 |
<tr valign="top" align="left"> |
|
353 |
<td width="10%"></td><td width="90%"> |
|
354 |
Report bugs to <bug-gnu-gettext@gnu.org>.</td></table> |
|
355 |
<a name="COPYRIGHT"></a> |
|
356 |
<h2>COPYRIGHT</h2> |
|
357 |
|
|
358 |
<table width="100%" border=0 rules="none" frame="void" |
|
359 |
cols="2" cellspacing="0" cellpadding="0"> |
|
360 |
<tr valign="top" align="left"> |
|
361 |
<td width="10%"></td><td width="90%"> |
|
362 |
Copyright 2001-2003 Free Software Foundation, Inc.<br> |
|
363 |
This is free software; see the source for copying |
|
364 |
conditions. There is NO warranty; not even for |
|
365 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR |
|
366 |
PURPOSE.</td></table> |
|
367 |
<a name="SEE ALSO"></a> |
|
368 |
<h2>SEE ALSO</h2> |
|
369 |
|
|
370 |
<table width="100%" border=0 rules="none" frame="void" |
|
371 |
cols="2" cellspacing="0" cellpadding="0"> |
|
372 |
<tr valign="top" align="left"> |
|
373 |
<td width="10%"></td><td width="90%"> |
|
374 |
The full documentation for <b>msgen</b> is maintained as a |
|
375 |
Texinfo manual. If the <b>info</b> and <b>msgen</b> programs |
|
376 |
are properly installed at your site, the |
|
377 |
command</td></table> |
|
378 |
|
|
379 |
<table width="100%" border=0 rules="none" frame="void" |
|
380 |
cols="2" cellspacing="0" cellpadding="0"> |
|
381 |
<tr valign="top" align="left"> |
|
382 |
<td width="21%"></td><td width="79%"> |
|
383 |
<b>info msgen</b></td></table> |
|
384 |
|
|
385 |
<table width="100%" border=0 rules="none" frame="void" |
|
386 |
cols="2" cellspacing="0" cellpadding="0"> |
|
387 |
<tr valign="top" align="left"> |
|
388 |
<td width="10%"></td><td width="90%"> |
|
389 |
should give you access to the complete manual.</td></table> |
|
390 |
<hr> |
|
391 |
</body> |
|
392 |
</html> |
|
0 | 393 |
trunk/install/launcher/izpack-launcher-1.3/src/gettext/share/doc/gettext/envsubst.1.html | ||
---|---|---|
1 |
<html> |
|
2 |
<head> |
|
3 |
<meta name="generator" content="groff -Thtml, see www.gnu.org"> |
|
4 |
<meta name="Content-Style" content="text/css"> |
|
5 |
<title>ENVSUBST</title> |
|
6 |
</head> |
|
7 |
<body> |
|
8 |
|
|
9 |
<h1 align=center>ENVSUBST</h1> |
|
10 |
<a href="#NAME">NAME</a><br> |
|
11 |
<a href="#SYNOPSIS">SYNOPSIS</a><br> |
|
12 |
<a href="#DESCRIPTION">DESCRIPTION</a><br> |
|
13 |
<a href="#AUTHOR">AUTHOR</a><br> |
|
14 |
<a href="#REPORTING BUGS">REPORTING BUGS</a><br> |
|
15 |
<a href="#COPYRIGHT">COPYRIGHT</a><br> |
|
16 |
<a href="#SEE ALSO">SEE ALSO</a><br> |
|
17 |
|
|
18 |
<hr> |
|
19 |
<!-- Creator : groff version 1.17.2 --> |
|
20 |
<a name="NAME"></a> |
|
21 |
<h2>NAME</h2> |
|
22 |
<table width="100%" border=0 rules="none" frame="void" |
|
23 |
cols="2" cellspacing="0" cellpadding="0"> |
|
24 |
<tr valign="top" align="left"> |
|
25 |
<td width="10%"></td><td width="90%"> |
|
26 |
envsubst - substitutes environment variables in shell format strings</td></table> |
|
27 |
<a name="SYNOPSIS"></a> |
|
28 |
<h2>SYNOPSIS</h2> |
|
29 |
|
|
30 |
<table width="100%" border=0 rules="none" frame="void" |
|
31 |
cols="2" cellspacing="0" cellpadding="0"> |
|
32 |
<tr valign="top" align="left"> |
|
33 |
<td width="10%"></td><td width="90%"> |
|
34 |
<b>envsubst</b> [<i>OPTION</i>] |
|
35 |
[<i>SHELL-FORMAT</i>]</td></table> |
|
36 |
<a name="DESCRIPTION"></a> |
|
37 |
<h2>DESCRIPTION</h2> |
|
38 |
|
|
39 |
<table width="100%" border=0 rules="none" frame="void" |
|
40 |
cols="2" cellspacing="0" cellpadding="0"> |
|
41 |
<tr valign="top" align="left"> |
|
42 |
<td width="10%"></td><td width="90%"> |
|
43 |
Substitutes the values of environment |
|
44 |
variables.</td></table> |
|
45 |
|
|
46 |
<table width="100%" border=0 rules="none" frame="void" |
|
47 |
cols="2" cellspacing="0" cellpadding="0"> |
|
48 |
<tr valign="top" align="left"> |
|
49 |
<td width="4%"></td><td width="96%"> |
|
50 |
<b>Operation mode:</b></td></table> |
|
51 |
|
|
52 |
<table width="100%" border=0 rules="none" frame="void" |
|
53 |
cols="2" cellspacing="0" cellpadding="0"> |
|
54 |
<tr valign="top" align="left"> |
|
55 |
<td width="10%"></td><td width="90%"> |
|
56 |
<b>-v</b>, <b>--variables</b></td></table> |
|
57 |
|
|
58 |
<table width="100%" border=0 rules="none" frame="void" |
|
59 |
cols="2" cellspacing="0" cellpadding="0"> |
|
60 |
<tr valign="top" align="left"> |
|
61 |
<td width="21%"></td><td width="79%"> |
|
62 |
output the variables occurring in SHELL-FORMAT</td></table> |
|
63 |
|
|
64 |
<table width="100%" border=0 rules="none" frame="void" |
|
65 |
cols="2" cellspacing="0" cellpadding="0"> |
|
66 |
<tr valign="top" align="left"> |
|
67 |
<td width="4%"></td><td width="96%"> |
|
68 |
<b>Informative output:</b></td></table> |
|
69 |
|
|
70 |
<table width="100%" border=0 rules="none" frame="void" |
|
71 |
cols="2" cellspacing="0" cellpadding="0"> |
|
72 |
<tr valign="top" align="left"> |
|
73 |
<td width="10%"></td><td width="90%"> |
|
74 |
<b>-h</b>, <b>--help</b></td></table> |
|
75 |
|
|
76 |
<table width="100%" border=0 rules="none" frame="void" |
|
77 |
cols="2" cellspacing="0" cellpadding="0"> |
|
78 |
<tr valign="top" align="left"> |
|
79 |
<td width="21%"></td><td width="79%"> |
|
80 |
display this help and exit</td></table> |
|
81 |
|
|
82 |
<table width="100%" border=0 rules="none" frame="void" |
|
83 |
cols="2" cellspacing="0" cellpadding="0"> |
|
84 |
<tr valign="top" align="left"> |
|
85 |
<td width="10%"></td><td width="90%"> |
|
86 |
<b>-V</b>, <b>--version</b></td></table> |
|
87 |
|
|
88 |
<table width="100%" border=0 rules="none" frame="void" |
|
89 |
cols="2" cellspacing="0" cellpadding="0"> |
|
90 |
<tr valign="top" align="left"> |
|
91 |
<td width="21%"></td><td width="79%"> |
|
92 |
output version information and exit</td></table> |
|
93 |
|
|
94 |
<table width="100%" border=0 rules="none" frame="void" |
|
95 |
cols="2" cellspacing="0" cellpadding="0"> |
|
96 |
<tr valign="top" align="left"> |
|
97 |
<td width="10%"></td><td width="90%"> |
|
98 |
In normal operation mode, standard input is copied to |
|
99 |
standard output, with references to environment variables of |
|
100 |
the form $VARIABLE or ${VARIABLE} being replaced with the |
|
101 |
corresponding values. If a SHELL-FORMAT is given, only those |
|
102 |
environment variables that are referenced in SHELL-FORMAT |
|
103 |
are substituted; otherwise all environment variables |
|
104 |
references occurring in standard input are |
|
105 |
substituted.</td></table> |
|
106 |
|
|
107 |
<table width="100%" border=0 rules="none" frame="void" |
|
108 |
cols="2" cellspacing="0" cellpadding="0"> |
|
109 |
<tr valign="top" align="left"> |
|
110 |
<td width="10%"></td><td width="90%"> |
|
111 |
When <b>--variables</b> is used, standard input is ignored, |
|
112 |
and the output consists of the environment variables that |
|
113 |
are referenced in SHELL-FORMAT, one per line.</td></table> |
|
114 |
<a name="AUTHOR"></a> |
|
115 |
<h2>AUTHOR</h2> |
|
116 |
|
|
117 |
<table width="100%" border=0 rules="none" frame="void" |
|
118 |
cols="2" cellspacing="0" cellpadding="0"> |
|
119 |
<tr valign="top" align="left"> |
|
120 |
<td width="10%"></td><td width="90%"> |
|
121 |
Written by Bruno Haible.</td></table> |
|
122 |
<a name="REPORTING BUGS"></a> |
|
123 |
<h2>REPORTING BUGS</h2> |
|
124 |
|
|
125 |
<table width="100%" border=0 rules="none" frame="void" |
|
126 |
cols="2" cellspacing="0" cellpadding="0"> |
|
127 |
<tr valign="top" align="left"> |
|
128 |
<td width="10%"></td><td width="90%"> |
|
129 |
Report bugs to <bug-gnu-gettext@gnu.org>.</td></table> |
|
130 |
<a name="COPYRIGHT"></a> |
|
131 |
<h2>COPYRIGHT</h2> |
|
132 |
|
|
133 |
<table width="100%" border=0 rules="none" frame="void" |
|
134 |
cols="2" cellspacing="0" cellpadding="0"> |
|
135 |
<tr valign="top" align="left"> |
|
136 |
<td width="10%"></td><td width="90%"> |
|
137 |
Copyright 2003 Free Software Foundation, Inc.<br> |
|
138 |
This is free software; see the source for copying |
|
139 |
conditions. There is NO warranty; not even for |
|
140 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR |
|
141 |
PURPOSE.</td></table> |
|
142 |
<a name="SEE ALSO"></a> |
|
143 |
<h2>SEE ALSO</h2> |
|
144 |
|
|
145 |
<table width="100%" border=0 rules="none" frame="void" |
|
146 |
cols="2" cellspacing="0" cellpadding="0"> |
|
147 |
<tr valign="top" align="left"> |
|
148 |
<td width="10%"></td><td width="90%"> |
|
149 |
The full documentation for <b>envsubst</b> is maintained as |
|
150 |
a Texinfo manual. If the <b>info</b> and <b>envsubst</b> |
|
151 |
programs are properly installed at your site, the |
|
152 |
command</td></table> |
|
153 |
|
|
154 |
<table width="100%" border=0 rules="none" frame="void" |
|
155 |
cols="2" cellspacing="0" cellpadding="0"> |
|
156 |
<tr valign="top" align="left"> |
|
157 |
<td width="21%"></td><td width="79%"> |
|
158 |
<b>info envsubst</b></td></table> |
|
159 |
|
|
160 |
<table width="100%" border=0 rules="none" frame="void" |
|
161 |
cols="2" cellspacing="0" cellpadding="0"> |
|
162 |
<tr valign="top" align="left"> |
|
163 |
<td width="10%"></td><td width="90%"> |
|
164 |
should give you access to the complete manual.</td></table> |
|
165 |
<hr> |
|
166 |
</body> |
|
167 |
</html> |
|
0 | 168 |
trunk/install/launcher/izpack-launcher-1.3/src/gettext/share/doc/gettext/gettext_6.html | ||
---|---|---|
1 |
<HTML> |
|
2 |
<HEAD> |
|
3 |
<!-- This HTML file has been created by texi2html 1.52a |
|
4 |
from gettext.texi on 9 December 2003 --> |
|
5 |
|
|
6 |
<TITLE>GNU gettext utilities - 6 Updating Existing PO Files</TITLE> |
|
7 |
</HEAD> |
|
8 |
<BODY> |
|
9 |
Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous</A>, <A HREF="gettext_7.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>. |
|
10 |
<P><HR><P> |
|
11 |
|
|
12 |
|
|
13 |
<H1><A NAME="SEC39" HREF="gettext_toc.html#TOC39">6 Updating Existing PO Files</A></H1> |
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
<H2><A NAME="SEC40" HREF="gettext_toc.html#TOC40">6.1 Invoking the <CODE>msgmerge</CODE> Program</A></H2> |
|
18 |
|
|
19 |
<P> |
|
20 |
<A NAME="IDX290"></A> |
|
21 |
<A NAME="IDX291"></A> |
|
22 |
|
|
23 |
<PRE> |
|
24 |
msgmerge [<VAR>option</VAR>] <VAR>def</VAR>.po <VAR>ref</VAR>.pot |
|
25 |
</PRE> |
|
26 |
|
|
27 |
<P> |
|
28 |
The <CODE>msgmerge</CODE> program merges two Uniforum style .po files together. |
|
29 |
The <VAR>def</VAR>.po file is an existing PO file with translations which will |
|
30 |
be taken over to the newly created file as long as they still match; |
|
31 |
comments will be preserved, but extracted comments and file positions will |
|
32 |
be discarded. The <VAR>ref</VAR>.pot file is the last created PO file with |
|
33 |
up-to-date source references but old translations, or a PO Template file |
|
34 |
(generally created by <CODE>xgettext</CODE>); any translations or comments |
|
35 |
in the file will be discarded, however dot comments and file positions |
|
36 |
will be preserved. Where an exact match cannot be found, fuzzy matching |
|
37 |
is used to produce better results. |
|
38 |
|
|
39 |
</P> |
|
40 |
|
|
41 |
|
|
42 |
<H3><A NAME="SEC41" HREF="gettext_toc.html#TOC41">6.1.1 Input file location</A></H3> |
|
43 |
|
|
44 |
<DL COMPACT> |
|
45 |
|
|
46 |
<DT><SAMP>`<VAR>def</VAR>.po´</SAMP> |
|
47 |
<DD> |
|
48 |
Translations referring to old sources. |
|
49 |
|
|
50 |
<DT><SAMP>`<VAR>ref</VAR>.pot´</SAMP> |
|
51 |
<DD> |
|
52 |
References to the new sources. |
|
53 |
|
|
54 |
<DT><SAMP>`-D <VAR>directory</VAR>´</SAMP> |
|
55 |
<DD> |
|
56 |
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP> |
|
57 |
<DD> |
|
58 |
<A NAME="IDX292"></A> |
|
59 |
<A NAME="IDX293"></A> |
|
60 |
Add <VAR>directory</VAR> to the list of directories. Source files are |
|
61 |
searched relative to this list of directories. The resulting <TT>`.po´</TT> |
|
62 |
file will be written relative to the current directory, though. |
|
63 |
|
|
64 |
<DT><SAMP>`-C <VAR>file</VAR>´</SAMP> |
|
65 |
<DD> |
|
66 |
<DT><SAMP>`--compendium=<VAR>file</VAR>´</SAMP> |
|
67 |
<DD> |
|
68 |
<A NAME="IDX294"></A> |
|
69 |
<A NAME="IDX295"></A> |
|
70 |
Specify an additional library of message translations. See section <A HREF="gettext_6.html#SEC58">6.11 Using Translation Compendia</A>. |
|
71 |
This option may be specified more than once. |
|
72 |
|
|
73 |
</DL> |
|
74 |
|
|
75 |
|
|
76 |
|
|
77 |
<H3><A NAME="SEC42" HREF="gettext_toc.html#TOC42">6.1.2 Operation mode</A></H3> |
|
78 |
|
|
79 |
<DL COMPACT> |
|
80 |
|
|
81 |
<DT><SAMP>`-U´</SAMP> |
|
82 |
<DD> |
|
83 |
<DT><SAMP>`--update´</SAMP> |
|
84 |
<DD> |
|
85 |
<A NAME="IDX296"></A> |
|
86 |
<A NAME="IDX297"></A> |
|
87 |
Update <VAR>def</VAR>.po. Do nothing if <VAR>def</VAR>.po is already up to date. |
|
88 |
|
|
89 |
</DL> |
|
90 |
|
|
91 |
|
|
92 |
|
|
93 |
<H3><A NAME="SEC43" HREF="gettext_toc.html#TOC43">6.1.3 Output file location</A></H3> |
|
94 |
|
|
95 |
<DL COMPACT> |
|
96 |
|
|
97 |
<DT><SAMP>`-o <VAR>file</VAR>´</SAMP> |
|
98 |
<DD> |
|
99 |
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP> |
|
100 |
<DD> |
|
101 |
<A NAME="IDX298"></A> |
|
102 |
<A NAME="IDX299"></A> |
|
103 |
Write output to specified file. |
|
104 |
|
|
105 |
</DL> |
|
106 |
|
|
107 |
<P> |
|
108 |
<A NAME="IDX300"></A> |
|
109 |
The results are written to standard output if no output file is specified |
|
110 |
or if it is <SAMP>`-´</SAMP>. |
|
111 |
|
|
112 |
</P> |
|
113 |
|
|
114 |
|
|
115 |
<H3><A NAME="SEC44" HREF="gettext_toc.html#TOC44">6.1.4 Output file location in update mode</A></H3> |
|
116 |
|
|
117 |
<P> |
|
118 |
The result is written back to <VAR>def</VAR>.po. |
|
119 |
|
|
120 |
</P> |
|
121 |
<DL COMPACT> |
|
122 |
|
|
123 |
<DT><SAMP>`--backup=<VAR>control</VAR>´</SAMP> |
|
124 |
<DD> |
|
125 |
<A NAME="IDX301"></A> |
|
126 |
<A NAME="IDX302"></A> |
|
127 |
Make a backup of <VAR>def</VAR>.po |
|
128 |
|
|
129 |
<DT><SAMP>`--suffix=<VAR>suffix</VAR>´</SAMP> |
|
130 |
<DD> |
|
131 |
<A NAME="IDX303"></A> |
|
132 |
Override the usual backup suffix. |
|
133 |
|
|
134 |
</DL> |
|
135 |
|
|
136 |
<P> |
|
137 |
<A NAME="IDX304"></A> |
|
138 |
The version control method may be selected via the <CODE>--backup</CODE> option |
|
139 |
or through the <CODE>VERSION_CONTROL</CODE> environment variable. Here are the |
|
140 |
values: |
|
141 |
|
|
142 |
</P> |
|
143 |
<DL COMPACT> |
|
144 |
|
|
145 |
<DT><SAMP>`none´</SAMP> |
|
146 |
<DD> |
|
147 |
<DT><SAMP>`off´</SAMP> |
|
148 |
<DD> |
|
149 |
Never make backups (even if <CODE>--backup</CODE> is given). |
|
150 |
|
|
151 |
<DT><SAMP>`numbered´</SAMP> |
|
152 |
<DD> |
|
153 |
<DT><SAMP>`t´</SAMP> |
|
154 |
<DD> |
|
155 |
Make numbered backups. |
|
156 |
|
|
157 |
<DT><SAMP>`existing´</SAMP> |
|
158 |
<DD> |
|
159 |
<DT><SAMP>`nil´</SAMP> |
|
160 |
<DD> |
|
161 |
Make numbered backups if numbered backups for this file already exist, |
|
162 |
otherwise make simple backups. |
|
163 |
|
|
164 |
<DT><SAMP>`simple´</SAMP> |
|
165 |
<DD> |
|
166 |
<DT><SAMP>`never´</SAMP> |
|
167 |
<DD> |
|
168 |
Always make simple backups. |
|
169 |
|
|
170 |
</DL> |
|
171 |
|
|
172 |
<P> |
|
173 |
The backup suffix is <SAMP>`~´</SAMP>, unless set with <CODE>--suffix</CODE> or the |
|
174 |
<CODE>SIMPLE_BACKUP_SUFFIX</CODE> environment variable. |
|
175 |
|
|
176 |
</P> |
|
177 |
|
|
178 |
|
|
179 |
<H3><A NAME="SEC45" HREF="gettext_toc.html#TOC45">6.1.5 Operation modifiers</A></H3> |
|
180 |
|
|
181 |
<DL COMPACT> |
|
182 |
|
|
183 |
<DT><SAMP>`-m´</SAMP> |
|
184 |
<DD> |
|
185 |
<DT><SAMP>`--multi-domain´</SAMP> |
|
186 |
<DD> |
|
187 |
<A NAME="IDX305"></A> |
|
188 |
<A NAME="IDX306"></A> |
|
189 |
Apply <VAR>ref</VAR>.pot to each of the domains in <VAR>def</VAR>.po. |
|
190 |
|
|
191 |
<DT><SAMP>`-N´</SAMP> |
|
192 |
<DD> |
|
193 |
<DT><SAMP>`--no-fuzzy-matching´</SAMP> |
|
194 |
<DD> |
|
195 |
<A NAME="IDX307"></A> |
|
196 |
<A NAME="IDX308"></A> |
|
197 |
Do not use fuzzy matching when an exact match is not found. This may speed |
|
198 |
up the operation considerably. |
|
199 |
</DL> |
|
200 |
|
|
201 |
|
|
202 |
|
|
203 |
<H3><A NAME="SEC46" HREF="gettext_toc.html#TOC46">6.1.6 Input file syntax</A></H3> |
|
204 |
|
|
205 |
<DL COMPACT> |
|
206 |
|
|
207 |
<DT><SAMP>`-P´</SAMP> |
|
208 |
<DD> |
|
209 |
<DT><SAMP>`--properties-input´</SAMP> |
|
210 |
<DD> |
|
211 |
<A NAME="IDX309"></A> |
|
212 |
<A NAME="IDX310"></A> |
|
213 |
Assume the input files are Java ResourceBundles in Java <CODE>.properties</CODE> |
|
214 |
syntax, not in PO file syntax. |
|
215 |
|
|
216 |
<DT><SAMP>`--stringtable-input´</SAMP> |
|
217 |
<DD> |
|
218 |
<A NAME="IDX311"></A> |
|
219 |
Assume the input files are NeXTstep/GNUstep localized resource files in |
|
220 |
<CODE>.strings</CODE> syntax, not in PO file syntax. |
|
221 |
|
|
222 |
</DL> |
|
223 |
|
|
224 |
|
|
225 |
|
|
226 |
<H3><A NAME="SEC47" HREF="gettext_toc.html#TOC47">6.1.7 Output details</A></H3> |
|
227 |
|
|
228 |
<DL COMPACT> |
|
229 |
|
|
230 |
<DT><SAMP>`--force-po´</SAMP> |
|
231 |
<DD> |
|
232 |
<A NAME="IDX312"></A> |
|
233 |
Always write an output file even if it contains no message. |
|
234 |
|
|
235 |
<DT><SAMP>`-i´</SAMP> |
|
236 |
<DD> |
|
237 |
<DT><SAMP>`--indent´</SAMP> |
|
238 |
<DD> |
|
239 |
<A NAME="IDX313"></A> |
|
240 |
<A NAME="IDX314"></A> |
|
241 |
Write the .po file using indented style. |
|
242 |
|
|
243 |
<DT><SAMP>`--no-location´</SAMP> |
|
244 |
<DD> |
|
245 |
<A NAME="IDX315"></A> |
|
246 |
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines. |
|
247 |
|
|
248 |
<DT><SAMP>`--add-location´</SAMP> |
|
249 |
<DD> |
|
250 |
<A NAME="IDX316"></A> |
|
251 |
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines (default). |
|
252 |
|
|
253 |
<DT><SAMP>`--strict´</SAMP> |
|
254 |
<DD> |
|
255 |
<A NAME="IDX317"></A> |
|
256 |
Write out a strict Uniforum conforming PO file. Note that this |
|
257 |
Uniforum format should be avoided because it doesn't support the |
|
258 |
GNU extensions. |
|
259 |
|
|
260 |
<DT><SAMP>`-p´</SAMP> |
|
261 |
<DD> |
|
262 |
<DT><SAMP>`--properties-output´</SAMP> |
|
263 |
<DD> |
|
264 |
<A NAME="IDX318"></A> |
|
265 |
<A NAME="IDX319"></A> |
|
266 |
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note |
|
267 |
that this file format doesn't support plural forms and silently drops |
|
268 |
obsolete messages. |
|
269 |
|
|
270 |
<DT><SAMP>`--stringtable-output´</SAMP> |
|
271 |
<DD> |
|
272 |
<A NAME="IDX320"></A> |
|
273 |
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax. |
|
274 |
Note that this file format doesn't support plural forms. |
|
275 |
|
|
276 |
<DT><SAMP>`-w <VAR>number</VAR>´</SAMP> |
|
277 |
<DD> |
|
278 |
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP> |
|
279 |
<DD> |
|
280 |
<A NAME="IDX321"></A> |
|
281 |
<A NAME="IDX322"></A> |
|
282 |
Set the output page width. Long strings in the output files will be |
|
283 |
split across multiple lines in order to ensure that each line's width |
|
284 |
(= number of screen columns) is less or equal to the given <VAR>number</VAR>. |
|
285 |
|
|
286 |
<DT><SAMP>`--no-wrap´</SAMP> |
|
287 |
<DD> |
|
288 |
<A NAME="IDX323"></A> |
|
289 |
Do not break long message lines. Message lines whose width exceeds the |
|
290 |
output page width will not be split into several lines. Only file reference |
|
291 |
lines which are wider than the output page width will be split. |
|
292 |
|
|
293 |
<DT><SAMP>`-s´</SAMP> |
|
294 |
<DD> |
|
295 |
<DT><SAMP>`--sort-output´</SAMP> |
|
296 |
<DD> |
|
297 |
<A NAME="IDX324"></A> |
|
298 |
<A NAME="IDX325"></A> |
|
299 |
<A NAME="IDX326"></A> |
|
300 |
Generate sorted output. Note that using this option makes it much harder |
|
301 |
for the translator to understand each message's context. |
|
302 |
|
|
303 |
<DT><SAMP>`-F´</SAMP> |
|
304 |
<DD> |
|
305 |
<DT><SAMP>`--sort-by-file´</SAMP> |
|
306 |
<DD> |
|
307 |
<A NAME="IDX327"></A> |
|
308 |
<A NAME="IDX328"></A> |
|
309 |
Sort output by file location. |
|
310 |
|
|
311 |
</DL> |
|
312 |
|
|
313 |
|
|
314 |
|
|
315 |
<H3><A NAME="SEC48" HREF="gettext_toc.html#TOC48">6.1.8 Informative output</A></H3> |
|
316 |
|
|
317 |
<DL COMPACT> |
|
318 |
|
|
319 |
<DT><SAMP>`-h´</SAMP> |
|
320 |
<DD> |
|
321 |
<DT><SAMP>`--help´</SAMP> |
|
322 |
<DD> |
|
323 |
<A NAME="IDX329"></A> |
|
324 |
<A NAME="IDX330"></A> |
|
325 |
Display this help and exit. |
|
326 |
|
|
327 |
<DT><SAMP>`-V´</SAMP> |
|
328 |
<DD> |
|
329 |
<DT><SAMP>`--version´</SAMP> |
|
330 |
<DD> |
|
331 |
<A NAME="IDX331"></A> |
|
332 |
<A NAME="IDX332"></A> |
|
333 |
Output version information and exit. |
|
334 |
|
|
335 |
<DT><SAMP>`-v´</SAMP> |
|
336 |
<DD> |
|
337 |
<DT><SAMP>`--verbose´</SAMP> |
|
338 |
<DD> |
|
339 |
<A NAME="IDX333"></A> |
|
340 |
<A NAME="IDX334"></A> |
|
341 |
Increase verbosity level. |
|
342 |
|
|
343 |
<DT><SAMP>`-q´</SAMP> |
|
344 |
<DD> |
|
345 |
<DT><SAMP>`--quiet´</SAMP> |
|
346 |
<DD> |
|
347 |
<DT><SAMP>`--silent´</SAMP> |
|
348 |
<DD> |
|
349 |
<A NAME="IDX335"></A> |
|
350 |
<A NAME="IDX336"></A> |
|
351 |
<A NAME="IDX337"></A> |
|
352 |
Suppress progress indicators. |
|
353 |
|
|
354 |
</DL> |
|
355 |
|
|
356 |
|
|
357 |
|
|
358 |
<H2><A NAME="SEC49" HREF="gettext_toc.html#TOC49">6.2 Translated Entries</A></H2> |
|
359 |
<P> |
|
360 |
<A NAME="IDX338"></A> |
|
361 |
|
|
362 |
</P> |
|
363 |
<P> |
|
364 |
Each PO file entry for which the <CODE>msgstr</CODE> field has been filled with |
|
365 |
a translation, and which is not marked as fuzzy (see section <A HREF="gettext_6.html#SEC50">6.3 Fuzzy Entries</A>), |
|
366 |
is said to be a <EM>translated</EM> entry. Only translated entries will |
|
367 |
later be compiled by GNU <CODE>msgfmt</CODE> and become usable in programs. |
|
368 |
Other entry types will be excluded; translation will not occur for them. |
|
369 |
|
|
370 |
</P> |
|
371 |
<P> |
|
372 |
<A NAME="IDX339"></A> |
|
373 |
Some commands are more specifically related to translated entry processing. |
|
374 |
|
|
375 |
</P> |
|
376 |
<DL COMPACT> |
|
377 |
|
|
378 |
<DT><KBD>t</KBD> |
|
379 |
<DD> |
|
380 |
<A NAME="IDX340"></A> |
|
381 |
Find the next translated entry (<CODE>po-next-translated-entry</CODE>). |
|
382 |
|
|
383 |
<DT><KBD>T</KBD> |
|
384 |
<DD> |
|
385 |
<A NAME="IDX341"></A> |
|
386 |
Find the previous translated entry (<CODE>po-previous-translated-entry</CODE>). |
|
387 |
|
|
388 |
</DL> |
|
389 |
|
|
390 |
<P> |
|
391 |
<A NAME="IDX342"></A> |
|
392 |
<A NAME="IDX343"></A> |
|
393 |
<A NAME="IDX344"></A> |
|
394 |
<A NAME="IDX345"></A> |
|
395 |
The commands <KBD>t</KBD> (<CODE>po-next-translated-entry</CODE>) and <KBD>T</KBD> |
|
396 |
(<CODE>po-previous-translated-entry</CODE>) move forwards or backwards, chasing |
|
397 |
for an translated entry. If none is found, the search is extended and |
|
398 |
wraps around in the PO file buffer. |
|
399 |
|
|
400 |
</P> |
|
401 |
<P> |
|
402 |
<A NAME="IDX346"></A> |
|
403 |
Translated entries usually result from the translator having edited in |
|
404 |
a translation for them, section <A HREF="gettext_6.html#SEC53">6.6 Modifying Translations</A>. However, if the |
|
405 |
variable <CODE>po-auto-fuzzy-on-edit</CODE> is not <CODE>nil</CODE>, the entry having |
|
406 |
received a new translation first becomes a fuzzy entry, which ought to |
|
407 |
be later unfuzzied before becoming an official, genuine translated entry. |
|
408 |
See section <A HREF="gettext_6.html#SEC50">6.3 Fuzzy Entries</A>. |
|
409 |
|
|
410 |
</P> |
|
411 |
|
|
412 |
|
|
413 |
<H2><A NAME="SEC50" HREF="gettext_toc.html#TOC50">6.3 Fuzzy Entries</A></H2> |
|
414 |
<P> |
|
415 |
<A NAME="IDX347"></A> |
|
416 |
|
|
417 |
</P> |
|
418 |
<P> |
|
419 |
<A NAME="IDX348"></A> |
|
420 |
<A NAME="IDX349"></A> |
|
421 |
Each PO file entry may have a set of <EM>attributes</EM>, which are |
|
422 |
qualities given a name and explicitly associated with the translation, |
|
423 |
using a special system comment. One of these attributes |
|
424 |
has the name <CODE>fuzzy</CODE>, and entries having this attribute are said |
|
425 |
to have a fuzzy translation. They are called fuzzy entries, for short. |
|
426 |
|
|
427 |
</P> |
|
428 |
<P> |
|
429 |
Fuzzy entries, even if they account for translated entries for |
|
430 |
most other purposes, usually call for revision by the translator. |
|
431 |
Those may be produced by applying the program <CODE>msgmerge</CODE> to |
|
432 |
update an older translated PO files according to a new PO template |
|
433 |
file, when this tool hypothesises that some new <CODE>msgid</CODE> has |
|
434 |
been modified only slightly out of an older one, and chooses to pair |
|
435 |
what it thinks to be the old translation for the new modified entry. |
|
436 |
The slight alteration in the original string (the <CODE>msgid</CODE> string) |
|
437 |
should often be reflected in the translated string, and this requires |
|
438 |
the intervention of the translator. For this reason, <CODE>msgmerge</CODE> |
|
439 |
might mark some entries as being fuzzy. |
|
440 |
|
|
441 |
</P> |
|
442 |
<P> |
|
443 |
<A NAME="IDX350"></A> |
|
444 |
Also, the translator may decide herself to mark an entry as fuzzy |
|
445 |
for her own convenience, when she wants to remember that the entry |
|
446 |
has to be later revisited. So, some commands are more specifically |
|
447 |
related to fuzzy entry processing. |
|
448 |
|
|
449 |
</P> |
|
450 |
<DL COMPACT> |
|
451 |
|
|
452 |
<DT><KBD>z</KBD> |
|
453 |
<DD> |
|
454 |
<A NAME="IDX351"></A> |
|
455 |
Find the next fuzzy entry (<CODE>po-next-fuzzy-entry</CODE>). |
|
456 |
|
|
457 |
<DT><KBD>Z</KBD> |
|
458 |
<DD> |
|
459 |
<A NAME="IDX352"></A> |
|
460 |
Find the previous fuzzy entry (<CODE>po-previous-fuzzy-entry</CODE>). |
|
461 |
|
|
462 |
<DT><KBD><KBD>TAB</KBD></KBD> |
|
463 |
<DD> |
|
464 |
<A NAME="IDX353"></A> |
|
465 |
Remove the fuzzy attribute of the current entry (<CODE>po-unfuzzy</CODE>). |
|
466 |
|
|
467 |
</DL> |
|
468 |
|
|
469 |
<P> |
|
470 |
<A NAME="IDX354"></A> |
|
471 |
<A NAME="IDX355"></A> |
|
472 |
<A NAME="IDX356"></A> |
|
473 |
<A NAME="IDX357"></A> |
|
474 |
The commands <KBD>z</KBD> (<CODE>po-next-fuzzy-entry</CODE>) and <KBD>Z</KBD> |
|
475 |
(<CODE>po-previous-fuzzy-entry</CODE>) move forwards or backwards, chasing for |
|
476 |
a fuzzy entry. If none is found, the search is extended and wraps |
|
477 |
around in the PO file buffer. |
|
478 |
|
|
479 |
</P> |
|
480 |
<P> |
|
481 |
<A NAME="IDX358"></A> |
|
482 |
<A NAME="IDX359"></A> |
|
483 |
<A NAME="IDX360"></A> |
|
484 |
The command <KBD><KBD>TAB</KBD></KBD> (<CODE>po-unfuzzy</CODE>) removes the fuzzy |
|
485 |
attribute associated with an entry, usually leaving it translated. |
|
486 |
Further, if the variable <CODE>po-auto-select-on-unfuzzy</CODE> has not |
|
487 |
the <CODE>nil</CODE> value, the <KBD><KBD>TAB</KBD></KBD> command will automatically chase |
|
488 |
for another interesting entry to work on. The initial value of |
|
489 |
<CODE>po-auto-select-on-unfuzzy</CODE> is <CODE>nil</CODE>. |
|
490 |
|
|
491 |
</P> |
|
492 |
<P> |
|
493 |
The initial value of <CODE>po-auto-fuzzy-on-edit</CODE> is <CODE>nil</CODE>. However, |
|
494 |
if the variable <CODE>po-auto-fuzzy-on-edit</CODE> is set to <CODE>t</CODE>, any entry |
|
495 |
edited through the <KBD><KBD>RET</KBD></KBD> command is marked fuzzy, as a way to |
|
496 |
ensure some kind of double check, later. In this case, the usual paradigm |
|
497 |
is that an entry becomes fuzzy (if not already) whenever the translator |
|
498 |
modifies it. If she is satisfied with the translation, she then uses |
|
499 |
<KBD><KBD>TAB</KBD></KBD> to pick another entry to work on, clearing the fuzzy attribute |
|
500 |
on the same blow. If she is not satisfied yet, she merely uses <KBD><KBD>SPC</KBD></KBD> |
|
501 |
to chase another entry, leaving the entry fuzzy. |
|
502 |
|
|
503 |
</P> |
|
504 |
<P> |
|
505 |
<A NAME="IDX361"></A> |
|
506 |
<A NAME="IDX362"></A> |
|
507 |
The translator may also use the <KBD><KBD>DEL</KBD></KBD> command |
|
508 |
(<CODE>po-fade-out-entry</CODE>) over any translated entry to mark it as being |
|
509 |
fuzzy, when she wants to easily leave a trace she wants to later return |
|
510 |
working at this entry. |
|
511 |
|
|
512 |
</P> |
|
513 |
<P> |
|
514 |
Also, when time comes to quit working on a PO file buffer with the <KBD>q</KBD> |
|
515 |
command, the translator is asked for confirmation, if fuzzy string |
|
516 |
still exists. |
|
517 |
|
|
518 |
</P> |
|
519 |
|
|
520 |
|
|
521 |
<H2><A NAME="SEC51" HREF="gettext_toc.html#TOC51">6.4 Untranslated Entries</A></H2> |
|
522 |
<P> |
|
523 |
<A NAME="IDX363"></A> |
|
524 |
|
|
525 |
</P> |
|
526 |
<P> |
|
527 |
When <CODE>xgettext</CODE> originally creates a PO file, unless told |
|
528 |
otherwise, it initializes the <CODE>msgid</CODE> field with the untranslated |
|
529 |
string, and leaves the <CODE>msgstr</CODE> string to be empty. Such entries, |
|
530 |
having an empty translation, are said to be <EM>untranslated</EM> entries. |
|
531 |
Later, when the programmer slightly modifies some string right in |
|
532 |
the program, this change is later reflected in the PO file |
|
533 |
by the appearance of a new untranslated entry for the modified string. |
|
534 |
|
|
535 |
</P> |
|
536 |
<P> |
|
537 |
The usual commands moving from entry to entry consider untranslated |
|
538 |
entries on the same level as active entries. Untranslated entries |
|
539 |
are easily recognizable by the fact they end with <SAMP>`msgstr ""´</SAMP>. |
|
540 |
|
|
541 |
</P> |
|
542 |
<P> |
|
543 |
<A NAME="IDX364"></A> |
|
544 |
The work of the translator might be (quite naively) seen as the process |
|
545 |
of seeking for an untranslated entry, editing a translation for |
|
546 |
it, and repeating these actions until no untranslated entries remain. |
|
547 |
Some commands are more specifically related to untranslated entry |
|
548 |
processing. |
|
549 |
|
|
550 |
</P> |
|
551 |
<DL COMPACT> |
|
552 |
|
|
553 |
<DT><KBD>u</KBD> |
|
554 |
<DD> |
|
555 |
<A NAME="IDX365"></A> |
|
556 |
Find the next untranslated entry (<CODE>po-next-untranslated-entry</CODE>). |
|
557 |
|
|
558 |
<DT><KBD>U</KBD> |
|
559 |
<DD> |
|
560 |
<A NAME="IDX366"></A> |
|
561 |
Find the previous untranslated entry (<CODE>po-previous-untransted-entry</CODE>). |
|
562 |
|
|
563 |
<DT><KBD>k</KBD> |
|
564 |
<DD> |
|
565 |
<A NAME="IDX367"></A> |
|
566 |
Turn the current entry into an untranslated one (<CODE>po-kill-msgstr</CODE>). |
|
567 |
|
|
568 |
</DL> |
|
569 |
|
|
570 |
<P> |
|
571 |
<A NAME="IDX368"></A> |
|
572 |
<A NAME="IDX369"></A> |
|
573 |
<A NAME="IDX370"></A> |
|
574 |
<A NAME="IDX371"></A> |
|
575 |
The commands <KBD>u</KBD> (<CODE>po-next-untranslated-entry</CODE>) and <KBD>U</KBD> |
|
576 |
(<CODE>po-previous-untransted-entry</CODE>) move forwards or backwards, |
|
577 |
chasing for an untranslated entry. If none is found, the search is |
|
578 |
extended and wraps around in the PO file buffer. |
|
579 |
|
|
580 |
</P> |
|
581 |
<P> |
|
582 |
<A NAME="IDX372"></A> |
|
583 |
<A NAME="IDX373"></A> |
|
584 |
An entry can be turned back into an untranslated entry by |
|
585 |
merely emptying its translation, using the command <KBD>k</KBD> |
|
586 |
(<CODE>po-kill-msgstr</CODE>). See section <A HREF="gettext_6.html#SEC53">6.6 Modifying Translations</A>. |
|
587 |
|
|
588 |
</P> |
|
589 |
<P> |
|
590 |
Also, when time comes to quit working on a PO file buffer |
|
591 |
with the <KBD>q</KBD> command, the translator is asked for confirmation, |
|
592 |
if some untranslated string still exists. |
|
593 |
|
|
594 |
</P> |
|
595 |
|
|
596 |
|
|
597 |
<H2><A NAME="SEC52" HREF="gettext_toc.html#TOC52">6.5 Obsolete Entries</A></H2> |
|
598 |
<P> |
|
599 |
<A NAME="IDX374"></A> |
|
600 |
|
|
601 |
</P> |
|
602 |
<P> |
|
603 |
By <EM>obsolete</EM> PO file entries, we mean those entries which are |
|
604 |
commented out, usually by <CODE>msgmerge</CODE> when it found that the |
|
605 |
translation is not needed anymore by the package being localized. |
|
606 |
|
|
607 |
</P> |
|
608 |
<P> |
|
609 |
The usual commands moving from entry to entry consider obsolete |
|
610 |
entries on the same level as active entries. Obsolete entries are |
|
611 |
easily recognizable by the fact that all their lines start with |
|
612 |
<CODE>#</CODE>, even those lines containing <CODE>msgid</CODE> or <CODE>msgstr</CODE>. |
|
613 |
|
|
614 |
</P> |
|
615 |
<P> |
|
616 |
Commands exist for emptying the translation or reinitializing it |
|
617 |
to the original untranslated string. Commands interfacing with the |
|
618 |
kill ring may force some previously saved text into the translation. |
|
619 |
The user may interactively edit the translation. All these commands |
|
620 |
may apply to obsolete entries, carefully leaving the entry obsolete |
|
621 |
after the fact. |
|
622 |
|
|
623 |
</P> |
|
624 |
<P> |
|
625 |
<A NAME="IDX375"></A> |
|
626 |
Moreover, some commands are more specifically related to obsolete |
|
627 |
entry processing. |
|
628 |
|
|
629 |
</P> |
|
630 |
<DL COMPACT> |
|
631 |
|
|
632 |
<DT><KBD>o</KBD> |
|
633 |
<DD> |
|
634 |
<A NAME="IDX376"></A> |
|
635 |
Find the next obsolete entry (<CODE>po-next-obsolete-entry</CODE>). |
|
636 |
|
|
637 |
<DT><KBD>O</KBD> |
|
638 |
<DD> |
|
639 |
<A NAME="IDX377"></A> |
|
640 |
Find the previous obsolete entry (<CODE>po-previous-obsolete-entry</CODE>). |
|
641 |
|
|
642 |
<DT><KBD><KBD>DEL</KBD></KBD> |
|
643 |
<DD> |
|
644 |
<A NAME="IDX378"></A> |
|
645 |
Make an active entry obsolete, or zap out an obsolete entry |
|
646 |
(<CODE>po-fade-out-entry</CODE>). |
|
647 |
|
|
648 |
</DL> |
|
649 |
|
|
650 |
<P> |
|
651 |
<A NAME="IDX379"></A> |
|
652 |
<A NAME="IDX380"></A> |
|
653 |
<A NAME="IDX381"></A> |
|
654 |
<A NAME="IDX382"></A> |
|
655 |
The commands <KBD>o</KBD> (<CODE>po-next-obsolete-entry</CODE>) and <KBD>O</KBD> |
|
656 |
(<CODE>po-previous-obsolete-entry</CODE>) move forwards or backwards, |
|
657 |
chasing for an obsolete entry. If none is found, the search is |
|
658 |
extended and wraps around in the PO file buffer. |
|
659 |
|
|
660 |
</P> |
|
661 |
<P> |
|
662 |
PO mode does not provide ways for un-commenting an obsolete entry |
|
663 |
and making it active, because this would reintroduce an original |
|
664 |
untranslated string which does not correspond to any marked string |
|
665 |
in the program sources. This goes with the philosophy of never |
|
666 |
introducing useless <CODE>msgid</CODE> values. |
|
667 |
|
|
668 |
</P> |
|
669 |
<P> |
|
670 |
<A NAME="IDX383"></A> |
|
671 |
<A NAME="IDX384"></A> |
|
672 |
<A NAME="IDX385"></A> |
|
673 |
<A NAME="IDX386"></A> |
|
674 |
However, it is possible to comment out an active entry, so making |
|
675 |
it obsolete. GNU <CODE>gettext</CODE> utilities will later react to the |
|
676 |
disappearance of a translation by using the untranslated string. |
|
677 |
The command <KBD><KBD>DEL</KBD></KBD> (<CODE>po-fade-out-entry</CODE>) pushes the current entry |
|
678 |
a little further towards annihilation. If the entry is active (it is a |
|
679 |
translated entry), then it is first made fuzzy. If it is already fuzzy, |
|
680 |
then the entry is merely commented out, with confirmation. If the entry |
|
681 |
is already obsolete, then it is completely deleted from the PO file. |
|
682 |
It is easy to recycle the translation so deleted into some other PO file |
|
683 |
entry, usually one which is untranslated. See section <A HREF="gettext_6.html#SEC53">6.6 Modifying Translations</A>. |
|
684 |
|
|
685 |
</P> |
|
686 |
<P> |
|
687 |
Here is a quite interesting problem to solve for later development of |
|
688 |
PO mode, for those nights you are not sleepy. The idea would be that |
|
689 |
PO mode might become bright enough, one of these days, to make good |
|
690 |
guesses at retrieving the most probable candidate, among all obsolete |
|
691 |
entries, for initializing the translation of a newly appeared string. |
|
692 |
I think it might be a quite hard problem to do this algorithmically, as |
|
693 |
we have to develop good and efficient measures of string similarity. |
|
694 |
Right now, PO mode completely lets the decision to the translator, |
|
695 |
when the time comes to find the adequate obsolete translation, it |
|
696 |
merely tries to provide handy tools for helping her to do so. |
|
697 |
|
|
698 |
</P> |
|
699 |
|
|
700 |
|
|
701 |
<H2><A NAME="SEC53" HREF="gettext_toc.html#TOC53">6.6 Modifying Translations</A></H2> |
|
702 |
<P> |
|
703 |
<A NAME="IDX387"></A> |
|
704 |
<A NAME="IDX388"></A> |
|
705 |
|
|
706 |
</P> |
|
707 |
<P> |
|
708 |
PO mode prevents direct modification of the PO file, by the usual |
|
709 |
means Emacs gives for altering a buffer's contents. By doing so, |
|
710 |
it pretends helping the translator to avoid little clerical errors |
|
711 |
about the overall file format, or the proper quoting of strings, |
|
712 |
as those errors would be easily made. Other kinds of errors are |
|
713 |
still possible, but some may be caught and diagnosed by the batch |
|
714 |
validation process, which the translator may always trigger by the |
|
715 |
<KBD>V</KBD> command. For all other errors, the translator has to rely on |
|
716 |
her own judgment, and also on the linguistic reports submitted to her |
|
717 |
by the users of the translated package, having the same mother tongue. |
|
718 |
|
|
719 |
</P> |
|
720 |
<P> |
|
721 |
When the time comes to create a translation, correct an error diagnosed |
|
722 |
mechanically or reported by a user, the translators have to resort to |
|
723 |
using the following commands for modifying the translations. |
|
724 |
|
|
725 |
</P> |
|
726 |
<DL COMPACT> |
|
727 |
|
|
728 |
<DT><KBD><KBD>RET</KBD></KBD> |
|
729 |
<DD> |
|
730 |
<A NAME="IDX389"></A> |
|
731 |
Interactively edit the translation (<CODE>po-edit-msgstr</CODE>). |
|
732 |
|
|
733 |
<DT><KBD><KBD>LFD</KBD></KBD> |
|
734 |
<DD> |
|
735 |
<DT><KBD>C-j</KBD> |
|
736 |
<DD> |
|
737 |
<A NAME="IDX390"></A> |
|
738 |
<A NAME="IDX391"></A> |
|
739 |
Reinitialize the translation with the original, untranslated string |
|
740 |
(<CODE>po-msgid-to-msgstr</CODE>). |
|
741 |
|
|
742 |
<DT><KBD>k</KBD> |
|
743 |
<DD> |
|
744 |
<A NAME="IDX392"></A> |
|
745 |
Save the translation on the kill ring, and delete it (<CODE>po-kill-msgstr</CODE>). |
|
746 |
|
|
747 |
<DT><KBD>w</KBD> |
|
748 |
<DD> |
|
749 |
<A NAME="IDX393"></A> |
|
750 |
Save the translation on the kill ring, without deleting it |
|
751 |
(<CODE>po-kill-ring-save-msgstr</CODE>). |
|
752 |
|
|
753 |
<DT><KBD>y</KBD> |
|
754 |
<DD> |
|
755 |
<A NAME="IDX394"></A> |
|
756 |
Replace the translation, taking the new from the kill ring |
|
757 |
(<CODE>po-yank-msgstr</CODE>). |
|
758 |
|
|
759 |
</DL> |
|
760 |
|
|
761 |
<P> |
|
762 |
<A NAME="IDX395"></A> |
|
763 |
<A NAME="IDX396"></A> |
|
764 |
The command <KBD><KBD>RET</KBD></KBD> (<CODE>po-edit-msgstr</CODE>) opens a new Emacs |
|
765 |
window meant to edit in a new translation, or to modify an already existing |
|
766 |
translation. The new window contains a copy of the translation taken from |
|
767 |
the current PO file entry, all ready for edition, expunged of all quoting |
|
768 |
marks, fully modifiable and with the complete extent of Emacs modifying |
|
769 |
commands. When the translator is done with her modifications, she may use |
|
770 |
<KBD>C-c C-c</KBD> to close the subedit window with the automatically requoted |
|
771 |
results, or <KBD>C-c C-k</KBD> to abort her modifications. See section <A HREF="gettext_6.html#SEC55">6.8 Details of Sub Edition</A>, |
|
772 |
for more information. |
|
773 |
|
|
774 |
</P> |
|
775 |
<P> |
|
776 |
<A NAME="IDX397"></A> |
|
777 |
<A NAME="IDX398"></A> |
|
778 |
<A NAME="IDX399"></A> |
|
779 |
The command <KBD><KBD>LFD</KBD></KBD> (<CODE>po-msgid-to-msgstr</CODE>) initializes, or |
|
780 |
reinitializes the translation with the original string. This command is |
|
781 |
normally used when the translator wants to redo a fresh translation of |
|
782 |
the original string, disregarding any previous work. |
|
783 |
|
|
784 |
</P> |
|
785 |
<P> |
|
786 |
<A NAME="IDX400"></A> |
|
787 |
It is possible to arrange so, whenever editing an untranslated |
|
788 |
entry, the <KBD><KBD>LFD</KBD></KBD> command be automatically executed. If you set |
|
789 |
<CODE>po-auto-edit-with-msgid</CODE> to <CODE>t</CODE>, the translation gets |
|
790 |
initialised with the original string, in case none exists already. |
|
791 |
The default value for <CODE>po-auto-edit-with-msgid</CODE> is <CODE>nil</CODE>. |
|
792 |
|
|
793 |
</P> |
|
794 |
<P> |
|
795 |
<A NAME="IDX401"></A> |
|
796 |
In fact, whether it is best to start a translation with an empty |
|
797 |
string, or rather with a copy of the original string, is a matter of |
|
798 |
taste or habit. Sometimes, the source language and the |
|
799 |
target language are so different that is simply best to start writing |
|
800 |
on an empty page. At other times, the source and target languages |
|
801 |
are so close that it would be a waste to retype a number of words |
|
802 |
already being written in the original string. A translator may also |
|
803 |
like having the original string right under her eyes, as she will |
|
804 |
progressively overwrite the original text with the translation, even |
|
805 |
if this requires some extra editing work to get rid of the original. |
|
806 |
|
|
807 |
</P> |
|
808 |
<P> |
|
809 |
<A NAME="IDX402"></A> |
|
810 |
<A NAME="IDX403"></A> |
|
811 |
<A NAME="IDX404"></A> |
|
812 |
<A NAME="IDX405"></A> |
|
813 |
<A NAME="IDX406"></A> |
|
814 |
The command <KBD>k</KBD> (<CODE>po-kill-msgstr</CODE>) merely empties the |
|
815 |
translation string, so turning the entry into an untranslated |
|
816 |
one. But while doing so, its previous contents is put apart in |
|
817 |
a special place, known as the kill ring. The command <KBD>w</KBD> |
|
818 |
(<CODE>po-kill-ring-save-msgstr</CODE>) has also the effect of taking a |
|
819 |
copy of the translation onto the kill ring, but it otherwise leaves |
|
820 |
the entry alone, and does <EM>not</EM> remove the translation from the |
|
821 |
entry. Both commands use exactly the Emacs kill ring, which is shared |
|
822 |
between buffers, and which is well known already to Emacs lovers. |
|
823 |
|
|
824 |
</P> |
|
825 |
<P> |
|
826 |
The translator may use <KBD>k</KBD> or <KBD>w</KBD> many times in the course |
|
827 |
of her work, as the kill ring may hold several saved translations. |
|
828 |
From the kill ring, strings may later be reinserted in various |
|
829 |
Emacs buffers. In particular, the kill ring may be used for moving |
|
830 |
translation strings between different entries of a single PO file |
|
831 |
buffer, or if the translator is handling many such buffers at once, |
|
832 |
even between PO files. |
Also available in: Unified diff