Add multilingual support (DE default, EN under /en/)

This commit is contained in:
chriz committed 2026-10-23 13:06:56 +02:00
1 parent 01ea3bd07a
commit 1e33c525f1
21 files changed
+855 -443

No files matched your search

+19 -4
View File
@@ -2,9 +2,18 @@
require_once __DIR__ . '/lib/SendMail.php';
require_once __DIR__ . '/lib/Session.php';
require_once __DIR__ . '/lib/Helper.php';
$session = new Session();
$lang = 'de';
if (isset($_POST['lang']) && in_array($_POST['lang'], ['de', 'en'], true)) {
$lang = $_POST['lang'];
} elseif ($session->has('lang') && in_array($session->get('lang'), ['de', 'en'], true)) {
$lang = $session->get('lang');
}
$isEn = ($lang === 'en');
function validate($data) {
$hasContact = !empty(trim($data['email'] ?? '')) || !empty(trim($data['phone'] ?? ''));
return !empty(trim($data['name'] ?? '')) && $hasContact && !empty(trim($data['message'] ?? ''));
@@ -22,7 +31,9 @@ if($_POST && count($_POST) > 0) {
if(!validate($_POST)) {
$session->set('form', $_POST);
$session->set('alert-class', 'alert-danger');
$session->set('alert', 'Bitte füllen Sie alle Pflichtfelder aus und geben Sie mindestens eine E-Mail-Adresse oder Telefonnummer an.');
$session->set('alert', $isEn
? 'Please fill out all mandatory fields and provide at least an email address or a phone number.'
: 'Bitte füllen Sie alle Pflichtfelder aus und geben Sie mindestens eine E-Mail-Adresse oder Telefonnummer an.');
} else {
$ip = $_SERVER['REMOTE_ADDR'];
@@ -37,13 +48,17 @@ if($_POST && count($_POST) > 0) {
if($mail->send()) {
$session->remove('form');
$session->set('alert-class', 'alert-success');
$session->set('alert', 'Ihre Anfrage wurde erfolgreich verschickt');
$session->set('alert', $isEn
? 'Your inquiry has been sent successfully.'
: 'Ihre Anfrage wurde erfolgreich verschickt');
} else {
$session->set('form', $_POST);
$session->set('alert-class', 'alert-danger');
$session->set('alert', 'Beim Verschicken Ihrer Anfrage ist ein Fehler aufgetreten!');
$session->set('alert', $isEn
? 'An error occurred while sending your inquiry!'
: 'Beim Verschicken Ihrer Anfrage ist ein Fehler aufgetreten!');
}
}
}
header('Location: kontakt-formular.html');
header('Location: ' . Helper::url('/kontakt-formular.html', $lang));