feat: implement AI styling foundation and billing scope rework
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-02-06 20:01:58 +01:00
parent df00deb0df
commit 36bed12ff9
80 changed files with 8944 additions and 49 deletions

View File

@@ -85,15 +85,28 @@
"lemonsqueezy_voided": "Die PayPal-Zahlung wurde storniert."
},
"sections": {
"currentEvent": {
"title": "Aktuelles Event",
"hint": "Hier siehst du, was für dein aktuell ausgewähltes Event aktiv ist.",
"empty": "Wähle ein Event aus, um eventbezogene Pakete und Add-ons zu sehen.",
"eventLabel": "Ausgewähltes Event",
"packageActive": "Für dieses Event aktiv",
"packageExpires": "Galerie aktiv bis {{date}}",
"noPackage": "Für dieses Event ist derzeit kein Paket zugewiesen.",
"addonsLabel": "Add-ons für dieses Event",
"noAddons": "Für dieses Event wurden noch keine Add-ons gekauft.",
"eventAddonSource": "Quelle: Event-Paket"
},
"invoices": {
"title": "Rechnungen & Zahlungen",
"hint": "Zahlungen prüfen und Belege herunterladen.",
"empty": "Keine Zahlungen gefunden."
},
"addOns": {
"title": "Zusatzpakete",
"hint": "Zusatzkontingente je Event im Blick behalten.",
"empty": "Keine Zusatzpakete gebucht."
"title": "Add-on-Kaufverlauf",
"hint": "Verlauf aller Add-on-Käufe über alle Events. Ein Eintrag hier ist nicht automatisch für das aktuell ausgewählte Event aktiv.",
"empty": "Keine Add-ons gebucht.",
"otherEventNotice": "Für ein anderes Event gekauft"
},
"overview": {
"title": "Paketübersicht",
@@ -125,12 +138,13 @@
}
},
"packages": {
"title": "Pakete",
"hint": "Aktives Paket, Limits und Historie auf einen Blick.",
"title": "Paketverlauf (alle Events)",
"hint": "Alle gekauften Pakete über alle Events hinweg.",
"description": "Übersicht über aktive und vergangene Pakete.",
"empty": "Noch keine Pakete gebucht.",
"card": {
"statusActive": "Aktiv",
"statusActiveTenant": "Derzeit aktiv",
"statusInactive": "Inaktiv",
"used": "Genutzte Events",
"available": "Verfügbar",
@@ -2392,6 +2406,7 @@
"photo_likes_enabled": "Foto-Likes",
"event_checklist": "Event-Checkliste",
"advanced_analytics": "Erweiterte Statistiken",
"ai_styling": "AI-Styling",
"branding_allowed": "Branding",
"watermark_allowed": "Wasserzeichen",
"watermark_base": "Fotospiel-Wasserzeichen",
@@ -2586,7 +2601,47 @@
"saveFailed": "Automatik-Einstellungen konnten nicht gespeichert werden."
},
"emptyModeration": "Keine Uploads passen zu diesem Filter.",
"emptyLive": "Keine Fotos für die Live-Show in der Warteschlange."
"emptyLive": "Keine Fotos für die Live-Show in der Warteschlange.",
"aiAddon": {
"title": "AI Magic Edits",
"body": "AI-Styling bleibt verborgen, bis dieses Event berechtigt ist. Schalte es per Add-on frei oder nutze Premium.",
"buyAction": "AI-Styling-Add-on kaufen",
"upgradeAction": "Premium-Paket ansehen"
},
"aiSettings": {
"title": "AI-Styling-Steuerung",
"subtitle": "Aktiviere AI-Edits pro Event, steuere erlaubte Presets und überwache Nutzung/Fehler.",
"loadFailed": "AI-Einstellungen konnten nicht geladen werden.",
"saveFailed": "AI-Einstellungen konnten nicht gespeichert werden.",
"saved": "AI-Einstellungen gespeichert.",
"enabled": {
"label": "AI-Edits für dieses Event aktivieren",
"hint": "Wenn deaktiviert, werden Guest- und Admin-AI-Anfragen für dieses Event blockiert."
},
"customPrompt": {
"label": "Freie Prompts erlauben",
"hint": "Wenn deaktiviert, müssen Nutzer ein erlaubtes Preset wählen."
},
"policyMessage": {
"label": "Policy-Hinweis",
"hint": "Wird Nutzern angezeigt, wenn AI-Edits deaktiviert sind oder ein Stil blockiert ist.",
"placeholder": "Optionaler Hinweis für Gäste/Admins"
},
"styles": {
"label": "Erlaubte AI-Stile",
"hint": "Keine Auswahl bedeutet: alle aktiven Stile sind erlaubt.",
"empty": "Keine aktiven AI-Stile gefunden.",
"clear": "Alle Stile erlauben"
},
"usage": {
"title": "Nutzungsübersicht",
"total": "Gesamt",
"succeeded": "Erfolgreich",
"failed": "Fehlgeschlagen",
"lastRequest": "Letzte Anfrage: {{date}}"
},
"save": "AI-Einstellungen speichern"
}
},
"liveShowSettings": {
"title": "Live-Show-Einstellungen",
@@ -3001,6 +3056,7 @@
},
"features": {
"advanced_analytics": "Erweiterte Statistiken",
"ai_styling": "AI-Styling",
"basic_uploads": "Basis-Uploads",
"custom_branding": "Eigenes Branding",
"custom_tasks": "Benutzerdefinierte Fotoaufgaben",