Converted all notification emails to the branded layout by routing them through a shared Blade template and swapping
the MailMessage builders to use view(). This keeps the existing copy/labels but aligns the look with resources/views/ emails/partials/layout.blade.php. I also switched the customer add‑on receipt notification to reuse the existing branded view and added missing translations for the upload pipeline alert.
This commit is contained in:
@@ -1,14 +1,51 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'brand' => [
|
||||
'label' => 'Die Fotospiel.App',
|
||||
'footer' => 'Mit freundlichen Grüßen,<br>Das Team von Die Fotospiel.App',
|
||||
'tagline' => 'Die Fotospiel.App · Event-Pakete mit Wow-Effekt',
|
||||
],
|
||||
|
||||
'welcome' => [
|
||||
'subject' => 'Willkommen bei Fotospiel, :name!',
|
||||
'greeting' => 'Willkommen bei Fotospiel, :name!',
|
||||
'body' => 'Vielen Dank für Ihre Registrierung. Ihr Account ist nun aktiv.',
|
||||
'subject' => 'Willkommen bei Die Fotospiel.App, :name!',
|
||||
'greeting' => 'Willkommen bei Die Fotospiel.App, :name!',
|
||||
'subtitle' => 'Schön, dass Sie da sind. Ihr Event-Erlebnis kann sofort starten.',
|
||||
'body' => 'Vielen Dank für Ihre Registrierung. Wir haben Ihren Account vorbereitet – jetzt fehlt nur noch Ihr erstes Event.',
|
||||
'account_label' => 'Ihre Zugangsdaten',
|
||||
'username' => 'Benutzername: :username',
|
||||
'email' => 'E-Mail: :email',
|
||||
'verification' => 'Bitte verifizieren Sie Ihre E-Mail-Adresse, um auf das Admin-Panel zuzugreifen.',
|
||||
'footer' => 'Mit freundlichen Grüßen,<br>Das Fotospiel-Team',
|
||||
'verification' => 'Bitte bestätigen Sie Ihre E-Mail-Adresse, um vollen Zugriff zu erhalten.',
|
||||
'next_steps_title' => 'So geht es weiter',
|
||||
'step_one' => 'Event anlegen und das passende Paket auswählen',
|
||||
'step_two' => 'Gäste einladen und den Upload-Link teilen',
|
||||
'step_three' => 'Fotos sammeln, kuratieren und genießen',
|
||||
'cta' => 'Event-Admin öffnen',
|
||||
'footer' => 'Sie brauchen Unterstützung? Wir sind jederzeit für Sie da.',
|
||||
],
|
||||
'verification' => [
|
||||
'subject' => 'Bitte bestätigen Sie Ihre E-Mail-Adresse',
|
||||
'preheader' => 'Bestätigen Sie Ihre E-Mail, um den vollen Zugriff zu erhalten.',
|
||||
'hero_title' => 'E-Mail bestätigen, :name',
|
||||
'hero_subtitle' => 'Ein Klick genügt, um Ihr Konto zu aktivieren.',
|
||||
'body' => 'Bitte bestätigen Sie Ihre E-Mail-Adresse, indem Sie auf den Button klicken.',
|
||||
'expires' => 'Dieser Bestätigungslink ist :minutes Minuten gültig.',
|
||||
'link_fallback' => 'Falls der Button nicht funktioniert, kopieren Sie diesen Link in Ihren Browser:',
|
||||
'cta' => 'E-Mail bestätigen',
|
||||
'footer' => 'Falls Sie kein Konto erstellt haben, können Sie diese E-Mail ignorieren.',
|
||||
],
|
||||
'upload_pipeline_failed' => [
|
||||
'subject' => 'Upload-Pipeline Fehler: :job',
|
||||
'preheader' => 'In der Upload-Pipeline ist ein Fehler aufgetreten.',
|
||||
'hero_title' => 'Upload-Pipeline Alarm',
|
||||
'hero_subtitle' => 'Beim Verarbeiten der Uploads ist ein Fehler aufgetreten.',
|
||||
'line_job' => 'Job: :job',
|
||||
'line_queue' => 'Queue: :queue',
|
||||
'line_event' => 'Event ID: :event',
|
||||
'line_photo' => 'Foto ID: :photo',
|
||||
'line_exception' => 'Exception: :exception',
|
||||
'line_time' => 'Zeitpunkt: :time',
|
||||
'footer' => 'Bitte prüfen Sie die Queue-Logs für weitere Details.',
|
||||
],
|
||||
|
||||
'purchase' => [
|
||||
@@ -17,9 +54,7 @@ return [
|
||||
'package' => 'Package: :package',
|
||||
'price' => 'Preis: :price',
|
||||
'activation' => 'Ihr Event-Paket ist jetzt im Tenant-Account aktiviert.',
|
||||
'footer' => 'Mit freundlichen Grüßen,<br>Das Team von Die Fotospiel.App',
|
||||
'brand_label' => 'Die Fotospiel.App',
|
||||
'brand_footer' => 'Die Fotospiel.App · Event-Pakete mit Wow-Effekt',
|
||||
'footer' => 'Sie brauchen Unterstützung? Wir sind jederzeit für Sie da.',
|
||||
'subtitle' => 'Ihre Bestellung wurde erfolgreich bestätigt. Hier finden Sie alle Details auf einen Blick.',
|
||||
'summary_title' => 'Bestellübersicht',
|
||||
'package_label' => 'Event-Paket',
|
||||
@@ -57,23 +92,20 @@ return [
|
||||
'subject_1w' => 'Letzte Chance: Ihr gespeichertes Paket',
|
||||
|
||||
'greeting' => 'Hallo :name,',
|
||||
|
||||
'body_1h' => 'Sie haben vor kurzem begonnen, unser :package Paket zu kaufen, aber noch nicht abgeschlossen. Ihr Warenkorb ist für Sie reserviert.',
|
||||
|
||||
'body_24h' => 'Erinnerung: Ihr :package Paket wartet seit 24 Stunden auf Sie. Schließen Sie jetzt Ihren Kauf ab und sichern Sie sich alle Vorteile.',
|
||||
|
||||
'body_1w' => 'Letzte Erinnerung: Ihr :package Paket wartet seit einer Woche auf Sie. Dies ist Ihre letzte Chance, den Kauf abzuschließen.',
|
||||
|
||||
'cta_button' => 'Jetzt fortfahren',
|
||||
'subtitle' => ':package ist nur einen Schritt entfernt.',
|
||||
'body_1h' => 'Sie haben vor kurzem unser :package Event-Paket ausgewählt. Ihr Checkout ist weiterhin für Sie reserviert.',
|
||||
'body_24h' => 'Ihr :package Event-Paket wartet seit 24 Stunden auf Sie. Schließen Sie den Kauf jetzt ab und starten Sie direkt.',
|
||||
'body_1w' => 'Letzte Erinnerung: Ihr :package Event-Paket ist noch reserviert. Wenn Sie möchten, können Sie den Checkout jetzt abschließen.',
|
||||
'cta_button' => 'Checkout fortsetzen',
|
||||
'cta_link' => 'Oder kopieren Sie diesen Link: :url',
|
||||
|
||||
'benefits_title' => 'Warum jetzt kaufen?',
|
||||
'benefit1' => 'Schneller Checkout in 2 Minuten',
|
||||
'cta_hint_title' => 'Reserviert für Sie',
|
||||
'cta_hint_body' => 'Ihr Angebot bleibt bestehen – Sie können jederzeit nahtlos fortfahren.',
|
||||
'benefits_title' => 'Was Sie erwartet',
|
||||
'benefit1' => 'Premium Checkout in wenigen Minuten',
|
||||
'benefit2' => 'Sichere Zahlung mit Paddle',
|
||||
'benefit3' => 'Sofortiger Zugriff nach Zahlung',
|
||||
'benefit4' => '10% Rabatt sichern',
|
||||
|
||||
'footer' => 'Mit freundlichen Grüßen,<br>Das Fotospiel-Team',
|
||||
'benefit3' => 'Sofortige Aktivierung nach Zahlung',
|
||||
'benefit4' => 'Support durch das Die Fotospiel.App Team',
|
||||
'footer' => 'Wir helfen Ihnen gern weiter, falls Fragen offen sind.',
|
||||
],
|
||||
|
||||
'contact' => [
|
||||
@@ -82,10 +114,13 @@ return [
|
||||
],
|
||||
|
||||
'contact_confirmation' => [
|
||||
'subject' => 'Vielen Dank für Ihre Nachricht, :name!',
|
||||
'subject' => 'Danke für Ihre Nachricht, :name!',
|
||||
'greeting' => 'Hallo :name,',
|
||||
'body' => 'Vielen Dank für Ihre Nachricht an das Fotospiel-Team. Wir melden uns so schnell wie möglich zurück.',
|
||||
'footer' => 'Viele Grüße<br>Ihr Fotospiel-Team',
|
||||
'subtitle' => 'Wir kümmern uns persönlich um Ihr Anliegen.',
|
||||
'body' => 'Vielen Dank für Ihre Nachricht. Unser Team meldet sich so schnell wie möglich mit einer passenden Lösung.',
|
||||
'response_time' => 'In der Regel erhalten Sie innerhalb eines Werktags eine Antwort.',
|
||||
'cta' => 'Support kontaktieren',
|
||||
'footer' => 'Viele Grüße<br>Ihr Die Fotospiel.App Team',
|
||||
],
|
||||
|
||||
'package_limits' => [
|
||||
@@ -163,8 +198,14 @@ return [
|
||||
'receipt' => [
|
||||
'subject' => 'Add-on gekauft: :addon',
|
||||
'greeting' => 'Hallo :name,',
|
||||
'body' => 'Sie haben „ :addon “ für das Event „ :event “ gebucht. Betrag: :amount.',
|
||||
'summary' => 'Enthalten: +:photos Fotos, +:guests Gäste, +:days Tage Galerie.',
|
||||
'subtitle' => 'Ihr Add-on ist aktiv und sofort verfügbar.',
|
||||
'body' => 'Sie haben „:addon“ für das Event „:event“ gebucht. Gesamtbetrag: :amount.',
|
||||
'summary_title' => 'Enthaltene Upgrades',
|
||||
'summary' => [
|
||||
'photos' => '+:count Fotos',
|
||||
'guests' => '+:count Gäste',
|
||||
'gallery' => '+:count Tage Galerie',
|
||||
],
|
||||
'unknown_amount' => 'k.A.',
|
||||
'action' => 'Event-Dashboard öffnen',
|
||||
],
|
||||
@@ -174,12 +215,14 @@ return [
|
||||
'purchaser' => [
|
||||
'subject' => 'Dein Geschenkgutschein (:amount :currency)',
|
||||
'greeting' => 'Danke für deinen Kauf!',
|
||||
'body' => 'Hier ist dein Fotospiel-Geschenkgutschein im Wert von :amount :currency. Teile den Code mit deiner beschenkten Person: :recipient.',
|
||||
'subtitle' => 'Dein Gutschein ist bereit, Freude zu schenken.',
|
||||
'body' => 'Hier ist dein Fotospiel-Geschenkgutschein im Wert von :amount :currency. Teile den Code mit :recipient und schenke ein unvergessliches Event.',
|
||||
'recipient_fallback' => 'dein:e Beschenkte:r',
|
||||
],
|
||||
'recipient' => [
|
||||
'subject' => 'Du hast einen Fotospiel-Geschenkgutschein erhalten (:amount :currency)',
|
||||
'greeting' => 'Du hast ein Geschenk bekommen!',
|
||||
'subtitle' => 'Zeit für ein Event mit Wow-Effekt.',
|
||||
'body' => ':purchaser hat dir einen Fotospiel-Geschenkgutschein im Wert von :amount :currency gesendet. Löse ihn mit dem untenstehenden Code ein.',
|
||||
],
|
||||
'code_label' => 'Gutscheincode',
|
||||
@@ -187,7 +230,7 @@ return [
|
||||
'expiry' => 'Gültig bis :date.',
|
||||
'message_title' => 'Persönliche Nachricht',
|
||||
'withdrawal' => 'Widerrufsbelehrung: <a href=":url">Details ansehen</a> (14 Tage; erlischt mit Einlösung).',
|
||||
'footer' => 'Viele Grüße,<br>dein Fotospiel Team',
|
||||
'footer' => 'Viele Grüße,<br>dein Die Fotospiel.App Team',
|
||||
'printable' => 'Druckversion (mit QR)',
|
||||
'reminder' => 'Erinnerung: Dein Gutschein ist noch nicht eingelöst.',
|
||||
'expiry_soon' => 'Hinweis: Dein Gutschein läuft bald ab.',
|
||||
|
||||
@@ -1,14 +1,50 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'brand' => [
|
||||
'label' => 'Die Fotospiel.App',
|
||||
'footer' => 'Best regards,<br>The team at Die Fotospiel.App',
|
||||
'tagline' => 'Die Fotospiel.App · Event packages with wow-factor',
|
||||
],
|
||||
'welcome' => [
|
||||
'subject' => 'Welcome to Fotospiel, :name!',
|
||||
'greeting' => 'Welcome to Fotospiel, :name!',
|
||||
'body' => 'Thank you for your registration. Your account is now active.',
|
||||
'subject' => 'Welcome to Die Fotospiel.App, :name!',
|
||||
'greeting' => 'Welcome to Die Fotospiel.App, :name!',
|
||||
'subtitle' => 'We are glad you are here. Your event experience can start immediately.',
|
||||
'body' => 'Thank you for signing up. Your account is ready—now let’s launch your first event.',
|
||||
'account_label' => 'Your account details',
|
||||
'username' => 'Username: :username',
|
||||
'email' => 'Email: :email',
|
||||
'verification' => 'Please verify your email address to access the admin panel.',
|
||||
'footer' => 'Best regards,<br>The Fotospiel Team',
|
||||
'verification' => 'Please verify your email address to unlock full access.',
|
||||
'next_steps_title' => 'Next steps',
|
||||
'step_one' => 'Create your event and pick the right package',
|
||||
'step_two' => 'Invite guests and share the upload link',
|
||||
'step_three' => 'Collect, curate, and celebrate every photo',
|
||||
'cta' => 'Open Event Admin',
|
||||
'footer' => 'Need help? We are here whenever you need us.',
|
||||
],
|
||||
'verification' => [
|
||||
'subject' => 'Verify your email address',
|
||||
'preheader' => 'Confirm your email to unlock full access.',
|
||||
'hero_title' => 'Confirm your email, :name',
|
||||
'hero_subtitle' => 'One click to activate your account.',
|
||||
'body' => 'Please confirm your email address by clicking the button below.',
|
||||
'expires' => 'This verification link expires in :minutes minutes.',
|
||||
'link_fallback' => 'If the button does not work, copy and paste this link into your browser:',
|
||||
'cta' => 'Verify email',
|
||||
'footer' => 'If you did not create an account, you can ignore this email.',
|
||||
],
|
||||
'upload_pipeline_failed' => [
|
||||
'subject' => 'Upload pipeline error: :job',
|
||||
'preheader' => 'An error occurred in the upload pipeline.',
|
||||
'hero_title' => 'Upload pipeline alert',
|
||||
'hero_subtitle' => 'We hit an error while processing uploads.',
|
||||
'line_job' => 'Job: :job',
|
||||
'line_queue' => 'Queue: :queue',
|
||||
'line_event' => 'Event ID: :event',
|
||||
'line_photo' => 'Photo ID: :photo',
|
||||
'line_exception' => 'Exception: :exception',
|
||||
'line_time' => 'Time: :time',
|
||||
'footer' => 'Please investigate the failure in the queue logs.',
|
||||
],
|
||||
|
||||
'purchase' => [
|
||||
@@ -17,9 +53,7 @@ return [
|
||||
'package' => 'Package: :package',
|
||||
'price' => 'Price: :price',
|
||||
'activation' => 'Your event package is now activated in your tenant account.',
|
||||
'footer' => 'Best regards,<br>The team at Die Fotospiel.App',
|
||||
'brand_label' => 'Die Fotospiel.App',
|
||||
'brand_footer' => 'Die Fotospiel.App · Event packages with wow-factor',
|
||||
'footer' => 'Need assistance? We are always happy to help.',
|
||||
'subtitle' => 'Your order has been confirmed successfully. Here are the details at a glance.',
|
||||
'summary_title' => 'Order summary',
|
||||
'package_label' => 'Event package',
|
||||
@@ -57,23 +91,20 @@ return [
|
||||
'subject_1w' => 'Last Chance: Your Saved Package',
|
||||
|
||||
'greeting' => 'Hello :name,',
|
||||
|
||||
'body_1h' => 'You recently started purchasing our :package package but haven\'t completed it yet. Your cart is reserved for you.',
|
||||
|
||||
'body_24h' => 'Reminder: Your :package package has been waiting for 24 hours. Complete your purchase now and secure all the benefits.',
|
||||
|
||||
'body_1w' => 'Final reminder: Your :package package has been waiting for a week. This is your last chance to complete the purchase.',
|
||||
|
||||
'cta_button' => 'Continue Now',
|
||||
'subtitle' => ':package is just one step away.',
|
||||
'body_1h' => 'You selected the :package event package but haven\'t completed checkout yet. Your selection is still reserved.',
|
||||
'body_24h' => 'Your :package event package has been waiting for 24 hours. Finish checkout now and get started instantly.',
|
||||
'body_1w' => 'Final reminder: Your :package event package is still reserved. You can complete your purchase at any time.',
|
||||
'cta_button' => 'Resume checkout',
|
||||
'cta_link' => 'Or copy this link: :url',
|
||||
|
||||
'benefits_title' => 'Why buy now?',
|
||||
'benefit1' => 'Quick checkout in 2 minutes',
|
||||
'cta_hint_title' => 'Reserved for you',
|
||||
'cta_hint_body' => 'Your selection stays locked—continue whenever you are ready.',
|
||||
'benefits_title' => 'What you get',
|
||||
'benefit1' => 'Premium checkout in minutes',
|
||||
'benefit2' => 'Secure payment with Paddle',
|
||||
'benefit3' => 'Instant access after payment',
|
||||
'benefit4' => 'Secure 10% discount',
|
||||
|
||||
'footer' => 'Best regards,<br>The Fotospiel Team',
|
||||
'benefit3' => 'Instant activation after payment',
|
||||
'benefit4' => 'Support from the Die Fotospiel.App team',
|
||||
'footer' => 'Let us know if you need anything.',
|
||||
],
|
||||
|
||||
'contact' => [
|
||||
@@ -82,10 +113,13 @@ return [
|
||||
],
|
||||
|
||||
'contact_confirmation' => [
|
||||
'subject' => 'Thank you for reaching out, :name!',
|
||||
'subject' => 'Thanks for reaching out, :name!',
|
||||
'greeting' => 'Hi :name,',
|
||||
'body' => 'Thank you for your message to the Fotospiel team. We will get back to you as soon as possible.',
|
||||
'footer' => 'Best regards,<br>The Fotospiel Team',
|
||||
'subtitle' => 'Your message is in good hands.',
|
||||
'body' => 'Thank you for contacting us. Our team will reply with a tailored answer as quickly as possible.',
|
||||
'response_time' => 'We usually respond within one business day.',
|
||||
'cta' => 'Contact support',
|
||||
'footer' => 'Best regards,<br>The Die Fotospiel.App team',
|
||||
],
|
||||
|
||||
'package_limits' => [
|
||||
@@ -163,8 +197,14 @@ return [
|
||||
'receipt' => [
|
||||
'subject' => 'Add-on purchase: :addon',
|
||||
'greeting' => 'Hello :name,',
|
||||
'body' => 'You purchased " :addon " for the event " :event ". Amount: :amount.',
|
||||
'summary' => 'Included: +:photos photos, +:guests guests, +:days gallery days.',
|
||||
'subtitle' => 'Your add-on is active and ready to use.',
|
||||
'body' => 'You booked “:addon” for the event “:event”. Total: :amount.',
|
||||
'summary_title' => 'Included upgrades',
|
||||
'summary' => [
|
||||
'photos' => '+:count photos',
|
||||
'guests' => '+:count guests',
|
||||
'gallery' => '+:count gallery days',
|
||||
],
|
||||
'unknown_amount' => 'n/a',
|
||||
'action' => 'Open event dashboard',
|
||||
],
|
||||
@@ -233,12 +273,14 @@ return [
|
||||
'purchaser' => [
|
||||
'subject' => 'Your gift voucher (:amount :currency)',
|
||||
'greeting' => 'Thank you for your purchase!',
|
||||
'body' => 'Here is your Fotospiel gift voucher worth :amount :currency. You can share the code with your recipient: :recipient.',
|
||||
'subtitle' => 'Your voucher is ready to make someone smile.',
|
||||
'body' => 'Here is your Fotospiel gift voucher worth :amount :currency. Share the code with :recipient and gift an unforgettable event.',
|
||||
'recipient_fallback' => 'your recipient',
|
||||
],
|
||||
'recipient' => [
|
||||
'subject' => 'You received a Fotospiel gift voucher (:amount :currency)',
|
||||
'greeting' => 'You have a gift!',
|
||||
'subtitle' => 'Time for an event with wow-factor.',
|
||||
'body' => ':purchaser sent you a Fotospiel gift voucher worth :amount :currency. Redeem it with the code below.',
|
||||
],
|
||||
'code_label' => 'Voucher code',
|
||||
@@ -246,7 +288,7 @@ return [
|
||||
'expiry' => 'Valid until :date.',
|
||||
'message_title' => 'Personal message',
|
||||
'withdrawal' => 'Withdrawal policy: <a href=":url">View details</a> (14 days; expires upon redemption).',
|
||||
'footer' => 'Best regards,<br>The Fotospiel Team',
|
||||
'footer' => 'Best regards,<br>The Die Fotospiel.App team',
|
||||
'printable' => 'Printable version (with QR)',
|
||||
'reminder' => 'Reminder: You still have an unused voucher.',
|
||||
'expiry_soon' => 'Heads up: Your voucher will expire soon.',
|
||||
|
||||
Reference in New Issue
Block a user