[Catalyst] I18N with quotation marks
Larry Leszczynski
larryl at emailplus.org
Wed Jul 1 18:57:08 GMT 2009
> We create some custom scalar ops in a subclass of Catalyst::View::TT
> (code below) that let you do:
>
> <select value="[% c.loc("Please select one").escape_dq %]">
Actually, escape_dq won't work here:
<select value="[% c.loc("Please select one").escape_dq %]">
but it will work if for some reason you have a double-quote delimited
JavaScript string.
Will probably need to convert the double quotes to %22 instead.
Sorry...
> alert('[% c.loc("Please select one").escape_sq %]');
This one does work though...
Larry
> --------------------------------------------
>
> package Platform::View::TT;
>
> # This is "MyApp/View/TT.pm":
>
> use strict;
> use warnings;
>
> use base 'My::Catalyst::View::TT';
>
> 1;
>
> --------------------------------------------
>
> package My::Catalyst::View::TT;
>
> use strict;
> use warnings;
>
> use base 'Catalyst::View::TT';
>
> $Template::Stash::SCALAR_OPS->{escape_q} = sub {
> my $s = shift;
> $s =~ s/\\/\\\\/g;
> $s =~ s/"/\\"/g;
> $s =~ s/'/\\'/g;
> return $s;
> };
>
> $Template::Stash::SCALAR_OPS->{escape_dq} = sub {
> my $s = shift;
> $s =~ s/\\/\\\\/g;
> $s =~ s/"/\\"/g;
> return $s;
> };
>
> $Template::Stash::SCALAR_OPS->{escape_sq} = sub {
> my $s = shift;
> $s =~ s/\\/\\\\/g;
> $s =~ s/'/\\'/g;
> return $s;
> };
>
> 1;
>
> --------------------------------------------
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive:
> http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
More information about the Catalyst
mailing list