diff --git a/apps/red-ui/src/app/common/filter/filter.component.ts b/apps/red-ui/src/app/common/filter/filter.component.ts
index 40757b53a..266514cb4 100644
--- a/apps/red-ui/src/app/common/filter/filter.component.ts
+++ b/apps/red-ui/src/app/common/filter/filter.component.ts
@@ -19,7 +19,7 @@ export class FilterComponent implements OnChanges {
@ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;
- mouseOver: boolean = true;
+ mouseOver = true;
mouseOverTimeout: number;
constructor(public readonly appStateService: AppStateService, private readonly _changeDetectorRef: ChangeDetectorRef) {}
diff --git a/apps/red-ui/src/app/common/service/permissions.service.ts b/apps/red-ui/src/app/common/service/permissions.service.ts
index 49726bea3..c544b548f 100644
--- a/apps/red-ui/src/app/common/service/permissions.service.ts
+++ b/apps/red-ui/src/app/common/service/permissions.service.ts
@@ -92,7 +92,12 @@ export class PermissionsService {
if (!fileStatus) {
fileStatus = this._appStateService.activeFile;
}
- return this.canSetUnderReview(fileStatus) && !fileStatus.hasRequests;
+ return (
+ this.canSetUnderReview(fileStatus) &&
+ !fileStatus.hasRequests &&
+ !fileStatus.hasUnappliedSuggestions &&
+ this._appStateService.isFileUpToDateWithDictionaryAndRules(fileStatus)
+ );
}
canSetUnderApproval(fileStatus?: FileStatusWrapper) {
diff --git a/apps/red-ui/src/app/dialogs/add-edit-project-dialog/add-edit-project-dialog.component.ts b/apps/red-ui/src/app/dialogs/add-edit-project-dialog/add-edit-project-dialog.component.ts
index da4ed3962..8b48fba55 100644
--- a/apps/red-ui/src/app/dialogs/add-edit-project-dialog/add-edit-project-dialog.component.ts
+++ b/apps/red-ui/src/app/dialogs/add-edit-project-dialog/add-edit-project-dialog.component.ts
@@ -31,7 +31,7 @@ export class AddEditProjectDialogComponent implements OnInit {
const project: Project = this._formToObject();
project.projectId = this.project?.projectId;
- let foundProject = this._appStateService.allProjects.find((p) => p.project.projectId === project.projectId);
+ const foundProject = this._appStateService.allProjects.find((p) => p.project.projectId === project.projectId);
if (foundProject) {
project.memberIds = foundProject.memberIds;
}
diff --git a/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.ts b/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.ts
index ef4c890a9..f94a68774 100644
--- a/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.ts
+++ b/apps/red-ui/src/app/screens/project-overview-screen/project-overview-screen.component.ts
@@ -95,9 +95,7 @@ export class ProjectOverviewScreenComponent implements OnInit, OnDestroy {
}
this._notificationService.showToastNotification(
- `${this._translateService.instant('project-overview.new-rule.toast.message-project')} ${this._translateService.instant(
- 'project-overview.new-rule.label'
- )}`,
+ `${this._translateService.instant('project-overview.new-rule.toast.message-project')}`,
null,
NotificationType.WARNING,
{
diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts
index b5fb62b9e..ee558911c 100644
--- a/apps/red-ui/src/app/state/app-state.service.ts
+++ b/apps/red-ui/src/app/state/app-state.service.ts
@@ -7,14 +7,13 @@ import {
ReanalysisControllerService,
StatusControllerService,
TypeValue,
- VersionsControllerService,
- ViewedPagesControllerService
+ VersionsControllerService
} from '@redaction/red-ui-http';
import { NotificationService, NotificationType } from '../notification/notification.service';
import { TranslateService } from '@ngx-translate/core';
import { Router } from '@angular/router';
import { UserService } from '../user/user.service';
-import { forkJoin, timer } from 'rxjs';
+import { forkJoin } from 'rxjs';
import { tap } from 'rxjs/operators';
import { download } from '../utils/file-download-utils';
import { humanize } from '../utils/functions';
@@ -67,6 +66,13 @@ export class AppStateService {
}
}
+ isFileUpToDateWithDictionaryAndRules(fileStatus?: FileStatusWrapper) {
+ if (!fileStatus) {
+ fileStatus = this.activeFile;
+ }
+ return fileStatus.dictionaryVersion === this.dictionaryVersion && fileStatus.rulesVersion === this.rulesVersion;
+ }
+
get dictionaryVersion() {
return this._appState.dictionaryVersion;
}
diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json
index 11dfba4ab..033e5f128 100644
--- a/apps/red-ui/src/assets/i18n/de.json
+++ b/apps/red-ui/src/assets/i18n/de.json
@@ -6,37 +6,6 @@
"heading-with-link": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie Ihren Administrator für den Zugriff!",
"logout": "Ausloggen"
},
- "manual-redaction": {
- "confirm-annotation": {
- "success": "Anmerkung bestätigt!",
- "failed": "Fehler beim Bestätigen des Entfernens von Anmerkungen!"
- },
- "remove-annotation": {
- "success": "Anmerkung Zum Entfernen empfohlen!",
- "failed": "Fehler beim Anfordern der Entfernung von Anmerkungen!"
- },
- "dialog": {
- "header": {
- "dictionary": "Zum Wörterbuch hinzufügen",
- "redaction": "Redaktion hinzufügen",
- "request-dictionary": "Anfrage zum Wörterbuch hinzufügen",
- "request-redaction": "Redaktion anfordern"
- },
- "add-redaction": {
- "success": "Redaktionsvorschlag hinzugefügt!",
- "failed": "Manuelle Redaktion konnte nicht hinzugefügt werden: {{message}}"
- },
- "actions": {
- "save": "speichern"
- },
- "content": {
- "text": "Ausgewählter Text:",
- "dictionary": "Art",
- "reason": "Grund",
- "comment": "Kommentar"
- }
- }
- },
"app-name": "Redacto",
"upload-status": {
"dialog": {
@@ -116,7 +85,7 @@
},
"stats": {
"analyzed-pages": "Analysierte Seiten",
- "total-people": "Insgesamt Menschen",
+ "total-people": "Benutzer insgesamt",
"charts": {
"projects": "Projekte",
"total-documents": "Dokumente insgesamt"
@@ -131,8 +100,8 @@
"due-date": "Geburtstermin"
},
"actions": {
- "save": "Projekt speichern",
- "save-and-add-members": "Projekt speichern"
+ "save": "speichern",
+ "save-and-add-members": "Team speichern und bearbeiten"
}
},
"header": "Projekte",
@@ -156,6 +125,8 @@
}
},
"project-details": {
+ "edit": "Bearbeiten",
+ "delete": "Löschen",
"dialog": {
"title": "Projekt Details",
"info": {
@@ -165,10 +136,12 @@
"download-redaction-report": "Redaktionsbericht herunterladen",
"reanalyse-project": "Projekt erneut analysieren"
}
- }
+ },
+ "owner": "Inhaber",
+ "members": "Mitglieder"
},
"project-overview": {
- "under-approval": "Unter Genehmigung",
+ "under-approval": "Zur Genehmigung",
"approve": "Genehmigen",
"under-review": "Wird überprüft",
"no-files": "Projekt ist leer!",
@@ -178,7 +151,7 @@
"new-rule": {
"label": "Veraltet",
"toast": {
- "message-project": "Einige Dokumente wurden nicht mit dem neuesten Regel- / Wörterbuchsatz verarbeitet. Sie sind gekennzeichnet mit:",
+ "message-project": "Dokumente müssen erneut analysiert werden.",
"actions": {
"reanalyse-all": "Analysieren Sie alle erneut",
"reanalyse-file": "Analysieren Sie diese Datei erneut",
@@ -206,6 +179,7 @@
},
"upload-error": "Datei konnte nicht hochgeladen werden: {{name}}",
"delete-file-error": "Fehler beim Löschen der Datei: {{filename}}",
+ "delete-files-error": "Dateien konnten nicht gelöscht werden.",
"reanalyse": {
"action": "Datei erneut analysieren"
},
@@ -240,14 +214,17 @@
"header": "Projektübersicht",
"upload-document": "Dokument hochladen",
"no-project": "Angefordertes Projekt: {{projectId}} existiert nicht! Zurück zur Projektliste.",
- "legend": {
- "hint": "Nur Hinweise",
- "redaction": "Redigiert",
- "suggestion": "Vorgeschlagene Redaktion",
- "none": "Keine Anmerkungen"
+ "bulk": {
+ "delete": "Dokumente löschen",
+ "assign": "Prüfer zuweisen",
+ "change-state": "Status ändern",
+ "reanalyse": "Dokumente erneut analysieren",
+ "reanalyse-error-outdated": "Es wurden keine veralteten Dokumente ausgewählt.",
+ "reanalyse-error-member-assign": "Nicht alle ausgewählten Dokumente sind Ihnen zugeordnet."
}
},
"file-preview": {
+ "no-annotations-for-page": "Auf dieser Seite gibt es keine Redaktionen, Hinweise oder Anfragen.",
"show-redacted-view": "Redigierte Vorschau anzeigen",
"cannot-show-redacted-view": "Redaktionen nicht synchron. Die redigierte Vorschau ist nur nach einer erneuten Analyse verfügbar",
"reanalyse-notification": "Dieses Dokument wurde nicht mit dem neuesten Regel- / Wörterbuchsatz verarbeitet. Analysieren Sie jetzt erneut, um aktualisierte Anmerkungen zu erhalten.",
@@ -256,18 +233,26 @@
"tabs": {
"quick-navigation": "Schnelle Navigation",
"annotations": {
- "label": "Arbeitsbelastung",
- "accept-suggestion": {
- "add-to-dict": "Genehmigen und zum Wörterbuch hinzufügen",
- "remove-from-dict": "Genehmigen und aus dem Wörterbuch entfernen",
- "only-here": "Nur hier genehmigen"
- },
- "remove-annotation": {
- "remove-from-dict": "Aus dem Wörterbuch entfernen",
- "only-here": "Nur hier entfernen"
- }
+ "label": "Arbeitsbelastung"
}
- }
+ },
+ "reviewer": "Beauftragter",
+ "unassigned": "Nicht zugewiesen"
+ },
+ "annotation-actions": {
+ "accept-suggestion": {
+ "label": "Genehmigen",
+ "add-to-dict": "Genehmigen und zum Wörterbuch hinzufügen",
+ "remove-from-dict": "Genehmigen und aus dem Wörterbuch entfernen",
+ "only-here": "Nur hier genehmigen"
+ },
+ "remove-annotation": {
+ "remove-from-dict": "Aus dem Wörterbuch entfernen",
+ "only-here": "Nur hier entfernen"
+ },
+ "remove": "Entfernen",
+ "undo": "Rückgängig machen",
+ "reject": "Ablehnen"
},
"initials-avatar": {
"unassigned": "Nicht zugewiesen"
@@ -294,7 +279,8 @@
"comment": "{{count}} Kommentar",
"comments": "{{count}} Kommentare",
"add-comment": "Einen Kommentar hinzufügen",
- "hide-comments": "Kommentare ausblenden"
+ "hide-comments": "Ausblenden",
+ "cancel": "Stornieren"
},
"unassigned": "Nicht zugewiesen",
"under-review": "Wird überprüft",
@@ -317,6 +303,7 @@
"hint": "Nur Hinweise",
"redaction": "Redigiert",
"suggestion": "Vorgeschlagene Redaktion",
+ "analysis": "Erneute Analyse erforderlich",
"none": "Keine Anmerkungen"
},
"annotation-filter": {
@@ -348,16 +335,60 @@
"hints": "Tipp Wörterbücher"
},
"annotation-type": {
- "suggestion": "Vorschlag",
- "suggestion-remove": "Vorschlag entfernen",
- "suggestion-redaction": "Vorgeschlagene Redaktion hinzufügen",
- "suggestion-remove-redaction": "Vorgeschlagene Redaktionsentfernung",
- "suggestion-redaction-dictionary": "Vorgeschlagenes Wörterbuch hinzufügen (Redaktion)",
- "suggestion-remove-redaction-dictionary": "Vorgeschlagene Wörterbuchentfernung (Redaktion)",
- "suggestion-hint": "Vorgeschlagenes Wörterbuch hinzufügen (Hinweis)",
- "suggestion-remove-hint": "Vorgeschlagene Wörterbuchentfernung (Hinweis)",
+ "add-dictionary": "Ausstehend zum Wörterbuch hinzufügen",
+ "remove-dictionary": "Ausstehend aus dem Wörterbuch entfernen",
+ "suggestion-add-dictionary": "Vorgeschlagenes Wörterbuch hinzufügen",
+ "suggestion-remove-dictionary": "Vorgeschlagene Wörterbuchentfernung",
+ "suggestion-add": "Vorgeschlagene manuelle Redaktion",
+ "suggestion-remove": "Vorgeschlagene Redaktionsentfernung",
"ignore": "Ignorieren",
"hint": "Hinweis",
- "redaction": "Redaktion"
+ "redaction": "Redaktion",
+ "manual": "Manuelle Redaktion",
+ "declined-suggestion": "Abgelehnter Vorschlag"
+ },
+ "manual-annotation": {
+ "dialog": {
+ "header": {
+ "dictionary": "Zum Wörterbuch hinzufügen",
+ "redaction": "Redaktion hinzufügen",
+ "request-dictionary": "Anfrage zum Wörterbuch hinzufügen",
+ "request-redaction": "Redaktion anfordern"
+ },
+ "add-redaction": {
+ "success": "Redaktionsvorschlag hinzugefügt!",
+ "failed": "Manuelle Redaktion konnte nicht hinzugefügt werden: {{message}}"
+ },
+ "actions": {
+ "save": "speichern"
+ },
+ "content": {
+ "text": "Ausgewählter Text:",
+ "dictionary": "Art",
+ "reason": "Grund",
+ "legalBasis": "Rechtliche Grundlage",
+ "comment": "Kommentar"
+ }
+ },
+ "approve-request": {
+ "success": "Anfrage genehmigt.",
+ "error": "Anfrage konnte nicht genehmigt werden."
+ },
+ "undo": {
+ "success": "Aktion rückgängig gemacht.",
+ "error": "Aktion konnte nicht rückgängig gemacht werden."
+ },
+ "redaction-request": {
+ "success": "Redaktion angefordert.",
+ "error": "Redaktion konnte nicht angefordert werden."
+ },
+ "remove-redaction-request": {
+ "success": "Redaktion entfernt.",
+ "error": "Redaktion konnte nicht entfernt werden."
+ },
+ "redaction-add": {
+ "success": "Redaktion hinzugefügt.",
+ "error": "Redaktion konnte nicht hinzugefügt werden."
+ }
}
}
diff --git a/tools/auto-i18n/de.json b/tools/auto-i18n/de.json
new file mode 100644
index 000000000..4eafa11bb
--- /dev/null
+++ b/tools/auto-i18n/de.json
@@ -0,0 +1,260 @@
+{
+ "auth-error": {
+ "heading": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie Ihren Administrator für den Zugriff!",
+ "heading-with-name-and-link": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie {{adminName}} für den Zugriff!",
+ "heading-with-name": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie {{adminName}} für den Zugriff!",
+ "heading-with-link": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie Ihren Administrator für den Zugriff!",
+ "logout": "Ausloggen"
+ },
+ "app-name": "Redacto",
+ "upload-status": { "dialog": { "title": "Datei-Upload", "actions": { "re-upload": "Wiederholen Sie den Upload", "cancel": "Upload abbrechen" } } },
+ "pdf-viewer": { "text-popup": { "actions": { "search": "Suche nach Auswahl" } } },
+ "common": {
+ "dialog": { "close": "Dialog schließen" },
+ "confirmation-dialog": {
+ "title": "Aktion bestätigen",
+ "description": "Diese Aktion muss bestätigt werden. Möchten Sie fortfahren?",
+ "confirm": "Ja",
+ "deny": "Nein"
+ }
+ },
+ "top-bar": {
+ "navigation-items": {
+ "projects": "Projekte",
+ "my-account": { "children": { "language": { "label": "Sprache", "english": "Englisch", "german": "Deutsche" }, "logout": "Ausloggen" } }
+ }
+ },
+ "filters": {
+ "filter-by": "Filter:",
+ "status": "Status",
+ "people": "Projektmitglied (e)",
+ "assigned-people": "Beauftragter",
+ "due-date": "Geburtstermin",
+ "created-on": "Erstellt am",
+ "project": "Projekt",
+ "document": "Dokument",
+ "needs-work": "Analysiert"
+ },
+ "report": {
+ "unavailable": "Der Redaktionsbericht ist erst verfügbar, wenn alle Dateien genehmigt wurden.",
+ "unavailable-single": "Der Redaktionsbericht ist erst verfügbar, wenn diese Datei genehmigt wurde.",
+ "action": "Redaktionsbericht herunterladen"
+ },
+ "project-listing": {
+ "reanalyse": { "action": "Analysieren Sie das gesamte Projekt erneut" },
+ "assign": { "action": "Eigentümer zuweisen" },
+ "table-header": { "title": "{{length}} aktive Projekte", "bulk-select": "Auswahl umschalten", "recent": "Kürzlich" },
+ "table-col-names": { "name": "Dokument", "needs-work": "Analysiert", "owner": "Inhaber", "status": "Status" },
+ "stats": {
+ "analyzed-pages": "Analysierte Seiten",
+ "total-people": "Benutzer insgesamt",
+ "charts": { "projects": "Projekte", "total-documents": "Dokumente insgesamt" }
+ },
+ "add-edit-dialog": {
+ "header-new": "Neues Projekt",
+ "header-edit": "Projekt bearbeiten",
+ "form": { "description": "Beschreibung", "name": "Name", "due-date": "Geburtstermin" },
+ "actions": { "save": "speichern", "save-and-add-members": "Team speichern und bearbeiten" }
+ },
+ "header": "Projekte",
+ "edit": { "action": "Projekt bearbeiten" },
+ "delete": { "action": "Projekt löschen", "delete-failed": "Projekt konnte nicht gelöscht werden: {{projectName}}" },
+ "add-new": "Neues Projekt",
+ "no-projects": "Sie haben derzeit keine Projekte.",
+ "no-projects-match": "Keine Projekte stimmen mit Ihren aktuellen Filtern überein"
+ },
+ "file-details": { "dialog": { "title": "Dateidetails", "actions": { "download-redaction-report": "Redaktionsbericht herunterladen" } } },
+ "project-details": {
+ "edit": "Bearbeiten",
+ "delete": "Löschen",
+ "dialog": {
+ "title": "Projekt Details",
+ "info": { "file-count": "Anzahl der Dateien: {{fileCount}}" },
+ "actions": { "download-redaction-report": "Redaktionsbericht herunterladen", "reanalyse-project": "Projekt erneut analysieren" }
+ },
+ "owner": "Inhaber",
+ "members": "Mitglieder"
+ },
+ "project-overview": {
+ "under-approval": "Zur Genehmigung",
+ "approve": "Genehmigen",
+ "under-review": "Wird überprüft",
+ "no-files": "Projekt ist leer!",
+ "no-files-match": "Keine Datei entspricht Ihren aktuellen Filtern",
+ "upload-files": "Legen Sie Dateien überall zum Hochladen ab!",
+ "upload-files-btn": "Daten hochladen",
+ "new-rule": {
+ "label": "Veraltet",
+ "toast": {
+ "message-project": "Dokumente müssen erneut analysiert werden.",
+ "actions": { "reanalyse-all": "Analysieren Sie alle erneut", "reanalyse-file": "Analysieren Sie diese Datei erneut", "later": "Später" }
+ }
+ },
+ "report": { "action": "Redaktionsbericht herunterladen" },
+ "assign": { "action": "Prüfer zuweisen" },
+ "table-header": { "title": "{{length}} Dokumente", "bulk-select": "Auswahl umschalten" },
+ "table-col-names": {
+ "name": "Name",
+ "added-on": "Hinzugefügt",
+ "needs-work": "Analysiert",
+ "assigned-to": "Zugewiesen an",
+ "pages": "Seiten",
+ "status": "Status"
+ },
+ "upload-error": "Datei konnte nicht hochgeladen werden: {{name}}",
+ "delete-file-error": "Fehler beim Löschen der Datei: {{filename}}",
+ "delete-files-error": "Dateien konnten nicht gelöscht werden.",
+ "reanalyse": { "action": "Datei erneut analysieren" },
+ "delete": { "action": "Datei löschen" },
+ "file-listing": {
+ "file-entry": {
+ "status": "Status: {{status}}",
+ "number-of-pages": "Anzahl der Seiten: {{numberOfPages}}",
+ "number-of-analyses": "Anzahl der Analysen: {{numberOfAnalyses}}",
+ "added": "Datum hinzugefügt: {{added}}",
+ "last-updated": "Letzte Aktualisierung: {{lastUpdated}}",
+ "file-pending": "Steht aus...",
+ "file-processing": "Wird bearbeitet...",
+ "file-error": "Die Datei hat einen Fehler festgestellt und kann nicht geöffnet werden."
+ }
+ },
+ "project-details": {
+ "charts": { "documents-in-project": "Dokumente im Projekt" },
+ "stats": {
+ "documents": "{{count}} Dokumente",
+ "analysed-pages": "{{count}} analysierte Seiten",
+ "people": "{{count}} Leute",
+ "created-on": "Erstellt am {{Datum}}",
+ "due-date": "Geburtstermin}}"
+ },
+ "description": "Beschreibung"
+ },
+ "header": "Projektübersicht",
+ "upload-document": "Dokument hochladen",
+ "no-project": "Angefordertes Projekt: {{projectId}} existiert nicht! Zurück zur Projektliste.",
+ "bulk": {
+ "delete": "Dokumente löschen",
+ "assign": "Prüfer zuweisen",
+ "change-state": "Status ändern",
+ "reanalyse": "Dokumente erneut analysieren",
+ "reanalyse-error-outdated": "Es wurden keine veralteten Dokumente ausgewählt.",
+ "reanalyse-error-member-assign": "Nicht alle ausgewählten Dokumente sind Ihnen zugeordnet."
+ }
+ },
+ "file-preview": {
+ "no-annotations-for-page": "Auf dieser Seite gibt es keine Redaktionen, Hinweise oder Anfragen.",
+ "show-redacted-view": "Redigierte Vorschau anzeigen",
+ "cannot-show-redacted-view": "Redaktionen nicht synchron. Die redigierte Vorschau ist nur nach einer erneuten Analyse verfügbar",
+ "reanalyse-notification": "Dieses Dokument wurde nicht mit dem neuesten Regel- / Wörterbuchsatz verarbeitet. Analysieren Sie jetzt erneut, um aktualisierte Anmerkungen zu erhalten.",
+ "reanalyse-file": "Datei-Reanalyse läuft ...",
+ "view-toggle": "Redigierte Ansicht",
+ "tabs": { "quick-navigation": "Schnelle Navigation", "annotations": { "label": "Arbeitsbelastung" } },
+ "reviewer": "Beauftragter",
+ "unassigned": "Nicht zugewiesen"
+ },
+ "annotation-actions": {
+ "accept-suggestion": {
+ "label": "Genehmigen",
+ "add-to-dict": "Genehmigen und zum Wörterbuch hinzufügen",
+ "remove-from-dict": "Genehmigen und aus dem Wörterbuch entfernen",
+ "only-here": "Nur hier genehmigen"
+ },
+ "remove-annotation": { "remove-from-dict": "Aus dem Wörterbuch entfernen", "only-here": "Nur hier entfernen" },
+ "remove": "Entfernen",
+ "undo": "Rückgängig machen",
+ "reject": "Ablehnen"
+ },
+ "initials-avatar": { "unassigned": "Nicht zugewiesen" },
+ "assign-file-owner": { "dialog": { "single-user": "Gutachter", "title": "File Reviewer verwalten", "save": "speichern" } },
+ "assign-project-owner": {
+ "dialog": {
+ "single-user": "Inhaber",
+ "multi-user": "Team überprüfen",
+ "title": "Verwalten Sie den Projektbesitzer und das Überprüfungsteam",
+ "save": "speichern"
+ }
+ },
+ "project-member-guard": { "access-denied": "Sie dürfen nicht auf diese Seite zugreifen." },
+ "comments": {
+ "comment": "{{count}} Kommentar",
+ "comments": "{{count}} Kommentare",
+ "add-comment": "Einen Kommentar hinzufügen",
+ "hide-comments": "Ausblenden",
+ "cancel": "Stornieren"
+ },
+ "unassigned": "Nicht zugewiesen",
+ "under-review": "Wird überprüft",
+ "under-approval": "In Genehmigung",
+ "efsa": "EFSA-Zulassung",
+ "finished": "Fertig",
+ "approved": "Genehmigt",
+ "submitted": "Eingereicht",
+ "active": "Aktiv",
+ "archived": "Archiviert",
+ "hint": "Hinweis",
+ "ignore": "Ignorieren",
+ "redaction": "Redaktion",
+ "comment": "Kommentar",
+ "suggestion": "Redaktionsvorschlag",
+ "dictionary": "Wörterbuch",
+ "content": "Inhalt",
+ "page": "Seite",
+ "filter": {
+ "hint": "Nur Hinweise",
+ "redaction": "Redigiert",
+ "suggestion": "Vorgeschlagene Redaktion",
+ "analysis": "Erneute Analyse erforderlich",
+ "none": "Keine Anmerkungen"
+ },
+ "annotation-filter": {
+ "super-type": {
+ "redaction": "Redaktion",
+ "hint": "Hinweis",
+ "suggestion": "Vorschlag",
+ "suggestion-remove": "Vorschlag zum Entfernen",
+ "ignore": "Redaktion ignoriert"
+ }
+ },
+ "filter-menu": { "label": "Filter", "all": "Alle", "none": "Keiner", "filter-types": "Filtertypen" },
+ "sorting": {
+ "recent": "Kürzlich",
+ "oldest": "Älteste",
+ "alphabetically": "Alphabetisch",
+ "number-of-pages": "Seitenzahl",
+ "number-of-analyses": "Anzahl der Analysen",
+ "custom": "Benutzerdefiniert"
+ },
+ "readonly-pill": "Schreibgeschützt",
+ "group": { "redactions": "Redaktionswörterbücher", "hints": "Tipp Wörterbücher" },
+ "annotation-type": {
+ "add-dictionary": "Ausstehend zum Wörterbuch hinzufügen",
+ "remove-dictionary": "Ausstehend aus dem Wörterbuch entfernen",
+ "suggestion-add-dictionary": "Vorgeschlagenes Wörterbuch hinzufügen",
+ "suggestion-remove-dictionary": "Vorgeschlagene Wörterbuchentfernung",
+ "suggestion-add": "Vorgeschlagene manuelle Redaktion",
+ "suggestion-remove": "Vorgeschlagene Redaktionsentfernung",
+ "ignore": "Ignorieren",
+ "hint": "Hinweis",
+ "redaction": "Redaktion",
+ "manual": "Manuelle Redaktion",
+ "declined-suggestion": "Abgelehnter Vorschlag"
+ },
+ "manual-annotation": {
+ "dialog": {
+ "header": {
+ "dictionary": "Zum Wörterbuch hinzufügen",
+ "redaction": "Redaktion hinzufügen",
+ "request-dictionary": "Anfrage zum Wörterbuch hinzufügen",
+ "request-redaction": "Redaktion anfordern"
+ },
+ "add-redaction": { "success": "Redaktionsvorschlag hinzugefügt!", "failed": "Manuelle Redaktion konnte nicht hinzugefügt werden: {{message}}" },
+ "actions": { "save": "speichern" },
+ "content": { "text": "Ausgewählter Text:", "dictionary": "Art", "reason": "Grund", "legalBasis": "Rechtliche Grundlage", "comment": "Kommentar" }
+ },
+ "approve-request": { "success": "Anfrage genehmigt.", "error": "Anfrage konnte nicht genehmigt werden." },
+ "undo": { "success": "Aktion rückgängig gemacht.", "error": "Aktion konnte nicht rückgängig gemacht werden." },
+ "redaction-request": { "success": "Redaktion angefordert.", "error": "Redaktion konnte nicht angefordert werden." },
+ "remove-redaction-request": { "success": "Redaktion entfernt.", "error": "Redaktion konnte nicht entfernt werden." },
+ "redaction-add": { "success": "Redaktion hinzugefügt.", "error": "Redaktion konnte nicht hinzugefügt werden." }
+ }
+}
diff --git a/tools/auto-i18n/translateCache-de.txt b/tools/auto-i18n/translateCache-de.txt
index b9c164e1d..5f551f527 100644
--- a/tools/auto-i18n/translateCache-de.txt
+++ b/tools/auto-i18n/translateCache-de.txt
@@ -245,3 +245,41 @@ Suggested dictionary add (redaction)|Vorgeschlagenes Wörterbuch hinzufügen (Re
Suggested dictionary removal (redaction)|Vorgeschlagene Wörterbuchentfernung (Redaktion)
Suggested dictionary add (hint)|Vorgeschlagenes Wörterbuch hinzufügen (Hinweis)
Suggested dictionary removal (hint)|Vorgeschlagene Wörterbuchentfernung (Hinweis)
+Total users|Benutzer insgesamt
+Save and edit Team|Team speichern und bearbeiten
+Edit|Bearbeiten
+Delete|Löschen
+For Approval|Zur Genehmigung
+Documents need to be re-analyzed.|Dokumente müssen erneut analysiert werden.
+Failed to delete files.|Dateien konnten nicht gelöscht werden.
+Delete documents|Dokumente löschen
+Change state|Status ändern
+Reanalyse documents|Dokumente erneut analysieren
+No outdated documents have been selected.|Es wurden keine veralteten Dokumente ausgewählt.
+Not all selected documents are assigned to you.|Nicht alle ausgewählten Dokumente sind Ihnen zugeordnet.
+There are no redactions, hints or requests on this page.|Auf dieser Seite gibt es keine Redaktionen, Hinweise oder Anfragen.
+Assignee|Beauftragter
+Remove|Entfernen
+Undo|Rückgängig machen
+Reject|Ablehnen
+Hide|Ausblenden
+Cancel|Stornieren
+Re-analysis required|Erneute Analyse erforderlich
+Pending add to dictionary|Ausstehend zum Wörterbuch hinzufügen
+Pending remove from dictionary|Ausstehend aus dem Wörterbuch entfernen
+Suggested dictionary add|Vorgeschlagenes Wörterbuch hinzufügen
+Suggested dictionary removal|Vorgeschlagene Wörterbuchentfernung
+Suggested manual redaction|Vorgeschlagene manuelle Redaktion
+Manual Redaction|Manuelle Redaktion
+Declined Suggestion|Abgelehnter Vorschlag
+Legal Basis|Rechtliche Grundlage
+Request approved.|Anfrage genehmigt.
+Failed to approve request.|Anfrage konnte nicht genehmigt werden.
+Action undone.|Aktion rückgängig gemacht.
+Failed to undo action.|Aktion konnte nicht rückgängig gemacht werden.
+Redaction requested.|Redaktion angefordert.
+Failed to request redaction.|Redaktion konnte nicht angefordert werden.
+Redaction removed.|Redaktion entfernt.
+Failed to remove redaction.|Redaktion konnte nicht entfernt werden.
+Redaction added.|Redaktion hinzugefügt.
+Failed to add redaction.|Redaktion konnte nicht hinzugefügt werden.