NAME
Catalyst::Plugin::I18N - I18N for Catalyst
SYNOPSIS
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']) %]
DESCRIPTION
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;
CONFIGURATION
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
:
__PACKAGE__->config(
'Plugin::I18N' =>
maketext_options => {
Decode => 0
}
);
EXTENDED METHODS
setup
METHODS
languages
Contains languages.
$c->languages(['de_DE']);
print join '', @{ $c->languages };
language
return selected locale in your locales list.
language_tag
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.
$c->language(); # en_us
$c->language_tag(); # en-us
loc
localize
Localize text.
print $c->localize( 'Welcome to Catalyst, [_1]', 'sri' );
SEE ALSO
AUTHOR
Sebastian Riedel, sri@cpan.org
Brian Cassidy, bricas@cpan.org
Christian Hansen, chansen@cpan.org
COPYRIGHT
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.