Migrate billing from Paddle to Lemon Squeezy

This commit is contained in:
Codex Agent
2026-02-03 10:59:54 +01:00
parent 2f4ebfefd4
commit a0ef90e13a
228 changed files with 4369 additions and 4067 deletions

View File

@@ -11,14 +11,14 @@
"contact": "Kontakt",
"vat_id": "Umsatzsteuer-ID: DE123456789",
"monetization": "Monetarisierung",
"monetization_desc": "Wir monetarisieren über Packages (Einmalkäufe und Abos) via Paddle. Preise exkl. MwSt. Support: support@fotospiel.de",
"monetization_desc": "Wir monetarisieren über Packages (Einmalkäufe und Abos) via Lemon Squeezy. Preise exkl. MwSt. Support: support@fotospiel.de",
"register_court": "Registergericht: Amtsgericht Musterstadt",
"commercial_register": "Handelsregister: HRB 12345",
"datenschutz_intro": "Wir nehmen den Schutz Ihrer persönlichen Daten sehr ernst und halten uns strikt an die Regeln der Datenschutzgesetze.",
"responsible": "Verantwortlich: S.E.B. Fotografie, Musterstraße 1, 12345 Musterstadt",
"data_collection": "Datenerfassung: Keine PII-Speicherung, anonyme Sessions für Gäste. E-Mails werden nur für Kontaktzwecke verarbeitet.",
"payments": "Zahlungen und Packages",
"payments_desc": "Wir verarbeiten Zahlungen für Packages über Paddle. Zahlungsdaten werden als Merchant of Record sicher und verschlüsselt durch Paddle verarbeitet.",
"payments_desc": "Wir verarbeiten Zahlungen für Packages über Lemon Squeezy. Zahlungsdaten werden als Merchant of Record sicher und verschlüsselt durch Lemon Squeezy verarbeitet.",
"data_retention": "Package-Daten (Limits, Features) sind anonymisiert und werden nur für die Funktionalität benötigt. Consent für Zahlungen und E-Mails wird bei Kauf eingeholt. Daten werden nach 10 Jahren gelöscht.",
"rights": "Ihre Rechte: Auskunft, Löschung, Widerspruch.",
"cookies": "Cookies: Nur funktionale Cookies für die PWA.",

View File

