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.04, built on June 15, 2015. Website: http://perl.overmeer.net/log-report/

LICENSE

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