--- loncom/interface/loncommon.pm 2003/09/16 19:23:47 1.117
+++ loncom/interface/loncommon.pm 2003/09/17 16:50:58 1.119
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.117 2003/09/16 19:23:47 www Exp $
+# $Id: loncommon.pm,v 1.119 2003/09/17 16:50:58 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -348,11 +348,11 @@ sub selectstudent_link {
return '';
}
return "Select User";
+ '","'.$udomele.'");'."'>".&mt('Select User')."";
}
if ($ENV{'request.role'}=~/^(au|dc|su)/) {
return "Select User";
+ '","'.$udomele.'",1);'."'>".&mt('Select User')."";
}
return '';
}
@@ -384,7 +384,7 @@ ENDSTDBRW
sub selectcourse_link {
my ($form,$unameele,$udomele)=@_;
return "Select Course";
+ '","'.$udomele.'");'."'>".&mt('Select Course')."";
}
=pod
@@ -516,7 +516,7 @@ END
foreach my $value (sort(keys(%$hashref))) {
$result.=" \n";
+ $result.=">".&mt($hashref->{$value}->{'text'})."\n";
}
$result .= "\n";
my %select2 = %{$hashref->{$firstdefault}->{'select2'}};
@@ -526,7 +526,7 @@ END
foreach my $value (sort(keys(%select2))) {
$result.=" \n";
+ $result.=">".&mt($select2{$value})."\n";
}
$result .= "\n";
# return $debug;
@@ -767,7 +767,7 @@ sub select_form {
foreach (sort keys %hash) {
$selectform.="\n";
+ ">".&mt($hash{$_})."\n";
}
$selectform.="";
return $selectform;
@@ -1613,16 +1613,8 @@ sub fileextensions {
sub display_languages {
my %languages=();
- if ($ENV{'environment.languages'}) {
- foreach (split(/\s*(\,|\;|\:)\s*/,$ENV{'environment.languages'})) {
- $languages{$_}=1;
- }
- }
- if ($ENV{'course.'.$ENV{'request.course.id'}.'.languages'}) {
- foreach (split(/\s*(\,|\;|\:)\s*/,
- $ENV{'course.'.$ENV{'request.course.id'}.'.languages'})) {
- $languages{$_}=1;
- }
+ foreach (&preferred_languages()) {
+ $languages{$_}=1;
}
&get_unprocessed_cgi($ENV{'QUERY_STRING'},['displaylanguage']);
if ($ENV{'form.displaylanguage'}) {
@@ -1642,7 +1634,35 @@ sub preferred_languages {
@languages=(@languages,split(/\s*(\,|\;|\:)\s*/,
$ENV{'course.'.$ENV{'request.course.id'}.'.languages'}));
}
- return (@languages,'en-US');
+ my $browser=(split(/\;/,$ENV{'HTTP_ACCEPT_LANGUAGE'}))[0];
+ if ($browser) {
+ @languages=(@languages,split(/\s*(\,|\;|\:)\s*/,$browser));
+ }
+ if ($Apache::lonnet::domain_lang_def{$ENV{'user.domain'}}) {
+ @languages=(@languages,
+ $Apache::lonnet::domain_lang_def{$ENV{'user.domain'}});
+ }
+ if ($Apache::lonnet::domain_lang_def{$ENV{'request.role.domain'}}) {
+ @languages=(@languages,
+ $Apache::lonnet::domain_lang_def{$ENV{'request.role.domain'}});
+ }
+ if ($Apache::lonnet::domain_lang_def{
+ $Apache::lonnet::perlvar{'lonDefDomain'}}) {
+ @languages=(@languages,
+ $Apache::lonnet::domain_lang_def{
+ $Apache::lonnet::perlvar{'lonDefDomain'}});
+ }
+# turn "en-ca" into "en-ca,en"
+ my @genlanguages;
+ foreach (@languages) {
+ unless ($_=~/\w/) { next; }
+ push (@genlanguages,$_);
+ if ($_=~/(\-|\_)/) {
+ push (@genlanguages,(split(/(\-|\_)/,$_))[0]);
+ }
+ }
+ &Apache::lonnet::logthis('Lang: '.join(',',@genlanguages));
+ return @genlanguages;
}
###############################################################