my $locales_dir = ".";
my $bindir = "$basedir/bin/mozilla";
my @progdirs = ( "$basedir/SL" );
-my $dbupdir = "$basedir/sql/Pg-upgrade";
-my $dbupdir2 = "$basedir/sql/Pg-upgrade2";
my $menufile = "menu.ini";
my @javascript_dirs = ($basedir .'/js', $basedir .'/templates/webpages');
my $javascript_output_dir = $basedir .'/js';
our $missing = {};
our @lost = ();
+my %ignore_unused_templates = (
+ map { $_ => 1 } qw(common/help_overlay.html ct/testpage.html generic/autocomplete.html oe/periodic_invoices_email.txt part/testpage.html t/render.html t/render.js)
+);
+
my (%referenced_html_files, %locale, %htmllocale, %alllocales, %cached, %submit, %jslocale);
my ($ALL_HEADER, $MISSING_HEADER, $LOST_HEADER);
unshift @menufiles, "$basedir/$menufile";
}
-tie %dir_h, 'IO::Dir', $dbupdir;
-my @dbplfiles = grep { /\.pl$/ } keys %dir_h;
-
-tie %dir_h, 'IO::Dir', $dbupdir2;
-my @dbplfiles2 = grep { /\.pl$/ } keys %dir_h;
+my @dbplfiles;
+foreach my $sub_dir ("Pg-upgrade2", "Pg-upgrade2-auth") {
+ my $dir = "$basedir/sql/$sub_dir";
+ tie %dir_h, 'IO::Dir', $dir;
+ push @dbplfiles, map { [ $_, $dir ] } grep { /\.pl$/ } keys %dir_h;
+}
# slurp the translations in
if (-f "$locales_dir/all") {
unlink "$locales_dir/lost";
}
-my $charset = slurp("$locales_dir/charset") || 'utf-8';
-chomp $charset;
-
my %old_texts = %{ $self->{texts} || {} };
handle_file(@{ $_ }) for @progfiles;
-handle_file($_, $dbupdir) for @dbplfiles;
-handle_file($_, $dbupdir2) for @dbplfiles2;
+handle_file(@{ $_ }) for @dbplfiles;
scanmenu($_) for @menufiles;
for my $file_name (map({find_files($_)} @javascript_dirs)) {
my @new_missing = grep { !$self->{texts}{$_} } sort keys %alllocales;
if (@new_missing) {
+ if ($opt_c) {
+ my %existing_lc = map { (lc $_ => $_) } grep { $self->{texts}->{$_} } keys %{ $self->{texts} };
+ foreach my $entry (@new_missing) {
+ my $other = $existing_lc{lc $entry};
+ print "W: No entry for '${entry}' exists, but there is one with different case: '${other}'\n" if $other;
+ }
+ }
+
generate_file(
file => "$locales_dir/missing",
header => $MISSING_HEADER,
sub parse_args {
my ($help, $man);
+ my ($opt_no_c, $ignore_for_compatiblity);
+
GetOptions(
'no-custom-files' => \$opt_n,
- 'check-files' => \$opt_c,
+ 'check-files' => \$ignore_for_compatiblity,
+ 'no-check-files' => \$opt_no_c,
'verbose' => \$opt_v,
'help' => \$help,
'man' => \$man,
'debug' => \$debug,
);
+ $opt_c = !$opt_no_c;
+
if ($help) {
pod2usage(1);
exit 0;
}
}
- my ($found) = / (?: locale->text | \b t8 ) \b .*? \(/x;
- $postmatch = "$'";
+ my $found;
+ if (/ (?: locale->text | \b t8 ) \b .*? \(/x) {
+ $found = 1;
+ $postmatch = "$'";
+ }
if ($found) {
my $string;
if (-d $entry) {
push @unscanned_dirs, $entry;
- } elsif (($entry =~ /_master.html$/) && -f $entry && !$referenced_html_files{$entry}) {
+ } elsif (!$ignore_unused_templates{strip_base($entry)} && -f $entry && !$referenced_html_files{$entry}) {
print "W: unused HTML template: " . strip_base($entry) . "\n";
}
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\nuse utf8;\n\n";
+ print $fh "#!/usr/bin/perl\n# -*- coding: utf-8; -*-\n# vim: fenc=utf-8\n\nuse utf8;\n\n";
print $fh $header, "\n" if $header;
print $fh "$data_name = $delim[0]\n" if $data_name;