NAME
Log::Report::Lexicon::PO - one translation definition
SYNOPSIS
DESCRIPTION
This module is administering one translation object. Sets of PO objects are kept in a POT file, implemented in Log::Report::Lexicon::POT.
METHODS
Constructors
Log::Report::Lexicon::PO->new(OPTIONS)
Option --Default
automatic ""
comment []
format []
fuzzy false
msgid <required>
msgid_plural undef
msgstr "" or []
references []
. automatic => PARAGRAPH
Automaticly added comments. See addAutomatic().
. comment => PARAGRAPH
Translator added comments. See addComment().
. format => ARRAY-OF-PAIRS|HASH
See format().
. fuzzy => BOOLEAN
The string is not yet translated, some smart guesses may have been made. See fuzzy().
. msgid => STRING
. msgid_plural => STRING
. msgstr => STRING|ARRAY-OF-STRING
The translations for the msgid. When msgid_plural is defined, then an ARRAY must be provided.
. references => STRING|ARRAY-OF-LOCATIONS
The STRING is a blank separated list of LOCATIONS. LOCATIONs are of the form filename:linenumber
, for instance lib/Foo.pm:42
See addReferences()
Attributes
$obj->addAutomatic(LIST|ARRAY|STRING)
Add multiple lines to the translator's comment block. Returns an empty string if there are no comments.
$obj->addComment(LIST|ARRAY|STRING)
Add multiple lines to the translator's comment block. Returns an empty string if there are no comments.
$obj->addFlags(STRING)
Parse a "flags" line.
$obj->addReferences(STRING|LIST|ARRAY)
The STRING is a blank separated list of LOCATIONS. The LIST and ARRAY contain separate LOCATIONs. A LOCATION is of the form filename:linenumber
. Returns the internal HASH with references.
$obj->automatic([LIST|ARRAY|STRING])
Returns a STRING which contains the cleaned paragraph of automatically added comments. If an argument is specified, it will replace the current comment.
$obj->comment([LIST|ARRAY|STRING])
Returns a STRING which contains the cleaned paragraph of translator's comment. If an argument is specified, it will replace the current comment.
$obj->format(LANGUAGE|PAIRS|ARRAY-OF-PAIRS|HASH)
When one LANGUAGE is specified, it looks whether a LANGUAGE-format
or no-LANGUAGE-format
is present in the line of FLAGS. This will return 1
(true) in the first case, 0
(false) in the second case. It will return undef
(also false) in case that both are not present.
You can also specify PAIRS: the key is a language name, and the value is either 0
, 1
, or undef
.
example: use of format()
if($po->format('c')) ...
unless($po->format('perl-brace')) ...
if(defined $po->format('java')) ...
$po->format(java => 1); # results in 'java-format'
$po->format(java => 0); # results in 'no-java-format'
$po->format(java => undef); # results in ''
$obj->fuzzy([BOOLEAN])
Returns whether the translation needs human inspection.
$obj->isActive
Returns whether the translation has any references, or is the header.
$obj->msgid
Returns the actual msgid, which cannot be undef
.
$obj->msgstr([INDEX, [STRING]])
With a STRING, a new translation will be set. Without STRING, a lookup will take place. When no plural is defined, use INDEX 0
$obj->plural([STRING])
Returns the actual msgid_plural, which can be undef
.
$obj->references([STRING|LIST|ARRAY])
Returns an unsorted list of LOCATIONS. When options are specified, then those will be used to replace all currently defined references. Returns the unsorted LIST of references.
$obj->removeReferencesTo(FILENAME)
Remove all the references to the indicate FILENAME from the list. Returns the number of refs left.
Parsing
Log::Report::Lexicon::PO->fromText(STRING, [WHERE])
Parse the STRING into a new PO object. The WHERE string should explain the location of the STRING, to be used in error messages.
$obj->toString(OPTIONS)
Format the object into a multi-lined string.
Option --Default
nr_plurals undef
. nr_plurals => INTEGER
If the number of plurals is specified, then the plural translation list can be checked for the correct length. Otherwise, no smart behavior is attempted.
$obj->unused
The message-id has no references anymore and no translations.
SEE ALSO
This module is part of Log-Report distribution version 0.27, built on May 28, 2010. Website: http://perl.overmeer.net/log-report/
LICENSE
Copyrights 2007-2010 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