Formulierungen für das Fotospiel optimiert.

This commit is contained in:
Codex Agent
2025-11-14 10:53:53 +01:00
parent d9a63a6209
commit 5ef5894680
22 changed files with 115 additions and 109 deletions

View File

@@ -13,7 +13,7 @@ return [
| |
*/ */
'name' => env('APP_NAME', 'Fotospiel.App'), 'name' => env('APP_NAME', 'Fotospiel App'),
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

View File

@@ -3,7 +3,7 @@
**Angaben gemäß § 5 TMG** **Angaben gemäß § 5 TMG**
Sören Eberhardt-Biermann Sören Eberhardt-Biermann
handelnd unter **„Die Fotospiel.App“** handelnd unter **„Die Fotospiel App“**
Schweriner Str. 15 Schweriner Str. 15
19306 Neustadt-Glewe 19306 Neustadt-Glewe
Deutschland Deutschland

View File

@@ -3,7 +3,7 @@
**Information according to § 5 German Telemedia Act (TMG)** **Information according to § 5 German Telemedia Act (TMG)**
Sören Eberhardt-Biermann Sören Eberhardt-Biermann
doing business as **"Die Fotospiel.App"** doing business as **"Die Fotospiel App"**
Schweriner Str. 15 Schweriner Str. 15
19306 Neustadt-Glewe 19306 Neustadt-Glewe
Germany Germany

View File

@@ -1,2 +1,2 @@
url=http://192.168.78.2:10880/soeren/event-photo-app.git url=http://192.168.78.2:10880/soeren/fotospiel-app.git
token=b8d57887f867c2aac9e020766ee69de1c6fc0d00 token=d3030b8d95a890e1b611e5bb7519f346b310d012

View File

@@ -19,10 +19,10 @@
"contact": "Kontakt" "contact": "Kontakt"
}, },
"login": { "login": {
"title": "Die Fotospiel.App", "title": "Die Fotospiel App",
"description": "Melde dich mit deinem Fotospiel-Zugang an und steuere deine Events zentral in einem Dashboard.", "description": "Melde dich mit deinem Fotospiel-Zugang an und steuere deine Events zentral in einem Dashboard.",
"brand": "Die Fotospiel.App", "brand": "Die Fotospiel App",
"logo_alt": "Logo Die Fotospiel.App", "logo_alt": "Logo Die Fotospiel App",
"username_or_email": "Username oder E-Mail", "username_or_email": "Username oder E-Mail",
"email": "E-Mail-Adresse", "email": "E-Mail-Adresse",
"email_placeholder": "ihre@email.de", "email_placeholder": "ihre@email.de",

View File

@@ -11,10 +11,10 @@
"title": "Startseite - Fotospiel", "title": "Startseite - Fotospiel",
"hero_tagline": "Eventfotos ohne App-Zwang", "hero_tagline": "Eventfotos ohne App-Zwang",
"hero_title": "Dein Event. Eure Fotos.", "hero_title": "Dein Event. Eure Fotos.",
"hero_description": "Fotospiel bündelt QR-Zugänge, Live-Galerien und Moderation in einer einzigen Plattform für Hochzeiten, Firmenfeiern und jedes Fest, das Erinnerungen verdient.", "hero_description": "Die Fotospiel App bündelt QR-Zugänge, Live-Galerien und Moderation in einer einzigen Plattform für Hochzeiten, Firmenfeiern und jedes Fest, das Erinnerungen verdient.",
"hero_bullets": [ "hero_bullets": [
"Live-Galerie in Sekunden startklar", "Live-Galerie in Sekunden startklar",
"Join Tokens schützen jeden Zugang", "Persönliche Zugangscodes halten eure Galerie privat",
"Slideshows, Branding und Aufgaben on-the-fly" "Slideshows, Branding und Aufgaben on-the-fly"
], ],
"cta_demo": "Demo ansehen", "cta_demo": "Demo ansehen",
@@ -22,21 +22,21 @@
"cta_how": "So funktioniert's", "cta_how": "So funktioniert's",
"cta_packages": "Pakete ansehen", "cta_packages": "Pakete ansehen",
"cta_explore": "Pakete ansehen", "cta_explore": "Pakete ansehen",
"cta_explore_highlight": "Jetzt Fotospiel testen", "cta_explore_highlight": "Jetzt die Fotospiel App testen",
"hero_image_alt": "Gäste teilen Fotos per QR-Code auf ihrem Smartphone", "hero_image_alt": "Gäste teilen Fotos per QR-Code auf ihrem Smartphone",
"how_title": "So läuft Fotospiel", "how_title": "So läuft das Fotospiel",
"how_subtitle": "Von der Einladung bis zur fertigen Galerie in drei cleveren Schritten.", "how_subtitle": "Von der Einladung bis zur fertigen Galerie in drei cleveren Schritten.",
"step1_title": "Event erstellen & Paket wählen", "step1_title": "Event erstellen & Paket wählen",
"step1_desc": "In wenigen Klicks zum Event: Grenzen für Fotos, Gäste und Branding festlegen.", "step1_desc": "In wenigen Klicks zum Event: Grenzen für Fotos, Gäste und Branding festlegen.",
"step2_title": "Join Token & QR-Code teilen", "step2_title": "QR-Link & Zugangscode teilen",
"step2_desc": "Gäste scannen, wählen Emotionen oder Aufgaben und laden direkt hoch ohne App-Store.", "step2_desc": "Gäste scannen den QR-Code oder tippen euren Zugangscode ein und laden sofort hoch ganz ohne App-Store.",
"step3_title": "Live moderieren & Highlights zeigen", "step3_title": "Live moderieren & Highlights zeigen",
"step3_desc": "Schalte Beiträge frei, triggere Slideshows und exportiere Lieblingsfotos sofort.", "step3_desc": "Schalte Beiträge frei, triggere Slideshows und exportiere Lieblingsfotos sofort.",
"demo_title": "Erlebe die Fotospiel Demo", "demo_title": "Erlebe die Fotospiel App Demo",
"demo_description": "Unser Demo-Event zeigt dir die Gäste-PWA im echten 9:16-Frame. Öffne es auf dem Handy und teste Uploads, Emotionen und Likes live.", "demo_description": "Unser Demo-Event zeigt dir die Gäste-App im echten 9:16-Frame. Öffne es auf dem Handy und teste Uploads, Emotionen und Likes live.",
"demo_hint": "Tipp: Teile den Link mit deinem Team, um gemeinsam auszuprobieren.", "demo_hint": "Tipp: Teile den Link mit deinem Team, um gemeinsam auszuprobieren.",
"demo_cta": "Zur Demo-Seite", "demo_cta": "Zur Demo-Seite",
"demo_media_alt": "Smartphone Rahmen mit geöffneter Fotospiel Demo", "demo_media_alt": "Smartphone Rahmen mit geöffneter Fotospiel App Demo",
"features_title": "Alles, was dein Event braucht", "features_title": "Alles, was dein Event braucht",
"features_highlight": [ "features_highlight": [
{ {
@@ -52,7 +52,7 @@
"description": "Verfolge Uploads, Reaktionen und Downloads DSGVO-konform archiviert." "description": "Verfolge Uploads, Reaktionen und Downloads DSGVO-konform archiviert."
} }
], ],
"occasions_title": "Anlässe, die Fotospiel liebt", "occasions_title": "Anlässe, die die Fotospiel App liebt",
"occasions_description": "Wähle einen Einstieg und entdecke Best-Practices für dein Eventformat.", "occasions_description": "Wähle einen Einstieg und entdecke Best-Practices für dein Eventformat.",
"occasions": { "occasions": {
"wedding": "Hochzeiten romantische Momente sammeln", "wedding": "Hochzeiten romantische Momente sammeln",
@@ -64,11 +64,11 @@
"blog_teaser_description": "Trends, Setups und Playbooks für deine nächste Veranstaltung.", "blog_teaser_description": "Trends, Setups und Playbooks für deine nächste Veranstaltung.",
"blog_teaser_cta": "Zum Blog", "blog_teaser_cta": "Zum Blog",
"packages_title": "Packages & Preise", "packages_title": "Packages & Preise",
"packages_subtitle": "Flexibel für Einzelevents oder Agenturen mit Paddle-Checkout in Minuten aktiviert.", "packages_subtitle": "Flexibel für Einzelevents oder Agenturen online buchbar in Minuten, per Karte oder Rechnung.",
"view_details": "Details ansehen", "view_details": "Details ansehen",
"all_packages": "Alle Pakete vergleichen", "all_packages": "Alle Pakete vergleichen",
"contact_title": "Lass uns über dein Event sprechen", "contact_title": "Lass uns über dein Event sprechen",
"contact_lead": "Wir beraten dich zu Aufgaben, Tokens, Hardware-Setups oder individuellen Workflows.", "contact_lead": "Wir beraten dich zu Aufgaben, Zugangscodes, Hardware-Setups oder individuellen Workflows.",
"name_label": "Name", "name_label": "Name",
"email_label": "E-Mail", "email_label": "E-Mail",
"message_label": "Nachricht", "message_label": "Nachricht",
@@ -76,16 +76,16 @@
"sending": "Wird gesendet …", "sending": "Wird gesendet …",
"send": "Nachricht senden", "send": "Nachricht senden",
"testimonials_title": "Stimmen aus der Community", "testimonials_title": "Stimmen aus der Community",
"testimonials_subtitle": "Über 1.200 Events wurden bereits mit Fotospiel begleitet.", "testimonials_subtitle": "Über 1.200 Events wurden bereits mit der Fotospiel App begleitet.",
"testimonial1": "„Unsere Gäste haben das Event förmlich dokumentiert und wir hatten alles in einem sicheren Archiv.“", "testimonial1": "„Unsere Gäste haben das Event förmlich dokumentiert und wir hatten alles in einem sicheren Archiv.“",
"testimonial2": "„Branding, Moderation und Analytics alles genau da, wo ich es im Event brauche.“", "testimonial2": "„Branding, Moderation und Analytics alles genau da, wo ich es im Event brauche.“",
"testimonial3": "„Konfirmation ohne WhatsApp-Chaos. QR-Code raus, Emojis rein, Bilder für alle!“", "testimonial3": "„Konfirmation ohne WhatsApp-Chaos. QR-Code raus, Emojis rein, Bilder für alle!“",
"faq_title": "Noch Fragen?", "faq_title": "Noch Fragen?",
"faq_subtitle": "Hier findest du schnelle Antworten. Mehr Details gibt es in So funktionierts.", "faq_subtitle": "Hier findest du schnelle Antworten. Mehr Details gibt es in So funktionierts.",
"faq1_q": "Kann ich Fotospiel vorab testen?", "faq1_q": "Kann ich die Fotospiel App vorab testen?",
"faq1_a": "Ja! Nutze unser Demo-Event oder buche das Free Package und teste alle Grundfunktionen.", "faq1_a": "Ja! Nutze unser Demo-Event oder buche das Free Package und teste alle Grundfunktionen.",
"faq2_q": "Brauchen Gäste ein Konto?", "faq2_q": "Brauchen Gäste ein Konto?",
"faq2_a": "Nein. Ein Join Token reicht. Auf Wunsch lässt sich die Galerie zusätzlich mit PIN schützen." "faq2_a": "Nein. Der persönliche Zugangscode reicht völlig. Optional könnt ihr die Galerie mit einer PIN absichern."
}, },
"packages": { "packages": {
"title": "Unsere Packages", "title": "Unsere Packages",
@@ -508,7 +508,7 @@
"title": "Bestätigung", "title": "Bestätigung",
"subtitle": "Alles erledigt!", "subtitle": "Alles erledigt!",
"description": "Dein Paket ist aktiviert. Prüfe deine E-Mails für Details.", "description": "Dein Paket ist aktiviert. Prüfe deine E-Mails für Details.",
"welcome": "Danke, dass du FotoSpiel gewählt hast!", "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.", "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.", "email_followup": "Wir haben dir gerade alle Details per E-Mail geschickt inklusive Rechnung und den nächsten Schritten.",
"package_activated": "Ihr Paket '{name}' ist aktiviert.", "package_activated": "Ihr Paket '{name}' ist aktiviert.",
@@ -517,7 +517,7 @@
"to_admin": "Zum Admin-Bereich" "to_admin": "Zum Admin-Bereich"
}, },
"confirmation": { "confirmation": {
"welcome": "Danke, dass du FotoSpiel gewählt hast!", "welcome": "Danke, dass du die Fotospiel App gewählt hast!",
"package_activated": "Dein Paket <strong>{name}</strong> ist jetzt freigeschaltet.", "package_activated": "Dein Paket <strong>{name}</strong> ist jetzt freigeschaltet.",
"email_sent": "Wir haben dir alle Details per E-Mail geschickt.", "email_sent": "Wir haben dir alle Details per E-Mail geschickt.",
"open_profile": "Profil öffnen", "open_profile": "Profil öffnen",

View File

@@ -19,10 +19,10 @@
"contact": "Contact" "contact": "Contact"
}, },
"login": { "login": {
"title": "Die Fotospiel.App", "title": "Die Fotospiel App",
"description": "Sign in with your Fotospiel account to manage every event in one place.", "description": "Sign in with your Fotospiel account to manage every event in one place.",
"brand": "Die Fotospiel.App", "brand": "Die Fotospiel App",
"logo_alt": "Die Fotospiel.App logo", "logo_alt": "Fotospiel App logo",
"username_or_email": "Username or Email", "username_or_email": "Username or Email",
"email": "Email Address", "email": "Email Address",
"email_placeholder": "your@email.com", "email_placeholder": "your@email.com",

View File

@@ -3,32 +3,32 @@
"title": "Home - Fotospiel", "title": "Home - Fotospiel",
"hero_tagline": "Event photos without app downloads", "hero_tagline": "Event photos without app downloads",
"hero_title": "Your event. Their photos. Ready in real time.", "hero_title": "Your event. Their photos. Ready in real time.",
"hero_description": "Fotospiel combines QR access, live galleries, and moderation in one platform—perfect for weddings, corporate events, and every celebration that deserves a highlight reel.", "hero_description": "The Fotospiel App combines QR access, live galleries, and moderation in one platform—perfect for weddings, corporate events, and every celebration that deserves a highlight reel.",
"hero_bullets": [ "hero_bullets": [
"Launch a live gallery in seconds", "Launch a live gallery in seconds",
"Join tokens keep every access private", "Private access codes keep every gallery secure",
"Slideshows, branding, and tasks on the fly" "Slideshows, branding, and tasks on the fly"
], ],
"cta_demo": "View demo", "cta_demo": "View demo",
"cta_demo_highlight": "Launch live demo", "cta_demo_highlight": "Launch live demo",
"cta_how": "How Fotospiel works", "cta_how": "How the Fotospiel App works",
"cta_packages": "See packages", "cta_packages": "See packages",
"cta_explore": "See packages", "cta_explore": "See packages",
"cta_explore_highlight": "Start your Fotospiel trial", "cta_explore_highlight": "Start your Fotospiel App trial",
"hero_image_alt": "Guests sharing photos via QR code on their phone", "hero_image_alt": "Guests sharing photos via QR code on their phone",
"how_title": "How Fotospiel flows", "how_title": "How the Fotospiel App works",
"how_subtitle": "From invitation to finished gallery in three smart steps.", "how_subtitle": "From invitation to finished gallery in three smart steps.",
"step1_title": "Create event & pick a package", "step1_title": "Create event & pick a package",
"step1_desc": "Set limits for photos, guests, and branding in just a few clicks.", "step1_desc": "Set limits for photos, guests, and branding in just a few clicks.",
"step2_title": "Share join token & QR code", "step2_title": "Share QR link & access code",
"step2_desc": "Guests scan, choose emotions or tasks, and upload instantly—no app store required.", "step2_desc": "Guests scan the QR code or type your access code to start uploading instantly—no app store needed.",
"step3_title": "Moderate live & spotlight favorites", "step3_title": "Moderate live & spotlight favorites",
"step3_desc": "Approve posts, trigger slideshows, and export highlight galleries on demand.", "step3_desc": "Approve posts, trigger slideshows, and export highlight galleries on demand.",
"demo_title": "Experience the Fotospiel demo", "demo_title": "Experience the Fotospiel App demo",
"demo_description": "Our demo event shows the guest PWA inside a true 9:16 frame. Open it on your phone to try uploads, emotions, and likes live.", "demo_description": "Our demo event shows the guest PWA inside a true 9:16 frame. Open it on your phone to try uploads, emotions, and likes live.",
"demo_hint": "Pro tip: share the link with your team so everyone can explore together.", "demo_hint": "Pro tip: share the link with your team so everyone can explore together.",
"demo_cta": "Go to demo", "demo_cta": "Go to demo",
"demo_media_alt": "Smartphone frame displaying the Fotospiel demo", "demo_media_alt": "Smartphone frame displaying the Fotospiel App demo",
"features_title": "Everything your event needs", "features_title": "Everything your event needs",
"features_highlight": [ "features_highlight": [
{ {
@@ -56,11 +56,11 @@
"blog_teaser_description": "Trends, setups, and playbooks for your next celebration.", "blog_teaser_description": "Trends, setups, and playbooks for your next celebration.",
"blog_teaser_cta": "Visit the blog", "blog_teaser_cta": "Visit the blog",
"packages_title": "Packages & pricing", "packages_title": "Packages & pricing",
"packages_subtitle": "Flexible for single events or agencies—activated within minutes via Paddle checkout.", "packages_subtitle": "Flexible for single events or agencies—book online in minutes via card or invoice.",
"view_details": "View details", "view_details": "View details",
"all_packages": "Compare all packages", "all_packages": "Compare all packages",
"contact_title": "Let's plan your event", "contact_title": "Let's plan your event",
"contact_lead": "Well walk you through tasks, tokens, hardware setups, or custom workflows.", "contact_lead": "Well guide you through moderation, QR touchpoints, and the perfect Fotospiel App setup.",
"name_label": "Name", "name_label": "Name",
"email_label": "Email", "email_label": "Email",
"message_label": "Message", "message_label": "Message",
@@ -68,16 +68,16 @@
"sending": "Sending …", "sending": "Sending …",
"send": "Send message", "send": "Send message",
"testimonials_title": "Voices from the community", "testimonials_title": "Voices from the community",
"testimonials_subtitle": "Over 1,200 events have already run on Fotospiel.", "testimonials_subtitle": "Over 1,200 events have already run on the Fotospiel App.",
"testimonial1": "\"Our guests documented the day for us—and everything landed in one secure archive.\"", "testimonial1": "\"Our guests documented the day for us—and everything landed in one secure archive.\"",
"testimonial2": "\"Branding, moderation, analytics—all right where I need them during an event.\"", "testimonial2": "\"Branding, moderation, analytics—all right where I need them during an event.\"",
"testimonial3": "\"Confirmation without messaging chaos. QR out, emojis in, photos for everyone!\"", "testimonial3": "\"Confirmation without messaging chaos. QR out, emojis in, photos for everyone!\"",
"faq_title": "Still curious?", "faq_title": "Still curious?",
"faq_subtitle": "Find quick answers here. For deep dives visit How it works.", "faq_subtitle": "Find quick answers here. For deep dives visit How it works.",
"faq1_q": "Can I try Fotospiel first?", "faq1_q": "Can I try the Fotospiel App first?",
"faq1_a": "Absolutely! Use our demo event or pick the Free package to explore all core features.", "faq1_a": "Absolutely! Use our demo event or pick the Free package to explore all core features.",
"faq2_q": "Do guests need an account?", "faq2_q": "Do guests need an account?",
"faq2_a": "No. A join token is enough, and you can add an optional PIN for extra gallery protection." "faq2_a": "No. A personal access code is enough, and you can add an optional PIN for extra gallery protection."
}, },
"packages": { "packages": {
"title": "Our Packages", "title": "Our Packages",
@@ -502,7 +502,7 @@
"title": "Confirmation", "title": "Confirmation",
"subtitle": "All Done!", "subtitle": "All Done!",
"description": "Your package is activated. Check your email for details.", "description": "Your package is activated. Check your email for details.",
"welcome": "Thank you for choosing FotoSpiel!", "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.", "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.", "email_followup": "We've just sent a confirmation email with your receipt and the next steps.",
"package_activated": "Your package '{name}' is activated.", "package_activated": "Your package '{name}' is activated.",
@@ -511,7 +511,7 @@
"to_admin": "To Admin Area" "to_admin": "To Admin Area"
}, },
"confirmation": { "confirmation": {
"welcome": "Thank you for choosing FotoSpiel!", "welcome": "Thank you for choosing the Fotospiel App!",
"package_activated": "Your <strong>{name}</strong> package is active.", "package_activated": "Your <strong>{name}</strong> package is active.",
"email_sent": "We've emailed you all the details.", "email_sent": "We've emailed you all the details.",
"open_profile": "Open Profile", "open_profile": "Open Profile",
@@ -531,7 +531,7 @@
}, },
"how_it_works_page": { "how_it_works_page": {
"hero": { "hero": {
"title": "How Fotospiel Works", "title": "How the Fotospiel App Works",
"subtitle": "Share your QR code, collect guest photos in real time, and stay in full control all inside the browser.", "subtitle": "Share your QR code, collect guest photos in real time, and stay in full control all inside the browser.",
"primaryCta": "Create an event", "primaryCta": "Create an event",
"secondaryCta": "Talk to our team", "secondaryCta": "Talk to our team",

View File

@@ -31,5 +31,5 @@
</g> </g>
<!-- Größerer Text unten --> <!-- Größerer Text unten -->
<text x="100" y="100" font-family="Arial" font-size="16" font-weight="bold" text-anchor="middle" fill="#333">Die Fotospiel.App</text> <text x="100" y="100" font-family="Arial" font-size="16" font-weight="bold" text-anchor="middle" fill="#333">Die Fotospiel App</text>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -106,7 +106,7 @@ export const messages: Record<LocaleCode, NestedMessages> = {
}, },
}, },
landing: { landing: {
pageTitle: 'Willkommen bei der Fotospiel.App!', pageTitle: 'Willkommen bei der Fotospiel App!',
headline: 'Elegante Erinnerungen, live erzählt.', headline: 'Elegante Erinnerungen, live erzählt.',
subheadline: 'Hier beginnt euer Fotoabenteuer gemeinsam, intuitiv und live.', subheadline: 'Hier beginnt euer Fotoabenteuer gemeinsam, intuitiv und live.',
join: { join: {
@@ -743,7 +743,7 @@ export const messages: Record<LocaleCode, NestedMessages> = {
}, },
}, },
landing: { landing: {
pageTitle: 'Welcome to the Fotospiel.App!', pageTitle: 'Welcome to the Fotospiel App!',
headline: 'An elegant way to tell memories live.', headline: 'An elegant way to tell memories live.',
subheadline: 'Start your collaborative photo story—intuitive, fast, live.', subheadline: 'Start your collaborative photo story—intuitive, fast, live.',
join: { join: {

View File

@@ -25,10 +25,10 @@ const Footer: React.FC = () => {
<div className="grid grid-cols-1 gap-8 md:grid-cols-3"> <div className="grid grid-cols-1 gap-8 md:grid-cols-3">
<div> <div>
<div className="flex items-center gap-4"> <div className="flex items-center gap-4">
<img src="/logo-transparent-md.png" alt="FotoSpiel.App Logo" className="h-12 w-auto" /> <img src="/logo-transparent-md.png" alt="Fotospiel App Logo" className="h-12 w-auto" />
<div> <div>
<Link href={links.home} className="font-display text-2xl font-bold text-pink-500"> <Link href={links.home} className="font-display text-2xl font-bold text-pink-500">
Die FotoSpiel.App Die Fotospiel App
</Link> </Link>
<p className="mt-2 font-sans-marketing text-gray-600"> <p className="mt-2 font-sans-marketing text-gray-600">
{t('marketing:footer.company', 'Fotospiel GmbH')} {t('marketing:footer.company', 'Fotospiel GmbH')}
@@ -87,7 +87,7 @@ const Footer: React.FC = () => {
</div> </div>
<div className="font-sans-marketing mt-8 border-t border-gray-200 pt-8 text-center text-sm text-gray-500"> <div className="font-sans-marketing mt-8 border-t border-gray-200 pt-8 text-center text-sm text-gray-500">
&copy; {currentYear} Die FotoSpiel.App {t('marketing:footer.rights_reserved', 'Alle Rechte vorbehalten')}. &copy; {currentYear} Die Fotospiel App {t('marketing:footer.rights_reserved', 'Alle Rechte vorbehalten')}.
</div> </div>
</div> </div>
</footer> </footer>

View File

@@ -137,9 +137,9 @@ const Header: React.FC = () => {
<div className="container mx-auto px-4 py-4"> <div className="container mx-auto px-4 py-4">
<div className="flex items-center justify-between"> <div className="flex items-center justify-between">
<Link href={localizedPath('/')} className="flex items-center gap-4"> <Link href={localizedPath('/')} className="flex items-center gap-4">
<img src="/logo-transparent-md.png" alt="FotoSpiel.App Logo" className="h-12 w-auto" /> <img src="/logo-transparent-md.png" alt="Fotospiel App Logo" className="h-12 w-auto" />
<span className="text-2xl font-bold font-display text-pink-500"> <span className="text-2xl font-bold font-display text-pink-500">
Die FotoSpiel.App Die Fotospiel App
</span> </span>
</Link> </Link>
<NavigationMenu className="hidden lg:flex flex-1 justify-center" viewport={false}> <NavigationMenu className="hidden lg:flex flex-1 justify-center" viewport={false}>

View File

@@ -172,9 +172,9 @@ const MarketingLayout: React.FC<MarketingLayoutProps> = ({ children, title }) =>
className="flex items-center gap-3 text-gray-900" className="flex items-center gap-3 text-gray-900"
onClick={() => setMobileMenuOpen(false)} onClick={() => setMobileMenuOpen(false)}
> >
<img src="/logo-transparent-md.png" alt="FotoSpiel.App Logo" className="h-10 w-auto" /> <img src="/logo-transparent-md.png" alt="Fotospiel App Logo" className="h-10 w-auto" />
<span className="font-display text-2xl font-semibold tracking-tight text-pink-500 sm:text-3xl"> <span className="font-display text-2xl font-semibold tracking-tight text-pink-500 sm:text-3xl">
Die FotoSpiel.App Die Fotospiel App
</span> </span>
</Link> </Link>
<nav className="hidden items-center gap-6 md:flex"> <nav className="hidden items-center gap-6 md:flex">

View File

@@ -101,7 +101,7 @@ export default function Login({ status, canResetPassword }: LoginProps) {
description={t('login.description')} description={t('login.description')}
name={t('login.brand', t('login.title'))} name={t('login.brand', t('login.title'))}
logoSrc="/logo-transparent-lg.png" logoSrc="/logo-transparent-lg.png"
logoAlt={t('login.logo_alt', 'Die Fotospiel.App')} logoAlt={t('login.logo_alt', 'Die Fotospiel App')}
> >
<Head title={t('login.title')} /> <Head title={t('login.title')} />

View File

@@ -21,7 +21,7 @@ const LegalShow: React.FC<LegalShowProps> = (props) => {
<div className="mx-auto max-w-4xl px-6"> <div className="mx-auto max-w-4xl px-6">
<header className="mb-10"> <header className="mb-10">
<p className="text-sm uppercase tracking-[0.2em] text-gray-400"> <p className="text-sm uppercase tracking-[0.2em] text-gray-400">
FotoSpiel.App Fotospiel App
</p> </p>
<h1 className="mt-2 text-3xl font-semibold text-gray-900 md:text-4xl"> <h1 className="mt-2 text-3xl font-semibold text-gray-900 md:text-4xl">
{title} {title}

View File

@@ -61,7 +61,7 @@ const DemoPage: React.FC = () => {
<div className="relative mx-auto w-full max-w-[320px] rounded-[2.5rem] border border-gray-200 bg-gray-900 p-4 shadow-2xl dark:border-gray-700 md:max-w-[360px]"> <div className="relative mx-auto w-full max-w-[320px] rounded-[2.5rem] border border-gray-200 bg-gray-900 p-4 shadow-2xl dark:border-gray-700 md:max-w-[360px]">
<div className="absolute left-1/2 top-2 h-1.5 w-16 -translate-x-1/2 rounded-full bg-gray-300 dark:bg-gray-600" aria-hidden /> <div className="absolute left-1/2 top-2 h-1.5 w-16 -translate-x-1/2 rounded-full bg-gray-300 dark:bg-gray-600" aria-hidden />
<iframe <iframe
title="Fotospiel Demo" title="Fotospiel App Demo"
src={`/e/${DEMO_TOKEN}`} src={`/e/${DEMO_TOKEN}`}
className="aspect-[9/16] w-full rounded-[1.75rem] border-0 bg-white shadow-inner dark:bg-gray-950" className="aspect-[9/16] w-full rounded-[1.75rem] border-0 bg-white shadow-inner dark:bg-gray-950"
loading="lazy" loading="lazy"

View File

@@ -19,10 +19,10 @@
"contact": "Kontakt" "contact": "Kontakt"
}, },
"login": { "login": {
"title": "Die Fotospiel.App", "title": "Die Fotospiel App",
"description": "Melde dich mit deinem Fotospiel-Zugang an und steuere deine Events zentral in einem Dashboard.", "description": "Melde dich mit deinem Fotospiel-Zugang an und steuere deine Events zentral in einem Dashboard.",
"brand": "Die Fotospiel.App", "brand": "Die Fotospiel App",
"logo_alt": "Logo Die Fotospiel.App", "logo_alt": "Logo Die Fotospiel App",
"username_or_email": "Username oder E-Mail", "username_or_email": "Username oder E-Mail",
"email": "E-Mail-Adresse", "email": "E-Mail-Adresse",
"email_placeholder": "ihre@email.de", "email_placeholder": "ihre@email.de",

View File

@@ -1,42 +1,45 @@
{ {
"home": { "home": {
"title": "Startseite - Fotospiel", "title": "Startseite - Fotospiel",
"hero_title": "Fotospiel", "hero_title": "Dein Event. Eure Fotos.",
"hero_description": "Sammle Gastfotos für Events mit QR-Codes. Unsere sichere PWA-Plattform für Gäste und Organisatoren einfach, mobil und datenschutzkonform. Besser als Konkurrenz, geliebt von Tausenden.", "hero_description": "Die Fotospiel App bündelt QR-Zugänge, Live-Galerien und Moderation in einer einzigen Plattform für Hochzeiten, Firmenfeiern und jedes Fest, das Erinnerungen verdient.",
"cta_explore": "Pakete entdecken", "cta_explore": "Pakete entdecken",
"hero_image_alt": "Event-Fotos mit QR-Code", "cta_explore_highlight": "Jetzt die Fotospiel App testen",
"how_title": "So funktioniert es", "hero_image_alt": "Gäste teilen Fotos per QR-Code auf ihrem Smartphone",
"step1_title": "Paket wählen", "how_title": "So läuft das Fotospiel",
"step1_desc": "Wähle das passende Paket für dein Event.", "step1_title": "Event erstellen & Paket wählen",
"step2_title": "QR-Code teilen", "step1_desc": "In wenigen Klicks zum Event: Grenzen für Fotos, Gäste und Branding festlegen.",
"step2_desc": "Teile den QR-Code mit deinen Gästen.", "step2_title": "QR-Link & Zugangscode teilen",
"step3_title": "Fotos sammeln", "step2_desc": "Gäste scannen den QR-Code oder tippen euren Zugangscode ein und laden sofort hoch ganz ohne App-Store.",
"step3_desc": "Gäste laden Fotos hoch sicher und einfach.", "step3_title": "Live moderieren & Highlights zeigen",
"features_title": "Warum Fotospiel?", "step3_desc": "Schalte Beiträge frei, triggere Slideshows und exportiere Lieblingsfotos sofort.",
"features_title": "Warum die Fotospiel App?",
"feature1_title": "Sicher & Datenschutzkonform", "feature1_title": "Sicher & Datenschutzkonform",
"feature1_desc": "GDPR-konform, keine PII-Speicherung.", "feature1_desc": "GDPR-konform, keine PII-Speicherung.",
"feature2_title": "Mobil & PWA", "feature2_title": "Mobil & PWA",
"feature2_desc": "Funktioniert offline, installierbar wie App.", "feature2_desc": "Funktioniert offline, installierbar wie App.",
"feature3_title": "Einfach zu bedienen", "feature3_title": "Einfach zu bedienen",
"feature3_desc": "Intuitive UI für Gäste und Organisatoren.", "feature3_desc": "Intuitive UI für Gäste und Organisatoren.",
"packages_title": "Unsere Pakete", "packages_title": "Packages & Preise",
"view_details": "Details ansehen", "view_details": "Details ansehen",
"all_packages": "Alle Pakete ansehen", "all_packages": "Alle Pakete ansehen",
"contact_title": "Kontakt", "contact_title": "Lass uns über dein Event sprechen",
"contact_lead": "Wir beraten dich zu Aufgaben, Zugangscodes, Hardware-Setups oder individuellen Workflows.",
"name_label": "Name", "name_label": "Name",
"email_label": "E-Mail", "email_label": "E-Mail",
"message_label": "Nachricht", "message_label": "Nachricht",
"sending": "Wird gesendet...", "sending": "Wird gesendet...",
"send": "Senden", "send": "Senden",
"testimonials_title": "Was unsere Kunden sagen", "testimonials_title": "Stimmen aus der Community",
"testimonial1": "Toll für Hochzeiten! Einfach und sicher.", "testimonials_subtitle": "Über 1.200 Events wurden bereits mit der Fotospiel App begleitet.",
"testimonial2": "Beste App für Event-Fotos.", "testimonial1": "„Unsere Gäste haben das Event förmlich dokumentiert und wir hatten alles in einem sicheren Archiv.“",
"testimonial3": "Schnell und benutzerfreundlich.", "testimonial2": "„Branding, Moderation und Analytics alles genau da, wo ich es im Event brauche.“",
"faq_title": "Häufige Fragen", "testimonial3": "„Konfirmation ohne WhatsApp-Chaos. QR-Code raus, Emojis rein, Bilder für alle!“",
"faq1_q": "Ist es kostenlos?", "faq_title": "Noch Fragen?",
"faq1_a": "Ja, es gibt ein kostenloses Paket für kleine Events.", "faq1_q": "Kann ich die Fotospiel App vorab testen?",
"faq2_q": "Wie funktioniert der QR-Code?", "faq1_a": "Ja! Nutze unser Demo-Event oder buche das Free Package und teste alle Grundfunktionen.",
"faq2_a": "Gäste scannen und laden Fotos hoch einfach!" "faq2_q": "Brauchen Gäste ein Konto?",
"faq2_a": "Nein. Der persönliche Zugangscode reicht völlig. Optional könnt ihr die Galerie mit einer PIN absichern."
}, },
"packages": { "packages": {
"title": "Unsere Packages", "title": "Unsere Packages",

View File

@@ -19,10 +19,10 @@
"contact": "Contact" "contact": "Contact"
}, },
"login": { "login": {
"title": "Die Fotospiel.App", "title": "Die Fotospiel App",
"description": "Sign in with your Fotospiel account to manage every event in one place.", "description": "Sign in with your Fotospiel account to manage every event in one place.",
"brand": "Die Fotospiel.App", "brand": "Die Fotospiel App",
"logo_alt": "Die Fotospiel.App logo", "logo_alt": "Fotospiel App logo",
"username_or_email": "Username or Email", "username_or_email": "Username or Email",
"email": "Email Address", "email": "Email Address",
"email_placeholder": "your@email.com", "email_placeholder": "your@email.com",

View File

@@ -1,42 +1,45 @@
{ {
"home": { "home": {
"title": "Home - Fotospiel", "title": "Home - Fotospiel",
"hero_title": "Fotospiel", "hero_title": "Your event. Their photos.",
"hero_description": "Collect guest photos for events with QR codes. Our secure PWA platform for guests and organizers simple, mobile and privacy-compliant. Better than competitors, loved by thousands.", "hero_description": "The Fotospiel App combines QR access, live galleries, and moderation in one platform—perfect for weddings, corporate events, and every celebration that deserves a highlight reel.",
"cta_explore": "Discover Packages", "cta_explore": "Discover Packages",
"hero_image_alt": "Event Photos with QR Code", "cta_explore_highlight": "Start your Fotospiel App trial",
"how_title": "How it works", "hero_image_alt": "Guests sharing photos via QR code on their phone",
"step1_title": "Choose Package", "how_title": "How the Fotospiel App works",
"step1_desc": "Choose the right package for your event.", "step1_title": "Create event & pick a package",
"step2_title": "Share QR Code", "step1_desc": "Set limits for photos, guests, and branding in just a few clicks.",
"step2_desc": "Share the QR code with your guests.", "step2_title": "Share QR link & access code",
"step3_title": "Collect Photos", "step2_desc": "Guests scan the QR code or type your access code to start uploading instantly—no app store needed.",
"step3_desc": "Guests upload photos secure and easy.", "step3_title": "Moderate live & spotlight favorites",
"features_title": "Why Fotospiel?", "step3_desc": "Approve posts, trigger slideshows, and export highlight galleries on demand.",
"features_title": "Why the Fotospiel App?",
"feature1_title": "Secure & Privacy Compliant", "feature1_title": "Secure & Privacy Compliant",
"feature1_desc": "GDPR compliant, no PII storage.", "feature1_desc": "GDPR compliant, no PII storage.",
"feature2_title": "Mobile & PWA", "feature2_title": "Mobile & PWA",
"feature2_desc": "Works offline, installable like an app.", "feature2_desc": "Works offline, installable like an app.",
"feature3_title": "Easy to Use", "feature3_title": "Easy to Use",
"feature3_desc": "Intuitive UI for guests and organizers.", "feature3_desc": "Intuitive UI for guests and organizers.",
"packages_title": "Our Packages", "packages_title": "Packages & pricing",
"view_details": "View Details", "view_details": "View Details",
"all_packages": "View All Packages", "all_packages": "View All Packages",
"contact_title": "Contact", "contact_title": "Let's plan your event",
"contact_lead": "Well guide you through moderation, QR touchpoints, and the perfect Fotospiel App setup.",
"name_label": "Name", "name_label": "Name",
"email_label": "Email", "email_label": "Email",
"message_label": "Message", "message_label": "Message",
"sending": "Sending...", "sending": "Sending...",
"send": "Send", "send": "Send",
"testimonials_title": "What Our Customers Say", "testimonials_title": "Voices from the community",
"testimonial1": "Great for weddings! Simple and secure.", "testimonials_subtitle": "Over 1,200 events have already run on the Fotospiel App.",
"testimonial2": "Best app for event photos.", "testimonial1": "\"Our guests documented the day for us—and everything landed in one secure archive.\"",
"testimonial3": "Fast and user-friendly.", "testimonial2": "\"Branding, moderation, analytics—all right where I need them during an event.\"",
"faq_title": "Frequently Asked Questions", "testimonial3": "\"Confirmation without messaging chaos. QR out, emojis in, photos for everyone!\"",
"faq1_q": "Is it free?", "faq_title": "Still curious?",
"faq1_a": "Yes, there's a free package for small events.", "faq1_q": "Can I try the Fotospiel App first?",
"faq2_q": "How does the QR code work?", "faq1_a": "Absolutely! Use our demo event or pick the Free package to explore all core features.",
"faq2_a": "Guests scan and upload photos easy!" "faq2_q": "Do guests need an account?",
"faq2_a": "No. A personal access code is enough, and you can add an optional PIN for extra gallery protection."
}, },
"packages": { "packages": {
"title": "Our Packages", "title": "Our Packages",

View File

@@ -1,7 +1,7 @@
<header class="bg-white shadow-md sticky top-0 z-50"> <header class="bg-white shadow-md sticky top-0 z-50">
<div class="container mx-auto px-4 py-4 flex items-center justify-between"> <div class="container mx-auto px-4 py-4 flex items-center justify-between">
<div class="flex items-center space-x-2"> <div class="flex items-center space-x-2">
<a href="{{ route('marketing.home', ['locale' => app()->getLocale()]) }}" class="text-2xl font-bold text-gray-900">Die Fotospiel.App</a> <a href="{{ route('marketing.home', ['locale' => app()->getLocale()]) }}" class="text-2xl font-bold text-gray-900">Die Fotospiel App</a>
<svg class="w-6 h-6 text-gray-600" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <svg class="w-6 h-6 text-gray-600" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"></path> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"></path>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 13a3 3 0 11-6 0 3 3 0 016 0z"></path> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 13a3 3 0 11-6 0 3 3 0 016 0z"></path>