Locale::Maketext::Extract::Plugin::Base (3)
Leading comments
Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) Standard preamble: ========================================================================
NAME
Locale::Maketext::Extract::Plugin::Base - Base module for format parser pluginsVERSION
version 1.00SYNOPSIS
package My::Parser::Plugin; use base qw(Locale::Maketext::Extract::Plugin::Base); sub file_types { return [qw( ext ext2 )] } sub extract { my $self = shift; local $_ = shift; my $line = 1; while (my $found = $self->routine_to_extract_strings) { $self->add_entry($str,[$filename,$line,$vars]) } return; }
DESCRIPTION
All format parser plugins in Locale::Maketext::Extract inherit from Locale::Maketext::Extract::Plugin::Base.If you want to write your own custom parser plugin, you will need to inherit from this module, and provide "file_types()" and "extract()" methods, as shown above.
METHODS
- new()
-
$plugin = My::Parser->new( @file_types # Optionally specify a list of recognised file types )
- add_entry()
-
$plugin->add_entry($str,$line,$vars)
- entries()
-
$entries = $plugin->entries;
- clear()
-
$plugin->clear
Clears all stored entries.
- file_types()
-
@default_file_types = $plugin->file_types
Returns a list of recognised file types that your module knows how to parse.
Each file type can be one of:
-
- *
-
A plain string
'pl' => base filename is matched against qr/\.pl$/ '*' => all files are accepted
- *
-
A regex
qr/\.tt2?\./ => base filename is matched against this regex
- *
-
A codref
sub {} => this codref is called as $coderef->($base_filename,$path_to_file) It should return true or false
-
- extract()
-
$plugin->extract($filecontents);
extract() is the method that will be called to process the contents of the current file.
When it finds a string that should be extracted, it should call
$self->add_entry($string,$line,$vars])
where $vars refers to any arguments that are being passed to the localise function. For instance:
l("You found [quant,_1,file,files]",files_found) string: "You found [quant,_1,file,files]" vars : (files_found)
IMPORTANT:a single plugin instance is used for all files, so if you plan on storing state information in the $plugin object, this should be cleared out at the beginning of "extract()" - known_file_type()
-
if ($plugin->known_file_type($filename_with_path)) { .... }
Determines whether the current file should be handled by this parser, based either on the list of file_types specified when this object was created, or the default file_types specified in the module.
SEE ALSO
- xgettext.pl
- for extracting translatable strings from common template systems and perl source files.
- Locale::Maketext::Lexicon
- Locale::Maketext::Extract::Plugin::Perl
- Locale::Maketext::Extract::Plugin::PPI
- Locale::Maketext::Extract::Plugin::TT2
- Locale::Maketext::Extract::Plugin::YAML
- Locale::Maketext::Extract::Plugin::FormFu
- Locale::Maketext::Extract::Plugin::Mason
- Locale::Maketext::Extract::Plugin::TextTemplate
- Locale::Maketext::Extract::Plugin::Generic
AUTHORS
Clinton Gormley [COPYRIGHT
Copyright 2002-2013 by Audrey Tang <cpan@audreyt.org>.This software is released under the
The MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the ``Software''), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
AUTHORS
- *
- Clinton Gormley <drtech@cpan.org>
- *
- Audrey Tang <cpan@audreyt.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2014 by Audrey Tang.This is free software, licensed under:
The MIT (X11) License