NAME¶
Log::Report::Lexicon::PO - one translation definition
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
- Automatically 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.94, built on August 23,
2011. Website:
http://perl.overmeer.net/log-report/
LICENSE¶
Copyrights 2007-2011 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