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 <michael.tremer@ipfire.org>
This commit is contained in:
Michael Tremer
2024-08-21 16:02:42 +02:00
parent ba8a6d83bd
commit 17ef83f223
2 changed files with 5 additions and 34 deletions

View File

@@ -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 <<END;
<!DOCTYPE html>
<html lang="$language">
<html lang="$Lang::language">
<head>
<title>$headline - $title</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

View File

@@ -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.