langugage

This commit is contained in:
2025-11-26 00:38:13 +01:00
parent 63fbd8b406
commit 9a2ba6dd8a
2 changed files with 18 additions and 23 deletions

View File

@@ -6,23 +6,27 @@ $scheme = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'http
$host = $_SERVER['HTTP_HOST'] ?? app_primary_domain(); $host = $_SERVER['HTTP_HOST'] ?? app_primary_domain();
$requestUri = $_SERVER['REQUEST_URI'] ?? '/'; $requestUri = $_SERVER['REQUEST_URI'] ?? '/';
// Aktuelle Sprache & Sprachen aus den GLOBALS (fileload.php)
$currentLang = $GLOBALS['lang'] ?? ($lang ?? 'en');
$allAvailable = $GLOBALS['availableLangs'] ?? [];
// Optional: Environment aus config.php (du hattest $env → $GLOBALS['usb_env'])
$env = $GLOBALS['usb_env'] ?? 'prod';
// ----------------------------------------------- // -----------------------------------------------
// USBCheck JavaScript-Konfiguration // USBCheck JavaScript-Konfiguration
// (für fakecheck.*, header.js, i18n, usw.)
// ----------------------------------------------- // -----------------------------------------------
$usbConfig = [ $usbConfig = [
'lang' => $lang ?? 'en', 'lang' => $currentLang,
// Basis-Pfade // Basis-Pfade
'assetsBase' => '/assets', 'assetsBase' => '/assets',
// Versionierung für JS/CSS // Versionierung für JS/CSS
// → wenn ASSET_VERSION definiert ist, wird sie genutzt
// → sonst null (JS-Loader sorgt für ?v= fallback)
'assetVersion'=> defined('ASSET_VERSION') ? ASSET_VERSION : null, 'assetVersion'=> defined('ASSET_VERSION') ? ASSET_VERSION : null,
// Environment (prod, staging, dev) // Environment (prod, staging, dev)
'env' => $GLOBALS['ENV'] ?? 'prod', 'env' => $env,
// Domains // Domains
'domains' => [ 'domains' => [
@@ -36,24 +40,15 @@ $usbConfig = [
'fakecheck' => [ 'fakecheck' => [
'baseUrl' => $GLOBALS['usb_base_url'] ?? '', 'baseUrl' => $GLOBALS['usb_base_url'] ?? '',
'apiBaseUrl' => $GLOBALS['usb_api_base'] ?? 'https://api.usbcheck.it', 'apiBaseUrl' => $GLOBALS['usb_api_base'] ?? 'https://api.usbcheck.it',
'locale' => $lang ?? 'en', 'locale' => $currentLang,
], ],
// ----------------------------------------------- // i18n-Konfiguration
// i18n: aus fileload.php gefüllt
// -----------------------------------------------
'i18n' => [ 'i18n' => [
// Alle verfügbaren Sprachen (code, label, flag) 'available' => $allAvailable,
'available' => $availableLangs ?? [], 'current' => $currentLang,
// Aktuelle Sprache als Code (de/en/fr/it …)
'current' => $lang ?? 'en',
], ],
]; ];
// -----------------------------------------------
// Javascript-Konfiguration in die Seite schreiben
// -----------------------------------------------
?> ?>
<script> <script>
window.usbConfig = <?= json_encode( window.usbConfig = <?= json_encode(

View File

@@ -13,17 +13,17 @@
// Fallbacks & i18n Title/Description // Fallbacks & i18n Title/Description
// ----------------------------------------------------------- // -----------------------------------------------------------
// Sicherstellen, dass availableLangs existiert (kommt aus fileload.php) // Sprachen **immer** aus den GLOBALS holen (aus fileload.php)
$availableLangs = $availableLangs ?? []; $availableLangs = $GLOBALS['availableLangs'] ?? [];
// Page-Key Fallback // Page-Key Fallback
if (!isset($pageKey) || !is_string($pageKey) || $pageKey === '') { if (!isset($pageKey) || !is_string($pageKey) || $pageKey === '') {
$pageKey = 'landing'; $pageKey = 'landing';
} }
// Fallback für Sprache: lieber auf $availableLangs statt feste Liste // Sprache: erst lokale $lang prüfen, sonst global aus fileload.php, dann Fallback
if (!isset($lang) || !isset($availableLangs[$lang])) { if (!isset($lang) || !isset($availableLangs[$lang])) {
$lang = array_key_first($availableLangs) ?: 'en'; $lang = $GLOBALS['lang'] ?? (array_key_first($availableLangs) ?: 'en');
} }
// Title aus i18n, falls nichts explizit gesetzt wurde // Title aus i18n, falls nichts explizit gesetzt wurde
@@ -148,7 +148,7 @@ $effectiveCanonical = isset($canonical) && is_string($canonical) && $canonical !
<!-- Tailwind (Dev) --> <!-- Tailwind (Dev) -->
<script src="https://cdn.tailwindcss.com"></script> <script src="https://cdn.tailwindcss.com"></script>
<!-- Eigenes CSS (falls du das irgendwann auch versionieren willst, gerne über tpl_add_style) --> <!-- Eigenes CSS -->
<link rel="stylesheet" href="/assets/css/main.css"> <link rel="stylesheet" href="/assets/css/main.css">
</head> </head>