blob: 983a624e58c799cb462b204b520405b53ccea9b4 [file] [log] [blame]
Daniel Stenberga07a2362002-09-16 15:02:11 +00001#!/usr/bin/perl
2
3if(!$ARGV[0]) {
4 print <<MOO
5Usage: lang.pl <english file> <translated file>
6MOO
7;
8 exit;
9}
10
Daniel Stenberg720732a2002-09-20 06:36:49 +000011my %ids;
Daniel Stenberga07a2362002-09-16 15:02:11 +000012open(ENG, "<$ARGV[0]");
13while(<ENG>) {
14 if($_ =~ / *\#/) {
15 # comment
16 next;
17 }
Daniel Stenberg720732a2002-09-20 06:36:49 +000018 $_ =~ s/\r//g;
Daniel Stenberga07a2362002-09-16 15:02:11 +000019 if($_ =~ / *([a-z]+): *(.*)/) {
20 ($var, $value) = ($1, $2);
21 # print "$var => $value\n";
22
23 $set{$var} = $value;
24
25 if($var eq "new") {
26 # the last one for a single phrase
27 $all{$set{'id'}, 'desc'}=$set{'desc'};
28 $all{$set{'id'}, 'eng'}=$set{'eng'};
29
30 $ids{$set{'id'}}=1;
31 undef %set;
32 }
33 }
34}
35close(ENG);
36
37undef %set;
38open(NEW, "<$ARGV[1]");
39while(<NEW>) {
40 if($_ =~ / *\#/) {
41 # comment
42 next;
43 }
Daniel Stenberg720732a2002-09-20 06:36:49 +000044 $_ =~ s/\r//g;
45
Daniel Stenberga07a2362002-09-16 15:02:11 +000046 if($_ =~ / *([a-z]+): *(.*)/) {
47 ($var, $value) = ($1, $2);
48
49 $set{$var} = $value;
50
51 if($var eq "new") {
52 # the last one for a single phrase
53
Daniel Stenberg720732a2002-09-20 06:36:49 +000054 if(!$ids{$set{'id'}}) {
55 print "### ".$set{'id'}." was not found in the english file!\n";
56 next;
57 }
58
Daniel Stenberga07a2362002-09-16 15:02:11 +000059 print "\nid: ".$set{'id'}."\n";
60 print "desc: ".$set{'desc'}."\n";
61 if($set{'eng'} ne $all{$set{'id'}, 'eng'}) {
62 print "### English phrase was changed! Previous translation was made on:\n",
Daniel Stenberg720732a2002-09-20 06:36:49 +000063 "### ".$all{$set{'id'}, 'eng'}."\n";
Daniel Stenberga07a2362002-09-16 15:02:11 +000064 $set{'eng'} = $all{$set{'id'}, 'eng'};
65 }
66 print "eng: ".$set{'eng'}."\n";
67 print "new: ".$set{'new'}."\n";
68
69 $ids{$set{'id'}}=0;
70 }
71 }
72}
73close(NEW);
74
75# output new phrases not already translated
76for(sort keys %ids) {
77 if($ids{$_}) {
78 my $id=$_;
79 print "\nid: $_\n";
80 print "desc: ".$all{$id, 'desc'}."\n";
81 print "eng: ".$all{$id, 'eng'}."\n";
82 print "### Not previously translated\n";
83 print "new: \n";
84 }
85}