|
|
|
@ -21,6 +21,7 @@ my $config = ConfigFile::read_config_file('/etc/cryptobox/cryptobox.conf');
|
|
|
|
|
$CB_SCRIPT = $config->{CB_SCRIPT};
|
|
|
|
|
$LOG_FILE = $config->{LOG_FILE};
|
|
|
|
|
$LANGUAGE_DIR = $config->{LANGUAGE_DIR};
|
|
|
|
|
# language setting may be later overriden by "weblang"
|
|
|
|
|
$LANGUAGE = $config->{LANGUAGE};
|
|
|
|
|
$TEMPLATE_DIR = $config->{TEMPLATE_DIR};
|
|
|
|
|
$DOC_DIR = $config->{DOC_DIR};
|
|
|
|
@ -246,13 +247,21 @@ $pagedata = load_hdf();
|
|
|
|
|
if ($query->param('weblang')) {
|
|
|
|
|
my $weblang = $query->param('weblang');
|
|
|
|
|
if (&validate_language($weblang)) {
|
|
|
|
|
&log_msg("lang: $weblang");
|
|
|
|
|
# load the data
|
|
|
|
|
&load_language_data($pagedata, "$weblang");
|
|
|
|
|
&log_msg("loaded: $weblang");
|
|
|
|
|
# add the setting to every link
|
|
|
|
|
$pagedata->setValue('Data.PostData.weblang', "$weblang");
|
|
|
|
|
&log_msg("set: $weblang");
|
|
|
|
|
# select documentation
|
|
|
|
|
if (-e "$DOC_DIR/$weblang") {
|
|
|
|
|
# selected web interface language
|
|
|
|
|
$pagedata->setValue('Data.DocLang', "$weblang");
|
|
|
|
|
} elseif (-e "$DOC_DIR/$LANGUAGE") {
|
|
|
|
|
# default CryptoBox language
|
|
|
|
|
$pagedata->setValue('Data.DocLang', "$LANGUAGE");
|
|
|
|
|
} else {
|
|
|
|
|
# default hardcoded language (english)
|
|
|
|
|
$pagedata->setValue('Data.DocLang', "en");
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
$pagedata->setValue('Data.Warning', 'InvalidLanguage');
|
|
|
|
|
}
|
|
|
|
|