build: add script to extract i18n tags from templates
authorJo-Philipp Wich <jow@openwrt.org>
Sat, 9 May 2009 02:46:39 +0000 (02:46 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sat, 9 May 2009 02:46:39 +0000 (02:46 +0000)
build/i18n-html2lua.pl [new file with mode: 0755]

diff --git a/build/i18n-html2lua.pl b/build/i18n-html2lua.pl
new file mode 100755 (executable)
index 0000000..c6b893e
--- /dev/null
@@ -0,0 +1,48 @@
+#!/usr/bin/perl
+
+@ARGV || die "Usage: $0 template1.htm [... templateN.htm]\n";
+
+
+my %tags;
+
+foreach my $file ( @ARGV )
+{
+       if( open F, "< $file" )
+       {
+               local $/ = undef;
+
+               my $data = <F>;
+
+               while( $data =~ m/ <%: -? (\w+) (.*?) %> /sgx )
+               {
+                       my ( $key, $val ) = ( $1, $2 );
+
+                       if( $key && $val )
+                       {
+                               $val =~ s/\s+/ /sg;
+                               $val =~ s/^\s+//;
+                               $val =~ s/\s+$//;
+
+                               $tags{$key} = $val;
+                       }
+                       else
+                       {
+                               $tags{$key} ||= '';
+                       }
+               }
+
+               close F;
+       }
+}
+
+foreach my $key ( sort keys %tags )
+{
+       if( $val =~ /'/ )
+       {
+               printf "%s = [[%s]]\n", $key, $tags{$key};
+       }
+       else
+       {
+               printf "%s = '%s'\n", $key, $tags{$key};
+       }
+}