METHODS

Constructors

$class->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.