![]() ![]() | ![]() |
Get current language directly from lonlocal
1: # The LearningOnline Network with CAPA 2: # Localization routines 3: # 4: # $Id: lonlocal.pm,v 1.6 2003/09/20 13:21:45 www Exp $ 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; 35: use Apache::File; 36: 37: require Exporter; 38: 39: our @ISA = qw (Exporter); 40: our @EXPORT = qw(mt); 41: 42: my $reroute; 43: 44: # ========================================================= The language handle 45: 46: use vars qw($lh); 47: 48: # ===================================================== The "MakeText" function 49: 50: sub mt (@) { 51: unless ($ENV{'environment.translator'}) { 52: return $lh->maketext(@_); 53: } else { 54: my $trans=$lh->maketext(@_); 55: my $link='<a target="trans" href="/cgi-bin/translator.pl?arg1='. 56: &Apache::lonnet::escape($_[0]).'&arg2='. 57: &Apache::lonnet::escape($_[1]).'&arg3='. 58: &Apache::lonnet::escape($_[2]).'&lang='. 59: $ENV{'environment.translator'}. 60: '">[['.$trans.']]</a>'; 61: if ($ENV{'transreroute'}) { 62: $reroute.=$link; 63: return $trans; 64: } else { 65: return $link; 66: } 67: } 68: } 69: 70: # ============================================================== What language? 71: 72: sub current_language { 73: return $lh->language_tag(); 74: } 75: 76: # ============================================================== Translate hash 77: 78: sub texthash { 79: my %hash=@_; 80: foreach (keys %hash) { 81: $hash{$_}=&mt($hash{$_}); 82: } 83: return %hash; 84: } 85: # ======================================================== Re-route translation 86: 87: sub clearreroutetrans { 88: &reroutetrans(); 89: $reroute=''; 90: } 91: 92: # ======================================================== Re-route translation 93: 94: sub reroutetrans { 95: $ENV{'transreroute'}=1; 96: } 97: 98: # ==================================================== End re-route translation 99: sub endreroutetrans { 100: $ENV{'transreroute'}=0; 101: if ($ENV{'environment.translator'}) { 102: return $reroute; 103: } else { 104: return ''; 105: } 106: } 107: 108: # ========= Get a handle (do not invoke in vain, leave this to access handlers) 109: 110: sub get_language_handle { 111: $lh=Apache::localize->get_handle(&Apache::loncommon::preferred_languages); 112: # &Apache::lonnet::logthis($lh->encoding().' - '.$lh->language_tag()); 113: } 114: 115: 1; 116: 117: __END__