NAME
Catalyst::Plugin::I18N - I18N for Catalyst
SYNOPSIS
join
' '
, @{
$c
->languages };
$c
->languages( [
'de'
] );
$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.po
msgid
"Hello Catalyst"
msgstr
"Hallo Katalysator"
# MyApp/I18N/i_default.po
msgid
"messages.hello.catalyst"
msgstr
"Hello Catalyst - fallback translation"
# MyApp/I18N/de.pm
package
MyApp::I18N::de;
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'
]);
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.
$c
->localize(
'Welcome to Catalyst, [_1]'
,
'sri'
);
SEE ALSO
AUTHORS
Sebastian Riedel <sri@cpan.org>
Brian Cassidy <bricas@cpan.org>
Christian Hansen <chansen@cpan.org>
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.