NAME Locale::TextDomain::OO::Extract::YAML - Extracts internationalization data from HTML::FormFu field definition YAML file
$Id: $
$HeadURL: $
VERSION
2.011
DESCRIPTION
This module extracts internationalization data from Template code.
Implemented rules:
# Maketext
label_loc:'...'
label_loc:"..."
label_loc:...
# Gettext
label__:'...'
label__:"..."
label__:...
# Gettext::Loc
label_loc_:'...'
label_loc_:"..."
label_loc_:...
# BabelFish::loc
label_loc_b:'...'
label_loc_b:"..."
label_loc_b:...
Instead of label
also possible for content
and value
.
Whitespace is allowed everywhere. Quote and escape any text like: ' text {placeholder} \\ \' '
SYNOPSIS
use Locale::TextDomain::OO::Extract::YAML;
use Path::Tiny qw(path);
my $extractor = Locale::TextDomain::OO::Extract::YAML->new(
# optional filter parameter, the default is ['all'],
# the following means:
# extract for all plugins but not for Plugin
# Locale::TextDomain::OO::Plugin::Maketext
filter => [ qw(
all
!Maketext
) ],
);
for ( @files ) {
$extractor->clear;
$extractor->filename($_); # dir/filename for reference
$extractor->content_ref( \( path($_)->slurp_utf8 ) );
$extractor->project('my project'); # set or default undef is used
$extractor->category('LC_MESSAGES'); # set or default q{} is used
$extractor->domain('my domain'); # set or default q{} is used
$extractor->extract;
}
... = $extractor->lexicon_ref;
SUBROUTINES/METHODS
method new
All parameters are optional. See Locale::TextDomain::OO::Extract to replace the defaults.
my $extractor = Locale::TextDomain::OO::Extract::YAML->new;
method filter
Ignore some of 'all' or define what to scan. See SYNOPSIS and DESCRIPTION for how and what.
my $array_ref = $extractor->filter;
$extractor->filter(['all']); # the default
method preprocess (called by method extract)
This method removes all comments.
$extractor->preprocess;
method stack_item_mapping (called by method extract)
This method maps the matched stuff as lexicon item.
$extractor->stack_item_mapping;
method extract
This method runs the extraction.
$extractor->extract;
EXAMPLE
Inside of this distribution is a directory named example. Run this *.pl files.
DIAGNOSTICS
none
CONFIGURATION AND ENVIRONMENT
none
DEPENDENCIES
Locale::TextDomain::OO::Extract::Base::RegexBasedExtractor
Locale::TextDomain::OO::Extract::Role::File
INCOMPATIBILITIES
not known
BUGS AND LIMITATIONS
none
SEE ALSO
AUTHOR
Steffen Winkler
LICENSE AND COPYRIGHT
Copyright (c) 2014 - 2017, 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.