/[suikacvs]/markup/html/html5/spec-ja/make.pl
Suika

Diff of /markup/html/html5/spec-ja/make.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.18 by wakaba, Wed Aug 13 15:12:03 2008 UTC revision 1.19 by wakaba, Sat Oct 25 06:25:57 2008 UTC
# Line 57  $source_text =~ s{(<(?>p(?>re)?|li|d[td] Line 57  $source_text =~ s{(<(?>p(?>re)?|li|d[td]
57      if (defined $ja_text) {      if (defined $ja_text) {
58        $status->{ja}++;        $status->{ja}++;
59        $all_status->{$part}->{ja}++;        $all_status->{$part}->{ja}++;
60        $tag . q[<span class=ja-translation lang=ja>] . $ja_text . q[</span>];        add_class ($tag, 'has-ja-translation') .
61          q[<span class=en-original lang=en>] . escape_id ($text, 'en-') .
62          q[</span>] .
63          q[<span class=ja-translation lang=ja>] . $ja_text . q[</span>];
64      } else {      } else {
65        my $v = $tag . $text;        my $v;
       my $has_ja;  
66        for my $pattern (@pattern) {        for my $pattern (@pattern) {
67          if ($n_text =~ /^$pattern$/) {          if ($n_text =~ /^$pattern$/) {
68            $status->{ja}++;            $status->{ja}++;
69            $all_status->{$part}->{ja}++;            $all_status->{$part}->{ja}++;
70            $v = $tag . q[<span class=ja-translation lang=ja>] .            $v = add_class ($tag, 'has-ja-translation') .
71                  q[<span class=en-original lang=en>] .
72                  escape_id ($text, 'en-') . q[</span>] .
73                  q[<span class=ja-translation lang=ja>] .
74                replace_pattern2 ($pattern{$pattern}, $1, $2, $3, $4, $5) .                replace_pattern2 ($pattern{$pattern}, $1, $2, $3, $4, $5) .
75                q[</span>];                q[</span>];
           $has_ja = 1;  
76            last;            last;
77          }          }
78        }        }
79    
80        unless ($has_ja) {        unless (defined $v) {
81            $v = add_class ($tag, 'no-ja-translation') . $text;
82            
83          $text =~ s/^\s+//;          $text =~ s/^\s+//;
84          $text =~ s/\s+\z//;          $text =~ s/\s+\z//;
85          $text =~ s/\x0D?\x0A(?:\x0D?\x0A)+/\n/g;          $text =~ s/\x0D?\x0A(?:\x0D?\x0A)+/\n/g;
# Line 130  $source_text =~ s{\[\[([A-Z ]+):([^]]+)\ Line 136  $source_text =~ s{\[\[([A-Z ]+):([^]]+)\
136    print $status_file "\n";    print $status_file "\n";
137    close $status_file;    close $status_file;
138  }  }
139    
140    sub add_class ($$) {
141      my $tag = shift;
142      my $new_class = shift; # should not contain bare & and bare "
143    
144      if ($tag =~ /\bclass="/) {
145        $tag =~ s/\bclass="([^"]*)"/class="$1 $new_class"/;
146      } elsif ($tag =~ /\bclass=/) {
147        $tag =~ s/\bclass=([^\s>]+)/class="$1 $new_class"/g;
148      } else {
149        $tag =~ s/>/ class="$new_class">/;
150      }
151      
152      return $tag;
153    } # add_class
154    
155    sub escape_id ($$) {
156      my $content = shift;
157      my $id_prefix = shift; # should not contain bare & and bare "
158      
159      $content =~ s{<([a-zA-Z0-9-][^<>]+)>}{
160        my $tag_content = $1;
161    
162        if ($tag_content =~ /\bid="/) {
163          $tag_content =~ s/\bid="([^"]*)"/id="$id_prefix$1"/;
164        } elsif ($tag_content =~ /\bid=/) {
165          $tag_content =~ s/\bid=(\S+)/id="$id_prefix$1"/;
166        }
167    
168    #    if ($tag_content =~ /\bhref=#/) {
169    #      $tag_content =~ s/\bhref=#(\S+)/href=#$id_prefix$1/;
170    #    }
171    
172        '<' . $tag_content . '>';
173      }ge;
174    
175      return $content;
176    } # escape_id

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24