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

@@ -28,5 +28,18 @@
"creditsExhausted": "Keine Event-Credits mehr verfügbar. Bitte buche Credits oder upgrade dein Paket.",
"photoLimit": "Für dieses Event ist das Foto-Upload-Limit erreicht.",
"goToBilling": "Zur Paketverwaltung"
},
"limits": {
"photosTitle": "Foto-Limit",
"photosWarning": "Nur noch {remaining} von {limit} Foto-Uploads verfügbar.",
"photosBlocked": "Foto-Uploads sind blockiert. Bitte Paket upgraden oder erweitern.",
"guestsTitle": "Gäste-Limit",
"guestsWarning": "Nur noch {remaining} von {limit} Gästelinks verfügbar.",
"guestsBlocked": "Gästeinladungen sind blockiert. Bitte Paket upgraden oder Kontingent freigeben.",
"galleryTitle": "Galerie",
"galleryWarningDay": "Galerie läuft in {days} Tag ab.",
"galleryWarningDays": "Galerie läuft in {days} Tagen ab.",
"galleryExpired": "Galerie ist abgelaufen. Gäste sehen keine Inhalte mehr.",
"unlimited": "Unbegrenzt"
}
}

View File

@@ -86,6 +86,18 @@
"description": "Aktives Paket und Historie einsehen."
}
},
"limitsCard": {
"title": "Kontingente & Laufzeiten",
"description": "Fokus-Event: {{name}}",
"descriptionFallback": "Kein Fokus-Event ausgewählt",
"photosLabel": "Foto-Uploads",
"guestsLabel": "Gastzugänge",
"galleryLabel": "Galerie-Laufzeit",
"usageLabel": "{{used}} von {{limit}} genutzt",
"remainingLabel": "{{remaining}} übrig (Limit {{limit}})",
"galleryExpires": "Läuft am {{date}} ab",
"galleryNoExpiry": "Keine Ablaufzeit hinterlegt"
},
"upcoming": {
"title": "Kommende Events",
"description": "Die nächsten Termine inklusive Status & Zugriff.",
@@ -158,6 +170,18 @@
"description": "Aktives Paket und Historie einsehen."
}
},
"limitsCard": {
"title": "Kontingente & Laufzeiten",
"description": "Fokus-Event: {{name}}",
"descriptionFallback": "Kein Fokus-Event ausgewählt",
"photosLabel": "Foto-Uploads",
"guestsLabel": "Gastzugänge",
"galleryLabel": "Galerie-Laufzeit",
"usageLabel": "{{used}} von {{limit}} genutzt",
"remainingLabel": "{{remaining}} übrig (Limit {{limit}})",
"galleryExpires": "Läuft am {{date}} ab",
"galleryNoExpiry": "Keine Ablaufzeit hinterlegt"
},
"upcoming": {
"title": "Kommende Events",
"description": "Die nächsten Termine inklusive Status & Zugriff.",

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."
}
}
}
}
}