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

1.1       www         1: # The LearningOnline Network with CAPA
                      2: # Localization routines
                      3: #
1.4     ! www         4: # $Id: lonlocal.pm,v 1.3 2003/09/16 22:40:25 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: 
        !            70: # ============================================================== Translate hash
        !            71: 
        !            72: sub texthash {
        !            73:     my %hash=@_;
        !            74:     foreach (keys %hash) {
        !            75: 	$hash{$_}=&mt($hash{$_});
        !            76:     }
        !            77:     return %hash;
        !            78: }
        !            79: 
        !            80: # ======================================================== Re-route translation
        !            81: 
        !            82: sub reroutetrans {
        !            83:     $ENV{'transreroute'}=1;
        !            84:     $reroute='';
        !            85: }
        !            86: # ==================================================== End re-route translation
        !            87: sub endreroutetrans {
        !            88:     $ENV{'transreroute'}=0;
        !            89:     if ($ENV{'environment.translator'}) {
        !            90: 	return $reroute;
        !            91:     } else {
        !            92: 	return '';
1.3       www        93:     }
1.1       www        94: }
                     95: 
                     96: # ========= Get a handle (do not invoke in vain, leave this to access handlers)
                     97: 
                     98: sub get_language_handle {
1.2       www        99:     $lh=Apache::localize->get_handle(&Apache::loncommon::preferred_languages);
1.1       www       100: }
                    101: 
                    102: 1;
                    103: 
                    104: __END__

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