summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtools/langv1tov254
1 files changed, 54 insertions, 0 deletions
diff --git a/tools/langv1tov2 b/tools/langv1tov2
new file mode 100755
index 0000000000..61f36b29df
--- /dev/null
+++ b/tools/langv1tov2
@@ -0,0 +1,54 @@
+#!/usr/bin/perl -s
+
+while(<STDIN>) {
+ $line++;
+ if($_ =~ / *\#/) {
+ # comment
+ next;
+ }
+ # get rid of DOS newlines
+ $_ =~ s/\r//g;
+ if($_ =~ / *([a-z]+): *(.*)/) {
+ ($var, $value) = ($1, $2);
+ # print "$var => $value\n";
+
+ $set{$var} = $value;
+
+ if( (($var eq "new") && $value && ($value !~ /^\"(.*)\"\W*$/)) ||
+ (($var eq "voice") && $value && ($value !~ /^\"(.*)\"\W*$/)) ||
+ (($var eq "eng") && ($value !~ /^\"(.*)\"\W*$/)) ) {
+ print "$input:$line:missing quotes for ".$set{'id'}."\n";
+ $errors++;
+ next;
+ }
+
+ if($var eq "new") {
+ # the last one for a single phrase
+
+ if(!$value || ($value eq "\"\"") ) {
+ # if not set, get the english version
+ $value = $set{'eng'};
+ }
+ print <<MOO
+<phrase>
+ id: $set{'id'}
+ desc: $set{'desc'}
+ user:
+ <source>
+ *: $set{'eng'}
+ </source>
+ <dest>
+ *: $value
+ </dest>
+ <voice>
+ *: $set{'voice'}
+ </voice>
+</phrase>
+MOO
+;
+ undef %set;
+ }
+
+ }
+
+}