Englische Übersetzungen für die restlichen Admin-Seiten
API-Schlüssel, Integration & Wartung, Voucher-Import, Backup & Restore, Reporting, Sicherheit (2FA) und Audit-Log waren fest auf Deutsch verdrahtet, obwohl in der Kopfzeile ein DE/EN-Umschalter sitzt. Diese Seiten laufen jetzt komplett über lang/de.php bzw. lang/en.php. - rund 200 neue Sprachschlüssel, beide Dateien deckungsgleich - Aktionsnamen im Audit-Log werden übersetzt statt fest ausgegeben - Bestätigungsdialoge und Statusmeldungen in JavaScript ebenfalls - admin/security.php initialisiert jetzt I18n und setzt <html lang> passend zur Auswahl Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
30d0ce3a23
commit
850a04d628
16 changed files with 580 additions and 196 deletions
|
|
@ -74,7 +74,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['do_import'])) {
|
|||
Notifier::voucherCreated($created, $site['name'], $_SESSION['user_name'] ?? null);
|
||||
$auth->writeAuditLog($_SESSION['user_id'], 'voucher_import', 'site', $siteId, "$created Voucher importiert");
|
||||
}
|
||||
$success = "$created Voucher erstellt.";
|
||||
$success = str_replace('{count}', (string)$created, __('import_created'));
|
||||
} catch (Exception $e) {
|
||||
$error = $e->getMessage();
|
||||
}
|
||||
|
|
@ -95,8 +95,8 @@ $adminBase = '';
|
|||
<?php require __DIR__ . '/../includes/admin_nav.php'; ?>
|
||||
<div class="page-header">
|
||||
<div>
|
||||
<h1 class="page-title">Voucher-Import</h1>
|
||||
<p class="page-subtitle">Mehrere Vouchers auf einmal aus einer CSV-Liste erstellen.</p>
|
||||
<h1 class="page-title"><?= __('import_title') ?></h1>
|
||||
<p class="page-subtitle"><?= __('import_subtitle') ?></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -104,27 +104,27 @@ $adminBase = '';
|
|||
<?php if ($success): ?><div class="alert alert-ok"><?= htmlspecialchars($success) ?></div><?php endif; ?>
|
||||
|
||||
<div class="card">
|
||||
<h2>Mehrere Voucher erstellen</h2>
|
||||
<p class="muted">Eine Zeile pro Voucher: <code>Name,MaxGeräte,Minuten</code> – MaxGeräte und Minuten sind optional (Standardwerte greifen). Max. 200 Zeilen. Beispiel:<br>
|
||||
<h2><?= __('import_card_title') ?></h2>
|
||||
<p class="muted"><?= __('import_format_hint') ?> <code>Name,MaxGeräte,Minuten</code> <?= __('import_format_hint2') ?><br>
|
||||
<code>Gast Müller,1,480</code> · <code>Konferenzraum A,5,240</code> · <code>Tagespass</code></p>
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="csrf_token" value="<?= htmlspecialchars($csrf) ?>">
|
||||
<label>Standort</label>
|
||||
<label><?= __('import_site') ?></label>
|
||||
<select class="input" name="site_id" required>
|
||||
<?php foreach ($sites as $s): ?><option value="<?= (int)$s['id'] ?>"><?= htmlspecialchars($s['name']) ?></option><?php endforeach; ?>
|
||||
</select>
|
||||
<label>CSV-Datei (optional)</label>
|
||||
<label><?= __('import_file') ?></label>
|
||||
<input class="input" type="file" name="csv" accept=".csv,text/csv">
|
||||
<label>… oder direkt einfügen</label>
|
||||
<label><?= __('import_paste') ?></label>
|
||||
<textarea name="csv_text" placeholder="Gast Müller,1,480 Konferenzraum A,5,240"></textarea>
|
||||
<button class="btn" type="submit" name="do_import" style="margin-top:14px;" onclick="return confirm('Import jetzt starten?');">Importieren</button>
|
||||
<button class="btn" type="submit" name="do_import" style="margin-top:14px;" onclick="return confirm('<?= __('import_confirm') ?>');"><?= __('import_submit') ?></button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php if (!empty($results)): ?>
|
||||
<div class="card">
|
||||
<h2>Ergebnis</h2>
|
||||
<table><tr><th>Name</th><th>Code / Fehler</th><th>Status</th></tr>
|
||||
<h2><?= __('import_result') ?></h2>
|
||||
<table><tr><th><?= __('label_name') ?></th><th><?= __('import_col_code') ?></th><th><?= __('label_status') ?></th></tr>
|
||||
<?php foreach ($results as $r): ?>
|
||||
<tr><td><?= htmlspecialchars($r['name']) ?></td><td><code><?= htmlspecialchars($r['code']) ?></code></td><td><?= $r['ok'] ? '✅' : '❌' ?></td></tr>
|
||||
<?php endforeach; ?>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue