Die letzten 50 Übersetzungen, die von locales.pl nicht mehr gefunden werden, werden...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 24 Jan 2008 17:14:10 +0000 (17:14 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 24 Jan 2008 17:14:10 +0000 (17:14 +0000)
locale/de/locales.pl

index b6ef75c..a655bdc 100755 (executable)
@@ -64,6 +64,8 @@ if (-f 'all') {
   require "all";
 }
 
+my %old_texts = %{ $self->{texts} };
+
 # Read HTML templates.
 #%htmllocale = ();
 #@htmltemplates = <../../templates/webpages/*/*_master.html>;
@@ -251,6 +253,38 @@ $missing = {
 
 }
 
+@lost = ();
+
+if (-f "lost") {
+  require "lost";
+  unlink "lost";
+}
+
+while (($text, $translation) = each %old_texts) {
+  next if ($alllocales{$text});
+
+  push @lost, { 'text' => $text, 'translation' => $translation };
+}
+
+if (scalar @lost) {
+  splice @lost, 0, (scalar @lost - 50) if (scalar @lost > 50);
+
+  open FH, ">lost";
+  print FH "#!/usr/bin/perl\n\n" .
+    "# The last 50 texts that have been removed.\n" .
+    "# This file will be auto-generated by locales.pl. Do not edit it.\n\n" .
+    "\@lost = (\n";
+
+  foreach $entry (@lost) {
+    $entry->{text}        =~ s/\'/\\\'/;
+    $entry->{translation} =~ s/\'/\\\'/;
+    print FH "  { 'text' => '$entry->{text}', 'translation' => '$entry->{translation}' },\n";
+  }
+
+  print FH ");\n\n1;\n";
+  close FH;
+}
+
 open(FH, "LANGUAGE");
 @language = <FH>;
 close(FH);