]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/lilypond-texi2html.init
Doc: [web] Make texi2html notice non-constant, refactor cut-and-paste coding.
[lilypond.git] / Documentation / lilypond-texi2html.init
index 0847994b85b1ce46d0c899a2d8d3f10b21e4d844..343847826b9ceaef32a9ddcb757cc535760fd708 100644 (file)
 ###    non-standard chars replaced by _xxxx (ascii char code) and forced to
 ###    start with a letter by prepending t_g if necessary)
 
+package main;
+$original_normalise_node = \&normalise_node;
+
+sub t2h_default_normalise_node($)
+{
+    my $text = shift;
+    $original_normalise_node->($text);
+}
+
+*normalise_node = sub($)
+{
+    my $text = shift;
+    return &$Texi2HTML::Config::normalise_node($text);
+};
 
 package Texi2HTML::Config;
+##$normalise_node = \&t2h_default_normalise_node;
+$normalise_node = \&lilypond_normalise_node;
+
 
 use utf8;
 use Encode qw(decode);
@@ -104,6 +121,11 @@ $LY_LANGUAGES->{'it'} = {
     '<p>Thanks to ${webdev_link} for hosting ${lily_site}.' => '',
 };
 
+$LY_LANGUAGES->{'nl'} = {
+    'Back to Documentation Index' => 'Terug naar de Documentatieindex',
+    '<p>Met dank aan ${webdev_link} voor het hosten van ${lily_site}.' => '',
+};
+
 # FIXME: request the translations below then send them to texi2html/texinfo devs
 $LANGUAGES->{'it'} = {
                        '  The buttons in the navigation panels have the following meaning:' => '  I bottoni nei pannelli di navigazione hanno il seguente significato:',
@@ -544,7 +566,7 @@ $Texi2HTML::Config::DOCTYPE = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Tran
 );
 
 sub web_settings() {
-  print STDERR "Initializing settings for web site\n";
+  print STDERR "Initializing settings for web site: [$Texi2HTML::THISDOC{current_lang}]\n";
   $Texi2HTML::Config::BODYTEXT = "";
   @Texi2HTML::Config::CSS_REFS      = (
       {FILENAME => "lilypond-web.css", TITLE => "Patrick McCarty's design"}
@@ -780,6 +802,7 @@ sub lilypond_css_lines ($$)
 my $lastfilename;
 my $docnr = 0;
 my $node_to_filename_map = ();
+$source_to_translationof_map = ();
 
 
 # This function makes sure that files are only generated for numbered sections,
@@ -869,6 +892,18 @@ sub lilypond_element_file_name($$$)
   return;
 }
 
+sub lilypond_normalise_node($)
+{
+    my $text = shift;
+    my $norm = main::t2h_default_normalise_node($text);
+    if (exists ($source_to_translationof_map->{$text})) {
+       my $original = $source_to_translationof_map->{$text};
+       $norm = main::t2h_default_normalise_node($original);
+    }
+
+    return $norm;
+}
+
 sub lilypond_element_target_name($$$)
 {
   my $element = shift;
@@ -991,7 +1026,13 @@ sub lilypond_unknown($$$$$)
     # python script messed up ;-)
     if ($pass == 1 and $macro eq "translationof") {
       if (ref($state->{'element'}) eq 'HASH') {
-        $state->{'element'}->{'translationof'} = main::normalise_space($line);
+         $state->{'element'}->{'translationof'} = main::normalise_space($line);
+         my $source = main::normalise_space ($line);
+         if (ref($state->{'node_ref'}) eq 'HASH') {
+             my $translationof = $state->{'node_ref'}->{'texi'};
+             our %source_to_translationof_map;
+             $source_to_translationof_map->{$source} = $translationof;
+         }
       }
       return ('', 1, undef, undef);
     } else {