From a07a236c0f1119961203bfdfda8df4fb41ad2bb8 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 16 Sep 2002 15:02:11 +0000 Subject: update a .lang file from a .lang "master file" git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2302 a1c6a512-1295-4272-9138-f99709370657 --- tools/uplang | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100755 tools/uplang diff --git a/tools/uplang b/tools/uplang new file mode 100755 index 0000000000..f63edd372a --- /dev/null +++ b/tools/uplang @@ -0,0 +1,76 @@ +#!/usr/bin/perl + +if(!$ARGV[0]) { + print < +MOO +; + exit; +} + +open(ENG, "<$ARGV[0]"); +while() { + if($_ =~ / *\#/) { + # comment + next; + } + 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'}; + + $ids{$set{'id'}}=1; + undef %set; + } + } +} +close(ENG); + +undef %set; +open(NEW, "<$ARGV[1]"); +while() { + if($_ =~ / *\#/) { + # comment + next; + } + if($_ =~ / *([a-z]+): *(.*)/) { + ($var, $value) = ($1, $2); + + $set{$var} = $value; + + if($var eq "new") { + # the last one for a single phrase + + print "\nid: ".$set{'id'}."\n"; + 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"; + $set{'eng'} = $all{$set{'id'}, 'eng'}; + } + print "eng: ".$set{'eng'}."\n"; + print "new: ".$set{'new'}."\n"; + + $ids{$set{'id'}}=0; + } + } +} +close(NEW); + +# output new phrases not already translated +for(sort keys %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 "new: \n"; + } +} -- cgit v1.2.3