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']) %][% l('messages.hello.catalyst') %]
DESCRIPTION
Supports mo/po files and Maketext classes under your application's I18N namespace.
# MyApp/I18N/de.pomsgid "Hello Catalyst"msgstr "Hallo Katalysator"# MyApp/I18N/i_default.pomsgid "messages.hello.catalyst"msgstr "Hello Catalyst - fallback translation"# MyApp/I18N/de.pmpackage 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});
All languages fallback to MyApp::I18N which is mapped onto the i-default language tag. If you use arbitrary message keys, use i_default.po to translate into English, otherwise the message key itself is returned.
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
installed_languages
Returns a hash of { langtag => "descriptive name for language" } based on language files in your application's I18N directory. The descriptive name is based on I18N::LangTags::List information. If the descriptive name is not available, will be undef.
loc
localize
Localize text.
print $c->localize( 'Welcome to Catalyst, [_1]', 'sri' );
SEE ALSO
Catalyst
AUTHORS
Sebastian Riedel <[email protected]>
Brian Cassidy <[email protected]>
Christian Hansen <[email protected]>
COPYRIGHT AND LICENSE
Copyright (c) 2005 - 2009 the Catalyst::Plugin::I18N "AUTHORS" as listed above.
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.