summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-02-01 01:35:17 +0000
committerJens Arnold <amiconn@rockbox.org>2005-02-01 01:35:17 +0000
commit9bfcc71faab9306189ec94892a18de5c0ce45e3d (patch)
tree8ef34dccc7c3681ba197cd187f0bfa65a578b25e
parentabfd29ab2ceb460b3d347252f153d22405af5f29 (diff)
downloadrockbox-9bfcc71faab9306189ec94892a18de5c0ce45e3d.tar.gz
rockbox-9bfcc71faab9306189ec94892a18de5c0ce45e3d.zip
Bug fixes & enhancements: (1) Don't change voice: strings back to english just because they are different. They are supposed to be that way. (2) Instead, put a comment and set voice: back to english if one of the following conditions are met: (2a) It's a voice only id, and the description changed (2b) It's a standard id, the eng: string changed, and the english and/or translated voice: string is not empty. (3) Append new ids in the same order as they appear in english.lang, for better maintenance.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5731 a1c6a512-1295-4272-9138-f99709370657
-rwxr-xr-xtools/uplang40
1 files changed, 29 insertions, 11 deletions
diff --git a/tools/uplang b/tools/uplang
index 4e581f600e..d290a79d37 100755
--- a/tools/uplang
+++ b/tools/uplang
@@ -8,7 +8,7 @@ MOO
8 exit; 8 exit;
9} 9}
10 10
11my %ids; 11my %ids, @ids;
12open(ENG, "<$ARGV[0]"); 12open(ENG, "<$ARGV[0]");
13while(<ENG>) { 13while(<ENG>) {
14 if($_ =~ /^ *\#/) { 14 if($_ =~ /^ *\#/) {
@@ -29,6 +29,7 @@ while(<ENG>) {
29 $all{$set{'id'}, 'voice'}=$set{'voice'}; 29 $all{$set{'id'}, 'voice'}=$set{'voice'};
30 30
31 $ids{$set{'id'}}=1; 31 $ids{$set{'id'}}=1;
32 push @ids, $set{'id'};
32 undef %set; 33 undef %set;
33 } 34 }
34 } 35 }
@@ -62,21 +63,37 @@ while(<NEW>) {
62 if($set{'desc'} ne $all{$set{'id'}, 'desc'}) { 63 if($set{'desc'} ne $all{$set{'id'}, 'desc'}) {
63 print "### Description changed! Previous description was:\n", 64 print "### Description changed! Previous description was:\n",
64 "### \"".$set{'desc'}."\"\n"; 65 "### \"".$set{'desc'}."\"\n";
65 $set{'desc'} = $all{$set{'id'}, 'desc'}; 66 print "desc: ".$all{$set{'id'}, 'desc'}."\n";
67 }
68 else {
69 print "desc: ".$set{'desc'}."\n";
66 } 70 }
67 print "desc: ".$set{'desc'}."\n";
68 71
69 if($set{'eng'} ne $all{$set{'id'}, 'eng'}) { 72 if($set{'eng'} ne $all{$set{'id'}, 'eng'}) {
70 print "### English phrase was changed! Previous translation was made on:\n", 73 print "### English phrase was changed! Previous translation was made on:\n",
71 "### ".$set{'eng'}."\n"; 74 "### ".$set{'eng'}."\n";
72 $set{'eng'} = $all{$set{'id'}, 'eng'}; 75 print "eng: ".$all{$set{'id'}, 'eng'}."\n";
76 }
77 else {
78 print "eng: ".$set{'eng'}."\n";
73 } 79 }
74 print "eng: ".$set{'eng'}."\n";
75 80
76 if($set{'voice'} ne $all{$set{'id'}, 'voice'}) { 81 if($set{'id'} =~ /^VOICE_/) { # voice only, compare desc:
77 print "### Voice string was changed! Previous version was:\n", 82 if($set{'desc'} ne $all{$set{'id'}, 'desc'}) {
78 "### ".$set{'voice'}."\n"; 83 print "### Voice only: description changed! Voice set to english. Previous voice was:\n",
79 $set{'voice'} = $all{$set{'id'}, 'voice'}; 84 "### ".$set{'voice'}."\n";
85 $set{'voice'} = $all{$set{'id'}, 'voice'};
86 }
87 }
88 else { # standard entry, compare eng:
89 if($set{'eng'} ne $all{$set{'id'}, 'eng'}
90 #only if either original or translated voice: is non-empty
91 and ($set{'voice'} !~ /^(\"\")? *$/
92 or $all{$set{'id'}, 'voice'} !~ /^(\"\")? *$/)) {
93 print "### English phrase was changed! Voice set to english. Previous voice was:\n",
94 "### ".$set{'voice'}."\n";
95 $set{'voice'} = $all{$set{'id'}, 'voice'};
96 }
80 } 97 }
81 print "voice: ".$set{'voice'}."\n"; 98 print "voice: ".$set{'voice'}."\n";
82 99
@@ -88,14 +105,15 @@ while(<NEW>) {
88} 105}
89close(NEW); 106close(NEW);
90 107
91# output new phrases not already translated 108# output new phrases not already translated , in english.lang order
92for(sort keys %ids) { 109for(@ids) {
93 if($ids{$_}) { 110 if($ids{$_}) {
94 my $id=$_; 111 my $id=$_;
95 print "\nid: $_\n"; 112 print "\nid: $_\n";
96 print "desc: ".$all{$id, 'desc'}."\n"; 113 print "desc: ".$all{$id, 'desc'}."\n";
97 print "eng: ".$all{$id, 'eng'}."\n"; 114 print "eng: ".$all{$id, 'eng'}."\n";
98 print "### Not previously translated\n"; 115 print "### Not previously translated\n";
116 print "voice: ".$all{$id, 'voice'}."\n";
99 print "new: \n"; 117 print "new: \n";
100 } 118 }
101} 119}