diff options
author | Daniel Stenberg <daniel@haxx.se> | 2006-04-03 21:11:11 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2006-04-03 21:11:11 +0000 |
commit | c06e7772ff81ed4bbc78377a6e16456456f3e96c (patch) | |
tree | 0eee2026f47d5041461d2a35349f0c2175e97ab0 /tools/uplang | |
parent | a87203651e35f368bf1d8bca5a846a0b9fb657c1 (diff) |
langv2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9470 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools/uplang')
-rwxr-xr-x | tools/uplang | 135 |
1 files changed, 3 insertions, 132 deletions
diff --git a/tools/uplang b/tools/uplang index 81c3a3acc5..0f0106f98d 100755 --- a/tools/uplang +++ b/tools/uplang @@ -1,136 +1,7 @@ #!/usr/bin/perl -if(!$ARGV[0]) { - print <<MOO -Usage: uplang <english file> <translated file> +print <<MOO +The tool formerly known as 'uplang' is no longer used. We now use +genlang2 with the -u option to get updated language files. MOO ; - exit; -} - -my %ids, @ids; -open(ENG, "<$ARGV[0]"); -while(<ENG>) { - if($_ =~ /^ *\#/) { - # comment - next; - } - $_ =~ s/\r//g; - 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'}; - $all{$set{'id'}, 'voice'}=$set{'voice'}; - - $ids{$set{'id'}}=1; - push @ids, $set{'id'}; - undef %set; - } - } -} -close(ENG); - -undef %set; -my $cblock = 1; -open(NEW, "<$ARGV[1]"); -while(<NEW>) { - $_ =~ s/\r//g; - - if($_ =~ /^ *\#/) { - # comment - if($_ !~ /^ *\#\#\#/) { - # no special ### comment -> keep it - if(!$cblock) { - print "\n"; - $cblock = 1; - } - print $_; - } - next; - } - $cblock = 0; - - if($_ =~ /^ *([a-z]+): *(.*)/) { - ($var, $value) = ($1, $2); - - $set{$var} = $value; - - if($var eq "new") { - # the last one for a single phrase - - if(!$ids{$set{'id'}}) { - print "\n### ".$set{'id'}." was not found in the english file!\n"; - next; - } - - print "\nid: ".$set{'id'}."\n"; - - if($set{'desc'} ne $all{$set{'id'}, 'desc'}) { - print "### Description changed! Previous description was:\n", - "### \"".$set{'desc'}."\"\n"; - print "desc: ".$all{$set{'id'}, 'desc'}."\n"; - } - else { - 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"; - print "eng: ".$all{$set{'id'}, 'eng'}."\n"; - } - else { - print "eng: ".$set{'eng'}."\n"; - } - - if($set{'id'} =~ /^VOICE_/) { # voice only, compare desc: - if($set{'desc'} ne $all{$set{'id'}, 'desc'}) { - print "### Voice only: description changed! Voice set to english. Previous voice was:\n", - "### ".$set{'voice'}."\n"; - $set{'voice'} = $all{$set{'id'}, 'voice'}; - } - } - else { # standard entry, compare eng: - if($set{'eng'} ne $all{$set{'id'}, 'eng'} - #only if either original or translated voice: is non-empty - and ($set{'voice'} !~ /^(\"\")? *$/ - or $all{$set{'id'}, 'voice'} !~ /^(\"\")? *$/)) { - print "### English phrase was changed! Voice set to english. Previous voice was:\n", - "### ".$set{'voice'}."\n"; - $set{'voice'} = $all{$set{'id'}, 'voice'}; - } - } - if($set{'voice'} =~ /^(\"\")? *$/ - and $all{$set{'id'}, 'voice'} !~ /^(\"\")? *$/) { - print "### Voice not found in previous translation. Set to english.\n"; - $set{'voice'} = $all{$set{'id'}, 'voice'}; - } - print "voice: ".$set{'voice'}."\n"; - - print "new: ".$set{'new'}."\n"; - - $ids{$set{'id'}}=0; - undef %set; - } - } -} -close(NEW); - -# output new phrases not already translated , in english.lang order -for(@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 "voice: ".$all{$id, 'voice'}."\n"; - print "new: \n"; - } -} |