diff --git a/resources/lang/de.json b/resources/lang/de.json
new file mode 100644
index 0000000..b80b473
--- /dev/null
+++ b/resources/lang/de.json
@@ -0,0 +1,54 @@
+{
+ "(and :count more error)": "(und :count weiterer Fehler)",
+ "(and :count more errors)": "(und :count weitere Fehler)",
+ "A fresh verification link has been sent to your email address.": "Ein neuer Bestätigungslink wurde an Ihre E-Mail-Adresse gesendet.",
+ "All rights reserved.": "Alle Rechte vorbehalten.",
+ "Before proceeding, please check your email for a verification link.": "Bevor Sie fortfahren, überprüfen Sie bitte Ihre E-Mail auf einen Bestätigungslink.",
+ "click here to request another": "hier klicken, um einen neuen anzufordern",
+ "Confirm Password": "Passwort bestätigen",
+ "Dashboard": "Dashboard",
+ "Email Address": "E-Mail-Adresse",
+ "Forbidden": "Verboten",
+ "Forgot Your Password?": "Passwort vergessen?",
+ "Go to page :page": "Zur Seite :page gehen",
+ "Hello!": "Hallo!",
+ "If you did not create an account, no further action is required.": "Wenn Sie kein Konto erstellt haben, ist keine weitere Aktion erforderlich.",
+ "If you did not receive the email": "Wenn Sie die E-Mail nicht erhalten haben",
+ "If you did not request a password reset, no further action is required.": "Wenn Sie keine Passwortzurücksetzung angefordert haben, ist keine weitere Aktion erforderlich.",
+ "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Wenn Sie Probleme haben, auf die Schaltfläche \":actionText\" zu klicken, kopieren Sie die folgende URL\nund fügen Sie sie in Ihren Webbrowser ein:",
+ "Invalid JSON was returned from the route.": "Von der Route wurde ein ungültiges JSON zurückgegeben.",
+ "Login": "Anmelden",
+ "Logout": "Abmelden",
+ "Name": "Name",
+ "Not Found": "Nicht gefunden",
+ "of": "von",
+ "Page Expired": "Seite abgelaufen",
+ "Pagination Navigation": "Seitennavigation",
+ "Password": "Passwort",
+ "Payment Required": "Zahlung erforderlich",
+ "Please click the button below to verify your email address.": "Bitte klicken Sie auf die Schaltfläche unten, um Ihre E-Mail-Adresse zu bestätigen.",
+ "Please confirm your password before continuing.": "Bitte bestätigen Sie Ihr Passwort, bevor Sie fortfahren.",
+ "Regards": "Mit freundlichen Grüßen",
+ "Register": "Registrieren",
+ "Remember Me": "Angemeldet bleiben",
+ "Reset Password": "Passwort zurücksetzen",
+ "Reset Password Notification": "Benachrichtigung zur Passwortzurücksetzung",
+ "results": "Ergebnisse",
+ "Send Password Reset Link": "Link zur Passwortzurücksetzung senden",
+ "Server Error": "Serverfehler",
+ "Service Unavailable": "Dienst nicht verfügbar",
+ "Showing": "Anzeige",
+ "The given data was invalid.": "Die angegebenen Daten waren ungültig.",
+ "The response is not a streamed response.": "Die Antwort ist keine gestreamte Antwort.",
+ "The response is not a view.": "Die Antwort ist keine Ansicht.",
+ "This password reset link will expire in :count minutes.": "Dieser Link zur Passwortzurücksetzung läuft in :count Minuten ab.",
+ "to": "bis",
+ "Toggle navigation": "Navigation umschalten",
+ "Too Many Requests": "Zu viele Anfragen",
+ "Unauthorized": "Nicht autorisiert",
+ "Verify Email Address": "E-Mail-Adresse bestätigen",
+ "Verify Your Email Address": "Bestätigen Sie Ihre E-Mail-Adresse",
+ "Whoops!": "Hoppla!",
+ "You are logged in!": "Sie sind angemeldet!",
+ "You are receiving this email because we received a password reset request for your account.": "Sie erhalten diese E-Mail, weil wir eine Anfrage zur Passwortzurücksetzung für Ihr Konto erhalten haben."
+}
diff --git a/resources/lang/de/auth.php b/resources/lang/de/auth.php
new file mode 100644
index 0000000..b9b93be
--- /dev/null
+++ b/resources/lang/de/auth.php
@@ -0,0 +1,9 @@
+ 'Diese Kombination aus Zugangsdaten wurde nicht in unserer Datenbank gefunden.',
+ 'password' => 'Das Passwort ist falsch.',
+ 'throttle' => 'Zu viele Loginversuche. Versuchen Sie es bitte in :seconds Sekunden nochmal.',
+];
diff --git a/resources/lang/de/cookie-notice.php b/resources/lang/de/cookie-notice.php
new file mode 100644
index 0000000..ce7e2af
--- /dev/null
+++ b/resources/lang/de/cookie-notice.php
@@ -0,0 +1,46 @@
+ 'Cookie-Einstellungen',
+ 'button_close_cookies' => 'Cookies-Fenster schließen',
+ 'button_toggle_cookie' => 'Akzeptieren oder ablehnen',
+ 'button_forbid_all' => 'Alle ablehnen',
+ 'button_allow_all' => 'Alle akzeptieren',
+ 'button_forbid_all_title' => 'Lehnen Sie alle Cookies ab und schließen Sie das Cookie-Panel',
+ 'button_allow_all_title' => 'Akzeptieren Sie alle Cookies und schließen Sie das Cookie-Panel',
+ 'button_customize' => 'Einstellungen',
+ 'button_validate_and_close' => 'Bestätigen und schließen',
+ 'button_title_open_new_tab' => 'Link in neuem Tab öffnen',
+ 'banner_title' => 'Die Website :site_name nutzt Cookies!',
+ 'banner_text' => 'Wir verwenden Cookies, um sicherzustellen, dass unsere Website ordnungsgemäß funktioniert, und zu analytischen Zwecken.
+ Sie können Ihre Meinung jederzeit ändern, indem Sie auf das Symbol auf jeder Seite unserer Website klicken.
+ Wenn Sie diese Dienste von Drittanbietern zulassen, stimmen Sie dem Ablegen und Lesen von Cookies und der Verwendung von Tracking-Technologien zu, die für das Funktionieren dieser Dienste erforderlich sind.',
+ 'panel_content' => 'Inhalt des Cookie-Verwaltungspanels',
+ 'picture_cookie_title' => 'Bild eines schönen großen Kekses',
+ 'navigation_title' => 'Navigation im Cookie-Panel',
+ 'custom' => [
+ 'analytics' => [
+ 'title' => 'Google Analytics',
+ 'description' => 'Dienste zur Zielgruppenmessung ermöglichen die Erstellung von Besucherstatistiken, die zur Verbesserung der Website nützlich sind.',
+ ],
+ 'youtube' => [
+ 'title' => 'Youtube',
+ 'description' => 'Über Video-Sharing-Dienste platzierte Cookies sollen es dem Benutzer ermöglichen, Multimedia-Inhalte direkt auf der Website anzusehen.',
+ 'labelLink' => 'Erfahren Sie mehr',
+ 'warning' => 'Sie müssen Cookies akzeptieren, um dieses Video anzusehen',
+ ],
+ 'matomo' => [
+ 'title' => 'Matomo',
+ 'description' => 'Mithilfe von Publikumsmessungsdiensten werden Verkehrsstatistiken erstellt, die zur Verbesserung der Website nützlich sind.',
+ 'labelLink' => 'Erfahren Sie mehr',
+ ],
+ 'recaptcha' => [
+ 'title' => 'reCAPTCHA',
+ 'description' => 'Der Zweck der über das Recaptcha auf Formularen platzierten Cookies besteht darin, zu verhindern, dass diese von Robotern übermittelt werden.',
+ 'labelLink' => 'Erfahren Sie mehr',
+ 'warning' => 'Sie müssen reCAPTCHA Cookies akzeptieren, um das Formular senden zu können',
+ ]
+ ]
+];
diff --git a/resources/lang/de/crud.php b/resources/lang/de/crud.php
new file mode 100644
index 0000000..cce9582
--- /dev/null
+++ b/resources/lang/de/crud.php
@@ -0,0 +1,93 @@
+ [
+ 'list' => 'Aufführen',
+ 'view' => 'Sicht',
+ 'create' => 'Erstellen',
+ 'update' => 'Aktualisieren',
+ 'delete' => 'Löschen',
+ 'create' => 'Erstellen',
+ 'save' => 'Speichern',
+ 'edit' => 'Bearbeiten',
+ ],
+
+ 'helpers' => [
+ 'list' => 'Aufführen',
+ 'list_all' => 'Alle auflisten :model',
+ 'create_model' => 'Erstellen :model',
+ 'view_model' => 'Ansicht :model',
+ 'update_model' => 'Aktualisieren :model',
+ 'duplicate_model' => 'Duplizieren :model',
+ 'delete_model' => 'Löschen :model',
+ 'save_model' => 'Speichern :model',
+ 'edit_model' => 'Bearbeiten :model',
+ 'no_results' => 'Keine Ergebnisse für :models',
+ 'publish' => 'Veröffentlichen',
+ 'unpublish' => 'Veröffentlichung aufheben',
+ 'seo_title' => 'Muss die Seite genau beschreiben, Empfehlung für eine optimale Positionierung
+ in den Suchmaschinen (Tag
).',
+ 'seo_description' => 'Muss den Inhalt der Seite genau beschreiben (Meta-Tag description).',
+ ],
+
+ 'libs' => [
+ 'toolbox' => [
+ 'assertFieldIsUnique' => 'Der :value für das :attribute wird bereits verwendet',
+ 'assertNoInternalBoUrls' => ':attribute : Es ist verboten, Backoffice-URLs in dieses Feld einzufügen',
+ 'assertNoInternalUrls' => ':attribute : Es ist verboten, eine URL von „:appname“ in dieses Feld einzufügen'
+ ]
+ ],
+
+ 'messages' => [
+ 'has_been_created' => ':model wurde erstellt',
+ 'cannot_be_created' => ':model kann nicht erstellt werden',
+ 'has_been_updated' => ':model wurde aktualisiert',
+ 'cannot_be_updated' => ':model kann nicht aktualisiert werden',
+ 'has_been_deleted' => ':model wurde gelöscht',
+ 'cannot_be_deleted' => ':model kann nicht gelöscht werden',
+ 'order_changed' => 'Die Reihenfolge wurde geändert!',
+ 'order_not_changed' => 'Die Reihenfolge wurde nicht geändert!',
+ 'publish_status_saved' => 'Änderung des Veröffentlichungsstatus erfolgreich!',
+ 'right' => 'Sie haben keine Rechte, um auf diesen Teil zuzugreifen!',
+ 'theme_updated' => 'Das Thema wurde aktualisiert!',
+ ],
+
+ 'minicrud' => [
+ 'visibility_label' => 'Sichtbarkeit',
+ 'visibility_helper' => 'Aktivieren Sie es, um es sichtbar zu machen.',
+ 'enum_select' => 'Wählen Sie :enum aus der Liste aus.',
+ 'select' => 'Wählen Sie :entity aus der Liste aus.',
+ 'associated_enum' => 'Verbunden :enum',
+ 'associated' => 'Verbunden :entity',
+ 'dimensions_must_be' => 'Muss :widthpx (Breite) mal :heightpx (Höhe) sein.',
+ 'picture_title_helper' => 'Nützlich für Benutzer, angezeigt durch Bewegen der Maus über das Bild',
+ 'picture_title_label' => 'Titelattribut des Bildes',
+ 'picture_alt_helper' => 'Muss Ihr Bild für Suchmaschinen und Blinde beschreiben (5 bis 6 Wörter)',
+ 'picture_alt_label' => 'Alt-Attribut des Bildes',
+ 'text_warning' => 'Lies deine Inhalte Korrektur, bevor du sie veröffentlichst',
+ 'url' => 'Doit être une url valide.',
+ ],
+
+ 'pagination' => [
+ 'previous' => 'Vorherige Seite',
+ 'next' => 'Nächste Seite',
+ 'specific_page' => 'Zur Seite Nr. :id gehen',
+ 'paginate_list' => 'Anzahl der Elemente pro Seite',
+ ],
+
+ 'other' => [
+ 'up' => 'Anzeigereihenfolge nach oben ändern',
+ 'down' => 'Anzeigereihenfolge nach unten ändern',
+ 'no_model_found' => 'Kein :model gefunden',
+ 'publish' => 'Veröffentlicht',
+ 'unpublish' => 'Nicht veröffentlicht',
+ 'search_start' => 'Suche starten',
+ 'search_delete' => 'Suche löschen',
+ 'search_placeholder' => 'Ihre Stichwörter hier...',
+ 'sort_ascending' => ':name in aufsteigender Reihenfolge sortieren',
+ 'sort_descending' => ':name in absteigender Reihenfolge sortieren',
+ 'sort_delete' => 'Sortierung löschen',
+ 'sort_arrow' => 'Hier werden die Pfeile zum Sortieren und nicht zum Filtern verwendet',
+ 'right' => 'Sie haben keine Berechtigung',
+ ]
+];
diff --git a/resources/lang/de/enums.php b/resources/lang/de/enums.php
new file mode 100644
index 0000000..0b67a5f
--- /dev/null
+++ b/resources/lang/de/enums.php
@@ -0,0 +1,3 @@
+ 'Unbekannter Fehler',
+ '100' => 'Weiter',
+ '101' => 'Schaltprotokolle',
+ '102' => 'Verarbeitung',
+ '200' => 'OK',
+ '201' => 'Erstellt',
+ '202' => 'Akzeptiert',
+ '203' => 'Nicht maßgebende Informationen',
+ '204' => 'Kein Inhalt',
+ '205' => 'Inhalt zurücksetzen',
+ '206' => 'Teilinhalt',
+ '207' => 'Multi-Status',
+ '208' => 'Bereits gemeldet',
+ '226' => 'IM verwendet',
+ '300' => 'Mehrfachauswahl',
+ '301' => 'Permanent verschoben',
+ '302' => 'Gefunden',
+ '303' => 'Andere sehen',
+ '304' => 'Nicht modifiziert',
+ '305' => 'Proxy verwenden',
+ '307' => 'Temporäre Weiterleitung',
+ '308' => 'Permanente Weiterleitung',
+ '400' => 'Schlechte Anfrage',
+ '401' => 'Nicht autorisiert',
+ '402' => 'Zahlung erforderlich',
+ '403' => 'Verboten',
+ '404' => 'Seite nicht gefunden',
+ '405' => 'Methode nicht erlaubt',
+ '406' => 'Nicht annehmbar',
+ '407' => 'Proxy-Authentifizierung erforderlich',
+ '408' => 'Zeitüberschreitung anfordern',
+ '409' => 'Konflikt',
+ '410' => 'Gegangen',
+ '411' => 'Länge erforderlich',
+ '412' => 'Vorbedingung fehlgeschlagen',
+ '413' => 'Nutzlast zu groß',
+ '414' => 'URI zu lang',
+ '415' => 'Nicht unterstützter Medientyp',
+ '416' => 'Bereich nicht erfüllbar',
+ '417' => 'Erwartung gescheitert',
+ '418' => 'Ich bin eine Teekanne',
+ '419' => 'Sitzung ist abgelaufen',
+ '421' => 'Fehlgeleitete Anfrage',
+ '422' => 'Unverfügbare Entität',
+ '423' => 'Gesperrt',
+ '424' => 'Fehlgeschlagene Abhängigkeit',
+ '425' => 'Zu früh',
+ '426' => 'Upgrade erforderlich',
+ '428' => 'Voraussetzung erforderlich',
+ '429' => 'Zu viele Anfragen',
+ '431' => 'Kopfzeilenfelder zu groß anfordern',
+ '444' => 'Verbindung ohne Antwort geschlossen',
+ '449' => 'Wiederhole mit',
+ '451' => 'Aus rechtlichen Gründen nicht verfügbar',
+ '499' => 'Client-Closed-Request',
+ '500' => 'Interner Serverfehler',
+ '501' => 'Nicht implementiert',
+ '502' => 'Schlechtes Tor',
+ '503' => 'Wartungsmodus',
+ '504' => 'Gateway-Zeitüberschreitung',
+ '505' => 'HTTP Version nicht unterstützt',
+ '506' => 'Variante verhandelt auch',
+ '507' => 'Ungenügende Speicherung',
+ '508' => 'Schleife erkannt',
+ '509' => 'Bandbreitengrenze überschritten',
+ '510' => 'Nicht erweitert',
+ '511' => 'Netzwerkauthentifizierung erforderlich',
+ '520' => 'Unbekannter Fehler',
+ '521' => 'Webserver ist ausgefallen',
+ '522' => 'Verbindung abgelaufen',
+ '523' => 'Ursprung ist nicht erreichbar',
+ '524' => 'Ein Timeout ist aufgetreten',
+ '525' => 'SSL Handshake fehlgeschlagen',
+ '526' => 'Ungültiges SSL-Zertifikat',
+ '527' => 'Railgun-Fehler',
+ '598' => 'Zeitüberschreitungsfehler beim Lesen des Netzwerks',
+ '599' => 'Zeitüberschreitungsfehler bei Netzwerkverbindung',
+ 'unknownError' => 'Unbekannter Fehler',
+];
diff --git a/resources/lang/de/models.php b/resources/lang/de/models.php
new file mode 100644
index 0000000..f848b6c
--- /dev/null
+++ b/resources/lang/de/models.php
@@ -0,0 +1,18 @@
+ [
+ 'user' => 'benutzer',
+ 'activity_log' => 'aktivitätsprotokoll|aktivitätsprotokolle',
+ 'static_page' => 'statische seite|statische seiten',
+ 'banned_ips' => 'gesperrte IPs',
+ 'faq-questions' => 'FAQ-Frage|FAQ-Fragen',
+ 'faq-themes' => 'FAQ-Thema|FAQ-Themen',
+ 'prize' => 'preis',
+ 'range' => 'sortiment',
+ 'winner' => 'gewinner',
+ 'settings' => 'einstellungen',
+ 'product' => 'produkt',
+ 'participation' => 'teilnahme',
+ ]
+];
diff --git a/resources/lang/de/pagination.php b/resources/lang/de/pagination.php
new file mode 100644
index 0000000..bfc3556
--- /dev/null
+++ b/resources/lang/de/pagination.php
@@ -0,0 +1,12 @@
+ 'Weiter »',
+ 'previous' => '« Zurück',
+ 'previous_page' => 'Vorherige Seite',
+ 'next_page' => 'Nächste Seite',
+ 'specific_page' => 'Zur Seite Nr. :id gehen',
+ 'paginate_list' => 'Anzahl der Elemente pro Seite',
+];
diff --git a/resources/lang/de/passwords.php b/resources/lang/de/passwords.php
new file mode 100644
index 0000000..649e99a
--- /dev/null
+++ b/resources/lang/de/passwords.php
@@ -0,0 +1,11 @@
+ 'Das Passwort wurde zurückgesetzt!',
+ 'sent' => 'Passworterinnerung wurde gesendet!',
+ 'throttled' => 'Bitte warten Sie, bevor Sie es erneut versuchen.',
+ 'token' => 'Der Passwort-Wiederherstellungs-Schlüssel ist ungültig oder abgelaufen.',
+ 'user' => 'Es konnte leider kein Nutzer mit dieser E-Mail Adresse gefunden werden.',
+];
diff --git a/resources/lang/de/recaptcha.php b/resources/lang/de/recaptcha.php
new file mode 100644
index 0000000..db914af
--- /dev/null
+++ b/resources/lang/de/recaptcha.php
@@ -0,0 +1,6 @@
+ 'Bei der Formularvalidierung ist ein Fehler aufgetreten, bitte versuchen Sie es erneut',
+ 'not_enough_score' => 'Sie haben bei der reCAPTCHA-Validierung keine ausreichend hohe Punktzahl erreicht'
+];
diff --git a/resources/lang/de/validation.php b/resources/lang/de/validation.php
new file mode 100644
index 0000000..acf87f4
--- /dev/null
+++ b/resources/lang/de/validation.php
@@ -0,0 +1,280 @@
+ ':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 :date sein.',
+ 'after_or_equal' => ':Attribute muss ein Datum nach :date oder gleich :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.',
+ 'array' => ':Attribute muss ein Array sein.',
+ 'ascii' => 'Die :attribute darf nur alphanumerische Single-Byte-Zeichen und -Symbole enthalten.',
+ 'before' => ':Attribute muss ein Datum vor :date sein.',
+ 'before_or_equal' => ':Attribute muss ein Datum vor :date oder gleich :date sein.',
+ 'between' => [
+ 'array' => ':Attribute muss zwischen :min & :max Elemente haben.',
+ 'file' => ':Attribute muss zwischen :min & :max Kilobytes groß sein.',
+ 'numeric' => ':Attribute muss zwischen :min & :max liegen.',
+ 'string' => ':Attribute muss zwischen :min & :max Zeichen lang sein.',
+ ],
+ 'boolean' => ':Attribute muss entweder \'true\' oder \'false\' sein.',
+ 'can' => 'Le champ :attribute contient une valeur non autorisée.',
+ 'confirmed' => ':Attribute stimmt nicht mit der Bestätigung überein.',
+ 'current_password' => 'Das Passwort ist falsch.',
+ 'date' => ':Attribute muss ein gültiges Datum sein.',
+ 'date_equals' => ':Attribute muss ein Datum gleich :date sein.',
+ 'date_format' => ':Attribute entspricht nicht dem gültigen Format für :format.',
+ 'decimal' => 'Die :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 beinhaltet einen bereits vorhandenen Wert.',
+ 'doesnt_end_with' => ':Attribute darf nicht mit einem der folgenden enden: :values.',
+ 'doesnt_start_with' => ':Attribute darf nicht mit einem der folgenden beginnen: :values.',
+ 'email' => ':Attribute muss eine gültige E-Mail-Adresse sein.',
+ 'ends_with' => ':Attribute muss eine der folgenden Endungen aufweisen: :values',
+ 'enum' => 'Der ausgewählte Wert ist ungültig.',
+ 'exists' => 'Der gewählte Wert für :attribute ist ungültig.',
+ '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.',
+ ],
+ 'image' => ':Attribute muss ein Bild sein.',
+ 'in' => 'Der gewählte Wert für :attribute ist ungültig.',
+ 'in_array' => 'Der gewählte Wert für :attribute kommt nicht in :other vor.',
+ '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.',
+ '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 maximal :value Elemente haben.',
+ 'file' => ':Attribute muss kleiner oder gleich :value Kilobytes sein.',
+ 'numeric' => ':Attribute muss kleiner oder gleich :value sein.',
+ 'string' => ':Attribute darf maximal :value Zeichen lang sein.',
+ ],
+ 'mac_address' => 'Der Wert muss eine gültige MAC-Adresse sein.',
+ 'max' => [
+ 'array' => ':Attribute darf maximal :max Elemente haben.',
+ 'file' => ':Attribute darf maximal :max Kilobytes groß sein.',
+ 'numeric' => ':Attribute darf maximal :max sein.',
+ 'string' => ':Attribute darf maximal :max Zeichen haben.',
+ ],
+ 'max_digits' => ':Attribute darf maximal :max Ziffern lang sein.',
+ 'mimes' => ':Attribute muss den Dateityp :values haben.',
+ 'mimetypes' => ':Attribute muss den Dateityp :values haben.',
+ '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 Ziffern lang sein.',
+ 'missing' => 'Das Feld :attribute muss fehlen.',
+ 'missing_if' => 'Das Feld :attribute muss fehlen, wenn :other gleich :value ist.',
+ 'missing_unless' => 'Das Feld :attribute muss fehlen, es sei denn, :other ist :value.',
+ 'missing_with' => 'Das Feld :attribute muss fehlen, wenn :values vorhanden ist.',
+ 'missing_with_all' => 'Das Feld :attribute muss fehlen, wenn :values vorhanden sind.',
+ 'multiple_of' => ':Attribute muss ein Vielfaches von :value sein.',
+ 'not_in' => 'Der gewä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 beinhalten.',
+ 'mixed' => ':Attribute muss mindestens einen Großbuchstaben und einen Kleinbuchstaben beinhalten.',
+ 'numbers' => ':Attribute muss mindestens eine Zahl beinhalten.',
+ 'symbols' => ':Attribute muss mindestens ein Sonderzeichen beinhalten.',
+ 'uncompromised' => ':Attribute wurde in einem Datenleck gefunden. Bitte wählen Sie ein anderes :attribute.',
+ ],
+ 'present' => ':Attribute muss vorhanden sein.',
+ 'prohibited' => ':Attribute ist unzulässig.',
+ 'prohibited_if' => ':Attribute ist unzulässig, wenn :other :value ist.',
+ 'prohibited_unless' => ':Attribute ist unzulässig, wenn :other nicht :values ist.',
+ 'prohibits' => ':Attribute verbietet die Angabe von :other.',
+ 'regex' => ':Attribute Format ist ungültig.',
+ 'required' => ':Attribute muss ausgefüllt werden.',
+ 'required_array_keys' => 'Dieses Feld muss Einträge enthalten für: :values.',
+ 'required_if' => ':Attribute muss ausgefüllt werden, wenn :other den Wert :value hat.',
+ 'required_if_accepted' => ':Attribute muss ausgefüllt werden, wenn :other gewählt ist.',
+ 'required_unless' => ':Attribute muss ausgefüllt werden, wenn :other nicht den Wert :values hat.',
+ 'required_with' => ':Attribute muss ausgefüllt werden, wenn :values ausgefüllt wurde.',
+ 'required_with_all' => ':Attribute muss ausgefüllt werden, wenn :values ausgefüllt wurde.',
+ 'required_without' => ':Attribute muss ausgefüllt werden, wenn :values nicht ausgefüllt wurde.',
+ 'required_without_all' => ':Attribute muss ausgefüllt werden, wenn keines der Felder :values ausgefüllt wurde.',
+ 'same' => ':Attribute und :other müssen übereinstimmen.',
+ 'size' => [
+ 'array' => ':Attribute muss genau :size Elemente haben.',
+ 'file' => ':Attribute muss :size Kilobyte groß sein.',
+ 'numeric' => ':Attribute muss gleich :size sein.',
+ 'string' => ':Attribute muss :size Zeichen lang sein.',
+ ],
+ 'starts_with' => ':Attribute muss mit einem der folgenden Anfänge aufweisen: :values',
+ 'string' => ':Attribute muss ein String sein.',
+ 'timezone' => ':Attribute muss eine gültige Zeitzone sein.',
+ 'ulid' => 'Die :attribute muss eine gültige ULID sein.',
+ 'unique' => ':Attribute ist bereits vergeben.',
+ 'uploaded' => ':Attribute konnte nicht hochgeladen werden.',
+ 'uppercase' => ':Attribute muss in Großbuchstaben sein.',
+ 'url' => ':Attribute muss eine URL sein.',
+ 'uuid' => ':Attribute muss ein UUID sein.',
+ 'attributes' => [
+ 'address' => 'Adresse',
+ 'age' => 'Alter',
+ 'amount' => 'Höhe',
+ 'area' => 'Gebiet',
+ 'available' => 'Verfügbar',
+ 'birthday' => 'Geburtstag',
+ 'body' => 'Körper',
+ 'city' => 'Stadt',
+ 'content' => 'Inhalt',
+ 'country' => 'Land',
+ 'created_at' => 'Erstellt am',
+ 'creator' => 'Ersteller',
+ 'current_password' => 'Derzeitiges Passwort',
+ 'date' => 'Datum',
+ 'date_of_birth' => 'Geburtsdatum',
+ 'day' => 'Tag',
+ 'deleted_at' => 'Gelöscht am',
+ 'description' => 'Beschreibung',
+ 'district' => 'Bezirk',
+ 'duration' => 'Dauer',
+ 'email' => 'E-Mail-Adresse',
+ 'excerpt' => 'Auszug',
+ 'filter' => 'Filter',
+ 'first_name' => 'Vorname',
+ 'gender' => 'Geschlecht',
+ 'group' => 'Gruppe',
+ 'hour' => 'Stunde',
+ 'image' => 'Bild',
+ 'last_name' => 'Nachname',
+ 'lesson' => 'Lektion',
+ 'line_address_1' => 'Adresszeile 1',
+ 'line_address_2' => 'Adresszeile 2',
+ 'message' => 'Nachricht',
+ 'middle_name' => 'Zweitname',
+ 'minute' => 'Minute',
+ 'mobile' => 'Handynummer',
+ 'month' => 'Monat',
+ 'name' => 'Name',
+ 'national_code' => 'Länderkennung',
+ 'number' => 'Nummer',
+ 'password' => 'Passwort',
+ 'password_confirmation' => 'Passwortbestätigung',
+ 'phone' => 'Telefonnummer',
+ 'photo' => 'Foto',
+ 'postal_code' => 'Postleitzahl',
+ 'price' => 'Preis',
+ 'province' => 'Provinz',
+ 'recaptcha_response_field' => 'Captcha-Feld',
+ 'remember' => 'Erinnern',
+ 'restored_at' => 'Wiederhergestellt am',
+ 'result_text_under_image' => 'Ergebnistext unter Bild',
+ 'role' => 'Rolle',
+ 'second' => 'Sekunde',
+ 'sex' => 'Geschlecht',
+ 'short_text' => 'Kurzer Text',
+ 'size' => 'Größe',
+ 'state' => 'Bundesland',
+ 'street' => 'Straße',
+ 'student' => 'Schüler/Student',
+ 'subject' => 'Gegenstand',
+ 'teacher' => 'Lehrer',
+ 'terms' => 'Bedingungen',
+ 'test_description' => 'Test Beschreibung',
+ 'test_locale' => 'Test Region',
+ 'test_name' => 'Testname',
+ 'text' => 'Text',
+ 'time' => 'Uhrzeit',
+ 'title' => 'Titel',
+ 'updated_at' => 'Aktualisiert am',
+ 'username' => 'Benutzername',
+ 'year' => 'Jahr',
+ ],
+ 'ean' => 'Das Feld :attribute muss ein gültiger EAN-Code sein (7, 8 oder 13 Ziffern)',
+ 'postal_code' => 'Das Feld :attribute akzeptiert Postleitzahlen der folgenden Länder
+ :countries, zum Beispiel :examples',
+ 'phone' => 'Das Feld :attribute ist keine gültige Telefonnummer, es akzeptiert
+ Nummern der folgenden Länder :countries.',
+ 'custom' => [
+ 'of_the' => [
+ 'male' => 'des ',
+ 'female' => 'der ',
+ 'vowel' => 'des '
+ ],
+ 'attribute_alt' => 'Alt-Attribut',
+ 'attribute_title' => 'Title-Attribut',
+ 'event' => 'Ereignis',
+ 'model' => 'Zielelement',
+ 'order' => 'Reihenfolge',
+ 'publication' => 'Veröffentlichung',
+ 'activated' => 'aktiviert',
+ 'target' => 'Ziel',
+ 'static_page_type' => 'Seitentyp',
+ 'seo_title' => 'SEO-Titel',
+ 'seo_description' => 'SEO-Beschreibung',
+ 'ip' => 'IP',
+ 'code' => 'Code',
+ 'unique_code' => 'eindeutiger Code',
+ 'product' => 'Produkt',
+ 'value' => 'Wert',
+ 'question' => 'Frage',
+ 'answer' => 'Antwort',
+ 'theme' => 'Thema',
+ 'file_name' => 'Dateiname',
+ 'label' => 'Bezeichnung',
+ 'arg' => 'Argumentation',
+ 'subtitle' => 'Untertitel',
+ 'quantity' => 'Menge',
+ 'pdf_winning_proof' => 'PDF Gewinnnachweis',
+ 'picture' => 'Abbildung',
+ 'ean_code' => 'EAN-Code',
+ 'start_date' => 'Startdatum',
+ 'end_date' => 'Enddatum',
+ 'nb_participation_player' => 'Anzahl der Teilnahmen pro Spieler',
+ 'nb_participation_ip' => 'Anzahl der Teilnahmen pro IP-Adresse',
+ 'nb_unique_code_use' => 'Anzahl der Verwendungen des eindeutigen Codes',
+ 'code_length' => 'Länge der eindeutigen Codes',
+ 'code_type' => 'Code-Typ',
+ 'activated_teaser' => 'Teaser-Aktivierung',
+ 'activated_close_page' => 'Aktivierung der Abschlussseite',
+ 'close_page_active_date' => 'Seite aktiv bis',
+ 'redirect_close' => 'Weiterleitungs-URL nach Ablauf des Spiels',
+ 'winning_proof' => 'Gewinnnachweise aktivieren',
+ 'company' => 'Unternehmen',
+ 'discounts_activated' => 'Rabattgutscheine aktivieren',
+ 'discounts_site' => 'Website-Referenz',
+ 'discounts_campaign' => 'Kampagnen-Referenz',
+ 'analytics' => 'Analytics',
+ 'game_rules' => 'Spielregeln',
+ 'notify_prize_sent' => 'Benachrichtigung über versandten Preis an den Teilnehmer',
+ 'comment' => 'Kommentar',
+ 'authorized_countries' => 'am Spiel teilnahmeberechtigte Länder',
+ 'barcode' => 'Produktbarcode',
+ 'ticket' => 'Kassenbon mit Datum',
+ 'sticker' => 'Produktaufkleber',
+ ],
+];
diff --git a/resources/lang/de/vue.php b/resources/lang/de/vue.php
new file mode 100644
index 0000000..13187b6
--- /dev/null
+++ b/resources/lang/de/vue.php
@@ -0,0 +1,39 @@
+ [
+ 'choose_a_file' => 'Wählen Sie eine Datei',
+ 'change_source_picture' => 'Modifikator für die Bildquelle',
+ 'view_source_picture' => 'Visualisierer des Bildes',
+ 'resize_source_picture' => 'Bildgröße anpassen',
+ 'resized_source_picture' => 'Bild redimensioniert',
+ 'preview_picture' => 'Vorschau des Bildes',
+ 'change_picture_before_import' => 'MBildbearbeitung vor dem Import',
+ 'close_window' => 'Schließe das Fenster',
+ 'close_and_validate' => 'Überprüfen Sie den Inhalt und schließen Sie das Fenster',
+ 'close_window_without_validation' => 'Schließen Sie das Fenster, ohne den Inhalt zu überprüfen',
+ 'zoom_in' => 'Hineinzoomen',
+ 'zoom_out' => 'Rauszoomen',
+ 'move_left' => 'Geh nach links',
+ 'move_right' => 'Nach rechts bewegen',
+ 'move_up' => 'Bewegen Sie sich nach oben',
+ 'move_down' => 'Sich abwärts bewegen',
+ 'mirror_horizontal' => 'horizontaler Spiegel',
+ 'mirror_vertical' => 'vertikaler Spiegel',
+ 'rotation' => 'Drehen',
+ 'rotate_rewind' => 'Rotation gegen den Uhrzeigersinn',
+ 'rotate' => 'Drehung im Uhrzeigersinn',
+ 'degres' => ':deg Grad',
+ 'validate' => 'Bestätigen',
+ 'preview' => 'Vorschau',
+
+ ],
+ 'WordCounterComponent' => [
+ 'words' => 'Wörter',
+ 'characters' => 'Zeichen'
+ ],
+ 'PasswordVisibility' => [
+ 'hide' => 'Passwort verbergen',
+ 'show' => 'Passwort anzeigen',
+ ]
+];