NAME
Catalyst::TraitFor::Request::PerLanguageDomains - Language detection for Catalyst::Requests
SYNOPSIS
package MyApp;
use Moose;
use namespace::autoclean;
use Catalyst;
use CatalystX::RoleApplicator;
extends 'Catalyst';
__PACKAGE__->apply_request_class_roles(qw/
Catalyst::TraitFor::Request::PerLanguageDomains
/);
__PACKAGE__->config(
'TraitFor::Request::PerLanguageDomains' => {
default_language => 'de',
selectable_language => ['de','en'],
}
);
__PACKAGE__->setup;
# Config::General style:
<TraitFor::Request::PerLanguageDomains>
default_language de
selectable_language de
selectable_language en
</Catalyst::Request>
DESCRIPTION
Extends Catalyst::Request objects with a $ctx->request->language
method for language detection.
METHODS
language
my $language = $ctx->request->language;
Returns a string that is the two digit code ISO for the request language.
The following things are checked to find the request language, in order:
The lang part of the domain (e.g. de from de.example.org)
The
language
key set in the session (if Catalyst::Plugin::Session is loaded)The
Accept-Language
header of the request.
SEE ALSO
CatalystX::RoleApplicator, I18N::AcceptLanguage.
AUTHOR
Stephan Jauernick <stephan@stejau.de>
LICENSE
This software is copyright (c) 2009 by Stephan Jauernick.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.