diff --git a/locale/de/LC_MESSAGES/django.mo b/locale/de/LC_MESSAGES/django.mo index 710cf37..82346ca 100644 Binary files a/locale/de/LC_MESSAGES/django.mo and b/locale/de/LC_MESSAGES/django.mo differ diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index fcd72b8..aee05c7 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: wira-risk-management\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-09-11 10:17+0200\n" +"POT-Creation-Date: 2025-09-12 16:50+0200\n" "PO-Revision-Date: 2025-09-09 13:45+0200\n" "Last-Translator: Kevin Heyer \n" "Language-Team: German\n" @@ -12,561 +12,525 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: risks/admin.py:6 risks/admin.py:8 +#: risks/admin.py:21 risks/admin.py:23 msgid "Administration" msgstr "Verwaltung" -#: risks/admin.py:7 +#: risks/admin.py:22 msgid "Admin" msgstr "Admin" -#: risks/admin.py:15 risks/models.py:36 templates/risks/dashboard.html:75 -#: templates/risks/dashboard.html:80 templates/risks/dashboard.html:85 -#: templates/risks/list_risks.html:97 +#: risks/admin.py:33 risks/models.py:50 templates/risks/list_incidents.html:33 +#: templates/risks/list_risks.html:16 msgid "Risks" msgstr "Risiken" -#: risks/admin.py:16 risks/models.py:190 templates/base.html:38 -#: templates/risks/list_risks.html:31 +#: risks/admin.py:34 risks/models.py:184 templates/base.html:38 +#: templates/risks/item_control.html:5 templates/risks/list_controls.html:5 msgid "Controls" msgstr "Maßnahmen" -#: risks/admin.py:17 +#: risks/admin.py:35 msgid "Residual risks" msgstr "Restrisiken" -#: risks/admin.py:18 +#: risks/admin.py:36 msgid "Reviews" msgstr "Prüfung" -#: risks/admin.py:19 risks/models.py:258 templates/base.html:39 -#: templates/risks/item_risk.html:252 +#: risks/admin.py:37 risks/models.py:255 templates/base.html:39 +#: templates/risks/item_incident.html:5 templates/risks/item_risk.html:14 +#: templates/risks/list_incidents.html:5 templates/risks/list_incidents.html:18 msgid "Incidents" msgstr "Vorfälle" -#: risks/admin.py:20 +#: risks/admin.py:38 msgid "Users" msgstr "Benutzer" -#: risks/admin.py:133 risks/models.py:326 templates/risks/item_risk.html:291 +#: risks/admin.py:159 risks/models.py:362 templates/risks/item_control.html:96 +#: templates/risks/item_incident.html:88 templates/risks/item_risk.html:234 msgid "User" msgstr "Benutzer" -#: risks/admin.py:139 +#: risks/admin.py:163 msgid "Message" msgstr "Nachricht" -#: risks/admin.py:147 +#: risks/admin.py:169 msgid "Mark selected as read" msgstr "Alle als gelesen Markieren" -#: risks/admin.py:150 +#: risks/admin.py:172 #, python-format msgid "%(n)d notifications marked as read." msgstr "%(n)d Benachrichtigungen wurden als gelesen Markiert" -#: risks/admin.py:152 +#: risks/admin.py:174 msgid "Mark selected as unread" msgstr "Alle als gelesen Markieren" -#: risks/admin.py:155 +#: risks/admin.py:177 #, python-format msgid "%(n)d notifications marked as unread." msgstr "%(n)d Benachrichtigungen wurden als ungelesen Markiert" -#: risks/admin.py:157 +#: risks/admin.py:179 msgid "Mark selected as sent" msgstr "Auswahl als gelesen markieren" -#: risks/admin.py:160 +#: risks/admin.py:182 #, python-format msgid "%(n)d notifications marked as sent." msgstr "%(n)d Benachrichtigungen wurden als gelesen Markiert" -#: risks/admin.py:162 +#: risks/admin.py:184 msgid "Mark selected as unsent" msgstr "Auswahl als ungesendet markieren" -#: risks/admin.py:165 +#: risks/admin.py:187 #, python-format msgid "%(n)d notifications marked as unsent." msgstr "%(n)d Benachrichtigungen wurden als gelesen Markiert" -#: risks/admin.py:182 +#: risks/admin.py:199 msgid "Extra recipients" msgstr "Zusätzliche Empfänger" -#: risks/admin.py:190 +#: risks/admin.py:211 msgid "SSO Information" msgstr "SSO-Informationen" -#: risks/admin.py:199 +#: risks/admin.py:221 msgid "Risks Owned" msgstr "Eigene Risiken" -#: risks/admin.py:203 +#: risks/admin.py:225 msgid "Controls Responsible" msgstr "Verantwortlich für Maßnahmen" -#: risks/apps.py:7 templates/base.html:7 templates/base.html:32 +#: risks/apps.py:12 templates/base.html:7 templates/base.html:32 msgid "Risk Management" msgstr "Risikomanagement" -#: risks/forms.py:9 risks/forms.py:16 risks/forms.py:23 risks/models.py:73 -#: templates/risks/item_risk.html:64 templates/risks/item_risk.html:206 -#: templates/risks/item_risk.html:260 +#: risks/forms.py:13 risks/models.py:87 templates/risks/dashboard.html:83 +#: templates/risks/dashboard.html:108 templates/risks/item_control.html:35 +#: templates/risks/item_incident.html:36 templates/risks/item_risk.html:46 +#: templates/risks/item_risk.html:178 templates/risks/item_risk.html:208 +#: templates/risks/list_controls.html:48 templates/risks/list_controls.html:100 +#: templates/risks/list_incidents.html:48 +#: templates/risks/list_incidents.html:99 templates/risks/list_risks.html:128 msgid "Status" msgstr "Status" -#: risks/forms.py:30 risks/models.py:42 templates/risks/item_risk.html:181 +#: risks/forms.py:48 risks/models.py:56 msgid "Review required" msgstr "Prüfung nötig" -#: risks/models.py:35 templates/risks/item_risk.html:11 -#: templates/risks/list_risks.html:18 templates/risks/list_risks.html:110 +#: risks/models.py:49 templates/risks/item_control.html:65 +#: templates/risks/item_incident.html:57 templates/risks/item_risk.html:6 +#: templates/risks/list_controls.html:33 templates/risks/list_risks.html:116 msgid "Risk" msgstr "Risiko" -#: risks/models.py:39 +#: risks/models.py:53 msgid "Open" msgstr "Offen" -#: risks/models.py:40 risks/models.py:262 +#: risks/models.py:54 risks/models.py:259 msgid "In Progress" msgstr "In Bearbeitung" -#: risks/models.py:41 risks/models.py:263 +#: risks/models.py:55 risks/models.py:260 msgid "Closed" msgstr "Geschlossen" -#: risks/models.py:45 +#: risks/models.py:59 msgid "Very low – occurs less than once every 5 years" msgstr "Sehr niedrig – tritt seltener als einmal in fünf Jahren auf" -#: risks/models.py:46 +#: risks/models.py:60 msgid "Low – once every 1–5 years" msgstr "Niedrig – einmal in 1–5 Jahren" -#: risks/models.py:47 +#: risks/models.py:61 msgid "Likely – once per year or more" msgstr "Wahrscheinlich – einmal pro Jahr oder öfter" -#: risks/models.py:48 +#: risks/models.py:62 msgid "Very likely – multiple times per year/monthly" msgstr "Sehr wahrscheinlich – mehrmals pro Jahr/monatlich" -#: risks/models.py:51 +#: risks/models.py:65 msgid "Very Low (< 1,000 € – minor operational impact)" msgstr "Sehr Gering (< 1.000 € – geringe betriebliche Auswirkungen)" -#: risks/models.py:52 +#: risks/models.py:66 msgid "Low (1,000–5,000 € – local impact)" msgstr "Gering (1.000–5.000 € – lokale Auswirkungen)" -#: risks/models.py:53 +#: risks/models.py:67 msgid "High (5,000–15,000 € – team-level impact)" msgstr "Hoch (5.000–15.000 € – Auswirkungen auf Teamebene)" -#: risks/models.py:54 +#: risks/models.py:68 msgid "Severe (50,000–100,000 € – regional impact)" msgstr "Schwerwiegend (50.000–100.000 € – regionale Auswirkungen)" -#: risks/models.py:55 +#: risks/models.py:69 msgid "Critical (> 100,000 € – existential threat)" msgstr "Kritisch (> 100.000 € – existenzielle Bedrohung)" -#: risks/models.py:58 templates/risks/dashboard.html:74 +#: risks/models.py:72 templates/risks/dashboard.html:57 +#: templates/risks/list_risks.html:112 msgid "Confidentiality" msgstr "Vertraulichkeit" -#: risks/models.py:59 templates/risks/dashboard.html:79 +#: risks/models.py:73 templates/risks/dashboard.html:63 +#: templates/risks/list_risks.html:113 msgid "Integrity" msgstr "Integrität" -#: risks/models.py:60 templates/risks/dashboard.html:84 +#: risks/models.py:74 templates/risks/dashboard.html:69 +#: templates/risks/list_risks.html:114 msgid "Availability" msgstr "Verfügbarkeit" -#: risks/models.py:64 risks/models.py:200 risks/models.py:265 -#: templates/risks/item_risk.html:205 +#: risks/models.py:78 risks/models.py:194 risks/models.py:263 +#: templates/risks/item_risk.html:177 msgid "Title" msgstr "Titel" -#: risks/models.py:65 risks/models.py:266 +#: risks/models.py:79 risks/models.py:264 templates/risks/item_control.html:52 +#: templates/risks/item_incident.html:44 msgid "Description" msgstr "Beschreibung" -#: risks/models.py:66 templates/risks/item_risk.html:53 -#: templates/risks/list_risks.html:57 +#: risks/models.py:80 templates/risks/item_control.html:68 +#: templates/risks/item_incident.html:60 templates/risks/item_risk.html:35 +#: templates/risks/list_risks.html:119 msgid "Asset" msgstr "Asset" -#: risks/models.py:67 templates/risks/item_risk.html:54 -#: templates/risks/list_risks.html:70 +#: risks/models.py:81 templates/risks/item_control.html:69 +#: templates/risks/item_incident.html:61 templates/risks/item_risk.html:36 +#: templates/risks/list_risks.html:125 msgid "Process" msgstr "Prozess" -#: risks/models.py:68 templates/risks/item_risk.html:55 -#: templates/risks/list_risks.html:44 templates/risks/list_risks.html:112 +#: risks/models.py:82 templates/risks/item_control.html:67 +#: templates/risks/item_incident.html:59 templates/risks/item_risk.html:37 +#: templates/risks/list_risks.html:122 msgid "Category" msgstr "Kategorie" -#: risks/models.py:69 templates/risks/item_risk.html:68 +#: risks/models.py:83 templates/risks/item_control.html:46 +#: templates/risks/item_incident.html:39 templates/risks/item_risk.html:50 msgid "Created at" msgstr "Erstellt am" -#: risks/models.py:70 +#: risks/models.py:84 templates/risks/item_control.html:47 +#: templates/risks/item_incident.html:40 templates/risks/item_risk.html:51 msgid "Updated at" msgstr "Aktualisiert am" -#: risks/models.py:71 +#: risks/models.py:85 templates/risks/item_risk.html:58 msgid "Effects" msgstr "Auswirkungen" -#: risks/models.py:133 +#: risks/models.py:140 msgid "Residual Risk" msgstr "Restrisiko" -#: risks/models.py:134 +#: risks/models.py:141 msgid "Residual Risks" msgstr "Restrisiken" -#: risks/models.py:189 +#: risks/models.py:183 templates/risks/item_control.html:33 +#: templates/risks/list_controls.html:18 templates/risks/list_controls.html:97 msgid "Control" msgstr "Maßnahme" -#: risks/models.py:193 +#: risks/models.py:187 msgid "Planned" msgstr "Geplant" -#: risks/models.py:194 +#: risks/models.py:188 msgid "In progress" msgstr "In Bearbeitung" -#: risks/models.py:195 +#: risks/models.py:189 msgid "Completed" msgstr "Abgeschlossen" -#: risks/models.py:196 +#: risks/models.py:190 msgid "Verified" msgstr "Verifiziert" -#: risks/models.py:197 +#: risks/models.py:191 msgid "Rejected" msgstr "Abgelehnt" -#: risks/models.py:226 +#: risks/models.py:222 msgid "Auditlog" msgstr "Audit-Log" -#: risks/models.py:227 +#: risks/models.py:223 msgid "Auditlogs" msgstr "Audit-Logs" -#: risks/models.py:257 templates/risks/item_risk.html:259 +#: risks/models.py:254 templates/risks/item_incident.html:33 +#: templates/risks/item_risk.html:207 templates/risks/list_incidents.html:97 msgid "Incident" msgstr "Vorfall" -#: risks/models.py:261 +#: risks/models.py:258 msgid "Opened" msgstr "Eröffnet" -#: risks/models.py:267 +#: risks/models.py:265 msgid "Date reported" msgstr "Meldedatum" -#: risks/models.py:269 +#: risks/models.py:268 templates/risks/item_incident.html:34 +#: templates/risks/list_incidents.html:63 +#: templates/risks/list_incidents.html:101 msgid "Reported by" msgstr "Gemeldet von" -#: risks/models.py:279 risks/utils.py:119 -msgid "Notification" -msgstr "Benachrichtigung" +#: risks/models.py:284 +msgid "Risk created" +msgstr "Risiko erstellt" -#: risks/models.py:280 templates/base.html:80 +#: risks/models.py:285 +msgid "Risk updated" +msgstr "Risiko Aktualisiert" + +#: risks/models.py:286 +msgid "Risk deleted" +msgstr "Risiko gelöscht" + +#: risks/models.py:287 +msgid "Risk review required" +msgstr "Risikoprüfung nötig" + +#: risks/models.py:288 +msgid "Risk review completed" +msgstr "Risikoprüfung Abgeschlossen" + +#: risks/models.py:290 +msgid "Control created" +msgstr "Maßnahme erstellt" + +#: risks/models.py:291 +msgid "Control updated" +msgstr "Maßnahme Aktualisiert" + +#: risks/models.py:292 +msgid "Control deleted" +msgstr "Maßnahme '{title}' gelöscht" + +#: risks/models.py:294 +msgid "Residual created" +msgstr "Restrisiko erstellt" + +#: risks/models.py:295 +msgid "Residual updated" +msgstr "Restrisiko Aktualisiert" + +#: risks/models.py:296 +msgid "Residual deleted" +msgstr "Restrisiko gelöscht" + +#: risks/models.py:297 +msgid "Residual review required" +msgstr "Restrisikoprüfung nötig" + +#: risks/models.py:298 +msgid "Residual review completed" +msgstr "Restrisiko geprüft" + +#: risks/models.py:300 +msgid "Incident created" +msgstr "Vorfall erstellt" + +#: risks/models.py:301 +msgid "Incident updated" +msgstr "Vorfall Aktualisiert" + +#: risks/models.py:302 +msgid "Incident deleted" +msgstr "Vorfall gelöscht" + +#: risks/models.py:304 +msgid "User created" +msgstr "Benutzer erstellt" + +#: risks/models.py:305 +msgid "User deleted" +msgstr "Benutzer gelöscht" + +#: risks/models.py:314 risks/utils.py:142 +msgid "Notification" +msgstr "Nachricht" + +#: risks/models.py:315 templates/base.html:80 #: templates/risks/notifications.html:4 msgid "Notifications" msgstr "Nachrichten" -#: risks/models.py:295 -msgid "Risk created" -msgstr "Risiko erstellt" - -#: risks/models.py:296 -msgid "Risk updated" -msgstr "Risiko Aktualisiert" - -#: risks/models.py:297 -msgid "Risk deleted" -msgstr "Risiko gelöscht" - -#: risks/models.py:298 -msgid "Risk review required" -msgstr "Risikoprüfung nötig" - -#: risks/models.py:299 -msgid "Risk review completed" -msgstr "Risikoprüfung Abgeschlossen" - -#: risks/models.py:301 -msgid "Control created" -msgstr "Maßnahme erstellt" - -#: risks/models.py:302 -msgid "Control updated" -msgstr "Maßnahme Aktualisiert" - -#: risks/models.py:303 -msgid "Control deleted" -msgstr "Maßnahme '{title}' gelöscht" - -#: risks/models.py:305 -msgid "Residual created" -msgstr "Restrisiko erstellt" - -#: risks/models.py:306 -msgid "Residual updated" -msgstr "Restrisiko Aktualisiert" - -#: risks/models.py:307 -msgid "Residual deleted" -msgstr "Restrisiko gelöscht" - -#: risks/models.py:308 -msgid "Residual review required" -msgstr "Restrisikoprüfung nötig" - -#: risks/models.py:309 -msgid "Residual review completed" -msgstr "Restrisiko geprüft" - -#: risks/models.py:311 -msgid "Incident created" -msgstr "Vorfall erstellt" - -#: risks/models.py:312 -msgid "Incident updated" -msgstr "Vorfall Aktualisiert" - -#: risks/models.py:313 -msgid "Incident deleted" -msgstr "Vorfall gelöscht" - -#: risks/models.py:315 -msgid "User created" -msgstr "Benutzer erstellt" - -#: risks/models.py:316 -msgid "User deleted" -msgstr "Benutzer gelöscht" - -#: risks/models.py:371 +#: risks/models.py:411 msgid "Notification rule" msgstr "Benachrichtigungsregel" -#: risks/models.py:372 +#: risks/models.py:412 msgid "Notification rules" msgstr "Benachrichtigungsregeln" -#: risks/models.py:375 +#: risks/models.py:415 msgid "Event" msgstr "Aktion" -#: risks/models.py:380 +#: risks/models.py:420 msgid "Show in app" msgstr "Zeige in der WebApp" -#: risks/models.py:381 +#: risks/models.py:421 msgid "Send via email" msgstr "Sende via E-Mail" -#: risks/models.py:385 +#: risks/models.py:425 msgid "Send to owner/responsible/reporter (if available)" msgstr "Sende an Risikoeigner/Verantwortliche/Melder (Wenn vorhanden)" -#: risks/models.py:389 +#: risks/models.py:428 msgid "Send to all staff" msgstr "Sende an alle App-Mitarbeiter" -#: risks/models.py:393 +#: risks/models.py:430 msgid "Extra recipients (emails, comma or newline separated)" -msgstr "" -"Zusätzliche Empfänger (E-Mails, durch Komma oder Zeilenumbruch getrennt)" +msgstr "Zusätzliche Empfänger (E-Mails, durch Komma oder Zeilenumbruch getrennt)" -#: risks/signals.py:57 +#: risks/signals.py:71 #, python-brace-format msgid "User '{u}' created" msgstr "Benutzer '{u}' erstellte" -#: risks/signals.py:62 +#: risks/signals.py:79 #, python-brace-format msgid "User '{u}' deleted" msgstr "Benutzer '{u}' löschte" -#: risks/signals.py:70 -#, python-brace-format -msgid "Risk '{title}' {state}" -msgstr "Risiko '{title}' {state}" - -#: risks/signals.py:72 risks/signals.py:166 risks/signals.py:212 -#: risks/signals.py:275 risks/signals.py:369 risks/signals.py:411 -msgid "created" -msgstr "erstellt" - -#: risks/signals.py:72 risks/signals.py:166 risks/signals.py:212 -#: risks/signals.py:275 risks/signals.py:369 risks/signals.py:411 -msgid "updated" -msgstr "Aktualisiert" - -#: risks/signals.py:78 -#, python-brace-format -msgid "Risk '{title}' deleted" -msgstr "Risiko '{title}' gelöscht" - -#: risks/signals.py:117 +#: risks/signals.py:102 #, python-brace-format msgid "Risk created: {t}" msgstr "Risiko erstellt: {t}" -#: risks/signals.py:123 +#: risks/signals.py:121 #, python-brace-format msgid "Risk updated: {t}" msgstr "Risiko Aktualisiert: {t}" -#: risks/signals.py:143 +#: risks/signals.py:134 #, python-brace-format msgid "Risk deleted: {t}" msgstr "Risiko gelöscht: {t}" -#: risks/signals.py:164 -#, python-brace-format -msgid "Control '{title}' {state}" -msgstr "Maßnahme '{title}' {state}" +#: risks/signals.py:181 +msgid "Control {e}: {t}" +msgstr "Maßnahme {e}: {t}" -#: risks/signals.py:173 -#, python-brace-format -msgid "Control '{title}' deleted" -msgstr "Maßnahme '{title}' gelöscht" +#: risks/signals.py:182 risks/signals.py:317 +msgid "created" +msgstr "erstellt" -#: risks/signals.py:211 -#, python-brace-format -msgid "Control {event}: {t}" -msgstr "Maßnahme {event}: {t}" +#: risks/signals.py:182 risks/signals.py:317 +msgid "updated" +msgstr "Aktualisiert" -#: risks/signals.py:231 +#: risks/signals.py:196 #, python-brace-format msgid "Control deleted: {t}" msgstr "Maßnahme gelöscht: {t}" -#: risks/signals.py:246 +#: risks/signals.py:213 #, python-brace-format msgid "Review required for risk '{t}' due to control change" msgstr "Prüfung nötig für: '{t}', da Maßnahmen geändert wurden" -#: risks/signals.py:265 -#, python-brace-format -msgid "Review required for risk '{t}'" -msgstr "Prüfung benötigt für Risiko '{t}'" - -#: risks/signals.py:270 -#, python-brace-format -msgid "Review completed for risk '{t}'" -msgstr "Prüfung Abgeschlossen für Risiko '{t}'" - -#: risks/signals.py:274 -#, python-brace-format -msgid "Residual risk {state} for '{t}'" -msgstr "Restrisiko {state} für '{t}'" - -#: risks/signals.py:279 -#, python-brace-format -msgid "Residual risk deleted for '{t}'" -msgstr "Restrisiko für '{t}' gelöscht" - -#: risks/signals.py:316 +#: risks/signals.py:239 #, python-brace-format msgid "Residual created for risk: {t}" msgstr "Restrisiko erstellt für das Risiko: {t}" -#: risks/signals.py:328 +#: risks/signals.py:257 #, python-brace-format msgid "Residual review required for risk: {t}" msgstr "Restrisikoprüfung benötigt für Risiko {t}" -#: risks/signals.py:334 +#: risks/signals.py:260 #, python-brace-format msgid "Residual review completed for risk: {t}" msgstr "Restrisikoprüfung Abgeschlossen für Risiko {t}" -#: risks/signals.py:340 +#: risks/signals.py:263 #, python-brace-format msgid "Residual updated for risk: {t}" msgstr "Restrisiko Aktualisiert für das Risiko: {t}" -#: risks/signals.py:358 +#: risks/signals.py:280 #, python-brace-format msgid "Residual deleted for risk: {t}" msgstr "Restrisiko gelöscht für das Risiko: {t}" -#: risks/signals.py:369 -#, python-brace-format -msgid "Incident '{t}' {s}" -msgstr "Vorfall '{t}' {s}" +#: risks/signals.py:316 +msgid "Incident {e}: {t}" +msgstr "Vorfall {e}: {t}" -#: risks/signals.py:374 -#, python-brace-format -msgid "Incident '{t}' deleted" -msgstr "Vorfall '{t}' gelöscht" - -#: risks/signals.py:410 -#, python-brace-format -msgid "Incident {event}: {t}" -msgstr "Vorfall {event}: {t}" - -#: risks/signals.py:442 +#: risks/signals.py:331 #, python-brace-format msgid "Incident deleted: {t}" msgstr "Vorfall gelöscht: {t}" -#: risks/utils.py:53 risks/utils.py:67 +#: risks/utils.py:66 #, python-brace-format msgid "Follow-up reached: review required for risk '{t}'" msgstr "Wiedervorlagedatum erreicht: Prüfung nötig für Risiko '{t}'" -#: risks/views.py:345 +#: risks/views.py:277 msgid "Notification marked as read." msgstr "Nachricht als gelesen markiert" -#: risks/views.py:353 +#: risks/views.py:287 msgid "All notifications marked as read." msgstr "Alle Benachrichtigungen wurden als gelesen Markiert" -#: risks/views.py:370 +#: risks/views.py:306 msgid "Risk status updated." msgstr "Risikostatus Aktualisiert" -#: risks/views.py:384 +#: risks/views.py:322 msgid "Control status updated." msgstr "Maßnahmenstatus Aktualisiert" -#: risks/views.py:398 +#: risks/views.py:338 msgid "Incident status updated." msgstr "Vorfallstatus Aktualisiert" -#: risks/views.py:414 +#: risks/views.py:355 msgid "Residual review flag updated." msgstr "Restrisiko geprüft" -#: templates/base.html:34 templates/risks/dashboard.html:9 +#: templates/base.html:34 templates/risks/dashboard.html:4 msgid "Dashboard" msgstr "Dashboard" #: templates/base.html:35 templates/risks/risk_matrix.html:4 -#: templates/risks/risk_matrix.html:12 templates/risks/risk_matrix.html:18 +#: templates/risks/risk_matrix.html:8 msgid "Risk Matrix" msgstr "Risikomatrix" -#: templates/base.html:37 templates/risks/item_risk.html:4 +#: templates/base.html:37 templates/risks/item_risk.html:5 #: templates/risks/list_risks.html:4 msgid "Risk analysis" msgstr "Risikoanalyse" @@ -595,235 +559,361 @@ msgstr "Light Mode" msgid "Dark Mode" msgstr "Dark Mode" -#: templates/risks/dashboard.html:12 +#: templates/risks/dashboard.html:13 msgid "Overview of Risks, Controls and Incidents" msgstr "Übersicht der Risiken, Maßnahmen und Vorfälle" -#: templates/risks/dashboard.html:25 +#: templates/risks/dashboard.html:28 msgid "Total Risks" msgstr "Risiken" -#: templates/risks/dashboard.html:33 +#: templates/risks/dashboard.html:36 msgid "Residual Risks Needing Review" msgstr "Restrisiken ohne Verifizierung" -#: templates/risks/dashboard.html:41 +#: templates/risks/dashboard.html:44 msgid "Unread Notifications" msgstr "Ungelesene Nachrichten" -#: templates/risks/dashboard.html:48 -msgid "Controls by Status" -msgstr "Maßnahmen nach Status" - -#: templates/risks/dashboard.html:58 -msgid "Incidents by Status" -msgstr "Vorfälle nach Status" - -#: templates/risks/dashboard.html:68 +#: templates/risks/dashboard.html:53 msgid "Risks by CIA" msgstr "CIA Risiken" -#: templates/risks/item_risk.html:18 -#, fuzzy -#| msgid "Reviews" +#: templates/risks/dashboard.html:78 +msgid "Controls by Status" +msgstr "Maßnahmen nach Status" + +#: templates/risks/dashboard.html:84 templates/risks/dashboard.html:109 +msgid "Count" +msgstr "Anzahl" + +#: templates/risks/dashboard.html:94 templates/risks/dashboard.html:119 +#: templates/risks/list_risks.html:172 +msgid "No data" +msgstr "Keine Daten" + +#: templates/risks/dashboard.html:103 +msgid "Incidents by Status" +msgstr "Vorfälle nach Status" + +#: templates/risks/item_control.html:13 templates/risks/item_incident.html:13 +#: templates/risks/item_risk.html:12 msgid "Overview" -msgstr "Prüfung" +msgstr "Übersicht" -#: templates/risks/item_risk.html:34 -msgid "Update status" -msgstr "Status Aktualisiert" +#: templates/risks/item_control.html:14 templates/risks/item_incident.html:14 +#: templates/risks/list_incidents.html:98 +msgid "Linked Risks" +msgstr "Zugehörige Risiken" -#: templates/risks/item_risk.html:57 -msgid "Protection goals" -msgstr "Schutzziele" +#: templates/risks/item_control.html:15 templates/risks/item_incident.html:15 +#: templates/risks/item_risk.html:15 +msgid "History" +msgstr "Historie" -#: templates/risks/item_risk.html:61 -msgid "Not yet assigned" -msgstr "Keine Zugewiesenen Ziele" +#: templates/risks/item_control.html:18 +msgid "Edit Control" +msgstr "Maßnahme bearbeiten" -#: templates/risks/item_risk.html:67 -msgid "Risk owner" -msgstr "Risikoeigner" +#: templates/risks/item_control.html:21 +msgid "Delete Control" +msgstr "Maßnahme löschen" -#: templates/risks/item_risk.html:69 -msgid "updated at" -msgstr "Aktualisiert am" - -#: templates/risks/item_risk.html:70 -msgid "Resubmission" -msgstr "Wiedervorlagedatum" - -#: templates/risks/item_risk.html:80 -msgid "Risk assessment" -msgstr "Risikomanagement" - -#: templates/risks/item_risk.html:88 -msgid "Gross (before measures)" -msgstr "Brutto (vor Maßnahmen)" - -#: templates/risks/item_risk.html:93 templates/risks/item_risk.html:139 -#: templates/risks/list_risks.html:118 templates/risks/list_risks.html:122 -#: templates/risks/risk_matrix.html:25 -msgid "Likelihood" -msgstr "Eintritt" - -#: templates/risks/item_risk.html:94 templates/risks/item_risk.html:140 -msgid "Probability of occurrence" -msgstr "Eintrittswahrscheinlichkeit" - -#: templates/risks/item_risk.html:102 templates/risks/item_risk.html:148 -#: templates/risks/list_risks.html:119 templates/risks/list_risks.html:123 -#: templates/risks/risk_matrix.html:25 -msgid "Impact" -msgstr "Schaden" - -#: templates/risks/item_risk.html:103 templates/risks/item_risk.html:149 -msgid "Extent of damage" -msgstr "Schadensausmaß" - -#: templates/risks/item_risk.html:111 templates/risks/item_risk.html:112 -#: templates/risks/item_risk.html:157 templates/risks/item_risk.html:158 -#: templates/risks/list_risks.html:121 templates/risks/list_risks.html:125 -msgid "Level" -msgstr "Stufe" - -#: templates/risks/item_risk.html:120 templates/risks/item_risk.html:121 -#: templates/risks/item_risk.html:165 templates/risks/item_risk.html:167 -#: templates/risks/list_risks.html:120 templates/risks/list_risks.html:124 -#: templates/risks/risk_matrix.html:39 -msgid "Score" -msgstr "Score" - -#: templates/risks/item_risk.html:134 -msgid "Net (after measures)" -msgstr "Netto (nach Maßnahmen)" - -#: templates/risks/item_risk.html:173 -msgid "No net risk recorded yet." -msgstr "Kein Restrisiko vergeben" - -#: templates/risks/item_risk.html:184 -msgid "Save" -msgstr "Speichern" - -#: templates/risks/item_risk.html:198 -msgid "Measures" -msgstr "Maßnahmen" - -#: templates/risks/item_risk.html:207 -msgid "Deadline" -msgstr "Frist" - -#: templates/risks/item_risk.html:208 +#: templates/risks/item_control.html:34 templates/risks/item_risk.html:180 +#: templates/risks/list_controls.html:63 templates/risks/list_controls.html:99 msgid "Responsible" msgstr "Verantwortliche/r" -#: templates/risks/item_risk.html:209 +#: templates/risks/item_control.html:37 templates/risks/item_risk.html:181 +#: templates/risks/list_controls.html:102 msgid "Link" msgstr "Link" -#: templates/risks/item_risk.html:243 -msgid "No measures recorded." -msgstr "Keine Maßnahmen gefunden." +#: templates/risks/item_control.html:48 templates/risks/item_risk.html:179 +#: templates/risks/list_controls.html:101 +msgid "Deadline" +msgstr "Frist" -#: templates/risks/item_risk.html:261 -msgid "Reported on" -msgstr "Gemeldet am" - -#: templates/risks/item_risk.html:275 -msgid "No incidents recorded." -msgstr "Keine Vorfälle gefunden." - -#: templates/risks/item_risk.html:283 -msgid "History" -msgstr "" - -#: templates/risks/item_risk.html:290 -msgid "Time" -msgstr "Zeitpunkt" - -#: templates/risks/item_risk.html:292 -msgid "Action" -msgstr "Aktion" - -#: templates/risks/item_risk.html:306 -msgid "No History found." -msgstr "Keine Historie vorhanden" - -#: templates/risks/list_risks.html:9 -msgid "Filter" -msgstr "Filter" - -#: templates/risks/list_risks.html:83 +#: templates/risks/item_control.html:66 templates/risks/item_incident.html:58 #, fuzzy #| msgid "Risk Owner" msgid "Owner" msgstr "Risikoeigner" -#: templates/risks/list_risks.html:111 -msgid "Asset / Process" -msgstr "Asset / Prozess" +#: templates/risks/item_control.html:82 templates/risks/item_incident.html:74 +msgid "No linked risks." +msgstr "Keine zugehörigen Risiken" -#: templates/risks/list_risks.html:113 -msgid "Risk Owner" +#: templates/risks/item_control.html:95 templates/risks/item_incident.html:87 +#: templates/risks/item_risk.html:233 +msgid "Time" +msgstr "Zeitpunkt" + +#: templates/risks/item_control.html:97 templates/risks/item_incident.html:89 +#: templates/risks/item_risk.html:235 +msgid "Action" +msgstr "Aktion" + +#: templates/risks/item_control.html:108 templates/risks/item_incident.html:100 +#: templates/risks/item_risk.html:246 +msgid "No history found." +msgstr "Keine Historie vorhanden" + +#: templates/risks/item_incident.html:18 +msgid "Edit Incident" +msgstr "Vorfall bearbeiten" + +#: templates/risks/item_incident.html:21 +msgid "Delete Incident" +msgstr "Vorfall löschen" + +#: templates/risks/item_incident.html:35 templates/risks/item_risk.html:209 +#: templates/risks/list_incidents.html:100 +msgid "Reported on" +msgstr "Gemeldet am" + +#: templates/risks/item_risk.html:13 +msgid "Measures" +msgstr "Maßnahmen" + +#: templates/risks/item_risk.html:18 +msgid "Edit Risk" +msgstr "Risiko bearbeiten" + +#: templates/risks/item_risk.html:21 +msgid "Delete Risk" +msgstr "Risiko löschen" + +#: templates/risks/item_risk.html:39 +msgid "Protection goals" +msgstr "Schutzziele" + +#: templates/risks/item_risk.html:43 +msgid "Not yet assigned" +msgstr "Keine Zugewiesenen Ziele" + +#: templates/risks/item_risk.html:49 +msgid "Risk owner" msgstr "Risikoeigner" -#: templates/risks/list_risks.html:114 -msgid "Gross Risk" -msgstr "Bruttorisiko" +#: templates/risks/item_risk.html:52 +msgid "Resubmission" +msgstr "Wiedervorlagedatum" -#: templates/risks/list_risks.html:115 -msgid "Net Risk" -msgstr "Nettorisiko" +#: templates/risks/item_risk.html:65 +msgid "Risk assessment" +msgstr "Risikomanagement" -#: templates/risks/list_risks.html:195 -msgid "No residual risk defined" -msgstr "Noch kein Restrisiko definiert" +#: templates/risks/item_risk.html:74 +msgid "Gross (before measures)" +msgstr "Brutto (vor Maßnahmen)" -#: templates/risks/list_risks.html:201 -msgid "No risks present" -msgstr "Aktuell keine Risiken" +#: templates/risks/item_risk.html:80 templates/risks/item_risk.html:126 +#: templates/risks/risk_matrix.html:21 templates/risks/risk_matrix.html:79 +#: templates/risks/risk_matrix.html:121 +msgid "Likelihood" +msgstr "Eintritt" + +#: templates/risks/item_risk.html:89 templates/risks/item_risk.html:135 +#: templates/risks/risk_matrix.html:21 templates/risks/risk_matrix.html:79 +#: templates/risks/risk_matrix.html:121 +msgid "Impact" +msgstr "Schaden" + +#: templates/risks/item_risk.html:98 templates/risks/item_risk.html:144 +msgid "Level" +msgstr "Stufe" + +#: templates/risks/item_risk.html:107 templates/risks/item_risk.html:153 +msgid "Score" +msgstr "Score" + +#: templates/risks/item_risk.html:120 +msgid "Net (after measures)" +msgstr "Netto (nach Maßnahmen)" + +#: templates/risks/item_risk.html:160 +msgid "No net risk recorded yet." +msgstr "Kein Restrisiko vergeben" + +#: templates/risks/item_risk.html:194 +msgid "No measures recorded." +msgstr "Keine Maßnahmen gefunden." + +#: templates/risks/item_risk.html:220 +msgid "No incidents recorded." +msgstr "Keine Vorfälle gefunden." + +#: templates/risks/list_controls.html:21 templates/risks/list_controls.html:36 +#: templates/risks/list_controls.html:51 templates/risks/list_controls.html:66 +#: templates/risks/list_incidents.html:21 +#: templates/risks/list_incidents.html:36 +#: templates/risks/list_incidents.html:51 +#: templates/risks/list_incidents.html:66 templates/risks/list_risks.html:19 +#: templates/risks/list_risks.html:34 templates/risks/list_risks.html:49 +#: templates/risks/list_risks.html:64 templates/risks/list_risks.html:79 +#: templates/risks/notifications.html:13 +msgid "All" +msgstr "Alle" + +#: templates/risks/list_controls.html:82 templates/risks/list_incidents.html:82 +#: templates/risks/list_risks.html:95 +msgid "Reset filters" +msgstr "Filter zurücksetzen" + +#: templates/risks/list_controls.html:96 templates/risks/list_incidents.html:96 +#: templates/risks/list_risks.html:110 +msgid "No." +msgstr "Nr." + +#: templates/risks/list_controls.html:98 +msgid "Related Risk" +msgstr "Zugeordnete Risiken" + +#: templates/risks/list_controls.html:144 +msgid "No controls found." +msgstr "Keine Maßnahmen vorhanden" + +#: templates/risks/list_incidents.html:125 +msgid "No incidents found." +msgstr "Keine Vorfälle gefunden." + +#: templates/risks/list_risks.html:31 +msgid "Assets" +msgstr "Asset" + +#: templates/risks/list_risks.html:46 +msgid "Categories" +msgstr "Kategorie" + +#: templates/risks/list_risks.html:61 +msgid "Processes" +msgstr "Prozesse" + +#: templates/risks/list_risks.html:76 +msgid "Owners" +msgstr "Risikoeigner" + +#: templates/risks/list_risks.html:130 +msgid "Created" +msgstr "Erstellt" + +#: templates/risks/list_risks.html:131 templates/risks/list_risks.html:133 +msgid "by" +msgstr "von" + +#: templates/risks/list_risks.html:132 +msgid "Changed" +msgstr "Geändert" #: templates/risks/notifications.html:12 msgid "Unread" msgstr "Ungelesen" -#: templates/risks/notifications.html:13 -msgid "All" -msgstr "Alle" - #: templates/risks/notifications.html:20 msgid "Mark all as read" msgstr "Alle als gelesen Markieren" -#: templates/risks/notifications.html:33 +#: templates/risks/notifications.html:34 msgid "New" msgstr "Neu" -#: templates/risks/notifications.html:43 +#: templates/risks/notifications.html:49 msgid "Mark as read" msgstr "Als gelesen markieren" -#: templates/risks/notifications.html:53 +#: templates/risks/notifications.html:59 msgid "No notifications." msgstr "Keine Nachrichten" -#: templates/risks/risk_matrix.html:13 +#: templates/risks/risk_matrix.html:9 msgid "Detail View" msgstr "Detailansicht" -#: templates/risks/risk_matrix.html:54 +#: templates/risks/risk_matrix.html:60 msgid "Show" msgstr "Zeige" -#: templates/risks/risk_matrix.html:58 +#: templates/risks/risk_matrix.html:64 msgid "Gross" msgstr "Brutto" -#: templates/risks/risk_matrix.html:61 +#: templates/risks/risk_matrix.html:67 msgid "Net" msgstr "Netto" -#: templates/risks/risk_matrix.html:73 templates/risks/risk_matrix.html:115 -msgid "Impact \\\\ Likelihood" -msgstr "Schadensausmaß \\\\ Eintrittswahrscheinlichkeit" +#, python-brace-format +#~ msgid "Risk '{title}' {state}" +#~ msgstr "Risiko '{title}' {state}" + +#, python-brace-format +#~ msgid "Risk '{title}' deleted" +#~ msgstr "Risiko '{title}' gelöscht" + +#, python-brace-format +#~ msgid "Control '{title}' {state}" +#~ msgstr "Maßnahme '{title}' {state}" + +#, python-brace-format +#~ msgid "Control '{title}' deleted" +#~ msgstr "Maßnahme '{title}' gelöscht" + +#, python-brace-format +#~ msgid "Review required for risk '{t}'" +#~ msgstr "Prüfung benötigt für Risiko '{t}'" + +#, python-brace-format +#~ msgid "Review completed for risk '{t}'" +#~ msgstr "Prüfung Abgeschlossen für Risiko '{t}'" + +#, python-brace-format +#~ msgid "Residual risk {state} for '{t}'" +#~ msgstr "Restrisiko {state} für '{t}'" + +#, python-brace-format +#~ msgid "Residual risk deleted for '{t}'" +#~ msgstr "Restrisiko für '{t}' gelöscht" + +#, python-brace-format +#~ msgid "Incident '{t}' {s}" +#~ msgstr "Vorfall '{t}' {s}" + +#, python-brace-format +#~ msgid "Incident '{t}' deleted" +#~ msgstr "Vorfall '{t}' gelöscht" + +#~ msgid "Update status" +#~ msgstr "Status Aktualisiert" + +#~ msgid "updated at" +#~ msgstr "Aktualisiert am" + +#~ msgid "Probability of occurrence" +#~ msgstr "Eintrittswahrscheinlichkeit" + +#~ msgid "Extent of damage" +#~ msgstr "Schadensausmaß" + +#~ msgid "Save" +#~ msgstr "Speichern" + +#~ msgid "Filter" +#~ msgstr "Filter" + +#~ msgid "Asset / Process" +#~ msgstr "Asset / Prozess" + +#~ msgid "Risk Owner" +#~ msgstr "Risikoeigner" + +#~ msgid "Gross Risk" +#~ msgstr "Bruttorisiko" + +#~ msgid "No residual risk defined" +#~ msgstr "Noch kein Restrisiko definiert" + +#~ msgid "No risks present" +#~ msgstr "Aktuell keine Risiken" + +#~ msgid "Impact \\\\ Likelihood" +#~ msgstr "Schadensausmaß \\\\ Eintrittswahrscheinlichkeit" diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index bde0ace..aa7d204 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-09-11 10:17+0200\n" +"POT-Creation-Date: 2025-09-12 16:50+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,560 +18,527 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: risks/admin.py:6 risks/admin.py:8 +#: risks/admin.py:21 risks/admin.py:23 msgid "Administration" msgstr "" -#: risks/admin.py:7 +#: risks/admin.py:22 msgid "Admin" msgstr "" -#: risks/admin.py:15 risks/models.py:36 templates/risks/dashboard.html:75 -#: templates/risks/dashboard.html:80 templates/risks/dashboard.html:85 -#: templates/risks/list_risks.html:97 +#: risks/admin.py:33 risks/models.py:50 templates/risks/list_incidents.html:33 +#: templates/risks/list_risks.html:16 msgid "Risks" msgstr "" -#: risks/admin.py:16 risks/models.py:190 templates/base.html:38 -#: templates/risks/list_risks.html:31 +#: risks/admin.py:34 risks/models.py:184 templates/base.html:38 +#: templates/risks/item_control.html:5 templates/risks/list_controls.html:5 msgid "Controls" msgstr "" -#: risks/admin.py:17 +#: risks/admin.py:35 msgid "Residual risks" msgstr "" -#: risks/admin.py:18 +#: risks/admin.py:36 msgid "Reviews" msgstr "" -#: risks/admin.py:19 risks/models.py:258 templates/base.html:39 -#: templates/risks/item_risk.html:252 +#: risks/admin.py:37 risks/models.py:255 templates/base.html:39 +#: templates/risks/item_incident.html:5 templates/risks/item_risk.html:14 +#: templates/risks/list_incidents.html:5 templates/risks/list_incidents.html:18 msgid "Incidents" msgstr "" -#: risks/admin.py:20 +#: risks/admin.py:38 msgid "Users" msgstr "" -#: risks/admin.py:133 risks/models.py:326 templates/risks/item_risk.html:291 +#: risks/admin.py:159 risks/models.py:362 templates/risks/item_control.html:96 +#: templates/risks/item_incident.html:88 templates/risks/item_risk.html:234 msgid "User" msgstr "" -#: risks/admin.py:139 +#: risks/admin.py:163 msgid "Message" msgstr "" -#: risks/admin.py:147 +#: risks/admin.py:169 msgid "Mark selected as read" msgstr "" -#: risks/admin.py:150 +#: risks/admin.py:172 #, python-format msgid "%(n)d notifications marked as read." msgstr "" -#: risks/admin.py:152 +#: risks/admin.py:174 msgid "Mark selected as unread" msgstr "" -#: risks/admin.py:155 +#: risks/admin.py:177 #, python-format msgid "%(n)d notifications marked as unread." msgstr "" -#: risks/admin.py:157 +#: risks/admin.py:179 msgid "Mark selected as sent" msgstr "" -#: risks/admin.py:160 +#: risks/admin.py:182 #, python-format msgid "%(n)d notifications marked as sent." msgstr "" -#: risks/admin.py:162 +#: risks/admin.py:184 msgid "Mark selected as unsent" msgstr "" -#: risks/admin.py:165 +#: risks/admin.py:187 #, python-format msgid "%(n)d notifications marked as unsent." msgstr "" -#: risks/admin.py:182 +#: risks/admin.py:199 msgid "Extra recipients" msgstr "" -#: risks/admin.py:190 +#: risks/admin.py:211 msgid "SSO Information" msgstr "" -#: risks/admin.py:199 +#: risks/admin.py:221 msgid "Risks Owned" msgstr "" -#: risks/admin.py:203 +#: risks/admin.py:225 msgid "Controls Responsible" msgstr "" -#: risks/apps.py:7 templates/base.html:7 templates/base.html:32 +#: risks/apps.py:12 templates/base.html:7 templates/base.html:32 msgid "Risk Management" msgstr "" -#: risks/forms.py:9 risks/forms.py:16 risks/forms.py:23 risks/models.py:73 -#: templates/risks/item_risk.html:64 templates/risks/item_risk.html:206 -#: templates/risks/item_risk.html:260 +#: risks/forms.py:13 risks/models.py:87 templates/risks/dashboard.html:83 +#: templates/risks/dashboard.html:108 templates/risks/item_control.html:35 +#: templates/risks/item_incident.html:36 templates/risks/item_risk.html:46 +#: templates/risks/item_risk.html:178 templates/risks/item_risk.html:208 +#: templates/risks/list_controls.html:48 templates/risks/list_controls.html:100 +#: templates/risks/list_incidents.html:48 +#: templates/risks/list_incidents.html:99 templates/risks/list_risks.html:128 msgid "Status" msgstr "" -#: risks/forms.py:30 risks/models.py:42 templates/risks/item_risk.html:181 +#: risks/forms.py:48 risks/models.py:56 msgid "Review required" msgstr "" -#: risks/models.py:35 templates/risks/item_risk.html:11 -#: templates/risks/list_risks.html:18 templates/risks/list_risks.html:110 +#: risks/models.py:49 templates/risks/item_control.html:65 +#: templates/risks/item_incident.html:57 templates/risks/item_risk.html:6 +#: templates/risks/list_controls.html:33 templates/risks/list_risks.html:116 msgid "Risk" msgstr "" -#: risks/models.py:39 +#: risks/models.py:53 msgid "Open" msgstr "" -#: risks/models.py:40 risks/models.py:262 +#: risks/models.py:54 risks/models.py:259 msgid "In Progress" msgstr "" -#: risks/models.py:41 risks/models.py:263 +#: risks/models.py:55 risks/models.py:260 msgid "Closed" msgstr "" -#: risks/models.py:45 +#: risks/models.py:59 msgid "Very low – occurs less than once every 5 years" msgstr "" -#: risks/models.py:46 +#: risks/models.py:60 msgid "Low – once every 1–5 years" msgstr "" -#: risks/models.py:47 +#: risks/models.py:61 msgid "Likely – once per year or more" msgstr "" -#: risks/models.py:48 +#: risks/models.py:62 msgid "Very likely – multiple times per year/monthly" msgstr "" -#: risks/models.py:51 +#: risks/models.py:65 msgid "Very Low (< 1,000 € – minor operational impact)" msgstr "" -#: risks/models.py:52 +#: risks/models.py:66 msgid "Low (1,000–5,000 € – local impact)" msgstr "" -#: risks/models.py:53 +#: risks/models.py:67 msgid "High (5,000–15,000 € – team-level impact)" msgstr "" -#: risks/models.py:54 +#: risks/models.py:68 msgid "Severe (50,000–100,000 € – regional impact)" msgstr "" -#: risks/models.py:55 +#: risks/models.py:69 msgid "Critical (> 100,000 € – existential threat)" msgstr "" -#: risks/models.py:58 templates/risks/dashboard.html:74 +#: risks/models.py:72 templates/risks/dashboard.html:57 +#: templates/risks/list_risks.html:112 msgid "Confidentiality" msgstr "" -#: risks/models.py:59 templates/risks/dashboard.html:79 +#: risks/models.py:73 templates/risks/dashboard.html:63 +#: templates/risks/list_risks.html:113 msgid "Integrity" msgstr "" -#: risks/models.py:60 templates/risks/dashboard.html:84 +#: risks/models.py:74 templates/risks/dashboard.html:69 +#: templates/risks/list_risks.html:114 msgid "Availability" msgstr "" -#: risks/models.py:64 risks/models.py:200 risks/models.py:265 -#: templates/risks/item_risk.html:205 +#: risks/models.py:78 risks/models.py:194 risks/models.py:263 +#: templates/risks/item_risk.html:177 msgid "Title" msgstr "" -#: risks/models.py:65 risks/models.py:266 +#: risks/models.py:79 risks/models.py:264 templates/risks/item_control.html:52 +#: templates/risks/item_incident.html:44 msgid "Description" msgstr "" -#: risks/models.py:66 templates/risks/item_risk.html:53 -#: templates/risks/list_risks.html:57 +#: risks/models.py:80 templates/risks/item_control.html:68 +#: templates/risks/item_incident.html:60 templates/risks/item_risk.html:35 +#: templates/risks/list_risks.html:119 msgid "Asset" msgstr "" -#: risks/models.py:67 templates/risks/item_risk.html:54 -#: templates/risks/list_risks.html:70 +#: risks/models.py:81 templates/risks/item_control.html:69 +#: templates/risks/item_incident.html:61 templates/risks/item_risk.html:36 +#: templates/risks/list_risks.html:125 msgid "Process" msgstr "" -#: risks/models.py:68 templates/risks/item_risk.html:55 -#: templates/risks/list_risks.html:44 templates/risks/list_risks.html:112 +#: risks/models.py:82 templates/risks/item_control.html:67 +#: templates/risks/item_incident.html:59 templates/risks/item_risk.html:37 +#: templates/risks/list_risks.html:122 msgid "Category" msgstr "" -#: risks/models.py:69 templates/risks/item_risk.html:68 +#: risks/models.py:83 templates/risks/item_control.html:46 +#: templates/risks/item_incident.html:39 templates/risks/item_risk.html:50 msgid "Created at" msgstr "" -#: risks/models.py:70 +#: risks/models.py:84 templates/risks/item_control.html:47 +#: templates/risks/item_incident.html:40 templates/risks/item_risk.html:51 msgid "Updated at" msgstr "" -#: risks/models.py:71 +#: risks/models.py:85 templates/risks/item_risk.html:58 msgid "Effects" msgstr "" -#: risks/models.py:133 +#: risks/models.py:140 msgid "Residual Risk" msgstr "" -#: risks/models.py:134 +#: risks/models.py:141 msgid "Residual Risks" msgstr "" -#: risks/models.py:189 +#: risks/models.py:183 templates/risks/item_control.html:33 +#: templates/risks/list_controls.html:18 templates/risks/list_controls.html:97 msgid "Control" msgstr "" -#: risks/models.py:193 +#: risks/models.py:187 msgid "Planned" msgstr "" -#: risks/models.py:194 +#: risks/models.py:188 msgid "In progress" msgstr "" -#: risks/models.py:195 +#: risks/models.py:189 msgid "Completed" msgstr "" -#: risks/models.py:196 +#: risks/models.py:190 msgid "Verified" msgstr "" -#: risks/models.py:197 +#: risks/models.py:191 msgid "Rejected" msgstr "" -#: risks/models.py:226 +#: risks/models.py:222 msgid "Auditlog" msgstr "" -#: risks/models.py:227 +#: risks/models.py:223 msgid "Auditlogs" msgstr "" -#: risks/models.py:257 templates/risks/item_risk.html:259 +#: risks/models.py:254 templates/risks/item_incident.html:33 +#: templates/risks/item_risk.html:207 templates/risks/list_incidents.html:97 msgid "Incident" msgstr "" -#: risks/models.py:261 +#: risks/models.py:258 msgid "Opened" msgstr "" -#: risks/models.py:267 +#: risks/models.py:265 msgid "Date reported" msgstr "" -#: risks/models.py:269 +#: risks/models.py:268 templates/risks/item_incident.html:34 +#: templates/risks/list_incidents.html:63 +#: templates/risks/list_incidents.html:101 msgid "Reported by" msgstr "" -#: risks/models.py:279 risks/utils.py:119 +#: risks/models.py:284 +msgid "Risk created" +msgstr "" + +#: risks/models.py:285 +msgid "Risk updated" +msgstr "" + +#: risks/models.py:286 +msgid "Risk deleted" +msgstr "" + +#: risks/models.py:287 +msgid "Risk review required" +msgstr "" + +#: risks/models.py:288 +msgid "Risk review completed" +msgstr "" + +#: risks/models.py:290 +msgid "Control created" +msgstr "" + +#: risks/models.py:291 +msgid "Control updated" +msgstr "" + +#: risks/models.py:292 +msgid "Control deleted" +msgstr "" + +#: risks/models.py:294 +msgid "Residual created" +msgstr "" + +#: risks/models.py:295 +msgid "Residual updated" +msgstr "" + +#: risks/models.py:296 +msgid "Residual deleted" +msgstr "" + +#: risks/models.py:297 +msgid "Residual review required" +msgstr "" + +#: risks/models.py:298 +msgid "Residual review completed" +msgstr "" + +#: risks/models.py:300 +msgid "Incident created" +msgstr "" + +#: risks/models.py:301 +msgid "Incident updated" +msgstr "" + +#: risks/models.py:302 +msgid "Incident deleted" +msgstr "" + +#: risks/models.py:304 +msgid "User created" +msgstr "" + +#: risks/models.py:305 +msgid "User deleted" +msgstr "" + +#: risks/models.py:314 risks/utils.py:142 msgid "Notification" msgstr "" -#: risks/models.py:280 templates/base.html:80 +#: risks/models.py:315 templates/base.html:80 #: templates/risks/notifications.html:4 msgid "Notifications" msgstr "" -#: risks/models.py:295 -msgid "Risk created" -msgstr "" - -#: risks/models.py:296 -msgid "Risk updated" -msgstr "" - -#: risks/models.py:297 -msgid "Risk deleted" -msgstr "" - -#: risks/models.py:298 -msgid "Risk review required" -msgstr "" - -#: risks/models.py:299 -msgid "Risk review completed" -msgstr "" - -#: risks/models.py:301 -msgid "Control created" -msgstr "" - -#: risks/models.py:302 -msgid "Control updated" -msgstr "" - -#: risks/models.py:303 -msgid "Control deleted" -msgstr "" - -#: risks/models.py:305 -msgid "Residual created" -msgstr "" - -#: risks/models.py:306 -msgid "Residual updated" -msgstr "" - -#: risks/models.py:307 -msgid "Residual deleted" -msgstr "" - -#: risks/models.py:308 -msgid "Residual review required" -msgstr "" - -#: risks/models.py:309 -msgid "Residual review completed" -msgstr "" - -#: risks/models.py:311 -msgid "Incident created" -msgstr "" - -#: risks/models.py:312 -msgid "Incident updated" -msgstr "" - -#: risks/models.py:313 -msgid "Incident deleted" -msgstr "" - -#: risks/models.py:315 -msgid "User created" -msgstr "" - -#: risks/models.py:316 -msgid "User deleted" -msgstr "" - -#: risks/models.py:371 +#: risks/models.py:411 msgid "Notification rule" msgstr "" -#: risks/models.py:372 +#: risks/models.py:412 msgid "Notification rules" msgstr "" -#: risks/models.py:375 +#: risks/models.py:415 msgid "Event" msgstr "" -#: risks/models.py:380 +#: risks/models.py:420 msgid "Show in app" msgstr "" -#: risks/models.py:381 +#: risks/models.py:421 msgid "Send via email" msgstr "" -#: risks/models.py:385 +#: risks/models.py:425 msgid "Send to owner/responsible/reporter (if available)" msgstr "" -#: risks/models.py:389 +#: risks/models.py:428 msgid "Send to all staff" msgstr "" -#: risks/models.py:393 +#: risks/models.py:430 msgid "Extra recipients (emails, comma or newline separated)" msgstr "" -#: risks/signals.py:57 +#: risks/signals.py:71 #, python-brace-format msgid "User '{u}' created" msgstr "" -#: risks/signals.py:62 +#: risks/signals.py:79 #, python-brace-format msgid "User '{u}' deleted" msgstr "" -#: risks/signals.py:70 -#, python-brace-format -msgid "Risk '{title}' {state}" -msgstr "" - -#: risks/signals.py:72 risks/signals.py:166 risks/signals.py:212 -#: risks/signals.py:275 risks/signals.py:369 risks/signals.py:411 -msgid "created" -msgstr "" - -#: risks/signals.py:72 risks/signals.py:166 risks/signals.py:212 -#: risks/signals.py:275 risks/signals.py:369 risks/signals.py:411 -msgid "updated" -msgstr "" - -#: risks/signals.py:78 -#, python-brace-format -msgid "Risk '{title}' deleted" -msgstr "" - -#: risks/signals.py:117 +#: risks/signals.py:102 #, python-brace-format msgid "Risk created: {t}" msgstr "" -#: risks/signals.py:123 +#: risks/signals.py:121 #, python-brace-format msgid "Risk updated: {t}" msgstr "" -#: risks/signals.py:143 +#: risks/signals.py:134 #, python-brace-format msgid "Risk deleted: {t}" msgstr "" -#: risks/signals.py:164 +#: risks/signals.py:181 #, python-brace-format -msgid "Control '{title}' {state}" +msgid "Control {e}: {t}" msgstr "" -#: risks/signals.py:173 -#, python-brace-format -msgid "Control '{title}' deleted" +#: risks/signals.py:182 risks/signals.py:317 +msgid "created" msgstr "" -#: risks/signals.py:211 -#, python-brace-format -msgid "Control {event}: {t}" +#: risks/signals.py:182 risks/signals.py:317 +msgid "updated" msgstr "" -#: risks/signals.py:231 +#: risks/signals.py:196 #, python-brace-format msgid "Control deleted: {t}" msgstr "" -#: risks/signals.py:246 +#: risks/signals.py:213 #, python-brace-format msgid "Review required for risk '{t}' due to control change" msgstr "" -#: risks/signals.py:265 -#, python-brace-format -msgid "Review required for risk '{t}'" -msgstr "" - -#: risks/signals.py:270 -#, python-brace-format -msgid "Review completed for risk '{t}'" -msgstr "" - -#: risks/signals.py:274 -#, python-brace-format -msgid "Residual risk {state} for '{t}'" -msgstr "" - -#: risks/signals.py:279 -#, python-brace-format -msgid "Residual risk deleted for '{t}'" -msgstr "" - -#: risks/signals.py:316 +#: risks/signals.py:239 #, python-brace-format msgid "Residual created for risk: {t}" msgstr "" -#: risks/signals.py:328 +#: risks/signals.py:257 #, python-brace-format msgid "Residual review required for risk: {t}" msgstr "" -#: risks/signals.py:334 +#: risks/signals.py:260 #, python-brace-format msgid "Residual review completed for risk: {t}" msgstr "" -#: risks/signals.py:340 +#: risks/signals.py:263 #, python-brace-format msgid "Residual updated for risk: {t}" msgstr "" -#: risks/signals.py:358 +#: risks/signals.py:280 #, python-brace-format msgid "Residual deleted for risk: {t}" msgstr "" -#: risks/signals.py:369 +#: risks/signals.py:316 #, python-brace-format -msgid "Incident '{t}' {s}" +msgid "Incident {e}: {t}" msgstr "" -#: risks/signals.py:374 -#, python-brace-format -msgid "Incident '{t}' deleted" -msgstr "" - -#: risks/signals.py:410 -#, python-brace-format -msgid "Incident {event}: {t}" -msgstr "" - -#: risks/signals.py:442 +#: risks/signals.py:331 #, python-brace-format msgid "Incident deleted: {t}" msgstr "" -#: risks/utils.py:53 risks/utils.py:67 +#: risks/utils.py:66 #, python-brace-format msgid "Follow-up reached: review required for risk '{t}'" msgstr "" -#: risks/views.py:345 +#: risks/views.py:277 msgid "Notification marked as read." msgstr "" -#: risks/views.py:353 +#: risks/views.py:287 msgid "All notifications marked as read." msgstr "" -#: risks/views.py:370 +#: risks/views.py:306 msgid "Risk status updated." msgstr "" -#: risks/views.py:384 +#: risks/views.py:322 msgid "Control status updated." msgstr "" -#: risks/views.py:398 +#: risks/views.py:338 msgid "Incident status updated." msgstr "" -#: risks/views.py:414 +#: risks/views.py:355 msgid "Residual review flag updated." msgstr "" -#: templates/base.html:34 templates/risks/dashboard.html:9 +#: templates/base.html:34 templates/risks/dashboard.html:4 msgid "Dashboard" msgstr "" #: templates/base.html:35 templates/risks/risk_matrix.html:4 -#: templates/risks/risk_matrix.html:12 templates/risks/risk_matrix.html:18 +#: templates/risks/risk_matrix.html:8 msgid "Risk Matrix" msgstr "" -#: templates/base.html:37 templates/risks/item_risk.html:4 +#: templates/base.html:37 templates/risks/item_risk.html:5 #: templates/risks/list_risks.html:4 msgid "Risk analysis" msgstr "" @@ -600,231 +567,283 @@ msgstr "" msgid "Dark Mode" msgstr "" -#: templates/risks/dashboard.html:12 +#: templates/risks/dashboard.html:13 msgid "Overview of Risks, Controls and Incidents" msgstr "" -#: templates/risks/dashboard.html:25 +#: templates/risks/dashboard.html:28 msgid "Total Risks" msgstr "" -#: templates/risks/dashboard.html:33 +#: templates/risks/dashboard.html:36 msgid "Residual Risks Needing Review" msgstr "" -#: templates/risks/dashboard.html:41 +#: templates/risks/dashboard.html:44 msgid "Unread Notifications" msgstr "" -#: templates/risks/dashboard.html:48 -msgid "Controls by Status" -msgstr "" - -#: templates/risks/dashboard.html:58 -msgid "Incidents by Status" -msgstr "" - -#: templates/risks/dashboard.html:68 +#: templates/risks/dashboard.html:53 msgid "Risks by CIA" msgstr "" -#: templates/risks/item_risk.html:18 +#: templates/risks/dashboard.html:78 +msgid "Controls by Status" +msgstr "" + +#: templates/risks/dashboard.html:84 templates/risks/dashboard.html:109 +msgid "Count" +msgstr "" + +#: templates/risks/dashboard.html:94 templates/risks/dashboard.html:119 +#: templates/risks/list_risks.html:172 +msgid "No data" +msgstr "" + +#: templates/risks/dashboard.html:103 +msgid "Incidents by Status" +msgstr "" + +#: templates/risks/item_control.html:13 templates/risks/item_incident.html:13 +#: templates/risks/item_risk.html:12 msgid "Overview" msgstr "" -#: templates/risks/item_risk.html:34 -msgid "Update status" +#: templates/risks/item_control.html:14 templates/risks/item_incident.html:14 +#: templates/risks/list_incidents.html:98 +msgid "Linked Risks" msgstr "" -#: templates/risks/item_risk.html:57 -msgid "Protection goals" -msgstr "" - -#: templates/risks/item_risk.html:61 -msgid "Not yet assigned" -msgstr "" - -#: templates/risks/item_risk.html:67 -msgid "Risk owner" -msgstr "" - -#: templates/risks/item_risk.html:69 -msgid "updated at" -msgstr "" - -#: templates/risks/item_risk.html:70 -msgid "Resubmission" -msgstr "" - -#: templates/risks/item_risk.html:80 -msgid "Risk assessment" -msgstr "" - -#: templates/risks/item_risk.html:88 -msgid "Gross (before measures)" -msgstr "" - -#: templates/risks/item_risk.html:93 templates/risks/item_risk.html:139 -#: templates/risks/list_risks.html:118 templates/risks/list_risks.html:122 -#: templates/risks/risk_matrix.html:25 -msgid "Likelihood" -msgstr "" - -#: templates/risks/item_risk.html:94 templates/risks/item_risk.html:140 -msgid "Probability of occurrence" -msgstr "" - -#: templates/risks/item_risk.html:102 templates/risks/item_risk.html:148 -#: templates/risks/list_risks.html:119 templates/risks/list_risks.html:123 -#: templates/risks/risk_matrix.html:25 -msgid "Impact" -msgstr "" - -#: templates/risks/item_risk.html:103 templates/risks/item_risk.html:149 -msgid "Extent of damage" -msgstr "" - -#: templates/risks/item_risk.html:111 templates/risks/item_risk.html:112 -#: templates/risks/item_risk.html:157 templates/risks/item_risk.html:158 -#: templates/risks/list_risks.html:121 templates/risks/list_risks.html:125 -msgid "Level" -msgstr "" - -#: templates/risks/item_risk.html:120 templates/risks/item_risk.html:121 -#: templates/risks/item_risk.html:165 templates/risks/item_risk.html:167 -#: templates/risks/list_risks.html:120 templates/risks/list_risks.html:124 -#: templates/risks/risk_matrix.html:39 -msgid "Score" -msgstr "" - -#: templates/risks/item_risk.html:134 -msgid "Net (after measures)" -msgstr "" - -#: templates/risks/item_risk.html:173 -msgid "No net risk recorded yet." -msgstr "" - -#: templates/risks/item_risk.html:184 -msgid "Save" -msgstr "" - -#: templates/risks/item_risk.html:198 -msgid "Measures" -msgstr "" - -#: templates/risks/item_risk.html:207 -msgid "Deadline" -msgstr "" - -#: templates/risks/item_risk.html:208 -msgid "Responsible" -msgstr "" - -#: templates/risks/item_risk.html:209 -msgid "Link" -msgstr "" - -#: templates/risks/item_risk.html:243 -msgid "No measures recorded." -msgstr "" - -#: templates/risks/item_risk.html:261 -msgid "Reported on" -msgstr "" - -#: templates/risks/item_risk.html:275 -msgid "No incidents recorded." -msgstr "" - -#: templates/risks/item_risk.html:283 +#: templates/risks/item_control.html:15 templates/risks/item_incident.html:15 +#: templates/risks/item_risk.html:15 msgid "History" msgstr "" -#: templates/risks/item_risk.html:290 -msgid "Time" +#: templates/risks/item_control.html:18 +msgid "Edit Control" msgstr "" -#: templates/risks/item_risk.html:292 -msgid "Action" +#: templates/risks/item_control.html:21 +msgid "Delete Control" msgstr "" -#: templates/risks/item_risk.html:306 -msgid "No History found." +#: templates/risks/item_control.html:34 templates/risks/item_risk.html:180 +#: templates/risks/list_controls.html:63 templates/risks/list_controls.html:99 +msgid "Responsible" msgstr "" -#: templates/risks/list_risks.html:9 -msgid "Filter" +#: templates/risks/item_control.html:37 templates/risks/item_risk.html:181 +#: templates/risks/list_controls.html:102 +msgid "Link" msgstr "" -#: templates/risks/list_risks.html:83 +#: templates/risks/item_control.html:48 templates/risks/item_risk.html:179 +#: templates/risks/list_controls.html:101 +msgid "Deadline" +msgstr "" + +#: templates/risks/item_control.html:66 templates/risks/item_incident.html:58 msgid "Owner" msgstr "" -#: templates/risks/list_risks.html:111 -msgid "Asset / Process" +#: templates/risks/item_control.html:82 templates/risks/item_incident.html:74 +msgid "No linked risks." msgstr "" -#: templates/risks/list_risks.html:113 -msgid "Risk Owner" +#: templates/risks/item_control.html:95 templates/risks/item_incident.html:87 +#: templates/risks/item_risk.html:233 +msgid "Time" msgstr "" -#: templates/risks/list_risks.html:114 -msgid "Gross Risk" +#: templates/risks/item_control.html:97 templates/risks/item_incident.html:89 +#: templates/risks/item_risk.html:235 +msgid "Action" msgstr "" -#: templates/risks/list_risks.html:115 -msgid "Net Risk" +#: templates/risks/item_control.html:108 templates/risks/item_incident.html:100 +#: templates/risks/item_risk.html:246 +msgid "No history found." msgstr "" -#: templates/risks/list_risks.html:195 -msgid "No residual risk defined" +#: templates/risks/item_incident.html:18 +msgid "Edit Incident" msgstr "" -#: templates/risks/list_risks.html:201 -msgid "No risks present" +#: templates/risks/item_incident.html:21 +msgid "Delete Incident" +msgstr "" + +#: templates/risks/item_incident.html:35 templates/risks/item_risk.html:209 +#: templates/risks/list_incidents.html:100 +msgid "Reported on" +msgstr "" + +#: templates/risks/item_risk.html:13 +msgid "Measures" +msgstr "" + +#: templates/risks/item_risk.html:18 +msgid "Edit Risk" +msgstr "" + +#: templates/risks/item_risk.html:21 +msgid "Delete Risk" +msgstr "" + +#: templates/risks/item_risk.html:39 +msgid "Protection goals" +msgstr "" + +#: templates/risks/item_risk.html:43 +msgid "Not yet assigned" +msgstr "" + +#: templates/risks/item_risk.html:49 +msgid "Risk owner" +msgstr "" + +#: templates/risks/item_risk.html:52 +msgid "Resubmission" +msgstr "" + +#: templates/risks/item_risk.html:65 +msgid "Risk assessment" +msgstr "" + +#: templates/risks/item_risk.html:74 +msgid "Gross (before measures)" +msgstr "" + +#: templates/risks/item_risk.html:80 templates/risks/item_risk.html:126 +#: templates/risks/risk_matrix.html:21 templates/risks/risk_matrix.html:79 +#: templates/risks/risk_matrix.html:121 +msgid "Likelihood" +msgstr "" + +#: templates/risks/item_risk.html:89 templates/risks/item_risk.html:135 +#: templates/risks/risk_matrix.html:21 templates/risks/risk_matrix.html:79 +#: templates/risks/risk_matrix.html:121 +msgid "Impact" +msgstr "" + +#: templates/risks/item_risk.html:98 templates/risks/item_risk.html:144 +msgid "Level" +msgstr "" + +#: templates/risks/item_risk.html:107 templates/risks/item_risk.html:153 +msgid "Score" +msgstr "" + +#: templates/risks/item_risk.html:120 +msgid "Net (after measures)" +msgstr "" + +#: templates/risks/item_risk.html:160 +msgid "No net risk recorded yet." +msgstr "" + +#: templates/risks/item_risk.html:194 +msgid "No measures recorded." +msgstr "" + +#: templates/risks/item_risk.html:220 +msgid "No incidents recorded." +msgstr "" + +#: templates/risks/list_controls.html:21 templates/risks/list_controls.html:36 +#: templates/risks/list_controls.html:51 templates/risks/list_controls.html:66 +#: templates/risks/list_incidents.html:21 +#: templates/risks/list_incidents.html:36 +#: templates/risks/list_incidents.html:51 +#: templates/risks/list_incidents.html:66 templates/risks/list_risks.html:19 +#: templates/risks/list_risks.html:34 templates/risks/list_risks.html:49 +#: templates/risks/list_risks.html:64 templates/risks/list_risks.html:79 +#: templates/risks/notifications.html:13 +msgid "All" +msgstr "" + +#: templates/risks/list_controls.html:82 templates/risks/list_incidents.html:82 +#: templates/risks/list_risks.html:95 +msgid "Reset filters" +msgstr "" + +#: templates/risks/list_controls.html:96 templates/risks/list_incidents.html:96 +#: templates/risks/list_risks.html:110 +msgid "No." +msgstr "" + +#: templates/risks/list_controls.html:98 +msgid "Related Risk" +msgstr "" + +#: templates/risks/list_controls.html:144 +msgid "No controls found." +msgstr "" + +#: templates/risks/list_incidents.html:125 +msgid "No incidents found." +msgstr "" + +#: templates/risks/list_risks.html:31 +msgid "Assets" +msgstr "" + +#: templates/risks/list_risks.html:46 +msgid "Categories" +msgstr "" + +#: templates/risks/list_risks.html:61 +msgid "Processes" +msgstr "" + +#: templates/risks/list_risks.html:76 +msgid "Owners" +msgstr "" + +#: templates/risks/list_risks.html:130 +msgid "Created" +msgstr "" + +#: templates/risks/list_risks.html:131 templates/risks/list_risks.html:133 +msgid "by" +msgstr "" + +#: templates/risks/list_risks.html:132 +msgid "Changed" msgstr "" #: templates/risks/notifications.html:12 msgid "Unread" msgstr "" -#: templates/risks/notifications.html:13 -msgid "All" -msgstr "" - #: templates/risks/notifications.html:20 msgid "Mark all as read" msgstr "" -#: templates/risks/notifications.html:33 +#: templates/risks/notifications.html:34 msgid "New" msgstr "" -#: templates/risks/notifications.html:43 +#: templates/risks/notifications.html:49 msgid "Mark as read" msgstr "" -#: templates/risks/notifications.html:53 +#: templates/risks/notifications.html:59 msgid "No notifications." msgstr "" -#: templates/risks/risk_matrix.html:13 +#: templates/risks/risk_matrix.html:9 msgid "Detail View" msgstr "" -#: templates/risks/risk_matrix.html:54 +#: templates/risks/risk_matrix.html:60 msgid "Show" msgstr "" -#: templates/risks/risk_matrix.html:58 +#: templates/risks/risk_matrix.html:64 msgid "Gross" msgstr "" -#: templates/risks/risk_matrix.html:61 +#: templates/risks/risk_matrix.html:67 msgid "Net" msgstr "" - -#: templates/risks/risk_matrix.html:73 templates/risks/risk_matrix.html:115 -msgid "Impact \\\\ Likelihood" -msgstr "" diff --git a/static/css/design.css b/static/css/design.css index b54a65c..0da51f1 100644 --- a/static/css/design.css +++ b/static/css/design.css @@ -406,6 +406,22 @@ body.dark-mode td { border-color: var(--border-color); } +body.dark-mode .table.table tbody tr { + transition: background-color 0.2s ease, color 0.2s ease; +} + +body.dark-mode .table.table tbody tr:hover { + background-color: #2a2a2a !important; + color: #ffffff !important; + cursor: pointer; +} + +/* Optional: auch für die Zellen, falls nötig */ +body.dark-mode .table.table tbody tr:hover td { + background-color: #2a2a2a !important; + color: #ffffff !important; +} + /* ========================= Inputs / Forms ========================= */ diff --git a/static/js/chart.js b/static/js/chart.js new file mode 100644 index 0000000..e69de29 diff --git a/templates/base.html b/templates/base.html index b8bb779..e617ce7 100644 --- a/templates/base.html +++ b/templates/base.html @@ -15,7 +15,7 @@