From 17ef83f2232d6d495b69e944aeeaf85ac17e3db6 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 21 Aug 2024 16:02:42 +0200 Subject: [PATCH] header.pl: Fix language loading We have been importing the language files many times when they are actually rather slow. This just tidies this up. Signed-off-by: Michael Tremer --- config/cfgroot/header.pl | 32 +------------------------------- config/cfgroot/lang.pl | 7 ++++--- 2 files changed, 5 insertions(+), 34 deletions(-) diff --git a/config/cfgroot/header.pl b/config/cfgroot/header.pl index 45fe44a8e..a90a6f481 100644 --- a/config/cfgroot/header.pl +++ b/config/cfgroot/header.pl @@ -107,41 +107,11 @@ $hostname = $settings{'HOSTNAME'}; ### Initialize language require "${swroot}/lang.pl"; -$language = &Lang::FindWebLanguage($settings{"LANGUAGE"}); - -### Read English Files -if ( -d "/var/ipfire/langs/en/" ) { - opendir(DIR, "/var/ipfire/langs/en/"); - @names = readdir(DIR) or die "Cannot Read Directory: $!\n"; - foreach $name(@names) { - next if ($name eq "."); - next if ($name eq ".."); - next if (!($name =~ /\.pl$/)); - require "${swroot}/langs/en/${name}"; - }; -}; - - -### Enable Language Files -if ( -d "/var/ipfire/langs/${language}/" ) { - opendir(DIR, "/var/ipfire/langs/${language}/"); - @names = readdir(DIR) or die "Cannot Read Directory: $!\n"; - foreach $name(@names) { - next if ($name eq "."); - next if ($name eq ".."); - next if (!($name =~ /\.pl$/)); - require "${swroot}/langs/${language}/${name}"; - }; -}; ### Initialize user manual my %manualpages = (); &_read_manualpage_hash("${General::swroot}/main/manualpages"); -### Load selected language and theme functions -require "${swroot}/langs/en.pl"; -require "${swroot}/langs/${language}.pl"; - ############################################################################### # # print menu html elements for submenu entries @@ -219,7 +189,7 @@ sub openpage { print < - + $headline - $title diff --git a/config/cfgroot/lang.pl b/config/cfgroot/lang.pl index f3fe4ed51..2c3b8bbae 100644 --- a/config/cfgroot/lang.pl +++ b/config/cfgroot/lang.pl @@ -37,13 +37,14 @@ $Lang::CacheLang = '/var/ipfire/langs/cache-lang.pl'; ### Initialize language %Lang::tr = (); + my %settings = (); &General::readhash("${General::swroot}/main/settings", \%settings); + +# Load the selected language reload($settings{'LANGUAGE'}); -# language variable used by makegraphs script -our $language; -$language = $settings{'LANGUAGE'}; +our $language = $settings{'LANGUAGE'}; # # Load requested language file from cachefile. If cachefile doesn't exist, build on the fly. -- 2.39.5