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.

