This commit is contained in:
2025-11-25 22:07:05 +01:00
parent ea171ef815
commit 2c1f1c8338
11 changed files with 416 additions and 14 deletions

View File

@@ -1,6 +1,8 @@
<?php
// 0) Umgebung / Domains / Error-Level
require_once __DIR__ . "/config.php";
// -----------------------------------------------------------
// Session starten
// -----------------------------------------------------------
@@ -39,8 +41,12 @@ if (is_string($lang)) {
// -----------------------------------------------------------
// 2) Verfügbare JSON-Sprachen erkennen
// -----------------------------------------------------------
$i18nDir = __DIR__ . '/../public/assets/i18n';
$langFiles = glob($i18nDir . '/*.json') ?: [];
$i18nDir = __DIR__ . '/../public/assets/i18n';
$langFiles = [];
if (is_dir($i18nDir)) {
$langFiles = glob($i18nDir . '/*.json') ?: [];
}
$availableLangs = [];
@@ -52,7 +58,15 @@ foreach ($langFiles as $file) {
}
$meta = $json['meta'];
$code = strtolower($meta['code'] ?? basename($file, '.json'));
// Option: nur Sprachen mit enabled=true anzeigen (Template-Dateien rausfiltern)
if (isset($meta['enabled']) && $meta['enabled'] === false) {
continue;
}
$code = isset($meta['code']) && is_string($meta['code'])
? strtolower($meta['code'])
: strtolower(basename($file, '.json'));
$availableLangs[$code] = [
'code' => $code,
@@ -74,7 +88,6 @@ if (empty($availableLangs)) {
// Falls Sprache ungültig oder nicht in available → erste verfügbare Sprache wählen
if (!$lang || !isset($availableLangs[$lang])) {
// erste Sprache aus dem Array, ohne array_key_first (falls ältere PHP-Version)
$keys = array_keys($availableLangs);
$lang = $keys[0] ?? 'en';
}
@@ -119,6 +132,5 @@ $GLOBALS['i18n'] = [
// -----------------------------------------------------------
// 6) Rest des Systems laden
// -----------------------------------------------------------
require_once __DIR__ . "/db.php";
require_once __DIR__ . '/../src/functions.php';