2984 lines
106 KiB
JSON
2984 lines
106 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."
|
||
},
|
||
"checkoutSuccess": "Checkout completed. Your package will activate shortly.",
|
||
"checkoutCancelled": "Checkout was cancelled.",
|
||
"checkoutActivated": "Your package is now active.",
|
||
"checkoutPendingTitle": "Activating your package",
|
||
"checkoutPendingBody": "This can take a few minutes. We will update this screen once the package is active.",
|
||
"checkoutPendingBadge": "Pending",
|
||
"checkoutPendingRefresh": "Refresh",
|
||
"checkoutPendingDismiss": "Dismiss",
|
||
"checkoutFailedTitle": "Checkout failed",
|
||
"checkoutFailedBody": "The payment did not complete. You can try again or contact support.",
|
||
"checkoutFailedBadge": "Failed",
|
||
"checkoutFailedRetry": "Try again",
|
||
"checkoutFailedDismiss": "Dismiss",
|
||
"checkoutActionTitle": "Action required",
|
||
"checkoutActionBody": "Complete your payment to activate the package.",
|
||
"checkoutActionBadge": "Action needed",
|
||
"checkoutActionButton": "Continue checkout",
|
||
"checkoutFailureReasons": {
|
||
"paddle_failed": "The payment was declined.",
|
||
"paddle_cancelled": "The checkout was cancelled."
|
||
},
|
||
"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}} events remaining in the bundle.",
|
||
"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 remaining in the bundle.",
|
||
"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 photo 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",
|
||
"anonymous": "Anonymous",
|
||
"error": "Something went wrong",
|
||
"loadMore": "Load more",
|
||
"processing": "Processing…",
|
||
"select": "Select",
|
||
"close": "Close",
|
||
"reset": "Reset",
|
||
"actionNeeded": "Review"
|
||
},
|
||
"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 photo tasks",
|
||
"guests": "Guests registered",
|
||
"photos": "Images uploaded"
|
||
},
|
||
"pickEvent": "Select event",
|
||
"active": "Active",
|
||
"managementTitle": "Event management",
|
||
"dateTbd": "Date tbd",
|
||
"locationPlaceholder": "Location"
|
||
},
|
||
"quick": {
|
||
"tasks": "Photo 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",
|
||
"moderation": "Photo moderation",
|
||
"controlRoom": "Moderation & Live Show"
|
||
},
|
||
"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": "Photo 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"
|
||
}
|
||
}
|
||
},
|
||
"errors": {
|
||
"missingSlug": "No event slug provided.",
|
||
"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.",
|
||
"missingType": "Event type is missing. Please save the event again in the admin."
|
||
},
|
||
"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 photo 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, photo tasks, and invites of your event in one view.",
|
||
"toolkitSubtitle": "Bundle moderation, photo tasks, and invites for the event day.",
|
||
"hero": {
|
||
"badge": "Event",
|
||
"description": "Focus on photo 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"
|
||
}
|
||
}
|
||
},
|
||
"quickActions": {
|
||
"title": "Quick actions",
|
||
"subtitle": "Jump into the most important flows before and during the event.",
|
||
"moderate": "Moderate photos",
|
||
"tasks": "Edit photo 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": "Photo tasks",
|
||
"title": "Photo tasks & checklists",
|
||
"subtitle": "Motivate guests with clear photo tasks & highlights.",
|
||
"summary": {
|
||
"assigned": "Assigned",
|
||
"library": "Library",
|
||
"collections": "Collections",
|
||
"emotions": "Emotions"
|
||
},
|
||
"empty": "No photo tasks assigned yet.",
|
||
"manage": "Open photo task workspace",
|
||
"status": {
|
||
"completed": "Done",
|
||
"open": "Open"
|
||
},
|
||
"disabledTitle": "Photo tasks mode is off for this event",
|
||
"disabledBody": "Guests only see the photo feed. Enable photo tasks in the event settings to show them again.",
|
||
"toggle": {
|
||
"title": "Photo tasks for this event",
|
||
"description": "Give guests optional photo tasks and prompts.",
|
||
"active": "ACTIVE",
|
||
"inactive": "INACTIVE",
|
||
"onLabel": "Guests see photo tasks",
|
||
"offLabel": "Guest app shows photos only",
|
||
"switchLabel": "Photo tasks enabled",
|
||
"enabled": "Photo tasks activated",
|
||
"disabled": "Photo tasks disabled",
|
||
"permissionHint": "You do not have permission to change photo tasks."
|
||
},
|
||
"quickNav": "Quick jump",
|
||
"sections": {
|
||
"assigned": "Assigned",
|
||
"library": "Library",
|
||
"collections": "Collections",
|
||
"emotions": "Emotions"
|
||
},
|
||
"actions": "Actions",
|
||
"assigned": "Photo task added",
|
||
"updateFailed": "Photo task could not be saved.",
|
||
"limitReached": "Photo task limit reached.",
|
||
"limitReachedHint": "This event allows up to {{count}} photo tasks.",
|
||
"limitRemaining": "{{count}} of {{total}} photo tasks remaining.",
|
||
"limitSkipped": "Skipped {{count}} tasks due to limit.",
|
||
"created": "Photo task saved",
|
||
"removed": "Photo task removed",
|
||
"imported": "Photo task pack imported",
|
||
"saveTask": "Save photo task",
|
||
"add": "Add",
|
||
"emptyHint": "Add photo tasks or import a pack.",
|
||
"emptyTitle": "No photo tasks yet",
|
||
"emptyBody": "Create photo tasks or import a pack for your event.",
|
||
"emptyActionTask": "Add photo task",
|
||
"emptyActionPack": "Import photo task pack",
|
||
"addTask": "Add photo task",
|
||
"addTaskHint": "Create a new photo task for this event.",
|
||
"import": "Import photo task pack",
|
||
"importHint": "Use predefined packs for your event type.",
|
||
"search": "Search photo tasks",
|
||
"emotionFilter": "Emotion filter",
|
||
"customEmotion": "Custom emotion",
|
||
"allEmotions": "All",
|
||
"count": "{{count}} photo tasks",
|
||
"library": "More photo tasks",
|
||
"hideLibrary": "Hide library",
|
||
"viewAllLibrary": "View all",
|
||
"libraryEmpty": "No more photo tasks available.",
|
||
"hideCollections": "Hide collections",
|
||
"showCollections": "Show all",
|
||
"collectionsEmpty": "No collections available.",
|
||
"bulkAdd": "Bulk add",
|
||
"selectionCount": "{{count}} selected",
|
||
"bulkRemove": "Delete selection",
|
||
"bulkCancel": "End selection",
|
||
"bulkRemoveTitle": "Delete selection",
|
||
"bulkRemoveBody": "This will remove the selected photo tasks from the event.",
|
||
"select": "Select photo task",
|
||
"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 photo task per line. These will be created and added to the event.",
|
||
"bulkPlaceholder": "e.g.\nBride & groom portrait\nGroup photo main guests"
|
||
},
|
||
"recap": {
|
||
"badge": "Recap",
|
||
"title": "Event recap",
|
||
"completedTitle": "Event completed",
|
||
"openRecap": "Open recap, exports & gallery settings",
|
||
"subtitle": "Wrap up, export, and manage gallery runtime.",
|
||
"statusClosed": "Archived",
|
||
"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",
|
||
"shareBody": "Guests can keep browsing the gallery after the event.",
|
||
"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.",
|
||
"shareText": "Check out the photos from our event!",
|
||
"qrTitle": "Share QR code",
|
||
"qrDownload": "Download QR code",
|
||
"qrShare": "Share link/QR",
|
||
"qrAlt": "Guest gallery QR code",
|
||
"tabs": {
|
||
"overview": "Overview",
|
||
"engagement": "Engagement",
|
||
"compliance": "Compliance"
|
||
},
|
||
"engagementError": "Engagement could not be loaded.",
|
||
"engagement": {
|
||
"title": "Guest engagement",
|
||
"subtitle": "Highlights, leaderboards, and milestones from your guests.",
|
||
"summary": {
|
||
"photos": "Photos",
|
||
"guests": "Guests",
|
||
"tasks": "Photo tasks solved",
|
||
"likes": "Likes"
|
||
},
|
||
"leaderboards": {
|
||
"uploadsTitle": "Top contributors",
|
||
"uploadsEmpty": "No uploads yet.",
|
||
"likesTitle": "Most liked",
|
||
"likesEmpty": "No likes yet."
|
||
},
|
||
"highlightsTitle": "Highlights",
|
||
"topPhoto": "Top photo",
|
||
"topPhotoEmpty": "No photo highlights yet.",
|
||
"trendingEmotion": "Trending emotion",
|
||
"trendingEmpty": "No trends yet.",
|
||
"timeline": "Uploads over time",
|
||
"timelineEmpty": "No timeline data yet.",
|
||
"timelineRow": "{{photos}} photos · {{guests}} guests",
|
||
"likesLabel": "Likes",
|
||
"guestFallback": "Guest",
|
||
"empty": "No engagement data yet.",
|
||
"noInvite": "No active guest link available yet."
|
||
},
|
||
"allowDownloads": "Allow downloads",
|
||
"allowDownloadsHint": "Guests may save photos",
|
||
"allowSharing": "Allow sharing",
|
||
"allowSharingHint": "Guests may share links",
|
||
"settings": "Post-event controls",
|
||
"addons": "Extend gallery runtime",
|
||
"addonBody": "Need the gallery online a bit longer? Extend the runtime here.",
|
||
"buyExtension": "Extend gallery by 30 days",
|
||
"galleryOpen": "Gallery online",
|
||
"galleryClosed": "Gallery closed",
|
||
"exportTitle": "Export & backup",
|
||
"exportTitleShort": "Exports",
|
||
"exportCopy": "Back up all assets",
|
||
"exportHint": "Start ZIP/CSV exports and backups.",
|
||
"backup": "Backup",
|
||
"downloadAll": "Download photos",
|
||
"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 photo 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 photo task workspace.",
|
||
"collectionsActive": "{{count}} active links",
|
||
"tasksCount": "{{count}} photo tasks",
|
||
"collectionsManage": "Edit photo tasks",
|
||
"collectionsImport": "Import mission pack",
|
||
"emotionsTitle": "Emotions",
|
||
"emotionsEmpty": "Activate emotions to categorise photo tasks.",
|
||
"emotionsCta": "Manage emotions",
|
||
"titleShort": "Branding",
|
||
"previewTitle": "Guest app preview",
|
||
"previewSubtitle": "Current colors & fonts",
|
||
"previewCta": "Upload photos",
|
||
"primary": "Primary",
|
||
"accent": "Accent",
|
||
"background": "Background",
|
||
"surface": "Surface",
|
||
"lockedBranding": "Branding is locked for this package.",
|
||
"lockedTitle": "Unlock branding",
|
||
"lockedBody": "Upgrade to Standard or Premium to unlock event branding.",
|
||
"upgradeAction": "Upgrade package",
|
||
"source": "Branding source",
|
||
"sourceHint": "Use the default branding or customize this event only.",
|
||
"useDefault": "Default",
|
||
"useCustom": "This event",
|
||
"usingDefault": "Default branding active",
|
||
"usingCustom": "Event branding active",
|
||
"mode": "Theme",
|
||
"modeLight": "Light",
|
||
"modeAuto": "Auto",
|
||
"modeDark": "Dark",
|
||
"colors": "Colors",
|
||
"primaryColor": "Primary color",
|
||
"accentColor": "Accent color",
|
||
"backgroundColor": "Background color",
|
||
"surfaceColor": "Surface color",
|
||
"fonts": "Fonts",
|
||
"headingFont": "Headline font",
|
||
"headingFontPlaceholder": "SF Pro Display",
|
||
"bodyFont": "Body font",
|
||
"bodyFontPlaceholder": "SF Pro Text",
|
||
"fontSize": "Font size",
|
||
"fontSizeSmall": "S",
|
||
"fontSizeMedium": "M",
|
||
"fontSizeLarge": "L",
|
||
"logo": "Logo",
|
||
"logoAlt": "Logo",
|
||
"logoModeUpload": "Upload",
|
||
"logoModeEmoticon": "Emoticon",
|
||
"logoValue": "Emoticon",
|
||
"logoValuePlaceholder": "🎉",
|
||
"logoPosition": "Position",
|
||
"positionLeft": "Left",
|
||
"positionCenter": "Center",
|
||
"positionRight": "Right",
|
||
"logoSize": "Size",
|
||
"logoSizeSmall": "S",
|
||
"logoSizeMedium": "M",
|
||
"logoSizeLarge": "L",
|
||
"replaceLogo": "Replace logo",
|
||
"removeLogo": "Remove",
|
||
"logoHint": "Upload a logo or use an emoji for the guest header.",
|
||
"uploadLogo": "Upload logo (max. 1 MB)",
|
||
"logoTooLarge": "Logo must be under 1 MB.",
|
||
"buttons": "Buttons & links",
|
||
"buttonsHint": "Style, radius, and link color for CTA buttons.",
|
||
"buttonFilled": "Filled",
|
||
"buttonOutline": "Outline",
|
||
"buttonRadius": "Radius",
|
||
"buttonPrimary": "Button primary",
|
||
"buttonSecondary": "Button secondary",
|
||
"linkColor": "Link color",
|
||
"save": "Save branding",
|
||
"saving": "Saving...",
|
||
"saveSuccess": "Branding saved.",
|
||
"reset": "Reset to defaults",
|
||
"fontPicker": "Select font",
|
||
"noFonts": "No fonts found."
|
||
},
|
||
"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)."
|
||
},
|
||
"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",
|
||
"previewAlt": "Watermark preview",
|
||
"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.",
|
||
"lockedTitle": "Unlock watermarks",
|
||
"lockedBody": "Custom watermarks are available with the Premium package.",
|
||
"upgradeAction": "Upgrade to Premium",
|
||
"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.",
|
||
"copyInvite": "Invite link copied",
|
||
"copyInviteFailed": "Copy failed",
|
||
"copyInviteLabel": "Copy invite link",
|
||
"emptyAction": "Send first invite"
|
||
},
|
||
"qr": {
|
||
"title": "QR Code & Print Layouts",
|
||
"heroTitle": "Entrance QR Code",
|
||
"description": "Scan to access the event guest app.",
|
||
"expiresAt": "Valid until {{date}}",
|
||
"noExpiry": "No expiry configured",
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"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": "Photo tasks",
|
||
"invites": "Invites",
|
||
"branding": "Branding",
|
||
"photobooth": "Photobooth",
|
||
"recap": "Recap"
|
||
},
|
||
"eventTasks": {
|
||
"title": "Photo tasks & missions",
|
||
"subtitle": "Curate mission cards and photo tasks for this event.",
|
||
"search": "Search photo tasks",
|
||
"emotionFilter": "Emotion filter",
|
||
"allEmotions": "All",
|
||
"actions": {
|
||
"back": "Back to overview",
|
||
"assign": "Assign selected photo tasks"
|
||
},
|
||
"errors": {
|
||
"missingSlug": "No event slug provided.",
|
||
"load": "Event photo tasks could not be loaded.",
|
||
"assign": "Photo 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": "Photo tasks",
|
||
"packs": "Mission packs"
|
||
},
|
||
"eventStatus": "Status: {{status}}",
|
||
"summary": {
|
||
"assigned": "Assigned photo tasks",
|
||
"library": "Library",
|
||
"mode": "Active mode",
|
||
"tasksMode": "Mission cards",
|
||
"photoOnly": "Photos only"
|
||
},
|
||
"library": {
|
||
"hintTitle": "More templates in the photo task library",
|
||
"hintCopy": "Create photo tasks, emotions, or mission packs once and reuse them across events.",
|
||
"open": "Open photo task library"
|
||
},
|
||
"sections": {
|
||
"assigned": {
|
||
"title": "Assigned photo tasks",
|
||
"search": "Search photo tasks...",
|
||
"noResults": "No photo tasks match this search term.",
|
||
"empty": "No photo tasks assigned yet."
|
||
},
|
||
"library": {
|
||
"title": "Add photo tasks from library",
|
||
"empty": "No photo tasks found in the library."
|
||
}
|
||
},
|
||
"priorities": {
|
||
"low": "Low",
|
||
"medium": "Medium",
|
||
"high": "High",
|
||
"urgent": "Urgent"
|
||
},
|
||
"modes": {
|
||
"title": "Photo tasks & photo mode",
|
||
"photoOnlyHint": "Photo-only mode is active. Guests can upload photos but won’t see photo tasks.",
|
||
"tasksHint": "Photo tasks are visible in the guest app. Switch to photo-only for uploads without prompts.",
|
||
"photoOnly": "Photo-only",
|
||
"tasks": "Photo tasks active",
|
||
"switchLabel": "Enable photo-only mode",
|
||
"updating": "Saving setting ..."
|
||
},
|
||
"collections": {
|
||
"title": "Mission packs",
|
||
"subtitle": "Import photo task collections that fit your event.",
|
||
"viewAll": "View all collections",
|
||
"errorTitle": "Collections unavailable",
|
||
"empty": "No recommended collections found.",
|
||
"tasksCount": "{{count}} photo 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, photo 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 photo tasks",
|
||
"refresh": "Refresh"
|
||
},
|
||
"alerts": {
|
||
"errorTitle": "Error",
|
||
"attention": "Heads-up",
|
||
"noTasks": "No photo 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": "Photo 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 photo tasks",
|
||
"subtitle": "Motivate guests with clear prompts and highlights.",
|
||
"summary": "{{completed}} of {{total}} done",
|
||
"empty": "No photo tasks assigned yet.",
|
||
"manage": "Manage photo 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 photo tasks.",
|
||
"emotionsCta": "Manage emotions",
|
||
"collectionsTitle": "Mission packs",
|
||
"collectionsCount": "{{count}} photo 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": "Uploader connection",
|
||
"description": "Use the Fotospiel uploader app for live HTTP uploads. Rotating access regenerates credentials.",
|
||
"active": "Current: {{mode}}",
|
||
"uploader": "Uploader App (HTTP)"
|
||
},
|
||
"selector": {
|
||
"title": "Connection",
|
||
"description": "Use the Fotospiel uploader app for HTTP uploads."
|
||
},
|
||
"credentials": {
|
||
"heading": "Uploader app credentials",
|
||
"description": "Share these credentials with the Fotospiel uploader app.",
|
||
"uploaderTitle": "Uploader App (HTTP)",
|
||
"uploaderDescription": "Enter URL, username and password in the Fotospiel uploader app. Responses default to JSON (XML optional).",
|
||
"show": "Show credentials",
|
||
"hide": "Hide credentials",
|
||
"hidden": "Credentials are hidden. Tap to show them.",
|
||
"host": "Host",
|
||
"port": "Port",
|
||
"username": "Username",
|
||
"password": "Password",
|
||
"path": "Upload path",
|
||
"postUrl": "Upload URL",
|
||
"responseFormat": "Response format"
|
||
},
|
||
"connectCode": {
|
||
"label": "Connect code",
|
||
"description": "Create a 6-digit code for the uploader app.",
|
||
"expires": "Expires: {{date}}",
|
||
"actions": {
|
||
"generate": "Generate connect code",
|
||
"generated": "Connect code created"
|
||
},
|
||
"errors": {
|
||
"failed": "Connect code could not be created."
|
||
}
|
||
},
|
||
"uploader": {
|
||
"hint": "POST with media file or base64 \"media\" field; app uses these credentials."
|
||
},
|
||
"steps": {
|
||
"activate": {
|
||
"title": "1. Activate photobooth",
|
||
"description": "Enable upload access for this event."
|
||
},
|
||
"download": {
|
||
"title": "2. Download uploader app"
|
||
},
|
||
"access": {
|
||
"title": "3. Generate connect code",
|
||
"description": "The code securely pairs the app with your event."
|
||
}
|
||
},
|
||
"uploaderDownload": {
|
||
"title": "Fotospiel Uploader App",
|
||
"description": "The Fotospiel Uploader App is required so uploads stay stable, credentials remain protected, and no files are lost.",
|
||
"emailAction": "Send download links by email",
|
||
"emailSuccess": "Download links were sent by email.",
|
||
"emailFailed": "Email could not be sent.",
|
||
"actionWindows": "Download uploader (Windows)",
|
||
"actionMac": "Download uploader (macOS)",
|
||
"actionLinux": "Download uploader (Linux)"
|
||
},
|
||
"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 uploader app connection for this event.",
|
||
"share": "Share credentials",
|
||
"shareCopy": "Share URL, username, and password with 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"
|
||
}
|
||
},
|
||
"tasks": {
|
||
"actions": {
|
||
"back": "Back to overview",
|
||
"assign": "Assign selected photo tasks"
|
||
},
|
||
"title": "Photo tasks & missions",
|
||
"subtitle": "Curate mission cards and photo tasks for this event.",
|
||
"alerts": {
|
||
"notFoundTitle": "Event not found",
|
||
"notFoundDescription": "Please return to the event list."
|
||
},
|
||
"tabs": {
|
||
"tasks": "Photo tasks",
|
||
"packs": "Mission packs"
|
||
},
|
||
"eventStatus": "Status: {{status}}",
|
||
"modes": {
|
||
"title": "Photo tasks & photo mode",
|
||
"tasksHint": "Photo tasks are active. Guests see mission cards in the app.",
|
||
"photoOnlyHint": "Photo-only mode is active. Guests can upload photos but won’t see photo tasks.",
|
||
"tasks": "Photo tasks active",
|
||
"photoOnly": "Photo-only",
|
||
"switchLabel": "Enable/disable photo tasks",
|
||
"updating": "Saving setting ..."
|
||
},
|
||
"summary": {
|
||
"assigned": "Assigned photo tasks",
|
||
"library": "Library",
|
||
"mode": "Active mode",
|
||
"tasksMode": "Mission cards",
|
||
"photoOnly": "Photos only"
|
||
},
|
||
"library": {
|
||
"hintTitle": "More templates in the photo task library",
|
||
"hintCopy": "Create photo tasks, emotions, or mission packs once and reuse them across events.",
|
||
"open": "Open photo task library"
|
||
},
|
||
"sections": {
|
||
"assigned": {
|
||
"title": "Assigned photo tasks",
|
||
"search": "Search photo tasks...",
|
||
"noResults": "No photo tasks match this search term.",
|
||
"empty": "No photo tasks assigned yet."
|
||
},
|
||
"library": {
|
||
"title": "Add photo tasks from library",
|
||
"empty": "No photo tasks found in the library."
|
||
}
|
||
},
|
||
"actionsShort": {
|
||
"assign": "Assign selected photo tasks"
|
||
},
|
||
"errors": {
|
||
"missingSlug": "No event slug provided.",
|
||
"load": "Photo tasks could not be loaded.",
|
||
"assign": "Photo 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 photo task collections that fit your event.",
|
||
"viewAll": "View all collections",
|
||
"empty": "No recommended collections found.",
|
||
"tasksCount": "{{count}} photo 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": "Photo task collections",
|
||
"subtitle": "Browse curated photo task bundles or activate them for your events.",
|
||
"actions": {
|
||
"import": "Import",
|
||
"create": "Create collection",
|
||
"openTasks": "Open photo 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}} photo tasks",
|
||
"updated": "Updated: {{date}}"
|
||
},
|
||
"pagination": {
|
||
"prev": "Previous",
|
||
"next": "Next",
|
||
"page": "Page {{current}} of {{total}}"
|
||
}
|
||
},
|
||
"engagement": {
|
||
"subtitle": "Manage photo 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 photo task library",
|
||
"cancel": "Cancel",
|
||
"submit": "Save emotion"
|
||
}
|
||
},
|
||
"management": {
|
||
"photobooth": {
|
||
"title": "Photobooth uploads",
|
||
"titleForEvent": "Manage photobooth uploads",
|
||
"subtitle": "Create uploader access for photobooth apps 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 photo 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": "Event bundle",
|
||
"threshold": "Warning at {{count}} remaining events"
|
||
},
|
||
"meta": {
|
||
"creditLast": "Last bundle warning: {{date}}",
|
||
"creditNever": "No bundle 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 partner / agency 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."
|
||
}
|
||
},
|
||
"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."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"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": "Photo task library",
|
||
"embedded": "Photo tasks"
|
||
},
|
||
"subtitles": {
|
||
"default": "Assign photo tasks and track progress around your events.",
|
||
"embedded": "Plan photo tasks, actions, and highlights for your guests."
|
||
},
|
||
"errors": {
|
||
"title": "Error",
|
||
"load": "Photo tasks could not be loaded."
|
||
},
|
||
"actions": {
|
||
"collections": "Collections",
|
||
"new": "New",
|
||
"searchPlaceholder": "Search photo tasks …"
|
||
},
|
||
"pagination": {
|
||
"page": "Page {{current}} of {{total}} · {{count}} entries",
|
||
"summary": "Total {{count}} photo tasks · Page {{current}} of {{total}}",
|
||
"prev": "Back",
|
||
"next": "Next"
|
||
},
|
||
"form": {
|
||
"editTitle": "Edit photo task",
|
||
"createTitle": "Create photo task",
|
||
"title": "Title",
|
||
"description": "Description",
|
||
"descriptionPlaceholder": "What should guests do?",
|
||
"priority": "Priority",
|
||
"priorityPlaceholder": "Choose priority",
|
||
"dueDate": "Due date",
|
||
"completedTitle": "Already completed?",
|
||
"completedCopy": "Mark photo 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 photo tasks yet",
|
||
"description": "Create a new photo task or import templates to inspire your guests.",
|
||
"cta": "Create first photo 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": "Photo tasks & challenges",
|
||
"helpOn": "Guests can see photo tasks, challenges and achievements.",
|
||
"helpOff": "Photo tasks 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, photo 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 photo tasks.",
|
||
"description_days": "{{count}} days left — prepare invites and photo 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"
|
||
}
|
||
},
|
||
"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": "Photo 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"
|
||
},
|
||
"packageSummary": {
|
||
"title": "Your package summary",
|
||
"fallbackTitle": "Package summary",
|
||
"subtitle": "Here is a quick overview of your active package.",
|
||
"limitPhotos": "Photos",
|
||
"limitGuests": "Guests",
|
||
"limitDays": "Gallery days",
|
||
"limitsTitle": "Limits",
|
||
"remaining": "Remaining events",
|
||
"eventAllowance": "Event allowance",
|
||
"eventPerPurchase": "1 event per purchase",
|
||
"eventPerPurchaseShort": "Per purchase",
|
||
"purchased": "Purchased",
|
||
"expires": "Expires",
|
||
"unlimited": "Unlimited",
|
||
"unknown": "Unknown",
|
||
"featuresTitle": "Included features",
|
||
"feature": {
|
||
"priority_support": "Priority support",
|
||
"reseller_dashboard": "Partner dashboard",
|
||
"custom_domain": "Custom domain",
|
||
"custom_branding": "Custom branding",
|
||
"custom_tasks": "Custom photo tasks",
|
||
"unlimited_sharing": "Unlimited sharing",
|
||
"analytics": "Analytics",
|
||
"advanced_reporting": "Advanced reporting",
|
||
"live_slideshow": "Live slideshow",
|
||
"basic_uploads": "Guest uploads",
|
||
"team_management": "Team management",
|
||
"moderation_tools": "Moderation tools",
|
||
"prints": "Print uploads",
|
||
"photo_likes_enabled": "Photo likes",
|
||
"event_checklist": "Event checklist",
|
||
"advanced_analytics": "Advanced analytics",
|
||
"branding_allowed": "Branding",
|
||
"watermark_allowed": "Watermarks",
|
||
"watermark_base": "Fotospiel watermark",
|
||
"no_watermark": "Remove Fotospiel watermark",
|
||
"watermark_custom": "Custom watermark"
|
||
},
|
||
"hint": "You can revisit billing any time to review or upgrade your package.",
|
||
"continue": "Continue to event setup",
|
||
"dismiss": "Close",
|
||
"bannerTitle": "Your package summary",
|
||
"bannerSubtitle": "{{name}} is active. Review limits & features.",
|
||
"bannerCta": "View"
|
||
},
|
||
"tasksSetupNote": "Setup needed",
|
||
"taskDecision": {
|
||
"title": "Set up photo tasks?",
|
||
"body": "Your event is live with photo tasks enabled, but no photo tasks are assigned yet. Choose to add photo tasks now or disable photo tasks for this event.",
|
||
"promptTitle": "Next step",
|
||
"promptBody": "Guests only see missions when photo tasks are assigned.",
|
||
"ctaManage": "Add photo tasks",
|
||
"ctaDisable": "Disable photo tasks",
|
||
"dismiss": "Later",
|
||
"disabledToast": "Photo tasks disabled for this event.",
|
||
"disableError": "Could not disable photo tasks."
|
||
},
|
||
"pickEvent": "Select an event",
|
||
"status": {
|
||
"published": "Live",
|
||
"draft": "Draft"
|
||
},
|
||
"photosLabel": "Review photos",
|
||
"photosDesc": "Moderate uploads and highlights",
|
||
"tasksLabel": "Manage photo tasks & challenges",
|
||
"tasksDesc": "Assign and track progress",
|
||
"tasksDisabledDesc": "Guests do not see photo tasks (photo tasks 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",
|
||
"shortcutAnalytics": "Analytics",
|
||
"quickActionsTitle": "Quick actions",
|
||
"kpiTitle": "Key performance indicators",
|
||
"kpiTasks": "Open photo tasks",
|
||
"kpiPhotos": "Photos",
|
||
"kpiGuests": "Guests",
|
||
"kpiUnlimited": "{{label}} unlimited",
|
||
"kpiRemaining": "{{remaining}} remaining",
|
||
"kpiTasksNote": "Active",
|
||
"kpiTasksDisabled": "Disabled",
|
||
"todayTitle": "Today at a glance",
|
||
"todayUploads": "Uploads (24h)",
|
||
"todayPending": "Pending",
|
||
"todayLikes": "Likes",
|
||
"todayTasks": "Photo tasks",
|
||
"recentActivityTitle": "Recent activity",
|
||
"recentUploads": "Uploads in the last 24h",
|
||
"recentLikes": "Total likes",
|
||
"recentPending": "Pending moderation",
|
||
"alertsTitle": "Alerts",
|
||
"alertPending": "{{count}} new uploads awaiting moderation",
|
||
"alertTasks": "{{count}} photo 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."
|
||
},
|
||
"controlRoom": {
|
||
"title": "Moderation & Live Show",
|
||
"subtitle": "Review uploads and manage the live slideshow.",
|
||
"tabs": {
|
||
"moderation": "Moderation",
|
||
"live": "Live Show"
|
||
},
|
||
"automation": {
|
||
"title": "Automation",
|
||
"sectionTitle": "Einstellungen für Uploads",
|
||
"autoApproveHighlights": {
|
||
"label": "Auto-approve highlights",
|
||
"help": "When you highlight a pending photo it will be approved automatically."
|
||
},
|
||
"autoAddApproved": {
|
||
"label": "Auto-add approved to Live Show",
|
||
"help": "Approved or highlighted photos go straight to the Live Show.",
|
||
"locked": "Enabled because uploads are visible immediately."
|
||
},
|
||
"autoRemoveLive": {
|
||
"label": "Auto-remove from Live Show",
|
||
"help": "Hidden or rejected photos are removed from the Live Show automatically."
|
||
},
|
||
"uploaders": {
|
||
"title": "Uploader overrides",
|
||
"subtitle": "Pick devices from recent uploads to always approve or always review their photos.",
|
||
"trustedLabel": "Always approve",
|
||
"trustedHelp": "Uploads from these devices skip the approval queue.",
|
||
"forceLabel": "Always review",
|
||
"forceHelp": "Uploads from these devices always need approval.",
|
||
"add": "Add",
|
||
"remove": "Remove",
|
||
"empty": "No overrides yet."
|
||
},
|
||
"saveFailed": "Automation settings could not be saved."
|
||
},
|
||
"emptyModeration": "No uploads match this filter.",
|
||
"emptyLive": "No photos waiting for Live Show."
|
||
},
|
||
"liveShowSettings": {
|
||
"title": "Live Show settings",
|
||
"subtitle": "Tune the playback, pacing, and effects shown on the screen.",
|
||
"link": {
|
||
"title": "Live Show link",
|
||
"subtitle": "Open this link on a screen to run the Live Show.",
|
||
"empty": "No Live Show link available.",
|
||
"copy": "Copy",
|
||
"share": "Share",
|
||
"open": "Open",
|
||
"rotate": "Rotate",
|
||
"rotateConfirm": "Rotate the Live Show link? The current link will stop working.",
|
||
"rotateSuccess": "Live Show link rotated.",
|
||
"rotateFailed": "Live Show link could not be rotated.",
|
||
"rotatedAt": "Last rotated {{time}}",
|
||
"noExpiry": "No expiry date (valid until you rotate it).",
|
||
"loadFailed": "Live Show link could not be loaded.",
|
||
"copySuccess": "Link copied",
|
||
"copyFailed": "Link could not be copied",
|
||
"shareTitle": "Live Show",
|
||
"shareText": "Live Show link",
|
||
"qrAlt": "Live Show QR code",
|
||
"downloadQr": "Download QR"
|
||
},
|
||
"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": "Edit account",
|
||
"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": {}
|
||
},
|
||
"mobileBilling": {
|
||
"packageFallback": "Package",
|
||
"eventPerPurchase": "1 event per purchase",
|
||
"remainingEvents": "{{count}} events",
|
||
"remainingEventsOf": "{{remaining}} of {{limit}} events remaining",
|
||
"remainingEventsZero": "No events remaining",
|
||
"eventsCreated": "{{used}} of {{limit}} events created",
|
||
"openEvent": "Open event",
|
||
"details": {
|
||
"limitsTitle": "Limits",
|
||
"featuresTitle": "Features"
|
||
},
|
||
"usage": {
|
||
"events": "Events",
|
||
"guests": "Guests",
|
||
"photos": "Photos",
|
||
"gallery": "Gallery days",
|
||
"value": "{{used}} / {{limit}}",
|
||
"limit": "Limit {{limit}}",
|
||
"remaining": "Remaining {{count}}",
|
||
"remainingOf": "{{remaining}} of {{limit}} remaining",
|
||
"statusWarning": "Low",
|
||
"statusDanger": "Limit reached",
|
||
"ctaWarning": "Secure more capacity",
|
||
"ctaDanger": "Upgrade package"
|
||
},
|
||
"status": {
|
||
"completed": "Completed",
|
||
"pending": "Pending",
|
||
"failed": "Failed"
|
||
},
|
||
"extra": {
|
||
"photos": "+{{count}} photos",
|
||
"guests": "+{{count}} guests",
|
||
"days": "+{{count}} days"
|
||
}
|
||
},
|
||
"packageLimits": {
|
||
"max_photos": "Photos",
|
||
"max_guests": "Guests",
|
||
"max_tasks": "Photo tasks",
|
||
"gallery_days": "Gallery days",
|
||
"max_events_per_year": "Event bundle"
|
||
},
|
||
"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.",
|
||
"progress": "Export is running. This list refreshes automatically."
|
||
},
|
||
"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."
|
||
}
|
||
},
|
||
"analytics": {
|
||
"title": "Analytics",
|
||
"upgradeAction": "Upgrade to Premium",
|
||
"kpiTitle": "Event snapshot",
|
||
"kpiUploads": "Uploads",
|
||
"kpiContributors": "Contributors",
|
||
"kpiLikes": "Likes",
|
||
"activityTitle": "Activity Timeline",
|
||
"timeframe": "Last {{hours}} hours",
|
||
"timeframeHint": "Older activity hidden",
|
||
"uploadsPerHour": "Uploads per hour",
|
||
"noActivity": "No uploads yet",
|
||
"emptyActionShareQr": "Share your QR code",
|
||
"contributorsTitle": "Top Contributors",
|
||
"likesCount": "{{count}} likes",
|
||
"likesCount_one": "{{count}} like",
|
||
"likesCount_other": "{{count}} likes",
|
||
"noContributors": "No contributors yet",
|
||
"emptyActionInvite": "Invite guests",
|
||
"tasksTitle": "Popular photo tasks",
|
||
"noTasks": "No photo task activity yet",
|
||
"emptyActionOpenTasks": "Open photo tasks",
|
||
"lockedTitle": "Unlock Analytics",
|
||
"lockedBody": "Get deep insights into your event engagement with the Premium package."
|
||
},
|
||
"shop": {
|
||
"title": "Upgrade Package",
|
||
"subtitle": "Choose a package to unlock more features and limits.",
|
||
"partner": {
|
||
"title": "Buy event bundle",
|
||
"subtitle": "Buy event bundles to run multiple events with our services.",
|
||
"buy": "Buy",
|
||
"unavailable": "Unavailable",
|
||
"confirmSubtitle": "You're buying:",
|
||
"includedTier": "Included event tier: {{tier}}",
|
||
"eventsIncluded": "{{count}} events in bundle",
|
||
"recommendedUsage": "Recommended to use within 24 months.",
|
||
"tiers": {
|
||
"starter": "Starter",
|
||
"standard": "Standard",
|
||
"premium": "Premium"
|
||
},
|
||
"compare": {
|
||
"rows": {
|
||
"includedTier": "Included event tier",
|
||
"events": "Events in bundle"
|
||
},
|
||
"values": {
|
||
"unknown": "—"
|
||
}
|
||
}
|
||
},
|
||
"recommendationTitle": "Recommended for you",
|
||
"recommendationBody": "The highlighted package includes the feature you requested.",
|
||
"compare": {
|
||
"title": "Compare plans",
|
||
"helper": "Swipe to compare packages side by side.",
|
||
"toggleCards": "Cards",
|
||
"toggleCompare": "Compare",
|
||
"headers": {
|
||
"plan": "Plan",
|
||
"price": "Price"
|
||
},
|
||
"rows": {
|
||
"photos": "Photos",
|
||
"guests": "Guests",
|
||
"days": "Gallery days"
|
||
},
|
||
"values": {
|
||
"included": "Included",
|
||
"notIncluded": "Not included",
|
||
"unlimited": "Unlimited"
|
||
}
|
||
},
|
||
"select": "Select",
|
||
"manage": "Manage Plan",
|
||
"limits": {
|
||
"photos": "{{count}} Photos",
|
||
"photos_one": "{{count}} Photo",
|
||
"photos_other": "{{count}} Photos",
|
||
"unlimitedPhotos": "Unlimited Photos",
|
||
"days": "{{count}} Days Gallery",
|
||
"days_one": "{{count}} Day Gallery",
|
||
"days_other": "{{count}} Days Gallery"
|
||
},
|
||
"features": {
|
||
"advanced_analytics": "Advanced Analytics",
|
||
"basic_uploads": "Basic uploads",
|
||
"custom_branding": "Custom Branding",
|
||
"custom_tasks": "Custom photo tasks",
|
||
"limited_sharing": "Limited sharing",
|
||
"live_slideshow": "Live slideshow",
|
||
"priority_support": "Priority support",
|
||
"unlimited_sharing": "Unlimited sharing",
|
||
"watermark_removal": "No Watermark",
|
||
"watermark_base": "Fotospiel watermark",
|
||
"no_watermark": "Remove Fotospiel watermark",
|
||
"watermark_custom": "Custom watermark"
|
||
},
|
||
"status": {
|
||
"active": "Active Plan",
|
||
"owned": "Purchased",
|
||
"remaining": "{{count}} Events left",
|
||
"remaining_one": "{{count}} Event left",
|
||
"remaining_other": "{{count}} Events left"
|
||
},
|
||
"badges": {
|
||
"recommended": "Recommended",
|
||
"active": "Active",
|
||
"upgrade": "Upgrade",
|
||
"downgrade": "Downgrade"
|
||
},
|
||
"confirmTitle": "Confirm Purchase",
|
||
"confirmSubtitle": "You are upgrading to:",
|
||
"legalTitle": "Terms & Conditions",
|
||
"legal": {
|
||
"agb": "I agree to the Terms and Conditions and Privacy Policy.",
|
||
"withdrawal": "I agree that the contract execution begins immediately and I lose my right of withdrawal."
|
||
},
|
||
"processing": "Processing...",
|
||
"payNow": "Pay Now",
|
||
"errors": {
|
||
"checkout": "Checkout failed"
|
||
},
|
||
"selectDisabled": "Not available"
|
||
}
|
||
}
|