NAME
I18N::AcceptLanguage - Matches language preference to available languages
SYNOPSIS
use I18N::AcceptLanguage;
my $supportedLanguages = [( 'en-us', 'fr' )];
my $acceptor = I18N::AcceptLanguage->new();
my $language = $acceptor->accepts($ENV{HTTP_ACCEPT_LANGUAGES},
$supportedLanguages);
DESCRIPTION
I18N::AcceptLanguage matches language preference to available languages per rules defined in RFC 2616, section 14.4: HTTP/1.1 - Header Field Definitions - Accept-Language.
PUBLIC METHODS
- accepts( CLIENT_PREFERENCES, SUPPORTED_LANGUAGES )
-
Returns the highest priority common language between client and server. If no common language is found, an empty string is returned. The method expects two arguments:
- CLIENT_PREFERENCES
-
A string in the same format defined in RFC 2616, quoted here:
1#( ( ( 1*8ALPHA *( "-" 1*8ALPHA ) ) | "*" ) [ "'" "q" "=" qvalue ] )
Examples:
da, en-gb;q=0.8, en;q=0.7 en-us, ja, *
- SUPPORTED_LANGUAGES
-
A reference to a list of language ranges supported by the server.
- new( [ OPTIONS ] )
-
Returns a new I18N::AcceptLanguage object. The method accepts the following key/value pair options:
- debug
-
A boolean set to either 0 or 1. When set to 1, debug messages will be printed to STDOUT. The value of debug defaults to 0.
- defaultLanguage
-
A string representing the server's default language choice. The value of defaultLanguage defaults to an empty string.
PRIVATE METHODS
- debug( [ BOOLEAN ] )
-
A get/set method that returns the value of debug, set by the optional method argument.
- defaultLanguage( [ LANGUAGE ] )
-
A get/set method that returns the value of defaultLanguage, set by the optional method argument.
AVAILABILITY
This module is available on CPAN worldwide.
AUTHORS
Christian Gilmore <cag@us.ibm.com>
SEE ALSO
RFC 2616
COPYRIGHT
Copyright (C) 2002, International Business Machines Corporation and others. All Rights Reserved.
This module is free software; you can redistribute it and/or modify it under the terms of the IBM Public License.