checkout: buttons verbessert, paddle zahlungsschritt schicker gemacht, schritt 4 optimiert+schick gemacht. Dashboard: translations ergänzt. Startseite vom Event Admin optimiert.

This commit is contained in:
Codex Agent
2025-11-17 11:06:46 +01:00
parent 5290072ffe
commit 167734f87a
25 changed files with 1981 additions and 1002 deletions

View File

@@ -23,6 +23,8 @@
"description": "Melde dich mit deinem Fotospiel-Zugang an und steuere deine Events zentral in einem Dashboard.",
"brand": "Die Fotospiel App",
"logo_alt": "Logo Die Fotospiel App",
"identifier": "E-Mail oder Username",
"identifier_placeholder": "z. B. name@beispiel.de oder hochzeit_julia",
"username_or_email": "Username oder E-Mail",
"email": "E-Mail-Adresse",
"email_placeholder": "ihre@email.de",
@@ -49,7 +51,16 @@
"address": "Adresse",
"phone": "Telefonnummer",
"privacy_consent": "Ich stimme der Datenschutzerklärung zu und akzeptiere die Verarbeitung meiner persönlichen Daten.",
"submit": "Registrieren"
"privacy_policy_link": "Datenschutzerklärung",
"submit": "Registrieren",
"first_name_placeholder": "Vorname",
"last_name_placeholder": "Nachname",
"email_placeholder": "beispiel@email.de",
"address_placeholder": "Straße Hausnummer, PLZ Ort",
"phone_placeholder": "+49 170 1234567",
"username_placeholder": "z. B. hochzeit_julia",
"password_placeholder": "Mindestens 8 Zeichen",
"password_confirmation_placeholder": "Passwort erneut eingeben"
},
"verification": {
"notice": "Bitte bestätigen Sie Ihre E-Mail-Adresse.",

View File

@@ -98,10 +98,15 @@
"reseller_benefits": "Vorteile für Reseller",
"unlimited_events": "Unbegrenzte Events",
"custom_branding": "Benutzerdefiniertes Branding",
"available": "Verfügbar",
"not_available": "Nicht verfügbar",
"standard_support": "Standard-Support",
"priority_support": "Priorisierter Support",
"cancel_link": "Abo kündigen: :link",
"hero_title": "Entdecken Sie unsere flexiblen Packages",
"hero_description": "Von kostenlosem Einstieg bis Premium-Features: Passen Sie Ihr Event-Paket an Ihre Bedürfnisse an. Einfach, sicher und skalierbar.",
"hero_secondary": "Teste den kompletten Gäste-Flow in unserer Live-Demo kein Login, kein App-Store.",
"cta_demo": "Demo ansehen",
"cta_explore": "Pakete entdecken",
"cta_explore_highlight": "Lieblingspaket sichern",
"tab_endcustomer": "Endkunden",
@@ -121,6 +126,7 @@
"register_buy": "Registrieren und kaufen",
"register_subscribe": "Registrieren und abonnieren",
"faq_title": "Häufige Fragen zu Packages",
"faq_lead": "Antworten auf die wichtigsten Fragen mehr Details findest du im Guide „So funktionierts“.",
"faq_q1": "Was ist ein Package?",
"faq_a1": "Ein Package definiert Limits und Features für Ihr Event, z.B. Anzahl Fotos und Galerie-Dauer.",
"faq_q2": "Kann ich upgraden?",
@@ -171,6 +177,10 @@
"for_resellers": "Für Reseller",
"details_show": "Details anzeigen",
"comparison_title": "Packages vergleichen",
"comparison_subtitle": "Alle Limits und Features auf einen Blick.",
"comparison_hint": "Wähle deine Zielgruppe und scrolle durch die Karten. Die Tabelle zeigt genaue Unterschiede.",
"comparison_limits": "Limits",
"comparison_features": "Features",
"max_photos_label": "Max. Fotos",
"max_guests_label": "Max. Gäste",
"gallery_days_label": "Galerie-Tage",
@@ -388,6 +398,33 @@
"currency": {
"euro": "€"
},
"coupon": {
"label": "Gutscheincode",
"placeholder": "Gutscheincode eingeben",
"apply": "Gutschein anwenden",
"remove": "Gutschein entfernen",
"applied": "Gutschein {{code}} aktiviert. Du sparst {{amount}}.",
"summary_title": "Aktualisierte Bestellsumme",
"fields": {
"subtotal": "Zwischensumme",
"discount": "Rabatt",
"tax": "MwSt.",
"total": "Gesamtsumme nach Rabatt"
},
"errors": {
"required": "Bitte gib einen Gutscheincode ein.",
"not_found": "Dieser Gutschein konnte nicht gefunden werden.",
"inactive": "Dieser Gutschein ist nicht aktiv.",
"disabled": "Dieser Gutschein kann derzeit nicht eingelöst werden.",
"not_applicable": "Dieser Gutschein gilt nicht für das ausgewählte Package.",
"limit_reached": "Dieser Gutschein wurde bereits maximal genutzt.",
"currency_mismatch": "Dieser Gutschein passt nicht zur gewählten Währung.",
"not_synced": "Dieser Gutschein ist noch nicht bereit. Bitte versuche es später erneut.",
"package_not_configured": "Dieses Package unterstützt aktuell keine Gutscheine.",
"login_required": "Bitte melde dich an, um diesen Gutschein zu nutzen.",
"generic": "Der Gutschein konnte nicht angewendet werden. Bitte versuche einen anderen."
}
},
"meta": {
"title": "Fotospiel - Sammle Gastfotos für Events mit QR-Codes",
"description": "Sammle Gastfotos für Events mit QR-Codes. Unsere sichere PWA-Plattform für Gäste und Organisatoren einfach, mobil und datenschutzkonform."
@@ -436,9 +473,7 @@
"description": "Wähle das passende Paket für deine Bedürfnisse",
"no_package_selected": "Kein Paket ausgewählt. Bitte wähle ein Paket aus der Paketübersicht.",
"alternatives_title": "Alternative Pakete",
"no_alternatives": "Keine weiteren Pakete in dieser Kategorie verfügbar.",
"next_to_account": "Weiter zum Konto",
"loading": "Wird geladen..."
"no_alternatives": "Keine weiteren Pakete in dieser Kategorie verfügbar."
},
"auth_step": {
"title": "Konto",
@@ -455,7 +490,9 @@
"google_error_title": "Google-Anmeldung fehlgeschlagen",
"google_missing_package": "Bitte wähle zuerst ein Paket aus, bevor du Google Login nutzt.",
"google_missing_email": "Wir konnten deine Google-E-Mail-Adresse nicht abrufen.",
"google_error_fallback": "Die Google-Anmeldung konnte nicht abgeschlossen werden. Bitte versuche es erneut."
"google_error_fallback": "Die Google-Anmeldung konnte nicht abgeschlossen werden. Bitte versuche es erneut.",
"google_helper": "Schneller Login über Google deine Daten werden ausschließlich zur Kontoeinrichtung verwendet.",
"google_helper_badge": "Warum Google?"
},
"payment_step": {
"title": "Zahlung",
@@ -467,6 +504,14 @@
"loading_payment": "Zahlungsdaten werden geladen...",
"secure_payment_desc": "Sichere Zahlung über Paddle.",
"paddle_intro": "Starte den Paddle-Checkout direkt hier im Wizard ganz ohne Seitenwechsel.",
"guided_title": "Sichere Zahlung mit Paddle unserem geprüften Partner",
"guided_body": "Wir führen dich Schritt für Schritt durch den Bezahlprozess. Paddle wickelt den Kauf als Merchant of Record ab und sorgt dafür, dass Steuern und Rechnungen automatisch korrekt erstellt werden.",
"paddle_partner": "Powered by Paddle",
"trust_secure": "Verschlüsselte Zahlung",
"trust_tax": "Automatische Steuerberechnung",
"trust_support": "Support in Minuten",
"guided_cta_hint": "Paddle wickelt deine Zahlung als Merchant of Record ab",
"toast_success": "Zahlung erfolgreich wir bereiten alles vor.",
"paddle_preparing": "Paddle-Checkout wird vorbereitet…",
"paddle_overlay_ready": "Der Paddle-Checkout läuft jetzt in einem Overlay. Schließe die Zahlung dort ab und kehre anschließend hierher zurück.",
"paddle_ready": "Paddle-Checkout wurde in einem neuen Tab geöffnet. Schließe die Zahlung dort ab und kehre dann hierher zurück.",
@@ -511,6 +556,30 @@
"welcome": "Danke, dass du die Fotospiel App gewählt hast!",
"package_summary": "Dein Paket <strong>{name}</strong> ist jetzt freigeschaltet. Du kannst sofort mit der Einrichtung loslegen.",
"email_followup": "Wir haben dir gerade alle Details per E-Mail geschickt inklusive Rechnung und den nächsten Schritten.",
"hero_badge": "Checkout abgeschlossen",
"hero_title": "Weiter geht's im Marketing-Dashboard",
"hero_body": "Wir haben deinen Zugang aktiviert und Paddle synchronisiert. Mit diesen Aufgaben startest du direkt durch.",
"hero_next": "Nutze den Button unten, um in deinen Kundenbereich zu wechseln diese Übersicht kannst du jederzeit erneut öffnen.",
"onboarding_title": "Vorschau auf deine Onboarding-Schritte",
"onboarding_subtitle": "Diese Aufgaben erwarten dich direkt nach dem Login.",
"onboarding_badge": "Nächste Schritte",
"onboarding_items": {
"event": {
"title": "Erstes Event anlegen",
"body": "Titel, Datum und Highlights festlegen alles bleibt anpassbar."
},
"invites": {
"title": "QR-Einladungen aktivieren",
"body": "Teile deinen Event-QR-Code oder den Shortcut-Link mit Gästen."
},
"tasks": {
"title": "Fotoaufgaben planen",
"body": "Nutze Vorlagen oder füge eigene kreative Aufgaben hinzu."
}
},
"control_center_title": "Event Control Center (PWA)",
"control_center_body": "Alle Live-Aufgaben erledigst du später im Control Center optimiert für Mobilgeräte und offlinefähig.",
"control_center_hint": "Installiere die PWA direkt aus dem Dashboard.",
"package_activated": "Ihr Paket '{name}' ist aktiviert.",
"email_sent": "Wir haben Ihnen eine Bestätigungs-E-Mail gesendet.",
"open_profile": "Profil öffnen",

View File

@@ -23,6 +23,8 @@
"description": "Sign in with your Fotospiel account to manage every event in one place.",
"brand": "Die Fotospiel App",
"logo_alt": "Fotospiel App logo",
"identifier": "Email or Username",
"identifier_placeholder": "you@example.com or username",
"username_or_email": "Username or Email",
"email": "Email Address",
"email_placeholder": "your@email.com",
@@ -49,7 +51,16 @@
"address": "Address",
"phone": "Phone Number",
"privacy_consent": "I agree to the privacy policy and accept the processing of my personal data.",
"submit": "Register"
"privacy_policy_link": "Privacy Policy",
"submit": "Register",
"first_name_placeholder": "First name",
"last_name_placeholder": "Last name",
"email_placeholder": "you@example.com",
"address_placeholder": "Street, ZIP, City",
"phone_placeholder": "+1 555 123 4567",
"username_placeholder": "e.g. wedding_julia",
"password_placeholder": "At least 8 characters",
"password_confirmation_placeholder": "Repeat your password"
},
"verification": {
"notice": "Please verify your email address.",

View File

@@ -92,6 +92,8 @@
"cancel_link": "Cancel Subscription: :link",
"hero_title": "Discover our flexible Packages",
"hero_description": "From free entry to premium features: Tailor your event package to your needs. Simple, secure, and scalable.",
"hero_secondary": "Experience the full guest flow in our live demo no login, no install.",
"cta_demo": "View demo",
"cta_explore": "Discover Packages",
"cta_explore_highlight": "Explore top packages",
"tab_endcustomer": "End Customers",
@@ -111,6 +113,7 @@
"register_buy": "Register and Buy",
"register_subscribe": "Register and Subscribe",
"faq_title": "Frequently Asked Questions about Packages",
"faq_lead": "Quick answers to the essentials check “How it works” for the full deep dive.",
"faq_q1": "What is a Package?",
"faq_a1": "A Package defines limits and features for your event, e.g. number of photos and gallery duration.",
"faq_q2": "Can I upgrade?",
@@ -161,6 +164,10 @@
"for_resellers": "For Resellers",
"details_show": "Show Details",
"comparison_title": "Compare Packages",
"comparison_subtitle": "Every limit and feature side by side.",
"comparison_hint": "Pick your audience and slide through the cards. The table surfaces the fine print.",
"comparison_limits": "Limits",
"comparison_features": "Features",
"price": "Price",
"max_photos_label": "Max. Photos",
"max_guests_label": "Max. Guests",
@@ -168,6 +175,9 @@
"watermark_label": "Watermark",
"no_watermark": "No Watermark",
"custom_branding": "Custom Branding",
"available": "Available",
"not_available": "Not available",
"standard_support": "Standard support",
"max_tenants": "Max. Tenants",
"max_events": "Max. Events/Year",
"faq_free": "What is the Free Package?",
@@ -382,6 +392,33 @@
"currency": {
"euro": "€"
},
"coupon": {
"label": "Coupon code",
"placeholder": "Enter your coupon code",
"apply": "Apply coupon",
"remove": "Remove coupon",
"applied": "Coupon {{code}} applied. You save {{amount}}.",
"summary_title": "Updated order summary",
"fields": {
"subtotal": "Subtotal",
"discount": "Discount",
"tax": "Tax",
"total": "Total after discount"
},
"errors": {
"required": "Please enter a coupon code.",
"not_found": "We could not find this coupon.",
"inactive": "This coupon is not active anymore.",
"disabled": "This coupon cannot be used at checkout.",
"not_applicable": "This coupon is not valid for the selected package.",
"limit_reached": "This coupon has already been used the maximum number of times.",
"currency_mismatch": "This coupon cannot be used with the selected currency.",
"not_synced": "This coupon is not ready yet. Please try again later.",
"package_not_configured": "This package is not configured for coupon redemption.",
"login_required": "Please log in to use this coupon.",
"generic": "We could not apply this coupon. Please try another one."
}
},
"meta": {
"title": "Fotospiel - Collect Guest Photos for Events with QR Codes",
"description": "Collect guest photos for events with QR codes. Our secure PWA platform for guests and organizers simple, mobile, and privacy-compliant."
@@ -430,9 +467,7 @@
"description": "Choose the right package for your needs",
"no_package_selected": "No package selected. Please choose a package from the overview.",
"alternatives_title": "Alternative Packages",
"no_alternatives": "No further packages in this category available.",
"next_to_account": "Next to Account",
"loading": "Loading..."
"no_alternatives": "No further packages in this category available."
},
"auth_step": {
"title": "Account",
@@ -449,7 +484,9 @@
"google_error_title": "Google login failed",
"google_missing_package": "Please choose a package before using Google login.",
"google_missing_email": "We could not retrieve your Google email address.",
"google_error_fallback": "We couldn't complete the Google login. Please try again."
"google_error_fallback": "We couldn't complete the Google login. Please try again.",
"google_helper": "Sign in faster with Google we only use your details to create your Fotospiel account.",
"google_helper_badge": "Why Google?"
},
"payment_step": {
"title": "Payment",
@@ -461,6 +498,14 @@
"loading_payment": "Payment data is loading...",
"secure_payment_desc": "Secure payment with Paddle.",
"paddle_intro": "Launch the Paddle checkout right here in the wizard—no page changes required.",
"guided_title": "Secure checkout, powered by Paddle",
"guided_body": "We walk you through every step. Paddle acts as merchant of record, handles taxes automatically, and delivers compliant invoices instantly.",
"paddle_partner": "Powered by Paddle",
"trust_secure": "Encrypted payment",
"trust_tax": "Automatic tax handling",
"trust_support": "Live support within minutes",
"guided_cta_hint": "Securely processed by Paddle as Merchant of Record",
"toast_success": "Payment received setting everything up for you.",
"paddle_preparing": "Preparing Paddle checkout…",
"paddle_overlay_ready": "Paddle checkout is running in a secure overlay. Complete the payment there and then continue here.",
"paddle_ready": "Paddle checkout opened in a new tab. Complete the payment and then continue here.",
@@ -505,6 +550,30 @@
"welcome": "Thank you for choosing the Fotospiel App!",
"package_summary": "Your <strong>{name}</strong> package is now active. You're ready to get everything set up.",
"email_followup": "We've just sent a confirmation email with your receipt and the next steps.",
"hero_badge": "Checkout complete",
"hero_title": "You're ready for the Marketing Dashboard",
"hero_body": "We activated your access and synced Paddle. Follow the checklist below to launch your first event.",
"hero_next": "Use the button below whenever you're ready to jump into your customer area—this summary is always available.",
"onboarding_title": "Preview your onboarding steps",
"onboarding_subtitle": "These are the first tasks you'll see after logging in.",
"onboarding_badge": "Next steps",
"onboarding_items": {
"event": {
"title": "Create your first event",
"body": "Set title, date, and highlights. You can adjust everything later."
},
"invites": {
"title": "Activate QR invites",
"body": "Share your event QR code or shortcut link with guests."
},
"tasks": {
"title": "Plan photo tasks",
"body": "Pick from the library or add your own creative prompts."
}
},
"control_center_title": "Event Control Center (PWA)",
"control_center_body": "You handle live moderation and uploads in the Control Center — mobile-first and offline-ready.",
"control_center_hint": "Install the PWA directly from the dashboard.",
"package_activated": "Your package '{name}' is activated.",
"email_sent": "We have sent you a confirmation email.",
"open_profile": "Open Profile",

3
public/paddle.logo.svg Normal file
View File

@@ -0,0 +1,3 @@
<svg width="105" height="32" viewBox="0 0 105 32" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path fill-rule="evenodd" clip-rule="evenodd" d="M49.9213 7.48787C52.468 7.48787 54.724 8.7676 56.1418 10.7844V0H59.0423V24.0002H56.1418V21.2156C54.724 23.2363 52.468 24.5121 49.9213 24.5121C45.1514 24.5121 41.123 20.7682 41.123 16.0005C41.123 11.2328 45.1514 7.48787 49.9213 7.48787ZM49.9213 21.9517C53.692 21.9517 56.1418 19.424 56.1418 16.0005C56.1418 12.577 53.692 10.0483 49.9213 10.0483C46.5702 10.0483 44.0234 12.448 44.0234 16.0005C44.0234 19.5529 46.5702 21.9517 49.9213 21.9517ZM36.2891 10.7843C34.8713 8.76752 32.6153 7.48779 30.0695 7.48779C25.2987 7.48779 21.2703 11.2327 21.2703 16.0004C21.2703 20.7681 25.2987 24.5121 30.0695 24.5121C32.5833 24.5121 34.8355 23.2362 36.2891 21.2156V24.0002H39.1896V7.99969H36.2891V10.7843ZM36.2891 16.0004C36.2891 19.3922 33.8073 21.9516 30.0695 21.9516C26.7175 21.9516 24.1707 19.5529 24.1707 16.0004C24.1707 12.448 26.7175 10.0482 30.0695 10.0482C33.8402 10.0482 36.2891 12.5759 36.2891 16.0004ZM0 15.5818V16.4478C0.529481 16.4479 1.05375 16.5517 1.54282 16.7531C2.0319 16.9545 2.47621 17.2497 2.85034 17.6217C3.22446 17.9937 3.52108 18.4353 3.72324 18.9212C3.92539 19.4071 4.02911 19.9277 4.02848 20.4535H4.83475C4.83501 19.3927 5.25952 18.3755 6.01495 17.6254C6.77038 16.8753 7.79489 16.4538 8.86323 16.4536V15.5876C8.33375 15.5875 7.80948 15.4837 7.3204 15.2823C6.83133 15.0809 6.38702 14.7858 6.01289 14.4137C5.63876 14.0417 5.34214 13.6002 5.13999 13.1143C4.93784 12.6284 4.83412 12.1077 4.83475 11.582H4.02848C4.02822 12.6427 3.60371 13.6599 2.84828 14.41C2.09285 15.1601 1.06834 15.5816 0 15.5818ZM10.9574 10.08H4.02848V7.51953H10.9574C15.8241 7.51953 19.6598 11.3289 19.6598 16.0004C19.6598 20.6719 15.8241 24.4803 10.9574 24.4803H6.92894V31.9999H4.02848V21.9199H10.9574C14.3424 21.9199 16.7593 19.5211 16.7593 16.0004C16.7593 12.4797 14.3415 10.08 10.9574 10.08ZM76.3185 10.7844C74.8998 8.7676 72.6437 7.48787 70.098 7.48787C65.3281 7.48787 61.2997 11.2328 61.2997 16.0005C61.2997 20.7682 65.3281 24.5121 70.098 24.5121C72.6437 24.5121 74.8998 23.2363 76.3185 21.2156V24.0002H79.219V0H76.3185V10.7844ZM76.3185 16.0005C76.3185 19.424 73.8687 21.9517 70.098 21.9517C66.7459 21.9517 64.2001 19.5529 64.2001 16.0005C64.2001 12.448 66.7459 10.0483 70.098 10.0483C73.8687 10.0483 76.3185 12.577 76.3185 16.0005ZM82.116 24.0002V0H85.0175V24.0002H82.116ZM104.001 17.1214C104.001 11.8408 101.326 7.52051 95.7513 7.52051C90.8846 7.52051 87.1139 11.3943 87.1139 16.0014C87.1139 20.6084 90.8846 24.4813 95.7513 24.4813C99.6189 24.4813 102.486 22.0488 103.582 19.5846H100.456C99.2962 21.3445 97.7496 22.2413 95.7513 22.2413C92.8508 22.2413 90.5299 20.2245 90.0793 17.1214H104.001ZM95.7513 9.76052C98.8446 9.76052 101.101 12.2565 101.101 14.8814H90.0793C90.5299 11.7811 92.8508 9.76052 95.7513 9.76052Z" fill="#FCFCFC"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB