Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 860f3274

Von Moritz Bunkus vor fast 20 Jahren hinzugefügt

  • ID 860f3274c3238b23d941cf16fbe90dd27848e446
  • Vorgänger bf271def
  • Nachfolger 07d3f9e2

Einmal durch perltidy.

Unterschiede anzeigen:

locale/de/locales.pl
use FileHandle;
$basedir = "../..";
$bindir = "$basedir/bin/mozilla";
$basedir = "../..";
$bindir = "$basedir/bin/mozilla";
$menufile = "menu.ini";
foreach $item (@ARGV) {
......
unshift @menufiles, $menufile;
}
# slurp the translations in
if (-f 'all') {
require "all";
}
foreach $file (@progfiles) {
%locale = ();
%submit = ();
%subrt = ();
%subrt = ();
&scanfile("$bindir/$file");
# scan custom_{module}.pl or {login}_{module}.pl files
foreach $customfile (@customfiles) {
if ($customfile =~ /_$file/) {
if (-f "$bindir/$customfile") {
&scanfile("$bindir/$customfile");
&scanfile("$bindir/$customfile");
}
}
}
# if this is the menu.pl file
if ($file eq 'menu.pl') {
foreach $item (@menufiles) {
......
$file =~ s/\.pl//;
eval { require 'missing'; };
unlink 'missing';
foreach $text (keys %$missing) {
if ($locale{$text}) {
unless ($self{texts}{$text}) {
$self{texts}{$text} = $missing->{$text};
$self{texts}{$text} = $missing->{$text};
}
}
}
open FH, ">$file" or die "$! : $file";
print FH q|$self{texts} = {
......
$keytext = $key;
$keytext =~ s/'/\\'/g;
$keytext =~ s/\\$/\\\\/;
print FH qq| '$keytext'|.(' ' x (27-length($keytext))).qq| => '$text',\n|;
print FH qq| '$keytext'|
. (' ' x (27 - length($keytext)))
. qq| => '$text',\n|;
}
print FH q|};
$self{subs} = {
|;
foreach $key (sort keys %subrt) {
$text = $key;
$text =~ s/'/\\'/g;
$text =~ s/\\$/\\\\/;
print FH qq| '$text'|.(' ' x (27-length($text))).qq| => '$text',\n|;
print FH qq| '$text'| . (' ' x (27 - length($text))) . qq| => '$text',\n|;
}
foreach $key (sort keys %submit) {
......
$english_sub =~ s/'/\\'/g;
$english_sub =~ s/\\$/\\\\/;
$english_sub = lc $key;
$translated_sub = lc $text;
$english_sub =~ s/( |-|,)/_/g;
$english_sub =~ s/( |-|,)/_/g;
$translated_sub =~ s/( |-|,)/_/g;
print FH qq| '$translated_sub'|.(' ' x (27-length($translated_sub))).qq| => '$english_sub',\n|;
print FH qq| '$translated_sub'|
. (' ' x (27 - length($translated_sub)))
. qq| => '$english_sub',\n|;
}
print FH q|};
1;
......
close FH;
}
# now print out all
open FH, ">all" or die "$! : all";
......
$self{texts} = {
|;
foreach $key (sort keys %alllocales) {
$text = $self{texts}{$key};
$count++;
$text =~ s/'/\\'/g;
$text =~ s/\\$/\\\\/;
$key =~ s/'/\\'/g;
$key =~ s/\\$/\\\\/;
$key =~ s/'/\\'/g;
$key =~ s/\\$/\\\\/;
unless ($text) {
$notext++;
push @missing, $key;
}
print FH qq| '$key'|.(' ' x (27-length($key))).qq| => '$text',\n|;
print FH qq| '$key'| . (' ' x (27 - length($key))) . qq| => '$text',\n|;
}
......
close FH;
if (@missing) {
open FH, ">missing" or die "$! : missing";
......
|;
foreach $text (@missing) {
print FH qq| '$text'|.(' ' x (27-length($text))).qq| => '',\n|;
print FH qq| '$text'| . (' ' x (27 - length($text))) . qq| => '',\n|;
}
print FH q|};
......
|;
close FH;
}
open(FH, "LANGUAGE");
......
print "\n$trlanguage - ${per}%\n";
exit;
# eom
# eom
sub scanfile {
my $file = shift;
return unless (-f "$file");
my $fh = new FileHandle;
open $fh, "$file" or die "$! : $file";
my ($is_submit, $line_no, $sub_line_no) = (0, 0, 0);
while (<$fh>) {
$line_no++;
# is this another file
if (/require\s+\W.*\.pl/) {
my $newfile = $&;
......
$newfile =~ s/\$form->{path}\///;
&scanfile("$bindir/$newfile");
}
# is this a sub ?
if (/^sub /) {
($null, $subrt) = split / +/;
$subrt{$subrt} = 1;
next;
}
my $rc = 1;
while ($rc) {
if (/Locale/) {
unless (/^use /) {
my ($null, $country) = split /,/;
$country =~ s/^ +[\"\']//;
$country =~ s/[\"\'].*//;
}
unless (/^use /) {
my ($null, $country) = split /,/;
$country =~ s/^ +[\"\']//;
$country =~ s/[\"\'].*//;
}
}
my $postmatch = "";
# is it a submit button before $locale->
if (/type\s*=\s*submit/i) {
$postmatch = $';
if ($` !~ /\$locale->text/) {
$is_submit = 1;
$is_submit = 1;
$sub_line_no = $line_no;
}
}
......
my $postmatch = $';
if ($found) {
my $string = $&;
$string =~ s/\$locale->text\(\s*[\'\"(q|qq)][\'\/\\\|~]*//;
$string =~ s/\W\)+.*$//;
my $string = $&;
$string =~ s/\$locale->text\(\s*[\'\"(q|qq)][\'\/\\\|~]*//;
$string =~ s/\W\)+.*$//;
# if there is no $ in the string record it
unless ($string =~ /\$\D.*/) {
# this guarantees one instance of string
$locale{$string} = 1;
unless ($string =~ /\$\D.*/) {
# this guarantees one instance of string
$locale{$string} = 1;
# this one is for all the locales
$alllocales{$string} = 1;
$alllocales{$string} = 1;
# is it a submit button before $locale->
if ($is_submit) {
$submit{$string} = 1;
$submit{$string} = 1;
}
}
}
} elsif ($postmatch =~ />/) {
$is_submit = 0;
}
# exit loop if there are no more locales on this line
($rc) = ($postmatch =~ /\$locale->text/);
# strip text
s/^.*?\$locale->text.*?\)//;
if (($postmatch =~ />/) ||
(!$found && ($sub_line_no != $line_no) && />/)) {
if ( ($postmatch =~ />/)
|| (!$found && ($sub_line_no != $line_no) && />/)) {
$is_submit = 0;
}
}
......
}
sub scanmenu {
my $file = shift;
......
# strip []
grep { s/(\[|\])//g } @a;
foreach my $item (@a) {
@b = split /--/, $item;
foreach $string (@b) {
chomp $string;
$locale{$string} = 1;
$locale{$string} = 1;
$alllocales{$string} = 1;
}
}
}
}

Auch abrufbar als: Unified diff