-
-
16 Jun 2010 09:10:07 UTC
- Distribution: Catalyst-Plugin-I18N
- Module version: 0.10
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Clone repository
- Issues (2)
- Testers (3912 / 52 / 0)
- Kwalitee
Bus factor: 11- 31.15% Coverage
- License: perl_5
- Perl: v5.8.0
- Activity
24 month- Tools
- Download (31.49KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
- Dependencies
- Catalyst::Runtime
- I18N::LangTags
- Locale::Maketext::Lexicon
- Locale::Maketext::Simple
- MRO::Compat
- Test::More
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
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 thePlugin::I18N
config section. For example, the following configuration will override theDecode
parameter which normally defaults to1
:__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
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.
Module Install Instructions
To install Catalyst::Plugin::I18N, copy and paste the appropriate command in to your terminal.
cpanm Catalyst::Plugin::I18N
perl -MCPAN -e shell install Catalyst::Plugin::I18N
For more information on module installation, please visit the detailed CPAN module installation guide.