Die HTML-Vorlagen werden nun ebenfalls von locales.pl uebersetzt. Dabei werden alle...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 16 Feb 2006 11:08:26 +0000 (11:08 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 16 Feb 2006 11:08:26 +0000 (11:08 +0000)
locale/de/all
locale/de/locales.pl
templates/webpages/generic/error.html [deleted file]
templates/webpages/generic/error_master.html [new file with mode: 0644]

index 0d58917..99efb17 100644 (file)
@@ -309,6 +309,7 @@ $self{texts} = {
   'Enforce transaction reversal for all dates' => 'Gegenbuchungen für jeden Zeitraum aktualisieren',
   'Enter up to 3 letters separated by a colon (i.e CAD:USD:EUR) for your native and foreign currencies' => 'Geben Sie Ihre und weitere Währungen mit bis zu drei Buchstaben pro Währung und Währungen durch Doppelpunkte getrennt ein (z.B. EUR:USD:CAD)',
   'Equity'                      => 'Passiva',
+  'Error!'                      => 'Fehler!',
   'Exch'                        => 'Wechselkurs.',
   'Exchangerate'                => 'Wechselkurs',
   'Exchangerate Difference'     => 'Wechselkursunterschied',
index f5cd120..ac24947 100755 (executable)
@@ -2,6 +2,7 @@
 
 # -n do not include custom_ scripts
 
+use POSIX;
 use FileHandle;
 
 $basedir  = "../..";
@@ -36,6 +37,13 @@ if (-f 'all') {
   require "all";
 }
 
+# Read HTML templates.
+%htmllocale = ();
+@htmltemplates = <../../templates/webpages/*/*_master.html>;
+foreach $file (@htmltemplates) {
+  scanhtmlfile($file);
+}
+
 foreach $file (@progfiles) {
 
   %locale = ();
@@ -72,7 +80,7 @@ foreach $file (@progfiles) {
   unlink 'missing';
 
   foreach $text (keys %$missing) {
-    if ($locale{$text}) {
+    if ($locale{$text} || $htmllocale{$text}) {
       unless ($self{texts}{$text}) {
         $self{texts}{$text} = $missing->{$text};
       }
@@ -140,6 +148,10 @@ $self{subs} = {
   close FH;
 }
 
+foreach $file (@htmltemplates) {
+  converthtmlfile($file);
+}
+
 # now print out all
 
 open FH, ">all" or die "$! : all";
@@ -379,3 +391,98 @@ sub scanmenu {
 
 }
 
+sub scanhtmlfile {
+  local *IN;
+
+  open(IN, $_[0]) || die;
+
+  my $copying = 0;
+  my $text = "";
+  while (my $line = <IN>) {
+    chomp($line);
+
+    while ("" ne $line) {
+      if (!$copying) {
+        if ($line =~ m|<translate>|i) {
+          substr($line, 0, $+[0]) = "";
+          $copying = 1;
+
+        } else {
+          $line = "";
+        }
+
+      } else {
+        if ($line =~ m|</translate>|i) {
+          $text .= $`;
+          substr($line, 0, $+[0]) = "";
+          $copying = 0;
+          $alllocales{$text} = 1;
+          $htmllocale{$text} = 1;
+          $text = "";
+
+        } else {
+          $text .= $line;
+          $line = "";
+        }
+      }
+    }
+  }
+
+  close(IN);
+}
+
+sub converthtmlfile {
+  local *IN;
+  local *OUT;
+
+  open(IN, $_[0]) || die;
+
+  my $langcode = (split("/", getcwd()))[-1];
+  $_[0] =~ s/_master.html$/_${langcode}.html/;
+
+  open(OUT, ">${_[0]}") || die;
+
+  my $copying = 0;
+  my $text = "";
+  while (my $line = <IN>) {
+    chomp($line);
+    if ("" eq $line) {
+      print(OUT "\n");
+      next;
+    }
+
+    while ("" ne $line) {
+      if (!$copying) {
+        if ($line =~ m|<translate>|i) {
+          print(OUT $`);
+          substr($line, 0, $+[0]) = "";
+          $copying = 1;
+          print(OUT "\n") if ("" eq $line);
+
+        } else {
+          print(OUT "${line}\n");
+          $line = "";
+        }
+
+      } else {
+        if ($line =~ m|</translate>|i) {
+          $text .= $`;
+          substr($line, 0, $+[0]) = "";
+          $copying = 0;
+          $alllocales{$text} = 1;
+          $htmllocale{$text} = 1;
+          print(OUT $self{"texts"}{$text});
+          print(OUT "\n") if ("" eq $line);
+          $text = "";
+
+        } else {
+          $text .= $line;
+          $line = "";
+        }
+      }
+    }
+  }
+
+  close(IN);
+  close(OUT);
+}
diff --git a/templates/webpages/generic/error.html b/templates/webpages/generic/error.html
deleted file mode 100644 (file)
index eb43ed7..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<body>
- <table width=100%>
-  <tr>
-   <th class=listtop><TMPL_VAR NAME=title DEFAULT="Error!"></th>
-  </tr>
-  <tr height="5"></tr>
-
-  <tr><td><TMPL_VAR NAME=label_error></td></tr>
- </table>
-
- <TMPL_VAR NAME=DEBUG>
-
-</body>
-</html>
diff --git a/templates/webpages/generic/error_master.html b/templates/webpages/generic/error_master.html
new file mode 100644 (file)
index 0000000..2f121ac
--- /dev/null
@@ -0,0 +1,14 @@
+<body>
+ <table width=100%>
+  <tr>
+   <th class=listtop><TMPL_VAR NAME=title DEFAULT="<translate>Error!</translate>"></th>
+  </tr>
+  <tr height="5"></tr>
+
+  <tr><td><TMPL_VAR NAME=label_error></td></tr>
+ </table>
+
+ <TMPL_VAR NAME=DEBUG>
+
+</body>
+</html>