RED-7549 - Bulk delete action dialog

This commit is contained in:
Valentin Mihai 2023-09-13 22:28:25 +03:00
parent 51ccc63d34
commit c6589b9f22
9 changed files with 201 additions and 93 deletions

View File

@ -60,7 +60,14 @@ export class AnnotationActionsComponent implements OnChanges {
} }
get canRemoveRedaction(): boolean { get canRemoveRedaction(): boolean {
return (this.#isDocumine || this.annotations.length === 1) && this.annotationPermissions.canRemoveRedaction; if (this.annotationPermissions.canRemoveRedaction) {
if (this.annotations.length > 1) {
const foundIgnoredHint = this.annotations.find(a => a.isIgnoredHint);
return !foundIgnoredHint && this.#sameType;
}
return true;
}
return false;
} }
get viewerAnnotations() { get viewerAnnotations() {
@ -131,4 +138,9 @@ export class AnnotationActionsComponent implements OnChanges {
helpModeKey(action: string) { helpModeKey(action: string) {
return this.#isDocumine ? `${action}_annotation` : ''; return this.#isDocumine ? `${action}_annotation` : '';
} }
get #sameType() {
const type = this.annotations[0].superType;
return this.annotations.every(a => a.superType === type);
}
} }

View File

@ -1,13 +1,51 @@
<section class="dialog"> <section class="dialog">
<form (submit)="save()" [formGroup]="form"> <form (submit)="save()" [formGroup]="form">
<div <div
*ngIf="data.redactions.length === 1"
[innerHTML]=" [innerHTML]="
'remove-redaction.dialog.title' | translate : { type: hint ? 'hint' : recommendation ? 'recommendation' : 'redaction' } 'remove-redaction.dialog.title' | translate: { type: hint ? 'hint' : recommendation ? 'recommendation' : 'redaction' }
"
class="dialog-header heading-l"
></div>
<div
*ngIf="data.redactions.length > 1"
[innerHTML]="
'remove-redaction.dialog.title-bulk' | translate: { type: hint ? 'hint' : recommendation ? 'recommendation' : 'redaction' }
" "
class="dialog-header heading-l" class="dialog-header heading-l"
></div> ></div>
<div class="dialog-content"> <div class="dialog-content redaction">
<div *ngIf="data.redactions.length > 1">
<label
[translateParams]="{ type: hint ? 'hints' : recommendation ? 'recommendations' : 'redactions' }"
[translate]="'remove-redaction.dialog.content.redacted-text'"
class="selected-text"
></label>
<cdk-virtual-scroll-viewport
[itemSize]="16"
[ngStyle]="{ height: redactedTexts.length <= 5 ? 16 * redactedTexts.length + 'px' : 80 + 'px' }"
>
<ul *cdkVirtualFor="let text of redactedTexts; let idx = index">
<li>
{{
(isFalsePositive
? 'remove-redaction.dialog.content.list-item-false-positive'
: 'remove-redaction.dialog.content.list-item'
)
| translate
: {
text: text,
context: data.falsePositiveContext[idx]
}
| replaceNbsp
}}
</li>
</ul>
</cdk-virtual-scroll-viewport>
</div>
<iqser-details-radio [options]="options" formControlName="option"></iqser-details-radio> <iqser-details-radio [options]="options" formControlName="option"></iqser-details-radio>
<div class="iqser-input-group w-450"> <div class="iqser-input-group w-450">

View File

@ -1,3 +1,18 @@
.dialog-content { .dialog-content {
height: 408px; height: 408px;
} }
cdk-virtual-scroll-viewport {
margin-top: 8px;
}
:host ::ng-deep .cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper {
max-width: 100% !important;
}
li {
white-space: nowrap;
text-overflow: ellipsis;
list-style-position: inside;
overflow: hidden;
}

View File

