rework of the event admin UI

This commit is contained in:
Codex Agent
2025-11-24 17:17:39 +01:00
parent 4667ec8073
commit 8947a37261
37 changed files with 4381 additions and 874 deletions

View File

@@ -22,7 +22,13 @@
"engagement": "Aufgaben & Co.",
"toolkit": "Toolkit",
"billing": "Abrechnung",
"settings": "Einstellungen"
"settings": "Einstellungen",
"tabs": {
"open": "Tabs",
"title": "Bereich auswählen",
"subtitle": "Wechsle schnell zwischen den Event-Bereichen.",
"active": "Bereich wählen"
}
},
"eventMenu": {
"summary": "Übersicht",
@@ -51,7 +57,8 @@
},
"actions": {
"open": "Öffnen",
"viewAll": "Alle anzeigen"
"viewAll": "Alle anzeigen",
"dismiss": "Hinweis ausblenden"
},
"errors": {
"generic": "Etwas ist schiefgelaufen. Bitte versuche es erneut.",
@@ -76,5 +83,14 @@
"buyMorePhotos": "Mehr Fotos freischalten",
"buyMoreGuests": "Mehr Gäste freischalten",
"extendGallery": "Galerie verlängern"
},
"commandShelf": {
"mobile": {
"openActions": "Schnellaktionen öffnen",
"sheetTitle": "Schnellaktionen",
"sheetDescription": "Moderation, Aufgaben und Einladungen an einem Ort.",
"tip": "Tipp: Öffne hier deine wichtigsten Aktionen am Eventtag.",
"tipCta": "Verstanden"
}
}
}

View File

