Diff for /loncom/localize/lonlocal.pm between versions 1.18 and 1.24

version 1.18, 2003/10/04 18:13:36 version 1.24, 2003/10/11 14:06:01
Line 169  use POSIX qw(locale_h); Line 169  use POSIX qw(locale_h);
 require Exporter;  require Exporter;
   
 our @ISA = qw (Exporter);  our @ISA = qw (Exporter);
 our @EXPORT = qw(mt);  our @EXPORT = qw(mt mtn ns);
   
 my $reroute;  my $reroute;
   
Line 180  use vars qw($lh); Line 180  use vars qw($lh);
 # ===================================================== The "MakeText" function  # ===================================================== The "MakeText" function
   
 sub mt (@) {  sub mt (@) {
   #    my $fh=Apache::File->new('>>/home/www/loncapa/loncom/localize/localize/newphrases.txt');
   #    print $fh join('',@_)."\n";
   #    $fh->close();
     unless ($ENV{'environment.translator'}) {      unless ($ENV{'environment.translator'}) {
  if ($lh) {   if ($lh) {
     return $lh->maketext(@_);      return $lh->maketext(@_);
Line 207  sub mt (@) { Line 210  sub mt (@) {
     }      }
 }  }
   
   # ================================================================ The <mt> tag
   
   BEGIN {
   }
   
   sub start_mt {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
       return &mt(&Apache::lonxml::get_all_text("/mt",$parser));
   }
   
   sub end_mt {
       return '';
   }
   
 # ============================================================== 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 277  sub get_language_handle { Line 297  sub get_language_handle {
     if (&Apache::lonnet::mod_perl_version == 1) {      if (&Apache::lonnet::mod_perl_version == 1) {
  $r->content_languages([&current_language()]);   $r->content_languages([&current_language()]);
     }      }
       &Apache::lonxml::register('Apache::lonlocal',('mt'));
 ###    setlocale(LC_ALL,&current_locale);  ###    setlocale(LC_ALL,&current_locale);
 }  }
   
Line 303  sub locallocaltime { Line 324  sub locallocaltime {
  }   }
  $year+=1900;   $year+=1900;
  my $twelve=$twentyfour;   my $twelve=$twentyfour;
    my $ampm;
  if ($twelve>12) {   if ($twelve>12) {
     $twelve-=12;      $twelve-=12;
     $twelve.=$lh->maketext('date_pm');      $ampm=$lh->maketext('date_pm');
  } else {   } else {
     $twelve.=$lh->maketext('date_am');      $ampm=$lh->maketext('date_am');
  }   }
  foreach    foreach 
  ('seconds','minutes','twentyfour','twelve','day','year',   ('seconds','minutes','twentyfour','twelve','day','year',
  'month','weekday') {   'month','weekday','ampm') {
     $format=~s/\$$_/eval('$'.$_)/gse;      $format=~s/\$$_/eval('$'.$_)/gse;
  }   }
  return $format;   return $format;
Line 328  sub normalize_string { Line 350  sub normalize_string {
     my $s = shift;      my $s = shift;
     $s =~ s/\s+/ /g;      $s =~ s/\s+/ /g;
     $s =~ s/<[^>]+>//g;      $s =~ s/<[^>]+>//g;
       # Pop off beginning or ending spaces, which aren't good
       $s =~ s/^\s+//;
       $s =~ s/\s+$//;
     return $s;      return $s;
 }  }
   
   # alias for normalize_string; recommend using it only in the lexicon
   sub ns {
       return normalize_string(@_);
   }
   
   # mtn: call the mt function and the normalization function easily.
   # Returns original non-normalized string if there was no translation
   sub mtn (@) {
       my @args = @_; # don't want to modify caller's string; if we
      # didn't care about that we could set $_[0]
      # directly
       $args[0] = normalize_string($args[0]);
       my $translation = &mt(@args);
       if ($translation ne $args[0]) {
    return $translation;
       } else {
    return $_[0];
       }
   }
   
 1;  1;
   
 __END__  __END__

Removed from v.1.18  
changed lines
  Added in v.1.24


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>