logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Log::Report::Lexicon::MOTcompact - use translations from an MO file

Description

       This module is translating, based on MO files (binary versions of the PO files, the "Machine Object"
       format)

       Actually, this module is not "compact" anymore: not trading off speed for memory.  That may change again
       in the future.

       To get a MO file, you first need a PO file.  Then run msgfmt, which is part of the gnu gettext package.

          msgfmt -cv -o $domain.mo $domain.po

          # -c = --check-format & --check-header & --check-domain
          # -v = --verbose
          # -o = --output-file

       Extends "DESCRIPTION" in Log::Report::Lexicon::Table.

Diagnostics

       Error: only acceptable parameter is 'ACTIVE'

Inheritance

        Log::Report::Lexicon::MOTcompact
          is a Log::Report::Lexicon::Table

License

       Copyrights 2007-2025 by [Mark Overmeer <markov@cpan.org>]. 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://dev.perl.org/licenses/

perl v5.40.1                                       2025-04-24              Log::Report::Lexicon::MOTcompact(3pm)

Methods

       Extends "METHODS" in Log::Report::Lexicon::Table.

   Constructors
       Extends "Constructors" in Log::Report::Lexicon::Table.

       Log::Report::Lexicon::MOTcompact->new(%options)
           Inherited, see "Constructors" in Log::Report::Lexicon::Table

       Log::Report::Lexicon::MOTcompact->read($filename, %options)
           Read the MOT table information from $filename.

            -Option --Default
             charset  <from header>

           charset => STRING
             The  character-set  which is used for the file.  When not specified, it is taken from the "Content-
             Type" field in the PO-file.

   Attributes
       Extends "Attributes" in Log::Report::Lexicon::Table.

       $obj->filename()
           Returns the name of the source file for this data.

       $obj->index()
           Returns a HASH of all defined PO objects, organized by msgid.  Please try to avoid  using  this:  use
           msgid() for lookup.

       $obj->originalCharset()
           Returns  the  character-set  as found in the PO-file.  The strings are converted into utf8 before you
           use them in the program.

   ManagingPO's
       Extends "Managing PO's" in Log::Report::Lexicon::Table.

       Translation

       Extends "Translation" in Log::Report::Lexicon::Table.

       $obj->msgid( STRING, [$msgctxt] )
           Lookup the translations with the STRING.  Returns a SCALAR, when only one translation is  known,  and
           an ARRAY when we have plural forms.  Returns "undef" when the translation is not defined.

       $obj->msgstr( $msgid, [$count, $msgctxt] )
           Returns the translated string for $msgid.  When not specified, $count is 1 (the singular form).

       Administration

       Extends "Administration" in Log::Report::Lexicon::Table.

       $obj->add($po)
           Inherited, see "Administration" in Log::Report::Lexicon::Table

       $obj->header($field)
           Inherited, see "Administration" in Log::Report::Lexicon::Table

       $obj->nrPlurals()
           Inherited, see "Administration" in Log::Report::Lexicon::Table

       $obj->pluralIndex($count)
           Inherited, see "Administration" in Log::Report::Lexicon::Table

       $obj->setupPluralAlgorithm()
           Inherited, see "Administration" in Log::Report::Lexicon::Table

       $obj->translations( [$active] )
           Inherited, see "Administration" in Log::Report::Lexicon::Table

Name

       Log::Report::Lexicon::MOTcompact - use translations from an MO file

See Also

       This  module  is  part of Log-Report-Lexicon distribution version 1.12, built on April 18, 2025. Website:
       http://perl.overmeer.net/CPAN/

Synopsis

        # using a MO table efficiently
        my $mot = Log::Report::Lexicon::MOTcompact->read('mo/nl.mo')
           or die;

        my $header = $mot->msgid('');
        print $mot->msgstr($msgid, 3);

See Also