Author image Stephan Jauernick
and 1 contributors

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

Extend request objects with a method for language detection

METHODS

language

    my $language = $ctx->request->language;

Returns a string that is the two digit code 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.

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.