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 /); # -> da
$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, *
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 is the same, the order of the input list takes
precedence.
languages
Returns are arranged in order of quality language list parsed.