if ($clientPreferences) {
# There should be no whitespace anways, but a cleanliness/sanity check
$clientPreferences =~ s/\s//g;
-
# Prepare the list of client-acceptable languages
foreach my $tag (split(/,/, $clientPreferences)) {
my ($language, $quality) = split(/\;/, $tag);
my %supportedLanguages = ();
my %secondaryLanguages = ();
foreach my $language (@$supportedLanguages) {
- # warn "Language supported: " . $language->{language_code};
- $supportedLanguages{lc($language->{language_code})} = $language->{language_code};
- if ($language->{language_code} =~ /^([^-]+)-?/) {
- $secondaryLanguages{lc($1)} = $language->{language_code};
+ # warn "Language supported: " . $language->{language};
+ my $subtag = $language->{rfc4646_subtag};
+ $supportedLanguages{lc($subtag)} = $subtag;
+ if ( $subtag =~ /^([^-]+)-?/ ) {
+ $secondaryLanguages{lc($1)} = $subtag;
}
}
# Set some defaults for language and theme
# First, check the user's preferences
my $lang;
- my $http_env = $ENV{HTTP_ACCEPT_LANGUAGE};
- $http_env =~ m/(\w+-*\w*),/;
- my $language_preference = $1;
- my $http_accept_language = regex_lang_subtags($language_preference)->{language};
- if ($http_accept_language) {
- $lang = accept_language($http_accept_language,getTranslatedLanguages($interface,'prog'));
- }
+ my $http_accept_language = $ENV{ HTTP_ACCEPT_LANGUAGE };
+ $lang = accept_language( $http_accept_language,
+ getTranslatedLanguages($interface,'prog') )
+ if $http_accept_language;
# But, if there's a cookie set, obey it
$lang = $query->cookie('KohaOpacLanguage') if $query->cookie('KohaOpacLanguage');
# Fall back to English