NAME¶
Log::Report::Extract - Collect translatable strings
INHERITANCE¶
Log::Report::Extract is extended by
Log::Report::Extract::PerlPPI
Log::Report::Extract::Template
SYNOPSIS¶
# See the extensions
DESCRIPTION¶
This module helps maintaining the POT files, updating the list of message-ids
which are kept in them. After initiation, the
process() method needs to
be called with all files which changed since last processing and the existing
PO files will get updated accordingly. If no translations exist yet, one
"textdomain/xx.po" file will be created.
METHODS¶
Constructors¶
- Log::Report::Extract->new(%options)
-
-Option --Default
charset 'utf-8'
lexicon <required>
- charset => STRING
- The character-set used in the PO files.
- lexicon => DIRECTORY
- The place where the lexicon is kept. When no lexicon is defined yet, this
will be the directory where an "domain/xx.po" file will be
created.
Accessors¶
- $obj->charset()
- Returns the character-set used inside the POT files.
- $obj->domains()
- Returns a sorted list of all known domain names.
- $obj->index()
- Returns the Log::Report::Lexicon::Index object, which is listing the files
in the lexicon directory tree.
- $obj->pots($domain)
- Returns the list of Log::Report::Lexicon::POT objects which contain the
tables for $domain.
Processors¶
- $obj->cleanup(%options)
- Remove all references.
-Option--Default
keep []
- keep => HASH|ARRAY
- Keep the information about these filename, either specified as ARRAY of
names, or a HASH where the keys are the named.
- $obj->process($filename, %options)
- Update the domains mentioned in the $filename. All text-domains defined in
the file will get updated automatically, but should not written before all
files are processed.
Returned is the number of messages found in this particular file.
- $obj->showStats( [$domains] )
- Show a status about the DOMAIN (by default all domains). At least mode
verbose is required to see this.
The statistics are sent to (Log::Report) dispatchers which accept notice and
info. This could be syslog. When you have no explicit dispatchers in your
program, the level of detail get controled by the 'mode':
use Log::Report mode => 'DEBUG'; # or 'VERBOSE'
- $obj->store( $domain, $filename, $linenr, $context, $msg,
[$msg_plural] )
- Register the existence of a ($msg, $msg_plural) in all POTs of the
$domain.
- $obj->write( [$domain] )
- Update the information of the files related to $domain, by default all
processed DOMAINS.
All information known about the written $domain is removed from the
cache.
SEE ALSO¶
This module is part of Log-Report-Lexicon distribution version 1.03, built on
June 04, 2014. Website:
http://perl.overmeer.net/log-report/
LICENSE¶
Copyrights 2007-2014 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself. See
http://www.perl.com/perl/misc/Artistic.html