Eigentlich sollte das beides funktionieren.
Denn in der Funktion message_die wird an der Stelle
Code: Alles auswählen
if ( $msg_code != CRITICAL_ERROR )
{
if ( !empty($lang[$msg_text]) )
{
$msg_text = $lang[$msg_text];
}
geprüft ob ein derartiger Eintrag in der Sprachvariablen enthalten ist. Wenn nicht wird eben der übergebene Text ausgegeben. Da es sich um den Typ CRITICAL_MESSAGE handelt wird dies auch so ausgeführt, wenn trotzdem der Text nicht aus der $lang genommen wird dann kann das nur heißen dass er sich nicht dort befindet --> Entweder fehlt die Sprachdatei komplett (wurde noch nicht includiert) oder in der Datei fehlt der entsprechende Eintrag.
Der Message Typ ist daran schuld, dass message_die nicht die Userdaten initialisiert:
Code: Alles auswählen
if( empty($userdata) && ( $msg_code == GENERAL_MESSAGE || $msg_code == GENERAL_ERROR ) )
{
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
}
allerdings sollte dann eigentlich die Default Board Sprache gewählt werden oder wenn die nicht existiert (weil z.B. die Board_config auch noch nicht eingelesen wurden) dann wird Englisch als Standardsprache gewählt:
Code: Alles auswählen
if ( !defined('HEADER_INC') && $msg_code != CRITICAL_ERROR )
{
if ( empty($lang) )
{
if ( !empty($board_config['default_lang']) )
{
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.'.$phpEx);
}
else
{
include($phpbb_root_path . 'language/lang_english/lang_main.'.$phpEx);
}
}