Mehrsprachigkeit - wahke/etstats GitHub Wiki
ETStats Web unterstützt mehrere Sprachen, aktuell Deutsch (de) und Englisch (en).
Die Sprachdateien befinden sich im Ordner:
/lang/
├── de.php
└── en.php
Jede Datei enthält ein assoziatives Array:
return [
'site_title' => 'ETStats Web',
'nav_home' => 'Startseite',
...
];
Standardmäßig wird die Datei de.php
geladen:
$lang = include __DIR__ . '/../lang/de.php';
Wenn du die Sprache umschaltbar machen willst:
$langCode = $_GET['lang'] ?? 'de';
$langFile = "../lang/" . basename($langCode) . ".php";
$lang = file_exists($langFile) ? include $langFile : include "../lang/de.php";
Dann kannst du in der Navigation Sprachlinks einfügen:
<a href="?lang=de">Deutsch</a> | <a href="?lang=en">English</a>
- Kopiere eine bestehende Datei, z. B.:
cp lang/en.php lang/fr.php
- Übersetze alle Texte
- Füge Umschalter in dein Layout ein:
<a href="?lang=fr">Français</a>
Verwende zentrale Variablen im Layout:
<title><?= htmlspecialchars($lang['site_title']) ?></title>
So kannst du mit einer Datei alle Texte leicht austauschen – ohne Templates zu ändern.
- Verwende kurze, sprechende Keys (
nav_home
,upload_logfile
, etc.) - Vermeide HTML im Sprachtext
- Achte auf UTF-8 ohne BOM
📖 Zurück zu Design und Theming