From 9e483cf445bf55bca00b551b2dd118165484012c Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Wed, 26 Nov 2025 01:04:52 +0100 Subject: [PATCH] language --- config/fileload.php | 12 +++++++++--- partials/structure/header.php | 24 +++++++++++++++++------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/config/fileload.php b/config/fileload.php index 064ee07..003f523 100644 --- a/config/fileload.php +++ b/config/fileload.php @@ -114,10 +114,16 @@ if (empty($availableLangs)) { ]; } -// Falls Sprache ungültig oder nicht in available → erste verfügbare Sprache wählen +// Falls Sprache ungültig oder nicht in available: +// 1) Wenn 'en' existiert → nimm 'en' +// 2) Sonst: erste verfügbare Sprache if (!$lang || !isset($availableLangs[$lang])) { - $keys = array_keys($availableLangs); - $lang = $keys[0] ?? 'en'; + if (isset($availableLangs['en'])) { + $lang = 'en'; + } else { + $keys = array_keys($availableLangs); + $lang = $keys[0] ?? 'en'; + } } // ----------------------------------------------------------- diff --git a/partials/structure/header.php b/partials/structure/header.php index 648b825..90ed1ac 100644 --- a/partials/structure/header.php +++ b/partials/structure/header.php @@ -48,8 +48,6 @@ if ($isLoggedIn) { // ----------------------------------------- // Sprachkontext direkt aus fileload.php // ----------------------------------------- - -// Aktuelle Sprache und verfügbare Sprachen aus den GLOBALS $currentLang = $GLOBALS['lang'] ?? 'en'; $availableLangs = $GLOBALS['availableLangs'] ?? []; @@ -76,13 +74,25 @@ $currentLangFlag = $currentLangInfo['flag'] ?? '🏳️'; $currentLangCode = strtoupper($currentLangInfo['code'] ?? $currentLang); $currentLangLabel = $currentLangInfo['label'] ?? $currentLangCode; +// ----------------------------------------- +// Helper: URL mit anderem ?lang=.. bauen +// ----------------------------------------- +$currentPath = strtok($_SERVER['REQUEST_URI'] ?? '/', '?'); +$currentQuery = $_GET ?? []; + +function build_lang_url(string $code, string $path, array $query): string +{ + $query['lang'] = $code; + $qs = http_build_query($query); + return $path . ($qs ? ('?' . $qs) : ''); +} ?>