logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Locale::Maketext::Extract::Plugin::TT2 - Template Toolkit format parser

Acknowledgements

       Thanks to Andy Wardley for writing the Template::Directive subclass which made this possible.

Authors

       •   Clinton Gormley <drtech@cpan.org>

       •   Audrey Tang <cpan@audreyt.org>

Description

       Extracts strings to localise from Template Toolkit templates.

Known File Types

       .tt
       .tt2
       .html
       .tt.*
       .tt2.*

Name

       Locale::Maketext::Extract::Plugin::TT2 - Template Toolkit format parser

Notes

BEWARE  Using  the "loc" form can give false positives if you use the Perl parser plugin on TT files.
           If you want to use the "loc" form, then you should specify the file types that you want to  the  Perl
           plugin to parse, or enable the default file types, eg:

              xgetext.pl -P perl ....        # default file types
              xgettext.pl -P perl=pl,pm  ... # specified file types

       •   The  string-to-be-localised  must  be  a  string, not a variable. We try not to extract calls to your
           localise function which contain variables eg:

               l('string',arg)  # extracted
               l(var,arg)       # not extracted

           This doesn't work for block filters, so don't do that. Eg:

               [%  FILTER l %]
                  string [% var %]      # BAD!
               [% END %]

       •   Getting the right line number is difficult in TT. Often it'll be a range  of  lines,  or  it  may  be
           thrown  out  by  the  use  of  PRE_CHOMP  or POST_CHOMP.  It will always be within a few lines of the
           correct location.

       •   If you have PRE/POST_CHOMP enabled by default in your templates, then you should extract the  strings
           using the same values.  In order to set them, you can use the following wrapper script:

              #!/usr/bin/perl

              use Locale::Maketext::Extract::Run qw(xgettext);
              use Locale::Maketext::Extract::Plugin::TT2();

              %Locale::Maketext::Extract::Plugin::TT2::PARSER_OPTIONS = (
                   PRE_CHOMP  => 1, # or 2
                   POST_CHOMP => 1, # or 2

                   # Also START/END_TAG, ANYCASE, INTERPOLATE, V1DOLLAR, EVAL_PERL
              );

              xgettext(@ARGV);

Requires

       Template

See Also

       xgettext.pl
           for extracting translatable strings from common template systems and perl source files.

       Locale::Maketext::Lexicon
       Locale::Maketext::Extract::Plugin::Base
       Locale::Maketext::Extract::Plugin::FormFu
       Locale::Maketext::Extract::Plugin::Perl
       Locale::Maketext::Extract::Plugin::YAML
       Locale::Maketext::Extract::Plugin::Mason
       Locale::Maketext::Extract::Plugin::TextTemplate
       Locale::Maketext::Extract::Plugin::Generic
       Template::Toolkit

Short Plugin Name

           tt2

Synopsis

           $plugin = Locale::Maketext::Extract::Plugin::TT2->new(
               $lexicon            # A Locale::Maketext::Extract object
               @file_types         # Optionally specify a list of recognised file types
           )

           $plugin->extract($filename,$filecontents);

Valid Formats

       Valid formats are:

       [% |l(args) %]string[% END %]
       [% 'string' | l(args) %]
       [% l('string',args) %]
       [% c.l('string') %]
           Also all the above combinations with "c." prepended should work correctly. This is the default syntax
           when using TT templates with Mojolicious.

       l and loc are interchangeable.

       | and FILTER are interchangeable.

Version

       version 1.00

See Also