version 1.27, 2003/12/10 00:32:56
|
version 1.35, 2005/11/10 19:19:51
|
Line 185 sub mt (@) {
|
Line 185 sub mt (@) {
|
if ($lh) { |
if ($lh) { |
return $lh->maketext(@_); |
return $lh->maketext(@_); |
} else { |
} else { |
return @_; |
if (wantarray) { |
|
return @_; |
|
} else { |
|
return $_[0]; |
|
} |
} |
} |
} |
} |
|
|
Line 202 sub current_language {
|
Line 206 sub current_language {
|
# ============================================================== What encoding? |
# ============================================================== What encoding? |
|
|
sub current_encoding { |
sub current_encoding { |
|
my $default='UTF-8'; |
|
if ($Apache::lonnet::env{'browser.os'} eq 'win' && |
|
$Apache::lonnet::env{'browser.type'} eq 'explorer') { |
|
$default='ISO-8859-1'; |
|
} |
if ($lh) { |
if ($lh) { |
my $enc=$lh->maketext('char_encoding'); |
my $enc=$lh->maketext('char_encoding'); |
return ($enc eq 'char_encoding'?'':$enc); |
return ($enc eq 'char_encoding'?$default:$enc); |
} else { |
} else { |
return undef; |
return $default; |
} |
} |
} |
} |
|
|
Line 236 sub texthash {
|
Line 245 sub texthash {
|
|
|
sub get_language_handle { |
sub get_language_handle { |
my $r=shift; |
my $r=shift; |
$lh=Apache::localize->get_handle(&Apache::loncommon::preferred_languages); |
if ($r) { |
if (&Apache::lonnet::mod_perl_version == 1) { |
my $headers=$r->headers_in; |
|
$ENV{'HTTP_ACCEPT_LANGUAGE'}=$headers->{'Accept-language'}; |
|
} |
|
my @languages=&Apache::loncommon::preferred_languages; |
|
$ENV{'HTTP_ACCEPT_LANGUAGE'}=''; |
|
$lh=Apache::localize->get_handle(@languages); |
|
if ($r && &Apache::lonnet::mod_perl_version == 1) { |
$r->content_languages([¤t_language()]); |
$r->content_languages([¤t_language()]); |
} |
} |
### setlocale(LC_ALL,¤t_locale); |
### setlocale(LC_ALL,¤t_locale); |
} |
} |
|
|
# ========================================================== Localize localtime |
# ========================================================== Localize localtime |
|
sub gettimezone { |
|
return ' ('.$Apache::lonnet::env{'server.timezone'}.')'; |
|
} |
|
|
sub locallocaltime { |
sub locallocaltime { |
my $thistime=shift; |
my $thistime=shift; |
if ((¤t_language=~/^en/) || (!$lh)) { |
if ((¤t_language=~/^en/) || (!$lh)) { |
return ''.localtime($thistime); |
return ''.localtime($thistime).&gettimezone(); |
} else { |
} else { |
my $format=$lh->maketext('date_locale'); |
my $format=$lh->maketext('date_locale'); |
if ($format eq 'date_locale') { |
if ($format eq 'date_locale') { |
Line 278 sub locallocaltime {
|
Line 296 sub locallocaltime {
|
'month','weekday','ampm') { |
'month','weekday','ampm') { |
$format=~s/\$$_/eval('$'.$_)/gse; |
$format=~s/\$$_/eval('$'.$_)/gse; |
} |
} |
return $format; |
return $format.&gettimezone(); |
} |
} |
} |
} |
|
|