2795 lines
96 KiB
JSON
2795 lines
96 KiB
JSON
{
|
||
"billing": {
|
||
"title": "Packages & billing",
|
||
"subtitle": "Manage your purchased packages and track their durations.",
|
||
"actions": {
|
||
"refresh": "Refresh",
|
||
"exportCsv": "Export CSV",
|
||
"portal": "Manage in Paddle",
|
||
"portalBusy": "Opening portal...",
|
||
"openPackages": "Open packages",
|
||
"contactSupport": "Contact support"
|
||
},
|
||
"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.",
|
||
"portal": "Unable to open the Paddle portal."
|
||
},
|
||
"sections": {
|
||
"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."
|
||
},
|
||
"overview": {
|
||
"title": "Package overview",
|
||
"description": "Your active package and the most important metrics.",
|
||
"empty": "No active package yet.",
|
||
"emptyBadge": "No active package",
|
||
"cards": {
|
||
"package": {
|
||
"label": "Active package",
|
||
"helper": "Currently assigned"
|
||
},
|
||
"used": {
|
||
"label": "Events used",
|
||
"helper": "Remaining: {{count}}"
|
||
},
|
||
"price": {
|
||
"label": "Price (net)"
|
||
},
|
||
"expires": {
|
||
"label": "Expires",
|
||
"helper": "Auto-renews if enabled"
|
||
}
|
||
},
|
||
"warnings": {
|
||
"noEvents": "Event allowance exhausted. Please upgrade or renew your package.",
|
||
"lowEvents": "Only {{remaining}} event slots remaining.",
|
||
"expiresSoon": "Package expires on {{date}}.",
|
||
"expired": "Package has expired."
|
||
}
|
||
},
|
||
"packages": {
|
||
"title": "Packages",
|
||
"hint": "Active package, limits, and history at a glance.",
|
||
"description": "Overview of active and past packages.",
|
||
"empty": "No packages purchased yet.",
|
||
"card": {
|
||
"statusActive": "Active",
|
||
"statusInactive": "Inactive",
|
||
"used": "Events used",
|
||
"available": "Remaining",
|
||
"expires": "Expires",
|
||
"warnings": {
|
||
"noEvents": "Event allowance exhausted.",
|
||
"lowEvents": "Only {{remaining}} events left.",
|
||
"expiresSoon": "Expires on {{date}}.",
|
||
"expired": "Package has expired."
|
||
}
|
||
}
|
||
},
|
||
"transactions": {
|
||
"title": "Paddle transactions",
|
||
"description": "Recent Paddle transactions for this customer account.",
|
||
"empty": "No Paddle transactions yet.",
|
||
"labels": {
|
||
"transactionId": "Transaction {{id}}",
|
||
"checkoutId": "Checkout ID: {{id}}",
|
||
"origin": "Origin: {{origin}}",
|
||
"receipt": "View receipt",
|
||
"tax": "Tax: {{value}}"
|
||
},
|
||
"table": {
|
||
"transaction": "Transaction",
|
||
"amount": "Amount",
|
||
"status": "Status",
|
||
"date": "Date",
|
||
"origin": "Origin"
|
||
},
|
||
"status": {
|
||
"completed": "Completed",
|
||
"processing": "Processing",
|
||
"failed": "Failed",
|
||
"cancelled": "Cancelled",
|
||
"unknown": "Unknown"
|
||
},
|
||
"loadMore": "Load more transactions",
|
||
"loadingMore": "Loading…"
|
||
}
|
||
},
|
||
"addOns": {
|
||
"title": "Add-on history",
|
||
"description": "One-time add-ons purchased for this tenant.",
|
||
"empty": "No add-ons purchased yet.",
|
||
"badge": "Add-ons",
|
||
"table": {
|
||
"addon": "Add-on",
|
||
"event": "Event",
|
||
"amount": "Amount",
|
||
"status": "Status",
|
||
"purchased": "Purchased",
|
||
"eventFallback": "Event archived"
|
||
},
|
||
"status": {
|
||
"pending": "Processing",
|
||
"completed": "Completed",
|
||
"failed": "Failed"
|
||
},
|
||
"extras": {
|
||
"photos": "+{{count}} photos",
|
||
"guests": "+{{count}} guests",
|
||
"gallery": "+{{count}} gallery days"
|
||
},
|
||
"loadMore": "Load more add-ons",
|
||
"loadingMore": "Loading add-ons…"
|
||
},
|
||
"features": {
|
||
"branding": "Branding",
|
||
"watermark": "Watermark",
|
||
"maxPhotos": "Max photos",
|
||
"maxGuests": "Max guests",
|
||
"galleryDays": "Gallery days",
|
||
"maxTasks": "Max tasks",
|
||
"featureList": "Included features"
|
||
},
|
||
"packages": {
|
||
"title": "Package history",
|
||
"description": "Overview of current and past packages.",
|
||
"empty": "No packages purchased yet.",
|
||
"card": {
|
||
"statusActive": "Active",
|
||
"statusInactive": "Inactive",
|
||
"used": "Used events",
|
||
"available": "Available",
|
||
"expires": "Expires"
|
||
}
|
||
}
|
||
},
|
||
"common": {
|
||
"all": "All",
|
||
"loadMore": "Load more",
|
||
"processing": "Processing…",
|
||
"select": "Select",
|
||
"close": "Close",
|
||
"reset": "Reset"
|
||
},
|
||
"photos": {
|
||
"moderation": {
|
||
"title": "Moderate photos",
|
||
"subtitle": "Highlight favourites or remove unsuitable uploads."
|
||
},
|
||
"alerts": {
|
||
"errorTitle": "Action failed"
|
||
},
|
||
"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.",
|
||
"select": "Select",
|
||
"selected": "Selected",
|
||
"likes": "Likes: {{count}}",
|
||
"uploader": "Uploader: {{name}}"
|
||
},
|
||
"filters": {
|
||
"all": "All",
|
||
"featured": "Highlights",
|
||
"hidden": "Hidden",
|
||
"pending": "Pending",
|
||
"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",
|
||
"approve": "Approve",
|
||
"delete": "Delete",
|
||
"copy": "Copy link",
|
||
"copySuccess": "Link copied"
|
||
}
|
||
},
|
||
"limits": {
|
||
"photosBlocked": "Upload limit reached. Buy more photos to continue.",
|
||
"photosWarning": "{{remaining}} of {{limit}} photos remaining.",
|
||
"guestsBlocked": "Guest limit reached.",
|
||
"guestsWarning": "{{remaining}} of {{limit}} guests remaining.",
|
||
"galleryExpired": "Gallery expired. Extend to keep it online.",
|
||
"galleryWarningHour": "Gallery expires in {{hours}} hour.",
|
||
"galleryWarningHours": "Gallery expires in {{hours}} hours.",
|
||
"galleryWarningDay": "Gallery expires in {{days}} day.",
|
||
"galleryWarningDays": "Gallery expires in {{days}} days.",
|
||
"buyMorePhotos": "Buy more photos",
|
||
"extendGallery": "Extend gallery",
|
||
"buyMoreGuests": "Add more guests"
|
||
},
|
||
"notificationLogs": {
|
||
"photoLimit": {
|
||
"title": "Photo limit reached",
|
||
"body": "{{event}} reached its photo limit of {{limit}}."
|
||
},
|
||
"guestLimit": {
|
||
"title": "Guest limit reached",
|
||
"body": "{{event}} reached its guest limit of {{limit}}."
|
||
},
|
||
"eventLimit": {
|
||
"title": "Event quota reached",
|
||
"body": "Your package allows no more events. Limit: {{limit}}."
|
||
},
|
||
"galleryWarning": {
|
||
"title": "Gallery expiring soon",
|
||
"body": "{{event}} expires in {{days}} days."
|
||
},
|
||
"galleryExpired": {
|
||
"title": "Gallery expired",
|
||
"body": "{{event}} gallery is offline. Extend to reactivate."
|
||
},
|
||
"photoThreshold": {
|
||
"title": "Photo usage warning",
|
||
"body": "{{event}} is at {{used}} / {{limit}} photos."
|
||
},
|
||
"guestThreshold": {
|
||
"title": "Guest usage warning",
|
||
"body": "{{event}} is at {{used}} / {{limit}} guests."
|
||
},
|
||
"generic": {
|
||
"body": "Notification sent via {{channel}}."
|
||
},
|
||
"filterEmpty": "No notifications for this event.",
|
||
"clearFilter": "Show all notifications",
|
||
"filter": {
|
||
"unread": "Unread",
|
||
"read": "Read",
|
||
"all": "All"
|
||
},
|
||
"scope": {
|
||
"all": "All scopes",
|
||
"photos": "Photos",
|
||
"guests": "Guests",
|
||
"gallery": "Gallery",
|
||
"events": "Events",
|
||
"package": "Package",
|
||
"general": "General"
|
||
},
|
||
"markAllRead": "Mark all read",
|
||
"markScopeRead": "Mark read",
|
||
"markFailed": "Could not update notifications.",
|
||
"unread": "Unread"
|
||
},
|
||
"events": {
|
||
"detail": {
|
||
"kpi": {
|
||
"tasks": "Active tasks",
|
||
"guests": "Guests registered",
|
||
"photos": "Images uploaded"
|
||
},
|
||
"pickEvent": "Select event",
|
||
"active": "Active",
|
||
"managementTitle": "Event management",
|
||
"dateTbd": "Date tbd",
|
||
"locationPlaceholder": "Location"
|
||
},
|
||
"quick": {
|
||
"tasks": "Tasks & checklists",
|
||
"qr": "QR code layouts",
|
||
"images": "Image management",
|
||
"liveShow": "Live Show queue",
|
||
"liveShowSettings": "Live Show settings",
|
||
"guests": "Guest management",
|
||
"guestMessages": "Guest messages",
|
||
"branding": "Branding & theme",
|
||
"photobooth": "Photobooth",
|
||
"recap": "Recap & archive"
|
||
},
|
||
"status": {
|
||
"published": "Live",
|
||
"draft": "Draft",
|
||
"archived": "Archived"
|
||
},
|
||
"list": {
|
||
"title": "Your events",
|
||
"subtitle": "Plan memorable moments. Manage everything around your events here.",
|
||
"filters": {
|
||
"all": "All",
|
||
"upcoming": "Upcoming",
|
||
"draft": "Draft",
|
||
"past": "Past"
|
||
},
|
||
"empty": {
|
||
"filtered": "No events match this filter.",
|
||
"filteredHint": "Try a different status or clear your search."
|
||
},
|
||
"actions": {
|
||
"create": "New event",
|
||
"settings": "Settings",
|
||
"open": "Open event"
|
||
},
|
||
"stats": {
|
||
"photos": "Photos",
|
||
"guests": "Guests",
|
||
"tasks": "Tasks"
|
||
},
|
||
"overview": {
|
||
"title": "Overview",
|
||
"empty": "No events yet – create your first one to get started.",
|
||
"count": "{{count}} {{count, plural, one {event} other {events}}} managed.",
|
||
"badge": {
|
||
"dashboard": "Customer dashboard"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"galleryStatus": {
|
||
"badge": "Runtime",
|
||
"title": "Gallery runtime & availability",
|
||
"subtitle": "Keep track of how long guests can still access the gallery.",
|
||
"stateLabel": "Status",
|
||
"stateExpired": "Gallery expired",
|
||
"stateWarning": "Gallery expiring soon",
|
||
"stateOk": "Gallery active",
|
||
"noExpiry": "No expiry date set",
|
||
"expiresAt": "Expiry date: {{date}}",
|
||
"daysLabel": "Days remaining",
|
||
"expiredHint": "Guests can no longer access the gallery – extend your package to reopen it.",
|
||
"hint": "If needed, extend the runtime in your package settings."
|
||
},
|
||
"members": {
|
||
"title": "Event members",
|
||
"subtitle": "Manage moderators, admins, and helpers for this event.",
|
||
"actions": {
|
||
"back": "Back to overview"
|
||
},
|
||
"errors": {
|
||
"missingSlug": "No event slug provided.",
|
||
"load": "Could not load members.",
|
||
"emailRequired": "Please provide an email address.",
|
||
"invite": "Invitation could not be sent.",
|
||
"remove": "Member could not be removed."
|
||
},
|
||
"alerts": {
|
||
"notFoundTitle": "Event not found",
|
||
"notFoundDescription": "Please return to the event list.",
|
||
"lockedTitle": "Feature not enabled",
|
||
"lockedDescription": "Member management isn’t available for this event yet. Contact support to activate the feature."
|
||
},
|
||
"sections": {
|
||
"list": {
|
||
"title": "Members",
|
||
"empty": "No members invited yet."
|
||
},
|
||
"invite": {
|
||
"title": "Invite new member"
|
||
}
|
||
},
|
||
"labels": {
|
||
"status": "Status: {{status}}",
|
||
"joined": "Joined: {{date}}"
|
||
},
|
||
"form": {
|
||
"emailLabel": "Email",
|
||
"emailPlaceholder": "person@example.com",
|
||
"nameLabel": "Name (optional)",
|
||
"namePlaceholder": "Name",
|
||
"roleLabel": "Role",
|
||
"rolePlaceholder": "Select role",
|
||
"submit": "Send invitation"
|
||
},
|
||
"roles": {
|
||
"tenantAdmin": "Customer admin",
|
||
"member": "Member",
|
||
"guest": "Guest"
|
||
},
|
||
"statuses": {
|
||
"published": "Published",
|
||
"draft": "Draft",
|
||
"active": "Active"
|
||
},
|
||
"eventStatus": "Status: {{status}}",
|
||
"events": {
|
||
"untitled": "Untitled event"
|
||
}
|
||
},
|
||
"eventMenu": {
|
||
"summary": "Overview",
|
||
"photos": "Uploads",
|
||
"tasks": "Tasks",
|
||
"invites": "Invites",
|
||
"branding": "Branding",
|
||
"photobooth": "Photobooth",
|
||
"recap": "Recap"
|
||
},
|
||
"eventTasks": {
|
||
"title": "Tasks & missions",
|
||
"subtitle": "Curate mission cards and tasks for this event.",
|
||
"search": "Search tasks",
|
||
"emotionFilter": "Emotion filter",
|
||
"allEmotions": "All",
|
||
"actions": {
|
||
"back": "Back to overview",
|
||
"assign": "Assign selected tasks"
|
||
},
|
||
"errors": {
|
||
"missingSlug": "No event slug provided.",
|
||
"load": "Event tasks could not be loaded.",
|
||
"assign": "Tasks could not be assigned.",
|
||
"photoOnlyEnable": "Photo-only mode could not be enabled.",
|
||
"photoOnlyDisable": "Photo-only mode could not be disabled.",
|
||
"collections": "Collections could not be loaded."
|
||
},
|
||
"emotions": {
|
||
"error": "Could not load emotions."
|
||
},
|
||
"manageEmotions": "Manage emotions",
|
||
"manageEmotionsHint": "Filter and keep your taxonomy tidy.",
|
||
"alerts": {
|
||
"notFoundTitle": "Event not found",
|
||
"notFoundDescription": "Please return to the event list."
|
||
},
|
||
"tabs": {
|
||
"tasks": "Tasks",
|
||
"packs": "Mission packs"
|
||
},
|
||
"eventStatus": "Status: {{status}}",
|
||
"summary": {
|
||
"assigned": "Assigned tasks",
|
||
"library": "Library",
|
||
"mode": "Active mode",
|
||
"tasksMode": "Mission cards",
|
||
"photoOnly": "Photos only"
|
||
},
|
||
"library": {
|
||
"hintTitle": "More templates in the task library",
|
||
"hintCopy": "Create tasks, emotions, or mission packs once and reuse them across events.",
|
||
"open": "Open task library"
|
||
},
|
||
"sections": {
|
||
"assigned": {
|
||
"title": "Assigned tasks",
|
||
"search": "Search tasks...",
|
||
"noResults": "No tasks match this search term.",
|
||
"empty": "No tasks assigned yet."
|
||
},
|
||
"library": {
|
||
"title": "Add tasks from library",
|
||
"empty": "No tasks found in the library."
|
||
}
|
||
},
|
||
"priorities": {
|
||
"low": "Low",
|
||
"medium": "Medium",
|
||
"high": "High",
|
||
"urgent": "Urgent"
|
||
},
|
||
"modes": {
|
||
"title": "Tasks & photo mode",
|
||
"photoOnlyHint": "Photo-only mode is active. Guests can upload photos but won’t see tasks.",
|
||
"tasksHint": "Tasks are visible in the guest app. Switch to photo-only for uploads without prompts.",
|
||
"photoOnly": "Photo-only",
|
||
"tasks": "Tasks active",
|
||
"switchLabel": "Enable photo-only mode",
|
||
"updating": "Saving setting ..."
|
||
},
|
||
"collections": {
|
||
"title": "Mission packs",
|
||
"subtitle": "Import task collections that fit your event.",
|
||
"viewAll": "View all collections",
|
||
"errorTitle": "Collections unavailable",
|
||
"empty": "No recommended collections found.",
|
||
"tasksCount": "{{count}} tasks",
|
||
"genericType": "General",
|
||
"global": "Global",
|
||
"custom": "Custom",
|
||
"recommended": "Recommended",
|
||
"optional": "Optional",
|
||
"importCta": "Import mission pack",
|
||
"imported": "Collection imported successfully",
|
||
"importFailed": "Mission pack could not be imported",
|
||
"error": "Collections could not be loaded."
|
||
},
|
||
"toolkit": {
|
||
"titleFallback": "Event-Day Toolkit",
|
||
"subtitle": "Stay on top of uploads, tasks, and invites while your event is live.",
|
||
"errors": {
|
||
"missingSlug": "No event slug provided.",
|
||
"loadFailed": "Toolkit could not be loaded.",
|
||
"feedbackFailed": "Feedback could not be sent."
|
||
},
|
||
"actions": {
|
||
"backToEvent": "Back to event",
|
||
"moderate": "Moderate photos",
|
||
"manageTasks": "Open tasks",
|
||
"refresh": "Refresh"
|
||
},
|
||
"alerts": {
|
||
"errorTitle": "Error",
|
||
"attention": "Heads-up",
|
||
"noTasks": "No tasks assigned yet – pick a package or curate prompts.",
|
||
"noInvites": "There are no active QR invites. Create one to welcome guests.",
|
||
"pendingPhotos": "Photos are waiting for moderation. Review uploads before publishing."
|
||
},
|
||
"metrics": {
|
||
"uploadsTotal": "Total uploads",
|
||
"uploads24h": "Uploads (24h)",
|
||
"pendingPhotos": "Pending moderation",
|
||
"activeInvites": "Active invites",
|
||
"engagementMode": "Mode",
|
||
"modePhotoOnly": "Photo mode",
|
||
"modeTasks": "Tasks"
|
||
},
|
||
"pending": {
|
||
"title": "Waiting photos",
|
||
"subtitle": "Moderation suggestions for new uploads.",
|
||
"cta": "Go to moderation",
|
||
"empty": "No photos waiting for review right now.",
|
||
"unknownUploader": "Unknown guest",
|
||
"uploadedAt": "Uploaded:",
|
||
"statusPending": "Status: awaiting review"
|
||
},
|
||
"invites": {
|
||
"title": "QR invites",
|
||
"subtitle": "Keep an eye on links and brandable layouts.",
|
||
"activeCount": "{{count}} active",
|
||
"totalCount": "{{count}} total",
|
||
"empty": "No QR invites yet.",
|
||
"statusActive": "Active",
|
||
"statusInactive": "Inactive",
|
||
"manage": "Manage invites"
|
||
},
|
||
"tasks": {
|
||
"title": "Active tasks",
|
||
"subtitle": "Motivate guests with clear prompts and highlights.",
|
||
"summary": "{{completed}} of {{total}} done",
|
||
"empty": "No tasks assigned yet.",
|
||
"manage": "Manage tasks",
|
||
"completed": "Done",
|
||
"open": "Open"
|
||
},
|
||
"recent": {
|
||
"title": "Latest uploads",
|
||
"subtitle": "A quick glance at freshly approved photos.",
|
||
"empty": "No approved photos yet."
|
||
},
|
||
"feedback": {
|
||
"title": "How helpful is this toolkit?",
|
||
"subtitle": "Your input helps us fine-tune the event-day experience.",
|
||
"positive": "Helpful",
|
||
"neutral": "Okay",
|
||
"negative": "Needs work",
|
||
"placeholder": "Let us know what worked well or what you’re missing …",
|
||
"disclaimer": "We’ll keep your feedback private and use it to improve the product.",
|
||
"submit": "Send feedback",
|
||
"thanksTitle": "Thank you!",
|
||
"thanksDescription": "We’ve received your feedback.",
|
||
"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.",
|
||
"layout": "Layout",
|
||
"selectLayout": "Select layout",
|
||
"headline": "Headline",
|
||
"subtitle": "Sub headline",
|
||
"descriptionLabel": "Description",
|
||
"badgeLabel": "Badge",
|
||
"instructionsHeading": "Instructions heading",
|
||
"instructionsLabel": "Hints",
|
||
"addInstruction": "Add hint",
|
||
"removeInstruction": "Remove",
|
||
"linkHeading": "Link title",
|
||
"linkLabel": "Link",
|
||
"ctaLabel": "Call to action",
|
||
"colors": {
|
||
"accent": "Accent colour",
|
||
"text": "Text colour",
|
||
"background": "Background",
|
||
"secondary": "Secondary colour",
|
||
"badge": "Badge colour"
|
||
},
|
||
"logo": {
|
||
"label": "Logo",
|
||
"hint": "PNG, max. 1 MB. Appears in the top right corner.",
|
||
"remove": "Remove logo"
|
||
},
|
||
"preview": {
|
||
"title": "Preview",
|
||
"hint": "Visual reference for colours and texts. Save to generate new PDFs/PNGs."
|
||
},
|
||
"actions": {
|
||
"save": "Save",
|
||
"cancel": "Cancel",
|
||
"reset": "Reset"
|
||
},
|
||
"badge": "Custom",
|
||
"actionLabel": "Customize layout",
|
||
"errors": {
|
||
"logoTooLarge": "Logo must not exceed 1 MB.",
|
||
"noLayout": "Please select a layout.",
|
||
"downloadFailed": "Download failed. Please try again.",
|
||
"printFailed": "Printing could not be started."
|
||
},
|
||
"defaults": {
|
||
"badgeLabel": "Digital guest box",
|
||
"instructionsHeading": "How it works",
|
||
"linkHeading": "Alternative link",
|
||
"ctaLabel": "Scan and get started",
|
||
"instructions": [
|
||
"Scan the QR code",
|
||
"Create your profile",
|
||
"Share your photos"
|
||
],
|
||
"textBlock": "New text block – add your own notes here."
|
||
}
|
||
}
|
||
},
|
||
"invites": {
|
||
"cardTitle": "QR invites & layouts",
|
||
"cardDescription": "Create invite links, customise layouts, and prepare print-ready PDFs.",
|
||
"subtitle": "Manage invite links, layouts, and branding for your guests.",
|
||
"tabs": {
|
||
"layout": "Customise layout",
|
||
"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",
|
||
"backToList": "Back to list",
|
||
"backToEvent": "Open event",
|
||
"copy": "Copy link",
|
||
"copied": "Copied!",
|
||
"deactivate": "Deactivate",
|
||
"buyMoreGuests": "Unlock more guests"
|
||
},
|
||
"labels": {
|
||
"usage": "Usage",
|
||
"layout": "Layout",
|
||
"layoutFallback": "Default",
|
||
"selected": "Currently selected",
|
||
"tapToEdit": "Select to edit",
|
||
"noPrintSource": "No printable version available.",
|
||
"standard": "Default link",
|
||
"qrAlt": "QR preview"
|
||
},
|
||
"empty": {
|
||
"title": "No invites yet",
|
||
"copy": "Create an invite to generate ready-to-print QR layouts."
|
||
},
|
||
"errorTitle": "Action failed",
|
||
"export": {
|
||
"title": "Print & export",
|
||
"description": "Download print-ready files or launch a test print right away.",
|
||
"mode": {
|
||
"standard": "Standard layout",
|
||
"advanced": "Advanced editor"
|
||
},
|
||
"previewHint": "Save after making changes to regenerate the export files.",
|
||
"noLayoutPreview": "No preview available yet. Save your layout first.",
|
||
"selectPlaceholder": "Select invite",
|
||
"noInviteSelected": "Select an invite first to start downloads.",
|
||
"noLayouts": "There are currently no layouts available for this invite.",
|
||
"actions": {
|
||
"title": "Actions",
|
||
"description": "Start a test print or download the layouts.",
|
||
"printNow": "Print now",
|
||
"hint": "PDF includes crop marks; PNG is perfect for quick digital approvals."
|
||
},
|
||
"errorTitle": "Download failed"
|
||
},
|
||
"customizer": {
|
||
"heading": "Customise layout",
|
||
"copy": "Edit texts, colours, and positions right next to the live preview. Changes appear instantly.",
|
||
"actions": {
|
||
"save": "Save layout",
|
||
"reset": "Reset",
|
||
"print": "Print",
|
||
"removeLogo": "Remove logo",
|
||
"uploadLogo": "Upload logo (max. 1 MB)",
|
||
"addInstruction": "Add step",
|
||
"undo": "Undo",
|
||
"redo": "Redo"
|
||
},
|
||
"sections": {
|
||
"layouts": "Layouts",
|
||
"layoutsHint": "Pick a starting template. You can switch at any time.",
|
||
"text": "Text",
|
||
"instructions": "Step-by-step",
|
||
"instructionsHint": "Guide guests with clear steps. Maximum of five.",
|
||
"branding": "Colors"
|
||
},
|
||
"elements": {
|
||
"title": "Elements & positioning",
|
||
"hint": "Select an element to move, edit, or remove it.",
|
||
"headline": "Headline",
|
||
"subtitle": "Subheading",
|
||
"description": "Description",
|
||
"badge": "Badge",
|
||
"link": "Link field",
|
||
"cta": "Call-to-action",
|
||
"qr": "QR code",
|
||
"logo": "Logo",
|
||
"text": "Free text block",
|
||
"remove": "Remove element",
|
||
"details": "Element details",
|
||
"detailsHint": "Adjust copy, alignment, and more. Changes appear instantly in the preview.",
|
||
"customText": "Text content",
|
||
"qrHint": "Resize and reposition the QR code directly on the canvas.",
|
||
"logoHint": "Adjust logos in the branding section. Use the canvas to resize or move the element.",
|
||
"align": "Alignment",
|
||
"alignLeft": "Left",
|
||
"alignCenter": "Center",
|
||
"alignRight": "Right",
|
||
"fontSize": "Font size",
|
||
"selectHint": "Tap an element on the canvas or in the list to edit its details.",
|
||
"listHint": "Select an element to reveal its settings directly under the entry.",
|
||
"addSubtitle": "Show subtitle",
|
||
"addBadge": "Show badge",
|
||
"addLink": "Add link field",
|
||
"addCta": "Insert call-to-action",
|
||
"addText": "Add free text block"
|
||
},
|
||
"fields": {
|
||
"headline": "Headline",
|
||
"subtitle": "Subheading",
|
||
"description": "Description",
|
||
"badge": "Badge label",
|
||
"cta": "Call-to-action",
|
||
"linkHeading": "Link heading",
|
||
"linkLabel": "Link/short URL",
|
||
"instructionsHeading": "Section heading",
|
||
"instructionPlaceholder": "Describe this step",
|
||
"accentColor": "Accent colour",
|
||
"textColor": "Text colour",
|
||
"backgroundColor": "Background",
|
||
"badgeColor": "Badge colour",
|
||
"logo": "Logo"
|
||
},
|
||
"preview": {
|
||
"title": "Live preview",
|
||
"subtitle": "See the export-ready version instantly.",
|
||
"mobileOpen": "Show preview",
|
||
"mobileTitle": "Invite preview",
|
||
"mobileHint": "Opens a preview overlay",
|
||
"readyForGuests": "Ready for guests",
|
||
"instructions": "This link takes guests directly to the gallery and works together with the printed QR code.",
|
||
"qrAlt": "Invite QR code"
|
||
},
|
||
"placeholderTitle": "No layout available",
|
||
"placeholderCopy": "Create an invite first to customise copy, colours, and print layouts.",
|
||
"loadingTitle": "Loading layouts",
|
||
"loadingDescription": "One moment – we are preparing the available layouts.",
|
||
"loadingError": "Layouts could not be loaded.",
|
||
"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}}",
|
||
"mode": "Mode"
|
||
},
|
||
"mode": {
|
||
"title": "Choose your photobooth type",
|
||
"description": "Pick classic FTP or Sparkbooth HTTP upload. Switching regenerates credentials.",
|
||
"active": "Current: {{mode}}"
|
||
},
|
||
"credentials": {
|
||
"heading": "FTP credentials",
|
||
"description": "Share these credentials with your photobooth software.",
|
||
"sparkboothTitle": "Sparkbooth upload (HTTP)",
|
||
"sparkboothDescription": "Enter URL, username and password in Sparkbooth. Responses default to JSON (XML optional).",
|
||
"host": "Host",
|
||
"port": "Port",
|
||
"username": "Username",
|
||
"password": "Password",
|
||
"path": "Upload path",
|
||
"postUrl": "Upload URL",
|
||
"responseFormat": "Response format"
|
||
},
|
||
"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": "Access stays enabled and uploads are processed instantly (FTP or Sparkbooth).",
|
||
"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.",
|
||
"loadFailed": "Event could not be loaded.",
|
||
"saveFailed": "Event could not be saved.",
|
||
"notFoundTitle": "Event not found",
|
||
"notFoundBody": "Without a valid identifier we can’t load the data. Return to the list and choose an event.",
|
||
"toggleFailed": "Status could not be updated.",
|
||
"checkoutMissing": "Checkout could not be started.",
|
||
"checkoutFailed": "Add-on checkout failed."
|
||
},
|
||
"alerts": {
|
||
"failedTitle": "Action failed"
|
||
},
|
||
"success": {
|
||
"addonApplied": "Add-on applied. Limits will refresh shortly."
|
||
},
|
||
"legalConsent": {
|
||
"title": "Before purchase",
|
||
"description": "Please confirm the legal notes before buying an add-on.",
|
||
"checkboxTerms": "I have read and accept the Terms & Conditions, Privacy Policy, and Right of Withdrawal.",
|
||
"checkboxWaiver": "I expressly request that you begin providing the digital services (activation of my event add-on) before the withdrawal period has expired. I understand that I lose my right of withdrawal once the contract has been fully performed.",
|
||
"errorTerms": "Please confirm you accept the terms, privacy policy, and right of withdrawal.",
|
||
"errorWaiver": "Please confirm the immediate start of the digital service and the early expiry of the right of withdrawal.",
|
||
"confirm": "Continue to checkout",
|
||
"cancel": "Cancel"
|
||
},
|
||
"eventStartConsent": {
|
||
"title": "Before your first event",
|
||
"description": "Please confirm the immediate start of the digital service before creating your first event.",
|
||
"checkboxWaiver": "I expressly request that the digital service begins now and understand my right of withdrawal expires once the contract has been fully performed.",
|
||
"errorWaiver": "Please confirm the immediate start of the digital service and the early expiry of the right of withdrawal.",
|
||
"confirm": "Create event",
|
||
"cancel": "Cancel"
|
||
},
|
||
"placeholders": {
|
||
"untitled": "Untitled event"
|
||
},
|
||
"actions": {
|
||
"backToList": "Back to list",
|
||
"edit": "Edit",
|
||
"members": "Team & roles",
|
||
"tasks": "Manage tasks",
|
||
"invites": "Invites & layouts",
|
||
"photos": "Moderate photos",
|
||
"refresh": "Refresh",
|
||
"buyMorePhotos": "Unlock more photos",
|
||
"buyMoreGuests": "Unlock more guests",
|
||
"extendGallery": "Extend gallery"
|
||
},
|
||
"form": {
|
||
"editTitle": "Edit event",
|
||
"createTitle": "Create new event",
|
||
"name": "Event name",
|
||
"date": "Date & time",
|
||
"description": "Optional details",
|
||
"descriptionPlaceholder": "Description",
|
||
"location": "Location",
|
||
"locationPlaceholder": "Location",
|
||
"enableBranding": "Enable branding & moderation",
|
||
"fallbackName": "Event",
|
||
"saveDraft": "Save as draft",
|
||
"saving": "Saving…",
|
||
"update": "Update event",
|
||
"create": "Create event"
|
||
},
|
||
"workspace": {
|
||
"detailSubtitle": "Keep status, tasks, and invites of your event in one view.",
|
||
"toolkitSubtitle": "Bundle moderation, tasks, and invites for the event day.",
|
||
"hero": {
|
||
"badge": "Event",
|
||
"description": "Focus on tasks, moderation, and invites for this event.",
|
||
"liveBadge": "Live?"
|
||
},
|
||
"sections": {
|
||
"statusTitle": "Event status & visibility",
|
||
"statusSubtitle": "Activate the event for guests or hide it temporarily."
|
||
},
|
||
"fields": {
|
||
"status": "Status",
|
||
"active": "Active for guests",
|
||
"date": "Event date",
|
||
"noDate": "No date",
|
||
"eventType": "Event type",
|
||
"insights": "Recent activity",
|
||
"uploadsTotal": "{{count}} uploads total",
|
||
"uploadsToday": "{{count}} uploads (24h)",
|
||
"likesTotal": "{{count}} likes in total"
|
||
},
|
||
"actions": {
|
||
"pause": "Pause event",
|
||
"activate": "Activate event"
|
||
},
|
||
"activeYes": "Yes",
|
||
"activeNo": "No"
|
||
},
|
||
"sections": {
|
||
"addons": {
|
||
"title": "Add-ons & Boosts",
|
||
"description": "Recently purchased add-ons for this event.",
|
||
"status": {
|
||
"completed": "Active",
|
||
"pending": "Processing",
|
||
"failed": "Failed"
|
||
},
|
||
"purchasedAt": "Purchased {{date}}",
|
||
"summary": {
|
||
"photos": "+{{count}} photos",
|
||
"guests": "+{{count}} guests",
|
||
"gallery": "+{{count}} days gallery"
|
||
}
|
||
}
|
||
},
|
||
"status": {
|
||
"published": "Published",
|
||
"draft": "Draft",
|
||
"archived": "Archived"
|
||
},
|
||
"quickActions": {
|
||
"title": "Quick actions",
|
||
"subtitle": "Jump into the most important flows before and during the event.",
|
||
"moderate": "Moderate photos",
|
||
"tasks": "Edit tasks",
|
||
"invites": "Manage layouts & QR",
|
||
"roles": "Adjust team & roles",
|
||
"print": "Print layouts as PDF",
|
||
"toggle": "Change status"
|
||
},
|
||
"metrics": {
|
||
"uploadsTotal": "Uploads total",
|
||
"uploads24h": "Uploads (24h)",
|
||
"pending": "Photos in moderation",
|
||
"activeInvites": "Active invites"
|
||
},
|
||
"invites": {
|
||
"badge": "Invites",
|
||
"title": "QR invites",
|
||
"subtitle": "Keep an eye on active links and layouts.",
|
||
"activeCount": "{{count}} active",
|
||
"totalCount": "{{count}} total",
|
||
"empty": "No invites created yet.",
|
||
"manage": "Manage layouts & invites"
|
||
},
|
||
"tasks": {
|
||
"badge": "Tasks",
|
||
"title": "Active tasks",
|
||
"subtitle": "Motivate guests with clear prompts & highlights.",
|
||
"summary": "{{completed}} of {{total}} complete",
|
||
"empty": "No tasks assigned yet.",
|
||
"manage": "Open task workspace",
|
||
"status": {
|
||
"completed": "Done",
|
||
"open": "Open"
|
||
}
|
||
},
|
||
"recap": {
|
||
"badge": "Recap",
|
||
"subtitle": "Wrap up, export, and manage gallery runtime.",
|
||
"galleryTitle": "Gallery status",
|
||
"galleryCounts": "{{photos}} photos, {{pending}} pending, {{likes}} likes",
|
||
"open": "Open",
|
||
"closed": "Closed",
|
||
"openGallery": "Open gallery",
|
||
"closeGallery": "Close gallery",
|
||
"moderate": "View uploads",
|
||
"shareGuests": "Share guest gallery",
|
||
"shareLink": "Guest link",
|
||
"noPublicUrl": "No guest link set. Configure the public link in the event setup.",
|
||
"copyLink": "Copy link",
|
||
"copySuccess": "Link copied",
|
||
"copyError": "Link could not be shared.",
|
||
"qrTitle": "Share QR code",
|
||
"qrDownload": "Download QR code",
|
||
"qrShare": "Share link/QR",
|
||
"qrAlt": "Guest gallery QR code",
|
||
"allowDownloads": "Allow downloads",
|
||
"allowDownloadsHint": "Guests may save photos",
|
||
"allowSharing": "Allow sharing",
|
||
"allowSharingHint": "Guests may share links",
|
||
"galleryOpen": "Gallery open",
|
||
"galleryClosed": "Gallery closed",
|
||
"exportTitle": "Export & backup",
|
||
"exportCopy": "Back up all assets",
|
||
"exportHint": "Start ZIP/CSV exports and backups.",
|
||
"backup": "Backup",
|
||
"downloadAll": "Download everything",
|
||
"downloadHighlights": "Download highlights",
|
||
"highlightsHint": "“Highlights” = photos marked as highlight in the gallery.",
|
||
"retentionTitle": "Extend / archive",
|
||
"expiresAt": "Expires on {{date}}",
|
||
"noExpiry": "No expiry date set",
|
||
"retentionHint": "Extend the gallery runtime with an add-on. Extensions add up.",
|
||
"expiry": "Expiry",
|
||
"archive": "Archive/Delete",
|
||
"extendOptions": "All add-ons for this event",
|
||
"extendHint": "Extensions add up. Checkout opens in a new tab.",
|
||
"priceMissing": "Price not linked",
|
||
"noAddons": "No add-ons available right now.",
|
||
"archivedSuccess": "Event archived. Gallery is closed.",
|
||
"archiveTitle": "Archive gallery?",
|
||
"archiveDesc": "Archiving closes the gallery, deactivates guest links, and stops new uploads. Finish exports first.",
|
||
"archiveImpact": "Effects of archiving",
|
||
"archiveImpactClose": "Guest access ends; uploads/downloads are disabled.",
|
||
"archiveImpactLinks": "Public links and QR codes become invalid; existing sessions expire.",
|
||
"archiveImpactData": "Data stays internally for compliance/support and can be deleted on request (GDPR).",
|
||
"archiveConfirm": "I completed exports and want to archive now.",
|
||
"archiveConfirmCta": "Archive now"
|
||
},
|
||
"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.",
|
||
"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?",
|
||
"subtitle": "Your feedback helps us prioritise improvements.",
|
||
"afterEventTitle": "Event wrapped – quick feedback?",
|
||
"afterEventCopy": "Did everything work out? Your answer helps us support future events.",
|
||
"privacyHint": "Admin-only feedback, no guest data",
|
||
"positive": "Was great",
|
||
"neutral": "Was okay",
|
||
"negative": "Needed support",
|
||
"best": {
|
||
"uploads": "Uploads & speed",
|
||
"invites": "QR invites & layouts",
|
||
"moderation": "Moderation & export",
|
||
"experience": "Overall app experience"
|
||
},
|
||
"placeholder": "Optional: tell us what worked well or what to improve.",
|
||
"errorTitle": "Feedback could not be sent.",
|
||
"authError": "Your session expired. Please sign in again.",
|
||
"genericError": "Feedback could not be sent.",
|
||
"submit": "Send feedback",
|
||
"submitted": "Thanks!",
|
||
"afterEventThanks": "Your feedback arrived. We’ll get back to you if we have questions.",
|
||
"sendAnother": "Send another feedback",
|
||
"supportFollowup": "Request support",
|
||
"cta": "Give feedback",
|
||
"quickSentiment": "Pick sentiment (positive/neutral/support).",
|
||
"dialogTitle": "Quick after-event feedback",
|
||
"dialogCopy": "Pick a sentiment, what worked best, and optionally what to improve.",
|
||
"sentiment": "Sentiment",
|
||
"bestQuestion": "What worked best?",
|
||
"improve": "What should we improve?",
|
||
"supportHelp": "I’d like a short follow-up (support)."
|
||
}
|
||
},
|
||
"tasks": {
|
||
"actions": {
|
||
"back": "Back to overview",
|
||
"assign": "Assign selected tasks"
|
||
},
|
||
"title": "Tasks & missions",
|
||
"subtitle": "Curate mission cards and tasks for this event.",
|
||
"alerts": {
|
||
"notFoundTitle": "Event not found",
|
||
"notFoundDescription": "Please return to the event list."
|
||
},
|
||
"tabs": {
|
||
"tasks": "Tasks",
|
||
"packs": "Mission packs"
|
||
},
|
||
"eventStatus": "Status: {{status}}",
|
||
"modes": {
|
||
"title": "Tasks & photo mode",
|
||
"tasksHint": "Tasks are active. Guests see mission cards in the app.",
|
||
"photoOnlyHint": "Photo-only mode is active. Guests can upload photos but won’t see tasks.",
|
||
"tasks": "Tasks active",
|
||
"photoOnly": "Photo-only",
|
||
"switchLabel": "Enable/disable tasks",
|
||
"updating": "Saving setting ..."
|
||
},
|
||
"summary": {
|
||
"assigned": "Assigned tasks",
|
||
"library": "Library",
|
||
"mode": "Active mode",
|
||
"tasksMode": "Mission cards",
|
||
"photoOnly": "Photos only"
|
||
},
|
||
"library": {
|
||
"hintTitle": "More templates in the task library",
|
||
"hintCopy": "Create tasks, emotions, or mission packs once and reuse them across events.",
|
||
"open": "Open task library"
|
||
},
|
||
"sections": {
|
||
"assigned": {
|
||
"title": "Assigned tasks",
|
||
"search": "Search tasks...",
|
||
"noResults": "No tasks match this search term.",
|
||
"empty": "No tasks assigned yet."
|
||
},
|
||
"library": {
|
||
"title": "Add tasks from library",
|
||
"empty": "No tasks found in the library."
|
||
}
|
||
},
|
||
"actionsShort": {
|
||
"assign": "Assign selected tasks"
|
||
},
|
||
"errors": {
|
||
"missingSlug": "No event slug provided.",
|
||
"load": "Tasks could not be loaded.",
|
||
"assign": "Tasks could not be assigned.",
|
||
"collections": "Collections could not be loaded.",
|
||
"photoOnlyEnable": "Photo-only mode could not be enabled.",
|
||
"photoOnlyDisable": "Photo-only mode could not be disabled."
|
||
},
|
||
"collections": {
|
||
"errorTitle": "Collections unavailable",
|
||
"import": "Import collection",
|
||
"error": "Collections could not be loaded.",
|
||
"title": "Mission packs",
|
||
"subtitle": "Import task collections that fit your event.",
|
||
"viewAll": "View all collections",
|
||
"empty": "No recommended collections found.",
|
||
"tasksCount": "{{count}} tasks",
|
||
"genericType": "General",
|
||
"global": "Global",
|
||
"custom": "Custom",
|
||
"recommended": "Recommended",
|
||
"optional": "Optional",
|
||
"importCta": "Import mission pack",
|
||
"imported": "Collection imported successfully",
|
||
"importFailed": "Mission pack could not be imported"
|
||
}
|
||
},
|
||
"collections": {
|
||
"title": "Task collections",
|
||
"subtitle": "Browse curated task bundles or activate them for your events.",
|
||
"actions": {
|
||
"import": "Import",
|
||
"create": "Create collection",
|
||
"openTasks": "Open task library"
|
||
},
|
||
"filters": {
|
||
"search": "Search collections",
|
||
"scope": "Scope",
|
||
"allScopes": "All scopes",
|
||
"eventType": "Event type",
|
||
"allEventTypes": "All event types",
|
||
"globalOnly": "Global templates",
|
||
"tenantOnly": "Customer collections"
|
||
},
|
||
"scope": {
|
||
"global": "Global template",
|
||
"tenant": "Customer-owned"
|
||
},
|
||
"empty": {
|
||
"title": "No collections yet",
|
||
"description": "Import one of Fotospiel’s curated templates or create your own bundle to get started."
|
||
},
|
||
"dialogs": {
|
||
"importTitle": "Import collection",
|
||
"collectionLabel": "Collection",
|
||
"selectEvent": "Select event",
|
||
"submit": "Import",
|
||
"cancel": "Cancel"
|
||
},
|
||
"notifications": {
|
||
"imported": "Collection imported successfully",
|
||
"error": "Collection could not be imported"
|
||
},
|
||
"errors": {
|
||
"eventsLoad": "Events could not be loaded.",
|
||
"selectEvent": "Please select an event.",
|
||
"noEvents": "No events yet – create one to activate this collection."
|
||
},
|
||
"labels": {
|
||
"taskCount": "{{count}} tasks",
|
||
"updated": "Updated: {{date}}"
|
||
},
|
||
"pagination": {
|
||
"prev": "Previous",
|
||
"next": "Next",
|
||
"page": "Page {{current}} of {{total}}"
|
||
}
|
||
},
|
||
"engagement": {
|
||
"subtitle": "Manage tasks, collections, and emotions from a single workspace."
|
||
},
|
||
"emotions": {
|
||
"title": "Emotions",
|
||
"subtitle": "Manage the emotional tone available for your events.",
|
||
"actions": {
|
||
"create": "Add emotion",
|
||
"enable": "Enable",
|
||
"disable": "Disable"
|
||
},
|
||
"scope": {
|
||
"global": "Global",
|
||
"tenant": "Customer"
|
||
},
|
||
"labels": {
|
||
"updated": "Updated: {{date}}",
|
||
"noEventType": "All event types"
|
||
},
|
||
"status": {
|
||
"active": "Active",
|
||
"inactive": "Inactive"
|
||
},
|
||
"errors": {
|
||
"genericTitle": "Action failed",
|
||
"load": "Emotions could not be loaded.",
|
||
"create": "Emotion could not be created.",
|
||
"toggle": "Emotion status could not be updated.",
|
||
"nameRequired": "Please provide a name."
|
||
},
|
||
"empty": {
|
||
"title": "No emotions yet",
|
||
"description": "Create your own emotion or use the Fotospiel defaults."
|
||
},
|
||
"dialogs": {
|
||
"createTitle": "Add custom emotion",
|
||
"name": "Name",
|
||
"description": "Description",
|
||
"icon": "Icon",
|
||
"color": "Color",
|
||
"activeLabel": "Active",
|
||
"activeDescription": "Visible in the task library",
|
||
"cancel": "Cancel",
|
||
"submit": "Save emotion"
|
||
}
|
||
},
|
||
"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?"
|
||
}
|
||
}
|
||
}
|
||
,
|
||
"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.",
|
||
"errorLoad": "Unable to load notification preferences.",
|
||
"errorSave": "Saving failed. Please try again.",
|
||
"hint": "You can re-enable notifications at any time.",
|
||
"actions": {
|
||
"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."
|
||
},
|
||
"items": {
|
||
"photoThresholds": {
|
||
"label": "Photo thresholds",
|
||
"description": "Send warnings when photo usage reaches 80% and 95%."
|
||
},
|
||
"photoLimits": {
|
||
"label": "Photo limit reached",
|
||
"description": "Let me know when no further uploads are possible."
|
||
},
|
||
"guestThresholds": {
|
||
"label": "Guest quota warning",
|
||
"description": "Warn me shortly before all guest links are in use."
|
||
},
|
||
"guestLimits": {
|
||
"label": "Guest quota exhausted",
|
||
"description": "Inform me when no more guest links can be generated."
|
||
},
|
||
"galleryWarnings": {
|
||
"label": "Gallery ends soon",
|
||
"description": "Receive reminders 7 and 1 day before the gallery expires."
|
||
},
|
||
"galleryExpired": {
|
||
"label": "Gallery expired",
|
||
"description": "Let me know when guests can no longer access the gallery."
|
||
},
|
||
"eventThresholds": {
|
||
"label": "Event quota warning",
|
||
"description": "Notify me when the reseller package is almost used up."
|
||
},
|
||
"eventLimits": {
|
||
"label": "Event quota exhausted",
|
||
"description": "Notify me when no further events can be created."
|
||
},
|
||
"packageExpiring": {
|
||
"label": "Package expires soon",
|
||
"description": "Reminders 30, 7, and 1 day before the package expires."
|
||
},
|
||
"packageExpired": {
|
||
"label": "Package expired",
|
||
"description": "Inform me once the package has expired."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"branding": {
|
||
"title": "Branding & fonts",
|
||
"subtitle": "Adjust colors, typography, logos/emoticons, and buttons for the guest app.",
|
||
"errors": {
|
||
"missingSlug": "No event selected – open it from the event list."
|
||
},
|
||
"actions": {
|
||
"back": "Back to event"
|
||
},
|
||
"sections": {
|
||
"mode": "Default vs. event-specific",
|
||
"toggleTitle": "Choose branding source",
|
||
"toggleDescription": "Use tenant defaults or override only for this event.",
|
||
"palette": "Palette & mode",
|
||
"colorsTitle": "Colors & light/dark",
|
||
"colorsDescription": "Set primary, secondary, background, and surface colors.",
|
||
"typography": "Typography & logo",
|
||
"fonts": "Fonts & logo/emoticon",
|
||
"fontDescription": "Configure heading/body fonts plus logo/emoji and alignment.",
|
||
"buttons": "Buttons & links",
|
||
"buttonsTitle": "Buttons, links & radius",
|
||
"buttonsDescription": "Choose style, radius, and optional link color.",
|
||
"preview": "Preview",
|
||
"previewTitle": "Mini guest view",
|
||
"previewCopy": "Header, CTA, and bottom navigation reflecting your branding."
|
||
},
|
||
"useDefault": "Use default",
|
||
"useCustom": "Event-specific",
|
||
"toggleHint": "Default uses tenant colors; event-specific overrides them.",
|
||
"standard": "Default",
|
||
"custom": "Event",
|
||
"toggleAria": "Toggle event-specific branding",
|
||
"mode": "Mode",
|
||
"modeAuto": "Auto",
|
||
"modeLight": "Light",
|
||
"modeDark": "Dark",
|
||
"typography": {
|
||
"heading": "Heading font",
|
||
"body": "Body font"
|
||
},
|
||
"size": "Font size",
|
||
"logo": {
|
||
"value": "Emoticon/Logo URL",
|
||
"mode": "Logo mode",
|
||
"position": "Position"
|
||
},
|
||
"emoticon": "Emoticon/Text",
|
||
"upload": "Upload/URL",
|
||
"left": "Left",
|
||
"center": "Center",
|
||
"right": "Right",
|
||
"palette": {
|
||
"primary": "Primary",
|
||
"secondary": "Secondary",
|
||
"surface": "Surface"
|
||
},
|
||
"buttonStyle": "Style",
|
||
"buttons": {
|
||
"style": "Style",
|
||
"radius": "Radius",
|
||
"primary": "Button primary",
|
||
"secondary": "Button secondary",
|
||
"linkColor": "Link color"
|
||
},
|
||
"filled": "Filled",
|
||
"outline": "Outline",
|
||
"radius": "Radius",
|
||
"linkColor": "Link color",
|
||
"buttonPrimary": "Button primary",
|
||
"buttonSecondary": "Button secondary",
|
||
"reset": "Reset to default",
|
||
"save": "Save branding",
|
||
"saving": "Saving...",
|
||
"saved": "Branding saved.",
|
||
"saveError": "Branding could not be saved.",
|
||
"footer": {
|
||
"default": "Tenant default colors active.",
|
||
"custom": "Event-specific branding active."
|
||
},
|
||
"usingDefault": "Tenant branding active",
|
||
"usingCustom": "Event branding active",
|
||
"preview": {
|
||
"demoTitle": "Demo event",
|
||
"guestView": "Guest view · {{mode}}",
|
||
"ctaCopy": "CTA & buttons reflect the chosen style.",
|
||
"cta": "Upload photos now",
|
||
"bottomNav": "Bottom navigation"
|
||
}
|
||
},
|
||
"taskLibrary": {
|
||
"titles": {
|
||
"default": "Task library",
|
||
"embedded": "Tasks"
|
||
},
|
||
"subtitles": {
|
||
"default": "Assign tasks and track progress around your events.",
|
||
"embedded": "Plan tasks, actions, and highlights for your guests."
|
||
},
|
||
"errors": {
|
||
"title": "Error",
|
||
"load": "Tasks could not be loaded."
|
||
},
|
||
"actions": {
|
||
"collections": "Collections",
|
||
"new": "New",
|
||
"searchPlaceholder": "Search tasks …"
|
||
},
|
||
"pagination": {
|
||
"page": "Page {{current}} of {{total}} · {{count}} entries",
|
||
"summary": "Total {{count}} tasks · Page {{current}} of {{total}}",
|
||
"prev": "Back",
|
||
"next": "Next"
|
||
},
|
||
"form": {
|
||
"editTitle": "Edit task",
|
||
"createTitle": "Create task",
|
||
"title": "Title",
|
||
"description": "Description",
|
||
"descriptionPlaceholder": "What should guests do?",
|
||
"priority": "Priority",
|
||
"priorityPlaceholder": "Choose priority",
|
||
"dueDate": "Due date",
|
||
"completedTitle": "Already completed?",
|
||
"completedCopy": "Mark tasks as done when they should no longer be visible.",
|
||
"cancel": "Cancel",
|
||
"save": "Save"
|
||
},
|
||
"priorities": {
|
||
"low": "Low",
|
||
"medium": "Medium",
|
||
"high": "High",
|
||
"urgent": "Urgent"
|
||
},
|
||
"list": {
|
||
"template": "Template #{{id}}",
|
||
"edit": "Edit",
|
||
"delete": "Delete"
|
||
},
|
||
"empty": {
|
||
"title": "No tasks yet",
|
||
"description": "Create a new task or import templates to inspire your guests.",
|
||
"cta": "Create first task"
|
||
}
|
||
},
|
||
"billingWarning": {
|
||
"title": "Needs attention",
|
||
"description": "Package alerts and limits you should keep an eye on."
|
||
},
|
||
"eventForm": {
|
||
"errors": {
|
||
"notice": "Notice",
|
||
"loadFailed": "Event could not be loaded.",
|
||
"saveFailed": "Event could not be saved.",
|
||
"nameRequired": "Please enter an event name.",
|
||
"typeRequired": "Please select an event type."
|
||
},
|
||
"titles": {
|
||
"create": "Create event",
|
||
"edit": "Edit event"
|
||
},
|
||
"subtitle": "Fill in the essentials and share your event with guests.",
|
||
"sections": {
|
||
"details": {
|
||
"title": "Event details",
|
||
"description": "Name, URL, and date define how guests see your event."
|
||
}
|
||
},
|
||
"fields": {
|
||
"name": {
|
||
"label": "Event name",
|
||
"placeholder": "e.g. Summer Party 2025",
|
||
"help": "The slug and event URL are generated from the name.",
|
||
"fallback": "Event"
|
||
},
|
||
"date": {
|
||
"label": "Date"
|
||
},
|
||
"description": {
|
||
"label": "Optional details",
|
||
"placeholder": "Description"
|
||
},
|
||
"location": {
|
||
"label": "Location",
|
||
"placeholder": "Location"
|
||
},
|
||
"enableBranding": {
|
||
"label": "Enable branding & moderation",
|
||
"locked": "Branding is available on higher packages. Upgrade to enable custom branding."
|
||
},
|
||
"type": {
|
||
"label": "Event type",
|
||
"loading": "Loading event types…",
|
||
"placeholder": "Select event type",
|
||
"empty": "No event types available yet. Please add one in the admin area."
|
||
},
|
||
"publish": {
|
||
"label": "Publish immediately",
|
||
"help": "Enable if guests should see the event right away. You can change the status later."
|
||
},
|
||
"tasksMode": {
|
||
"label": "Tasks & challenges",
|
||
"helpOn": "Guests can see tasks, challenges and achievements.",
|
||
"helpOff": "Task mode is off: guests only see the photo feed."
|
||
}
|
||
},
|
||
"actions": {
|
||
"backToList": "Back to list",
|
||
"saving": "Saving…",
|
||
"save": "Save",
|
||
"cancel": "Cancel",
|
||
"saveDraft": "Save as draft",
|
||
"update": "Update event",
|
||
"create": "Create event"
|
||
}
|
||
},
|
||
"notifications": {
|
||
"trigger": "Notifications",
|
||
"title": "Notifications",
|
||
"empty": "All clear",
|
||
"empty.message": "All caught up — we’ll notify you about updates.",
|
||
"action": {
|
||
"dismiss": "Dismiss",
|
||
"refresh": "Load new alerts"
|
||
},
|
||
"noEvents": {
|
||
"title": "Let’s get started",
|
||
"description": "Create your first event to unlock uploads, tasks, and invites.",
|
||
"cta": "Create event"
|
||
},
|
||
"draftEvent": {
|
||
"title": "Event still a draft",
|
||
"description": "Publish to enable invites and the gallery.",
|
||
"cta": "Open event"
|
||
},
|
||
"upcomingEvent": {
|
||
"title": "Event starts soon",
|
||
"description_today": "Today’s event — check uploads and tasks.",
|
||
"description_days": "{{count}} days left — prepare invites and tasks.",
|
||
"cta": "Open event"
|
||
},
|
||
"pendingUploads": {
|
||
"title": "Uploads awaiting review",
|
||
"description": "{{count}} new uploads need moderation.",
|
||
"cta": "Open uploads"
|
||
},
|
||
"newPhotos": {
|
||
"title": "New photos arrived",
|
||
"description": "{{count}} uploads are waiting for you.",
|
||
"cta": "Open gallery",
|
||
"ctaFallback": "View events"
|
||
}
|
||
},
|
||
"events": {
|
||
"detail": {
|
||
"kpi": {
|
||
"tasks": "Active tasks",
|
||
"guests": "Guests registered",
|
||
"photos": "Images uploaded"
|
||
},
|
||
"pickEvent": "Select event",
|
||
"active": "Active",
|
||
"managementTitle": "Event management",
|
||
"dateTbd": "Date tbd",
|
||
"locationPlaceholder": "Location"
|
||
},
|
||
"quick": {
|
||
"tasks": "Tasks & checklists",
|
||
"qr": "QR code layouts",
|
||
"images": "Image management",
|
||
"guests": "Guest management",
|
||
"branding": "Branding & theme",
|
||
"moderation": "Photo moderation",
|
||
"recap": "Recap & archive"
|
||
},
|
||
"status": {
|
||
"published": "Live",
|
||
"draft": "Draft",
|
||
"archived": "Archived"
|
||
},
|
||
"list": {
|
||
"title": "Your events",
|
||
"subtitle": "Plan memorable moments. Manage everything around your events here.",
|
||
"filters": {
|
||
"all": "All",
|
||
"upcoming": "Upcoming",
|
||
"draft": "Draft",
|
||
"past": "Past"
|
||
},
|
||
"empty": {
|
||
"filtered": "No events match this filter.",
|
||
"filteredHint": "Try a different status or clear your search."
|
||
},
|
||
"actions": {
|
||
"create": "New event",
|
||
"settings": "Settings"
|
||
},
|
||
"overview": {
|
||
"title": "Overview",
|
||
"empty": "No events yet – create your first one to get started.",
|
||
"count": "{{count}} {{count, plural, one {event} other {events}}} managed.",
|
||
"badge": {
|
||
"dashboard": "Customer dashboard"
|
||
}
|
||
}
|
||
},
|
||
"errors": {
|
||
"missingSlug": "No event slug provided.",
|
||
"missingType": "Event type is missing. Please save the event again in the admin.",
|
||
"loadFailed": "Event data could not be loaded.",
|
||
"saveFailed": "Event could not be saved."
|
||
},
|
||
"branding": {
|
||
"titleShort": "Branding",
|
||
"previewTitle": "Guest app preview",
|
||
"previewSubtitle": "Current colors & fonts",
|
||
"primary": "Primary",
|
||
"accent": "Accent",
|
||
"colors": "Colors",
|
||
"primaryColor": "Primary color",
|
||
"accentColor": "Accent color",
|
||
"fonts": "Fonts",
|
||
"headingFont": "Headline font",
|
||
"headingFontPlaceholder": "SF Pro Display",
|
||
"bodyFont": "Body font",
|
||
"bodyFontPlaceholder": "SF Pro Text",
|
||
"logo": "Logo",
|
||
"logoAlt": "Logo",
|
||
"replaceLogo": "Replace logo",
|
||
"removeLogo": "Remove",
|
||
"logoHint": "Upload a logo to brand guest invites and QR posters.",
|
||
"uploadLogo": "Upload logo (max. 1 MB)",
|
||
"logoTooLarge": "Logo must be under 1 MB.",
|
||
"save": "Save branding",
|
||
"saving": "Saving...",
|
||
"saveSuccess": "Branding saved.",
|
||
"reset": "Reset to defaults",
|
||
"fontPicker": "Select font",
|
||
"noFonts": "No fonts found."
|
||
},
|
||
"watermark": {
|
||
"tab": "Watermark",
|
||
"title": "Watermark",
|
||
"previewTitle": "Watermark Preview",
|
||
"mode": "Mode",
|
||
"modeBase": "Base watermark",
|
||
"modeCustom": "Custom watermark",
|
||
"modeOff": "Off",
|
||
"upload": "Upload watermark",
|
||
"uploadCta": "PNG/SVG/JPG (max. 3 MB)",
|
||
"replace": "Replace watermark",
|
||
"uploadHint": "PNG with transparency recommended.",
|
||
"placement": "Placement & size",
|
||
"size": "Size",
|
||
"opacity": "Opacity",
|
||
"padding": "Padding",
|
||
"offset": "Offset X",
|
||
"offsetX": "X-axis",
|
||
"offsetY": "Y-axis",
|
||
"lockedBranding": "Custom watermark locked by this package. Using base watermark.",
|
||
"lockedDisabled": "Watermarks are disabled for this package.",
|
||
"errors": {
|
||
"noAsset": "Please upload a watermark image first.",
|
||
"fileTooLarge": "Watermark must be under 3 MB."
|
||
}
|
||
},
|
||
"members": {
|
||
"title": "Guest management",
|
||
"inviteTitle": "Invite member",
|
||
"name": "Name",
|
||
"namePlaceholder": "Alex Example",
|
||
"email": "Email",
|
||
"emailPlaceholder": "alex@example.com",
|
||
"role": "Role",
|
||
"roleMember": "Member",
|
||
"roleAdmin": "Admin",
|
||
"invite": "Send invite",
|
||
"inviteSuccess": "Invitation sent",
|
||
"inviteFailed": "Invitation failed.",
|
||
"emailInvalid": "Please enter a valid email address.",
|
||
"search": "Search members",
|
||
"filters": {
|
||
"statusLabel": "Status",
|
||
"roleLabel": "Role",
|
||
"statusAll": "All statuses",
|
||
"statusPending": "Pending",
|
||
"statusActive": "Active",
|
||
"statusInvited": "Invited",
|
||
"roleAll": "All roles",
|
||
"roleAdmin": "Admins",
|
||
"roleMember": "Members"
|
||
},
|
||
"listTitle": "Team & guests",
|
||
"copyEmail": "Email copied",
|
||
"copyEmailFailed": "Copy failed",
|
||
"copyEmailLabel": "Copy email",
|
||
"empty": "No invitations yet.",
|
||
"emptyTitle": "Invite your team",
|
||
"emptyBody": "Send the first invite so helpers can access the event.",
|
||
"emptyFilteredTitle": "No matching members",
|
||
"emptyFilteredBody": "Adjust your search or filters to see members.",
|
||
"clearFilters": "Clear filters",
|
||
"fallbackName": "Guest",
|
||
"admin": "Admin",
|
||
"member": "Member",
|
||
"statuses": {
|
||
"pending": "Pending",
|
||
"active": "Active",
|
||
"invited": "Invited",
|
||
"unknown": "Unknown"
|
||
},
|
||
"confirmRemove": "Remove member?",
|
||
"remove": "Remove",
|
||
"removeHint": "This member will lose access to the event.",
|
||
"removeSuccess": "Member removed",
|
||
"removeFailed": "Member could not be removed."
|
||
},
|
||
"tasks": {
|
||
"disabledTitle": "Task mode is off for this event",
|
||
"disabledBody": "Guests only see the photo feed. Enable tasks in the event settings to show them again.",
|
||
"title": "Tasks & checklists",
|
||
"quickNav": "Quick jump",
|
||
"sections": {
|
||
"assigned": "Assigned",
|
||
"library": "Library",
|
||
"collections": "Collections",
|
||
"emotions": "Emotions"
|
||
},
|
||
"summary": {
|
||
"assigned": "Assigned",
|
||
"library": "Library",
|
||
"collections": "Collections",
|
||
"emotions": "Emotions"
|
||
},
|
||
"actions": "Actions",
|
||
"assigned": "Task added",
|
||
"updateFailed": "Task could not be saved.",
|
||
"created": "Task saved",
|
||
"removed": "Task removed",
|
||
"imported": "Task pack imported",
|
||
"saveTask": "Save task",
|
||
"add": "Add",
|
||
"empty": "No tasks assigned yet.",
|
||
"emptyHint": "Add tasks or import a pack.",
|
||
"emptyTitle": "No tasks yet",
|
||
"emptyBody": "Create tasks or import a pack for your event.",
|
||
"emptyActionTask": "Add task",
|
||
"emptyActionPack": "Import pack",
|
||
"addTask": "Add task",
|
||
"addTaskHint": "Create a new task for this event.",
|
||
"import": "Import pack",
|
||
"importHint": "Use predefined packs for your event type.",
|
||
"search": "Search tasks",
|
||
"emotionFilter": "Emotion filter",
|
||
"customEmotion": "Custom emotion",
|
||
"allEmotions": "All",
|
||
"count": "{{count}} tasks",
|
||
"library": "More tasks",
|
||
"hideLibrary": "Hide library",
|
||
"viewAllLibrary": "View all",
|
||
"libraryEmpty": "No more tasks available.",
|
||
"hideCollections": "Hide collections",
|
||
"showCollections": "Show all",
|
||
"collectionsEmpty": "No collections available.",
|
||
"bulkAdd": "Bulk add",
|
||
"manageEmotions": "Manage emotions",
|
||
"manageEmotionsHint": "Filter and keep your taxonomy tidy.",
|
||
"saveEmotion": "Save emotion",
|
||
"emotionName": "Name",
|
||
"emotionNamePlaceholder": "e.g. Joy",
|
||
"emotionColor": "Color",
|
||
"emotionRemoved": "Emotion removed",
|
||
"emotionSaved": "Emotion saved",
|
||
"emotionNone": "None",
|
||
"emotion": "Emotion",
|
||
"description": "Description",
|
||
"descriptionPlaceholder": "Optional notes",
|
||
"titleLabel": "Title",
|
||
"titlePlaceholder": "e.g. First group photo",
|
||
"bulkHint": "One task per line. These will be created and added to the event.",
|
||
"bulkPlaceholder": "e.g.\nBride & groom portrait\nGroup photo main guests"
|
||
}
|
||
},
|
||
"mobileDashboard": {
|
||
"title": "Dashboard",
|
||
"selectEvent": "Select an event to continue",
|
||
"emptyBadge": "Welcome aboard",
|
||
"emptyTitle": "Welcome! Let's launch your first event",
|
||
"emptyBody": "Print a QR, collect uploads, and start moderating in minutes.",
|
||
"ctaCreate": "Create event",
|
||
"ctaWelcome": "Start welcome journey",
|
||
"emptyChecklistTitle": "Quick steps to go live",
|
||
"emptyChecklistProgress": "{{done}}/{{total}} steps",
|
||
"emptyStepDetails": "Add name & date",
|
||
"emptyStepQr": "Share your QR poster",
|
||
"emptyStepReview": "Review first uploads",
|
||
"emptyPreviewTitle": "Here's what awaits",
|
||
"emptyPreviewQr": "Share QR poster",
|
||
"emptyPreviewQrDesc": "Print-ready codes for guests and crew.",
|
||
"emptyPreviewGallery": "Gallery & highlights",
|
||
"emptyPreviewGalleryDesc": "Moderate uploads, feature the best moments.",
|
||
"emptyPreviewTasks": "Tasks & challenges",
|
||
"emptyPreviewTasksDesc": "Guide guests with playful prompts.",
|
||
"emptySupportTitle": "Need help?",
|
||
"emptySupportBody": "We are here if you need a hand getting started.",
|
||
"emptySupportDocs": "Docs: Getting started",
|
||
"emptySupportEmail": "Email support",
|
||
"setupTitle": "Set up this device",
|
||
"setupSubtitle": "Finish these steps for the best mobile experience.",
|
||
"setup": {
|
||
"installTitle": "Install app",
|
||
"installDescription": "Get full-screen access and faster launch.",
|
||
"installIosHint": "On iOS: Share → Add to Home Screen.",
|
||
"installReady": "Ready",
|
||
"installManual": "Manual",
|
||
"installAction": "Install now",
|
||
"pushTitle": "Enable push notifications",
|
||
"pushDescription": "Stay on top of uploads and quota alerts.",
|
||
"pushBlockedDesc": "Notifications are blocked in the browser settings.",
|
||
"pushBlocked": "Blocked",
|
||
"pushOff": "Off",
|
||
"pushAction": "Enable push",
|
||
"pushSettings": "Open settings",
|
||
"storageTitle": "Protect offline data",
|
||
"storageDescription": "Keep cached uploads available when you go offline.",
|
||
"storageUnprotected": "Not protected",
|
||
"storageAction": "Protect now"
|
||
},
|
||
"pickEvent": "Select an event",
|
||
"status": {
|
||
"published": "Live",
|
||
"draft": "Draft"
|
||
},
|
||
"photosLabel": "Review photos",
|
||
"photosDesc": "Moderate uploads and highlights",
|
||
"tasksLabel": "Manage tasks & challenges",
|
||
"tasksDesc": "Assign and track progress",
|
||
"tasksDisabledDesc": "Guests do not see tasks (task mode off)",
|
||
"qrLabel": "Show / share QR code",
|
||
"qrDesc": "Posters, cards, and links",
|
||
"shortcutsTitle": "Shortcuts",
|
||
"shortcutGuests": "Guest management",
|
||
"shortcutPrints": "Print & poster downloads",
|
||
"shortcutInvites": "Team / helper invites",
|
||
"shortcutSettings": "Event settings",
|
||
"shortcutBranding": "Branding & moderation",
|
||
"kpiTitle": "Key performance indicators",
|
||
"kpiTasks": "Open tasks",
|
||
"kpiPhotos": "Photos",
|
||
"kpiGuests": "Guests",
|
||
"alertsTitle": "Alerts",
|
||
"alertPending": "{{count}} new uploads awaiting moderation",
|
||
"alertTasks": "{{count}} tasks due or open"
|
||
},
|
||
"mobileTour": {
|
||
"title": "Quick tour",
|
||
"progress": "Step {{current}} of {{total}}",
|
||
"skip": "Skip",
|
||
"back": "Back",
|
||
"next": "Next",
|
||
"done": "Done",
|
||
"eventTitle": "Create your first event",
|
||
"eventBody": "Add the date, location, and package to unlock sharing.",
|
||
"eventAction": "Create event",
|
||
"qrTitle": "Share your QR code",
|
||
"qrBody": "Guests join instantly by scanning or using the invite link.",
|
||
"qrAction": "Open QR",
|
||
"photosTitle": "Moderate uploads",
|
||
"photosBody": "Approve, feature, or hide photos with quick swipes.",
|
||
"photosAction": "Review photos",
|
||
"pushTitle": "Stay in the loop",
|
||
"pushBody": "Enable push alerts to catch limits and new uploads fast.",
|
||
"pushAction": "Notification settings"
|
||
},
|
||
"mobileUploads": {
|
||
"title": "Uploads",
|
||
"emptyTitle": "Create an event first",
|
||
"emptyBody": "Add your first event to review uploads and manage QR sharing.",
|
||
"pickEvent": "Pick an event to manage uploads",
|
||
"open": "Open"
|
||
},
|
||
"mobilePhotos": {
|
||
"title": "Photo moderation",
|
||
"empty": "No photos found.",
|
||
"emptyTitle": "No uploads yet",
|
||
"emptyBody": "Share the QR code so guests can start uploading photos.",
|
||
"emptyAction": "Share QR code",
|
||
"count": "{{count}} photos",
|
||
"filtersTitle": "Filter",
|
||
"applyFilters": "Apply filters",
|
||
"uploader": "Uploader",
|
||
"uploaderPlaceholder": "Name or email",
|
||
"onlyFeatured": "Only featured",
|
||
"onlyHidden": "Only hidden",
|
||
"loadFailed": "Photos could not be loaded.",
|
||
"hideSuccess": "Photo hidden",
|
||
"showSuccess": "Photo shown",
|
||
"visibilityFailed": "Visibility could not be changed.",
|
||
"featureSuccess": "Marked as highlight",
|
||
"unfeatureSuccess": "Highlight removed",
|
||
"featureFailed": "Highlight could not be changed",
|
||
"approveSuccess": "Photo approved",
|
||
"approveFailed": "Approval failed.",
|
||
"queued": "Action saved. Syncs when you are back online.",
|
||
"queueTitle": "Changes waiting to sync",
|
||
"queueOnline": "{{count}} actions ready to sync.",
|
||
"queueOffline": "{{count}} actions saved offline.",
|
||
"queueSync": "Sync",
|
||
"queueWaiting": "Offline",
|
||
"syncFailed": "Sync failed. Please try again later."
|
||
},
|
||
"liveShowQueue": {
|
||
"title": "Live Show queue",
|
||
"subtitle": "Approve photos for the live slideshow",
|
||
"filterLabel": "Live status",
|
||
"statusPending": "Pending",
|
||
"statusApproved": "Approved",
|
||
"statusRejected": "Rejected",
|
||
"statusNone": "Not queued",
|
||
"status": {
|
||
"pending": "Pending",
|
||
"approved": "Approved",
|
||
"rejected": "Rejected",
|
||
"none": "Not queued"
|
||
},
|
||
"galleryApproved": "Gallery approved",
|
||
"galleryApprovedOnly": "Gallery and Live Show approvals are separate. Pending photos can be approved here.",
|
||
"galleryStatus": {
|
||
"approved": "Gallery approved",
|
||
"pending": "Gallery pending",
|
||
"rejected": "Gallery rejected",
|
||
"hidden": "Hidden"
|
||
},
|
||
"offlineNotice": "You are offline. Live Show actions are disabled.",
|
||
"empty": "No photos waiting for Live Show.",
|
||
"loadFailed": "Live Show queue could not be loaded.",
|
||
"approve": "Approve for Live Show",
|
||
"approveAndLive": "Approve + Live",
|
||
"reject": "Reject",
|
||
"clear": "Remove from Live Show",
|
||
"approveSuccess": "Photo approved for Live Show",
|
||
"approveAndLiveSuccess": "Photo approved and added to Live Show",
|
||
"rejectSuccess": "Photo removed from Live Show",
|
||
"clearSuccess": "Live Show approval removed",
|
||
"notEligible": "Not eligible",
|
||
"actionFailed": "Live Show update failed."
|
||
},
|
||
"liveShowSettings": {
|
||
"title": "Live Show settings",
|
||
"subtitle": "Tune the playback, pacing, and effects shown on the screen.",
|
||
"loadFailed": "Live Show settings could not be loaded.",
|
||
"save": "Save settings",
|
||
"saveSuccess": "Live Show settings updated.",
|
||
"saveFailed": "Live Show settings could not be saved.",
|
||
"sections": {
|
||
"moderation": "Moderation",
|
||
"playback": "Playback",
|
||
"effects": "Effects & layout"
|
||
},
|
||
"fields": {
|
||
"moderationMode": "Moderation mode",
|
||
"retention": "Retention window (hours)",
|
||
"playbackMode": "Playback mode",
|
||
"paceMode": "Pace",
|
||
"fixedInterval": "Fixed interval (seconds)",
|
||
"layoutMode": "Layout",
|
||
"backgroundMode": "Background",
|
||
"effectPreset": "Effect preset",
|
||
"effectIntensity": "Effect intensity"
|
||
},
|
||
"hints": {
|
||
"moderation": "Trusted sources include admin uploads and photobooths.",
|
||
"retention": "Controls how long approved photos remain in rotation.",
|
||
"playback": "Balance newer uploads with highlights when the queue is busy.",
|
||
"pace": "Auto adapts to new uploads; fixed keeps a steady rhythm.",
|
||
"layout": "Split and grid layouts are used when enough photos are available."
|
||
},
|
||
"moderation": {
|
||
"off": "No moderation",
|
||
"manual": "Manual approval",
|
||
"trustedOnly": "Trusted sources only"
|
||
},
|
||
"playback": {
|
||
"newest": "Newest first",
|
||
"balanced": "Balanced mix",
|
||
"curated": "Curated"
|
||
},
|
||
"pace": {
|
||
"auto": "Auto",
|
||
"fixed": "Fixed"
|
||
},
|
||
"layout": {
|
||
"single": "Single",
|
||
"split": "Split",
|
||
"gridBurst": "Grid burst"
|
||
},
|
||
"background": {
|
||
"blurLast": "Blur last photo",
|
||
"gradient": "Soft gradient",
|
||
"solid": "Solid color",
|
||
"brand": "Brand colors"
|
||
},
|
||
"effects": {
|
||
"filmCut": {
|
||
"title": "Film cut",
|
||
"description": "Clean fades with a subtle cinematic feel."
|
||
},
|
||
"shutterFlash": {
|
||
"title": "Shutter flash",
|
||
"description": "Snappy flash and slide transitions."
|
||
},
|
||
"polaroidToss": {
|
||
"title": "Polaroid toss",
|
||
"description": "Card-like frames with a gentle rotation settle."
|
||
},
|
||
"parallaxGlide": {
|
||
"title": "Parallax glide",
|
||
"description": "Slow zoom with a soft depth backdrop."
|
||
},
|
||
"light": {
|
||
"title": "Light effects",
|
||
"description": "Minimal transitions for lower-powered devices."
|
||
}
|
||
}
|
||
},
|
||
"mobileProfile": {
|
||
"title": "Profile",
|
||
"settings": "Settings",
|
||
"account": "Account & security",
|
||
"language": "Language",
|
||
"languageDe": "Deutsch",
|
||
"languageEn": "English",
|
||
"theme": "Theme",
|
||
"themeLight": "Light",
|
||
"themeDark": "Dark",
|
||
"themeSystem": "System",
|
||
"logout": "Log out"
|
||
},
|
||
"mobileSettings": {
|
||
"title": "Settings",
|
||
"accountTitle": "Account",
|
||
"tenantBadge": "Tenant #{{id}}",
|
||
"notificationsTitle": "Notifications",
|
||
"notificationsLoading": "Loading settings ...",
|
||
"pushTitle": "App Push",
|
||
"pushUnsupported": "Push notifications are not supported on this device.",
|
||
"pushDenied": "Notifications are blocked in your browser.",
|
||
"pushActive": "Push active",
|
||
"pushInactive": "Push disabled",
|
||
"pushLoading": "Loading ...",
|
||
"deviceTitle": "Device & permissions",
|
||
"deviceDescription": "Keep the admin app fast, offline-ready, and allowed to send alerts.",
|
||
"deviceLoading": "Checking device status ...",
|
||
"deviceStorageAction": "Enable offline protection",
|
||
"deviceStorageError": "Offline storage could not be enabled.",
|
||
"deviceStatusValues": {
|
||
"granted": "Allowed",
|
||
"denied": "Blocked",
|
||
"prompt": "Needs permission",
|
||
"unsupported": "Not supported",
|
||
"persisted": "Protected",
|
||
"available": "Not protected",
|
||
"online": "Online",
|
||
"offline": "Offline"
|
||
},
|
||
"deviceStatus": {
|
||
"notifications": {
|
||
"label": "Notifications",
|
||
"description": "Allow alerts and admin updates."
|
||
},
|
||
"camera": {
|
||
"label": "Camera",
|
||
"description": "Needed for QR scans and quick capture."
|
||
},
|
||
"storage": {
|
||
"label": "Offline storage",
|
||
"description": "Protect cached data from eviction."
|
||
},
|
||
"connection": {
|
||
"label": "Connection",
|
||
"description": "Shows if the app is online or offline."
|
||
}
|
||
},
|
||
"experienceTitle": "Experience",
|
||
"experienceBody": "Replay the quick tour or re-enable the install banner.",
|
||
"experienceReplay": "Replay quick tour",
|
||
"experienceResetInstall": "Show install banner",
|
||
"pref": {}
|
||
},
|
||
"events": {
|
||
"detail": {
|
||
"kpi": {
|
||
"tasks": "Active tasks",
|
||
"guests": "Guests registered",
|
||
"photos": "Images uploaded"
|
||
},
|
||
"pickEvent": "Select event",
|
||
"active": "Active",
|
||
"managementTitle": "Event management",
|
||
"dateTbd": "Date tbd",
|
||
"locationPlaceholder": "Location"
|
||
},
|
||
"quick": {
|
||
"tasks": "Tasks & checklists",
|
||
"qr": "QR code layouts",
|
||
"images": "Image management",
|
||
"guests": "Guest management",
|
||
"guestMessages": "Guest messages",
|
||
"branding": "Branding & theme",
|
||
"photobooth": "Photobooth",
|
||
"recap": "Recap & archive"
|
||
},
|
||
"status": {
|
||
"published": "Live",
|
||
"draft": "Draft",
|
||
"archived": "Archived"
|
||
},
|
||
"errors": {
|
||
"missingSlug": "No event slug provided.",
|
||
"missingType": "Event type is missing. Please save the event again in the admin.",
|
||
"loadFailed": "Event data could not be loaded.",
|
||
"saveFailed": "Event could not be saved.",
|
||
"notFoundTitle": "Event not found",
|
||
"notFoundBody": "Without a valid identifier we cannot load data. Return to the event list and pick an event there.",
|
||
"toggleFailed": "Status could not be updated.",
|
||
"checkoutMissing": "Checkout could not be started.",
|
||
"checkoutFailed": "Add-on checkout failed."
|
||
},
|
||
"legalConsent": {
|
||
"title": "Before purchase",
|
||
"description": "Please confirm the legal notes before buying an add-on.",
|
||
"checkboxTerms": "I have read and accept the Terms & Conditions, Privacy Policy, and Right of Withdrawal.",
|
||
"checkboxWaiver": "I expressly request that you begin providing the digital services (activation of my event add-on) before the withdrawal period has expired. I understand that I lose my right of withdrawal once the contract has been fully performed.",
|
||
"errorTerms": "Please confirm you accept the terms, privacy policy, and right of withdrawal.",
|
||
"errorWaiver": "Please confirm the immediate start of the digital service and the early expiry of the right of withdrawal.",
|
||
"confirm": "Continue to checkout",
|
||
"cancel": "Cancel"
|
||
},
|
||
"eventStartConsent": {
|
||
"title": "Before your first event",
|
||
"description": "Please confirm the immediate start of the digital service before creating your first event.",
|
||
"checkboxWaiver": "I expressly request that the digital service begins now and understand my right of withdrawal expires once the contract has been fully performed.",
|
||
"errorWaiver": "Please confirm the immediate start of the digital service and the early expiry of the right of withdrawal.",
|
||
"confirm": "Create event",
|
||
"cancel": "Cancel"
|
||
},
|
||
"placeholders": {
|
||
"untitled": "Untitled event"
|
||
},
|
||
"branding": {
|
||
"titleShort": "Branding",
|
||
"previewTitle": "Guest app preview",
|
||
"previewSubtitle": "Current colors & fonts",
|
||
"primary": "Primary",
|
||
"accent": "Accent",
|
||
"colors": "Colors",
|
||
"primaryColor": "Primary color",
|
||
"accentColor": "Accent color",
|
||
"fonts": "Fonts",
|
||
"headingFont": "Headline font",
|
||
"bodyFont": "Body font",
|
||
"logo": "Logo",
|
||
"replaceLogo": "Replace logo",
|
||
"removeLogo": "Remove",
|
||
"logoHint": "Upload a logo to brand guest invites and QR posters.",
|
||
"uploadLogo": "Upload logo (max. 1 MB)",
|
||
"logoTooLarge": "Logo must be under 1 MB.",
|
||
"save": "Save branding",
|
||
"saving": "Saving...",
|
||
"saveSuccess": "Branding saved.",
|
||
"reset": "Reset to defaults",
|
||
"fontPicker": "Select font",
|
||
"noFonts": "No fonts found."
|
||
},
|
||
"watermark": {
|
||
"tab": "Watermark",
|
||
"title": "Watermark",
|
||
"previewTitle": "Watermark Preview",
|
||
"mode": "Mode",
|
||
"modeBase": "Base watermark",
|
||
"modeCustom": "Custom watermark",
|
||
"modeOff": "Off",
|
||
"upload": "Upload watermark",
|
||
"uploadCta": "PNG/SVG/JPG (max. 3 MB)",
|
||
"replace": "Replace watermark",
|
||
"uploadHint": "PNG with transparency recommended.",
|
||
"placement": "Placement & size",
|
||
"size": "Size",
|
||
"opacity": "Opacity",
|
||
"padding": "Padding",
|
||
"offset": "Offset X",
|
||
"offsetX": "X-axis",
|
||
"offsetY": "Y-axis",
|
||
"lockedBranding": "Custom watermark locked by this package. Using base watermark.",
|
||
"lockedDisabled": "Watermarks are disabled for this package.",
|
||
"errors": {
|
||
"noAsset": "Please upload a watermark image first.",
|
||
"fileTooLarge": "Watermark must be under 3 MB."
|
||
}
|
||
},
|
||
"members": {
|
||
"title": "Guest management",
|
||
"inviteTitle": "Invite member",
|
||
"name": "Name",
|
||
"namePlaceholder": "Alex Example",
|
||
"email": "Email",
|
||
"emailPlaceholder": "alex@example.com",
|
||
"role": "Role",
|
||
"roleMember": "Member",
|
||
"roleAdmin": "Admin",
|
||
"invite": "Send invite",
|
||
"inviteSuccess": "Invitation sent",
|
||
"inviteFailed": "Invitation failed.",
|
||
"search": "Search members",
|
||
"listTitle": "Team & guests",
|
||
"copyInvite": "Invite link copied",
|
||
"copyInviteFailed": "Copy failed",
|
||
"copyInviteLabel": "Copy invite link",
|
||
"empty": "No invitations yet.",
|
||
"emptyTitle": "Invite your team",
|
||
"emptyBody": "Send the first invite so helpers can access the event.",
|
||
"emptyAction": "Send first invite",
|
||
"admin": "Admin",
|
||
"member": "Member",
|
||
"confirmRemove": "Remove member?",
|
||
"remove": "Remove",
|
||
"removeHint": "This member will lose access to the event.",
|
||
"removeSuccess": "Member removed",
|
||
"removeFailed": "Member could not be removed."
|
||
},
|
||
"tasks": {
|
||
"disabledTitle": "Task mode is off for this event",
|
||
"disabledBody": "Guests only see the photo feed. Enable tasks in the event settings to show them again.",
|
||
"title": "Tasks & checklists",
|
||
"quickNav": "Quick jump",
|
||
"sections": {
|
||
"assigned": "Assigned",
|
||
"library": "Library",
|
||
"collections": "Collections",
|
||
"emotions": "Emotions"
|
||
},
|
||
"summary": {
|
||
"assigned": "Assigned",
|
||
"library": "Library",
|
||
"collections": "Collections",
|
||
"emotions": "Emotions"
|
||
},
|
||
"actions": "Actions",
|
||
"assigned": "Task added",
|
||
"updateFailed": "Task could not be saved.",
|
||
"created": "Task saved",
|
||
"removed": "Task removed",
|
||
"imported": "Task pack imported",
|
||
"saveTask": "Save task",
|
||
"add": "Add",
|
||
"empty": "No tasks assigned yet.",
|
||
"emptyHint": "Add tasks or import a pack.",
|
||
"emptyTitle": "No tasks yet",
|
||
"emptyBody": "Create tasks or import a pack for your event.",
|
||
"emptyActionTask": "Add task",
|
||
"emptyActionPack": "Import pack",
|
||
"addTask": "Add task",
|
||
"addTaskHint": "Create a new task for this event.",
|
||
"import": "Import pack",
|
||
"importHint": "Use predefined packs for your event type.",
|
||
"search": "Search tasks",
|
||
"emotionFilter": "Emotion filter",
|
||
"customEmotion": "Custom emotion",
|
||
"allEmotions": "All",
|
||
"count": "{{count}} tasks",
|
||
"library": "More tasks",
|
||
"hideLibrary": "Hide library",
|
||
"viewAllLibrary": "View all",
|
||
"libraryEmpty": "No more tasks available.",
|
||
"hideCollections": "Hide collections",
|
||
"showCollections": "Show all",
|
||
"collectionsEmpty": "No collections available.",
|
||
"bulkAdd": "Bulk add",
|
||
"manageEmotions": "Manage emotions",
|
||
"manageEmotionsHint": "Filter and keep your taxonomy tidy.",
|
||
"saveEmotion": "Save emotion",
|
||
"emotionName": "Name",
|
||
"emotionNamePlaceholder": "e.g. Joy",
|
||
"emotionColor": "Color",
|
||
"emotionRemoved": "Emotion removed",
|
||
"emotionSaved": "Emotion saved",
|
||
"emotionNone": "None",
|
||
"emotion": "Emotion",
|
||
"description": "Description",
|
||
"descriptionPlaceholder": "Optional notes",
|
||
"titleLabel": "Title",
|
||
"titlePlaceholder": "e.g. First group photo",
|
||
"bulkHint": "One task per line. These will be created and added to the event.",
|
||
"bulkPlaceholder": "e.g.\nBride & groom portrait\nGroup photo main guests"
|
||
},
|
||
"qr": {
|
||
"title": "QR Code & Print Layouts",
|
||
"heroTitle": "Entrance QR Code",
|
||
"description": "Scan to access the event guest app.",
|
||
"qrAlt": "QR code",
|
||
"previewAlt": "QR layout preview",
|
||
"bottomNote": "Bottom note text",
|
||
"missing": "No QR link available",
|
||
"download": "Download",
|
||
"downloadStarted": "Download started",
|
||
"share": "Share",
|
||
"shareSuccess": "Link copied",
|
||
"shareFailed": "Could not copy link",
|
||
"step1": "Step 1: Choose format",
|
||
"layouts": "Print Layouts",
|
||
"preview": "Customize & Export",
|
||
"createLink": "Create new QR link",
|
||
"mobileLinkLabel": "Mobile link",
|
||
"created": "New QR link created",
|
||
"createFailed": "Could not create link.",
|
||
"backgroundPicker": "Select background ({{formatLabel}})",
|
||
"backgroundPickerFoldable": "Background for A5 (gradient/solid)",
|
||
"backgroundNote": "These presets are designed for A4 portrait. Mirroring is automatic for table cards.",
|
||
"foldableBackgroundNote": "For A5 table cards choose a gradient or solid colour.",
|
||
"gradients": "Gradients",
|
||
"colors": "Solid colour",
|
||
"headline": "Headline",
|
||
"subtitle": "Subtitle",
|
||
"align": "Align",
|
||
"lineHeight": "Line height",
|
||
"fontFamily": "Font family",
|
||
"fontSize": "Font size (px)",
|
||
"positionX": "X (%)",
|
||
"positionY": "Y (%)",
|
||
"width": "Width (%)",
|
||
"size": "Size (%)",
|
||
"exportPdf": "Export PDF",
|
||
"exportPng": "Export PNG",
|
||
"orientation": {
|
||
"landscape": "Landscape",
|
||
"portrait": "Portrait"
|
||
},
|
||
"formatLabel": {
|
||
"standard": "{{paper}} {{orientation}}",
|
||
"foldable": "{{paper}} {{orientation}} (double A5/mirrored)"
|
||
},
|
||
"backgroundPresets": {
|
||
"blueFloral": "Blue floral",
|
||
"goldFrame": "Gold frame",
|
||
"greenFloral": "Green floral"
|
||
},
|
||
"gradientPresets": {
|
||
"softLilac": "Soft lilac",
|
||
"pastel": "Pastel",
|
||
"midnight": "Midnight"
|
||
},
|
||
"format": {
|
||
"poster": "A4 Poster",
|
||
"posterSubtitle": "Portrait for posters",
|
||
"table": "A5 Table card (foldable)",
|
||
"tableSubtitle": "Landscape, double-mirror"
|
||
}
|
||
}
|
||
},
|
||
"settings": {
|
||
"notifications": {
|
||
"keys": {
|
||
"photo_thresholds": {
|
||
"label": "Photo thresholds",
|
||
"description": "Get notified as photo uploads approach package limits."
|
||
},
|
||
"photo_limits": {
|
||
"label": "Photo limits reached",
|
||
"description": "Alert when photo upload quota is exceeded."
|
||
},
|
||
"guest_thresholds": {
|
||
"label": "Guest thresholds",
|
||
"description": "Warn when guest count nears the limit."
|
||
},
|
||
"guest_limits": {
|
||
"label": "Guest limits reached",
|
||
"description": "Alert when guest limit is exceeded."
|
||
},
|
||
"gallery_warnings": {
|
||
"label": "Gallery warnings",
|
||
"description": "Heads-up before galleries go offline."
|
||
},
|
||
"gallery_expired": {
|
||
"label": "Gallery expired",
|
||
"description": "Notify when a gallery is no longer available."
|
||
},
|
||
"event_thresholds": {
|
||
"label": "Event thresholds",
|
||
"description": "Warn as event usage approaches limits."
|
||
},
|
||
"event_limits": {
|
||
"label": "Event limits reached",
|
||
"description": "Alert when event quotas are exceeded."
|
||
},
|
||
"package_expiring": {
|
||
"label": "Package expiring",
|
||
"description": "Reminders before your package expires."
|
||
},
|
||
"package_expired": {
|
||
"label": "Package expired",
|
||
"description": "Alert when your package has expired."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"mobileBilling": {
|
||
"packageFallback": "Package",
|
||
"remainingEvents": "{{count}} events",
|
||
"openEvent": "Open event",
|
||
"usage": {
|
||
"events": "Events",
|
||
"guests": "Guests",
|
||
"photos": "Photos",
|
||
"value": "{{used}} / {{limit}}",
|
||
"limit": "Limit {{limit}}",
|
||
"remaining": "Remaining {{count}}"
|
||
},
|
||
"status": {
|
||
"completed": "Completed",
|
||
"pending": "Pending",
|
||
"failed": "Failed"
|
||
},
|
||
"extra": {
|
||
"photos": "+{{count}} photos",
|
||
"guests": "+{{count}} guests",
|
||
"days": "+{{count}} days"
|
||
}
|
||
},
|
||
"mobileEvents": {
|
||
"edit": "Edit event"
|
||
},
|
||
"events.qr.layouts.badges.title": "Badges",
|
||
"events.qr.layouts.badges.subtitle": "Standard, Staff",
|
||
"events.qr.layouts.tents.title": "Table Tents",
|
||
"events.qr.layouts.tents.subtitle": "A4, Letter",
|
||
"events.qr.layouts.posters.title": "Posters",
|
||
"events.qr.layouts.posters.subtitle": "A3, 11x17",
|
||
"events.qr.layouts.programs.title": "Event Programs",
|
||
"events.qr.layouts.programs.subtitle": "Folded, Booklet",
|
||
"events.qr.paperOption.A4 (210 x 297 mm)": "A4 (210 x 297 mm)",
|
||
"events.qr.paperOption.Letter (8.5 x 11 in)": "Letter (8.5 x 11 in)",
|
||
"events.qr.paperOption.A3 (297 x 420 mm)": "A3 (297 x 420 mm)",
|
||
"mobileNotifications": {
|
||
"title": "Notifications",
|
||
"empty": "No notifications yet.",
|
||
"emptyTitle": "All caught up",
|
||
"emptyBody": "Enable push to receive alerts about uploads, guests, and expiring galleries.",
|
||
"emptyAction": "Check notification settings",
|
||
"filterByEvent": "Filter by event",
|
||
"unknownEvent": "Event"
|
||
},
|
||
"guestMessages": {
|
||
"title": "Guest messages",
|
||
"subtitle": "Send push updates to attendees",
|
||
"composeTitle": "Send a message",
|
||
"errorLoad": "Messages could not be loaded.",
|
||
"errorSend": "Message could not be sent.",
|
||
"sendSuccess": "Notification sent to guests.",
|
||
"historyTitle": "Recent messages",
|
||
"empty": "No guest messages yet.",
|
||
"emptyTitle": "Send your first guest message",
|
||
"emptyBody": "Share a quick reminder or highlight to keep guests engaged.",
|
||
"emptyAction": "Compose message",
|
||
"status": {
|
||
"active": "Active",
|
||
"draft": "Draft",
|
||
"archived": "Archived"
|
||
},
|
||
"audience": {
|
||
"all": "All guests",
|
||
"guest": "Specific guest"
|
||
},
|
||
"type": {
|
||
"broadcast": "Broadcast",
|
||
"support_tip": "Support tip",
|
||
"upload_alert": "Upload alert",
|
||
"achievement_major": "Achievement",
|
||
"photo_activity": "Photo activity",
|
||
"feedback_request": "Feedback request"
|
||
},
|
||
"history": {
|
||
"untitled": "Untitled",
|
||
"noBody": "No body provided."
|
||
},
|
||
"form": {
|
||
"title": "Title",
|
||
"titlePlaceholder": "Gallery reminder, upload nudge, ...",
|
||
"message": "Message",
|
||
"messagePlaceholder": "Write a short note for your guests.",
|
||
"audience": "Audience",
|
||
"audienceAll": "All guests",
|
||
"audienceGuest": "Specific guest (name or device)",
|
||
"guestIdentifier": "Guest name or device ID",
|
||
"guestPlaceholder": "e.g., Alex or device token",
|
||
"cta": "CTA (optional)",
|
||
"ctaLabel": "Button label",
|
||
"ctaUrl": "Button link",
|
||
"ctaHint": "Both fields are required to add a button.",
|
||
"ctaError": "CTA label and link are required together.",
|
||
"expiresIn": "Expires in (minutes)",
|
||
"expiresPlaceholder": "60",
|
||
"priority": "Priority",
|
||
"priorityValue": "Priority {{value}}",
|
||
"send": "Send notification",
|
||
"validation": "Add a title, message, and target guest when needed."
|
||
}
|
||
},
|
||
"dataExports": {
|
||
"title": "Data exports",
|
||
"request": {
|
||
"title": "Export request",
|
||
"hint": "Export tenant data or a specific event archive."
|
||
},
|
||
"fields": {
|
||
"scope": "Scope",
|
||
"event": "Event",
|
||
"eventPlaceholder": "Choose event",
|
||
"includeMedia": "Include raw media",
|
||
"includeMediaHint": "Bigger ZIP; choose when needed."
|
||
},
|
||
"scopes": {
|
||
"tenant": "Tenant export",
|
||
"event": "Event export"
|
||
},
|
||
"history": {
|
||
"title": "Recent exports",
|
||
"hint": "Latest 10 exports for your tenant and events.",
|
||
"empty": "No exports yet."
|
||
},
|
||
"status": {
|
||
"pending": "Pending",
|
||
"processing": "Processing",
|
||
"ready": "Ready",
|
||
"failed": "Failed"
|
||
},
|
||
"badges": {
|
||
"includesMedia": "Raw media"
|
||
},
|
||
"actions": {
|
||
"refresh": "Refresh",
|
||
"request": "Request export",
|
||
"requesting": "Requesting...",
|
||
"requested": "Export is being prepared.",
|
||
"download": "Download",
|
||
"downloaded": "Download started."
|
||
},
|
||
"errors": {
|
||
"load": "Exports could not be loaded.",
|
||
"request": "Export could not be started.",
|
||
"eventRequired": "Select an event first.",
|
||
"failed": "Export failed.",
|
||
"download": "Download failed."
|
||
}
|
||
}
|
||
}
|