diff --git a/app/Http/Controllers/ControlController.php b/app/Http/Controllers/ControlController.php index 61d13a22..3510a22d 100644 --- a/app/Http/Controllers/ControlController.php +++ b/app/Http/Controllers/ControlController.php @@ -1615,7 +1615,7 @@ public function template() abort_if($control === null, Response::HTTP_NOT_FOUND, '404 Not Found'); // Get template file - $template_filename = storage_path('app/models/control_.docx'); + $template_filename = storage_path('app/models/control_'.Auth::User()->language.'.docx'); if (! file_exists($template_filename)) { $template_filename = storage_path('app/models/control.docx'); } diff --git a/resources/lang/de/auth.php b/resources/lang/de/auth.php new file mode 100644 index 00000000..9f231dfc --- /dev/null +++ b/resources/lang/de/auth.php @@ -0,0 +1,21 @@ + + 'Diese Anmeldedaten sind dem System nicht bekannt.', + 'throttle' => 'Zu viele Login-Versuche. Bitte in :seconds Sekunden erneut versuchen.', + +]; + diff --git a/resources/lang/de/common.php b/resources/lang/de/common.php new file mode 100644 index 00000000..b80df9aa --- /dev/null +++ b/resources/lang/de/common.php @@ -0,0 +1,48 @@ + 'Löschen bestätigen', + + 'accept' => 'Akzeptiert', + 'cancel' => 'Abbruch', + 'check' => 'Prüfen', + 'create' => 'Erstellen', + 'clone' => 'Kopieren', + 'delete' => 'Löschen', + 'download' => 'Download', + 'edit' => 'Editieren', + 'import' => 'Import', + 'make' => 'Erledigen', + 'new' => 'Neu', + 'plan' => 'Planen', + 'reject' => 'Ablehnen', + 'save' => 'Sichern', + 'test' => 'Testen', + 'unplan' => 'Un-Planen', + 'validate' => 'Validieren', + + 'once' => 'einmalig', + 'monthly' => 'monatlich', + 'quarterly' => 'quartal', + 'biannually' => 'halbjährlich', + 'annually' => 'jährlich', + + 'next' => 'Nächstes', + 'previous' => 'Vorheriges', + 'more_info' => 'Mehr Informationen', + + 'green' => 'Grün', + 'orange' => 'Orange', + 'red' => 'Rot', + + 'fail' => 'Durchgefallen', + 'alert' => 'Alarm', + 'success' => 'Erfolg', + 'unknown' => 'Unbekannt', + + 'date' => 'Datum', + + 'never' => 'Nie', + 'day' => 'täglich', + 'week' => 'wöchentlich', + 'month' => 'monatlich' +]; diff --git a/resources/lang/de/cruds.php b/resources/lang/de/cruds.php new file mode 100644 index 00000000..5b4d3137 --- /dev/null +++ b/resources/lang/de/cruds.php @@ -0,0 +1,224 @@ + [ + 'dashboard' => 'Dashboard', + 'domains' => 'Domänen', + 'measures' => 'Maßnahmen', + 'controls' => 'Kontrollen', + 'action_plans' => "Aktionsplan", + 'next_controls' => 'Zeigt die Planung der nächsten 30 Tage', + 'control_status' => 'Kontrollstatus', + 'control_planning' => 'Maßnahmenplanung', + ], + 'action' => [ + 'index' => 'Aktionspläne', + 'show' => 'Aktionsplan', + 'fields' => [ + 'clause' => 'Klausel', + 'name' => 'Name', + 'scope' => 'Geltungsbereich', + 'action' => 'Aktionsplan', + 'plan_date' => 'Planungsdatum', + 'next_date' => 'Reviewdatum', + 'note' => 'Punktzahl', + 'objective' => 'Zielsetzung', + 'observation' => 'Beobachtung', + 'action_plan' => 'Aktionsplan', + ], + ], + 'attribute' => [ + 'fields' => [ + 'name' => 'Name', + 'values' => 'Werte', + ], + 'add' => 'Attribut hinzufügen', + 'edit' => 'Attribut ändern', + 'show' => 'Attribut', + 'index' => 'Liste der Attribute', + 'choose' => 'Wähle ein Attribut', + 'title' => 'Attribute' + ], + 'control' => [ + 'description' => 'Kontrollen', + 'fields' => [ + 'action_plan' => 'Aktionsplan', + 'attributes' => 'Attribute', + 'choose_domain' => 'Wähle Domäne', + 'choose_scope' => 'Wähle Geltungsbereich', + 'choose_period' => 'Wähle Periode', + 'choose_attribute' => 'Wähle Attribute', + 'domain' => 'Domäne', + 'indicator' => 'Funktion', + 'measure' => 'Maßnahme', + 'model' => 'Model', + 'name' => 'Name', + 'next' => 'Nächstes', + 'note' => 'Notiz', + 'objective' => 'Zilelsetzung', + 'observations' => 'Beobachtungen', + 'plan_date' => 'Planungsdatum', + 'period' => 'Periode', + 'periodicity' => 'Wiederholung', + 'planned' => 'Eingeplant', + 'realisation_date' => 'Realisierungsdatum', + 'realized' => 'Realisiert', + 'evidence' => 'Beweis', + 'score' => 'Punktzahl', + 'status' => 'Status', + 'status_done' => 'Erledigt', + 'status_todo' => 'ToDo', + 'status_all' => 'Alle', + 'scope' => 'Geltungsbereich', + 'clause' => 'Klausel', + 'clauses' => 'Klauseln', + 'input' => 'Input', + 'owners' => 'Verantwortlich', + ], + 'error' => [ + 'made' => 'Diese Maßnahme wurde bereits umgesetzt.', + 'duplicate' => 'Diese Maßnahme existiert bereits.', + ], + 'checklist' => 'Measure sheet', + 'create' => 'Erstelle eine Maßnahme', + 'list' => 'Liste der Maßnahmen', + 'edit' => 'Maßnahme ändern', + 'history' => 'Zeitplan', + 'make' => 'Maßnahme durchführen', + 'plan' => 'Planung einer Maßnahme', + 'radar' => 'Status der Sicherheitsmaßnahmen', + 'title' => 'Maßnahmen', + 'title_singular' => 'Maßnahme', + 'groupBy' => 'Gruppiert nach', + ], + 'notification' => [ + 'subject' => 'Measurement list to carry out', + ], + 'measure' => [ + 'title' => 'Maßnahmen', + 'fields' => [ + 'domain' => 'Domäne', + 'clause' => 'Klausel', + 'name' => 'Name', + 'objective' => 'Beschreibung', + 'attributes' => 'Attribute', + 'model' => 'Model', + 'indicator' => 'Indikator', + 'action_plan' => 'Aktionsplan', + 'periodicity' => 'Wiederholung', + 'input' => 'Input', + ], + 'show' => 'Maßnahmen', + 'index' => 'Liste der Maßnahmen', + 'create' => 'Erstelle eine Maßnahme', + 'edit' => 'Ändere eine Maßnahme', + 'plan' => 'Kontrollplanung' + ], + 'domain' => [ + 'fields' => [ + 'framework' => 'Framework', + 'name' => 'Name', + 'description' => 'Beschreibung', + 'measures' => '# Kontrollen', + ], + 'add' => 'Domäne hinzufügen', + 'edit' => 'Domäne ändern', + 'show' => 'Domäne', + 'index' => 'Liste der Domänen', + 'choose' => 'Wähle eine Domäne', + 'title' => 'Domänen' + ], + 'document' => [ + 'title' => [ + 'storage' => 'Speicher', + 'templates' => 'Vorlagen', + ], + 'description' => 'Beschreibung', + 'list' => 'Liste der Dokumente', + 'index' => 'Dokumente', + 'fields' => [ + 'name' => 'Name', + 'control' => 'Kontrolle', + 'size' => 'Größe', + 'hash' => 'Hashwert', + ], + 'model' => [ + 'control' => 'Vorlage Kontrollblatt', + 'report' => 'Vorlage Lenkungsbericht', + ], + 'count' => 'Anzahl an Dokumenten', + 'total_size' => 'Gesamtgröße', + ], + 'exports' => [ + 'index' => 'Exportiere Daten', + 'start' => 'Start', + 'end' => 'Ende', + 'report_title' => 'Report', + 'steering' => 'ISMS Lenkungsbericht', + 'data_export_title' => 'Datenexport', + 'domains_export'=> 'Exportiere Domänen ', + 'measures_export' => 'Exportiere Sicherheitsmaßnahmen', + 'controls_export' => 'Exportiere Kontrollen', + 'import' => 'Import', + ], + 'imports' => [ + 'index' => 'Import', + 'title' => 'Importiere Sicherheitsmaßnahmen', + ], + 'login' => [ + 'title' => 'Passwort eingeben', + 'identification' => 'Login', + 'connection' => 'Verbindung', + ], + 'report' => [ + 'action_plan' => [ + 'id' => '#', + 'title' => 'Aktionsplan', + 'next' => 'Reviewdatum' + ] + ], + 'soa' => [ + 'title' => 'Erklärung der Anwendbarkeit (SoA)', + 'generate' => 'Generiere Report' + ], + 'user' => [ + 'index' => 'Liste der Benutzer', + 'edit' => 'Ändere Benutzer', + 'add' => 'Neuer Benutzer', + 'show' => 'Zeige Benutzer', + 'fields' => [ + 'login' => 'Login', + 'name' => 'Name', + 'title' => 'Titel', + 'role' => 'Rolle', + 'password' => 'Passwort', + 'email' => 'E-Mail', + 'language' => 'Sprache', + 'controls' => 'Kontrollen' + ], + 'roles' => [ + 'admin' => 'Administrator', + 'user' => 'User', + 'auditor' => 'Auditor', + 'api' => 'API', + 'auditee' => 'Auditierte', + ], + ], + 'config' => [ + 'notifications' => [ + 'title' => 'Konfiguration der Benachrichtigungen', + 'title_short' => 'Benachrichtigungen', + 'help' => 'Hier können Sie die Benachrichtigungen konfigurieren, die die Benutzer per E-Mail erhalten.', + 'message_subject' => 'Betreff', + 'sent_from' => 'Gesendet von', + 'to' => 'an', + 'delay' => 'für Kontrollen die ablaufen in', + 'recurrence' => 'Sende eine Benachrichtigung', + 'duration' => [ + 'day' => 'Tag', + 'days' => 'Tage', + 'month' => 'Monat', + 'months' => 'Monate', + ], + ], + ], + ]; diff --git a/resources/lang/de/menu.php b/resources/lang/de/menu.php new file mode 100644 index 00000000..f6544f13 --- /dev/null +++ b/resources/lang/de/menu.php @@ -0,0 +1,24 @@ + 'Home', + 'attributes' => 'Attribute', + 'domains' => 'Domänen', + 'measures' => 'Maßnahmen', + 'controls' => 'Kontrollen', + 'planning' => 'Planung', + 'radar' => 'Analyse', + 'radar_by_domains' => 'nach Domänen', + 'radar_by_controls' => 'nach Kontrollen', + 'radar_by_attributes' => 'nach Attributen', + 'action_plan' => 'Aktionspläne', + 'configuration' => [ + 'title' => 'Konfiguration', + 'users' => 'Benutzer', + 'reports' => 'Reports', + 'import' => "Import", + 'documents' => 'Dokumente', + 'models' => 'Models', + 'notifications' => 'Benachrichtigungen' + ], + 'logout' => 'Logout' +]; diff --git a/resources/lang/de/pagination.php b/resources/lang/de/pagination.php new file mode 100644 index 00000000..ce092b8b --- /dev/null +++ b/resources/lang/de/pagination.php @@ -0,0 +1,19 @@ + '« Vorherige', + 'next' => 'Nächste »', + +]; diff --git a/resources/lang/de/passwords.php b/resources/lang/de/passwords.php new file mode 100644 index 00000000..4b03046f --- /dev/null +++ b/resources/lang/de/passwords.php @@ -0,0 +1,22 @@ + 'Ihr Passwort wurde zurückgesetzt!', + 'sent' => 'Ein Link zum zurücksetzen des Passwortes wurde per E-Mail versendet!', + 'throttled' => 'Bitte warten Sie etwas vor dem nächsten Versuch.', + 'token' => 'Der Passwort-Reset-Token ist nicht gültig.', + 'user' => "Diese E-Mail-Adresse ist unbekannt.", + +]; diff --git a/resources/lang/de/validation.php b/resources/lang/de/validation.php new file mode 100644 index 00000000..a0512a52 --- /dev/null +++ b/resources/lang/de/validation.php @@ -0,0 +1,151 @@ + 'Das :attribute muss akzeptiert werden.', + 'active_url' => 'Das :attribute ist keine valide URL.', + 'after' => 'Das :attribute Muss ein Datum nach dem :date erhalten.', + 'after_or_equal' => 'Das :attribute muß ein Datum nach oder gleich :date erhalten.', + 'alpha' => 'Das :attribute darf nur aus Buchstaben bestehen.', + 'alpha_dash' => 'Das :attribute darf nur Buchstaben, Nummern, Querstriche und Unterstriche entehalten.', + 'alpha_num' => 'Das :attribute darf nur Buchstaben und Zahlen enthalten.', + 'array' => 'Das :attribute muß eine Auflistung sein.', + 'before' => 'Das :attribute benötigt ein Datum vor dem :date.', + 'before_or_equal' => 'Das :attribute benötigt ein Datum vor oder gleich dem :date.', + 'between' => [ + 'numeric' => 'Das :attribute muß zwischen :min und :max liegen.', + 'file' => 'Das :attribute muß zwischen :min und :max kilobytes liegen.', + 'string' => 'Das :attribute muß zwischen :min und :max Zeichen haben.', + 'array' => 'Das :attribute muß zwischen :min und :max Einträge vorweisen.', + ], + 'boolean' => 'Das :attribute Feld muss Wahr oder Falsch sein.', + 'confirmed' => 'Die :attribute Bestätigung stimmt nicht überein.', + 'date' => ':attribute ist kein gültiges Datum.', + 'date_equals' => 'Das :attribute muss ein Datum sein, das dem :date entspricht.', + 'date_format' => 'Das :attribute entspricht nicht dem Format :format.', + 'different' => ':attribute und :other müssen sich unterscheiden.', + 'digits' => ':attribute muß :digits Stellen haben.', + 'digits_between' => ':attribute muß zwischen :min und :max Stellen haben.', + 'dimensions' => 'Das :attribute hat flasche Bilddimensionen.', + 'distinct' => 'Das :attribute Fekd hat einen doppelten Wert.', + 'email' => ':attribute muß eine gültige Mailadresse sein.', + 'ends_with' => ':attribute muß mit einem der folgenden Werte aufhören: :values.', + 'exists' => 'Das ausgewählte :attribute ist ungültig.', + 'file' => ':attribute muß eine Datei sein.', + 'filled' => ':attribute muß einen Wert haben.', + 'gt' => [ + 'numeric' => ':attribute muß größer als :value sein.', + 'file' => ':attribute muß größer als :value kilobytes sein.', + 'string' => ':attribute muß länger als :value Zeichen sein.', + 'array' => ':attribute muß mehr als :value Elemente beinhalten.', + ], + 'gte' => [ + 'numeric' => ':attribute muß größer oder gleich :value sein.', + 'file' => ':attribute muß größer oder gleich :value kilobytes sein.', + 'string' => ':attribute muß mehr oder gleich :value Zeichen haben.', + 'array' => 'The :attribute muß :value oder mehr Elemente beinhalten.', + ], + 'image' => ':attribute muß ein Bild sein.', + 'in' => 'Das gewählte :attribute ist ungültig.', + 'in_array' => 'Das :attribute Feld existiert nicht in :other.', + 'integer' => ':attribute muß eine Zahl sein.', + 'ip' => ':attribute muß eine gültige IP-Adresse sein.', + 'ipv4' => ':attribute muß eine gültige IPv4 Adresse sein.', + 'ipv6' => ':attribute muß eine gültige IPv6 Adresse sein.', + 'json' => ':attribute muß ein gültiger JSON-String sein.', + 'lt' => [ + 'numeric' => ':attribute muß kleiner als :value sein.', + 'file' => ':attribute muß kleiner als :value kilobytes sein.', + 'string' => ':attribute muß kürzer als :value Zeichen sein.', + 'array' => ':attribute muß weniger als :value Elemente beinhalten.', + ], + 'lte' => [ + 'numeric' => ':attribute muß kleiner oder gleich :value sein.', + 'file' => ':attribute muß kleiner oder gleich :value kilobytes sein.', + 'string' => ':attribute muß kleiner oder gleich :value Zeichen haben.', + 'array' => 'The :attribute muß :value oder weniger Elemente beinhalten.', + ], + 'max' => [ + 'numeric' => ':attribute darf nicht größer sein als :max.', + 'file' => ':attribute darf nicht größer sein als :max kilobytes.', + 'string' => ':attribute darf nicht größer sein als :max Zeichen.', + 'array' => ':attribute darf nicht mehr als :max Elemente haben.', + ], + 'mimes' => ':attribute muß eine Datei vom Typ: :values sein.', + 'mimetypes' => ':attribute muß eine Datei vom Typ: :values sein.', + 'min' => [ + 'numeric' => ':attribute muß mindestens :min sein.', + 'file' => ':attribute muß mindestens :min kilobytes haben.', + 'string' => ':attribute muß mindestens :min Zeichen lang sein.', + 'array' => ':attribute muß mindestens :min Elemente haben.', + ], + 'not_in' => 'Das ausgewählte :attribute ist ungültig.', + 'not_regex' => 'Das gewählte Format :attribute ist ungültig.', + 'numeric' => ' :attribute muß eine Nummer sein.', + 'password' => 'Das Passwort ist falsch.', + 'present' => ' :attribute muß vorhanden sein.', + 'regex' => 'Das Format von :attribute ist ungültig.', + 'required' => 'Das Feld :attribute wird benötigt.', + 'required_if' => 'Das Feld :attribute wird benötigt wenn :other den Wert :value hat.', + 'required_unless' => 'Das Feld :attribute wurd benötigt wenn :other nicht in :values enthalten ist.', + 'required_with' => ':attribute wird benötigt wenn :values vorhanden ist.', + 'required_with_all' => ':attribute wird benötigt wenn :values vorhanden sind.', + 'required_without' => ':attribute wird benötigt wenn :values nicht vorhanden ist.', + 'required_without_all' => ':attribute ist erforderlich, wenn :values nicht vorhanden sind.', + 'same' => ' :attribute und :other müssen übereinstimmen.', + 'size' => [ + 'numeric' => ':attribute muß die Größe :size haben.', + 'file' => ':attribute muß :size kilobytes groß sein.', + 'string' => ':attribute muß :size Zeichen lang sein.', + 'array' => ' :attribute muß :size Elemente beinhalten.', + ], + 'starts_with' => ':attribute muß mit :values anfangen.', + 'string' => ':attribute muß ein String sein.', + 'timezone' => ' :attribute muß eine gültige Zeitzone sein.', + 'unique' => ' :attribute wurde bereits ausgewählt.', + 'uploaded' => ' :attribute konnte nicht hochgeladen werden.', + 'url' => 'Das Format von :attribute ist ungültig.', + 'uuid' => ':attribute muß eine gültige UUID sein.', + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [], + +]; diff --git a/resources/views/users/create.blade.php b/resources/views/users/create.blade.php index c616d539..03bd5e95 100644 --- a/resources/views/users/create.blade.php +++ b/resources/views/users/create.blade.php @@ -49,6 +49,7 @@