# this version of locles processes not only all required .pl files
# but also all parse_html_templated files.
+use utf8;
use strict;
use Data::Dumper;
EOL
$LOST_HEADER = <<EOL;
# The last 50 text strings, that have been removed.
-# This file is auto-generated by locales.pl. Do not edit it.
+# This file has been auto-generated by locales.pl. Please don't edit!
EOL
}
while ($line =~ m/\[\%[^\w]*(\w+)\.\w+\(/g) {
my $plugin = $1;
- $plugins{needed}->{$plugin} = 1 if (first { $_ eq $plugin } qw(HTML LxERP JavaScript MultiColumnIterator));
+ $plugins{needed}->{$plugin} = 1 if (first { $_ eq $plugin } qw(HTML LxERP JavaScript MultiColumnIterator L));
}
while ($line =~ m/(?: # Start von Variante 1: LxERP.t8('...'); ohne darumliegende [% ... %]-Tags
(LxERP\.t8)\( # LxERP.t8( ::Parameter $1::
- ([\'\"]) # Anfang des zu übersetzenden Strings ::Parameter $2::
- (.*?) # Der zu übersetzende String ::Parameter $3::
- (?<!\\)\2 # Ende des zu übersetzenden Strings
+ ([\'\"]) # Anfang des zu übersetzenden Strings ::Parameter $2::
+ (.*?) # Der zu übersetzende String ::Parameter $3::
+ (?<!\\)\2 # Ende des zu übersetzenden Strings
| # Start von Variante 2: [% '...' | $T8 %]
\[\% # Template-Start-Tag
- [\-~#]? # Whitespace-Unterdrückung
+ [\-~#]? # Whitespace-Unterdrückung
\s* # Optional beliebig viele Whitespace
- ([\'\"]) # Anfang des zu übersetzenden Strings ::Parameter $4::
- (.*?) # Der zu übersetzende String ::Parameter $5::
- (?<!\\)\4 # Ende des zu übersetzenden Strings
+ ([\'\"]) # Anfang des zu übersetzenden Strings ::Parameter $4::
+ (.*?) # Der zu übersetzende String ::Parameter $5::
+ (?<!\\)\4 # Ende des zu übersetzenden Strings
\s*\|\s* # Pipe-Zeichen mit optionalen Whitespace davor und danach
(\$T8) # Filteraufruf ::Parameter $6::
- .*? # Optionale Argumente für den Filter
+ .*? # Optionale Argumente für den Filter
\s* # Whitespaces
- [\-~#]? # Whitespace-Unterdrückung
+ [\-~#]? # Whitespace-Unterdrückung
\%\] # Template-Ende-Tag
)
/ix) {
}
while ($line =~ m/\[\% # Template-Start-Tag
- [\-~#]? # Whitespace-Unterdrückung
+ [\-~#]? # Whitespace-Unterdrückung
\s* # Optional beliebig viele Whitespace
(?: # Die erkannten Template-Direktiven
PROCESS
sub _single_quote {
my $val = shift;
- $val =~ s/('|\\$)/\\$1/g;
+ $val =~ s/(\'|\\$)/\\$1/g;
return "'" . $val . "'";
}
my $data_name = $params{data_name};
my @delim = split //, ($params{delim} || '{}');
- open my $fh, '>', $file or die "$! : $file";
+ open my $fh, '>:encoding(utf8)', $file or die "$! : $file";
- print $fh "#!/usr/bin/perl\n# -*- coding: $charset; -*-\n# vim: fenc=$charset\n\n";
+ $charset =~ s/\r?\n//g;
+ my $emacs_charset = lc $charset;
+
+ print $fh "#!/usr/bin/perl\n# -*- coding: $emacs_charset; -*-\n# vim: fenc=$charset\n\nuse utf8;\n\n";
print $fh $header, "\n" if $header;
print $fh "$data_name = $delim[0]\n" if $data_name;