331 lines
16 KiB
PHP
331 lines
16 KiB
PHP
<?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 :app_name, :name!',
|
||
'greeting' => 'Welcome to :app_name, :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 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.',
|
||
],
|
||
'reset_password' => [
|
||
'subject' => 'Reset your password',
|
||
'preheader' => 'Use this link to reset your password.',
|
||
'hero_title' => 'Reset your password, :name',
|
||
'hero_subtitle' => 'Secure your account in one step.',
|
||
'body' => 'Click the button below to reset your password.',
|
||
'expires' => 'This password reset link expires in :minutes minutes.',
|
||
'link_fallback' => 'If the button does not work, copy and paste this link into your browser:',
|
||
'cta' => 'Reset password',
|
||
'footer' => 'If you did not request a password reset, you can ignore this email.',
|
||
],
|
||
'contact_request' => [
|
||
'subject' => 'New contact request',
|
||
'preheader' => 'A new message arrived via the contact form.',
|
||
'hero_title' => 'New contact request',
|
||
'hero_subtitle' => 'A visitor sent a new message.',
|
||
'line_name' => 'Name: :name',
|
||
'line_email' => 'Email: :email',
|
||
'line_message' => 'Message:',
|
||
'footer' => 'Reply directly to the sender to follow up.',
|
||
],
|
||
|
||
'purchase' => [
|
||
'subject' => 'Purchase Confirmation - :package',
|
||
'greeting' => 'Thank you for your purchase, :name!',
|
||
'package' => 'Package: :package',
|
||
'price' => 'Price: :price',
|
||
'activation' => 'Your event package is now activated in your tenant account.',
|
||
'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',
|
||
'type_label' => 'Package type',
|
||
'date_label' => 'Purchase date',
|
||
'provider_label' => 'Payment provider',
|
||
'order_label' => 'Order ID',
|
||
'price_label' => 'Total amount',
|
||
'activation_label' => 'Activation',
|
||
'limits_title' => 'Your package details',
|
||
'invoice_title' => 'Invoice',
|
||
'invoice_link' => 'Open invoice',
|
||
'cta' => 'Open Event Admin',
|
||
'provider' => [
|
||
'paddle' => 'Paddle',
|
||
'manual' => 'Manual',
|
||
'free' => 'Free',
|
||
],
|
||
'package_type' => [
|
||
'endcustomer' => 'One-time purchase per event',
|
||
'reseller' => 'Annual subscription for resellers',
|
||
],
|
||
'limits' => [
|
||
'max_photos' => 'Max. photos',
|
||
'max_guests' => 'Max. guests',
|
||
'gallery_days' => 'Gallery days',
|
||
'max_tasks' => 'Max. tasks',
|
||
'max_events_per_year' => 'Events per year',
|
||
],
|
||
],
|
||
|
||
'abandoned_checkout' => [
|
||
'subject_1h' => 'Your :package Package is Waiting for You',
|
||
'subject_24h' => 'Reminder: Complete Your Purchase',
|
||
'subject_1w' => 'Last Chance: Your Saved Package',
|
||
|
||
'greeting' => 'Hello :name,',
|
||
'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',
|
||
'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 activation after payment',
|
||
'benefit4' => 'Support from the Die Fotospiel.App team',
|
||
'footer' => 'Let us know if you need anything.',
|
||
],
|
||
|
||
'contact' => [
|
||
'subject' => 'New Contact Request',
|
||
'body' => 'Contact request from :name (:email): :message',
|
||
],
|
||
|
||
'contact_confirmation' => [
|
||
'subject' => 'Thanks for reaching out, :name!',
|
||
'greeting' => 'Hi :name,',
|
||
'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' => [
|
||
'team_fallback' => 'Fotospiel Team',
|
||
'package_fallback' => 'Current Package',
|
||
'event_fallback' => 'Your event',
|
||
'photo_threshold' => [
|
||
'subject' => 'Event ":event" has used :percentage% of its photo allowance',
|
||
'greeting' => 'Hello :name,',
|
||
'body' => 'Your package ":package" for event ":event" has reached :percentage% of its photo allowance (:used / :limit photos). Only :remaining uploads remain before the limit is reached.',
|
||
'action' => 'Open event dashboard',
|
||
],
|
||
'photo_limit' => [
|
||
'subject' => 'Photo uploads for ":event" are currently blocked',
|
||
'greeting' => 'Hello :name,',
|
||
'body' => 'The package ":package" for event ":event" has reached its maximum of :limit photos. Guests can no longer upload new photos until you upgrade the package.',
|
||
'cta_addon' => 'Need more uploads right now? Use the in-app add-on to unlock additional photo slots instantly.',
|
||
'action' => 'Upgrade or manage package',
|
||
'addon_action' => 'Unlock more photos',
|
||
],
|
||
'guest_threshold' => [
|
||
'subject' => 'Event ":event" has used :percentage% of its guest allowance',
|
||
'greeting' => 'Hello :name,',
|
||
'body' => 'Your package ":package" for event ":event" has reached :percentage% of its guest allowance (:used / :limit guests). Only :remaining guest slots remain.',
|
||
'action' => 'Open event dashboard',
|
||
],
|
||
'guest_limit' => [
|
||
'subject' => 'Guest slots for ":event" are currently exhausted',
|
||
'greeting' => 'Hello :name,',
|
||
'body' => 'The package ":package" for event ":event" has reached its maximum of :limit guests. New guest invites cannot be created until you upgrade the package.',
|
||
'cta_addon' => 'Need more guest access right away? Use the add-on button inside the event dashboard to unlock extra slots within seconds.',
|
||
'action' => 'Upgrade or manage package',
|
||
'addon_action' => 'Unlock more guests',
|
||
],
|
||
'event_threshold' => [
|
||
'subject' => 'Package ":package" has used :percentage% of its event allowance',
|
||
'greeting' => 'Hello :name,',
|
||
'body' => 'Your package ":package" has reached :percentage% of its event allowance (:used / :limit events). Only :remaining event slots remain.',
|
||
'action' => 'Review packages',
|
||
],
|
||
'event_limit' => [
|
||
'subject' => 'Package ":package" event quota exhausted',
|
||
'greeting' => 'Hello :name,',
|
||
'body' => 'Your package ":package" has reached its maximum of :limit events. Please upgrade or renew to create additional events.',
|
||
'action' => 'Upgrade package',
|
||
],
|
||
'gallery_warning' => [
|
||
'subject' => 'Gallery for ":event" expires in :days day|Gallery for ":event" expires in :days days',
|
||
'greeting' => 'Hello :name,',
|
||
'body' => 'The gallery for event ":event" (package ":package") expires on :date. Only :days day of access remains.|The gallery for event ":event" (package ":package") expires on :date. Only :days days of access remain.',
|
||
'action' => 'View gallery settings',
|
||
],
|
||
'gallery_expired' => [
|
||
'subject' => 'Gallery for ":event" has expired',
|
||
'greeting' => 'Hello :name,',
|
||
'body' => 'The gallery for event ":event" (package ":package") expired on :date. Guests can no longer view or download photos until you extend the gallery duration.',
|
||
'action' => 'Manage gallery settings',
|
||
],
|
||
'package_expiring' => [
|
||
'subject' => 'Package ":package" expires in :days day|Package ":package" expires in :days days',
|
||
'greeting' => 'Hello :name,',
|
||
'body' => 'Your package ":package" expires on :date. Only :days day of access remains.|Your package ":package" expires on :date. Only :days days of access remain.',
|
||
'action' => 'Renew or upgrade package',
|
||
],
|
||
'package_expired' => [
|
||
'subject' => 'Package ":package" has expired',
|
||
'greeting' => 'Hello :name,',
|
||
'body' => 'Your package ":package" expired on :date. Please renew or upgrade to continue creating events.',
|
||
'action' => 'Manage packages',
|
||
],
|
||
'footer' => 'Best regards,<br>The Fotospiel Team',
|
||
],
|
||
|
||
'addons' => [
|
||
'receipt' => [
|
||
'subject' => 'Add-on purchase: :addon',
|
||
'greeting' => 'Hello :name,',
|
||
'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',
|
||
],
|
||
],
|
||
|
||
'tenant_feedback' => [
|
||
'subject' => 'New feedback: :tenant (:sentiment)',
|
||
'unknown_tenant' => 'Unknown tenant',
|
||
'unknown' => 'N/A',
|
||
'tenant' => 'Tenant: :tenant',
|
||
'category' => 'Category: :category',
|
||
'sentiment' => 'Sentiment: :sentiment',
|
||
'event' => 'Event: :event',
|
||
'rating' => 'Rating: :rating',
|
||
'title' => 'Subject: :subject',
|
||
'message' => 'Message:',
|
||
'open' => 'Open feedback in Super Admin',
|
||
'received_at' => 'Received: :date',
|
||
],
|
||
|
||
'refund' => [
|
||
'subject' => 'Refund for :package',
|
||
'greeting' => 'Hi :name,',
|
||
'body' => 'We have initiated a refund. Amount: :amount :currency. Payment ID: :provider_id.',
|
||
'reason' => 'Reason: :reason',
|
||
'footer' => 'The refund is processed by the payment provider and may take a few days depending on your bank.',
|
||
],
|
||
'withdrawal_confirmation' => [
|
||
'subject' => 'Withdrawal confirmed: :package',
|
||
'preheader' => 'Your withdrawal for :package has been confirmed.',
|
||
'subtitle' => 'Withdrawal for :package',
|
||
'greeting' => 'Hi :name,',
|
||
'body' => 'We have documented your withdrawal for :package and started the refund.',
|
||
'package_label' => 'Package',
|
||
'amount_label' => 'Amount',
|
||
'transaction_label' => 'Payment ID',
|
||
'confirmed_label' => 'Confirmed on',
|
||
'processing_hint' => 'The refund is processed by the payment provider and may take a few days depending on your bank.',
|
||
'footer' => 'If you have any questions, just reply to this email.',
|
||
],
|
||
|
||
'ops' => [
|
||
'purchase' => [
|
||
'subject' => 'New purchase: :package',
|
||
'greeting' => 'Hello Ops team,',
|
||
'tenant' => 'Tenant: :tenant',
|
||
'package' => 'Package: :package',
|
||
'amount' => 'Amount: :amount :currency',
|
||
'provider' => 'Provider: :provider (ID: :id)',
|
||
'consents' => 'Consents – Version: :legal, Terms: :terms, Waiver: :waiver',
|
||
'footer' => 'Please review and reconcile.',
|
||
],
|
||
'addon' => [
|
||
'subject' => 'Add-on purchased: :addon',
|
||
'greeting' => 'Hello Ops team,',
|
||
'tenant' => 'Tenant: :tenant',
|
||
'event' => 'Event: :event',
|
||
'addon' => 'Add-on: :addon (Quantity: :quantity)',
|
||
'amount' => 'Amount: :amount :currency',
|
||
'provider' => 'Checkout: :checkout, Transaction: :transaction',
|
||
'footer' => 'Add-on is completed and applied.',
|
||
],
|
||
'refund' => [
|
||
'subject' => 'Refund processed: :package',
|
||
'greeting' => 'Hello Ops team,',
|
||
'tenant' => 'Tenant: :tenant',
|
||
'package' => 'Package: :package',
|
||
'amount' => 'Amount: :amount :currency',
|
||
'provider' => 'Provider: :provider (ID: :id)',
|
||
'status_success' => 'Status: Success',
|
||
'status_failed' => 'Status: Failed',
|
||
'reason' => 'Reason: :reason',
|
||
'error' => 'Error: :error',
|
||
'footer' => 'Please review and follow up if needed.',
|
||
],
|
||
],
|
||
|
||
'gift_voucher' => [
|
||
'purchaser' => [
|
||
'subject' => 'Your gift voucher (:amount :currency)',
|
||
'greeting' => 'Thank you for your purchase!',
|
||
'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',
|
||
'redeem_hint' => 'Redeem this code during checkout for any end customer package.',
|
||
'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 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.',
|
||
],
|
||
];
|