diff --git a/partials/structure/header.php b/partials/structure/header.php index f914485..648b825 100644 --- a/partials/structure/header.php +++ b/partials/structure/header.php @@ -46,36 +46,28 @@ if ($isLoggedIn) { } // ----------------------------------------- -// Dynamische Sprachliste -// kommt aus app_config.php: -// -// $usbConfig['i18n']['available'] = [ -// 'de' => ['code'=>'de','label'=>'Deutsch','flag'=>'🇩🇪'], -// ... -// ]; -// $usbConfig['i18n']['current'] = 'de'; +// Sprachkontext direkt aus fileload.php // ----------------------------------------- -// aktuelle Sprache aus globalem Kontext -$currentLang = $usbConfig['i18n']['current'] ?? ($lang ?? 'en'); +// Aktuelle Sprache und verfügbare Sprachen aus den GLOBALS +$currentLang = $GLOBALS['lang'] ?? 'en'; +$availableLangs = $GLOBALS['availableLangs'] ?? []; -// verfügbare Sprachen aus Config -$availableLangs = $usbConfig['i18n']['available'] ?? []; - -// Fallback: Wenn Config noch nichts liefert, nimm nur die aktuelle Sprache -if (!$availableLangs || !is_array($availableLangs)) { +// Sicherheits-Fallback: falls aus irgendeinem Grund leer +if (!is_array($availableLangs) || empty($availableLangs)) { $availableLangs = [ $currentLang => [ 'code' => $currentLang, 'label' => strtoupper($currentLang), - 'flag' => '🏳️' - ] + 'flag' => '🏳️', + ], ]; } -// Sicherstellen, dass currentLang in der Liste ist +// Sicherstellen, dass currentLang eine gültige Sprache ist if (!isset($availableLangs[$currentLang])) { - $currentLang = array_key_first($availableLangs); + $keys = array_keys($availableLangs); + $currentLang = $keys[0] ?? 'en'; } // aktuelle Sprache-Info @@ -83,6 +75,7 @@ $currentLangInfo = $availableLangs[$currentLang] ?? ['code' => $currentLang]; $currentLangFlag = $currentLangInfo['flag'] ?? '🏳️'; $currentLangCode = strtoupper($currentLangInfo['code'] ?? $currentLang); $currentLangLabel = $currentLangInfo['label'] ?? $currentLangCode; + ?>