| 10 |
|
|
| 11 |
my %data; |
my %data; |
| 12 |
my %pattern; |
my %pattern; |
| 13 |
|
my %id_variant_pattern; |
| 14 |
for_each_data_file (sub ($) { |
for_each_data_file (sub ($) { |
| 15 |
my $data_file_name = shift; |
my $data_file_name = shift; |
| 16 |
warn "$data_file_name...\n"; |
warn "$data_file_name...\n"; |
| 17 |
load_data_file ($data_file_name, \%data, \%pattern); |
load_data_file ($data_file_name, \%data, \%pattern, \%id_variant_pattern); |
| 18 |
}); |
}); |
| 19 |
my @pattern = sort {length $b <=> length $a} keys %pattern; |
my @pattern = sort {length $b <=> length $a} keys %pattern; |
| 20 |
|
|
| 73 |
} |
} |
| 74 |
} |
} |
| 75 |
|
|
| 76 |
|
if ($n_text =~ /\bhref="#/) { |
| 77 |
|
for my $pattern (keys %id_variant_pattern) { |
| 78 |
|
if ($n_text =~ /^$pattern$/) { |
| 79 |
|
$status->{ja}++; |
| 80 |
|
my $id_map = {}; |
| 81 |
|
my $old_ids = $id_variant_pattern{$pattern}->[1]; |
| 82 |
|
for (0..$#$old_ids) { |
| 83 |
|
$id_map->{$old_ids->[$_]} |
| 84 |
|
= substr ($n_text, $-[$_ + 1], $+[$_ + 1] - $-[$_ + 1]); |
| 85 |
|
} |
| 86 |
|
my $w = $id_variant_pattern{$pattern}->[0]; |
| 87 |
|
for (keys %$id_map) { |
| 88 |
|
$w =~ s/\bhref="#([^"]+)"/href="#$id_map->{$1}"/g; |
| 89 |
|
} |
| 90 |
|
|
| 91 |
|
$v = $tag . q[<span class=ja-translation lang=ja>] . |
| 92 |
|
$w . |
| 93 |
|
q[</span>]; |
| 94 |
|
$has_ja = 1; |
| 95 |
|
|
| 96 |
|
my $o = $id_variant_pattern{$pattern}->[2]; |
| 97 |
|
for (keys %$id_map) { |
| 98 |
|
$o =~ s/\bhref="#([^"]+)"/href="#$id_map->{$1}"/g; |
| 99 |
|
} |
| 100 |
|
$data{$o} ||= $w; |
| 101 |
|
delete $id_variant_pattern{$pattern}; |
| 102 |
|
|
| 103 |
|
warn $o; |
| 104 |
|
|
| 105 |
|
last; |
| 106 |
|
} |
| 107 |
|
} |
| 108 |
|
} |
| 109 |
|
|
| 110 |
unless ($has_ja) { |
unless ($has_ja) { |
| 111 |
$text =~ s/^\s+//; |
$text =~ s/^\s+//; |
| 112 |
$text =~ s/\s+\z//; |
$text =~ s/\s+\z//; |