@@ -6,6 +6,25 @@
"refresh": "Aktualisieren",
"exportCsv": "Export als CSV"
},
"stats": {
"package": {
"label": "Aktives Paket",
"helper": "Verlängerung am {{date}}",
"empty": "Noch keines"
},
"events": {
"label": "Genutzte Events",
"helper": "Verfügbar: {{count}}"
},
"addons": {
"label": "Add-ons",
"helper": "Historie insgesamt"
},
"transactions": {
"label": "Transaktionen",
"helper": "Synchronisierte Zahlungen"
}
},
"errors": {
"load": "Paketdaten konnten nicht geladen werden.",
"more": "Weitere Einträge konnten nicht geladen werden."
@@ -69,6 +88,13 @@
"receipt": "Beleg ansehen",
"tax": "Steuer: {{value}}"
},
"table": {
"transaction": "Transaktion",
"amount": "Betrag",
"status": "Status",
"date": "Datum",
"origin": "Herkunft"
},
"status": {
"completed": "Abgeschlossen",
"processing": "Verarbeitung",
@@ -119,6 +145,10 @@
}
}
},
"billingWarning": {
"title": "Handlungsbedarf",
"description": "Paketwarnungen und Limits, die du im Blick behalten solltest."
},
"photos": {
"moderation": {
"title": "Fotos moderieren",
@@ -130,8 +160,34 @@
"gallery": {
"title": "Galerie",
"description": "Klick auf ein Foto, um es hervorzuheben oder zu löschen.",
"photoboothCount": "{{count}} Photobooth-Uploads",
"photoboothCta": "Photobooth-Zugang öffnen",
"emptyTitle": "Noch keine Fotos vorhanden",
"emptyDescription": "Motiviere deine Gäste zum Hochladen - hier erscheint anschließend die Galerie."
"emptyDescription": "Motiviere deine Gäste zum Hochladen - hier erscheint anschließend die Galerie.",
"select": "Markieren",
"selected": "Ausgewählt",
"likes": "Likes: {{count}}",
"uploader": "Uploader: {{name}}"
},
"filters": {
"all": "Alle",
"featured": "Highlights",
"hidden": "Versteckt",
"photobooth": "Photobooth",
"search": "Uploads durchsuchen …",
"count": "{{count}} Uploads",
"selected": "{{count}} ausgewählt",
"clearSelection": "Auswahl aufheben",
"selectAll": "Alle auswählen"
},
"actions": {
"hide": "Verstecken",
"show": "Einblenden",
"feature": "Als Highlight setzen",
"unfeature": "Highlight entfernen",
"delete": "Löschen",
"copy": "Link kopieren",
"copySuccess": "Link kopiert"
}
},
"events": {
@@ -222,6 +278,9 @@
"photoOnlyEnable": "Foto-Modus konnte nicht aktiviert werden.",
"photoOnlyDisable": "Foto-Modus konnte nicht deaktiviert werden."
},
"emotions": {
"error": "Emotionen konnten nicht geladen werden."
},
"alerts": {
"notFoundTitle": "Event nicht gefunden",
"notFoundDescription": "Bitte kehre zur Eventliste zurück."
@@ -243,9 +302,9 @@
"high": "Hoch",
"urgent": "Dringend"
},
"modes": {
"title": "Aufgaben & Foto-Modus",
"photoOnlyHint": "Der Foto-Modus ist aktiv. Gäste können Fotos hochladen, sehen aber keine Aufgaben.",
"modes": {
"title": "Aufgaben & Foto-Modus",
"photoOnlyHint": "Der Foto-Modus ist aktiv. Gäste können Fotos hochladen, sehen aber keine Aufgaben.",
"tasksHint": "Aufgaben werden in der Gäste-App angezeigt. Deaktiviere sie für einen reinen Foto-Modus.",
"photoOnly": "Foto-Modus",
"tasks": "Aufgaben aktiv",
@@ -329,6 +388,18 @@
"badge": "Angepasst"
}
},
"story": {
"title": "Branding & Story",
"description": "Verbinde Farben, Emotionen und Mission Packs für ein stimmiges Gäste-Erlebnis.",
"emotionsTitle": "Emotionen",
"emotionsCount": "{{count}} aktiviert",
"emotionsEmpty": "Aktiviere Emotionen, um Aufgaben zu kategorisieren.",
"emotionsCta": "Emotionen verwalten",
"collectionsTitle": "Mission Packs",
"collectionsCount": "{{count}} Aufgaben",
"collectionsEmpty": "Noch keine empfohlenen Mission Packs.",
"collectionsCta": "Mission Packs anzeigen"
},
"customizer": {
"title": "QR-Einladung anpassen",
"description": "Passe Layout, Texte, Farben und Logo deiner Einladungskarten an.",
@@ -394,13 +465,50 @@
"subtitle": "Manage QR-Einladungen, Drucklayouts und Branding für deine Gäste.",
"tabs": {
"layout": "QR-Code-Layout anpassen",
"export": "Drucken & Export",
"links": "QR-Codes verwalten"
"share": "Links & QR teilen",
"export": "Drucken & Export"
},
"summary": {
"active": "Aktive Einladungen",
"total": "Gesamt"
},
"workflow": {
"title": "Einladungs-Workflow",
"description": "Durchlaufe Layout, Links und Export Schritt für Schritt.",
"badge": "Setup",
"steps": {
"layout": {
"title": "Vorlage wählen",
"description": "Passe Texte, Farben und QR-Elemente an."
},
"share": {
"title": "Links & QR teilen",
"description": "Aktiviere Einladungen, kopiere QR-Codes und teile sie mit dem Team."
},
"export": {
"title": "Drucken & Export",
"description": "Erzeuge PDFs/PNGs für den Druck oder zur Freigabe."
}
}
},
"share": {
"title": "Schnellzugriff auf Gästelink",
"description": "Nutze den Hauptlink, um sofort QR-Karten oder Nachrichten zu verschicken.",
"primaryLabel": "Hauptlink",
"stats": {
"active": "{{count}} aktiv",
"total": "{{count}} gesamt"
},
"actions": {
"copy": "Link kopieren",
"open": "Öffnen",
"editLayout": "Layout bearbeiten",
"editHint": "Farben & Texte direkt im Editor anpassen.",
"export": "Drucken/Export",
"create": "Weitere Einladung"
},
"hint": "Teile den Link direkt im Team oder in Newslettern."
},
"actions": {
"refresh": "Aktualisieren",
"create": "Neue Einladung erstellen",
@@ -532,6 +640,90 @@
"layoutFallback": "Layout"
}
},
"photobooth": {
"status": {
"heading": "Status",
"active": "Photobooth-Link ist aktiv.",
"inactive": "Noch keine Photobooth-Uploads angebunden.",
"badgeActive": "AKTIV",
"badgeInactive": "INAKTIV",
"expiresAt": "Automatisches Abschalten am {{date}}"
},
"credentials": {
"heading": "FTP-Zugangsdaten",
"description": "Teile die Zugangsdaten mit eurer Photobooth-Software.",
"host": "Host",
"port": "Port",
"username": "Benutzername",
"password": "Passwort",
"path": "Upload-Pfad"
},
"actions": {
"enable": "Photobooth aktivieren",
"disable": "Deaktivieren",
"rotate": "Zugang neu generieren"
},
"rateLimit": {
"heading": "Sicherheit & Limits",
"description": "Uploads werden strikt auf {{count}} Fotos pro Minute begrenzt.",
"body": "Bei Überschreitung wird die Verbindung blockiert und nach 60 Sekunden wieder freigegeben.",
"hint": "Ablaufzeit stimmt mit dem Event-Ende überein.",
"usage": "Uploads letzte Stunde",
"warning": "Kurz vor dem Limit reduziere den Upload-Takt oder kontaktiere den Support."
},
"checklist": {
"title": "Setup-Checkliste",
"description": "Durchlaufe die Schritte, bevor du Gästen Zugang gibst.",
"enable": "Zugang aktivieren",
"enableCopy": "Aktiviere den FTP-Account für eure Photobooth-Software.",
"share": "Zugang teilen",
"shareCopy": "Übergib Host, Benutzer & Passwort an den Betreiber.",
"monitor": "Uploads beobachten",
"monitorCopy": "Verfolge Uploads & Limits direkt im Dashboard."
},
"timeline": {
"title": "Status-Timeline",
"activation": "Freischaltung",
"activationPending": "Noch nicht aktiviert",
"activationReady": "Zugang ist aktiv.",
"credentials": "Zugangsdaten",
"credentialsReady": "Benutzer {{username}} ist bereit.",
"credentialsPending": "Noch keine Logindaten generiert.",
"expiry": "Ablauf",
"expiryHint": "Automatisches Abschalten am {{date}}",
"noExpiry": "Noch kein Ablaufdatum gesetzt.",
"lastUpload": "Letzter Upload",
"lastUploadAt": "Zuletzt am {{date}}",
"lastUploadPending": "Noch keine Uploads registriert."
},
"presets": {
"title": "Modus wählen",
"description": "Passe die Photobooth an Vorbereitung oder Live-Betrieb an.",
"planTitle": "Planungsmodus",
"planDescription": "Zugang bleibt deaktiviert, um Tests vorzubereiten.",
"liveTitle": "Live-Modus",
"liveDescription": "FTP ist aktiv und Uploads werden direkt angenommen.",
"badgePlan": "Planung",
"badgeLive": "Live",
"current": "Aktiv",
"actions": {
"apply": "Modus übernehmen",
"rotate": "Zugang zurücksetzen"
}
},
"stats": {
"title": "Upload-Status",
"description": "Fokussiere deine Photobooth-Uploads der letzten Stunden.",
"lastUpload": "Letzter Upload",
"none": "Noch keine Uploads",
"uploads24h": "Uploads (24h)",
"share": "Anteil Photobooth (letzte Uploads)",
"totalEvent": "Uploads gesamt (Event)",
"sample": "Analysierte Uploads",
"sourcePhotobooth": "Quelle: Photobooth",
"sourceEvent": "Quelle: Event"
}
},
"events": {
"errors": {
"missingSlug": "Kein Event ausgewählt.",
@@ -640,15 +832,47 @@
"empty": "Noch keine Aufgaben zugewiesen.",
"manage": "Aufgabenbereich öffnen"
},
"branding": {
"badge": "Branding & Story",
"title": "Branding & Mission Packs",
"subtitle": "Stimme Farben, Schriftarten und Aufgabenpakete aufeinander ab.",
"brandingTitle": "Branding",
"brandingFallback": "Aktuelle Auswahl",
"brandingCopy": "Passe Farben & Schriftarten im Layout-Editor an.",
"brandingCta": "Branding anpassen",
"collectionsTitle": "Mission Packs",
"collectionsFallback": "Empfohlene Story",
"collectionsCopy": "Importiere passende Kollektionen oder aktiviere Emotionen im Aufgabenbereich.",
"collectionsActive": "{{count}} aktive Links",
"tasksCount": "{{count}} Aufgaben",
"collectionsManage": "Aufgaben bearbeiten",
"collectionsImport": "Mission Pack importieren",
"emotionsTitle": "Emotionen",
"emotionsEmpty": "Aktiviere Emotionen, um Aufgaben zu kategorisieren.",
"emotionsCta": "Emotionen verwalten"
},
"photos": {
"pendingBadge": "Moderation",
"pendingTitle": "Fotos in Moderation",
"pendingSubtitle": "Schnell prüfen, bevor Gäste live gehen.",
"pendingCount": "{{count}} Fotos offen",
"pendingEmpty": "Aktuell warten keine Fotos auf Freigabe.",
"openModeration": "Moderation öffnen",
"recentBadge": "Uploads",
"recentTitle": "Neueste Uploads",
"recentSubtitle": "Halte Ausschau nach Highlight-Momenten der Gäste.",
"recentEmpty": "Noch keine neuen Uploads."
"recentEmpty": "Noch keine neuen Uploads.",
"toastVisible": "Foto wieder sichtbar gemacht.",
"toastHidden": "Foto ausgeblendet.",
"toastFeatured": "Foto als Highlight markiert.",
"toastUnfeatured": "Highlight entfernt.",
"errorAuth": "Session abgelaufen. Bitte erneut anmelden.",
"errorVisibility": "Sichtbarkeit konnte nicht geändert werden.",
"errorFeature": "Aktion fehlgeschlagen.",
"show": "Einblenden",
"hide": "Verstecken",
"feature": "Als Highlight markieren",
"unfeature": "Highlight entfernen"
},
"feedback": {
"title": "Wie läuft dein Event?",
@@ -762,6 +986,25 @@
}
},
"management": {
"photobooth": {
"title": "Fotobox-Uploads",
"titleForEvent": "Fotobox-Uploads verwalten",
"subtitle": "Erstelle FTP-Zugänge für Photobooth-Software und behalte Limits im Blick.",
"actions": {
"backToEvent": "Zur Detailansicht",
"allEvents": "Zur Eventliste"
},
"errors": {
"missingSlug": "Kein Event ausgewählt.",
"loadFailed": "Photobooth-Link konnte nicht geladen werden.",
"enableFailed": "Zugang konnte nicht aktiviert werden.",
"disableFailed": "Zugang konnte nicht deaktiviert werden.",
"rotateFailed": "Zugangsdaten konnten nicht neu generiert werden."
},
"confirm": {
"disable": "Photobooth-Zugang deaktivieren?"
}
},
"billing": {
"title": "Pakete & Abrechnung",
"subtitle": "Verwalte deine gebuchten Pakete und behalte Laufzeiten im Blick.",
@@ -814,6 +1057,54 @@
}
,
"settings": {
"hero": {
"badge": "Administration",
"description": "Gestalte das Erlebnis für dein Admin-Team Darstellung, Benachrichtigungen und Sicherheit.",
"summary": {
"appearance": "Synchronisiere Look & Feel mit dem Gästeportal.",
"notifications": "Stimme Benachrichtigungen auf Aufgaben & Limits ab."
},
"actions": {
"profile": "Profil bearbeiten",
"events": "Zur Event-Übersicht"
},
"accountLabel": "Angemeldeter Account",
"support": "Passe Einstellungen für dich und dein Team an Änderungen wirken sofort."
},
"appearance": {
"badge": "Darstellung",
"title": "Darstellung & Branding",
"description": "Passe das Admin-Interface an eure Markenfarben an.",
"lightTitle": "Heller Modus",
"lightCopy": "Ideal für Büros und klare Kontraste.",
"darkTitle": "Dunkler Modus",
"darkCopy": "Schonend für Nachtproduktionen oder OLED-Displays.",
"themeLabel": "Theme wählen",
"themeHint": "Nutze automatische Anpassung oder überschreibe das Theme manuell."
},
"session": {
"badge": "Account & Sicherheit",
"title": "Angemeldeter Account",
"description": "Verwalte deine Sitzung oder wechsel schnell zu deinem Profil.",
"loggedInAs": "Eingeloggt als",
"unknown": "Aktuell kein Benutzer geladen.",
"security": "SSO & 2FA aktivierbar",
"session": "Session 12h gültig",
"hint": "Bei Gerätewechsel solltest du dich kurz ab- und wieder anmelden.",
"logout": "Abmelden",
"cancel": "Zurück"
},
"profile": {
"actions": {
"openProfile": "Profil bearbeiten"
}
},
"support": {
"badge": "Hilfe & Support",
"title": "Team informieren",
"copy": "Unser Support reagiert in der Regel innerhalb weniger Stunden.",
"cta": "Support kontaktieren"
},
"notifications": {
"title": "Benachrichtigungen",
"description": "Lege fest, für welche Ereignisse wir dich per E-Mail informieren.",
@@ -824,6 +1115,14 @@
"save": "Speichern",
"reset": "Auf Standard setzen"
},
"summary": {
"badge": "Status",
"title": "Benachrichtigungsübersicht",
"channel": "E-Mail Kanal",
"channelCopy": "Alle Warnungen werden per E-Mail versendet.",
"credits": "Credits",
"threshold": "Warnung bei {{count}} verbleibenden Slots"
},
"meta": {
"creditLast": "Letzte Slot-Warnung: {{date}}",
"creditNever": "Noch keine Slot-Warnung versendet."

View File

@@ -22,7 +22,13 @@
"engagement": "Tasks & More",
"toolkit": "Toolkit",
"billing": "Billing",
"settings": "Settings"
"settings": "Settings",
"tabs": {
"open": "Tabs",
"title": "Pick a section",
"subtitle": "Jump between your event areas in one tap.",
"active": "Choose section"
}
},
"eventMenu": {
"summary": "Overview",
@@ -51,7 +57,8 @@
},
"actions": {
"open": "Open",
"viewAll": "View all"
"viewAll": "View all",
"dismiss": "Dismiss"
},
"errors": {
"generic": "Something went wrong. Please try again.",
@@ -76,5 +83,14 @@
"buyMorePhotos": "Unlock more photos",
"buyMoreGuests": "Unlock more guests",
"extendGallery": "Extend gallery"
},
"commandShelf": {
"mobile": {
"openActions": "Open quick actions",
"sheetTitle": "Quick actions",
"sheetDescription": "Moderation, tasks, and invites in one place.",
"tip": "Tip: Access your key event-day actions here.",
"tipCta": "Got it"
}
}
}

View File

@@ -6,6 +6,25 @@
"refresh": "Refresh",
"exportCsv": "Export CSV"
},
"stats": {
"package": {
"label": "Active package",
"helper": "Renews {{date}}",
"empty": "None yet"
},
"events": {
"label": "Events used",
"helper": "Remaining: {{count}}"
},
"addons": {
"label": "Add-ons",
"helper": "Lifetime history"
},
"transactions": {
"label": "Transactions",
"helper": "Synced payments"
}
},
"errors": {
"load": "Unable to load package data.",
"more": "Unable to load more entries."
@@ -69,6 +88,13 @@
"receipt": "View receipt",
"tax": "Tax: {{value}}"
},
"table": {
"transaction": "Transaction",
"amount": "Amount",
"status": "Status",
"date": "Date",
"origin": "Origin"
},
"status": {
"completed": "Completed",
"processing": "Processing",
@@ -130,8 +156,34 @@
"gallery": {
"title": "Gallery",
"description": "Click a photo to feature it or remove it.",
"photoboothCount": "{{count}} photobooth uploads",
"photoboothCta": "Open photobooth access",
"emptyTitle": "No photos yet",
"emptyDescription": "Encourage your guests to upload the gallery will appear here."
"emptyDescription": "Encourage your guests to upload the gallery will appear here.",
"select": "Select",
"selected": "Selected",
"likes": "Likes: {{count}}",
"uploader": "Uploader: {{name}}"
},
"filters": {
"all": "All",
"featured": "Highlights",
"hidden": "Hidden",
"photobooth": "Photobooth",
"search": "Search uploads …",
"count": "{{count}} uploads",
"selected": "{{count}} selected",
"clearSelection": "Clear selection",
"selectAll": "Select all"
},
"actions": {
"hide": "Hide",
"show": "Show",
"feature": "Set highlight",
"unfeature": "Remove highlight",
"delete": "Delete",
"copy": "Copy link",
"copySuccess": "Link copied"
}
},
"events": {
@@ -222,6 +274,9 @@
"photoOnlyEnable": "Photo-only mode could not be enabled.",
"photoOnlyDisable": "Photo-only mode could not be disabled."
},
"emotions": {
"error": "Could not load emotions."
},
"alerts": {
"notFoundTitle": "Event not found",
"notFoundDescription": "Please return to the event list."
@@ -329,6 +384,18 @@
"badge": "Custom"
}
},
"story": {
"title": "Branding & story",
"description": "Align colors, emotions, and mission packs for a cohesive guest experience.",
"emotionsTitle": "Emotions",
"emotionsCount": "{{count}} active",
"emotionsEmpty": "Activate emotions to categorise your tasks.",
"emotionsCta": "Manage emotions",
"collectionsTitle": "Mission packs",
"collectionsCount": "{{count}} tasks",
"collectionsEmpty": "No recommended mission packs yet.",
"collectionsCta": "View mission packs"
},
"customizer": {
"title": "Customize QR invite",
"description": "Adjust layout, texts, colors, and logo for your printable invite.",
@@ -394,13 +461,50 @@
"subtitle": "Manage invite links, layouts, and branding for your guests.",
"tabs": {
"layout": "Customise layout",
"export": "Print & export",
"links": "Manage invites"
"share": "Share links & QR",
"export": "Print & export"
},
"summary": {
"active": "Active invites",
"total": "Total"
},
"workflow": {
"title": "Invite workflow",
"description": "Work through layout, sharing, and export in order.",
"badge": "Setup",
"steps": {
"layout": {
"title": "Pick a layout",
"description": "Adjust copy, colors, and QR placement."
},
"share": {
"title": "Share links & QR",
"description": "Enable invites, copy QR codes, and distribute them."
},
"export": {
"title": "Print & export",
"description": "Create PDF/PNG files for print-ready cards."
}
}
},
"share": {
"title": "Quick access to guest link",
"description": "Use the primary link to share QR cards or send it to your team.",
"primaryLabel": "Primary link",
"stats": {
"active": "{{count}} active",
"total": "{{count}} total"
},
"actions": {
"copy": "Copy link",
"open": "Open",
"editLayout": "Edit layout",
"editHint": "Adjust colors & copy inside the editor.",
"export": "Print/export",
"create": "Create another"
},
"hint": "Share the link inside your team or include it in newsletters."
},
"actions": {
"refresh": "Refresh",
"create": "Create invite",
@@ -532,6 +636,90 @@
"layoutFallback": "Layout"
}
},
"photobooth": {
"status": {
"heading": "Status",
"active": "Photobooth link is active.",
"inactive": "No photobooth uploads connected yet.",
"badgeActive": "ACTIVE",
"badgeInactive": "INACTIVE",
"expiresAt": "Will switch off automatically on {{date}}"
},
"credentials": {
"heading": "FTP credentials",
"description": "Share these credentials with your photobooth software.",
"host": "Host",
"port": "Port",
"username": "Username",
"password": "Password",
"path": "Upload path"
},
"actions": {
"enable": "Activate photobooth",
"disable": "Disable",
"rotate": "Regenerate access"
},
"rateLimit": {
"heading": "Security & limits",
"description": "Uploads are limited to {{count}} photos per minute.",
"body": "If exceeded we block the connection and reopen it after 60 seconds.",
"hint": "Expiry follows the event end date.",
"usage": "Uploads last hour",
"warning": "Close to the limit slow down the upload rate or reach out to support."
},
"checklist": {
"title": "Setup checklist",
"description": "Complete each step before guests upload.",
"enable": "Activate access",
"enableCopy": "Enable the FTP account in your photobooth software.",
"share": "Share credentials",
"shareCopy": "Hand over host, user, and password to the operator.",
"monitor": "Monitor uploads",
"monitorCopy": "Watch uploads & limits in the dashboard."
},
"timeline": {
"title": "Status timeline",
"activation": "Activation",
"activationPending": "Not activated yet",
"activationReady": "Access is live.",
"credentials": "Credentials",
"credentialsReady": "User {{username}} is ready.",
"credentialsPending": "Credentials not generated yet.",
"expiry": "Expiry",
"expiryHint": "Switches off on {{date}}",
"noExpiry": "No expiry configured.",
"lastUpload": "Last upload",
"lastUploadAt": "Last seen {{date}}",
"lastUploadPending": "No uploads recorded yet."
},
"presets": {
"title": "Choose a mode",
"description": "Switch between planning and live behaviour for the photobooth.",
"planTitle": "Planning mode",
"planDescription": "Keep the FTP account disabled while preparing the booth.",
"liveTitle": "Live mode",
"liveDescription": "FTP access stays enabled and uploads are processed instantly.",
"badgePlan": "Planning",
"badgeLive": "Live",
"current": "Active",
"actions": {
"apply": "Apply mode",
"rotate": "Reset credentials"
}
},
"stats": {
"title": "Upload status",
"description": "Keep an eye on the most recent photobooth uploads.",
"lastUpload": "Last upload",
"none": "No uploads yet",
"uploads24h": "Uploads (24h)",
"share": "Photobooth share (recent)",
"totalEvent": "Uploads total (event)",
"sample": "Uploads analysed",
"sourcePhotobooth": "Source: Photobooth",
"sourceEvent": "Source: Event"
}
},
"events": {
"errors": {
"missingSlug": "No event selected.",
@@ -640,15 +828,47 @@
"empty": "No tasks assigned yet.",
"manage": "Open task workspace"
},
"branding": {
"badge": "Branding & story",
"title": "Branding & mission packs",
"subtitle": "Align colors, typography, and task packs for your event.",
"brandingTitle": "Branding",
"brandingFallback": "Current selection",
"brandingCopy": "Adjust colors & fonts inside the layout editor.",
"brandingCta": "Adjust branding",
"collectionsTitle": "Mission packs",
"collectionsFallback": "Recommended story",
"collectionsCopy": "Import curated packs or activate emotions inside the task workspace.",
"collectionsActive": "{{count}} active links",
"tasksCount": "{{count}} tasks",
"collectionsManage": "Edit tasks",
"collectionsImport": "Import mission pack",
"emotionsTitle": "Emotions",
"emotionsEmpty": "Activate emotions to categorise tasks.",
"emotionsCta": "Manage emotions"
},
"photos": {
"pendingBadge": "Moderation",
"pendingTitle": "Photos awaiting review",
"pendingSubtitle": "Check uploads before they go live.",
"pendingCount": "{{count}} photos pending",
"pendingEmpty": "No photos waiting for moderation.",
"openModeration": "Open moderation",
"recentBadge": "Uploads",
"recentTitle": "Latest uploads",
"recentSubtitle": "Spot the latest guest highlights.",
"recentEmpty": "No new uploads yet."
"recentEmpty": "No new uploads yet.",
"toastVisible": "Photo made visible again.",
"toastHidden": "Photo hidden.",
"toastFeatured": "Photo marked as highlight.",
"toastUnfeatured": "Highlight removed.",
"errorAuth": "Session expired. Please sign in again.",
"errorVisibility": "Could not change visibility.",
"errorFeature": "Action failed.",
"show": "Show",
"hide": "Hide",
"feature": "Feature",
"unfeature": "Remove highlight"
},
"feedback": {
"title": "How is your event running?",
@@ -762,6 +982,25 @@
}
},
"management": {
"photobooth": {
"title": "Photobooth uploads",
"titleForEvent": "Manage photobooth uploads",
"subtitle": "Create FTP access for photobooth software and keep limits in sight.",
"actions": {
"backToEvent": "Back to detail view",
"allEvents": "Back to event list"
},
"errors": {
"missingSlug": "No event selected.",
"loadFailed": "Could not load photobooth link.",
"enableFailed": "Could not enable access.",
"disableFailed": "Could not disable access.",
"rotateFailed": "Could not regenerate credentials."
},
"confirm": {
"disable": "Disable photobooth access?"
}
},
"billing": {
"title": "Packages & billing",
"subtitle": "Manage your purchased packages and track their durations.",
@@ -814,6 +1053,54 @@
}
,
"settings": {
"hero": {
"badge": "Administration",
"description": "Shape the admin experience for your team appearance, notifications, and security.",
"summary": {
"appearance": "Match the look & feel with the guest portal.",
"notifications": "Fine-tune alerts for tasks, packages, and live events."
},
"actions": {
"profile": "Edit profile",
"events": "Back to events"
},
"accountLabel": "Signed-in account",
"support": "Adjust settings for you and your team changes apply instantly."
},
"appearance": {
"badge": "Appearance",
"title": "Appearance & branding",
"description": "Align the admin area with your event colors.",
"lightTitle": "Light mode",
"lightCopy": "Great for offices and high contrast.",
"darkTitle": "Dark mode",
"darkCopy": "Gentle on eyes during evening events.",
"themeLabel": "Choose theme",
"themeHint": "Follow the system preference or override it manually."
},
"session": {
"badge": "Account & security",
"title": "Signed-in account",
"description": "Manage your session or jump to the profile quickly.",
"loggedInAs": "Signed in as",
"unknown": "No user loaded right now.",
"security": "SSO & 2FA available",
"session": "Session valid for 12h",
"hint": "Switch devices? Quickly re-login to refresh permissions.",
"logout": "Sign out",
"cancel": "Back"
},
"profile": {
"actions": {
"openProfile": "Edit profile"
}
},
"support": {
"badge": "Help & support",
"title": "Talk to our team",
"copy": "Need help? Our support usually replies within a few hours.",
"cta": "Contact support"
},
"notifications": {
"title": "Notifications",
"description": "Choose which events should trigger an email notification.",
@@ -824,6 +1111,14 @@
"save": "Save",
"reset": "Reset to defaults"
},
"summary": {
"badge": "Status",
"title": "Notification overview",
"channel": "Email channel",
"channelCopy": "All warnings are delivered via email.",
"credits": "Credits",
"threshold": "Warning at {{count}} remaining slots"
},
"meta": {
"creditLast": "Last slot warning: {{date}}",
"creditNever": "No slot warning sent yet."
@@ -875,5 +1170,9 @@
}
}
}
},
"billingWarning": {
"title": "Needs attention",
"description": "Package alerts and limits you should keep an eye on."
}
}