found a dirt workaround:
phpList version 3.4.1
Edit the file /admin/languages.php
Lines 61 & 69 add $setlanguage = 'en';
Line 146 add $detectlan = 'en';
Code extract starting line 56
@session_start();
if (isset($_POST['setlanguage']) && !empty($_POST['setlanguage']) && is_array($LANGUAGES[$_POST['setlanguage']])) {
//# just in case
$setlanguage = preg_replace('/[^\w_-]+/', '', $_POST['setlanguage']);
//CMAK
$setlanguage = 'en';
$_SESSION['adminlanguage'] = array(
'info' => $setlanguage,
'iso' => $setlanguage,
'charset' => $LANGUAGES[$setlanguage][1],
'dir' => $LANGUAGES[$setlanguage][4],
);
SetCookie ( 'preferredLanguage', $setlanguage,time()+31536000);
} elseif (empty($_SESSION['adminlanguage']) && isset($_COOKIE['preferredLanguage'])) {
$setlanguage = preg_replace('/[^\w_-]+/', '', $_COOKIE['preferredLanguage']);
//CMAK
$setlanguage = 'en';
$_SESSION['adminlanguage'] = array(
'info' => $setlanguage,
'iso' => $setlanguage,
'charset' => $LANGUAGES[$setlanguage][1],
'dir' => $LANGUAGES[$setlanguage][4],
);
}
Next, the detectlan
Starting line 112
if (!isset($_SESSION['adminlanguage']) || !is_array($_SESSION['adminlanguage'])) {
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
$accept_lan = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
} else {
$accept_lan = array($GLOBALS['default_system_language']);
}
$detectlan = '';
/* @@@TODO
* we need a mapping from Accept-Language to gettext, see below
*
* eg nl-be becomes nl_BE
*
* currently "nl-be" will become "nl" and not "nl_BE";
*/
foreach ($accept_lan as $lan) {
if (!$detectlan) {
if (preg_match('/^([\w-]+)/', $lan, $regs)) {
$code = $regs[1];
if (isset($LANGUAGES[$code])) {
$detectlan = $code;
} elseif (strpos($code, '-') !== false) {
list($language, $country) = explode('-', $code);
if (isset($LANGUAGES[$language])) {
$detectlan = $language;
}
}
}
}
}
if (!$detectlan) {
$detectlan = $GLOBALS['default_system_language'];
}
// CMAK
$detectlan = 'en';
$_SESSION['adminlanguage'] = array(
'info' => $detectlan,
'iso' => $detectlan,
'charset' => $LANGUAGES[$detectlan][1],
'dir' => $LANGUAGES[$detectlan][4],
);
}