language
This commit is contained in:
@@ -115,17 +115,21 @@ if (empty($availableLangs)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Falls Sprache ungültig oder nicht in available:
|
// Falls Sprache ungültig oder nicht in available:
|
||||||
// 1) Wenn 'en' existiert → nimm 'en'
|
// 1) Wenn 'de' existiert → nimm 'de'
|
||||||
// 2) Sonst: erste verfügbare Sprache
|
// 2) sonst, wenn 'en' existiert → nimm 'en'
|
||||||
|
// 3) sonst: erste verfügbare Sprache
|
||||||
if (!$lang || !isset($availableLangs[$lang])) {
|
if (!$lang || !isset($availableLangs[$lang])) {
|
||||||
if (isset($availableLangs['de'])) {
|
if (isset($availableLangs['de'])) {
|
||||||
$lang = 'de';
|
$lang = 'de';
|
||||||
|
} elseif (isset($availableLangs['en'])) {
|
||||||
|
$lang = 'en';
|
||||||
} else {
|
} else {
|
||||||
$keys = array_keys($availableLangs);
|
$keys = array_keys($availableLangs);
|
||||||
$lang = $keys[0] ?? 'de';
|
$lang = $keys[0] ?? 'en';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
// 3) Aktive Sprachdatei laden
|
// 3) Aktive Sprachdatei laden
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
@@ -163,6 +167,7 @@ $GLOBALS['i18n'] = [
|
|||||||
'fallback' => $fallbackLangData,
|
'fallback' => $fallbackLangData,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$lang = $GLOBALS['lang'] ?? 'de';
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
// 6) Rest des Systems laden
|
// 6) Rest des Systems laden
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
|
|||||||
@@ -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">
|
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 foreach ($availableLangs as $code => $info): ?>
|
||||||
<?php
|
<?php
|
||||||
$isActive = ($code === $currentLang);
|
// 👉 aktuelle Sprache NICHT noch einmal im Menü anzeigen
|
||||||
|
if ($code === $currentLang) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$flag = $info['flag'] ?? '🏳️';
|
$flag = $info['flag'] ?? '🏳️';
|
||||||
$label = strtoupper($info['code'] ?? $code);
|
$label = strtoupper($info['code'] ?? $code);
|
||||||
$url = build_lang_url($code, $currentPath, $currentQuery);
|
$url = build_lang_url($code, $currentPath, $currentQuery);
|
||||||
?>
|
?>
|
||||||
<a href="<?= htmlspecialchars($url) ?>"
|
<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 class="text-base"><?= htmlspecialchars($flag) ?></span>
|
||||||
<span><?= htmlspecialchars($label) ?></span>
|
<span><?= htmlspecialchars($label) ?></span>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -3,10 +3,6 @@ $pageKey = 'landing';
|
|||||||
require_once dirname(__DIR__) . '/config/fileload.php';
|
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)
|
// User-Dummy (später über Login ersetzen)
|
||||||
$userInitials = null;
|
$userInitials = null;
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,6 @@ $pageKey = 'dashboard';
|
|||||||
require_once dirname(__DIR__) . '/config/fileload.php';
|
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
|
// User aus Session holen
|
||||||
$currentUser = $_SESSION['user'] ?? null;
|
$currentUser = $_SESSION['user'] ?? null;
|
||||||
|
|||||||
@@ -5,9 +5,6 @@ require_once dirname(__DIR__) . '/config/fileload.php';
|
|||||||
|
|
||||||
// public/fakecheck/index.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)
|
// User-Dummy (später über Login ersetzen)
|
||||||
$userInitials = null;
|
$userInitials = null;
|
||||||
|
|||||||
@@ -3,9 +3,6 @@ $pageKey = 'login';
|
|||||||
require_once __DIR__ . '/../../../config/fileload.php';
|
require_once __DIR__ . '/../../../config/fileload.php';
|
||||||
|
|
||||||
tpl_add_script('/assets/js/auth.js', 'footer', true, false, '', 'auth-1');
|
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
|
// später: echte Session
|
||||||
$userInitials = null;
|
$userInitials = null;
|
||||||
|
|||||||
Reference in New Issue
Block a user