@ -3,7 +3,7 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { FormBuilder, UntypedFormGroup } from '@angular/forms'; import { FormBuilder, UntypedFormGroup } from '@angular/forms';
import { DetailsRadioOption, IconButtonTypes, IqserDialogComponent } from '@iqser/common-ui'; import { DetailsRadioOption, IconButtonTypes, IqserDialogComponent } from '@iqser/common-ui';
import { tap } from 'rxjs/operators'; import { tap } from 'rxjs/operators';
import { getRemoveRedactionOptions, RemoveRedactionOption } from '../../utils/dialog-options'; import { getRemoveRedactionOptions, RemoveAnnotationOptions, RemoveRedactionOption } from '../../utils/dialog-options';
import { RemoveRedactionData, RemoveRedactionResult } from '../../utils/dialog-types'; import { RemoveRedactionData, RemoveRedactionResult } from '../../utils/dialog-types';
@Component({ @Component({
@ -19,14 +19,16 @@ export class RemoveRedactionDialogComponent extends IqserDialogComponent<
readonly options: DetailsRadioOption<RemoveRedactionOption>[]; readonly options: DetailsRadioOption<RemoveRedactionOption>[];
readonly recommendation; readonly recommendation;
readonly hint: boolean; readonly hint: boolean;
readonly redactedTexts: string[];
form!: UntypedFormGroup; form!: UntypedFormGroup;
#applyToAllDossiers: boolean; #applyToAllDossiers: boolean;
constructor(private readonly _formBuilder: FormBuilder) { constructor(private readonly _formBuilder: FormBuilder) {
super(); super();
this.recommendation = this.data.redactions.every(r => r.isRecommendation); this.recommendation = this.data.redactions[0].isRecommendation;
this.hint = this.data.redactions.every(r => r.hint); this.hint = this.data.redactions[0].hint;
this.options = getRemoveRedactionOptions(this.data); this.options = getRemoveRedactionOptions(this.data);
this.redactedTexts = this.data.redactions.map(annotation => annotation.value);
this.form = this.#getForm(); this.form = this.#getForm();
this.#applyToAllDossiers = this.data.applyToAllDossiers ?? true; this.#applyToAllDossiers = this.data.applyToAllDossiers ?? true;
@ -45,6 +47,10 @@ export class RemoveRedactionDialogComponent extends IqserDialogComponent<
.subscribe(); .subscribe();
} }
get isFalsePositive(): boolean {
return this.form.get('option').value.value === RemoveAnnotationOptions.FALSE_POSITIVE;
}
save(): void { save(): void {
this.close(this.form.getRawValue()); this.close(this.form.getRawValue());
} }

View File

@ -6,20 +6,25 @@ export const removeRedactionTranslations: { [key in RemoveRedactionOption]: Dial
ONLY_HERE: { ONLY_HERE: {
label: _('remove-redaction.dialog.content.options.only-here.label'), label: _('remove-redaction.dialog.content.options.only-here.label'),
description: _('remove-redaction.dialog.content.options.only-here.description'), description: _('remove-redaction.dialog.content.options.only-here.description'),
descriptionBulk: _('remove-redaction.dialog.content.options.only-here.description-bulk'),
}, },
IN_DOSSIER: { IN_DOSSIER: {
label: _('remove-redaction.dialog.content.options.in-dossier.label'), label: _('remove-redaction.dialog.content.options.in-dossier.label'),
labelBulk: _('remove-redaction.dialog.content.options.in-dossier.label-bulk'),
description: _('remove-redaction.dialog.content.options.in-dossier.description'), description: _('remove-redaction.dialog.content.options.in-dossier.description'),
descriptionBulk: _('remove-redaction.dialog.content.options.in-dossier.description-bulk'),
extraOptionLabel: _('remove-redaction.dialog.content.options.in-dossier.extraOptionLabel'), extraOptionLabel: _('remove-redaction.dialog.content.options.in-dossier.extraOptionLabel'),
}, },
FALSE_POSITIVE: { FALSE_POSITIVE: {
label: _('remove-redaction.dialog.content.options.false-positive.label'), label: _('remove-redaction.dialog.content.options.false-positive.label'),
description: _('remove-redaction.dialog.content.options.false-positive.description'), description: _('remove-redaction.dialog.content.options.false-positive.description'),
descriptionBulk: _('remove-redaction.dialog.content.options.false-positive.description-bulk'),
extraOptionLabel: _('remove-redaction.dialog.content.options.false-positive.extraOptionLabel'), extraOptionLabel: _('remove-redaction.dialog.content.options.false-positive.extraOptionLabel'),
}, },
DO_NOT_RECOMMEND: { DO_NOT_RECOMMEND: {
label: _('remove-redaction.dialog.content.options.do-not-recommend.label'), label: _('remove-redaction.dialog.content.options.do-not-recommend.label'),
description: _('remove-redaction.dialog.content.options.do-not-recommend.description'), description: _('remove-redaction.dialog.content.options.do-not-recommend.description'),
descriptionBulk: _('remove-redaction.dialog.content.options.do-not-recommend.description-bulk'),
extraOptionLabel: _('remove-redaction.dialog.content.options.do-not-recommend.extraOptionLabel'), extraOptionLabel: _('remove-redaction.dialog.content.options.do-not-recommend.extraOptionLabel'),
}, },
}; };

View File

@ -256,9 +256,6 @@
"user-management": "User Management", "user-management": "User Management",
"watermarks": "Watermarks" "watermarks": "Watermarks"
}, },
"annotation": {
"pending": "(Pending Analysis)"
},
"annotation-actions": { "annotation-actions": {
"accept-recommendation": { "accept-recommendation": {
"label": "Empfehlung annehmen" "label": "Empfehlung annehmen"
@ -341,14 +338,14 @@
"error": "Rekategorisierung des Bildes gescheitert: {error}", "error": "Rekategorisierung des Bildes gescheitert: {error}",
"success": "Bild wurde einer neuen Kategorie zugeordnet." "success": "Bild wurde einer neuen Kategorie zugeordnet."
}, },
"remove": {
"error": "Fehler beim Entfernen der Schwärzung: {error}",
"success": "Schwärzung entfernt!"
},
"remove-hint": { "remove-hint": {
"error": "Failed to remove hint: {error}", "error": "Failed to remove hint: {error}",
"success": "Hint removed!" "success": "Hint removed!"
}, },
"remove": {
"error": "Fehler beim Entfernen der Schwärzung: {error}",
"success": "Schwärzung entfernt!"
},
"request-change-legal-basis": { "request-change-legal-basis": {
"error": "Fehler beim Vorschlagen der Änderung der Begründung:", "error": "Fehler beim Vorschlagen der Änderung der Begründung:",
"success": "Die Änderung der in der Anmerkung genannten Begründung wurde beantragt." "success": "Die Änderung der in der Anmerkung genannten Begründung wurde beantragt."
@ -365,14 +362,14 @@
"error": "Fehler beim Vorschlagen der Neukategorisierung des Bilds: {error}", "error": "Fehler beim Vorschlagen der Neukategorisierung des Bilds: {error}",
"success": "Bild-Neuklassifizierung angefordert." "success": "Bild-Neuklassifizierung angefordert."
}, },
"request-remove": {
"error": "Fehler beim Erstellen des Vorschlags für das Entfernen der Schwärzung: {error}",
"success": "Entfernen der Schwärzung wurde vorgeschlagen!"
},
"request-remove-hint": { "request-remove-hint": {
"error": "Failed to request removal of hint: {error}", "error": "Failed to request removal of hint: {error}",
"success": "Requested to remove hint!" "success": "Requested to remove hint!"
}, },
"request-remove": {
"error": "Fehler beim Erstellen des Vorschlags für das Entfernen der Schwärzung: {error}",
"success": "Entfernen der Schwärzung wurde vorgeschlagen!"
},
"suggest": { "suggest": {
"error": "Vorschlag einer Schwärzung wurde nicht gespeichert: {error}", "error": "Vorschlag einer Schwärzung wurde nicht gespeichert: {error}",
"success": "Vorschlag einer Schwärzung gespeichert" "success": "Vorschlag einer Schwärzung gespeichert"
@ -389,15 +386,15 @@
"remove-highlights": { "remove-highlights": {
"label": "Remove Selected Earmarks" "label": "Remove Selected Earmarks"
}, },
"resize": {
"label": "Größe ändern"
},
"resize-accept": { "resize-accept": {
"label": "Größe speichern" "label": "Größe speichern"
}, },
"resize-cancel": { "resize-cancel": {
"label": "Größenänderung abbrechen" "label": "Größenänderung abbrechen"
}, },
"resize": {
"label": "Größe ändern"
},
"see-references": { "see-references": {
"label": "See References" "label": "See References"
}, },
@ -439,6 +436,9 @@
"suggestion-resize": "Vorgeschlagene Größenänderung", "suggestion-resize": "Vorgeschlagene Größenänderung",
"text-highlight": "Earmark" "text-highlight": "Earmark"
}, },
"annotation": {
"pending": "(Pending Analysis)"
},
"archived-dossiers-listing": { "archived-dossiers-listing": {
"no-data": { "no-data": {
"title": "No archived dossiers." "title": "No archived dossiers."
@ -618,18 +618,14 @@
"warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!" "warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!"
}, },
"confirmation-dialog": { "confirmation-dialog": {
"approve-file": {
"question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?",
"title": "Warnung!"
},
"approve-file-without-analysis": { "approve-file-without-analysis": {
"confirmationText": "Approve without analysis", "confirmationText": "Approve without analysis",
"denyText": "Cancel", "denyText": "Cancel",
"question": "Analysis required to detect new redactions.", "question": "Analysis required to detect new redactions.",
"title": "Warning!" "title": "Warning!"
}, },
"approve-multiple-files": { "approve-file": {
"question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?", "question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?",
"title": "Warnung!" "title": "Warnung!"
}, },
"approve-multiple-files-without-analysis": { "approve-multiple-files-without-analysis": {
@ -638,6 +634,10 @@
"question": "Analysis required to detect new redactions for at least one file.", "question": "Analysis required to detect new redactions for at least one file.",
"title": "Warning" "title": "Warning"
}, },
"approve-multiple-files": {
"question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?",
"title": "Warnung!"
},
"assign-file-to-me": { "assign-file-to-me": {
"question": { "question": {
"multiple": "Dieses Dokument wird gerade von einer anderen Person geprüft. Möchten Sie Reviewer werden und sich selbst dem Dokument zuweisen?", "multiple": "Dieses Dokument wird gerade von einer anderen Person geprüft. Möchten Sie Reviewer werden und sich selbst dem Dokument zuweisen?",
@ -983,13 +983,13 @@
"recent": "Neu ({hours} h)", "recent": "Neu ({hours} h)",
"unassigned": "Niemandem zugewiesen" "unassigned": "Niemandem zugewiesen"
}, },
"reanalyse": {
"action": "Datei analysieren"
},
"reanalyse-dossier": { "reanalyse-dossier": {
"error": "Die Dateien konnten nicht für eine Reanalyse eingeplant werden. Bitte versuchen Sie es erneut.", "error": "Die Dateien konnten nicht für eine Reanalyse eingeplant werden. Bitte versuchen Sie es erneut.",
"success": "Dateien für Reanalyse vorgesehen." "success": "Dateien für Reanalyse vorgesehen."
}, },
"reanalyse": {
"action": "Datei analysieren"
},
"start-auto-analysis": "Enable auto-analysis", "start-auto-analysis": "Enable auto-analysis",
"stop-auto-analysis": "Stop auto-analysis", "stop-auto-analysis": "Stop auto-analysis",
"table-col-names": { "table-col-names": {
@ -1058,14 +1058,6 @@
"total-documents": "Anzahl der Dokumente", "total-documents": "Anzahl der Dokumente",
"total-people": "<strong>{count}</strong> {count, plural, one{User} other {Users}}" "total-people": "<strong>{count}</strong> {count, plural, one{User} other {Users}}"
}, },
"dossier-templates": {
"label": "Dossier-Vorlagen",
"status": {
"active": "Active",
"inactive": "Inactive",
"incomplete": "Incomplete"
}
},
"dossier-templates-listing": { "dossier-templates-listing": {
"action": { "action": {
"clone": "Clone Template", "clone": "Clone Template",
@ -1101,6 +1093,14 @@
"title": "{length} {length, plural, one{Dossier-Vorlage} other{Dossier-Vorlagen}}" "title": "{length} {length, plural, one{Dossier-Vorlage} other{Dossier-Vorlagen}}"
} }
}, },
"dossier-templates": {
"label": "Dossier-Vorlagen",
"status": {
"active": "Active",
"inactive": "Inactive",
"incomplete": "Incomplete"
}
},
"dossier-watermark-selector": { "dossier-watermark-selector": {
"heading": "Watermarks on documents", "heading": "Watermarks on documents",
"no-watermark": "There is no watermark defined for the dossier template.<br>Contact your app admin to define one.", "no-watermark": "There is no watermark defined for the dossier template.<br>Contact your app admin to define one.",
@ -1299,13 +1299,13 @@
"action": "Zurück zur Übersicht", "action": "Zurück zur Übersicht",
"label": "Dieses Dossier wurde gelöscht!" "label": "Dieses Dossier wurde gelöscht!"
}, },
"file": {
"action": "Zurück zum Dossier",
"label": "Diese Datei wurde gelöscht!"
},
"file-dossier": { "file-dossier": {
"action": "Zurück zur Übersicht", "action": "Zurück zur Übersicht",
"label": "Das Dossier dieser Datei wurde gelöscht!" "label": "Das Dossier dieser Datei wurde gelöscht!"
},
"file": {
"action": "Zurück zum Dossier",
"label": "Diese Datei wurde gelöscht!"
} }
}, },
"file-preview": { "file-preview": {
@ -1323,12 +1323,6 @@
}, },
"exact-date": "{day} {month} {year} um {hour}:{minute} Uhr", "exact-date": "{day} {month} {year} um {hour}:{minute} Uhr",
"file": "Datei", "file": "Datei",
"file-attribute": {
"update": {
"error": "Failed to update file attribute value!",
"success": "File attribute value has been updated successfully!"
}
},
"file-attribute-encoding-types": { "file-attribute-encoding-types": {
"ascii": "ASCII", "ascii": "ASCII",
"iso": "ISO-8859-1", "iso": "ISO-8859-1",
@ -1339,6 +1333,12 @@
"number": "Nummer", "number": "Nummer",
"text": "Freier Text" "text": "Freier Text"
}, },
"file-attribute": {
"update": {
"error": "Failed to update file attribute value!",
"success": "File attribute value has been updated successfully!"
}
},
"file-attributes-configurations": { "file-attributes-configurations": {
"cancel": "Cancel", "cancel": "Cancel",
"form": { "form": {
@ -1552,6 +1552,15 @@
"csv": "File attributes were imported successfully from uploaded CSV file." "csv": "File attributes were imported successfully from uploaded CSV file."
} }
}, },
"filter-menu": {
"filter-options": "Filteroptionen",
"filter-types": "Filter",
"label": "Filter",
"pages-without-annotations": "Only pages without annotations",
"redaction-changes": "Nur Anmerkungen mit Schwärzungsänderungen",
"unseen-pages": "Nur Anmerkungen auf unsichtbaren Seiten",
"with-comments": "Nur Anmerkungen mit Kommentaren"
},
"filter": { "filter": {
"analysis": "Analyse erforderlich", "analysis": "Analyse erforderlich",
"comment": "Kommentare", "comment": "Kommentare",
@ -1562,15 +1571,6 @@
"suggestion": "Vorgeschlagene Schwärzung", "suggestion": "Vorgeschlagene Schwärzung",
"updated": "Aktualisiert" "updated": "Aktualisiert"
}, },
"filter-menu": {
"filter-options": "Filteroptionen",
"filter-types": "Filter",
"label": "Filter",
"pages-without-annotations": "Only pages without annotations",
"redaction-changes": "Nur Anmerkungen mit Schwärzungsänderungen",
"unseen-pages": "Nur Anmerkungen auf unsichtbaren Seiten",
"with-comments": "Nur Anmerkungen mit Kommentaren"
},
"filters": { "filters": {
"assigned-people": "Beauftragt", "assigned-people": "Beauftragt",
"documents-status": "Documents State", "documents-status": "Documents State",
@ -1737,6 +1737,7 @@
}, },
"license-info-screen": { "license-info-screen": {
"backend-version": "Backend-Version der Anwendung", "backend-version": "Backend-Version der Anwendung",
"capacity-details": "Capacity Details",
"capacity": { "capacity": {
"active-documents": "Active Documents", "active-documents": "Active Documents",
"all-documents": "Retention Capacity Used", "all-documents": "Retention Capacity Used",
@ -1746,12 +1747,12 @@
"trash-documents": "Documents in Trash", "trash-documents": "Documents in Trash",
"unused": "Unused Storage" "unused": "Unused Storage"
}, },
"capacity-details": "Capacity Details",
"copyright-claim-text": "Copyright © 2020 - {currentYear} knecon", "copyright-claim-text": "Copyright © 2020 - {currentYear} knecon",
"copyright-claim-title": "Copyright", "copyright-claim-title": "Copyright",
"current-analyzed-pages": "In aktuellem Lizenzzeitraum analysierte Seiten", "current-analyzed-pages": "In aktuellem Lizenzzeitraum analysierte Seiten",
"current-volume-analyzed": "Data Volume Analyzed in Licensing Period", "current-volume-analyzed": "Data Volume Analyzed in Licensing Period",
"custom-app-title": "Name der Anwendung", "custom-app-title": "Name der Anwendung",
"email-report": "E-Mail-Bericht",
"email": { "email": {
"body": { "body": {
"analyzed": "Im aktuellen Lizenzzeitraum insgesamt analysierte Seiten: {pages}.", "analyzed": "Im aktuellen Lizenzzeitraum insgesamt analysierte Seiten: {pages}.",
@ -1759,7 +1760,6 @@
}, },
"title": "Lizenzbericht {licenseCustomer}" "title": "Lizenzbericht {licenseCustomer}"
}, },
"email-report": "E-Mail-Bericht",
"end-user-license-text": "Die Nutzung dieses Produkts unterliegt den Bedingungen der Endbenutzer-Lizenzvereinbarung für den RedactManager, sofern darin nichts anderweitig festgelegt.", "end-user-license-text": "Die Nutzung dieses Produkts unterliegt den Bedingungen der Endbenutzer-Lizenzvereinbarung für den RedactManager, sofern darin nichts anderweitig festgelegt.",
"end-user-license-title": "Endbenutzer-Lizenzvereinbarung", "end-user-license-title": "Endbenutzer-Lizenzvereinbarung",
"license-title": "License Title", "license-title": "License Title",
@ -1844,13 +1844,6 @@
"user-promoted-to-approver": "<b>{user}</b> wurde im Dossier <b>{dossierHref, select, null{{dossierName}} other{<a href=\"{dossierHref}\" target=\"_blank\">{dossierName}</a>}}</b> zum Genehmiger ernannt!", "user-promoted-to-approver": "<b>{user}</b> wurde im Dossier <b>{dossierHref, select, null{{dossierName}} other{<a href=\"{dossierHref}\" target=\"_blank\">{dossierName}</a>}}</b> zum Genehmiger ernannt!",
"user-removed-as-dossier-member": "<b>{user}</b> wurde als Mitglied von: <b>{dossierHref, select, null{{dossierName}} other{<a href=\"{dossierHref}\" target=\"_blank\">{dossierName}</a>}}</b> entfernt!" "user-removed-as-dossier-member": "<b>{user}</b> wurde als Mitglied von: <b>{dossierHref, select, null{{dossierName}} other{<a href=\"{dossierHref}\" target=\"_blank\">{dossierName}</a>}}</b> entfernt!"
}, },
"notifications": {
"button-text": "Notifications",
"deleted-dossier": "Deleted Dossier",
"label": "Benachrichtigungen",
"mark-all-as-read": "Alle als gelesen markieren",
"mark-as": "Mark as {type, select, read{read} unread{unread} other{}}"
},
"notifications-screen": { "notifications-screen": {
"category": { "category": {
"email-notifications": "E-Mail Benachrichtigungen", "email-notifications": "E-Mail Benachrichtigungen",
@ -1864,6 +1857,7 @@
"dossier": "Dossierbezogene Benachrichtigungen", "dossier": "Dossierbezogene Benachrichtigungen",
"other": "Andere Benachrichtigungen" "other": "Andere Benachrichtigungen"
}, },
"options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten",
"options": { "options": {
"ASSIGN_APPROVER": "Wenn ich einem Dokument als Genehmiger zugewiesen bin", "ASSIGN_APPROVER": "Wenn ich einem Dokument als Genehmiger zugewiesen bin",
"ASSIGN_REVIEWER": "Wenn ich einem Dokument als Überprüfer zugewiesen bin", "ASSIGN_REVIEWER": "Wenn ich einem Dokument als Überprüfer zugewiesen bin",
@ -1881,7 +1875,6 @@
"USER_PROMOTED_TO_APPROVER": "Wenn ich Genehmiger in einem Dossier werde", "USER_PROMOTED_TO_APPROVER": "Wenn ich Genehmiger in einem Dossier werde",
"USER_REMOVED_AS_DOSSIER_MEMBER": "Wenn ich die Dossier-Mitgliedschaft verliere" "USER_REMOVED_AS_DOSSIER_MEMBER": "Wenn ich die Dossier-Mitgliedschaft verliere"
}, },
"options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten",
"schedule": { "schedule": {
"daily": "Tägliche Zusammenfassung", "daily": "Tägliche Zusammenfassung",
"instant": "Sofortig", "instant": "Sofortig",
@ -1889,6 +1882,13 @@
}, },
"title": "Benachrichtigungseinstellungen" "title": "Benachrichtigungseinstellungen"
}, },
"notifications": {
"button-text": "Notifications",
"deleted-dossier": "Deleted Dossier",
"label": "Benachrichtigungen",
"mark-all-as-read": "Alle als gelesen markieren",
"mark-as": "Mark as {type, select, read{read} unread{unread} other{}}"
},
"ocr": { "ocr": {
"confirmation-dialog": { "confirmation-dialog": {
"cancel": "Cancel", "cancel": "Cancel",
@ -1980,16 +1980,16 @@
"warnings-subtitle": "Do not show again options", "warnings-subtitle": "Do not show again options",
"warnings-title": "Prompts and Dialogs Settings" "warnings-title": "Prompts and Dialogs Settings"
}, },
"processing": {
"basic": "Processing",
"ocr": "OCR"
},
"processing-status": { "processing-status": {
"ocr": "OCR", "ocr": "OCR",
"pending": "Pending", "pending": "Pending",
"processed": "Processed", "processed": "Processed",
"processing": "Processing" "processing": "Processing"
}, },
"processing": {
"basic": "Processing",
"ocr": "OCR"
},
"readonly": "Lesemodus", "readonly": "Lesemodus",
"readonly-archived": "Read only (archived)", "readonly-archived": "Read only (archived)",
"redact-text": { "redact-text": {
@ -2070,6 +2070,8 @@
"content": { "content": {
"comment": "Comment", "comment": "Comment",
"comment-placeholder": "Add remarks or mentions ...", "comment-placeholder": "Add remarks or mentions ...",
"list-item": "",
"list-item-false-positive": "",
"options": { "options": {
"do-not-recommend": { "do-not-recommend": {
"description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.", "description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.",
@ -2079,21 +2081,27 @@
}, },
"false-positive": { "false-positive": {
"description": "\"{value}\" is not a {type} in this context: \"{context}\".", "description": "\"{value}\" is not a {type} in this context: \"{context}\".",
"description-bulk": "",
"extraOptionLabel": "Apply to all dossiers", "extraOptionLabel": "Apply to all dossiers",
"label": "False positive" "label": "False positive"
}, },
"in-dossier": { "in-dossier": {
"description": "Do not {type} \"{value}\" in any document of the current dossier.", "description": "Do not {type} \"{value}\" in any document of the current dossier.",
"description-bulk": "",
"extraOptionLabel": "Apply to all dossiers", "extraOptionLabel": "Apply to all dossiers",
"label": "Remove from dossier" "label": "Remove from dossier",
"label-bulk": ""
}, },
"only-here": { "only-here": {
"description": "Do not {type, select, undefined{redact} other{type}} \"{value}\" at this position in the current document.", "description": "Do not {type, select, undefined{redact} other{type}} \"{value}\" at this position in the current document.",
"description-bulk": "",
"label": "Remove here" "label": "Remove here"
} }
} },
"redacted-text": ""
}, },
"title": "Remove {type}" "title": "Remove {type}",
"title-bulk": ""
} }
}, },
"report-type": { "report-type": {
@ -2244,12 +2252,6 @@
"title": "Rule Editor", "title": "Rule Editor",
"warning-text": "Warning: experimental feature!" "warning-text": "Warning: experimental feature!"
}, },
"search": {
"active-dossiers": "ganze Plattform",
"all-dossiers": "all documents",
"placeholder": "Nach Dokumenten oder Dokumenteninhalt suchen",
"this-dossier": "in diesem Dossier"
},
"search-screen": { "search-screen": {
"cols": { "cols": {
"assignee": "Bevollmächtigter", "assignee": "Bevollmächtigter",
@ -2273,6 +2275,12 @@
"no-match": "Keine Dokumente entsprechen Ihren aktuellen Filtern.", "no-match": "Keine Dokumente entsprechen Ihren aktuellen Filtern.",
"table-header": "{length} {length, plural, one{Suchergebnis} other{Suchergebnisse}}" "table-header": "{length} {length, plural, one{Suchergebnis} other{Suchergebnisse}}"
}, },
"search": {
"active-dossiers": "ganze Plattform",
"all-dossiers": "all documents",
"placeholder": "Nach Dokumenten oder Dokumenteninhalt suchen",
"this-dossier": "in diesem Dossier"
},
"seconds": "seconds", "seconds": "seconds",
"size": "Size", "size": "Size",
"smtp-auth-config": { "smtp-auth-config": {
@ -2533,4 +2541,4 @@
} }
}, },
"yesterday": "Gestern" "yesterday": "Gestern"
} }

View File

@ -2052,11 +2052,11 @@
}, },
"only-here": { "only-here": {
"description": "Do not annotate \"{value}\" at this position in the current document.", "description": "Do not annotate \"{value}\" at this position in the current document.",
"description-bulk": "", "description-bulk": "Do not annotate the selected terms at this position in the current document.",
"label": "Remove here" "label": "Remove here"
} }
}, },
"redacted-text": "" "redacted-text": "Selected redactions"
}, },
"title": "Remove {count, plural, one{annotation} other {annotations}}" "title": "Remove {count, plural, one{annotation} other {annotations}}"
} }
@ -2070,30 +2070,38 @@
"content": { "content": {
"comment": "Comment", "comment": "Comment",
"comment-placeholder": "Add remarks or mentions ...", "comment-placeholder": "Add remarks or mentions ...",
"list-item": "{text}",
"list-item-false-positive": "\"{text}\" in the context: \"{context}\"",
"options": { "options": {
"do-not-recommend": { "do-not-recommend": {
"description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.", "description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.",
"description-bulk": "", "description-bulk": "Do not recommend the selected terms in any document of the current dossier.",
"extraOptionLabel": "Apply to all dossiers", "extraOptionLabel": "Apply to all dossiers",
"label": "Remove from dossier" "label": "Remove from dossier"
}, },
"false-positive": { "false-positive": {
"description": "\"{value}\" is not a {type} in this context: \"{context}\".", "description": "\"{value}\" is not a {type} in this context: \"{context}\".",
"description-bulk": "Do not redact the selected terms in their respective context.",
"extraOptionLabel": "Apply to all dossiers", "extraOptionLabel": "Apply to all dossiers",
"label": "False positive" "label": "False positive"
}, },
"in-dossier": { "in-dossier": {
"description": "Do not {type} \"{value}\" in any document of the current dossier.", "description": "Do not {type} \"{value}\" in any document of the current dossier.",
"description-bulk": "Do not redact the selected terms as their respective types in any dossier.",
"extraOptionLabel": "Apply to all dossiers", "extraOptionLabel": "Apply to all dossiers",
"label": "Remove from dossier" "label": "Remove from dossier",
"label-bulk": "No longer redact in any dossier"
}, },
"only-here": { "only-here": {
"description": "Do not {type, select, undefined{redact} other{type}} \"{value}\" at this position in the current document.", "description": "Do not {type, select, undefined{redact} other{type}} \"{value}\" at this position in the current document.",
"description-bulk": "Do not redact the selected terms at this position in the current document.",
"label": "Remove here" "label": "Remove here"
} }
} },
"redacted-text": "Selected {type}"
}, },
"title": "Remove {type}" "title": "Remove {type, select, redaction{redaction} recommendation{recommendation} other{hint}}",
"title-bulk": "Remove {type, select, redaction{redactions} recommendation{recommendations} other{hints}}"
} }
}, },
"report-type": { "report-type": {
@ -2533,4 +2541,4 @@
} }
}, },
"yesterday": "Yesterday" "yesterday": "Yesterday"
} }

