Catalyst::Plugin::I18N - I18N for Catalyst
use Catalyst 'I18N'; print join ' ', @{ $c->languages }; $c->languages( ['de'] ); print $c->localize('Hello Catalyst');
Use a macro if you're lazy:
[% MACRO l(text, args) BLOCK; c.localize(text, args); END; %] [% l('Hello Catalyst') %] [% l('Hello [_1]', 'Catalyst') %] [% l('lalala[_1]lalala[_2]', ['test', 'foo']) %]
Supports mo/po files and Maketext classes under your applications I18N namespace.
# MyApp/I18N/de.po msgid "Hello Catalyst" msgstr "Hallo Katalysator" #MyApp/I18N/de.pm package MyApp::I18N::de; use base 'MyApp::I18N'; our %Lexicon = ( 'Hello Catalyst' => 'Hallo Katalysator' ); 1;
You can override any parameter sent to Locale::Maketext::Simple by specifying a maketext_options hashref to the Plugin::I18N config section. For example, the following configuration will override the Decode parameter which normally defaults to 1:
maketext_options
Plugin::I18N
Decode
1
__PACKAGE__->config( 'Plugin::I18N' => maketext_options => { Decode => 0 } );
Contains languages.
$c->languages(['de_DE']); print join '', @{ $c->languages };
return selected locale in your locales list.
return language tag for current locale. The most notable difference from this method in comparison to language() is typically that languages and regions are joined with a dash and not an underscore.
language()
$c->language(); # en_us $c->language_tag(); # en-us
Localize text.
print $c->localize( 'Welcome to Catalyst, [_1]', 'sri' );
Catalyst
Sebastian Riedel <sri@cpan.org>
Brian Cassidy <bricas@cpan.org>
Christian Hansen <chansen@cpan.org>
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
To install Catalyst::Plugin::I18N, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catalyst::Plugin::I18N
CPAN shell
perl -MCPAN -e shell install Catalyst::Plugin::I18N
For more information on module installation, please visit the detailed CPAN module installation guide.