Revision ec047e71
Von Moritz Bunkus vor mehr als 16 Jahren hinzugefügt
locale/de/locales.pl | ||
---|---|---|
# this version of locles processes not only all required .pl files
|
||
# but also all parse_html_templated files.
|
||
|
||
use POSIX;
|
||
use FileHandle;
|
||
use Data::Dumper;
|
||
|
||
use FileHandle;
|
||
use Getopt::Long;
|
||
use List::Util qw(first);
|
||
use POSIX;
|
||
use Pod::Usage;
|
||
|
||
$| = 1;
|
||
|
||
... | ... | |
|
||
%referenced_html_files = ();
|
||
|
||
# Arguments:
|
||
# -v verbose
|
||
# -n no custom files
|
||
# -h extended checks on HTML templates
|
||
my $opt_v = 0;
|
||
my $opt_n = 0;
|
||
my $opt_c = 0;
|
||
|
||
sub parse_args {
|
||
my ($help, $man);
|
||
|
||
foreach $item (@ARGV) {
|
||
$item =~ s/-//g;
|
||
$arg{$item} = 1;
|
||
GetOptions('no-custom-files' => \$opt_n,
|
||
'check-files' => \$opt_c,
|
||
'verbose' => \$opt_v,
|
||
'help' => \$help,
|
||
'man' => \$man,);
|
||
|
||
if ($help) {
|
||
pod2usage(1);
|
||
exit 0;
|
||
}
|
||
|
||
if ($man) {
|
||
pod2usage(-exitstatus => 0, -verbose => 2);
|
||
exit 0;
|
||
}
|
||
}
|
||
|
||
parse_args();
|
||
|
||
opendir DIR, "$bindir" or die "$!";
|
||
@progfiles = grep { /\.pl$/ && !/(_|^\.)/ } readdir DIR;
|
||
seekdir DIR, 0;
|
||
... | ... | |
closedir DIR;
|
||
|
||
# put customized files into @customfiles
|
||
@customfiles = () if ($arg{n});
|
||
|
||
if ($arg{n}) {
|
||
@menufiles = ($menufile);
|
||
if ($opt_n) {
|
||
@customfiles = ();
|
||
@menufiles = ($menufile);
|
||
} else {
|
||
opendir DIR, "$basedir" or die "$!";
|
||
@menufiles = grep { /.*?_$menufile$/ } readdir DIR;
|
||
... | ... | |
|
||
sub handle_file {
|
||
my ($file, $dir) = @_;
|
||
print "\n$file" if $arg{v};
|
||
print "\n$file" if $opt_v;
|
||
%locale = ();
|
||
%submit = ();
|
||
%subrt = ();
|
||
... | ... | |
if ($file eq 'menunew.pl') {
|
||
foreach $item (@menufiles) {
|
||
&scanmenu("$basedir/$item");
|
||
print "." if $arg{v};
|
||
print "." if $opt_v;
|
||
}
|
||
}
|
||
|
||
... | ... | |
$trlanguage = $language[0];
|
||
chomp $trlanguage;
|
||
|
||
if ($arg{h}) {
|
||
if ($opt_c) {
|
||
search_unused_htmlfiles();
|
||
search_translated_htmlfiles_wo_master();
|
||
}
|
||
... | ... | |
# &scanhtmlfile($newfile);
|
||
# &converthtmlfile($newfile);
|
||
$cached{$file}{scanh}{$newfile} = 1;
|
||
print "." if $arg{v};
|
||
} elsif ($arg{h}) {
|
||
print "." if $opt_v;
|
||
} elsif ($opt_c) {
|
||
print "W: missing HTML template: " . strip_base($newfile) . " (referenced from " . strip_base($file) . ")\n";
|
||
}
|
||
}
|
||
... | ... | |
|
||
return $s;
|
||
}
|
||
|
||
__END__
|
||
|
||
=head1 NAME
|
||
|
||
locales.pl - Collect strings for translation in Lx-Office
|
||
|
||
=head1 SYNOPSIS
|
||
|
||
locales.pl [options]
|
||
|
||
Options:
|
||
-n, --no-custom-files Do not process files whose name contains "_"
|
||
-c, --check-files Run extended checks on HTML files
|
||
-v, --verbose Be more verbose
|
||
-h, --help Show this help
|
||
|
||
=head1 OPTIONS
|
||
|
||
=over 8
|
||
|
||
=item B<-n>, B<--no-custom-files>
|
||
|
||
Do not process files whose name contains "_", e.g. "custom_io.pl".
|
||
|
||
=item B<-c>, B<--check-files>
|
||
|
||
Run extended checks on the usage of templates. This can be used to
|
||
discover HTML templates that are never used as well as the usage of
|
||
non-existing HTML templates.
|
||
|
||
=item B<-v>, B<--verbose>
|
||
|
||
Be more verbose.
|
||
|
||
=back
|
||
|
||
=head1 DESCRIPTION
|
||
|
||
This script collects strings from Perl files, the menu.ini file and
|
||
HTML templates and puts them into the file "all" for translation. It
|
||
also distributes those translations back to the individual files.
|
||
|
||
=cut
|
Auch abrufbar als: Unified diff
Optionen des Scripts dokumentiert.