Locale::TextDomain::OO::Lexicon::File::PO - Gettext po file as lexicon
$Id: PO.pm 546 2014-10-31 09:35:19Z steffenw $
1.014
This module reads a gettext po file into the lexicon.
use Locale::TextDomain::OO::Lexicon::File::PO;
Locale::TextDomain::OO::Lexicon::File::PO ->new( # all parameters are optional decode_code => sub { my ($charset, $text) = @_; defined $text or return $text; return decode( $charset, $text ); }, # optional logger => sub { my ($message, $arg_ref) = @_; my $type = $arg_ref->{type}; # debug Log::Log4perl->get_logger(...)->$type($message); return; }, ) ->lexicon_ref({ # required search_dirs => [ qw( ./my_dir ./my_other_dir ) ], # optional gettext_to_maketext => $boolean, # optional decode => $boolean, # required data => [ # e.g. de.po, en.po read from: # search_dir/de.po # search_dir/en.po '*::' => '*.po',
# e.g. de.po en.po read from: # search_dir/subdir/de/LC_MESSAGES/domain.po # search_dir/subdir/en/LC_MESSAGES/domain.po '*:LC_MESSAGES:domain' => 'subdir/*/LC_MESSAGES/domain.po',
# Merge a region lexicon: # Take the header and messages of the "de::" lexicon, # overwrite the header and messages of the "de-at::" lexicon # and store that as "de-at::" lexicon with all messages now. merge_lexicon => 'de::', 'de-at::' => 'de-at::',
# Move a lexicon into another domain and/or category: move_lexicon => 'i-default::' => 'i-default:LC_MESSAGES:domain',
# Delete a lexicon: delete_lexicon => 'i-default::', ], });
See SYNOPSIS.
Called from Locale::TextDomain::OO::Lexicon::Role::File to run the po file specific code.
$messages_ref = $self->read_messages($filename);
Set the logger
$lexicon_file_po->logger( sub { my ($message, $arg_ref) = @_; my $type = $arg_ref->{type}; Log::Log4perl->get_logger(...)->$type($message); return; }, );
$arg_ref contains
object => $lexicon_file_po, # the object itself type => 'debug', event => 'lexicon,load',
Inside of this distribution is a directory named example. Run this *.pl files.
none
none
Locale::TextDomain::OO::Lexicon::Role::File
not known
none
Steffen Winkler
Copyright (c) 2014,
Steffen Winkler
<steffenw at cpan.org>
.
All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.