|
Lines 59-64
sub find_translation ($) {
Link Here
|
| 59 |
sub text_replace_tag ($$) { |
59 |
sub text_replace_tag ($$) { |
| 60 |
my($t, $attr) = @_; |
60 |
my($t, $attr) = @_; |
| 61 |
my $it; |
61 |
my $it; |
|
|
62 |
my @ttvar; |
| 62 |
|
63 |
|
| 63 |
# value [tag=input], meta |
64 |
# value [tag=input], meta |
| 64 |
my $tag = lc($1) if $t =~ /^<(\S+)/s; |
65 |
my $tag = lc($1) if $t =~ /^<(\S+)/s; |
|
Lines 71-82
sub text_replace_tag ($$) {
Link Here
|
| 71 |
|
72 |
|
| 72 |
my($key, $val, $val_orig, $order) = @{$attr->{$a}}; #FIXME |
73 |
my($key, $val, $val_orig, $order) = @{$attr->{$a}}; #FIXME |
| 73 |
if ($val =~ /\S/s) { |
74 |
if ($val =~ /\S/s) { |
| 74 |
my $s = find_translation($val); |
75 |
# for selected attributes replace '[%..%]' with '%s' and remember matches |
| 75 |
if ($attr->{$a}->[1] ne $s) { #FIXME |
76 |
if ( $a =~ /title|value|alt|content|placeholder/ ) { |
| 76 |
$attr->{$a}->[1] = $s; # FIXME |
77 |
while ( $val =~ s/(\[\%.*?\%\])/\%s/ ) { |
| 77 |
$attr->{$a}->[2] = ($s =~ /"/s)? "'$s'": "\"$s\""; #FIXME |
78 |
my $var = $1; |
| 78 |
$translated_p = 1; |
79 |
push @ttvar, $1; |
| 79 |
} |
80 |
} |
|
|
81 |
} |
| 82 |
# find translation for transformed attributes |
| 83 |
my $s = find_translation($val); |
| 84 |
# replace '%s' with original content (in order) on translated string, this is fragile! |
| 85 |
if ( $a =~ /title|value|alt|content|placeholder/ and @ttvar ) { |
| 86 |
while ( @ttvar ) { |
| 87 |
my $var = shift @ttvar; |
| 88 |
$s =~ s/\%s/$var/; |
| 89 |
} |
| 90 |
} |
| 91 |
if ($attr->{$a}->[1] ne $s) { #FIXME |
| 92 |
$attr->{$a}->[1] = $s; # FIXME |
| 93 |
$attr->{$a}->[2] = ($s =~ /"/s)? "'$s'": "\"$s\""; #FIXME |
| 94 |
$translated_p = 1; |
| 95 |
} |
| 80 |
} |
96 |
} |
| 81 |
} |
97 |
} |
| 82 |
} |
98 |
} |