Revision 7940

View differences:

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 &lt;bug-gnu-gettext@gnu.org&gt;.</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 &lt;bug-gnu-gettext@gnu.org&gt;.</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&acute;</SAMP>
47
<DD>
48
Translations referring to old sources.
49

  
50
<DT><SAMP>`<VAR>ref</VAR>.pot&acute;</SAMP>
51
<DD>
52
References to the new sources.
53

  
54
<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
55
<DD>
56
<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</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&acute;</TT>
62
file will be written relative to the current directory, though.
63

  
64
<DT><SAMP>`-C <VAR>file</VAR>&acute;</SAMP>
65
<DD>
66
<DT><SAMP>`--compendium=<VAR>file</VAR>&acute;</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&acute;</SAMP>
82
<DD>
83
<DT><SAMP>`--update&acute;</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>&acute;</SAMP>
98
<DD>
99
<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</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>`-&acute;</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>&acute;</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>&acute;</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&acute;</SAMP>
146
<DD>
147
<DT><SAMP>`off&acute;</SAMP>
148
<DD>
149
Never make backups (even if <CODE>--backup</CODE> is given).
150

  
151
<DT><SAMP>`numbered&acute;</SAMP>
152
<DD>
153
<DT><SAMP>`t&acute;</SAMP>
154
<DD>
155
Make numbered backups.
156

  
157
<DT><SAMP>`existing&acute;</SAMP>
158
<DD>
159
<DT><SAMP>`nil&acute;</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&acute;</SAMP>
165
<DD>
166
<DT><SAMP>`never&acute;</SAMP>
167
<DD>
168
Always make simple backups.
169

  
170
</DL>
171

  
172
<P>
173
The backup suffix is <SAMP>`~&acute;</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&acute;</SAMP>
184
<DD>
185
<DT><SAMP>`--multi-domain&acute;</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&acute;</SAMP>
192
<DD>
193
<DT><SAMP>`--no-fuzzy-matching&acute;</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&acute;</SAMP>
208
<DD>
209
<DT><SAMP>`--properties-input&acute;</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&acute;</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&acute;</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&acute;</SAMP>
236
<DD>
237
<DT><SAMP>`--indent&acute;</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&acute;</SAMP>
244
<DD>
245
<A NAME="IDX315"></A>
246
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
247

  
248
<DT><SAMP>`--add-location&acute;</SAMP>
249
<DD>
250
<A NAME="IDX316"></A>
251
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
252

  
253
<DT><SAMP>`--strict&acute;</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&acute;</SAMP>
261
<DD>
262
<DT><SAMP>`--properties-output&acute;</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&acute;</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>&acute;</SAMP>
277
<DD>
278
<DT><SAMP>`--width=<VAR>number</VAR>&acute;</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&acute;</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&acute;</SAMP>
294
<DD>
295
<DT><SAMP>`--sort-output&acute;</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&acute;</SAMP>
304
<DD>
305
<DT><SAMP>`--sort-by-file&acute;</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&acute;</SAMP>
320
<DD>
321
<DT><SAMP>`--help&acute;</SAMP>
322
<DD>
323
<A NAME="IDX329"></A>
324
<A NAME="IDX330"></A>
325
Display this help and exit.
326

  
327
<DT><SAMP>`-V&acute;</SAMP>
328
<DD>
329
<DT><SAMP>`--version&acute;</SAMP>
330
<DD>
331
<A NAME="IDX331"></A>
332
<A NAME="IDX332"></A>
333
Output version information and exit.
334

  
335
<DT><SAMP>`-v&acute;</SAMP>
336
<DD>
337
<DT><SAMP>`--verbose&acute;</SAMP>
338
<DD>
339
<A NAME="IDX333"></A>
340
<A NAME="IDX334"></A>
341
Increase verbosity level.
342

  
343
<DT><SAMP>`-q&acute;</SAMP>
344
<DD>
345
<DT><SAMP>`--quiet&acute;</SAMP>
346
<DD>
347
<DT><SAMP>`--silent&acute;</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 ""&acute;</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.
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff