From c6589b9f2262a02f580b31d218398341a6d243f6 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Wed, 13 Sep 2023 22:28:25 +0300 Subject: [PATCH 1/2] RED-7549 - Bulk delete action dialog --- .../annotation-actions.component.ts | 14 +- .../remove-redaction-dialog.component.html | 42 ++++- .../remove-redaction-dialog.component.scss | 15 ++ .../remove-redaction-dialog.component.ts | 12 +- .../remove-redaction-translations.ts | 5 + apps/red-ui/src/assets/i18n/redact/de.json | 156 +++++++++--------- apps/red-ui/src/assets/i18n/redact/en.json | 22 ++- apps/red-ui/src/assets/i18n/scm/de.json | 14 +- apps/red-ui/src/assets/i18n/scm/en.json | 14 +- 9 files changed, 201 insertions(+), 93 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.ts b/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.ts index b9a28495d..ba84aa774 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/annotation-actions/annotation-actions.component.ts @@ -60,7 +60,14 @@ export class AnnotationActionsComponent implements OnChanges { } 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() { @@ -131,4 +138,9 @@ export class AnnotationActionsComponent implements OnChanges { helpModeKey(action: string) { return this.#isDocumine ? `${action}_annotation` : ''; } + + get #sameType() { + const type = this.annotations[0].superType; + return this.annotations.every(a => a.superType === type); + } } diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.html b/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.html index 2afd68543..c5356c9c0 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.html +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.html @@ -1,13 +1,51 @@
+
-
+
+
+ + + +
    +
  • + {{ + (isFalsePositive + ? 'remove-redaction.dialog.content.list-item-false-positive' + : 'remove-redaction.dialog.content.list-item' + ) + | translate + : { + text: text, + context: data.falsePositiveContext[idx] + } + | replaceNbsp + }} +
  • +
+
+
+
diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.scss b/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.scss index 6c59d31b8..f211d23f7 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.scss +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.scss @@ -1,3 +1,18 @@ .dialog-content { 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; +} diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.ts index 0e24974e4..c2eb54f67 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.ts @@ -3,7 +3,7 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { FormBuilder, UntypedFormGroup } from '@angular/forms'; import { DetailsRadioOption, IconButtonTypes, IqserDialogComponent } from '@iqser/common-ui'; 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'; @Component({ @@ -19,14 +19,16 @@ export class RemoveRedactionDialogComponent extends IqserDialogComponent< readonly options: DetailsRadioOption[]; readonly recommendation; readonly hint: boolean; + readonly redactedTexts: string[]; form!: UntypedFormGroup; #applyToAllDossiers: boolean; constructor(private readonly _formBuilder: FormBuilder) { super(); - this.recommendation = this.data.redactions.every(r => r.isRecommendation); - this.hint = this.data.redactions.every(r => r.hint); + this.recommendation = this.data.redactions[0].isRecommendation; + this.hint = this.data.redactions[0].hint; this.options = getRemoveRedactionOptions(this.data); + this.redactedTexts = this.data.redactions.map(annotation => annotation.value); this.form = this.#getForm(); this.#applyToAllDossiers = this.data.applyToAllDossiers ?? true; @@ -45,6 +47,10 @@ export class RemoveRedactionDialogComponent extends IqserDialogComponent< .subscribe(); } + get isFalsePositive(): boolean { + return this.form.get('option').value.value === RemoveAnnotationOptions.FALSE_POSITIVE; + } + save(): void { this.close(this.form.getRawValue()); } diff --git a/apps/red-ui/src/app/translations/remove-redaction-translations.ts b/apps/red-ui/src/app/translations/remove-redaction-translations.ts index 2a7d7b790..a6abfa7eb 100644 --- a/apps/red-ui/src/app/translations/remove-redaction-translations.ts +++ b/apps/red-ui/src/app/translations/remove-redaction-translations.ts @@ -6,20 +6,25 @@ export const removeRedactionTranslations: { [key in RemoveRedactionOption]: Dial ONLY_HERE: { label: _('remove-redaction.dialog.content.options.only-here.label'), description: _('remove-redaction.dialog.content.options.only-here.description'), + descriptionBulk: _('remove-redaction.dialog.content.options.only-here.description-bulk'), }, IN_DOSSIER: { 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'), + descriptionBulk: _('remove-redaction.dialog.content.options.in-dossier.description-bulk'), extraOptionLabel: _('remove-redaction.dialog.content.options.in-dossier.extraOptionLabel'), }, FALSE_POSITIVE: { label: _('remove-redaction.dialog.content.options.false-positive.label'), 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'), }, DO_NOT_RECOMMEND: { label: _('remove-redaction.dialog.content.options.do-not-recommend.label'), 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'), }, }; diff --git a/apps/red-ui/src/assets/i18n/redact/de.json b/apps/red-ui/src/assets/i18n/redact/de.json index e2b3a85cd..dc71a9e02 100644 --- a/apps/red-ui/src/assets/i18n/redact/de.json +++ b/apps/red-ui/src/assets/i18n/redact/de.json @@ -256,9 +256,6 @@ "user-management": "User Management", "watermarks": "Watermarks" }, - "annotation": { - "pending": "(Pending Analysis)" - }, "annotation-actions": { "accept-recommendation": { "label": "Empfehlung annehmen" @@ -341,14 +338,14 @@ "error": "Rekategorisierung des Bildes gescheitert: {error}", "success": "Bild wurde einer neuen Kategorie zugeordnet." }, - "remove": { - "error": "Fehler beim Entfernen der Schwärzung: {error}", - "success": "Schwärzung entfernt!" - }, "remove-hint": { "error": "Failed to remove hint: {error}", "success": "Hint removed!" }, + "remove": { + "error": "Fehler beim Entfernen der Schwärzung: {error}", + "success": "Schwärzung entfernt!" + }, "request-change-legal-basis": { "error": "Fehler beim Vorschlagen der Änderung der Begründung:", "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}", "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": { "error": "Failed to request removal of hint: {error}", "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": { "error": "Vorschlag einer Schwärzung wurde nicht gespeichert: {error}", "success": "Vorschlag einer Schwärzung gespeichert" @@ -389,15 +386,15 @@ "remove-highlights": { "label": "Remove Selected Earmarks" }, - "resize": { - "label": "Größe ändern" - }, "resize-accept": { "label": "Größe speichern" }, "resize-cancel": { "label": "Größenänderung abbrechen" }, + "resize": { + "label": "Größe ändern" + }, "see-references": { "label": "See References" }, @@ -439,6 +436,9 @@ "suggestion-resize": "Vorgeschlagene Größenänderung", "text-highlight": "Earmark" }, + "annotation": { + "pending": "(Pending Analysis)" + }, "archived-dossiers-listing": { "no-data": { "title": "No archived dossiers." @@ -618,18 +618,14 @@ "warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!" }, "confirmation-dialog": { - "approve-file": { - "question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?", - "title": "Warnung!" - }, "approve-file-without-analysis": { "confirmationText": "Approve without analysis", "denyText": "Cancel", "question": "Analysis required to detect new redactions.", "title": "Warning!" }, - "approve-multiple-files": { - "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?", + "approve-file": { + "question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?", "title": "Warnung!" }, "approve-multiple-files-without-analysis": { @@ -638,6 +634,10 @@ "question": "Analysis required to detect new redactions for at least one file.", "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": { "question": { "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)", "unassigned": "Niemandem zugewiesen" }, - "reanalyse": { - "action": "Datei analysieren" - }, "reanalyse-dossier": { "error": "Die Dateien konnten nicht für eine Reanalyse eingeplant werden. Bitte versuchen Sie es erneut.", "success": "Dateien für Reanalyse vorgesehen." }, + "reanalyse": { + "action": "Datei analysieren" + }, "start-auto-analysis": "Enable auto-analysis", "stop-auto-analysis": "Stop auto-analysis", "table-col-names": { @@ -1058,14 +1058,6 @@ "total-documents": "Anzahl der Dokumente", "total-people": "{count} {count, plural, one{User} other {Users}}" }, - "dossier-templates": { - "label": "Dossier-Vorlagen", - "status": { - "active": "Active", - "inactive": "Inactive", - "incomplete": "Incomplete" - } - }, "dossier-templates-listing": { "action": { "clone": "Clone Template", @@ -1101,6 +1093,14 @@ "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": { "heading": "Watermarks on documents", "no-watermark": "There is no watermark defined for the dossier template.
Contact your app admin to define one.", @@ -1299,13 +1299,13 @@ "action": "Zurück zur Übersicht", "label": "Dieses Dossier wurde gelöscht!" }, - "file": { - "action": "Zurück zum Dossier", - "label": "Diese Datei wurde gelöscht!" - }, "file-dossier": { "action": "Zurück zur Übersicht", "label": "Das Dossier dieser Datei wurde gelöscht!" + }, + "file": { + "action": "Zurück zum Dossier", + "label": "Diese Datei wurde gelöscht!" } }, "file-preview": { @@ -1323,12 +1323,6 @@ }, "exact-date": "{day} {month} {year} um {hour}:{minute} Uhr", "file": "Datei", - "file-attribute": { - "update": { - "error": "Failed to update file attribute value!", - "success": "File attribute value has been updated successfully!" - } - }, "file-attribute-encoding-types": { "ascii": "ASCII", "iso": "ISO-8859-1", @@ -1339,6 +1333,12 @@ "number": "Nummer", "text": "Freier Text" }, + "file-attribute": { + "update": { + "error": "Failed to update file attribute value!", + "success": "File attribute value has been updated successfully!" + } + }, "file-attributes-configurations": { "cancel": "Cancel", "form": { @@ -1552,6 +1552,15 @@ "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": { "analysis": "Analyse erforderlich", "comment": "Kommentare", @@ -1562,15 +1571,6 @@ "suggestion": "Vorgeschlagene Schwärzung", "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": { "assigned-people": "Beauftragt", "documents-status": "Documents State", @@ -1737,6 +1737,7 @@ }, "license-info-screen": { "backend-version": "Backend-Version der Anwendung", + "capacity-details": "Capacity Details", "capacity": { "active-documents": "Active Documents", "all-documents": "Retention Capacity Used", @@ -1746,12 +1747,12 @@ "trash-documents": "Documents in Trash", "unused": "Unused Storage" }, - "capacity-details": "Capacity Details", "copyright-claim-text": "Copyright © 2020 - {currentYear} knecon", "copyright-claim-title": "Copyright", "current-analyzed-pages": "In aktuellem Lizenzzeitraum analysierte Seiten", "current-volume-analyzed": "Data Volume Analyzed in Licensing Period", "custom-app-title": "Name der Anwendung", + "email-report": "E-Mail-Bericht", "email": { "body": { "analyzed": "Im aktuellen Lizenzzeitraum insgesamt analysierte Seiten: {pages}.", @@ -1759,7 +1760,6 @@ }, "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-title": "Endbenutzer-Lizenzvereinbarung", "license-title": "License Title", @@ -1844,13 +1844,6 @@ "user-promoted-to-approver": "{user} wurde im Dossier {dossierHref, select, null{{dossierName}} other{{dossierName}}} zum Genehmiger ernannt!", "user-removed-as-dossier-member": "{user} wurde als Mitglied von: {dossierHref, select, null{{dossierName}} other{{dossierName}}} 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": { "category": { "email-notifications": "E-Mail Benachrichtigungen", @@ -1864,6 +1857,7 @@ "dossier": "Dossierbezogene Benachrichtigungen", "other": "Andere Benachrichtigungen" }, + "options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten", "options": { "ASSIGN_APPROVER": "Wenn ich einem Dokument als Genehmiger 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_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": { "daily": "Tägliche Zusammenfassung", "instant": "Sofortig", @@ -1889,6 +1882,13 @@ }, "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": { "confirmation-dialog": { "cancel": "Cancel", @@ -1980,16 +1980,16 @@ "warnings-subtitle": "Do not show again options", "warnings-title": "Prompts and Dialogs Settings" }, - "processing": { - "basic": "Processing", - "ocr": "OCR" - }, "processing-status": { "ocr": "OCR", "pending": "Pending", "processed": "Processed", "processing": "Processing" }, + "processing": { + "basic": "Processing", + "ocr": "OCR" + }, "readonly": "Lesemodus", "readonly-archived": "Read only (archived)", "redact-text": { @@ -2070,6 +2070,8 @@ "content": { "comment": "Comment", "comment-placeholder": "Add remarks or mentions ...", + "list-item": "", + "list-item-false-positive": "", "options": { "do-not-recommend": { "description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.", @@ -2079,21 +2081,27 @@ }, "false-positive": { "description": "\"{value}\" is not a {type} in this context: \"{context}\".", + "description-bulk": "", "extraOptionLabel": "Apply to all dossiers", "label": "False positive" }, "in-dossier": { "description": "Do not {type} \"{value}\" in any document of the current dossier.", + "description-bulk": "", "extraOptionLabel": "Apply to all dossiers", - "label": "Remove from dossier" + "label": "Remove from dossier", + "label-bulk": "" }, "only-here": { "description": "Do not {type, select, undefined{redact} other{type}} \"{value}\" at this position in the current document.", + "description-bulk": "", "label": "Remove here" } - } + }, + "redacted-text": "" }, - "title": "Remove {type}" + "title": "Remove {type}", + "title-bulk": "" } }, "report-type": { @@ -2244,12 +2252,6 @@ "title": "Rule Editor", "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": { "cols": { "assignee": "Bevollmächtigter", @@ -2273,6 +2275,12 @@ "no-match": "Keine Dokumente entsprechen Ihren aktuellen Filtern.", "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", "size": "Size", "smtp-auth-config": { @@ -2533,4 +2541,4 @@ } }, "yesterday": "Gestern" -} \ No newline at end of file +} diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json index 9b896747b..5f4a59e47 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -2052,11 +2052,11 @@ }, "only-here": { "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" } }, - "redacted-text": "" + "redacted-text": "Selected redactions" }, "title": "Remove {count, plural, one{annotation} other {annotations}}" } @@ -2070,30 +2070,38 @@ "content": { "comment": "Comment", "comment-placeholder": "Add remarks or mentions ...", + "list-item": "{text}", + "list-item-false-positive": "\"{text}\" in the context: \"{context}\"", "options": { "do-not-recommend": { "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", "label": "Remove from dossier" }, "false-positive": { "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", "label": "False positive" }, "in-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", - "label": "Remove from dossier" + "label": "Remove from dossier", + "label-bulk": "No longer redact in any dossier" }, "only-here": { "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" } - } + }, + "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": { @@ -2533,4 +2541,4 @@ } }, "yesterday": "Yesterday" -} \ No newline at end of file +} diff --git a/apps/red-ui/src/assets/i18n/scm/de.json b/apps/red-ui/src/assets/i18n/scm/de.json index f8e015e25..6bef9e9c2 100644 --- a/apps/red-ui/src/assets/i18n/scm/de.json +++ b/apps/red-ui/src/assets/i18n/scm/de.json @@ -2070,6 +2070,8 @@ "content": { "comment": "", "comment-placeholder": "", + "list-item": "", + "list-item-false-positive": "", "options": { "do-not-recommend": { "description": "", @@ -2079,21 +2081,27 @@ }, "false-positive": { "description": "", + "description-bulk": "", "extraOptionLabel": "", "label": "" }, "in-dossier": { "description": "", + "description-bulk": "", "extraOptionLabel": "", - "label": "" + "label": "", + "label-bulk": "" }, "only-here": { "description": "", + "description-bulk": "", "label": "" } - } + }, + "redacted-text": "" }, - "title": "" + "title": "", + "title-bulk": "" } }, "report-type": { diff --git a/apps/red-ui/src/assets/i18n/scm/en.json b/apps/red-ui/src/assets/i18n/scm/en.json index 43dc78a82..1846116f6 100644 --- a/apps/red-ui/src/assets/i18n/scm/en.json +++ b/apps/red-ui/src/assets/i18n/scm/en.json @@ -2070,6 +2070,8 @@ "content": { "comment": "Comment", "comment-placeholder": "Add remarks or mentions ...", + "list-item": "", + "list-item-false-positive": "", "options": { "do-not-recommend": { "description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.", @@ -2079,21 +2081,27 @@ }, "false-positive": { "description": "\"{value}\" is not a {type} in this context: \"{context}\".", + "description-bulk": "", "extraOptionLabel": "Apply to all dossiers", "label": "False positive" }, "in-dossier": { "description": "Do not {type} \"{value}\" in any document of the current dossier.", + "description-bulk": "", "extraOptionLabel": "Apply to all dossiers", - "label": "Remove from dossier" + "label": "Remove from dossier", + "label-bulk": "" }, "only-here": { "description": "Do not {type} \"{value}\" at this position in the current document.", + "description-bulk": "", "label": "Remove here" } - } + }, + "redacted-text": "" }, - "title": "Remove {type}" + "title": "Remove {type}", + "title-bulk": "" } }, "report-type": { From 75e570082ffe27c351749d65c041b4ca5155dd77 Mon Sep 17 00:00:00 2001 From: project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1 Date: Wed, 13 Sep 2023 19:30:09 +0000 Subject: [PATCH 2/2] push back localazy update --- apps/red-ui/src/assets/i18n/redact/de.json | 156 ++++++++++----------- apps/red-ui/src/assets/i18n/redact/en.json | 2 +- 2 files changed, 75 insertions(+), 83 deletions(-) diff --git a/apps/red-ui/src/assets/i18n/redact/de.json b/apps/red-ui/src/assets/i18n/redact/de.json index dc71a9e02..e2b3a85cd 100644 --- a/apps/red-ui/src/assets/i18n/redact/de.json +++ b/apps/red-ui/src/assets/i18n/redact/de.json @@ -256,6 +256,9 @@ "user-management": "User Management", "watermarks": "Watermarks" }, + "annotation": { + "pending": "(Pending Analysis)" + }, "annotation-actions": { "accept-recommendation": { "label": "Empfehlung annehmen" @@ -338,14 +341,14 @@ "error": "Rekategorisierung des Bildes gescheitert: {error}", "success": "Bild wurde einer neuen Kategorie zugeordnet." }, - "remove-hint": { - "error": "Failed to remove hint: {error}", - "success": "Hint removed!" - }, "remove": { "error": "Fehler beim Entfernen der Schwärzung: {error}", "success": "Schwärzung entfernt!" }, + "remove-hint": { + "error": "Failed to remove hint: {error}", + "success": "Hint removed!" + }, "request-change-legal-basis": { "error": "Fehler beim Vorschlagen der Änderung der Begründung:", "success": "Die Änderung der in der Anmerkung genannten Begründung wurde beantragt." @@ -362,14 +365,14 @@ "error": "Fehler beim Vorschlagen der Neukategorisierung des Bilds: {error}", "success": "Bild-Neuklassifizierung angefordert." }, - "request-remove-hint": { - "error": "Failed to request removal of hint: {error}", - "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!" }, + "request-remove-hint": { + "error": "Failed to request removal of hint: {error}", + "success": "Requested to remove hint!" + }, "suggest": { "error": "Vorschlag einer Schwärzung wurde nicht gespeichert: {error}", "success": "Vorschlag einer Schwärzung gespeichert" @@ -386,15 +389,15 @@ "remove-highlights": { "label": "Remove Selected Earmarks" }, + "resize": { + "label": "Größe ändern" + }, "resize-accept": { "label": "Größe speichern" }, "resize-cancel": { "label": "Größenänderung abbrechen" }, - "resize": { - "label": "Größe ändern" - }, "see-references": { "label": "See References" }, @@ -436,9 +439,6 @@ "suggestion-resize": "Vorgeschlagene Größenänderung", "text-highlight": "Earmark" }, - "annotation": { - "pending": "(Pending Analysis)" - }, "archived-dossiers-listing": { "no-data": { "title": "No archived dossiers." @@ -618,14 +618,18 @@ "warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!" }, "confirmation-dialog": { + "approve-file": { + "question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?", + "title": "Warnung!" + }, "approve-file-without-analysis": { "confirmationText": "Approve without analysis", "denyText": "Cancel", "question": "Analysis required to detect new redactions.", "title": "Warning!" }, - "approve-file": { - "question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?", + "approve-multiple-files": { + "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?", "title": "Warnung!" }, "approve-multiple-files-without-analysis": { @@ -634,10 +638,6 @@ "question": "Analysis required to detect new redactions for at least one file.", "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": { "question": { "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)", "unassigned": "Niemandem zugewiesen" }, + "reanalyse": { + "action": "Datei analysieren" + }, "reanalyse-dossier": { "error": "Die Dateien konnten nicht für eine Reanalyse eingeplant werden. Bitte versuchen Sie es erneut.", "success": "Dateien für Reanalyse vorgesehen." }, - "reanalyse": { - "action": "Datei analysieren" - }, "start-auto-analysis": "Enable auto-analysis", "stop-auto-analysis": "Stop auto-analysis", "table-col-names": { @@ -1058,6 +1058,14 @@ "total-documents": "Anzahl der Dokumente", "total-people": "{count} {count, plural, one{User} other {Users}}" }, + "dossier-templates": { + "label": "Dossier-Vorlagen", + "status": { + "active": "Active", + "inactive": "Inactive", + "incomplete": "Incomplete" + } + }, "dossier-templates-listing": { "action": { "clone": "Clone Template", @@ -1093,14 +1101,6 @@ "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": { "heading": "Watermarks on documents", "no-watermark": "There is no watermark defined for the dossier template.
Contact your app admin to define one.", @@ -1299,13 +1299,13 @@ "action": "Zurück zur Übersicht", "label": "Dieses Dossier wurde gelöscht!" }, - "file-dossier": { - "action": "Zurück zur Übersicht", - "label": "Das Dossier dieser Datei wurde gelöscht!" - }, "file": { "action": "Zurück zum Dossier", "label": "Diese Datei wurde gelöscht!" + }, + "file-dossier": { + "action": "Zurück zur Übersicht", + "label": "Das Dossier dieser Datei wurde gelöscht!" } }, "file-preview": { @@ -1323,6 +1323,12 @@ }, "exact-date": "{day} {month} {year} um {hour}:{minute} Uhr", "file": "Datei", + "file-attribute": { + "update": { + "error": "Failed to update file attribute value!", + "success": "File attribute value has been updated successfully!" + } + }, "file-attribute-encoding-types": { "ascii": "ASCII", "iso": "ISO-8859-1", @@ -1333,12 +1339,6 @@ "number": "Nummer", "text": "Freier Text" }, - "file-attribute": { - "update": { - "error": "Failed to update file attribute value!", - "success": "File attribute value has been updated successfully!" - } - }, "file-attributes-configurations": { "cancel": "Cancel", "form": { @@ -1552,15 +1552,6 @@ "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": { "analysis": "Analyse erforderlich", "comment": "Kommentare", @@ -1571,6 +1562,15 @@ "suggestion": "Vorgeschlagene Schwärzung", "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": { "assigned-people": "Beauftragt", "documents-status": "Documents State", @@ -1737,7 +1737,6 @@ }, "license-info-screen": { "backend-version": "Backend-Version der Anwendung", - "capacity-details": "Capacity Details", "capacity": { "active-documents": "Active Documents", "all-documents": "Retention Capacity Used", @@ -1747,12 +1746,12 @@ "trash-documents": "Documents in Trash", "unused": "Unused Storage" }, + "capacity-details": "Capacity Details", "copyright-claim-text": "Copyright © 2020 - {currentYear} knecon", "copyright-claim-title": "Copyright", "current-analyzed-pages": "In aktuellem Lizenzzeitraum analysierte Seiten", "current-volume-analyzed": "Data Volume Analyzed in Licensing Period", "custom-app-title": "Name der Anwendung", - "email-report": "E-Mail-Bericht", "email": { "body": { "analyzed": "Im aktuellen Lizenzzeitraum insgesamt analysierte Seiten: {pages}.", @@ -1760,6 +1759,7 @@ }, "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-title": "Endbenutzer-Lizenzvereinbarung", "license-title": "License Title", @@ -1844,6 +1844,13 @@ "user-promoted-to-approver": "{user} wurde im Dossier {dossierHref, select, null{{dossierName}} other{{dossierName}}} zum Genehmiger ernannt!", "user-removed-as-dossier-member": "{user} wurde als Mitglied von: {dossierHref, select, null{{dossierName}} other{{dossierName}}} 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": { "category": { "email-notifications": "E-Mail Benachrichtigungen", @@ -1857,7 +1864,6 @@ "dossier": "Dossierbezogene Benachrichtigungen", "other": "Andere Benachrichtigungen" }, - "options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten", "options": { "ASSIGN_APPROVER": "Wenn ich einem Dokument als Genehmiger zugewiesen bin", "ASSIGN_REVIEWER": "Wenn ich einem Dokument als Überprüfer zugewiesen bin", @@ -1875,6 +1881,7 @@ "USER_PROMOTED_TO_APPROVER": "Wenn ich Genehmiger in einem Dossier werde", "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": { "daily": "Tägliche Zusammenfassung", "instant": "Sofortig", @@ -1882,13 +1889,6 @@ }, "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": { "confirmation-dialog": { "cancel": "Cancel", @@ -1980,16 +1980,16 @@ "warnings-subtitle": "Do not show again options", "warnings-title": "Prompts and Dialogs Settings" }, + "processing": { + "basic": "Processing", + "ocr": "OCR" + }, "processing-status": { "ocr": "OCR", "pending": "Pending", "processed": "Processed", "processing": "Processing" }, - "processing": { - "basic": "Processing", - "ocr": "OCR" - }, "readonly": "Lesemodus", "readonly-archived": "Read only (archived)", "redact-text": { @@ -2070,8 +2070,6 @@ "content": { "comment": "Comment", "comment-placeholder": "Add remarks or mentions ...", - "list-item": "", - "list-item-false-positive": "", "options": { "do-not-recommend": { "description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.", @@ -2081,27 +2079,21 @@ }, "false-positive": { "description": "\"{value}\" is not a {type} in this context: \"{context}\".", - "description-bulk": "", "extraOptionLabel": "Apply to all dossiers", "label": "False positive" }, "in-dossier": { "description": "Do not {type} \"{value}\" in any document of the current dossier.", - "description-bulk": "", "extraOptionLabel": "Apply to all dossiers", - "label": "Remove from dossier", - "label-bulk": "" + "label": "Remove from dossier" }, "only-here": { "description": "Do not {type, select, undefined{redact} other{type}} \"{value}\" at this position in the current document.", - "description-bulk": "", "label": "Remove here" } - }, - "redacted-text": "" + } }, - "title": "Remove {type}", - "title-bulk": "" + "title": "Remove {type}" } }, "report-type": { @@ -2252,6 +2244,12 @@ "title": "Rule Editor", "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": { "cols": { "assignee": "Bevollmächtigter", @@ -2275,12 +2273,6 @@ "no-match": "Keine Dokumente entsprechen Ihren aktuellen Filtern.", "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", "size": "Size", "smtp-auth-config": { @@ -2541,4 +2533,4 @@ } }, "yesterday": "Gestern" -} +} \ No newline at end of file diff --git a/apps/red-ui/src/assets/i18n/redact/en.json b/apps/red-ui/src/assets/i18n/redact/en.json index 5f4a59e47..1a5d3bf82 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -2541,4 +2541,4 @@ } }, "yesterday": "Yesterday" -} +} \ No newline at end of file