forked from len0rd/rockbox
update a .lang file from a .lang "master file"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2302 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
e19f763d79
commit
a07a236c0f
1 changed files with 76 additions and 0 deletions
76
tools/uplang
Executable file
76
tools/uplang
Executable file
|
|
@ -0,0 +1,76 @@
|
||||||
|
#!/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";
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue