This commit is contained in:
2025-11-26 21:59:49 +01:00
parent 1cf4553163
commit a6bd3361fb
6 changed files with 15 additions and 19 deletions

View File

@@ -115,17 +115,21 @@ if (empty($availableLangs)) {
}
// Falls Sprache ungültig oder nicht in available:
// 1) Wenn 'en' existiert → nimm 'en'
// 2) Sonst: erste verfügbare Sprache
// 1) Wenn 'de' existiert → nimm 'de'
// 2) sonst, wenn 'en' existiert → nimm 'en'
// 3) sonst: erste verfügbare Sprache
if (!$lang || !isset($availableLangs[$lang])) {
if (isset($availableLangs['de'])) {
$lang = 'de';
} elseif (isset($availableLangs['en'])) {
$lang = 'en';
} else {
$keys = array_keys($availableLangs);
$lang = $keys[0] ?? 'de';
$lang = $keys[0] ?? 'en';
}
}
// -----------------------------------------------------------
// 3) Aktive Sprachdatei laden
// -----------------------------------------------------------
@@ -163,6 +167,7 @@ $GLOBALS['i18n'] = [
'fallback' => $fallbackLangData,
];
$lang = $GLOBALS['lang'] ?? 'de';
// -----------------------------------------------------------
// 6) Rest des Systems laden
// -----------------------------------------------------------

View File

@@ -137,13 +137,17 @@ function build_lang_url(string $code, string $path, array $query): string
class="hidden absolute right-0 mt-2 w-32 rounded-xl bg-brand-surface border border-brand-border shadow-lg py-1 text-xs z-40">
<?php foreach ($availableLangs as $code => $info): ?>
<?php
$isActive = ($code === $currentLang);
// 👉 aktuelle Sprache NICHT noch einmal im Menü anzeigen
if ($code === $currentLang) {
continue;
}
$flag = $info['flag'] ?? '🏳️';
$label = strtoupper($info['code'] ?? $code);
$url = build_lang_url($code, $currentPath, $currentQuery);
?>
<a href="<?= htmlspecialchars($url) ?>"
class="lang-pill flex items-center gap-2 w-full text-left px-3 py-1.5 uppercase tracking-[0.18em] text-brand-muted hover:text-brand-primary hover:bg-brand-bg/60 <?= $isActive ? 'bg-brand-bg/60' : '' ?>">
class="lang-pill flex items-center gap-2 w-full text-left px-3 py-1.5 uppercase tracking-[0.18em] text-brand-muted hover:text-brand-primary hover:bg-brand-bg/60">
<span class="text-base"><?= htmlspecialchars($flag) ?></span>
<span><?= htmlspecialchars($label) ?></span>
</a>

View File

@@ -3,10 +3,6 @@ $pageKey = 'landing';
require_once dirname(__DIR__) . '/config/fileload.php';
// Sprachlogik:
$lang = $_GET['lang'] ?? 'en';
$lang = in_array($lang, ['de','en','it','fr']) ? $lang : 'en';
// User-Dummy (später über Login ersetzen)
$userInitials = null;

View File

@@ -4,9 +4,6 @@ $pageKey = 'dashboard';
require_once dirname(__DIR__) . '/config/fileload.php';
// Sprachlogik
$lang = $_GET['lang'] ?? 'de';
$lang = in_array($lang, ['de','en','it','fr'], true) ? $lang : 'de';
// User aus Session holen
$currentUser = $_SESSION['user'] ?? null;

View File

@@ -5,9 +5,6 @@ require_once dirname(__DIR__) . '/config/fileload.php';
// public/fakecheck/index.php
// Sprachlogik wie auf der Startseite
$lang = $_GET['lang'] ?? 'en';
$lang = in_array($lang, ['de','en','it','fr']) ? $lang : 'en';
// User-Dummy (später über Login ersetzen)
$userInitials = null;

View File

@@ -3,9 +3,6 @@ $pageKey = 'login';
require_once __DIR__ . '/../../../config/fileload.php';
tpl_add_script('/assets/js/auth.js', 'footer', true, false, '', 'auth-1');
// Sprachlogik:
$lang = $_GET['lang'] ?? 'en';
$lang = in_array($lang, ['de','en','it','fr']) ? $lang : 'en';
// später: echte Session
$userInitials = null;