@@ -146,7 +146,7 @@
"faq_q3": "Was passiert bei Ablauf?",
"faq_a3": "Die Galerie bleibt lesbar, aber Uploads sind blockiert. Verlängern Sie einfach.",
"faq_q4": "Zahlungssicher?",
"faq_a4": "Ja, via Paddle sicher und GDPR-konform.",
"faq_a4": "Ja, via Lemon Squeezy sicher und GDPR-konform.",
"final_cta": "Bereit für Ihr nächstes Event?",
"contact_us": "Kontaktieren Sie uns",
"feature_live_slideshow": "Live-Slideshow",
@@ -179,7 +179,7 @@
"billing_per_kontingent": "pro Kontingent",
"more_features": "+{{count}} weitere Features",
"feature_overview": "Feature-Überblick",
"order_hint": "Sofort startklar keine versteckten Kosten, sichere Zahlung über Paddle.",
"order_hint": "Sofort startklar keine versteckten Kosten, sichere Zahlung über Lemon Squeezy.",
"features_label": "Features",
"feature_highlights": "Feature-Highlights",
"detail_labels": {
@@ -362,8 +362,8 @@
"euro": "€"
},
"feature": "Feature",
"paddle_not_configured": "Dieses Package ist noch nicht für den Paddle-Checkout konfiguriert. Bitte kontaktiere den Support.",
"paddle_checkout_failed": "Der Paddle-Checkout konnte nicht gestartet werden. Bitte versuche es später erneut.",
"lemonsqueezy_not_configured": "Dieses Package ist noch nicht für den Lemon Squeezy-Checkout konfiguriert. Bitte kontaktiere den Support.",
"lemonsqueezy_checkout_failed": "Der Lemon Squeezy-Checkout konnte nicht gestartet werden. Bitte versuche es später erneut.",
"gift_cta": "Paket verschenken"
},
"blog": {
@@ -685,24 +685,24 @@
"free_package_desc": "Dieses Paket ist kostenlos. Wir aktivieren es direkt nach der Bestätigung.",
"activate_package": "Paket aktivieren",
"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",
"secure_payment_desc": "Sichere Zahlung über Lemon Squeezy.",
"lemonsqueezy_intro": "Starte den Lemon Squeezy-Checkout direkt hier im Wizard ganz ohne Seitenwechsel.",
"guided_title": "Sichere Zahlung mit Lemon Squeezy unserem geprüften Partner",
"guided_body": "Wir führen dich Schritt für Schritt durch den Bezahlprozess. Lemon Squeezy wickelt den Kauf als Merchant of Record ab und sorgt dafür, dass Steuern und Rechnungen automatisch korrekt erstellt werden.",
"lemonsqueezy_partner": "Powered by Lemon Squeezy",
"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",
"guided_cta_hint": "Lemon Squeezy 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.",
"paddle_error": "Der Paddle-Checkout konnte nicht gestartet werden. Bitte versuche es erneut.",
"paddle_not_ready": "Der Paddle-Checkout ist noch nicht bereit. Bitte versuche es in einem Moment erneut.",
"paddle_not_configured": "Dieses Paket ist noch nicht für den Paddle-Checkout konfiguriert. Bitte kontaktiere den Support.",
"paddle_disclaimer": "Paddle wickelt Zahlungen als Merchant of Record ab. Steuern werden automatisch anhand deiner Rechnungsdaten berechnet.",
"pay_with_paddle": "Weiter mit Paddle",
"lemonsqueezy_preparing": "Lemon Squeezy-Checkout wird vorbereitet…",
"lemonsqueezy_overlay_ready": "Der Lemon Squeezy-Checkout läuft jetzt in einem Overlay. Schließe die Zahlung dort ab und kehre anschließend hierher zurück.",
"lemonsqueezy_ready": "Lemon Squeezy-Checkout wurde in einem neuen Tab geöffnet. Schließe die Zahlung dort ab und kehre dann hierher zurück.",
"lemonsqueezy_error": "Der Lemon Squeezy-Checkout konnte nicht gestartet werden. Bitte versuche es erneut.",
"lemonsqueezy_not_ready": "Der Lemon Squeezy-Checkout ist noch nicht bereit. Bitte versuche es in einem Moment erneut.",
"lemonsqueezy_not_configured": "Dieses Paket ist noch nicht für den Lemon Squeezy-Checkout konfiguriert. Bitte kontaktiere den Support.",
"lemonsqueezy_disclaimer": "Lemon Squeezy wickelt Zahlungen als Merchant of Record ab. Steuern werden automatisch anhand deiner Rechnungsdaten berechnet.",
"pay_with_lemonsqueezy": "Weiter mit Lemon Squeezy",
"continue_after_payment": "Ich habe die Zahlung abgeschlossen",
"no_package_title": "Kein Paket ausgewählt",
"no_package_description": "Bitte wähle ein Paket, um zum Checkout zu gelangen.",
@@ -747,7 +747,7 @@
"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_body": "Wir haben deinen Zugang aktiviert und Lemon Squeezy 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.",
"status_title": "Bestellstatus",
"status_subtitle": "Wir schließen die Aktivierung ab und synchronisieren dein Konto.",
@@ -756,7 +756,7 @@
"completed": "Bestätigt",
"failed": "Aktion nötig"
},
"status_body_processing": "Wir synchronisieren dein Konto mit Paddle. Das kann einen Moment dauern.",
"status_body_processing": "Wir synchronisieren dein Konto mit Lemon Squeezy. Das kann einen Moment dauern.",
"status_body_completed": "Alles ist bereit. Dein Konto ist vollständig freigeschaltet.",
"status_body_failed": "Wir konnten den Kauf noch nicht bestätigen. Bitte prüfe den Status erneut oder kontaktiere den Support.",
"status_manual_hint": "Dauert es zu lange? Du kannst den Status erneut prüfen oder die Seite aktualisieren.",
@@ -765,7 +765,7 @@
"status_items": {
"payment": {
"title": "Zahlung bestätigt",
"body": "Deine Paddle-Zahlung war erfolgreich."
"body": "Deine Lemon Squeezy-Zahlung war erfolgreich."
},
"email": {
"title": "Beleg versendet",
@@ -870,7 +870,7 @@
"Co-Hosts für Moderation & Liveshow hinzufügen",
"Offline-Uploads werden automatisch nachgesendet",
"Photobooth Connect streamt Fotobox-Fotos (Windows, macOS & Linux)",
"Integrationen über Paddle-Abrechnung und RevenueCat für Apps"
"Integrationen über Lemon Squeezy-Abrechnung und RevenueCat für Apps"
]
},
"guest": {
@@ -918,7 +918,7 @@
"timeline": [
{
"title": "Event vorbereiten",
"body": "Account registrieren, Paket wählen und Branding setzen. Kontingente laufen über Paddle, Mobile-Apps über RevenueCat.",
"body": "Account registrieren, Paket wählen und Branding setzen. Kontingente laufen über Lemon Squeezy, Mobile-Apps über RevenueCat.",
"tips": [
"Testevent anlegen, um Upload-Flow vorab zu prüfen",
"Trauzeug:innen oder Kolleg:innen als Co-Hosts einladen"
@@ -1089,7 +1089,7 @@
},
{
"question": "Wie läuft die Bezahlung?",
"answer": "Web-Pakete werden über Paddle abgerechnet (inklusive Rechnung & Steuerhandling). Mobile Abos verwalten wir über RevenueCat."
"answer": "Web-Pakete werden über Lemon Squeezy abgerechnet (inklusive Rechnung & Steuerhandling). Mobile Abos verwalten wir über RevenueCat."
},
{
"question": "Welche Dateiformate sind erlaubt?",
@@ -1172,8 +1172,8 @@
"message_placeholder": "Ein kleines Geschenk für euer Event!",
"accept_terms": "Ich habe die Widerrufsbelehrung gelesen: 14 Tage Widerruf ab Kauf, erlischt mit (Teil-)Einlösung.",
"accept_terms_required": "Bitte bestätige den Hinweis zum Widerruf.",
"cta": "Weiter mit Paddle",
"processing": "Paddle-Checkout wird geöffnet …",
"cta": "Weiter mit Lemon Squeezy",
"processing": "Lemon Squeezy-Checkout wird geöffnet …",
"error_select_tier": "Bitte wähle einen Gutscheinbetrag.",
"error_purchaser_email": "Bitte gib eine gültige E-Mail ein.",
"error_recipient_email": "Bitte gib eine gültige Empfänger-E-Mail ein.",

View File

@@ -10,14 +10,14 @@
"contact": "Contact",
"vat_id": "VAT ID: DE123456789",
"monetization": "Monetization",
"monetization_desc": "We monetize through Packages (one-time purchases and subscriptions) via Paddle. Prices excl. VAT. Support: support@fotospiel.de",
"monetization_desc": "We monetize through Packages (one-time purchases and subscriptions) via Lemon Squeezy. Prices excl. VAT. Support: support@fotospiel.de",
"register_court": "Register Court: District Court Musterstadt",
"commercial_register": "Commercial Register: HRB 12345",
"datenschutz_intro": "We take the protection of your personal data very seriously and strictly adhere to the rules of data protection laws.",
"responsible": "Responsible: S.E.B. Fotografie, Musterstraße 1, 12345 Musterstadt",
"data_collection": "Data collection: No PII storage, anonymous sessions for guests. Emails are only processed for contact purposes.",
"payments": "Payments and Packages",
"payments_desc": "We process payments for Packages via Paddle. Payment data is handled securely and encrypted by Paddle as the merchant of record.",
"payments_desc": "We process payments for Packages via Lemon Squeezy. Payment data is handled securely and encrypted by Lemon Squeezy as the merchant of record.",
"data_retention": "Package data (limits, features) is anonymized and only required for functionality. Consent for payments and emails is obtained at purchase. Data is deleted after 10 years.",
"rights": "Your rights: Information, deletion, objection. Contact us under Contact.",
"cookies": "Cookies: Only functional cookies for the PWA.",

View File

@@ -133,7 +133,7 @@
"faq_q3": "What happens when it expires?",
"faq_a3": "The gallery remains readable, but uploads are blocked. Simply extend.",
"faq_q4": "Payment secure?",
"faq_a4": "Yes, via Paddle secure and GDPR compliant.",
"faq_a4": "Yes, via Lemon Squeezy secure and GDPR compliant.",
"final_cta": "Ready for your next event?",
"contact_us": "Contact Us",
"feature_live_slideshow": "Live Slideshow",
@@ -167,7 +167,7 @@
"billing_per_bundle": "per bundle",
"more_features": "+{{count}} more features",
"feature_overview": "Feature overview",
"order_hint": "Launch instantly secure Paddle checkout, no hidden fees.",
"order_hint": "Launch instantly secure Lemon Squeezy checkout, no hidden fees.",
"features_label": "Features",
"feature_highlights": "Feature Highlights",
"detail_labels": {
@@ -353,8 +353,8 @@
"currency": {
"euro": "€"
},
"paddle_not_configured": "This package is not ready for Paddle checkout. Please contact support.",
"paddle_checkout_failed": "We could not start the Paddle checkout. Please try again later.",
"lemonsqueezy_not_configured": "This package is not ready for Lemon Squeezy checkout. Please contact support.",
"lemonsqueezy_checkout_failed": "We could not start the Lemon Squeezy checkout. Please try again later.",
"gift_cta": "Gift a package"
},
"blog": {
@@ -683,24 +683,24 @@
"free_package_desc": "This package is free. We activate it directly after confirmation.",
"activate_package": "Activate Package",
"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",
"secure_payment_desc": "Secure payment with Lemon Squeezy.",
"lemonsqueezy_intro": "Launch the Lemon Squeezy checkout right here in the wizard—no page changes required.",
"guided_title": "Secure checkout, powered by Lemon Squeezy",
"guided_body": "We walk you through every step. Lemon Squeezy acts as merchant of record, handles taxes automatically, and delivers compliant invoices instantly.",
"lemonsqueezy_partner": "Powered by Lemon Squeezy",
"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",
"guided_cta_hint": "Securely processed by Lemon Squeezy 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.",
"paddle_error": "We could not start the Paddle checkout. Please try again.",
"paddle_not_ready": "Paddle checkout is not ready yet. Please try again in a moment.",
"paddle_not_configured": "This package is not ready for Paddle checkout. Please contact support.",
"paddle_disclaimer": "Paddle processes payments as merchant of record. Taxes are calculated automatically based on your billing details.",
"pay_with_paddle": "Continue with Paddle",
"lemonsqueezy_preparing": "Preparing Lemon Squeezy checkout…",
"lemonsqueezy_overlay_ready": "Lemon Squeezy checkout is running in a secure overlay. Complete the payment there and then continue here.",
"lemonsqueezy_ready": "Lemon Squeezy checkout opened in a new tab. Complete the payment and then continue here.",
"lemonsqueezy_error": "We could not start the Lemon Squeezy checkout. Please try again.",
"lemonsqueezy_not_ready": "Lemon Squeezy checkout is not ready yet. Please try again in a moment.",
"lemonsqueezy_not_configured": "This package is not ready for Lemon Squeezy checkout. Please contact support.",
"lemonsqueezy_disclaimer": "Lemon Squeezy processes payments as merchant of record. Taxes are calculated automatically based on your billing details.",
"pay_with_lemonsqueezy": "Continue with Lemon Squeezy",
"continue_after_payment": "I completed the payment",
"no_package_title": "No package selected",
"no_package_description": "Please choose a package to continue to checkout.",
@@ -745,7 +745,7 @@
"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_body": "We activated your access and synced Lemon Squeezy. 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.",
"status_title": "Purchase status",
"status_subtitle": "We are finishing the handoff and syncing your account.",
@@ -754,7 +754,7 @@
"completed": "Confirmed",
"failed": "Needs attention"
},
"status_body_processing": "We are syncing your account with Paddle. This can take a minute.",
"status_body_processing": "We are syncing your account with Lemon Squeezy. This can take a minute.",
"status_body_completed": "Everything is ready. Your account is fully unlocked.",
"status_body_failed": "We could not confirm the purchase yet. Please try again or contact support.",
"status_manual_hint": "Still waiting? You can re-check the status or refresh the page.",
@@ -763,7 +763,7 @@
"status_items": {
"payment": {
"title": "Payment confirmed",
"body": "Your Paddle payment was successful."
"body": "Your Lemon Squeezy payment was successful."
},
"email": {
"title": "Receipt sent",
@@ -868,7 +868,7 @@
"Add co-hosts for moderation and the live show",
"Offline uploads sync automatically once back online",
"Photobooth Connect streams booth photos (Windows, macOS & Linux)",
"Billing handled via Paddle, mobile apps through RevenueCat"
"Billing handled via Lemon Squeezy, mobile apps through RevenueCat"
]
},
"guest": {
@@ -916,7 +916,7 @@
"timeline": [
{
"title": "Prepare your event",
"body": "Register, choose a package, and apply your branding. Web payments run through Paddle, mobile apps via RevenueCat.",
"body": "Register, choose a package, and apply your branding. Web payments run through Lemon Squeezy, mobile apps via RevenueCat.",
"tips": [
"Create a test event to experience the upload flow",
"Invite co-hosts like MCs or colleagues"
@@ -1087,7 +1087,7 @@
},
{
"question": "How do payments work?",
"answer": "Web packages are billed through Paddle (with invoices and tax handling). Mobile subscriptions are managed via RevenueCat."
"answer": "Web packages are billed through Lemon Squeezy (with invoices and tax handling). Mobile subscriptions are managed via RevenueCat."
},
{
"question": "Which file formats are supported?",
@@ -1170,8 +1170,8 @@
"message_placeholder": "A little something for your event!",
"accept_terms": "I have read the withdrawal policy: 14 days from purchase, expires upon (partial) redemption.",
"accept_terms_required": "Please confirm the withdrawal note.",
"cta": "Continue with Paddle",
"processing": "Opening Paddle checkout …",
"cta": "Continue with Lemon Squeezy",
"processing": "Opening Lemon Squeezy checkout …",
"error_select_tier": "Please select a voucher amount.",
"error_purchaser_email": "Please enter a valid email.",
"error_recipient_email": "Please enter a valid recipient email.",