blob: f63edd372a40535423720a6e452187389d6ddbc1 [file] [log] [blame]
#!/usr/bin/perl
if(!$ARGV[0]) {
print <<MOO
Usage: lang.pl <english file> <translated file>
MOO
;
exit;
}
open(ENG, "<$ARGV[0]");
while(<ENG>) {
if($_ =~ / *\#/) {
# comment
next;
}
if($_ =~ / *([a-z]+): *(.*)/) {
($var, $value) = ($1, $2);
# print "$var => $value\n";
$set{$var} = $value;
if($var eq "new") {
# the last one for a single phrase
$all{$set{'id'}, 'desc'}=$set{'desc'};
$all{$set{'id'}, 'eng'}=$set{'eng'};
$ids{$set{'id'}}=1;
undef %set;
}
}
}
close(ENG);
undef %set;
open(NEW, "<$ARGV[1]");
while(<NEW>) {
if($_ =~ / *\#/) {
# comment
next;
}
if($_ =~ / *([a-z]+): *(.*)/) {
($var, $value) = ($1, $2);
$set{$var} = $value;
if($var eq "new") {
# the last one for a single phrase
print "\nid: ".$set{'id'}."\n";
print "desc: ".$set{'desc'}."\n";
if($set{'eng'} ne $all{$set{'id'}, 'eng'}) {
print "### English phrase was changed! Previous translation was made on:\n",
"### ".$set{'eng'}."\n";
$set{'eng'} = $all{$set{'id'}, 'eng'};
}
print "eng: ".$set{'eng'}."\n";
print "new: ".$set{'new'}."\n";
$ids{$set{'id'}}=0;
}
}
}
close(NEW);
# output new phrases not already translated
for(sort keys %ids) {
if($ids{$_}) {
my $id=$_;
print "\nid: $_\n";
print "desc: ".$all{$id, 'desc'}."\n";
print "eng: ".$all{$id, 'eng'}."\n";
print "### Not previously translated\n";
print "new: \n";
}
}