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->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, 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 distribution version 0.992, built on December 21, 2012. Website: http://perl.overmeer.net/log-report/

LICENSE

Copyrights 2007-2012 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