summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-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 @@
1#!/usr/bin/perl -s
2
3while(<STDIN>) {
4 $line++;
5 if($_ =~ / *\#/) {
6 # comment
7 next;
8 }
9 # get rid of DOS newlines
10 $_ =~ s/\r//g;
11 if($_ =~ / *([a-z]+): *(.*)/) {
12 ($var, $value) = ($1, $2);
13 # print "$var => $value\n";
14
15 $set{$var} = $value;
16
17 if( (($var eq "new") && $value && ($value !~ /^\"(.*)\"\W*$/)) ||
18 (($var eq "voice") && $value && ($value !~ /^\"(.*)\"\W*$/)) ||
19 (($var eq "eng") && ($value !~ /^\"(.*)\"\W*$/)) ) {
20 print "$input:$line:missing quotes for ".$set{'id'}."\n";
21 $errors++;
22 next;
23 }
24
25 if($var eq "new") {
26 # the last one for a single phrase
27
28 if(!$value || ($value eq "\"\"") ) {
29 # if not set, get the english version
30 $value = $set{'eng'};
31 }
32 print <<MOO
33<phrase>
34 id: $set{'id'}
35 desc: $set{'desc'}
36 user:
37 <source>
38 *: $set{'eng'}
39 </source>
40 <dest>
41 *: $value
42 </dest>
43 <voice>
44 *: $set{'voice'}
45 </voice>
46</phrase>
47MOO
48;
49 undef %set;
50 }
51
52 }
53
54}