NAME

Log::Report::Extract::PerlPPI - Collect translatable strings from Perl using PPI

INHERITANCE

SYNOPSIS

my $ppi = Log::Report::Extract::PerlPPI->new
 ( lexicon => '/usr/share/locale'
 );
$ppi->process('lib/My/Pkg.pm');  # many times
$ppi->showStats;   # to dispatchers which accept TRACE or INFO
$ppi->write;       # also cleans processing memory.

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::PerlPPI->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

Processors

$obj->process(FILENAME, OPTIONS)

    Update the domains mentioned in the FILENAME. All textdomains defined in the file will get updated automatically, but not written before all files where processed.

    Option --Default
    charset  'iso-8859-1'

    . charset => STRING

$obj->showStats([DOMAINs])

    Show a status about the DOMAIN (by default all domains). At least mode verbose is required to see this.

$obj->write([DOMAIN])

    Update the information of the files related to DOMAIN, by default all processed DOMAINS. All information known about the DOMAIN is removed from the cache.

SEE ALSO

This module is part of Log-Report distribution version 0.11, built on October 18, 2007. Website: http://perl.overmeer.net/log-report/

LICENSE

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