The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Locale::Maketext::Lexicon::Gettext - PO and MO file parser for Maketext

SYNOPSIS

Called via Locale::Maketext::Lexicon:

    package Hello::L10N;
    use base 'Locale::Maketext';
    use Locale::Maketext::Lexicon {
        de => [Gettext => 'hello/de.mo'],
    };

Directly calling parse():

    use Locale::Maketext::Lexicon::Gettext;
    my %Lexicon = %{ Locale::Maketext::Lexicon::Gettext->parse(<DATA>) };
    __DATA__
    #: Hello.pm:10
    msgid "Hello, World!"
    msgstr "Hallo, Welt!"

    #: Hello.pm:11
    msgid "You have %quant(%1,piece) of mail."
    msgstr "Sie haben %quant(%1,Poststueck,Poststuecken)."

DESCRIPTION

This module implements a perl-based Gettext parser for Locale::Maketext. It transforms all %1, %2, <%*>... sequences to [_1], [_2], [_*], and so on. It accepts either plain PO file, or a MO file which will be translated back to PO file via the msgunfmt program automatically.

Since version 0.03, this module also looks for %function(args...) in the lexicon strings, and transform it to [function,args...]. Any %1, %2... sequences inside the args will have their percent signs (%) replaced by underscores (_).

The name of function above should begin with a letter or underscore, followed by any number of alphanumeric characters and/or underscores. As an exception, the function name may also consist of a single asterisk (*) or pound sign (#), which are Locale::Maketext's shorthands for quant and numf, respectively.

As an additional feature, this module also parses MIME-header style metadata specified in the null msgstr (""), and add them to the %Lexicon with a __ prefix. For example, the example above will set __Content-Type to text/plain; charset=iso8859-1, without the newline or the colon.

Any normal entry that duplicates a metadata entry takes precedence. Hence, a msgid "__Content-Type" line occurs anywhere should override the above value.

SEE ALSO

Locale::Maketext, Locale::Maketext::Lexicon

AUTHORS

Autrijus Tang <autrijus@autrijus.org>

COPYRIGHT

Copyright 2002 by Autrijus Tang <autrijus@autrijus.org>.

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