| 1 |
#!/usr/bin/perl |
#!/usr/bin/perl |
| 2 |
use strict; |
use strict; |
| 3 |
|
|
| 4 |
my $source_file_name = q[.spec.en.html]; |
my $source_file_name = shift; |
| 5 |
my $data_dir_name = q[data/]; |
my $data_dir_name = q[data/]; |
| 6 |
my $data_suffix = q[.dat]; |
my $data_suffix = q[.dat]; |
| 7 |
my $result_file_name = q[non-normative.ja.html.u8]; |
my $result_file_name = shift; |
| 8 |
|
|
| 9 |
sub normalize ($) { |
sub normalize ($) { |
| 10 |
my $s = shift; |
my $s = shift; |
| 39 |
warn "$data_file_name...\n"; |
warn "$data_file_name...\n"; |
| 40 |
open my $data_file, '<:utf8', $data_file_name |
open my $data_file, '<:utf8', $data_file_name |
| 41 |
or die "$0: $data_file_name: $!"; |
or die "$0: $data_file_name: $!"; |
| 42 |
for (split /\n\n+(?=#)/, scalar <$data_file>) { |
my $data = <$data_file>; |
| 43 |
|
$data =~ s/\x0D?\x0A/\n/g; |
| 44 |
|
for (split /\n\n+(?=#)/, $data) { |
| 45 |
my ($en, $ja) = split /\n#ja\n/, $_; |
my ($en, $ja) = split /\n#ja\n/, $_; |
| 46 |
if ($en =~ s/^#en\n//) { |
if ($en =~ s/^#en\n//) { |
| 47 |
$data{normalize ($en)} = $ja; |
$data{normalize ($en)} = $ja; |
| 48 |
} elsif ($en =~ s/^#regexp\n//) { |
} elsif ($en =~ s/^#pattern\n//) { |
| 49 |
$pattern{create_pattern1 (normalize ($en))} = $ja; |
$pattern{create_pattern1 (normalize ($en))} = $ja; |
| 50 |
} |
} |
| 51 |
} |
} |
| 77 |
$v = $tag . q[<span class=ja-translation lang=ja>] . |
$v = $tag . q[<span class=ja-translation lang=ja>] . |
| 78 |
replace_pattern2 ($pattern{$pattern}, $1, $2, $3, $4, $5) . |
replace_pattern2 ($pattern{$pattern}, $1, $2, $3, $4, $5) . |
| 79 |
q[</span>]; |
q[</span>]; |
| 80 |
|
last; |
| 81 |
} |
} |
| 82 |
} |
} |
| 83 |
$v; |
$v; |