{ "layout": { "eyebrow": "Fotospiel Tenant Admin", "title": "Welcome to your event studio", "subtitle": "Begin with an inspired introduction, secure your package, and craft the perfect guest gallery – all optimised for mobile hosts.", "alreadyFamiliar": "Already familiar with Fotospiel?", "jumpToDashboard": "Jump to dashboard" }, "hero": { "eyebrow": "Your event, your stage", "title": "Design the next Fotospiel experience", "scriptTitle": "Memorable for guests, effortless for you.", "description": "In just a few steps you guide guests through a magical photo journey – complete with storytelling, tasks, and a moderated gallery.", "primary": { "label": "Explore packages", "button": "Explore packages" }, "secondary": { "label": "View events", "button": "View existing events" } }, "highlights": { "gallery": { "title": "Premium guest gallery", "description": "Curate photos in real time, highlight favourites, and share QR codes in a tap.", "badge": "New" }, "team": { "title": "Flexible team onboarding", "description": "Invite co-hosts, assign roles, and stay on top of moderation and tasks." }, "story": { "title": "Storytelling in chapters", "description": "Guided tasks and emotion cards turn every event into a memorable journey." } }, "ctaList": { "choosePackage": { "label": "Choose your package", "description": "Reserve credits or subscriptions to activate events instantly. Flexible options for any event size.", "button": "Continue to packages" }, "createEvent": { "label": "Prepare event", "description": "Collect event details, plan tasks, and ensure a smooth flow before the big day.", "button": "Go to event manager" } }, "packages": { "layout": { "eyebrow": "Step 2", "title": "Choose your package", "subtitle": "Fotospiel supports flexible pricing: single-use credits or subscriptions covering multiple events." }, "step": { "title": "Activate the right credits", "description": "Secure capacity for your next event. Upgrade at any time – only pay for what you need." }, "state": { "loading": "Loading packages …", "errorTitle": "Failed to load", "errorDescription": "Please try again or contact support.", "emptyTitle": "Catalogue is empty", "emptyDescription": "No packages are currently available. Reach out to support to enable new offers." }, "card": { "subscription": "Subscription", "creditPack": "Credit pack", "description": "Ready for your next event right away.", "descriptionWithPhotos": "Up to {{count}} photos included – perfect for vibrant storytelling.", "active": "Active package", "select": "Select package", "onRequest": "On request", "purchased": "Purchased on {{date}}", "purchasedUnknown": "unknown date", "badges": { "guests": "{{count}} guests", "days": "{{count}} gallery days", "photos": "{{count}} photos" } }, "features": { "subscription": "Subscription", "priority_support": "Priority support", "custom_domain": "Custom domain", "analytics": "Analytics", "team_management": "Team management", "moderation_tools": "Moderation tools", "prints": "Print uploads" }, "cta": { "billing": { "label": "Go to billing", "description": "Already know what you need? Jump straight to the billing area you know.", "button": "Open billing" }, "summary": { "label": "View order summary", "description": "Review package details and decide whether to pay now or later.", "button": "Continue to summary" } } }, "summary": { "layout": { "eyebrow": "Step 3", "title": "Order summary", "subtitle": "Review package, price, and payment before proceeding to the event setup." }, "footer": { "back": "Back to package selection" }, "step": { "title": "Your selection at a glance", "description": "Hand off to billing now or continue setup and pay later." }, "state": { "loading": "Checking available packages …", "errorTitle": "Package data temporarily unavailable", "errorDescription": "Please try again or contact support.", "missingTitle": "No package selected", "missingDescription": "Select a package first or refresh if data changed." }, "details": { "subscription": "Subscription", "creditPack": "Credit pack", "photos": "Up to {{count}} photos", "galleryDays": "{{count}} gallery days", "guests": "{{count}} guests", "infinity": "∞", "features": { "subscription": "Subscription", "priority_support": "Priority support", "custom_domain": "Custom domain", "analytics": "Analytics", "team_management": "Team management", "moderation_tools": "Moderation tools", "prints": "Print uploads" }, "section": { "photosTitle": "Photos & gallery", "photosValue": "Up to {{count}} photos, gallery {{days}} days", "photosUnlimited": "Unlimited photos, flexible gallery", "guestsTitle": "Guests & team", "guestsValue": "{{count}} guests included, co-hosts flexible", "guestsUnlimited": "Unlimited guest list", "featuresTitle": "Highlights", "featuresNone": "Standard", "statusTitle": "Status", "statusActive": "Already purchased", "statusInactive": "Not purchased yet" } }, "status": { "pendingTitle": "Payment still pending", "pendingDescription": "You can start preparing the event. An active package is required before going live." }, "free": { "description": "This package is free. Assign it to your tenant and continue immediately.", "activate": "Activate free package", "progress": "Activating …", "successTitle": "Free package activated", "successDescription": "Credits added. Continue with the setup.", "failureTitle": "Activation failed", "errorMessage": "The free package could not be activated." }, "stripe": { "sectionTitle": "Card payment (Stripe)", "heading": "Card payment", "notReady": "Payment module not ready yet. Please refresh.", "genericError": "Payment failed. Please try again.", "missingPaymentId": "Could not confirm payment (missing payment ID).", "completionFailed": "Purchase not recorded yet. Contact support with your payment confirmation.", "errorTitle": "Payment failed", "submitting": "Confirming payment …", "submit": "Pay now", "hint": "Secure checkout via Stripe. You'll receive confirmation once recorded.", "loading": "Loading payment details …", "unavailableTitle": "Stripe unavailable", "unavailableDescription": "Stripe could not be initialised.", "missingKey": "Stripe publishable key missing. Configure VITE_STRIPE_PUBLISHABLE_KEY.", "intentFailed": "Stripe could not prepare the payment." }, "paypal": { "sectionTitle": "PayPal", "heading": "PayPal", "createFailed": "PayPal order could not be created. Please try again.", "captureFailed": "PayPal payment could not be captured. Contact support if funds were withdrawn.", "errorTitle": "PayPal error", "genericError": "PayPal reported a problem. Please try again later.", "missingOrderId": "PayPal did not return an order ID.", "cancelled": "PayPal payment was cancelled.", "hint": "PayPal may redirect you briefly to confirm. You'll return automatically afterwards.", "notConfiguredTitle": "PayPal not configured", "notConfiguredDescription": "Provide VITE_PAYPAL_CLIENT_ID so hosts can pay with PayPal." }, "nextStepsTitle": "Next steps", "nextSteps": [ "Optional: finish billing (Stripe/PayPal) inside the billing area.", "Complete the event setup and configure tasks, team, and gallery.", "Check credits before go-live and share your guest link." ], "cta": { "billing": { "label": "Start billing", "description": "Opens the billing area with Stripe, PayPal, and credit options.", "button": "Go to billing" }, "setup": { "label": "Continue to event setup", "description": "You can return to billing any time.", "button": "Continue to setup" } } }, "eventSetup": { "layout": { "eyebrow": "Step 4", "title": "Prepare your first event", "subtitle": "Fill in a few details, invite co-hosts, and open your guest gallery for the big day." }, "step": { "title": "Event setup in minutes", "description": "We guide you through name, date, mood, and tasks. Afterwards you can moderate photos and support guests live." }, "tiles": { "story": { "title": "Story & mood", "copy": "Pick imagery, colours, and emotion cards for your event." }, "team": { "title": "Organise your team", "copy": "Invite moderators or photographers and assign roles." }, "launch": { "title": "Prepare go-live", "copy": "Create QR codes, test the gallery, and align the run of show." } }, "cta": { "heading": "Ready for your first event?", "description": "You're switching to the event manager. Assign tasks, invite members, and test the gallery. You can always return to the welcome journey.", "button": "Create event" }, "actions": { "back": { "label": "Review packages again", "description": "Compare pricing or update your current package.", "button": "Back to packages" }, "dashboard": { "label": "Go to dashboard", "description": "Jump into management to edit existing events.", "button": "Open dashboard" }, "events": { "label": "Event overview", "description": "Keep track of active and archived events.", "button": "Open event list" } } } }