Erste Version migrate_menu
[kivitendo-erp.git] / scripts / locales.pl
index 65bd178..b192714 100755 (executable)
@@ -22,6 +22,7 @@ use File::Slurp qw(slurp);
 use FileHandle;
 use Getopt::Long;
 use IO::Dir;
+use List::MoreUtils qw(apply);
 use List::Util qw(first);
 use Pod::Usage;
 
@@ -49,7 +50,8 @@ our $missing     = {};
 our @lost        = ();
 
 my %ignore_unused_templates = (
-  map { $_ => 1 } qw(ct/testpage.html generic/autocomplete.html oe/periodic_invoices_email.txt part/testpage.html t/render.html t/render.js task_server/failure_notification_email.txt)
+  map { $_ => 1 } qw(ct/testpage.html generic/autocomplete.html oe/periodic_invoices_email.txt part/testpage.html t/render.html t/render.js task_server/failure_notification_email.txt
+                     failed_background_jobs_report/email.txt)
 );
 
 my (%referenced_html_files, %locale, %htmllocale, %alllocales, %cached, %submit, %jslocale);
@@ -179,9 +181,11 @@ if (@new_missing) {
   if ($opt_f) {
     for my $string (@new_missing) {
       print "new string '$string' in files:\n";
-      for my $file (keys %cached) {
-        print "  $file", $/ if $cached{$file}{all}{$string};
-      }
+      print join "",
+        map   { "  $_\n"                  }
+        apply { s{^(?:\.\./)+}{}          }
+        grep  { $cached{$_}{all}{$string} }
+        keys  %cached;
     }
   }
 
@@ -617,9 +621,9 @@ sub scanhtmlfile {
                       \s+           # Mindestens ein Whitespace
                       [\'\"]?       # Anfang des Dateinamens
                       ([^\s]+)      # Beliebig viele Nicht-Whitespaces -- Dateiname
-                      \.html        # Endung ".html", ansonsten kann es der Name eines Blocks sein
+                      \.(html|js)   # Endung ".html" oder ".js", ansonsten kann es der Name eines Blocks sein
                      /ix) {
-      my $new_file_name = "$basedir/templates/webpages/$1.html";
+      my $new_file_name = "$basedir/templates/webpages/$1.$2";
       $cached{$file}{scanh}{$new_file_name} = 1;
       substr $line, $LAST_MATCH_START[1], $LAST_MATCH_END[0] - $LAST_MATCH_START[0], '';
     }