@@ -, +, @@ --- misc/translator/text-extract.pl | 4 ++++ misc/translator/text-extract2.pl | 2 +- misc/translator/tmpl_process3.pl | 2 +- misc/translator/xgettext.pl | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) --- a/misc/translator/text-extract.pl +++ a/misc/translator/text-extract.pl @@ -28,6 +28,10 @@ getopt("f:"); if (ref($c) && $c->tag() eq 'meta') { print $c->attr('content')."\n "; } + if (ref($c) && $c->tag() eq "input" && $c->attr('placeholder')) { + print $c->attr('placeholder')."\n"; + } + give_id($c) if ref $c; # ignore text nodes } }; --- a/misc/translator/text-extract2.pl +++ a/misc/translator/text-extract2.pl @@ -85,7 +85,7 @@ sub text_extract ($) { } elsif ($kind == TmplTokenType::TAG && %$attr) { # value [tag=input], meta my $tag = lc($1) if $t =~ /^<(\S+)/s; - for my $a ('alt', 'content', 'title', 'value') { + for my $a ('alt', 'content', 'title', 'value', 'placeholder') { if ($attr->{$a}) { next if $a eq 'content' && $tag ne 'meta'; next if $a eq 'value' && ($tag ne 'input' --- a/misc/translator/tmpl_process3.pl +++ a/misc/translator/tmpl_process3.pl @@ -51,7 +51,7 @@ sub text_replace_tag ($$) { # value [tag=input], meta my $tag = lc($1) if $t =~ /^<(\S+)/s; my $translated_p = 0; - for my $a ('alt', 'content', 'title', 'value','label') { + for my $a ('alt', 'content', 'title', 'value','label', 'placeholder') { if ($attr->{$a}) { next if $a eq 'label' && $tag ne 'optgroup'; next if $a eq 'content' && $tag ne 'meta'; --- a/misc/translator/xgettext.pl +++ a/misc/translator/xgettext.pl @@ -98,7 +98,7 @@ sub text_extract (*) { } elsif ($kind eq TmplTokenType::TAG && %$attr) { # value [tag=input], meta my $tag = lc($1) if $t =~ /^<(\S+)/s; - for my $a ('alt', 'content', 'title', 'value','label') { + for my $a ('alt', 'content', 'title', 'value', 'label', 'placeholder') { if ($attr->{$a}) { next if $a eq 'label' && $tag ne 'optgroup'; next if $a eq 'content' && $tag ne 'meta'; --