| 10 |
|
|
| 11 |
my %data; |
my %data; |
| 12 |
my %pattern; |
my %pattern; |
|
my %id_variant_pattern; |
|
| 13 |
for_each_data_file (sub ($) { |
for_each_data_file (sub ($) { |
| 14 |
my $data_file_name = shift; |
my $data_file_name = shift; |
| 15 |
warn "$data_file_name...\n"; |
warn "$data_file_name...\n"; |
| 16 |
load_data_file ($data_file_name, \%data, \%pattern, \%id_variant_pattern); |
load_data_file ($data_file_name, \%data, \%pattern); |
| 17 |
}); |
}); |
| 18 |
my @pattern = sort {length $b <=> length $a} keys %pattern; |
my @pattern = sort {length $b <=> length $a} keys %pattern; |
| 19 |
|
|
| 64 |
for my $pattern (@pattern) { |
for my $pattern (@pattern) { |
| 65 |
if ($n_text =~ /^$pattern$/) { |
if ($n_text =~ /^$pattern$/) { |
| 66 |
$status->{ja}++; |
$status->{ja}++; |
| 67 |
|
$all_status->{$part}->{ja}++; |
| 68 |
$v = $tag . q[<span class=ja-translation lang=ja>] . |
$v = $tag . q[<span class=ja-translation lang=ja>] . |
| 69 |
replace_pattern2 ($pattern{$pattern}, $1, $2, $3, $4, $5) . |
replace_pattern2 ($pattern{$pattern}, $1, $2, $3, $4, $5) . |
| 70 |
q[</span>]; |
q[</span>]; |
| 73 |
} |
} |
| 74 |
} |
} |
| 75 |
|
|
|
if ($n_text =~ /\bhref="#/) { |
|
|
for my $pattern (keys %id_variant_pattern) { |
|
|
if ($n_text =~ /^$pattern$/) { |
|
|
$status->{ja}++; |
|
|
my $id_map = {}; |
|
|
my $old_ids = $id_variant_pattern{$pattern}->[1]; |
|
|
for (0..$#$old_ids) { |
|
|
$id_map->{$old_ids->[$_]} |
|
|
= substr ($n_text, $-[$_ + 1], $+[$_ + 1] - $-[$_ + 1]); |
|
|
} |
|
|
my $w = $id_variant_pattern{$pattern}->[0]; |
|
|
for (keys %$id_map) { |
|
|
$w =~ s/\bhref="#([^"]+)"/href="#$id_map->{$1}"/g; |
|
|
} |
|
|
|
|
|
$v = $tag . q[<span class=ja-translation lang=ja>] . |
|
|
$w . |
|
|
q[</span>]; |
|
|
$has_ja = 1; |
|
|
|
|
|
my $o = $id_variant_pattern{$pattern}->[2]; |
|
|
for (keys %$id_map) { |
|
|
$o =~ s/\bhref="#([^"]+)"/href="#$id_map->{$1}"/g; |
|
|
} |
|
|
$data{$o} ||= $w; |
|
|
delete $id_variant_pattern{$pattern}; |
|
|
|
|
|
warn $o; |
|
|
|
|
|
last; |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
| 76 |
unless ($has_ja) { |
unless ($has_ja) { |
| 77 |
$text =~ s/^\s+//; |
$text =~ s/^\s+//; |
| 78 |
$text =~ s/\s+\z//; |
$text =~ s/\s+\z//; |