View File

@ -2070,6 +2070,8 @@
"content": { "content": {
"comment": "", "comment": "",
"comment-placeholder": "", "comment-placeholder": "",
"list-item": "",
"list-item-false-positive": "",
"options": { "options": {
"do-not-recommend": { "do-not-recommend": {
"description": "", "description": "",
@ -2079,21 +2081,27 @@
}, },
"false-positive": { "false-positive": {
"description": "", "description": "",
"description-bulk": "",
"extraOptionLabel": "", "extraOptionLabel": "",
"label": "" "label": ""
}, },
"in-dossier": { "in-dossier": {
"description": "", "description": "",
"description-bulk": "",
"extraOptionLabel": "", "extraOptionLabel": "",
"label": "" "label": "",
"label-bulk": ""
}, },
"only-here": { "only-here": {
"description": "", "description": "",
"description-bulk": "",
"label": "" "label": ""
} }
} },
"redacted-text": ""
}, },
"title": "" "title": "",
"title-bulk": ""
} }
}, },
"report-type": { "report-type": {

View File

@ -2070,6 +2070,8 @@
"content": { "content": {
"comment": "Comment", "comment": "Comment",
"comment-placeholder": "Add remarks or mentions ...", "comment-placeholder": "Add remarks or mentions ...",
"list-item": "",
"list-item-false-positive": "",
"options": { "options": {
"do-not-recommend": { "do-not-recommend": {
"description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.", "description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.",
@ -2079,21 +2081,27 @@
}, },
"false-positive": { "false-positive": {
"description": "\"{value}\" is not a {type} in this context: \"{context}\".", "description": "\"{value}\" is not a {type} in this context: \"{context}\".",
"description-bulk": "",
"extraOptionLabel": "Apply to all dossiers", "extraOptionLabel": "Apply to all dossiers",
"label": "False positive" "label": "False positive"
}, },
"in-dossier": { "in-dossier": {
"description": "Do not {type} \"{value}\" in any document of the current dossier.", "description": "Do not {type} \"{value}\" in any document of the current dossier.",
"description-bulk": "",
"extraOptionLabel": "Apply to all dossiers", "extraOptionLabel": "Apply to all dossiers",
"label": "Remove from dossier" "label": "Remove from dossier",
"label-bulk": ""
}, },
"only-here": { "only-here": {
"description": "Do not {type} \"{value}\" at this position in the current document.", "description": "Do not {type} \"{value}\" at this position in the current document.",
"description-bulk": "",
"label": "Remove here" "label": "Remove here"
} }
} },
"redacted-text": ""
}, },
"title": "Remove {type}" "title": "Remove {type}",
"title-bulk": ""
} }
}, },
"report-type": { "report-type": {