version 1.14, 2003/09/28 02:06:37
|
version 1.21, 2003/10/08 18:08:16
|
Line 210 sub mt (@) {
|
Line 210 sub mt (@) {
|
# ============================================================== What language? |
# ============================================================== What language? |
|
|
sub current_language { |
sub current_language { |
my $lang=$lh->maketext('language_code'); |
if ($lh) { |
return ($lang eq 'language_code'?'en':$lang); |
my $lang=$lh->maketext('language_code'); |
|
return ($lang eq 'language_code'?'en':$lang); |
|
} |
|
return 'en'; |
} |
} |
|
|
# ============================================================== What encoding? |
# ============================================================== What encoding? |
Line 225 sub current_encoding {
|
Line 228 sub current_encoding {
|
} |
} |
} |
} |
|
|
|
# =============================================================== Which locale? |
|
# Refer to locale -a |
|
# |
|
sub current_locale { |
|
if ($lh) { |
|
my $enc=$lh->maketext('lang_locale'); |
|
return ($enc eq 'lang_locale'?'':$enc); |
|
} else { |
|
return undef; |
|
} |
|
} |
|
|
# ============================================================== Translate hash |
# ============================================================== Translate hash |
|
|
sub texthash { |
sub texthash { |
Line 265 sub get_language_handle {
|
Line 280 sub get_language_handle {
|
if (&Apache::lonnet::mod_perl_version == 1) { |
if (&Apache::lonnet::mod_perl_version == 1) { |
$r->content_languages([¤t_language()]); |
$r->content_languages([¤t_language()]); |
} |
} |
setlocale(LC_ALL,¤t_language.'.'.¤t_encoding); |
### setlocale(LC_ALL,¤t_locale); |
} |
} |
|
|
|
# ========================================================== Localize localtime |
|
|
|
sub locallocaltime { |
|
my $thistime=shift; |
|
if ((¤t_language=~/^en/) || (!$lh)) { |
|
return ''.localtime($thistime); |
|
} else { |
|
my $format=$lh->maketext('date_locale'); |
|
if ($format eq 'date_locale') { |
|
return ''.localtime($thistime); |
|
} |
|
my ($seconds,$minutes,$twentyfour,$day,$mon,$year,$wday,$yday,$isdst)= |
|
localtime($thistime); |
|
my $month=(split(/\,/,$lh->maketext('date_months')))[$mon]; |
|
my $weekday=(split(/\,/,$lh->maketext('date_days')))[$wday]; |
|
if ($seconds<10) { |
|
$seconds='0'.$seconds; |
|
} |
|
if ($minutes<10) { |
|
$minutes='0'.$minutes; |
|
} |
|
$year+=1900; |
|
my $twelve=$twentyfour; |
|
my $ampm; |
|
if ($twelve>12) { |
|
$twelve-=12; |
|
$ampm=$lh->maketext('date_pm'); |
|
} else { |
|
$ampm=$lh->maketext('date_am'); |
|
} |
|
foreach |
|
('seconds','minutes','twentyfour','twelve','day','year', |
|
'month','weekday','ampm') { |
|
$format=~s/\$$_/eval('$'.$_)/gse; |
|
} |
|
return $format; |
|
} |
|
} |
|
|
|
# ==================== Normalize string (reduce fragility in the lexicon files) |
|
|
|
# This normalizes a string to reduce fragility in the lexicon files of |
|
# huge messages (such as are used by the helper), and allow useful |
|
# formatting: reduce all consecutive whitespace to a single space, |
|
# and remove all HTML |
|
sub normalize_string { |
|
my $s = shift; |
|
$s =~ s/\s+/ /g; |
|
$s =~ s/<[^>]+>//g; |
|
return $s; |
|
} |
1; |
1; |
|
|
__END__ |
__END__ |