diff options
-rwxr-xr-x | tools/uplang | 76 |
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 | |||
3 | if(!$ARGV[0]) { | ||
4 | print <<MOO | ||
5 | Usage: lang.pl <english file> <translated file> | ||
6 | MOO | ||
7 | ; | ||
8 | exit; | ||
9 | } | ||
10 | |||
11 | open(ENG, "<$ARGV[0]"); | ||
12 | while(<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 | } | ||
33 | close(ENG); | ||
34 | |||
35 | undef %set; | ||
36 | open(NEW, "<$ARGV[1]"); | ||
37 | while(<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 | } | ||
64 | close(NEW); | ||
65 | |||
66 | # output new phrases not already translated | ||
67 | for(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 | } | ||