diff options
Diffstat (limited to 'build')
-rwxr-xr-x | build/i18n-html2lua.pl | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/build/i18n-html2lua.pl b/build/i18n-html2lua.pl new file mode 100755 index 000000000..c6b893eee --- /dev/null +++ b/build/i18n-html2lua.pl @@ -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}; + } +} |