The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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

    . comment => PARAGRAPH

    . format => ARRAY-OF-PAIRS|HASH

    . 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 lenght. Otherwise, no smart behavior is attempted.

SEE ALSO

This module is part of Log-Report distribution version 0.02, built on May 28, 2007. Website: http://perl.overmeer.net/log-report/

LICENSE

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