&General::readhash("${swroot}/main/settings", \%settings);
&General::readhash("${swroot}/ethernet/settings", \%ethsettings);
&General::readhash("${swroot}/ppp/settings", \%pppsettings);
-$language = $settings{'LANGUAGE'};
$hostname = $settings{'HOSTNAME'};
$hostnameintitle = 0;
### Initialize language
-if ($language =~ /^(\w+)$/) {$language = $1;}
+require "${swroot}/lang.pl";
+$language = &Lang::FindWebLanguage($settings{"LANGUAGE"});
### Read English Files
if ( -d "/var/ipfire/langs/en/" ) {
# (it is a developper options)
#
sub reload {
+ my $LG = &FindWebLanguage(shift);
- my ($LG) = @_;
%Lang::tr = (); # start with a clean array
# Use CacheLang if present & not empty.
&General::log ("WARNING: cannot build cachelang file for [$missed].") if ($error);
return $error;
}
+
+sub FindWebLanguage() {
+ my $lang = shift;
+
+ my @options = ($lang);
+
+ my ($shortlang, $encoding) = split(/\./, $lang);
+ push(@options, $shortlang);
+
+ my ($language, $country) = split(/_/, $shortlang);
+ push(@options, $language);
+
+ foreach my $option (@options) {
+ return $option if (-e "${General::swroot}/langs/$option.pl");
+ }
+
+ return undef;
+}
+
1;