Gebuendelt, da ueber gemeinsame lang-/Service-Dateien verschraenkt: - Kontakt-Nachrichten: contact_messages-Tabelle + Model/Enums/Factory, Admin-Queue (livewire/admin/contact-messages), ContactController persistiert das Anliegen zusaetzlich zur Brand-Mail - Page-Data-Cache (Services/Web/*PageData) + web-archive-Indizes auf press_releases - Validierungs-Feedback + Company-Portal-Restriction (Feature-Tests) - i18n-Auslagerung lang/de|en (auth, passwords, validation, static) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
222 lines
12 KiB
PHP
222 lines
12 KiB
PHP
<?php
|
|
|
|
/*
|
|
* Deutsche Validierungsmeldungen (Laravel-Standardregeln). Fallback-Locale
|
|
* ist `en` (Framework-Texte aus dem Vendor); diese Datei greift auf allen
|
|
* Seiten mit Locale `de` — Portal, Hub und /de-Ausgabe der Spokes.
|
|
*/
|
|
|
|
return [
|
|
|
|
'accepted' => ':attribute muss akzeptiert werden.',
|
|
'accepted_if' => ':attribute muss akzeptiert werden, wenn :other :value ist.',
|
|
'active_url' => ':attribute ist keine gültige Internet-Adresse.',
|
|
'after' => ':attribute muss ein Datum nach dem :date sein.',
|
|
'after_or_equal' => ':attribute muss ein Datum nach dem :date oder gleich dem :date sein.',
|
|
'alpha' => ':attribute darf nur aus Buchstaben bestehen.',
|
|
'alpha_dash' => ':attribute darf nur aus Buchstaben, Zahlen, Binde- und Unterstrichen bestehen.',
|
|
'alpha_num' => ':attribute darf nur aus Buchstaben und Zahlen bestehen.',
|
|
'any_of' => ':attribute ist ungültig.',
|
|
'array' => ':attribute muss eine Liste sein.',
|
|
'ascii' => ':attribute darf nur alphanumerische Ein-Byte-Zeichen und Symbole enthalten.',
|
|
'before' => ':attribute muss ein Datum vor dem :date sein.',
|
|
'before_or_equal' => ':attribute muss ein Datum vor dem :date oder gleich dem :date sein.',
|
|
'between' => [
|
|
'array' => ':attribute muss zwischen :min und :max Elemente haben.',
|
|
'file' => ':attribute muss zwischen :min und :max Kilobytes groß sein.',
|
|
'numeric' => ':attribute muss zwischen :min und :max liegen.',
|
|
'string' => ':attribute muss zwischen :min und :max Zeichen lang sein.',
|
|
],
|
|
'boolean' => ':attribute muss „wahr" oder „falsch" sein.',
|
|
'can' => ':attribute enthält einen unzulässigen Wert.',
|
|
'confirmed' => ':attribute stimmt nicht mit der Bestätigung überein.',
|
|
'contains' => ':attribute enthält einen erforderlichen Wert nicht.',
|
|
'current_password' => 'Das Passwort ist falsch.',
|
|
'date' => ':attribute muss ein gültiges Datum sein.',
|
|
'date_equals' => ':attribute muss ein Datum gleich dem :date sein.',
|
|
'date_format' => ':attribute entspricht nicht dem gültigen Format für :format.',
|
|
'decimal' => ':attribute muss :decimal Dezimalstellen haben.',
|
|
'declined' => ':attribute muss abgelehnt werden.',
|
|
'declined_if' => ':attribute muss abgelehnt werden, wenn :other :value ist.',
|
|
'different' => ':attribute und :other müssen sich unterscheiden.',
|
|
'digits' => ':attribute muss :digits Stellen haben.',
|
|
'digits_between' => ':attribute muss zwischen :min und :max Stellen haben.',
|
|
'dimensions' => ':attribute hat ungültige Bildabmessungen.',
|
|
'distinct' => ':attribute enthält einen bereits vorhandenen Wert.',
|
|
'doesnt_contain' => ':attribute darf keinen der folgenden Werte enthalten: :values.',
|
|
'doesnt_end_with' => ':attribute darf nicht mit einem der folgenden Werte enden: :values.',
|
|
'doesnt_start_with' => ':attribute darf nicht mit einem der folgenden Werte beginnen: :values.',
|
|
'email' => ':attribute muss eine gültige E-Mail-Adresse sein.',
|
|
'ends_with' => ':attribute muss mit einem der folgenden Werte enden: :values.',
|
|
'enum' => 'Der ausgewählte Wert für :attribute ist ungültig.',
|
|
'exists' => 'Der ausgewählte Wert für :attribute ist ungültig.',
|
|
'extensions' => ':attribute muss eine der folgenden Dateiendungen haben: :values.',
|
|
'file' => ':attribute muss eine Datei sein.',
|
|
'filled' => ':attribute muss ausgefüllt sein.',
|
|
'gt' => [
|
|
'array' => ':attribute muss mehr als :value Elemente haben.',
|
|
'file' => ':attribute muss größer als :value Kilobytes sein.',
|
|
'numeric' => ':attribute muss größer als :value sein.',
|
|
'string' => ':attribute muss länger als :value Zeichen sein.',
|
|
],
|
|
'gte' => [
|
|
'array' => ':attribute muss mindestens :value Elemente haben.',
|
|
'file' => ':attribute muss größer oder gleich :value Kilobytes sein.',
|
|
'numeric' => ':attribute muss größer oder gleich :value sein.',
|
|
'string' => ':attribute muss mindestens :value Zeichen lang sein.',
|
|
],
|
|
'hex_color' => ':attribute muss eine gültige Hexadezimal-Farbe sein.',
|
|
'image' => ':attribute muss ein Bild sein.',
|
|
'in' => 'Der ausgewählte Wert für :attribute ist ungültig.',
|
|
'in_array' => ':attribute kommt in :other nicht vor.',
|
|
'in_array_keys' => ':attribute muss mindestens einen der folgenden Schlüssel enthalten: :values.',
|
|
'integer' => ':attribute muss eine ganze Zahl sein.',
|
|
'ip' => ':attribute muss eine gültige IP-Adresse sein.',
|
|
'ipv4' => ':attribute muss eine gültige IPv4-Adresse sein.',
|
|
'ipv6' => ':attribute muss eine gültige IPv6-Adresse sein.',
|
|
'json' => ':attribute muss ein gültiger JSON-String sein.',
|
|
'list' => ':attribute muss eine Liste sein.',
|
|
'lowercase' => ':attribute muss in Kleinbuchstaben sein.',
|
|
'lt' => [
|
|
'array' => ':attribute muss weniger als :value Elemente haben.',
|
|
'file' => ':attribute muss kleiner als :value Kilobytes sein.',
|
|
'numeric' => ':attribute muss kleiner als :value sein.',
|
|
'string' => ':attribute muss kürzer als :value Zeichen sein.',
|
|
],
|
|
'lte' => [
|
|
'array' => ':attribute darf höchstens :value Elemente haben.',
|
|
'file' => ':attribute muss kleiner oder gleich :value Kilobytes sein.',
|
|
'numeric' => ':attribute muss kleiner oder gleich :value sein.',
|
|
'string' => ':attribute darf höchstens :value Zeichen lang sein.',
|
|
],
|
|
'mac_address' => ':attribute muss eine gültige MAC-Adresse sein.',
|
|
'max' => [
|
|
'array' => ':attribute darf höchstens :max Elemente haben.',
|
|
'file' => ':attribute darf höchstens :max Kilobytes groß sein.',
|
|
'numeric' => ':attribute darf höchstens :max sein.',
|
|
'string' => ':attribute darf höchstens :max Zeichen lang sein.',
|
|
],
|
|
'max_digits' => ':attribute darf höchstens :max Stellen haben.',
|
|
'mimes' => ':attribute muss eine Datei des Typs :values sein.',
|
|
'mimetypes' => ':attribute muss eine Datei des Typs :values sein.',
|
|
'min' => [
|
|
'array' => ':attribute muss mindestens :min Elemente haben.',
|
|
'file' => ':attribute muss mindestens :min Kilobytes groß sein.',
|
|
'numeric' => ':attribute muss mindestens :min sein.',
|
|
'string' => ':attribute muss mindestens :min Zeichen lang sein.',
|
|
],
|
|
'min_digits' => ':attribute muss mindestens :min Stellen haben.',
|
|
'missing' => ':attribute darf nicht vorhanden sein.',
|
|
'missing_if' => ':attribute darf nicht vorhanden sein, wenn :other :value ist.',
|
|
'missing_unless' => ':attribute darf nicht vorhanden sein, außer :other ist :value.',
|
|
'missing_with' => ':attribute darf nicht vorhanden sein, wenn :values vorhanden ist.',
|
|
'missing_with_all' => ':attribute darf nicht vorhanden sein, wenn :values vorhanden sind.',
|
|
'multiple_of' => ':attribute muss ein Vielfaches von :value sein.',
|
|
'not_in' => 'Der ausgewählte Wert für :attribute ist ungültig.',
|
|
'not_regex' => ':attribute hat ein ungültiges Format.',
|
|
'numeric' => ':attribute muss eine Zahl sein.',
|
|
'password' => [
|
|
'letters' => ':attribute muss mindestens einen Buchstaben enthalten.',
|
|
'mixed' => ':attribute muss mindestens einen Groß- und einen Kleinbuchstaben enthalten.',
|
|
'numbers' => ':attribute muss mindestens eine Zahl enthalten.',
|
|
'symbols' => ':attribute muss mindestens ein Sonderzeichen enthalten.',
|
|
'uncompromised' => ':attribute wurde in einem Datenleck gefunden. Bitte wählen Sie ein anderes :attribute.',
|
|
],
|
|
'present' => ':attribute muss vorhanden sein.',
|
|
'present_if' => ':attribute muss vorhanden sein, wenn :other :value ist.',
|
|
'present_unless' => ':attribute muss vorhanden sein, außer :other ist :value.',
|
|
'present_with' => ':attribute muss vorhanden sein, wenn :values vorhanden ist.',
|
|
'present_with_all' => ':attribute muss vorhanden sein, wenn :values vorhanden sind.',
|
|
'prohibited' => ':attribute ist unzulässig.',
|
|
'prohibited_if' => ':attribute ist unzulässig, wenn :other :value ist.',
|
|
'prohibited_if_accepted' => ':attribute ist unzulässig, wenn :other akzeptiert wurde.',
|
|
'prohibited_if_declined' => ':attribute ist unzulässig, wenn :other abgelehnt wurde.',
|
|
'prohibited_unless' => ':attribute ist unzulässig, außer :other ist in :values enthalten.',
|
|
'prohibits' => ':attribute verbietet die Angabe von :other.',
|
|
'regex' => ':attribute hat ein ungültiges Format.',
|
|
'required' => ':attribute muss ausgefüllt werden.',
|
|
'required_array_keys' => ':attribute muss folgende Einträge enthalten: :values.',
|
|
'required_if' => ':attribute muss ausgefüllt werden, wenn :other :value ist.',
|
|
'required_if_accepted' => ':attribute muss ausgefüllt werden, wenn :other akzeptiert wurde.',
|
|
'required_if_declined' => ':attribute muss ausgefüllt werden, wenn :other abgelehnt wurde.',
|
|
'required_unless' => ':attribute muss ausgefüllt werden, wenn :other nicht :values ist.',
|
|
'required_with' => ':attribute muss ausgefüllt werden, wenn :values ausgefüllt ist.',
|
|
'required_with_all' => ':attribute muss ausgefüllt werden, wenn :values ausgefüllt sind.',
|
|
'required_without' => ':attribute muss ausgefüllt werden, wenn :values nicht ausgefüllt ist.',
|
|
'required_without_all' => ':attribute muss ausgefüllt werden, wenn keines der Felder :values ausgefüllt ist.',
|
|
'same' => ':attribute und :other müssen übereinstimmen.',
|
|
'size' => [
|
|
'array' => ':attribute muss genau :size Elemente haben.',
|
|
'file' => ':attribute muss :size Kilobytes groß sein.',
|
|
'numeric' => ':attribute muss gleich :size sein.',
|
|
'string' => ':attribute muss :size Zeichen lang sein.',
|
|
],
|
|
'starts_with' => ':attribute muss mit einem der folgenden Werte beginnen: :values.',
|
|
'string' => ':attribute muss ein String sein.',
|
|
'timezone' => ':attribute muss eine gültige Zeitzone sein.',
|
|
'unique' => ':attribute ist bereits vergeben.',
|
|
'uploaded' => ':attribute konnte nicht hochgeladen werden.',
|
|
'uppercase' => ':attribute muss in Großbuchstaben sein.',
|
|
'url' => ':attribute muss eine gültige URL sein.',
|
|
'ulid' => ':attribute muss eine gültige ULID sein.',
|
|
'uuid' => ':attribute muss eine gültige UUID sein.',
|
|
|
|
/*
|
|
* Eigene Meldungen für einzelne Regeln/Felder:
|
|
* 'custom' => ['attribute-name' => ['rule-name' => 'custom-message']],
|
|
*/
|
|
'custom' => [],
|
|
|
|
/*
|
|
* Deutsche Feldbezeichnungen, damit Meldungen keine technischen
|
|
* Feldnamen wie "reported_url" enthalten.
|
|
*/
|
|
'attributes' => [
|
|
'name' => 'Name',
|
|
'email' => 'E-Mail-Adresse',
|
|
'password' => 'Passwort',
|
|
'current_password' => 'Aktuelles Passwort',
|
|
'message' => 'Nachricht',
|
|
'topic' => 'Anliegen',
|
|
'page_url' => 'Seiten-URL',
|
|
'title' => 'Titel',
|
|
'subtitle' => 'Untertitel',
|
|
'text' => 'Text',
|
|
'keywords' => 'Schlagwörter',
|
|
'language' => 'Sprache',
|
|
'category_id' => 'Rubrik',
|
|
'company_id' => 'Unternehmen',
|
|
'reported_url' => 'URL der betroffenen Pressemitteilung',
|
|
'requester_name' => 'Name',
|
|
'requester_email' => 'E-Mail-Adresse',
|
|
'truth_affirmed' => 'Bestätigung',
|
|
'kind' => 'Art der Kündigung',
|
|
'reason' => 'Kündigungsgrund',
|
|
'contract_reference' => 'Vertrags-/Rechnungsnummer',
|
|
'terminate_mode' => 'Beendigungszeitpunkt',
|
|
'terminate_at' => 'Beendigungsdatum',
|
|
'phone' => 'Telefonnummer',
|
|
'street' => 'Straße',
|
|
'zip' => 'Postleitzahl',
|
|
'city' => 'Ort',
|
|
'country' => 'Land',
|
|
'website' => 'Website',
|
|
|
|
// Livewire-Properties der PM-Editoren (camelCase) — ohne diese
|
|
// Einträge erzeugt Laravel Meldungen wie "category id muss …".
|
|
'companyId' => 'Firma',
|
|
'categoryId' => 'Kategorie',
|
|
'contactId' => 'Pressekontakt',
|
|
'backlinkUrl' => 'Backlink-URL',
|
|
'boilerplateOverride' => 'Boilerplate-Text',
|
|
'publishMode' => 'Veröffentlichungsmodus',
|
|
'scheduledDate' => 'Veröffentlichungsdatum',
|
|
'scheduledTime' => 'Veröffentlichungsuhrzeit',
|
|
'scheduledAt' => 'Veröffentlichungstermin',
|
|
'embargoAt' => 'Embargo-Termin',
|
|
'portal' => 'Portal',
|
|
'aiTextDeclaration' => 'KI-Kennzeichnung des Textes',
|
|
'aiDeclarationConfirmed' => 'Bestätigung der KI-Angaben',
|
|
],
|
|
|
|
];
|