Log::Report::Lexicon::Table(3) generic interface to translation tables

INHERITANCE

 Log::Report::Lexicon::Table is extended by
   Log::Report::Lexicon::MOTcompact
   Log::Report::Lexicon::POT
   Log::Report::Lexicon::POTcompact

SYNOPSIS


# use one of the extensions, for instance:
my $pot = Log::Report::Lexicon::POT
->read('po/nl.po', charset => 'utf-8')
or panic;

DESCRIPTION

This base class defines the generic interface for translation tables.

Currently, there are three extensions:

  • Log::Report::Lexicon::POT

    This is a relatively heavy implementation, used to read but also to write PO files. It is used by xgettext-perl, for instance, to administer the collection of discovered msgid's.

  • Log::Report::Lexicon::POTcompact

    Light-weighted read-only access to PO-file information.

  • Log::Report::Lexicon::MOTcompact

    Read-only access to MO-file information. These binary MO-files are super efficient.

METHODS

Constructors

Log::Report::Lexicon::Table->new(%options)

Attributes

Managing PO's

Translation
$obj->msgid( STRING, [$msgctxt] )
Lookup the Log::Report::Lexicon::PO with the STRING. Returns "undef" when not defined.
$obj->msgstr( $msgid, [$count, $msgctxt] )
Returns the translated string for $msgid. When not specified, $count is 1.

Administration

$obj->add($po)
Add the information from a $po into this POT. If the msgid of the $po is already known, that is an error.
$obj->header($field)
The translation of a blank MSGID is used to store a MIME header, which contains some meta-data. The $field value is looked-up (case-insensitive) and returned.
$obj->nrPlurals()
Returns the number of plurals, when not known then '2'.
$obj->pluralIndex($count)
Returns the msgstr index used to translate a value of $count.
$obj->setupPluralAlgorithm()
This method needs to be called after setting (reading or creating) a new table header, to interpret the plural algorithm as specified in the "Plural-Forms" header field.
$obj->translations( [$active] )
Returns a list with all defined Log::Report::Lexicon::PO objects. When the string $active is given as parameter, only objects which have references are returned.

DIAGNOSTICS

Error: only acceptable parameter is 'ACTIVE'

LICENSE

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