Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Perl
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib/HTTP
t
.gitignore
.travis.yml
Build.PL
Changes
LICENSE
META.json
README.md
cpanfile
dist.ini

README.md

NAME

HTTP::AcceptLanguage - Accept-Language header parser and find available language

HOW DO I USE THIS MODULE WITH

WITH CGI.pm

use HTTP::AcceptLanguage;
my $lang = HTTP::AcceptLanguage->new($ENV{HTTP_ACCEPT_LANGUAGE})->match(qw/ en fr es ja zh-tw /);

WITH raw PSGI

use HTTP::AcceptLanguage;
my $lang = HTTP::AcceptLanguage->new($env->{HTTP_ACCEPT_LANGUAGE})->match(qw/ en fr es ja zh-tw /);

WITH Plack::Request

use HTTP::AcceptLanguage;
my $lang = HTTP::AcceptLanguage->new($req->header('Accept-Language'))->match(qw/ en fr es ja zh-tw /);

SYNOPSIS

Good example of the input and output.

# If language quality is the same then order by match method's input list
my $accept_language = HTTP::AcceptLanguage->new('en;q=0.5, ja;q=0.1');
$accept_language->match(qw/ th da ja /); # -> ja
$accept_language->match(qw/ en ja /);    # -> en

my $accept_language = HTTP::AcceptLanguage->new('en, da');
$accept_language->match(qw/ da en /); # -> en
$accept_language->match(qw/ en da /); # -> en

You can obtain the order of preference of the available languages ​​list of client

my $accept_language = HTTP::AcceptLanguage->new('en, ja;q=0.3, da;q=1, *;q=0.29, ch-tw');
$accept_language->languages; # -> en, da, ch-tw, ja, *

You can use the 0.01 version spec. (next version is deplicated)

local $HTTP::AcceptLanguage::MATCH_PRIORITY_0_01_STYLE = 1;


my $accept_language = HTTP::AcceptLanguage->new('en, da');
$accept_language->match(qw/ da en /); # -> da
$accept_language->match(qw/ en da /); # -> en

DESCRIPTION

HTTP::AcceptLanguage is HTTP Accept-Language header parser And you can find available language by Accept-Language header.

METHODS

new($ENV{HTTP_ACCEPT_LANGUAGE})

It to specify a string of Accept-Language header.

match(@available_language)

By your available language list, returns the most optimal language.

If language-quality has the same value, is a priority order of the new($ENV{HTTP_ACCEPT_LANGUAGE}).

languages

Returns are arranged in order of quality language list parsed.

AUTHOR

Kazuhiro Osawa

COPYRIGHT

Copyright 2013- Kazuhiro Osawa

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

RFC2616, I18N::AcceptLanguage

Something went wrong with that request. Please try again.