b2in/resources/lang/en/ui.php
Kevin Adametz 6d53243ea6 B2in Interior: Relaunch der Website, Kernmarken-CMS und Terminanfrage
Umsetzung von AP0-AP6 aus dev/2026-08-28/entwicklungsplan.md sowie der
vorab gefundenen Befunde T1 und B1-B13.

Befunde
- CmsContentSeeder überschrieb bei jedem Lauf alle redaktionellen Inhalte;
  jetzt Redaktionsschutz plus gezielter Relaunch-Seeder (B1)
- Magazin-CMS war nicht ans Frontend angebunden, Artikel jetzt über Slugs
  mit 301 von den alten numerischen URLs (B2)
- Vier veröffentlichte Display-Playlists zeigten auf b2in.test und wären
  live nicht ladbar gewesen (B13)
- Info-Tablet speicherte geleerte Öffnungszeiten nicht (T1)
- /service und /portfolio lieferten seit Februar 500 (B12)

Website
- Startseite neu strukturiert und umgetextet, eigene Seite /marken mit
  Detailseite je Kernmarke, /netzwerk und Altrouten leiten dorthin
- Galerie je Marke, getrennt nach realisierten Projekten und
  Visualisierungen; ohne gesetzte Kategorie gilt ein Bild als Entwurf
- Seite /referenzen, gespeist aus den Markengalerien
- Showroom-Display im 9:16-Rahmen über eine schreibgeschützte Embed-Route
  ohne Preview-Token
- Terminanfrage-Widget auf allen Seiten, Markenauswahl aus dem CMS,
  WhatsApp per Klick-zum-Chat-Link mit vorbereitetem Text
- FAQ, Über-uns, Kontakt und Magazin inhaltlich auf Interior umgestellt

Sonstiges
- Vorschau-Instanzen liefern noindex und verlinken sich bei unbekanntem
  Host auf sich selbst statt auf eine fremde Domain
- Seeder-Zugangsdaten aus dem Code in die Konfiguration (B8)
- Ablauf für die Vorschau: dev/2026-08-28/preview-deployment.md

833 Tests grün (3084 Assertions), Pint sauber.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-28 15:31:19 +00:00

135 lines
5.1 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
return [
// General
'back' => 'Back',
'learn_more' => 'Learn more',
'read_more' => 'Read more',
'close' => 'Close',
'contact' => 'Contact',
'required_fields' => '* Required fields',
'view' => 'View',
// Header
'main_navigation' => 'Main navigation',
'mobile_navigation' => 'Mobile navigation',
'menu_close' => 'Close menu',
'menu_open' => 'Open menu',
'display_feed_title' => 'Live view of the showroom display',
'references_empty' => 'The first projects will appear here as soon as we are allowed to show them.',
// Appointment widget
'appointment' => [
'name' => 'Name',
'email' => 'Email',
'phone' => 'Phone',
'topic' => 'Subject',
'topic_placeholder' => 'Please choose',
'preferred_date' => 'Preferred date',
'message' => 'Message',
'message_placeholder' => 'What is it about? Two sentences are enough.',
'submit' => 'Send request',
'sending' => 'Sending …',
'success' => 'Thank you! We will get back to you shortly to arrange the appointment.',
'new_request' => 'Another request',
'date_in_past' => 'Please choose a date from today onwards.',
'whatsapp_intro' => 'Prefer to write directly? We prepare the message with your details.',
'whatsapp_text' => 'Hello B2in Interior, I would like to arrange an appointment.',
'whatsapp_note' => 'Opens WhatsApp with a prepared text. You send the message yourself.',
],
// Kernmarken
'all_brands_cta' => 'View all brands',
'brands' => 'Brands',
'whatsapp' => 'Message us on WhatsApp',
'all_brands' => 'All brands',
'brand_services' => 'Services and specialities',
'brand_cta_title' => 'Interested in :name?',
'brand_cta_text' => 'Arrange an appointment – we advise you personally and without obligation.',
'request_appointment' => 'Request an appointment',
'brand_website' => 'Visit the manufacturer',
'other_brands' => 'Our other core brands',
'more_about' => 'More about :name',
// Brand gallery – realised projects vs. drafts
'brand_gallery_title' => 'References and inspiration',
'brand_gallery_intro' => 'Completed projects from our work – and visualisations showing what is possible.',
'brand_gallery_tab_projects' => 'Completed projects',
'brand_gallery_tab_inspirations' => 'Inspiration and drafts',
'brand_gallery_badge_project' => 'Completed project',
'brand_gallery_badge_inspiration' => 'Visualisation',
'brand_gallery_inspiration_note' => 'These images are drafts and visualisations – not completed projects.',
'previous' => 'Previous image',
'next' => 'Next image',
// Footer
'founder_ceo' => 'Founder & CEO',
'legal_notice' => 'Legal Notice',
'privacy_policy' => 'Privacy Policy',
'terms_of_service' => 'Terms of Service',
'cookie_policy' => 'Cookie Policy',
'faq' => 'FAQ',
'cookie_settings' => 'Cookie Settings',
// Announcement Bar
'announcement_close' => 'Close',
// Hero Slider
'show_slide' => 'Show slide :number',
'previous_image' => 'Previous image',
'next_image' => 'Next image',
// Magazine
'read_article' => 'Read article :title',
// Contact Form
'contact_form' => [
'success_title' => 'Thank you!',
'success_message' => 'Your message has been received. We will get back to you as soon as possible.',
'first_name' => 'First Name *',
'last_name' => 'Last Name *',
'company' => 'Company (optional)',
'email' => 'Email *',
'phone' => 'Phone (optional)',
'subject' => 'Subject *',
'message' => 'Message *',
'message_placeholder' => 'Your message...',
'privacy_prefix' => 'I have read the',
'privacy_suffix' => 'and agree to the processing of my data. *',
'send' => 'Send',
'sending' => 'Sending...',
],
// Immobilien Contact Form
'immobilien_form' => [
'success_title' => 'Inquiry sent successfully!',
'success_message' => 'Thank you for your interest. We will get back to you as soon as possible.',
'interest' => 'Interest',
'please_select' => 'Please select...',
'first_name' => 'First Name *',
'first_name_placeholder' => 'Your first name',
'last_name' => 'Last Name *',
'last_name_placeholder' => 'Your last name',
'email' => 'Email *',
'email_placeholder' => 'your@email.com',
'phone' => 'Phone (optional)',
'message' => 'Message (optional)',
'message_placeholder' => 'Your message...',
'privacy_prefix' => 'I have read the',
'privacy_suffix' => 'and agree to the processing of my data. *',
'submit' => 'Request Exposé & Availability',
'sending' => 'Sending...',
],
// Portfolio
'portfolio' => [
'no_projects' => 'No projects found',
'try_other_filter' => 'Try a different filter',
'amenities' => 'Amenities',
'project_details' => 'Project Details',
'location' => 'Location',
'price' => 'Price',
'size' => 'Size',
],
];