Limit-Status im Upload-Flow anzeigen (Warnbanner + Sperrzustände).

Upload-Fehlercodes auswerten und freundliche Dialoge zeigen.
This commit is contained in:
Codex Agent
2025-11-01 19:50:17 +01:00
parent 2c14493604
commit 79b209de9a
55 changed files with 3348 additions and 462 deletions

View File

@@ -32,6 +32,12 @@
"label": "Läuft ab",
"helper": "Automatische Verlängerung, falls aktiv"
}
},
"warnings": {
"noEvents": "Event-Kontingent aufgebraucht. Bitte Paket upgraden oder erneuern.",
"lowEvents": "Nur noch {{remaining}} Event-Slots verfügbar.",
"expiresSoon": "Paket läuft am {{date}} ab.",
"expired": "Paket ist abgelaufen."
}
},
"packages": {
@@ -43,7 +49,13 @@
"statusInactive": "Inaktiv",
"used": "Genutzte Events",
"available": "Verfügbar",
"expires": "Läuft ab"
"expires": "Läuft ab",
"warnings": {
"noEvents": "Event-Kontingent aufgebraucht.",
"lowEvents": "Nur noch {{remaining}} Events verbleiben.",
"expiresSoon": "Läuft am {{date}} ab.",
"expired": "Paket ist abgelaufen."
}
}
},
"transactions": {
@@ -81,6 +93,39 @@
}
}
},
"photos": {
"moderation": {
"title": "Fotos moderieren",
"subtitle": "Setze Highlights oder entferne unpassende Uploads."
},
"alerts": {
"errorTitle": "Aktion fehlgeschlagen"
},
"gallery": {
"title": "Galerie",
"description": "Klick auf ein Foto, um es hervorzuheben oder zu löschen.",
"emptyTitle": "Noch keine Fotos vorhanden",
"emptyDescription": "Motiviere deine Gäste zum Hochladen - hier erscheint anschließend die Galerie."
}
},
"events": {
"list": {
"title": "Deine Events",
"subtitle": "Plane Momente, die in Erinnerung bleiben. Hier verwaltest du alles rund um deine Veranstaltungen.",
"actions": {
"create": "Neues Event",
"settings": "Einstellungen"
},
"overview": {
"title": "Übersicht",
"empty": "Noch keine Events - starte jetzt und lege dein erstes Event an.",
"count": "{{count}} {{count, plural, one {Event} other {Events}}} aktiv verwaltet.",
"badge": {
"dashboard": "Tenant Dashboard"
}
}
}
},
"members": {
"title": "Event-Mitglieder",
"subtitle": "Verwalte Moderatoren, Admins und Helfer für dieses Event.",
@@ -715,4 +760,68 @@
}
}
}
,
"settings": {
"notifications": {
"title": "Benachrichtigungen",
"description": "Lege fest, für welche Ereignisse wir dich per E-Mail informieren.",
"errorLoad": "Benachrichtigungseinstellungen konnten nicht geladen werden.",
"errorSave": "Speichern fehlgeschlagen. Bitte versuche es erneut.",
"hint": "Du kannst Benachrichtigungen jederzeit wieder aktivieren.",
"actions": {
"save": "Speichern",
"reset": "Auf Standard setzen"
},
"meta": {
"creditLast": "Letzte Credit-Warnung: {{date}}",
"creditNever": "Noch keine Credit-Warnung versendet."
},
"items": {
"photoThresholds": {
"label": "Warnung bei Foto-Schwellen",
"description": "Sende Warnungen bei 80 % und 95 % Foto-Auslastung."
},
"photoLimits": {
"label": "Sperre bei Foto-Limit",
"description": "Informiere mich, sobald keine Foto-Uploads mehr möglich sind."
},
"guestThresholds": {
"label": "Warnung bei Gästekontingent",
"description": "Warnung kurz bevor alle Gästelinks vergeben sind."
},
"guestLimits": {
"label": "Sperre bei Gästelimit",
"description": "Hinweis, wenn keine neuen Gästelinks mehr erzeugt werden können."
},
"galleryWarnings": {
"label": "Galerie läuft bald ab",
"description": "Erhalte 7 und 1 Tag vor Ablauf eine Erinnerung."
},
"galleryExpired": {
"label": "Galerie ist abgelaufen",
"description": "Informiere mich, sobald Gäste die Galerie nicht mehr sehen können."
},
"eventThresholds": {
"label": "Warnung bei Event-Kontingent",
"description": "Hinweis, wenn das Reseller-Paket fast ausgeschöpft ist."
},
"eventLimits": {
"label": "Sperre bei Event-Kontingent",
"description": "Nachricht, sobald keine weiteren Events erstellt werden können."
},
"packageExpiring": {
"label": "Paket läuft bald ab",
"description": "Erinnerungen bei 30, 7 und 1 Tag vor Paketablauf."
},
"packageExpired": {
"label": "Paket ist abgelaufen",
"description": "Benachrichtige mich, wenn das Paket abgelaufen ist."
},
"creditsLow": {
"label": "Event-Credits werden knapp",
"description": "Informiert mich bei niedrigen Credit-Schwellen."
}
}
}
}
}