[Rt-commit] r5128 - in rt/branches/3.7-EXPERIMENTAL: .

ruz at bestpractical.com ruz at bestpractical.com
Thu Apr 27 20:17:27 EDT 2006


Author: ruz
Date: Thu Apr 27 20:17:26 2006
New Revision: 5128

Modified:
   rt/branches/3.7-EXPERIMENTAL/   (props changed)
   rt/branches/3.7-EXPERIMENTAL/lib/RT/I18N.pm

Log:
 r2644 at cubic-pc:  cubic | 2006-04-28 04:22:44 +0400
 * load language specific functions for laguages user uses only


Modified: rt/branches/3.7-EXPERIMENTAL/lib/RT/I18N.pm
==============================================================================
--- rt/branches/3.7-EXPERIMENTAL/lib/RT/I18N.pm	(original)
+++ rt/branches/3.7-EXPERIMENTAL/lib/RT/I18N.pm	Thu Apr 27 20:17:26 2006
@@ -101,21 +101,24 @@
 sub Init {
     require File::Glob;
 
-    # XXX: why do we load all language functions
-    # whne we are going to use only several languages? //ruz
+    my @lang = RT->Config->Get('LexiconLanguages');
+    @lang = ('*') unless @lang;
+
+    # load default functions
+    require substr(__FILE__, 0, -3) . '/i_default.pm';
 
     # Load language-specific functions
-    foreach my $language ( File::Glob::bsd_glob(substr(__FILE__, 0, -3) . "/*.pm")) {
-        if ($language =~ /^([-\w\s.\/\\~:]+)$/) {
-            require $1;
+    foreach my $file ( File::Glob::bsd_glob(substr(__FILE__, 0, -3) . "/*.pm") ) {
+        unless ( $file =~ /^([-\w\s\.\/\\~:]+)$/ ) {
+            warn("$file is tainted. not loading");
+            next;
         }
-        else {
-            warn("$language is tainted. not loading");
-        } 
-    }
+        $file = $1;
 
-    my @lang = RT->Config->Get('LexiconLanguages');
-    @lang = ('*') unless @lang;
+        my ($lang) = ($file =~ /([^\\\/]+?)\.pm$/);
+        next unless grep $_ eq '*' || $_ eq $lang, @lang;
+        require $file;
+    }
 
     # Acquire all .po files and iterate them into lexicons
     Locale::Maketext::Lexicon->import({


More information about the Rt-commit mailing list