feat(i18n): translation files DE/EN/UK/RU + layout integration (closes #74)
This commit is contained in:
227
app/Locales/de.php
Normal file
227
app/Locales/de.php
Normal file
@@ -0,0 +1,227 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* German (DE) translations — source of truth.
|
||||
*
|
||||
* Keys are dot-separated, e.g. 'nav.cta' => '...'.
|
||||
* Use {placeholders} for runtime interpolation: t('greeting', ['name' => 'Anna']).
|
||||
*
|
||||
* @see \App\Core\I18n::t()
|
||||
*/
|
||||
return [
|
||||
// ─── Site meta ───────────────────────────────────────────────────────
|
||||
'site.name' => 'Haus Schleusingen',
|
||||
'site.title' => 'Einfamilienhaus mieten Schleusingen | 227 m², 6 Zimmer | 1.300 € Kaltmiete',
|
||||
'site.description' => 'Einfamilienhaus zur Langzeitmiete in Schleusingen: 227 m² Wohnfläche, 6 Zimmer, 3 Etagen mit Dachterrasse. Kaltmiete 1.300 €. Bahnhofstraße 10, 98553 Schleusingen. Ab sofort verfügbar.',
|
||||
'site.og_locale' => 'de_DE',
|
||||
'site.canonical_base' => 'https://haus-schleusingen.de',
|
||||
|
||||
// ─── Navigation ──────────────────────────────────────────────────────
|
||||
'nav.skip' => 'Zum Inhalt springen',
|
||||
'nav.main' => 'Hauptnavigation',
|
||||
'nav.toggle' => 'Navigation öffnen',
|
||||
'nav.gallery' => 'Galerie',
|
||||
'nav.layout' => 'Grundriss',
|
||||
'nav.rent' => 'Miete',
|
||||
'nav.location' => 'Lage',
|
||||
'nav.cta' => 'Jetzt anfragen',
|
||||
|
||||
// ─── Hero ────────────────────────────────────────────────────────────
|
||||
'hero.tag' => 'Zur Langzeitmiete · Ab sofort verfügbar',
|
||||
'hero.h1.line1' => 'Großzügiges',
|
||||
'hero.h1.line2' => 'Einfamilienhaus',
|
||||
'hero.h1.line3' => 'in Schleusingen',
|
||||
'hero.address' => 'Schleusinger Bahnhofstraße 10',
|
||||
'hero.area' => '227 m² Wohnfläche',
|
||||
'hero.rooms' => '6 Zimmer',
|
||||
'hero.floors' => '3 Etagen + Dachterrasse',
|
||||
'hero.discover' => 'Entdecken',
|
||||
|
||||
// ─── Facts strip ─────────────────────────────────────────────────────
|
||||
'facts.area' => 'm² Wohnfläche',
|
||||
'facts.rooms' => 'Zimmer',
|
||||
'facts.floors' => 'Etagen',
|
||||
'facts.rent' => '€ Kaltmiete',
|
||||
|
||||
// ─── Intro ───────────────────────────────────────────────────────────
|
||||
'intro.eyebrow' => 'Das Objekt',
|
||||
'intro.h2' => 'Wohnen mit Charakter und viel Raum',
|
||||
'intro.p1' => 'Vermietet wird ein vollständiges Einfamilienhaus in ruhiger Lage von Schleusingen. Das Haus verbindet historischen Charme mit modernem Wohnkomfort auf drei großzügigen Etagen.',
|
||||
'intro.p2' => 'Garage für zwei Fahrzeuge, großzügige Dachterrasse mit 35,8 m², vollausgestattete Küche, Vollbad sowie Abstell- und Nutzräume machen das Haus zu einem außergewöhnlichen Mietobjekt.',
|
||||
'intro.stats.area' => 'Nutzfläche',
|
||||
'intro.stats.terrace' => 'Dachterrasse',
|
||||
'intro.stats.garage' => 'Garage',
|
||||
'intro.badge' => 'Wohnzimmer · 42,6 m²',
|
||||
|
||||
// ─── Gallery ─────────────────────────────────────────────────────────
|
||||
'gallery.aria' => 'Fotogalerie',
|
||||
'gallery.eyebrow' => 'Fotogalerie',
|
||||
'gallery.h2' => 'Einblicke ins Haus',
|
||||
'gallery.zoom' => '– Großansicht öffnen',
|
||||
'gallery.exterior' => 'Außenansicht',
|
||||
'gallery.living' => 'Wohnzimmer',
|
||||
'gallery.living_area' => 'Wohnzimmer · 42,6 m²',
|
||||
'gallery.kitchen' => 'Küche · 18,4 m²',
|
||||
'gallery.bedroom' => 'Schlafzimmer · 18 m²',
|
||||
'gallery.bath' => 'Badezimmer · 9,8 m²',
|
||||
'gallery.kid1' => 'Kinderzimmer 1 · 21,7 m²',
|
||||
'gallery.kid2' => 'Kinderzimmer 2 · 15,7 m²',
|
||||
'gallery.kid_detail' => 'Kinderzimmer Detail',
|
||||
'gallery.guest' => 'Gästezimmer · 11,5 m²',
|
||||
'gallery.area1' => 'Wohnbereich',
|
||||
'gallery.area2' => 'Wohnbereich Detail',
|
||||
'gallery.area3' => 'Hausansicht',
|
||||
'gallery.alt.living' => 'Wohnzimmer mit 42,6 m² Wohnfläche',
|
||||
'gallery.alt.kitchen' => 'Küche mit 18,4 m²',
|
||||
'gallery.alt.bedroom' => 'Schlafzimmer mit 18 m²',
|
||||
'gallery.alt.bath' => 'Badezimmer mit 9,8 m²',
|
||||
'gallery.alt.kid1' => 'Kinderzimmer 1 mit 21,7 m²',
|
||||
'gallery.alt.kid2' => 'Kinderzimmer 2 mit 15,7 m²',
|
||||
'gallery.alt.kid_detail' => 'Detailansicht Kinderzimmer',
|
||||
'gallery.alt.guest' => 'Gästezimmer mit 11,5 m²',
|
||||
'gallery.alt.bath2' => 'Zweites Badezimmer im Haus',
|
||||
'gallery.alt.bath3' => 'Drittes Badezimmer im Haus',
|
||||
'gallery.alt.exterior' => 'Außenansicht des Einfamilienhauses',
|
||||
|
||||
// ─── Floor plans (Grundriss) ────────────────────────────────────────
|
||||
'floors.eyebrow' => 'Raumaufteilung',
|
||||
'floors.h2' => 'Großzügig auf allen Etagen',
|
||||
'floors.eg.title' => 'Erdgeschoss',
|
||||
'floors.og1.title' => '1. Obergeschoss',
|
||||
'floors.og2.title' => '2. Obergeschoss',
|
||||
'floors.attic.title' => 'Dachboden',
|
||||
'floors.eg.area' => '99,5 m²',
|
||||
'floors.og1.area' => '120,4 m²',
|
||||
'floors.og2.area' => '68 m²',
|
||||
'floors.attic.area' => '94 m² Nutzfläche',
|
||||
'floors.room.hall' => 'Flur',
|
||||
'floors.room.wc' => 'WC',
|
||||
'floors.room.garage' => 'Garage / Partykeller',
|
||||
'floors.room.storage1' => 'Abstellraum 1',
|
||||
'floors.room.storage2' => 'Abstellraum 2',
|
||||
'floors.room.heating' => 'Heizungskeller',
|
||||
'floors.room.living' => 'Wohnzimmer',
|
||||
'floors.room.guest' => 'Gästezimmer',
|
||||
'floors.room.bath' => 'Badezimmer',
|
||||
'floors.room.kitchen' => 'Küche',
|
||||
'floors.room.bedroom' => 'Schlafzimmer',
|
||||
'floors.room.kid1' => 'Kinderzimmer 1',
|
||||
'floors.room.kid2' => 'Kinderzimmer 2',
|
||||
'floors.room.play' => 'Spielzimmer',
|
||||
'floors.room.dressing' => 'Ankleidezimmer',
|
||||
'floors.room.terrace' => 'Dachterrasse',
|
||||
'floors.room.terrace_note' => '(25% von 35,8 m²)',
|
||||
'floors.room.attic_low' => 'Dachboden unten (ungeheizt)',
|
||||
'floors.room.attic_mid' => 'Dachboden Mitte (ungeheizt)',
|
||||
'floors.room.attic_high' => 'Dachboden oben (ungeheizt)',
|
||||
'floors.alt.eg' => 'Grundriss Erdgeschoss',
|
||||
'floors.alt.og1' => 'Grundriss 1. Obergeschoss',
|
||||
'floors.alt.og2' => 'Grundriss 2. Obergeschoss',
|
||||
'floors.alt.attic' => 'Grundriss Dachboden',
|
||||
|
||||
// ─── Rent (Miete) ────────────────────────────────────────────────────
|
||||
'rent.eyebrow' => 'Mietkonditionen',
|
||||
'rent.aria' => 'Mietkonditionen',
|
||||
'rent.h2' => 'Transparente Preisgestaltung',
|
||||
'rent.cold' => 'Kaltmiete',
|
||||
'rent.warm' => 'Gesamtmiete warm',
|
||||
'rent.deposit' => 'Kaution',
|
||||
'rent.per_month' => 'pro Monat',
|
||||
'rent.warm_includes' => 'inkl. 300 € Nebenkosten',
|
||||
'rent.deposit_months' => '2 Nettokaltmieten',
|
||||
'rent.note.available' => 'Verfügbarkeit',
|
||||
'rent.note.available_val'=> 'Ab sofort · unbefristete Laufzeit',
|
||||
'rent.note.costs' => 'Nebenkosten',
|
||||
'rent.note.costs_val' => 'Vorauszahlung 300 €/Monat, jährliche Abrechnung',
|
||||
'rent.note.energy' => 'Energieausweis',
|
||||
'rent.note.energy_val' => 'Wird bei Mietbeginn übergeben · Erdgasheizung',
|
||||
'rent.note.pets' => 'Haustiere',
|
||||
'rent.note.pets_val' => 'Auf Anfrage',
|
||||
|
||||
// ─── Location (Lage) ─────────────────────────────────────────────────
|
||||
'loc.eyebrow' => 'Standort',
|
||||
'loc.h2' => 'Zentral und ruhig zugleich',
|
||||
'loc.shopping' => 'Einkaufen & Versorgung',
|
||||
'loc.shopping_desc' => 'Supermärkte, Ärzte, Apotheken und Schulen sind fußläufig erreichbar',
|
||||
'loc.transport' => 'Öffentlicher Nahverkehr',
|
||||
'loc.transport_desc' => 'Zentrale Bushaltestelle ca. 200 m entfernt — direkte Verbindungen in die Region',
|
||||
'loc.center' => 'Innenstadt Schleusingen',
|
||||
'loc.center_desc' => 'Wochenmarkt und Stadtmitte nur ca. 500 m entfernt',
|
||||
'loc.address' => 'Genaue Adresse',
|
||||
'loc.address_val' => 'Schleusinger Bahnhofstraße 10<br />98553 Schleusingen, Thüringen',
|
||||
'loc.map_title' => 'Standort Bahnhofstraße 10, Schleusingen',
|
||||
|
||||
// ─── Contact ─────────────────────────────────────────────────────────
|
||||
'contact.eyebrow' => 'Kontakt',
|
||||
'contact.aria' => 'Kontaktformular',
|
||||
'contact.h2' => 'Interesse?',
|
||||
'contact.h2_em' => 'Schreiben Sie uns.',
|
||||
'contact.intro' => 'Wir freuen uns über Ihre Anfrage und melden uns innerhalb von 24 Stunden. Besichtigungstermine sind nach Absprache möglich. Bitte geben Sie bei Ihrer Anfrage ein paar Terminvorschläge an.',
|
||||
'contact.success' => 'Vielen Dank für Ihre Anfrage!',
|
||||
'contact.success_sub' => 'Wir haben Ihre Nachricht erhalten und melden uns innerhalb von 24 Stunden bei Ihnen.',
|
||||
'contact.fname' => 'Vorname',
|
||||
'contact.lname' => 'Nachname',
|
||||
'contact.email' => 'E-Mail',
|
||||
'contact.phone' => 'Telefon',
|
||||
'contact.interest' => 'Anliegen',
|
||||
'contact.interest_visit' => 'Besichtigung anfragen',
|
||||
'contact.interest_info' => 'Allgemeine Informationen',
|
||||
'contact.interest_apply' => 'Mietbewerbung einreichen',
|
||||
'contact.message' => 'Nachricht',
|
||||
'contact.submit' => 'Anfrage absenden',
|
||||
'contact.hp_label' => 'Website',
|
||||
'contact.direct' => 'Oder schreiben Sie uns direkt:',
|
||||
|
||||
// ─── Footer ──────────────────────────────────────────────────────────
|
||||
'footer.address' => 'Bahnhofstraße 10 · Schleusingen',
|
||||
'footer.imprint' => 'Impressum',
|
||||
'footer.privacy' => 'Datenschutz',
|
||||
|
||||
// ─── Lightbox ────────────────────────────────────────────────────────
|
||||
'lightbox.aria' => 'Bildansicht',
|
||||
'lightbox.close' => 'Bildansicht schließen',
|
||||
|
||||
// ─── Legal pages ─────────────────────────────────────────────────────
|
||||
'legal.back' => '← Zurück zum Objekt',
|
||||
'legal.german_only' => 'Diese Seite ist nur auf Deutsch verfügbar.',
|
||||
'legal.imprint_eyebrow' => 'Pflichtangaben',
|
||||
'legal.imprint_h1' => 'Impressum',
|
||||
'legal.privacy_eyebrow' => 'Datenschutz',
|
||||
'legal.privacy_h1' => 'Datenschutzerklärung',
|
||||
|
||||
// ─── Locale switcher (UI) ────────────────────────────────────────────
|
||||
'locale.switcher.aria' => 'Sprache wählen',
|
||||
'locale.de' => 'Deutsch',
|
||||
'locale.en' => 'English',
|
||||
'locale.uk' => 'Українська',
|
||||
'locale.ru' => 'Русский',
|
||||
'locale.current' => 'Aktuelle Sprache: {lang}',
|
||||
|
||||
// ─── Form errors (keys are referenced by the controller) ────────────
|
||||
'form.error.csrf' => 'Sicherheitsüberprüfung fehlgeschlagen. Bitte versuchen Sie es erneut.',
|
||||
'form.error.fname_required' => 'Bitte geben Sie Ihren Vornamen an.',
|
||||
'form.error.lname_required' => 'Bitte geben Sie Ihren Nachnamen an.',
|
||||
'form.error.email_invalid' => 'Bitte geben Sie eine gültige E-Mail-Adresse an.',
|
||||
'form.error.message_required' => 'Bitte geben Sie eine Nachricht ein.',
|
||||
'form.error.header_injection' => 'Ungültige Zeichen in den Eingabefeldern.',
|
||||
'form.error.too_fast' => 'Das Formular wurde zu schnell abgeschickt. Bitte versuchen Sie es erneut.',
|
||||
'form.error.rate_limit' => 'Bitte warten Sie einen Moment vor der nächsten Anfrage.',
|
||||
'form.error.send_failed' => 'Leider konnte die E-Mail nicht gesendet werden. Bitte versuchen Sie es später erneut oder schreiben Sie uns direkt an mki@kies-media.de.',
|
||||
|
||||
// ─── Form interest options ──────────────────────────────────────────
|
||||
'form.interest.visit' => 'Besichtigung anfragen',
|
||||
'form.interest.info' => 'Allgemeine Informationen',
|
||||
'form.interest.apply' => 'Mietbewerbung einreichen',
|
||||
|
||||
// ─── Misc ───────────────────────────────────────────────────────────
|
||||
'nav.back_home' => '← Zurück zur Startseite',
|
||||
|
||||
// ─── Address & structured data (JSON-LD, search engines) ───────────
|
||||
'address.street' => 'Bahnhofstraße 10',
|
||||
'address.city' => 'Schleusingen',
|
||||
'structured.listing_name' => 'Einfamilienhaus zur Miete in Schleusingen',
|
||||
'structured.listing_description' => 'Großzügiges Einfamilienhaus zur Langzeitmiete: 227 m² Wohnfläche, 6 Zimmer, 3 Etagen mit Dachterrasse. Kaltmiete 1.300 €.',
|
||||
'structured.price_description' => 'Kaltmiete pro Monat',
|
||||
];
|
||||
Reference in New Issue
Block a user