Locale::TextDomain::OO::Lexicon::File::MO - Gettext mo file as lexicon
$Id: MO.pm 467 2014-01-20 15:56:22Z steffenw $
1.007
This module reads a gettext mo file into the lexicon.
use Locale::TextDomain::OO::Lexicon::File::MO;
Locale::TextDomain::OO::Lexicon::File::MO ->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.mo, en.mo read from: # search_dir/de.mo # search_dir/en.mo '*::' => '*.mo',
# e.g. de.mo en.mo read from: # search_dir/subdir/de/LC_MESSAGES/domain.mo # search_dir/subdir/en/LC_MESSAGES/domain.mo '*:LC_MESSAGES:domain' => 'subdir/*/LC_MESSAGES/domain.mo',
# 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 mo file specific code.
$messages_ref = $self->read_messages($filename);
Set the logger
$lexicon_file_mo->logger( sub { my ($message, $arg_ref) = @_; my $type = $arg_ref->{type}; Log::Log4perl->get_logger(...)->$type($message); return; }, );
$arg_ref contains
object => $lexicon_file_mo, # 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) 2013 - 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.