566 |
566 |
$plugins{needed}->{$plugin} = 1 if (first { $_ eq $plugin } qw(HTML LxERP JavaScript MultiColumnIterator));
|
567 |
567 |
}
|
568 |
568 |
|
569 |
|
while ($line =~ m/\[\% # Template-Start-Tag
|
570 |
|
[\-~#]* # Whitespace-Unterdr?ckung
|
571 |
|
\s* # Optional beliebig viele Whitespace
|
572 |
|
[\'\"] # Anfang des zu ?bersetzenden Strings
|
573 |
|
(.*?) # Der zu ?bersetzende String
|
574 |
|
[\'\"] # Ende des zu ?bersetzenden Strings
|
575 |
|
\s*\|\s* # Pipe-Zeichen mit optionalen Whitespace davor und danach
|
576 |
|
\$T8 # Filteraufruf
|
577 |
|
.*? # Optionale Argumente f?r den Filter und Whitespaces
|
578 |
|
[\-~#]* # Whitespace-Unterdr?ckung
|
579 |
|
\%\] # Template-Ende-Tag
|
|
569 |
while ($line =~ m/(?: # Start von Variante 1: LxERP.t8('...'); ohne darumliegende [% ... %]-Tags
|
|
570 |
LxERP\.t8\( # LxERP.t8(
|
|
571 |
[\'\"] # Anfang des zu ?bersetzenden Strings
|
|
572 |
(.*?) # Der zu ?bersetzende String
|
|
573 |
[\'\"] # Ende des zu ?bersetzenden Strings
|
|
574 |
| # Start von Variante 2: [% '...' | $T8 %]
|
|
575 |
\[\% # Template-Start-Tag
|
|
576 |
[\-~#]* # Whitespace-Unterdr?ckung
|
|
577 |
\s* # Optional beliebig viele Whitespace
|
|
578 |
[\'\"] # Anfang des zu ?bersetzenden Strings
|
|
579 |
(.*?) # Der zu ?bersetzende String
|
|
580 |
[\'\"] # Ende des zu ?bersetzenden Strings
|
|
581 |
\s*\|\s* # Pipe-Zeichen mit optionalen Whitespace davor und danach
|
|
582 |
\$T8 # Filteraufruf
|
|
583 |
.*? # Optionale Argumente f?r den Filter
|
|
584 |
\s* # Whitespaces
|
|
585 |
[\-~#]* # Whitespace-Unterdr?ckung
|
|
586 |
\%\] # Template-Ende-Tag
|
|
587 |
)
|
580 |
588 |
/ix) {
|
581 |
|
my $string = $1;
|
|
589 |
my $string = $1 || $2;
|
582 |
590 |
print "Found filter >>>$string<<<\n" if $debug;
|
583 |
591 |
substr $line, $LAST_MATCH_START[1], $LAST_MATCH_END[0] - $LAST_MATCH_START[0], '';
|
584 |
592 |
|
Funktion LxERP.t8() analog zum Filter [% ... | $T8 %] implementiert.
Hintergrund: Will man einen zu übersetzenden Begriff an eine Funktion
übergeben, so geht das mit der Filtersyntax leider
nicht. Beispielsweise geht weder
(Syntaxfehler vom Template-Modul), noch geht
(hier steht in t8 der unübersetzte Begriff, und es ist
hässlich). Jetzt kann man aber optional folgendes schreiben:
Conflicts: