X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=scripts%2Flocales.pl;h=16f2b3e850062defe8fed3f83b84b7eb5b2eefff;hb=b1dbc0a2a7a5b363ee05d62acdc86bc8c76bb1be;hp=fa787a24bfc232d10d70d4630d64511392645712;hpb=46835bedd494a84c604484be03142615a4ceb41f;p=kivitendo-erp.git diff --git a/scripts/locales.pl b/scripts/locales.pl index fa787a24b..16f2b3e85 100755 --- a/scripts/locales.pl +++ b/scripts/locales.pl @@ -6,6 +6,7 @@ # 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; @@ -30,6 +31,7 @@ parse_args(); my $basedir = "../.."; my $locales_dir = "."; my $bindir = "$basedir/bin/mozilla"; +my @progdirs = ( "$basedir/SL/Template/Plugin" ); my $dbupdir = "$basedir/sql/Pg-upgrade"; my $dbupdir2 = "$basedir/sql/Pg-upgrade2"; my $menufile = "menu.ini"; @@ -41,11 +43,17 @@ my ($ALL_HEADER, $MISSING_HEADER, $LOST_HEADER); init(); opendir DIR, "$bindir" or die "$!"; -my @progfiles = grep { /\.pl$/ && !/(_custom|^\.)/ } readdir DIR; +my @progfiles = map { [ $_, $bindir ] } grep { /\.pl$/ && !/(_custom|^\.)/ } readdir DIR; seekdir DIR, 0; my @customfiles = grep /_custom/, readdir DIR; closedir DIR; +foreach my $dir (@progdirs) { + opendir DIR, $dir or die "$!"; + push @progfiles, map { [ $_, $dir ] } grep { /\.pm$/ } readdir DIR; + closedir DIR; +} + # put customized files into @customfiles my @menufiles; @@ -90,7 +98,7 @@ chomp $charset; my %old_texts = %{ $self->{texts} || {} }; -map({ handle_file($_, $bindir); } @progfiles); +map({ handle_file(@{ $_ }); } @progfiles); map({ handle_file($_, $dbupdir); } @dbplfiles); map({ handle_file($_, $dbupdir2); } @dbplfiles2); @@ -282,11 +290,11 @@ sub extract_text_between_parenthesis { } else { if ($quote_next) { + $text .= '\\' unless $cur_char eq "'"; $text .= $cur_char; $quote_next = 0; } elsif ($cur_char eq '\\') { - $text .= $cur_char; $quote_next = 1; } elsif ($cur_char eq $inside_string) { @@ -474,26 +482,26 @@ sub scanhtmlfile { 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:: - (?', $file or die "$! : $file"; + open my $fh, '>:encoding(utf8)', $file or die "$! : $file"; + $charset =~ s/\r?\n//g; my $emacs_charset = lc $charset; - print $fh "#!/usr/bin/perl\n# -*- coding: $emacs_charset; -*-\n# vim: fenc=$charset\n\n"; + 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;