feat: implement AI styling foundation and billing scope rework
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -85,15 +85,28 @@
|
||||
"lemonsqueezy_voided": "The PayPal payment was voided."
|
||||
},
|
||||
"sections": {
|
||||
"currentEvent": {
|
||||
"title": "Current event",
|
||||
"hint": "This section shows what is active for your currently selected event.",
|
||||
"empty": "Select an event to view event-specific packages and add-ons.",
|
||||
"eventLabel": "Selected event",
|
||||
"packageActive": "Active for this event",
|
||||
"packageExpires": "Gallery active until {{date}}",
|
||||
"noPackage": "No package is currently assigned to this event.",
|
||||
"addonsLabel": "Add-ons for this event",
|
||||
"noAddons": "No add-ons purchased for this event.",
|
||||
"eventAddonSource": "Source: event package"
|
||||
},
|
||||
"invoices": {
|
||||
"title": "Invoices & payments",
|
||||
"hint": "Review transactions and download receipts.",
|
||||
"empty": "No payments found."
|
||||
},
|
||||
"addOns": {
|
||||
"title": "Add-ons",
|
||||
"hint": "Track extra photo, guest, or time bundles per event.",
|
||||
"empty": "No add-ons booked."
|
||||
"title": "Add-on purchase history",
|
||||
"hint": "History of all add-on purchases across all events. An entry here is not automatically active for the currently selected event.",
|
||||
"empty": "No add-ons booked.",
|
||||
"otherEventNotice": "Purchased for another event"
|
||||
},
|
||||
"overview": {
|
||||
"title": "Package overview",
|
||||
@@ -125,12 +138,13 @@
|
||||
}
|
||||
},
|
||||
"packages": {
|
||||
"title": "Packages",
|
||||
"hint": "Active package, limits, and history at a glance.",
|
||||
"title": "Package history (all events)",
|
||||
"hint": "All purchased packages across all events.",
|
||||
"description": "Overview of active and past packages.",
|
||||
"empty": "No packages purchased yet.",
|
||||
"card": {
|
||||
"statusActive": "Active",
|
||||
"statusActiveTenant": "Currently active",
|
||||
"statusInactive": "Inactive",
|
||||
"used": "Events used",
|
||||
"available": "Remaining",
|
||||
@@ -2394,6 +2408,7 @@
|
||||
"photo_likes_enabled": "Photo likes",
|
||||
"event_checklist": "Event checklist",
|
||||
"advanced_analytics": "Advanced analytics",
|
||||
"ai_styling": "AI styling",
|
||||
"branding_allowed": "Branding",
|
||||
"watermark_allowed": "Watermarks",
|
||||
"watermark_base": "Fotospiel watermark",
|
||||
@@ -2588,7 +2603,47 @@
|
||||
"saveFailed": "Automation settings could not be saved."
|
||||
},
|
||||
"emptyModeration": "No uploads match this filter.",
|
||||
"emptyLive": "No photos waiting for Live Show."
|
||||
"emptyLive": "No photos waiting for Live Show.",
|
||||
"aiAddon": {
|
||||
"title": "AI Magic Edits",
|
||||
"body": "AI styling is hidden until this event is entitled. Unlock it via add-on or include it with Premium.",
|
||||
"buyAction": "Buy AI styling add-on",
|
||||
"upgradeAction": "View Premium package"
|
||||
},
|
||||
"aiSettings": {
|
||||
"title": "AI Styling Controls",
|
||||
"subtitle": "Enable AI edits per event, configure allowed presets, and monitor usage/failures.",
|
||||
"loadFailed": "AI settings could not be loaded.",
|
||||
"saveFailed": "AI settings could not be saved.",
|
||||
"saved": "AI settings saved.",
|
||||
"enabled": {
|
||||
"label": "Enable AI edits for this event",
|
||||
"hint": "When disabled, guest and admin AI requests are blocked for this event."
|
||||
},
|
||||
"customPrompt": {
|
||||
"label": "Allow custom prompts",
|
||||
"hint": "If disabled, users must choose one of the allowed presets."
|
||||
},
|
||||
"policyMessage": {
|
||||
"label": "Policy message",
|
||||
"hint": "Shown to users when AI edits are disabled or a style is blocked.",
|
||||
"placeholder": "Optional message for guests/admins"
|
||||
},
|
||||
"styles": {
|
||||
"label": "Allowed AI styles",
|
||||
"hint": "No selection means all active styles are allowed.",
|
||||
"empty": "No active AI styles found.",
|
||||
"clear": "Allow all styles"
|
||||
},
|
||||
"usage": {
|
||||
"title": "Usage overview",
|
||||
"total": "Total",
|
||||
"succeeded": "Succeeded",
|
||||
"failed": "Failed",
|
||||
"lastRequest": "Last request: {{date}}"
|
||||
},
|
||||
"save": "Save AI settings"
|
||||
}
|
||||
},
|
||||
"liveShowSettings": {
|
||||
"title": "Live Show settings",
|
||||
@@ -3003,6 +3058,7 @@
|
||||
},
|
||||
"features": {
|
||||
"advanced_analytics": "Advanced Analytics",
|
||||
"ai_styling": "AI Styling",
|
||||
"basic_uploads": "Basic uploads",
|
||||
"custom_branding": "Custom Branding",
|
||||
"custom_tasks": "Custom photo tasks",
|
||||
|
||||
Reference in New Issue
Block a user