NAME

Log::Report::Lexicon::Table - 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:

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'

SEE ALSO

This module is part of Log-Report-Lexicon distribution version 1.00, built on January 05, 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