From 14bf225916184da0bb2236f94334c121bca15ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Wed, 9 Mar 2022 19:44:38 +0200 Subject: [PATCH] RED-3311: Put documents back into status "new" --- ...ier-attributes-listing-screen.component.ts | 19 ++++-- ...ile-attributes-listing-screen.component.ts | 21 ++++--- .../admin/services/admin-dialog.service.ts | 30 ++++++--- ...dossier-overview-bulk-actions.component.ts | 10 +++ .../dossier-overview/config.service.ts | 4 +- .../services/bulk-actions.service.ts | 6 ++ .../file-actions/file-actions.component.ts | 16 +++++ .../services/entity-services/files.service.ts | 8 +++ .../src/app/services/permissions.service.ts | 9 +++ apps/red-ui/src/assets/config/config.json | 4 +- apps/red-ui/src/assets/i18n/de.json | 61 +++++++++++++++---- apps/red-ui/src/assets/i18n/en.json | 26 ++++---- tools/auto-i18n/import.xliff | 14 ++--- tools/auto-i18n/redaction-en-to-de.xliff | 14 ++--- 14 files changed, 176 insertions(+), 66 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts index c971d6a7a..2a09f4108 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts @@ -60,12 +60,19 @@ export class DossierAttributesListingScreenComponent extends ListingComponent { - this._loadingService.start(); - const ids = attributes.map(a => a.id); - await firstValueFrom(this._dossierAttributesService.delete(ids, this.#dossierTemplateId)); - await this._loadData(); - }); + await this._dialogService.deleteAttributes( + attributes, + this.#dossierTemplateId, + this.impactedTemplatesRef, + 'dossier', + $event, + async () => { + this._loadingService.start(); + const ids = attributes.map(a => a.id); + await firstValueFrom(this._dossierAttributesService.delete(ids, this.#dossierTemplateId)); + await this._loadData(); + }, + ); } openAddEditAttributeDialog($event: MouseEvent, dossierAttribute?: IDossierAttributeConfig) { diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts index b22c69057..a06e24ba3 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts @@ -108,13 +108,20 @@ export class FileAttributesListingScreenComponent extends ListingComponent { - await this._dialogService.deleteAttributes(attributes, this.#dossierTemplateId, this.impactedTemplatesRef, $event, async () => { - this._loadingService.start(); - const ids = attributes.map(a => a.id); - await firstValueFrom(this._fileAttributesService.deleteFileAttributes(ids, this.#dossierTemplateId)); - await firstValueFrom(this._dossierTemplatesService.refreshDossierTemplate(this.#dossierTemplateId)); - await this._loadData(); - }); + await this._dialogService.deleteAttributes( + attributes, + this.#dossierTemplateId, + this.impactedTemplatesRef, + 'file', + $event, + async () => { + this._loadingService.start(); + const ids = attributes.map(a => a.id); + await firstValueFrom(this._fileAttributesService.deleteFileAttributes(ids, this.#dossierTemplateId)); + await firstValueFrom(this._dossierTemplatesService.refreshDossierTemplate(this.#dossierTemplateId)); + await this._loadData(); + }, + ); } importCSV(files: FileList | File[]) { diff --git a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts index aacc5ff12..2016726c3 100644 --- a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts +++ b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts @@ -136,8 +136,9 @@ export class AdminDialogService extends DialogService { attributes: IFileAttributeConfig[] | IDossierAttributeConfig[], dossierTemplateId: string, impactedTemplatesRef: TemplateRef, - $event?: MouseEvent, - cb?: () => Promise | void, + type: 'dossier' | 'file', + $event: MouseEvent, + cb: () => Promise | void, ): Promise { this._loadingService.start(); const templates$ = attributes @@ -149,25 +150,34 @@ export class AdminDialogService extends DialogService { this._loadingService.stop(); const data = new ConfirmationDialogInput({ - title: _('confirm-delete-file-attribute.title'), - question: _('confirm-delete-file-attribute.warning'), - confirmationText: _('confirm-delete-file-attribute.delete'), - denyText: _('confirm-delete-file-attribute.cancel'), + title: _('confirm-delete-attribute.title'), + question: _('confirm-delete-attribute.warning'), + confirmationText: _('confirm-delete-attribute.delete'), + denyText: _('confirm-delete-attribute.cancel'), titleColor: TitleColors.WARN, checkboxes: [ { value: false, - label: 'confirm-delete-file-attribute.file-impacted-documents', + label: + type === 'dossier' + ? _('confirm-delete-attribute.dossier-impacted-documents') + : _('confirm-delete-attribute.file-impacted-documents'), + }, + { + value: false, + label: + type === 'dossier' + ? _('confirm-delete-attribute.dossier-lost-details') + : _('confirm-delete-attribute.file-lost-details'), }, - { value: false, label: 'confirm-delete-file-attribute.file-lost-details' }, ], - toastMessage: _('confirm-delete-file-attribute.toast-error'), + toastMessage: _('confirm-delete-attribute.toast-error'), translateParams: { reportsCount: uniqueTemplates.length, count: attributes.length, name: attributes[0].label }, }); if (templates.length) { data.checkboxes.push({ value: false, - label: _('confirm-delete-file-attribute.impacted-report'), + label: _('confirm-delete-attribute.impacted-report'), extraContent: impactedTemplatesRef, extraContentData: { templates: uniqueTemplates }, }); diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/bulk-actions/dossier-overview-bulk-actions.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/bulk-actions/dossier-overview-bulk-actions.component.ts index b2344b65a..77b2802d1 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/bulk-actions/dossier-overview-bulk-actions.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/bulk-actions/dossier-overview-bulk-actions.component.ts @@ -29,6 +29,7 @@ export class DossierOverviewBulkActionsComponent implements OnChanges { #canDisableAutoAnalysis: boolean; #canEnableAutoAnalysis: boolean; #canOcr: boolean; + #canSetToNew: boolean; #canSetToUnderReview: boolean; #canSetToUnderApproval: boolean; #isReadyForApproval: boolean; @@ -70,6 +71,13 @@ export class DossierOverviewBulkActionsComponent implements OnChanges { icon: 'red:assign-me', show: this.#canAssignToSelf, }, + { + type: ActionTypes.circleBtn, + action: () => this._bulkActionsService.setToNew(this.selectedFiles), + tooltip: _('dossier-overview.back-to-new'), + icon: 'red:undo', + show: this.#canSetToNew, + }, { type: ActionTypes.circleBtn, action: () => this._bulkActionsService.setToUnderApproval(this.selectedFiles), @@ -184,6 +192,8 @@ export class DossierOverviewBulkActionsComponent implements OnChanges { this.#canOcr = this._permissionsService.canOcrFile(this.selectedFiles); + this.#canSetToNew = this._permissionsService.canSetToNew(this.selectedFiles) && !isWorkflow; + this.#canSetToUnderReview = this._permissionsService.canSetUnderReview(this.selectedFiles) && !isWorkflow; this.#canSetToUnderApproval = this._permissionsService.canSetUnderApproval(this.selectedFiles) && !isWorkflow; diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/config.service.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/config.service.ts index bdf5820af..c35312cb1 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/config.service.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/config.service.ts @@ -58,8 +58,8 @@ export class ConfigService { { label: workflowFileStatusTranslations[WorkflowFileStatuses.NEW], key: WorkflowFileStatuses.NEW, - enterFn: noop, - enterPredicate: () => false, + enterFn: (files: File[]) => this._bulkActionsService.setToNew(files), + enterPredicate: (files: File[]) => this._permissionsService.canSetToNew(files), color: '#D3D5DA', entities: new BehaviorSubject([]), }, diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/services/bulk-actions.service.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/services/bulk-actions.service.ts index 569e424a4..fb241f571 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/services/bulk-actions.service.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/services/bulk-actions.service.ts @@ -86,6 +86,12 @@ export class BulkActionsService { this._loadingService.stop(); } + async setToNew(files: File[]): Promise { + this._loadingService.start(); + await firstValueFrom(this._filesService.setToNewFor(files, files[0].dossierId)); + this._loadingService.stop(); + } + async approve(files: File[]): Promise { const foundAnalysisRequiredFile = files.find(file => file.analysisRequired); const foundUpdatedFile = files.find(file => file.hasUpdates); diff --git a/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts b/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts index a59492f02..95c43b211 100644 --- a/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts +++ b/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts @@ -62,6 +62,7 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnDestroy, assignTooltip?: string; buttonType?: CircleButtonType; + showSetToNew = false; showUndoApproval = false; showAssignToSelf = false; showImportRedactions = false; @@ -179,6 +180,13 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnDestroy, icon: 'red:exclude-pages', show: !!this._excludedPagesService && !this.file.excluded, }, + { + type: ActionTypes.circleBtn, + action: ($event: MouseEvent) => this._setToNew($event), + tooltip: _('dossier-overview.back-to-new'), + icon: 'red:undo', + show: this.showSetToNew, + }, { type: ActionTypes.circleBtn, action: ($event: MouseEvent) => this._setFileUnderApproval($event), @@ -410,6 +418,7 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnDestroy, this.buttonType = this.isFilePreview ? CircleButtonTypes.default : CircleButtonTypes.dark; this.toggleTooltip = this._toggleTooltip; + this.showSetToNew = this._permissionsService.canSetToNew(this.file) && !this.isDossierOverviewWorkflow; this.showUndoApproval = this._permissionsService.canUndoApproval(this.file) && !this.isDossierOverviewWorkflow; this.showUnderReview = this._permissionsService.canSetUnderReview(this.file) && !this.isDossierOverviewWorkflow; this.showUnderApproval = this._permissionsService.canSetUnderApproval(this.file) && !this.isDossierOverviewWorkflow; @@ -447,4 +456,11 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnDestroy, await firstValueFrom(this._filesService.setApprovedFor([this.file], this.file.dossierId)); this._loadingService.stop(); } + + private async _setToNew($event: MouseEvent) { + $event.stopPropagation(); + this._loadingService.start(); + await firstValueFrom(this._filesService.setToNewFor([this.file], this.file.dossierId)); + this._loadingService.stop(); + } } diff --git a/apps/red-ui/src/app/services/entity-services/files.service.ts b/apps/red-ui/src/app/services/entity-services/files.service.ts index 6d76d9d1f..7f58fadcd 100644 --- a/apps/red-ui/src/app/services/entity-services/files.service.ts +++ b/apps/red-ui/src/app/services/entity-services/files.service.ts @@ -45,6 +45,14 @@ export class FilesService extends EntitiesService { return this._post(fileIds, url).pipe(switchMap(() => this.loadAll(dossierId, routerPath))); } + @Validate() + setToNewFor(@RequiredParam() files: List, @RequiredParam() dossierId: string) { + const url = `${this._defaultModelPath}/new/${dossierId}/bulk`; + const fileIds = files.map(f => f.id); + const routerPath: string = files[0].routerPath; + return this._post(fileIds, url).pipe(switchMap(() => this.loadAll(dossierId, routerPath))); + } + @Validate() setUnderApprovalFor(@RequiredParam() files: List, @RequiredParam() dossierId: string, assigneeId: string) { const url = `${this._defaultModelPath}/under-approval/${dossierId}/bulk`; diff --git a/apps/red-ui/src/app/services/permissions.service.ts b/apps/red-ui/src/app/services/permissions.service.ts index befafdb3f..f5419c584 100644 --- a/apps/red-ui/src/app/services/permissions.service.ts +++ b/apps/red-ui/src/app/services/permissions.service.ts @@ -106,6 +106,11 @@ export class PermissionsService { return files.reduce((acc, _file) => this._canUnassignUser(_file, dossier) && acc, true); } + canSetToNew(file: File | File[]): boolean { + const files = file instanceof File ? [file] : file; + return files.reduce((acc, _file) => this._canSetToNew(_file) && acc, true); + } + canSetUnderReview(file: File | File[]): boolean { const files = file instanceof File ? [file] : file; const dossier = this._getDossier(files[0]); @@ -299,6 +304,10 @@ export class PermissionsService { ); } + private _canSetToNew(file: File): boolean { + return this._isActive(file) && file.isUnderReview; + } + private _canSetUnderReview(file: File): boolean { return this._isActive(file) && file.isUnderApproval; } diff --git a/apps/red-ui/src/assets/config/config.json b/apps/red-ui/src/assets/config/config.json index 05604dd48..9ee85116b 100644 --- a/apps/red-ui/src/assets/config/config.json +++ b/apps/red-ui/src/assets/config/config.json @@ -1,7 +1,7 @@ { "ADMIN_CONTACT_NAME": null, "ADMIN_CONTACT_URL": null, - "API_URL": "https://dev-08.iqser.cloud/redaction-gateway-v1", + "API_URL": "https://dev-05.iqser.cloud/redaction-gateway-v1", "APP_NAME": "RedactManager", "AUTO_READ_TIME": 3, "BACKEND_APP_VERSION": "4.4.40", @@ -17,7 +17,7 @@ "MAX_RETRIES_ON_SERVER_ERROR": 3, "OAUTH_CLIENT_ID": "redaction", "OAUTH_IDP_HINT": null, - "OAUTH_URL": "https://dev-08.iqser.cloud/auth/realms/redaction", + "OAUTH_URL": "https://dev-05.iqser.cloud/auth/realms/redaction", "RECENT_PERIOD_IN_HOURS": 24, "SELECTION_MODE": "structural", "MANUAL_BASE_URL": "https://docs.redactmanager.com/preview" diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index 2c978b185..e709598f1 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -315,6 +315,23 @@ "text-highlight": "" }, "annotations": "Anmerkungen", + "archived-dossiers-listing": { + "no-data": { + "title": "" + }, + "no-match": { + "title": "" + }, + "table-col-names": { + "dossier-status": "", + "last-modified": "", + "name": "", + "owner": "" + }, + "table-header": { + "title": "" + } + }, "assign-dossier-owner": { "dialog": { "approvers": "Genehmiger", @@ -411,6 +428,29 @@ } }, "configurations": "Einstellungen", + "confirm-archive-dossier": { + "archive": "", + "cancel": "", + "checkbox": { + "documents": "" + }, + "details": "", + "title": "", + "toast-error": "", + "warning": "" + }, + "confirm-delete-attribute": { + "cancel": "{count, plural, one{Attribut} other{Attribute}} behalten", + "delete": "{count, plural, one{Attribut} other{Attribute}} löschen", + "dossier-impacted-documents": "", + "dossier-lost-details": "", + "file-impacted-documents": "", + "file-lost-details": "", + "impacted-report": "{reportsCount}", + "title": "{count, plural, one{{name}} other{Datei-Attribute}} löschen", + "toast-error": "Bitte bestätigen Sie, dass Ihnen die Konsequenzen dieser Aktion bewusst sind!", + "warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!" + }, "confirm-delete-dossier-state": { "cancel": "", "delete": "", @@ -423,18 +463,6 @@ "title": "", "warning": "" }, - "confirm-delete-file-attribute": { - "cancel": "{count, plural, one{Attribut} other{Attribute}} behalten", - "delete": "{count, plural, one{Attribut} other{Attribute}} löschen", - "file-impacted-documents": "Alle Dokumente {count, plural, one{ist} other{sind}} betroffen", - "dossier-impacted-documents": "", - "file-lost-details": "Alle in die Dokumente eingegebenen Daten gehen verloren", - "dossier-lost-details": "", - "title": "{count, plural, one{{name}} other{Datei-Attribute}} löschen", - "toast-error": "Bitte bestätigen Sie, dass Ihnen die Konsequenzen dieser Aktion bewusst sind!", - "warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!", - "impacted-report": "{reportsCount}" - }, "confirm-delete-users": { "cancel": "{usersCount, plural, one{Benutzer} other{Benutzer}} behalten", "delete": "{usersCount, plural, one{Benutzer} other{Benutzer}} löschen", @@ -692,6 +720,11 @@ }, "dossier-listing": { "add-new": "Neues Dossier", + "archive": { + "action": "", + "archive-failed": "", + "archive-succeeded": "" + }, "delete": { "action": "Dossier löschen", "delete-failed": "Das Dossier {dossierName} konnte nicht gelöscht werden" @@ -747,6 +780,7 @@ "assign-approver": "Genehmiger zuordnen", "assign-me": "Mir zuteilen", "assign-reviewer": "Überprüfer zuordnen", + "back-to-new": "", "bulk": { "delete": "Dokumente löschen", "reanalyse": "Dokumente analysieren" @@ -1601,6 +1635,7 @@ "processing": "" }, "readonly": "Lesemodus", + "readonly-archived": "", "recategorize-image-dialog": { "actions": { "cancel": "Abbrechen", @@ -1741,6 +1776,7 @@ }, "search": { "active-dossiers": "ganze Plattform", + "all-dossiers": "", "placeholder": "Nach Dokumenten oder Dokumenteninhalt suchen", "this-dossier": "in diesem Dossier" }, @@ -1769,6 +1805,7 @@ }, "top-bar": { "navigation-items": { + "archived-dossiers": "", "back": "Zurück", "dossiers": "Aktives Dossier", "my-account": { diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index cbccfdcba..7cb2d950b 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -439,6 +439,18 @@ "toast-error": "Please confirm that you understand the ramifications of your action!", "warning": "Are you sure you want to archive the dossier?" }, + "confirm-delete-attribute": { + "cancel": "Keep {count, plural, one{Attribute} other{Attributes}}", + "delete": "Delete {count, plural, one{Attribute} other{Attributes}}", + "dossier-impacted-documents": "All dossiers based on this template will be affected", + "dossier-lost-details": "All values for this attribute will be lost", + "file-impacted-documents": "All documents {count, plural, one{it is} other{they are}} used on will be impacted", + "file-lost-details": "All inputted details on the documents will be lost", + "impacted-report": "{reportsCount} reports use the placeholder for this attribute and need to be adjusted", + "title": "Delete {count, plural, one{{name}} other{File Attributes}}", + "toast-error": "Please confirm that you understand the ramifications of your action!", + "warning": "Warning: this cannot be undone!" + }, "confirm-delete-dossier-state": { "cancel": "Cancel", "delete": "Delete", @@ -451,18 +463,6 @@ "title": "Delete Dossier Status", "warning": "The {name} status is assigned to {count} {count, plural, one{Dossier} other{Dossiers}}." }, - "confirm-delete-file-attribute": { - "cancel": "Keep {count, plural, one{Attribute} other{Attributes}}", - "delete": "Delete {count, plural, one{Attribute} other{Attributes}}", - "dossier-impacted-documents": "All dossiers based on this template will be affected", - "dossier-lost-details": "All values for this attribute will be lost", - "file-impacted-documents": "All documents {count, plural, one{it is} other{they are}} used on will be impacted", - "file-lost-details": "All inputted details on the documents will be lost", - "impacted-report": "{reportsCount} reports use the placeholder for this attribute and need to be adjusted", - "title": "Delete {count, plural, one{{name}} other{File Attributes}}", - "toast-error": "Please confirm that you understand the ramifications of your action!", - "warning": "Warning: this cannot be undone!" - }, "confirm-delete-users": { "cancel": "Keep {usersCount, plural, one{User} other{Users}}", "delete": "Delete {usersCount, plural, one{User} other{Users}}", @@ -780,6 +780,7 @@ "assign-approver": "Assign Approver", "assign-me": "Assign To Me", "assign-reviewer": "Assign User", + "back-to-new": "Back to New", "bulk": { "delete": "Delete Documents", "reanalyse": "Analyze Documents" @@ -1259,7 +1260,6 @@ "reanalyse-notification": "This document was not processed with the latest rule/dictionary set. Analyze now to get updated annotations.", "redacted": "Preview", "redacted-tooltip": "Redaction preview shows only redactions. Consider this a preview for the final redacted version. This view is only available if the file has no pending changes & doesn't require a reanalysis", - "reset-filters": "", "standard": "Standard", "standard-tooltip": "Standard Workload view shows all hints, redactions, recommendations & suggestions. This view allows editing.", "tabs": { diff --git a/tools/auto-i18n/import.xliff b/tools/auto-i18n/import.xliff index fa216309d..0fd7fdf74 100644 --- a/tools/auto-i18n/import.xliff +++ b/tools/auto-i18n/import.xliff @@ -934,31 +934,31 @@ Configurations Einstellungen - + Keep {type, select, single{Attribute} bulk{Attributes} other{}} {type, select, single{Attribut} bulk{Attribute} other{}} behalten - + Delete {type, select, single{Attribute} bulk{Attributes} other{}} {type, select, single{Attribut} bulk{Attribute} other{}} löschen - + All documents {type, select, single{it is} bulk{they are} other{}} used on will be impacted Alle Dokumente {type, select, single{ist} bulk{sind} other{}} betroffen - + All inputted details on the documents will be lost Alle in die Dokumente eingegebenen Daten gehen verloren - + Delete {type, select, single{{name}} bulk{File Attributes} other{}} {type, select, single{{name}} bulk{Datei-Attribute} other{}} löschen - + Please confirm that you understand the ramifications of your action! Bitte bestätigen Sie, dass Ihnen die Konsequenzen dieser Aktion bewusst sind! - + Warning: this cannot be undone! Achtung: Diese Aktion kann nicht rückgängig gemacht werden! diff --git a/tools/auto-i18n/redaction-en-to-de.xliff b/tools/auto-i18n/redaction-en-to-de.xliff index b52f6cc20..8b0e2dbad 100644 --- a/tools/auto-i18n/redaction-en-to-de.xliff +++ b/tools/auto-i18n/redaction-en-to-de.xliff @@ -934,31 +934,31 @@ Bitte aus der Liste unten auswählen. Configurations Einstellungen - + Keep {type, select, single{Attribute} bulk{Attributes} other{}} {type, select, single{Attribut} bulk{Attribute} other{}} behalten - + Delete {type, select, single{Attribute} bulk{Attributes} other{}} {type, select, single{Attribut} bulk{Attribute} other{}} löschen - + All documents {type, select, single{it is} bulk{they are} other{}} used on will be impacted Alle Dokumente {type, select, single{ist} bulk{sind} other{}} betroffen - + All inputted details on the documents will be lost Alle in die Dokumente eingegebenen Daten gehen verloren - + Delete {type, select, single{{name}} bulk{File Attributes} other{}} {type, select, single{{name}} bulk{Datei-Attribute} other{}} löschen - + Please confirm that you understand the ramifications of your action! Bitte bestätigen Sie, dass Ihnen die Konsequenzen dieser Aktion bewusst sind! - + Warning: this cannot be undone! Achtung: Diese Aktion kann nicht rückgängig gemacht werden!