source: osm/applications/editors/josm/i18n/convstyle.pl@ 32516

Last change on this file since 32516 was 31901, checked in by simon04, 9 years ago

JOSM/i18n: get rid of nonsense comments in POT file

This reduces the number of lines in the POT file by 55%.

File size: 1.9 KB
RevLine 
[13140]1#! /usr/bin/perl -w
2
3# Written by Dirk Stöcker <openstreetmap@dstoecker.de>
4# Public domain, no rights reserved.
5
6use strict;
7
[29999]8my $rule_cond; # cumulated conditions from current rule
9
[13140]10# This is a simple conversion and in no way a complete XML parser
11# but it works with a default Perl installation
12
[13392]13# Print a header to write valid Java code. No line break,
14# so that the input and output line numbers will match.
15print "class trans_style { void tr(String s){} void f() {";
16
[13140]17while(my $line = <>)
18{
19 chomp($line);
[31901]20 print "tr(\"---DUMMY-MARKER---\"); ";
[13140]21 if($line =~ /<rules\s+name=(".*?")/)
22 {
[23091]23 print "/* mappaint style named $1 */ tr($1);\n";
[13140]24 }
[29999]25 elsif($line =~ /<rule\s*>/)
26 {
27 $rule_cond = "";
28 print "/* $line */\n";
29 }
30 elsif($line =~ /<condition.*\s+k="([^"]*)"/)
31 {
32 my $cond_k = $1; # according to schema, k is always present
33 my $cond_v = ($line =~ /\s+v="([^"]*)"/) ? $1 : "";
34 my $cond_b = ($line =~ /\s+b="([^"]*)"/) ? $1 : "";
35 print STDERR "$0: Found both v=\"$cond_v\" and b=\"$cond_b\" for k=\"$cond_k\" at line $.\n" if ($cond_v && $cond_b);
36 my $cond = ($cond_v || $cond_b) ? "$cond_k=$cond_v$cond_b" : "$cond_k"; # v and b shouldn't appear both
37 if ($rule_cond)
38 {
39 $rule_cond .= ", " . $cond;
40 }
41 else
42 {
43 $rule_cond = $cond;
44 }
45 print "/* $line */\n";
46 }
[13385]47 elsif($line =~ /colour="([^"]+)#/)
[13140]48 {
[29999]49 if ($line =~ /\s+colour="([^"]+)#/)
50 {
51 my $c = $1;
52 my $co = $1;
53 $c =~ s/[^a-z0-9]+/./g;
54 print "/* color $co (applied for \"$rule_cond\") */ tr(\"$c\");";
55 }
56 if ($line =~ /\s+dashedcolour="([^"]+)#/)
57 {
58 my $c = $1;
59 my $co = $1;
60 $c =~ s/[^a-z0-9]+/./g;
61 print "/* color $co (applied for \"$rule_cond\") */ tr(\"$c\");";
62 }
63 print "\n";
[13140]64 }
65 else
66 {
[31111]67 $line =~ s/[ \t]+((?:short)?description) *= *"([^"]+)/*\/ \/* $1 *\/ tr("$2"); \/*/g;
[13140]68 print "/* $line */\n";
69 }
70}
[13392]71
72print "}}\n";
Note: See TracBrowser for help on using the repository browser.