summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2002-09-16 15:02:11 +0000
committerDaniel Stenberg <daniel@haxx.se>2002-09-16 15:02:11 +0000
commita07a236c0f1119961203bfdfda8df4fb41ad2bb8 (patch)
treeadfc40b2f65127b750037bdbf291dd2396d17092
parente19f763d791333193080bfd088c9b29ea7129a61 (diff)
downloadrockbox-a07a236c0f1119961203bfdfda8df4fb41ad2bb8.tar.gz
rockbox-a07a236c0f1119961203bfdfda8df4fb41ad2bb8.zip
update a .lang file from a .lang "master file"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2302 a1c6a512-1295-4272-9138-f99709370657
-rwxr-xr-xtools/uplang76
1 files changed, 76 insertions, 0 deletions
diff --git a/tools/uplang b/tools/uplang
new file mode 100755
index 0000000000..f63edd372a
--- /dev/null
+++ b/tools/uplang
@@ -0,0 +1,76 @@
1#!/usr/bin/perl
2
3if(!$ARGV[0]) {
4 print <<MOO
5Usage: lang.pl <english file> <translated file>
6MOO
7;
8 exit;
9}
10
11open(ENG, "<$ARGV[0]");
12while(<ENG>) {
13 if($_ =~ / *\#/) {
14 # comment
15 next;
16 }
17 if($_ =~ / *([a-z]+): *(.*)/) {
18 ($var, $value) = ($1, $2);
19 # print "$var => $value\n";
20
21 $set{$var} = $value;
22
23 if($var eq "new") {
24 # the last one for a single phrase
25 $all{$set{'id'}, 'desc'}=$set{'desc'};
26 $all{$set{'id'}, 'eng'}=$set{'eng'};
27
28 $ids{$set{'id'}}=1;
29 undef %set;
30 }
31 }
32}
33close(ENG);
34
35undef %set;
36open(NEW, "<$ARGV[1]");
37while(<NEW>) {
38 if($_ =~ / *\#/) {
39 # comment
40 next;
41 }
42 if($_ =~ / *([a-z]+): *(.*)/) {
43 ($var, $value) = ($1, $2);
44
45 $set{$var} = $value;
46
47 if($var eq "new") {
48 # the last one for a single phrase
49
50 print "\nid: ".$set{'id'}."\n";
51 print "desc: ".$set{'desc'}."\n";
52 if($set{'eng'} ne $all{$set{'id'}, 'eng'}) {
53 print "### English phrase was changed! Previous translation was made on:\n",
54 "### ".$set{'eng'}."\n";
55 $set{'eng'} = $all{$set{'id'}, 'eng'};
56 }
57 print "eng: ".$set{'eng'}."\n";
58 print "new: ".$set{'new'}."\n";
59
60 $ids{$set{'id'}}=0;
61 }
62 }
63}
64close(NEW);
65
66# output new phrases not already translated
67for(sort keys %ids) {
68 if($ids{$_}) {
69 my $id=$_;
70 print "\nid: $_\n";
71 print "desc: ".$all{$id, 'desc'}."\n";
72 print "eng: ".$all{$id, 'eng'}."\n";
73 print "### Not previously translated\n";
74 print "new: \n";
75 }
76}