Catalyst::Plugin::I18N.3pm

Langue: en

Version: 2010-06-14 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

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.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;
    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 <sri@cpan.org>

Brian Cassidy <bricas@cpan.org>

Christian Hansen <chansen@cpan.org>

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.