Locale::TextDomain::OO::Lexicon::StoreJSON - Stores the lexicon for other programming languages
$Id: StoreJSON.pm 647 2017-02-25 08:22:10Z steffenw $
$HeadURL: svn+ssh://steffenw@svn.code.sf.net/p/perl-gettext-oo/code/module/trunk/lib/Locale/TextDomain/OO/Lexicon/StoreJSON.pm $
1.026
This module stores the lexicon for other programming language e.g. JavaScript.
use Locale::TextDomain::OO::Lexicon::StoreJSON; Locale::TextDomain::OO::Lexicon::StoreJSON ->new( filename => 'my_json_file', ... ) ->to_json; # ->to_javascript or ->to_html
use Carp qw(confess); use IO::File; use Locale::TextDomain::OO::Lexicon::StoreJSON; my $filename = 'my_json_file'; my $file_handle = IO::File->new( $filename, q{>} ) or confess qq{Unable to open file "$filename" $!}; Locale::TextDomain::OO::Lexicon::StoreJSON ->new( filename => $filename, # optional for error message only file_handle => file_handle, ... ) ->to_json; # ->to_javascript or ->to_html $file_handle->close or confess qq{Unable to close file "$filename" $!};
use Locale::TextDomain::OO::Lexicon::StoreJSON; my $json = Locale::TextDomain::OO::Lexicon::StoreJSON ->new( ... ) ->to_json; # ->to_javascript or ->to_html
use Locale::TextDomain::OO::Lexicon::StoreJSON; my $json = Locale::TextDomain::OO::Lexicon::StoreJSON->new( ... # all parameters optional # with all type examples for filter_... attributes filter_language => undef, # default, means all filter_domain => 'my domain', # string filter_category => qr{ \A \Qmy category\E }xms, # regex filter_project => sub { # code reference my $filter_name = shift; # is 'filter_project' return $_ eq 'my project'; # boolean return }, ); # from lexicon to data # method to_json will use data to output $json->copy; $json->clear_filter; # set all filter_... to undef $json->filter_domain( qr{ \A dom }xms ); $json->copy; $json->clear_filter; $json->filter_category( sub { return $_ eq 'cat1' } ); $json->copy; $json->clear_filter; $json->filter_domain('dom1'); $json->filter_category('cat1'); # remove all lexicons with dom1 and cat1 from data $json->remove; $json->to_json; # ->to_javascript or ->to_html
see SYNOPSIS
With file parameters it prints a JSON file. Otherwise returns a JSON string.
Similar to method to_json but output wrapped as JavaScript with global variable "localeTextDomainOOLexicon".
Similar to method to_javascript but output wrapped as HTML with script tag.
Inside of this distribution is a directory named example. Run this *.pl files.
none
JSON
Moo
MooX::StrictConstructor
namespace::autoclean
Locale::TextDomain::OO::Lexicon::Role::StoreFile
Locale::TextDomain::OO::Lexicon::Role::StoreFilter
not known
Locale::TextDoamin::OO
Steffen Winkler
Copyright (c) 2013 - 2014, Steffen Winkler <steffenw at cpan.org>. All rights reserved.
<steffenw at cpan.org>
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Locale::TextDomain::OO, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Locale::TextDomain::OO
CPAN shell
perl -MCPAN -e shell install Locale::TextDomain::OO
For more information on module installation, please visit the detailed CPAN module installation guide.