Maypole::Plugin::I18N - Internationalization for Maypole


NAME

Maypole::Plugin::I18N - Internationalization for Maypole


SYNOPSIS

Simple example:

    package MyApp;
    use Maypole::Application qw(I18N);
    MyApp->config->lexicon('/path/to/po/files');
    MyApp->config->lang('de');
    MyApp->setup( 'dbi:Pg:dbname=myapp', 'myuser', 'mypass');
    MyApp->lang('no');
    
    print $r->maketext('Hello Maypole');
    [% request.maketext('Hello Maypole') %]

Use a macro if you're lazy:


    [% MACRO l(text, args) BLOCK;
        request.maketext(text, args);
    END; %]
    [% l('Hello Maypole') %]
    [% l('Hello [_1]', 'Maypole') %]
    [% l('lalala[_1]lalala[_2]', ['test', 'foo']) %]


DESCRIPTION

Supports po/mo files (directory must be specified in $r->config->lexicon)

    # de.po
    msgid "Hello Maypole"
    msgstr "Hallo Maibaum"

and Maketext classes under the ::I18N:: namespace of your application.

    package MyApp::I18N::de;
    use base 'MyApp::I18N';
    %Lexicon = ( 'Hello Maypole' => 'Hallo Maibaum' );
    1;

$r->config->lang is used when $r->lang is not set.

Note that you need Maypole 2.0 or newer to use this module!


AUTHOR

Sebastian Riedel, sri@oook.de


LICENSE

This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.

 Maypole::Plugin::I18N - Internationalization for Maypole