Annotation of loncom/localize/lonlocal.pm, revision 1.6

1.1       www         1: # The LearningOnline Network with CAPA
                      2: # Localization routines
                      3: #
1.6     ! www         4: # $Id: lonlocal.pm,v 1.5 2003/09/17 23:16:27 www Exp $
1.1       www         5: #
                      6: # Copyright Michigan State University Board of Trustees
                      7: #
                      8: # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
                      9: #
                     10: # LON-CAPA is free software; you can redistribute it and/or modify
                     11: # it under the terms of the GNU General Public License as published by
                     12: # the Free Software Foundation; either version 2 of the License, or
                     13: # (at your option) any later version.
                     14: #
                     15: # LON-CAPA is distributed in the hope that it will be useful,
                     16: # but WITHOUT ANY WARRANTY; without even the implied warranty of
                     17: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     18: # GNU General Public License for more details.
                     19: #
                     20: # You should have received a copy of the GNU General Public License
                     21: # along with LON-CAPA; if not, write to the Free Software
                     22: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
                     23: #
                     24: # /home/httpd/html/adm/gpl.txt
                     25: #
                     26: # http://www.lon-capa.org/
                     27: #
                     28: ######################################################################
                     29: ######################################################################
                     30: 
                     31: package Apache::lonlocal;
                     32: 
                     33: use strict;
                     34: use Apache::localize;
1.3       www        35: use Apache::File;
1.1       www        36: 
                     37: require Exporter;
                     38: 
                     39: our @ISA = qw (Exporter);
                     40: our @EXPORT = qw(mt);
                     41: 
1.4       www        42: my $reroute;
                     43: 
1.1       www        44: # ========================================================= The language handle
                     45: 
                     46: use vars qw($lh);
                     47: 
                     48: # ===================================================== The "MakeText" function
                     49: 
                     50: sub mt (@) {
1.3       www        51:     unless ($ENV{'environment.translator'}) {
                     52: 	return $lh->maketext(@_);
                     53:     } else {
1.4       www        54: 	my $trans=$lh->maketext(@_);
                     55: 	my $link='<a target="trans" href="/cgi-bin/translator.pl?arg1='.
1.3       www        56: 	    &Apache::lonnet::escape($_[0]).'&arg2='.
                     57: 	    &Apache::lonnet::escape($_[1]).'&arg3='.
                     58: 	    &Apache::lonnet::escape($_[2]).'&lang='.
                     59: 	    $ENV{'environment.translator'}.
1.4       www        60: 	    '">[['.$trans.']]</a>';
                     61: 	if ($ENV{'transreroute'}) {
                     62: 	    $reroute.=$link;
                     63: 	    return $trans;
                     64: 	} else {
                     65: 	    return $link;
                     66: 	}
                     67:     }
                     68: }
                     69: 
1.6     ! www        70: # ============================================================== What language?
        !            71: 
        !            72: sub current_language {
        !            73:     return $lh->language_tag();
        !            74: }
        !            75: 
1.4       www        76: # ============================================================== Translate hash
                     77: 
                     78: sub texthash {
                     79:     my %hash=@_;
                     80:     foreach (keys %hash) {
                     81: 	$hash{$_}=&mt($hash{$_});
                     82:     }
                     83:     return %hash;
                     84: }
1.5       www        85: # ======================================================== Re-route translation
                     86: 
                     87: sub clearreroutetrans {
                     88:     &reroutetrans();
                     89:     $reroute='';
                     90: }
1.4       www        91: 
                     92: # ======================================================== Re-route translation
                     93: 
                     94: sub reroutetrans {
                     95:     $ENV{'transreroute'}=1;
                     96: }
1.5       www        97: 
1.4       www        98: # ==================================================== End re-route translation
                     99: sub endreroutetrans {
                    100:     $ENV{'transreroute'}=0;
                    101:     if ($ENV{'environment.translator'}) {
                    102: 	return $reroute;
                    103:     } else {
                    104: 	return '';
1.3       www       105:     }
1.1       www       106: }
                    107: 
                    108: # ========= Get a handle (do not invoke in vain, leave this to access handlers)
                    109: 
                    110: sub get_language_handle {
1.2       www       111:     $lh=Apache::localize->get_handle(&Apache::loncommon::preferred_languages);
1.6     ! www       112: #    &Apache::lonnet::logthis($lh->encoding().' - '.$lh->language_tag());
1.1       www       113: }
                    114: 
                    115: 1;
                    116: 
                    117: __END__

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