|
Lines 348-354
if ($action eq 'create') {
Link Here
|
| 348 |
close INPUT; |
348 |
close INPUT; |
| 349 |
close OUTPUT; |
349 |
close OUTPUT; |
| 350 |
} |
350 |
} |
| 351 |
$st = system("msgmerge -U ".($quiet?'-q':'')." -s $str_file $tmpfile2"); |
351 |
$st = system("msgmerge ".($quiet?'-q':'')." -s $str_file $tmpfile2 -o - | msgattrib --no-obsolete -o $str_file"); |
| 352 |
} else { |
352 |
} else { |
| 353 |
error_normal "Text extraction failed: $xgettext: $!\n", undef; |
353 |
error_normal "Text extraction failed: $xgettext: $!\n", undef; |
| 354 |
error_additional "Will not run msgmerge\n", undef; |
354 |
error_additional "Will not run msgmerge\n", undef; |
|
Lines 377-386
if ($action eq 'create') {
Link Here
|
| 377 |
if ( @filenames ) { |
377 |
if ( @filenames ) { |
| 378 |
my ($tmph3, $tmpfile3) = tmpnam(); |
378 |
my ($tmph3, $tmpfile3) = tmpnam(); |
| 379 |
$st = system("msgcat $str_file $tmpfile2 > $tmpfile3"); |
379 |
$st = system("msgcat $str_file $tmpfile2 > $tmpfile3"); |
| 380 |
$st = system("msgmerge -U ".($quiet?'-q':'')." -s $str_file $tmpfile3") |
380 |
$st = system("msgmerge ".($quiet?'-q':'')." -s $str_file $tmpfile3 -o - | msgattrib --no-obsolete -o $str_file") |
| 381 |
unless $st; |
381 |
unless $st; |
| 382 |
} else { |
382 |
} else { |
| 383 |
$st = system("msgmerge -U ".($quiet?'-q':'')." -s $str_file $tmpfile2"); |
383 |
$st = system("msgmerge ".($quiet?'-q':'')." -s $str_file $tmpfile2 -o - | msgattrib --no-obsolete -o $str_file"); |
| 384 |
} |
384 |
} |
| 385 |
} else { |
385 |
} else { |
| 386 |
error_normal "Text extraction failed: $xgettext: $!\n", undef; |
386 |
error_normal "Text extraction failed: $xgettext: $!\n", undef; |
|
Lines 527-539
Anchors are represented by an <AI<n>> notation.
Link Here
|
| 527 |
The meaning of this non-standard notation might not be obvious. |
527 |
The meaning of this non-standard notation might not be obvious. |
| 528 |
|
528 |
|
| 529 |
The create action calls xgettext.pl to do the actual work; |
529 |
The create action calls xgettext.pl to do the actual work; |
| 530 |
the update action calls xgettext.pl and msgmerge(1) to do the |
530 |
the update action calls xgettext.pl, msgmerge(1) and msgattrib(1) |
| 531 |
actual work. |
531 |
to do the actual work. |
| 532 |
|
532 |
|
| 533 |
=head1 BUGS |
533 |
=head1 BUGS |
| 534 |
|
534 |
|
| 535 |
xgettext.pl must be present in the current directory; the |
535 |
xgettext.pl must be present in the current directory; both |
| 536 |
msgmerge(1) command must also be present in the search path. |
536 |
msgmerge(1) and msgattrib(1) must also be present in the search path. |
| 537 |
The script currently does not check carefully whether these |
537 |
The script currently does not check carefully whether these |
| 538 |
dependent commands are present. |
538 |
dependent commands are present. |
| 539 |
|
539 |
|
| 540 |
- |
|
|