Bug 12495 - Include streetnumber in hold alert address
[koha_fer] / misc / translator / text-extract2.pl
index 52dc990..79bf5ad 100755 (executable)
 # --> This will be relatively major rework, and requires corresponding
 # rework in tmpl_process.pl
 
+use strict;
+#use warnings; FIXME - Bug 2505
 use Getopt::Long;
 use TmplTokenizer;
 use VerboseWarnings;
-use strict;
 
 use vars qw( $input );
 use vars qw( $debug_dump_only_p );
@@ -41,7 +42,7 @@ sub debug_dump ($) { # for testing only
        my($kind, $t, $attr) = ($s->type, $s->string, $s->attributes);
        printf "%s [line %d]:\n", $kind->to_string, $s->line_number;
        printf "%4dH%s\n", length($t), underline($t);
-       if ($kind == TmplTokenType::TAG && %$attr) {
+    if ($kind == TmplTokenType::TAG() && %$attr) {
            printf "Attributes:\n";
            for my $a (keys %$attr) {
                my($key, $val, $val_orig, $order) = @{$attr->{$a}};
@@ -49,7 +50,7 @@ sub debug_dump ($) { # for testing only
                $val_orig;
            }
        }
-       if ($kind == TmplTokenType::TEXT_PARAMETRIZED) {
+    if ($kind == TmplTokenType::TEXT_PARAMETRIZED()) {
            printf "Form (c-format string):\n";
            printf "%dH%s\n", length $s->form, underline $s->form;
            printf "Parameters:\n";
@@ -60,6 +61,12 @@ sub debug_dump ($) { # for testing only
                $i += 1;
            }
        }
+       if ($s->has_js_data) {
+           printf "JavaScript translatable strings:\n";
+           for my $t (@{$s->js_data}) {
+               printf "%dH%s\n", length $t->[3], underline $t->[3] if $t->[0]; # FIXME
+           }
+       }
     }
 }
 
@@ -72,10 +79,10 @@ sub text_extract ($) {
        my $s = TmplTokenizer::next_token $h;
     last unless defined $s;
        my($kind, $t, $attr) = ($s->type, $s->string, $s->attributes);
-       if ($kind == TmplTokenType::TEXT) {
+    if ($kind == TmplTokenType::TEXT()) {
            $t = TmplTokenizer::trim $t;
            $text{$t} = 1 if $t =~ /\S/s;
-       } elsif ($kind == TmplTokenType::TAG && %$attr) {
+    } elsif ($kind == TmplTokenType::TAG() && %$attr) {
            # value [tag=input], meta
            my $tag = lc($1) if $t =~ /^<(\S+)/s;
            for my $a ('alt', 'content', 'title', 'value') {
@@ -88,6 +95,10 @@ sub text_extract ($) {
                    $text{$val} = 1 if $val =~ /\S/s;
                }
            }
+       } elsif ($s->has_js_data) {
+           for my $t (@{$s->js_data}) {
+               remember( $s, $t->[3] ) if $t->[0]; # FIXME
+           }
        }
     }
     # Emit all extracted strings.