diff --git a/apps/red-ui/src/app/modules/account/screens/preferences/preferences.component.html b/apps/red-ui/src/app/modules/account/screens/preferences/preferences.component.html index ad1f6dd44..91d254bef 100644 --- a/apps/red-ui/src/app/modules/account/screens/preferences/preferences.component.html +++ b/apps/red-ui/src/app/modules/account/screens/preferences/preferences.component.html @@ -37,6 +37,11 @@ {{ 'preferences-screen.form.help-mode-dialog' | translate }} +
+ + {{ 'preferences-screen.form.overwrite-file-option' | translate }} + +
diff --git a/apps/red-ui/src/app/modules/account/screens/preferences/preferences.component.ts b/apps/red-ui/src/app/modules/account/screens/preferences/preferences.component.ts index 269fe712f..94561d227 100644 --- a/apps/red-ui/src/app/modules/account/screens/preferences/preferences.component.ts +++ b/apps/red-ui/src/app/modules/account/screens/preferences/preferences.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { @@ -28,6 +28,7 @@ interface PreferencesForm { // warnings preferences loadAllAnnotationsWarning: boolean; helpModeDialog: boolean; + overwriteFileOption: boolean; [k: string]: any; } @@ -58,6 +59,12 @@ const Screens = { ], }) export class PreferencesComponent extends BaseFormComponent implements OnInit { + readonly #formBuilder = inject(FormBuilder); + readonly #permissionsService = inject(IqserPermissionsService); + readonly #changeRef = inject(ChangeDetectorRef); + readonly #loadingService = inject(LoadingService); + readonly #userPreferenceService = inject(UserPreferenceService); + readonly form: FormGroup>; readonly currentScreen: Screen; readonly screens = Screens; @@ -66,81 +73,92 @@ export class PreferencesComponent extends BaseFormComponent implements OnInit { readonly config = getConfig(); readonly isIqserDevMode = isIqserDevMode(); - constructor( - route: ActivatedRoute, - readonly userPreferenceService: UserPreferenceService, - private readonly _formBuilder: FormBuilder, - private readonly _permissionsService: IqserPermissionsService, - private readonly _changeRef: ChangeDetectorRef, - private readonly _loadingService: LoadingService, - ) { + get #isOverwriteFileOptionActive() { + return !(this.#userPreferenceService.getOverwriteFileOption() === 'undefined'); + } + + constructor(route: ActivatedRoute) { super(); - this.form = this._formBuilder.group({ + this.form = this.#formBuilder.group({ // preferences - autoExpandFiltersOnActions: [this.userPreferenceService.getAutoExpandFiltersOnActions()], - openScmDialogByDefault: [this.userPreferenceService.getOpenScmDialogByDefault()], - tableExtractionType: [this.userPreferenceService.getTableExtractionType()], + autoExpandFiltersOnActions: [this.#userPreferenceService.getAutoExpandFiltersOnActions()], + openScmDialogByDefault: [this.#userPreferenceService.getOpenScmDialogByDefault()], + tableExtractionType: [this.#userPreferenceService.getTableExtractionType()], // warnings preferences - loadAllAnnotationsWarning: [this.userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning)], - helpModeDialog: [this.userPreferenceService.getBool(KEYS.helpModeDialog)], + loadAllAnnotationsWarning: [this.#userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning)], + helpModeDialog: [this.#userPreferenceService.getBool(KEYS.helpModeDialog)], + overwriteFileOption: [this.#isOverwriteFileOptionActive], }); - if (!this._permissionsService.has(Roles.managePreferences)) { + if (!this.#permissionsService.has(Roles.managePreferences)) { this.form.disable(); } - if (!this._permissionsService.has(Roles.getTables)) { + if (!this.#permissionsService.has(Roles.getTables)) { this.form.controls.tableExtractionType.disable(); } + if (!this.#isOverwriteFileOptionActive) { + this.form.controls.overwriteFileOption.disable(); + } + this.initialFormValue = this.form.getRawValue(); this.currentScreen = route.snapshot.data.screen; } ngOnInit() { - this._loadingService.stop(); + this.#loadingService.stop(); } async save(): Promise { - if (this.form.controls.autoExpandFiltersOnActions.value !== this.userPreferenceService.getAutoExpandFiltersOnActions()) { - await this.userPreferenceService.toggleAutoExpandFiltersOnActions(); + if (this.form.controls.autoExpandFiltersOnActions.value !== this.#userPreferenceService.getAutoExpandFiltersOnActions()) { + await this.#userPreferenceService.toggleAutoExpandFiltersOnActions(); } - if (this.form.controls.openScmDialogByDefault.value !== this.userPreferenceService.getOpenScmDialogByDefault()) { - await this.userPreferenceService.toggleOpenScmDialogByDefault(); + if (this.form.controls.openScmDialogByDefault.value !== this.#userPreferenceService.getOpenScmDialogByDefault()) { + await this.#userPreferenceService.toggleOpenScmDialogByDefault(); } - if (this.form.controls.tableExtractionType.value !== this.userPreferenceService.getTableExtractionType()) { - await this.userPreferenceService.save(PreferencesKeys.tableExtractionType, this.form.controls.tableExtractionType.value); + if (this.form.controls.tableExtractionType.value !== this.#userPreferenceService.getTableExtractionType()) { + await this.#userPreferenceService.save(PreferencesKeys.tableExtractionType, this.form.controls.tableExtractionType.value); } if ( this.form.controls.loadAllAnnotationsWarning.value !== - this.userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning) + this.#userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning) ) { - await this.userPreferenceService.save( + await this.#userPreferenceService.save( PreferencesKeys.loadAllAnnotationsWarning, String(this.form.controls.loadAllAnnotationsWarning.value), ); } - if (this.form.controls.helpModeDialog.value !== this.userPreferenceService.getBool(KEYS.helpModeDialog)) { - await this.userPreferenceService.save(KEYS.helpModeDialog, String(this.form.controls.helpModeDialog.value)); + if (this.form.controls.helpModeDialog.value !== this.#userPreferenceService.getBool(KEYS.helpModeDialog)) { + await this.#userPreferenceService.save(KEYS.helpModeDialog, String(this.form.controls.helpModeDialog.value)); } - await this.userPreferenceService.reload(); + if (this.form.controls.overwriteFileOption.enabled && !this.form.controls.overwriteFileOption.value) { + await this.#userPreferenceService.saveOverwriteFileOption('undefined'); + } + + await this.#userPreferenceService.reload(); this.#patchValues(); this.initialFormValue = this.form.getRawValue(); - this._changeRef.markForCheck(); + this.#changeRef.markForCheck(); } #patchValues() { this.form.patchValue({ - autoExpandFiltersOnActions: this.userPreferenceService.getAutoExpandFiltersOnActions(), - openScmDialogByDefault: this.userPreferenceService.getOpenScmDialogByDefault(), - tableExtractionType: this.userPreferenceService.getTableExtractionType(), - loadAllAnnotationsWarning: this.userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning), - helpModeDialog: this.userPreferenceService.getBool(KEYS.helpModeDialog), + autoExpandFiltersOnActions: this.#userPreferenceService.getAutoExpandFiltersOnActions(), + openScmDialogByDefault: this.#userPreferenceService.getOpenScmDialogByDefault(), + tableExtractionType: this.#userPreferenceService.getTableExtractionType(), + loadAllAnnotationsWarning: this.#userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning), + helpModeDialog: this.#userPreferenceService.getBool(KEYS.helpModeDialog), + overwriteFileOption: this.#isOverwriteFileOptionActive, }); + + if (!this.#isOverwriteFileOptionActive) { + this.form.controls.overwriteFileOption.disable(); + } } } diff --git a/apps/red-ui/src/app/modules/upload-download/services/file-upload.service.ts b/apps/red-ui/src/app/modules/upload-download/services/file-upload.service.ts index c4f82e77a..e8fc4f761 100644 --- a/apps/red-ui/src/app/modules/upload-download/services/file-upload.service.ts +++ b/apps/red-ui/src/app/modules/upload-download/services/file-upload.service.ts @@ -15,6 +15,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { HeadersConfiguration } from '@iqser/common-ui/lib/utils'; import { LicenseService } from '@services/license.service'; import { LicenseFeatures } from '../../admin/screens/license/utils/constants'; +import { UserPreferenceService } from '@users/user-preference.service'; export interface ActiveUpload { subscription: Subscription; @@ -43,6 +44,7 @@ export class FileUploadService extends GenericService impleme private readonly _errorMessageService: ErrorMessageService, private readonly _licenseService: LicenseService, private readonly _toaster: Toaster, + private readonly _userPreferenceService: UserPreferenceService, ) { super(); const fileFetch$ = this.#fetchFiles$.pipe( @@ -76,7 +78,7 @@ export class FileUploadService extends GenericService impleme const maxSizeBytes = maxSizeMB * 1024 * 1024; const dossierFiles = this._filesMapService.get(dossierId); const supportMsOfficeFormats = this._licenseService.getFeature(LicenseFeatures.SUPPORT_MS_OFFICE_FORMATS)?.value as boolean; - let option: OverwriteFileOption = localStorage.getItem('overwriteFileOption') as OverwriteFileOption; + let option: OverwriteFileOption | 'undefined' = this._userPreferenceService.getOverwriteFileOption(); for (let idx = 0; idx < files.length; ++idx) { const file = files[idx]; let currentOption = option; @@ -95,14 +97,14 @@ export class FileUploadService extends GenericService impleme } } } else if (dossierFiles.find(pf => pf.filename === file.file.name)) { - if (!option) { + if (option === 'undefined') { const res = await this._dialogService.openOverwriteFileDialog(file.file.name); if (res.cancel) { return; } if (res.rememberChoice) { - localStorage.setItem('overwriteFileOption', res.option); + await this._userPreferenceService.saveOverwriteFileOption(res.option); } currentOption = res.option; diff --git a/apps/red-ui/src/app/users/user-preference.service.ts b/apps/red-ui/src/app/users/user-preference.service.ts index 4b05ce78c..5fbf55969 100644 --- a/apps/red-ui/src/app/users/user-preference.service.ts +++ b/apps/red-ui/src/app/users/user-preference.service.ts @@ -2,6 +2,7 @@ import { Injectable } from '@angular/core'; import { IqserUserPreferenceService, ListingMode } from '@iqser/common-ui'; import { SystemDefaultOption, SystemDefaultType } from '../modules/account/utils/dialog-defaults'; import { RedactOrHintOption, RemoveRedactionOption } from '../modules/file-preview/utils/dialog-types'; +import { OverwriteFileOption } from '@red/domain'; export const PreferencesKeys = { dossierRecent: 'Dossier-Recent', @@ -22,6 +23,7 @@ export const PreferencesKeys = { removeRedactionDefaultExtraOption: 'Remove-Redaction-Default-Extra', removeRecommendationDefaultExtraOption: 'Remove-Recommendation-Default-Extra', removeHintDefaultExtraOption: 'Remove-Hint-Default-Extra', + rememberOverwriteFileOption: 'Remember-Overwrite-File', } as const; @Injectable({ @@ -179,4 +181,12 @@ export class UserPreferenceService extends IqserUserPreferenceService { async saveRemoveRecommendationDefaultExtraOption(defaultOption: boolean | string): Promise { await this.save(PreferencesKeys.removeRecommendationDefaultExtraOption, defaultOption.toString()); } + + getOverwriteFileOption(): OverwriteFileOption | 'undefined' { + return this._getAttribute(PreferencesKeys.rememberOverwriteFileOption, 'undefined') as OverwriteFileOption | 'undefined'; + } + + async saveOverwriteFileOption(preference: OverwriteFileOption | 'undefined') { + await this.save(PreferencesKeys.rememberOverwriteFileOption, preference); + } } diff --git a/apps/red-ui/src/assets/i18n/redact/de.json b/apps/red-ui/src/assets/i18n/redact/de.json index 0cb19f3d7..2702382fd 100644 --- a/apps/red-ui/src/assets/i18n/redact/de.json +++ b/apps/red-ui/src/assets/i18n/redact/de.json @@ -271,9 +271,6 @@ "watermarks": "Wasserzeichen" }, "analysis-disabled": "", - "annotation": { - "pending": "(Analyse steht aus)" - }, "annotation-actions": { "accept-recommendation": { "label": "Empfehlung annehmen" @@ -329,14 +326,14 @@ "error": "Rekategorisierung des Bilds fehlgeschlagen: {error}", "success": "Bild wurde einer neuen Kategorie zugeordnet." }, - "remove": { - "error": "Entfernen der Schwärzung fehlgeschlagen: {error}", - "success": "Schwärzung wurde entfernt" - }, "remove-hint": { "error": "Entfernen des Hinweises fehlgeschlagen: {error}", "success": "Hinweis wurde entfernt" }, + "remove": { + "error": "Entfernen der Schwärzung fehlgeschlagen: {error}", + "success": "Schwärzung wurde entfernt" + }, "undo": { "error": "Die Aktion konnte nicht rückgängig gemacht werden. Fehler: {error}", "success": "Rücksetzung erfolgreich" @@ -349,15 +346,15 @@ "remove-highlights": { "label": "Ausgewählte Markierungen entfernen" }, - "resize": { - "label": "Größe ändern" - }, "resize-accept": { "label": "Neue Größe speichern" }, "resize-cancel": { "label": "Größenänderung abbrechen" }, + "resize": { + "label": "Größe ändern" + }, "see-references": { "label": "Referenzen anzeigen" }, @@ -391,6 +388,9 @@ "skipped": "Ignorierte Schwärzung", "text-highlight": "Markierung" }, + "annotation": { + "pending": "(Analyse steht aus)" + }, "annotations": "Annotationen", "archived-dossiers-listing": { "no-data": { @@ -613,18 +613,14 @@ "warning": "Warnung: Wiederherstellung des Benutzers nicht möglich." }, "confirmation-dialog": { - "approve-file": { - "question": "Dieses Dokument enthält ungesehene Änderungen, die sich durch die Reanalyse ergeben haben.

Möchten Sie es trotzdem freigeben?", - "title": "Warnung!" - }, "approve-file-without-analysis": { "confirmationText": "Ohne Analyse freigeben", "denyText": "Abbrechen", "question": "Analyse zur Erkennung neuer Schwärzungen erforderlich.", "title": "Warnung!" }, - "approve-multiple-files": { - "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen, die im Zuge einer Reanalyse hinzugefügt wurden.

Möchen Sie die Dateien wirklich freigeben?", + "approve-file": { + "question": "Dieses Dokument enthält ungesehene Änderungen, die sich durch die Reanalyse ergeben haben.

Möchten Sie es trotzdem freigeben?", "title": "Warnung!" }, "approve-multiple-files-without-analysis": { @@ -633,6 +629,10 @@ "question": "Für mindestens eine Datei ist ein Analyselauf zur Erkennung neuer Schwärzungen erforderlich.", "title": "Warnung" }, + "approve-multiple-files": { + "question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen, die im Zuge einer Reanalyse hinzugefügt wurden.

Möchen Sie die Dateien wirklich freigeben?", + "title": "Warnung!" + }, "assign-file-to-me": { "question": { "multiple": "Dieses Dokument wird gerade von einer anderen Person geprüft.

Möchten Sie sich die Datei dennoch zuweisen?", @@ -1002,13 +1002,13 @@ "recent": "Neu ({hours} h)", "unassigned": "Keinem Bearbeiter zugewiesen" }, - "reanalyse": { - "action": "Datei analysieren" - }, "reanalyse-dossier": { "error": "Einplanung der Dateien für die Reanalyse fehlgeschlagen. Bitte versuchen Sie es noch einmal.", "success": "Dateien für Reanalyse vorgesehen." }, + "reanalyse": { + "action": "Datei analysieren" + }, "start-auto-analysis": "Auto-Analyse aktivieren", "stop-auto-analysis": "Auto-Analyse anhalten", "table-col-names": { @@ -1078,19 +1078,10 @@ "total-documents": "Dokumente", "total-people": "{count} {count, plural, one{Benutzer} other {Benutzer}}" }, - "dossier-templates": { - "label": "Dossier-Vorlagen", - "status": { - "active": "Aktiv", - "inactive": "Inaktiv", - "incomplete": "Unvollständig" - } - }, "dossier-templates-listing": { "action": { "clone": "Vorlage klonen", - "delete": "Vorlage löschen", - "edit": "Vorlage bearbeiten" + "delete": "Vorlage löschen" }, "add-new": "Neue Dossier-Vorlage", "bulk": { @@ -1121,6 +1112,14 @@ "title": "{length} {length, plural, one{Dossier-Vorlage} other{Dossier-Vorlagen}}" } }, + "dossier-templates": { + "label": "Dossier-Vorlagen", + "status": { + "active": "Aktiv", + "inactive": "Inaktiv", + "incomplete": "Unvollständig" + } + }, "dossier-watermark-selector": { "heading": "Wasserzeichen auf Dokumenten", "no-watermark": "Kein Wasserzeichen in der Dossier-Vorlage verfügbar:
Bitten Sie Ihren Admin, eines zu konfigurieren.", @@ -1316,15 +1315,6 @@ "title": "{length} {length, plural, one{Wörterbuch} other{Wörterbücher}}" } }, - "entity": { - "info": { - "actions": { - "revert": "Zurücksetzen", - "save": "Änderungen speichern" - }, - "heading": "Entität bearbeiten" - } - }, "entity-rules-screen": { "error": { "generic": "Fehler: Aktualisierung der Entitätsregeln fehlgeschlagen." @@ -1339,19 +1329,28 @@ "warning-text": "Warnung: experimentelle Funktion!", "warnings-found": "{warnings, plural, one{A warning} other{{warnings} warnings}} in Regeln gefunden" }, + "entity": { + "info": { + "actions": { + "revert": "Zurücksetzen", + "save": "Änderungen speichern" + }, + "heading": "Entität bearbeiten" + } + }, "error": { "deleted-entity": { "dossier": { "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": { @@ -1369,12 +1368,6 @@ }, "exact-date": "{day}. {month} {year} um {hour}:{minute} Uhr", "file": "Datei", - "file-attribute": { - "update": { - "error": "Aktualisierung des Werts für das Datei-Attribut fehlgeschlagen. Bitte versuchen Sie es noch einmal.", - "success": "Der Wert für das Dateiattribut wurde erfolgreich aktualisiert." - } - }, "file-attribute-encoding-types": { "ascii": "ASCII", "iso": "ISO-8859-1", @@ -1385,6 +1378,12 @@ "number": "Nummer", "text": "Freier Text" }, + "file-attribute": { + "update": { + "error": "Aktualisierung des Werts für das Datei-Attribut fehlgeschlagen. Bitte versuchen Sie es noch einmal.", + "success": "Der Wert für das Dateiattribut wurde erfolgreich aktualisiert." + } + }, "file-attributes-configurations": { "cancel": "Abbrechen", "form": { @@ -1602,15 +1601,6 @@ "csv": "Die Datei-Attribute wurden erfolgreich aus der hochgeladenen CSV-Datei importiert." } }, - "filter": { - "analysis": "Analyse erforderlich", - "comment": "Kommentare", - "hint": "Nur Hinweise", - "image": "Bilder", - "none": "Keine Annotationen", - "redaction": "Schwärzungen", - "updated": "Aktualisiert" - }, "filter-menu": { "filter-options": "Filteroptionen", "filter-types": "Filter", @@ -1620,6 +1610,15 @@ "unseen-pages": "Nur Annotationen auf ungesehenen Seiten", "with-comments": "Nur Annotationen mit Kommentaren" }, + "filter": { + "analysis": "Analyse erforderlich", + "comment": "Kommentare", + "hint": "Nur Hinweise", + "image": "Bilder", + "none": "Keine Annotationen", + "redaction": "Schwärzungen", + "updated": "Aktualisiert" + }, "filters": { "assigned-people": "Bearbeiter", "documents-status": "Dokumentenstatus", @@ -1898,13 +1897,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": "Benachrichtigungen", - "deleted-dossier": "Gelöschtes Dossier", - "label": "Benachrichtigungen", - "mark-all-as-read": "Alle als gelesen markieren", - "mark-as": "Als {type, select, read{gelesen} unread{ungelesen} other{}} markieren" - }, "notifications-screen": { "category": { "email-notifications": "E-Mail-Benachrichtigungen", @@ -1918,6 +1910,7 @@ "dossier": "Benachrichtigungen zu Dossiers", "other": "Andere Benachrichtigungen" }, + "options-title": "Wählen Sie aus, bei welchen Aktivitäten Sie benachrichtigt werden möchten", "options": { "ASSIGN_APPROVER": "Wenn ich einem Dokument als Genehmiger zugewiesen werde", "ASSIGN_REVIEWER": "Wenn ich einem Dokument als Prüfer zugewiesen werde", @@ -1935,7 +1928,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, bei welchen Aktivitäten Sie benachrichtigt werden möchten", "schedule": { "daily": "Tägliche Zusammenfassung", "instant": "Sofort", @@ -1943,6 +1935,13 @@ }, "title": "Benachrichtigungseinstellungen" }, + "notifications": { + "button-text": "Benachrichtigungen", + "deleted-dossier": "Gelöschtes Dossier", + "label": "Benachrichtigungen", + "mark-all-as-read": "Alle als gelesen markieren", + "mark-as": "Als {type, select, read{gelesen} unread{ungelesen} other{}} markieren" + }, "ocr": { "confirmation-dialog": { "cancel": "Abbrechen", @@ -2026,6 +2025,7 @@ "help-mode-dialog": "Dialog zur Aktivierung des Hilfemodus", "load-all-annotations-warning": "Warnung bei gleichzeitigem Laden aller Annotationen in der Miniaturansicht", "open-structured-view-by-default": "Strukturierte Komponentenansicht standardmäßig anzeigen", + "overwrite-file-option": "", "table-extraction-type": "Art der Tabellenextraktion" }, "label": "Präferenzen", @@ -2034,16 +2034,16 @@ "warnings-label": "Dialoge und Meldungen", "warnings-subtitle": "„Nicht mehr anzeigen“-Optionen" }, - "processing": { - "basic": "Verarbeitung läuft", - "ocr": "OCR" - }, "processing-status": { "ocr": "OCR", "pending": "Ausstehend", "processed": "verarbeitet", "processing": "Verarbeitung läuft" }, + "processing": { + "basic": "Verarbeitung läuft", + "ocr": "OCR" + }, "readonly": "Lesemodus", "readonly-archived": "Lesemodus (archiviert)", "redact-text": { @@ -2279,12 +2279,6 @@ "red-user-admin": "Benutzeradmin", "regular": "regulärer Benutzer" }, - "search": { - "active-dossiers": "Dokumente in aktiven Dossiers", - "all-dossiers": "Alle Dokumente", - "placeholder": "Dokumente durchsuchen...", - "this-dossier": "In diesem Dossier" - }, "search-screen": { "cols": { "assignee": "Bearbeiter", @@ -2308,6 +2302,12 @@ "no-match": "Suchbegriff wurde in keinem der Dokumente gefunden.", "table-header": "{length} {length, plural, one{Suchergebnis} other{Suchergebnisse}}" }, + "search": { + "active-dossiers": "Dokumente in aktiven Dossiers", + "all-dossiers": "Alle Dokumente", + "placeholder": "Dokumente durchsuchen...", + "this-dossier": "In diesem Dossier" + }, "seconds": "Sekunden", "size": "Größe", "smtp-auth-config": { @@ -2563,4 +2563,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 b91aa7e12..1860da3cc 100644 --- a/apps/red-ui/src/assets/i18n/redact/en.json +++ b/apps/red-ui/src/assets/i18n/redact/en.json @@ -1081,8 +1081,7 @@ "dossier-templates-listing": { "action": { "clone": "Clone template", - "delete": "Delete template", - "edit": "Edit template" + "delete": "Delete template" }, "add-new": "New dossier template", "bulk": { @@ -2026,6 +2025,7 @@ "help-mode-dialog": "Help mode activation dialog", "load-all-annotations-warning": "Warning regarding simultaneous loading of all annotations in thumbnails", "open-structured-view-by-default": "Display structured component management modal by default", + "overwrite-file-option": "Preferred action when re-uploading of an already existing file", "table-extraction-type": "Table extraction type" }, "label": "Preferences", @@ -2563,4 +2563,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 a2e32ced8..7be5da4e8 100644 --- a/apps/red-ui/src/assets/i18n/scm/de.json +++ b/apps/red-ui/src/assets/i18n/scm/de.json @@ -271,9 +271,6 @@ "watermarks": "Watermarks" }, "analysis-disabled": "Analysis disabled", - "annotation": { - "pending": "(Pending analysis)" - }, "annotation-actions": { "accept-recommendation": { "label": "Empfehlung annehmen" @@ -329,14 +326,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!" + }, "undo": { "error": "Die Aktion konnte nicht rückgängig gemacht werden. Fehler: {error}", "success": "erfolgreich Rückgängig gemacht" @@ -349,15 +346,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" }, @@ -391,6 +388,9 @@ "skipped": "Übersprungen", "text-highlight": "Earmark" }, + "annotation": { + "pending": "(Pending analysis)" + }, "annotations": "Annotations", "archived-dossiers-listing": { "no-data": { @@ -613,18 +613,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 components.", "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": { @@ -633,6 +629,10 @@ "question": "Analysis required to detect new components 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?", @@ -1002,13 +1002,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": { @@ -1078,19 +1078,10 @@ "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", - "delete": "Dossier-Vorlage", - "edit": "Vorlage bearbeiten" + "delete": "Dossier-Vorlage" }, "add-new": "Neue Dossier-Vorlage", "bulk": { @@ -1121,6 +1112,14 @@ "title": "{length} dossier {length, plural, one{template} other{templates}}" } }, + "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.", @@ -1316,15 +1315,6 @@ "title": "{length} {length, plural, one{entity} other{entities}}" } }, - "entity": { - "info": { - "actions": { - "revert": "Revert", - "save": "Save changes" - }, - "heading": "Edit entity" - } - }, "entity-rules-screen": { "error": { "generic": "Something went wrong... Entity rules update failed!" @@ -1339,19 +1329,28 @@ "warning-text": "Warning: experimental feature!", "warnings-found": "{warnings, plural, one{A warning} other{{warnings} warnings}} found in rules" }, + "entity": { + "info": { + "actions": { + "revert": "Revert", + "save": "Save changes" + }, + "heading": "Edit entity" + } + }, "error": { "deleted-entity": { "dossier": { "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": { @@ -1369,12 +1368,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", @@ -1385,6 +1378,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": { @@ -1602,15 +1601,6 @@ "csv": "File attributes were imported successfully from uploaded CSV file." } }, - "filter": { - "analysis": "Analyse erforderlich", - "comment": "Kommentare", - "hint": "Nut Hinweise", - "image": "Bilder", - "none": "Keine Anmerkungen", - "redaction": "Geschwärzt", - "updated": "Aktualisiert" - }, "filter-menu": { "filter-options": "Filteroptionen", "filter-types": "Filter", @@ -1620,6 +1610,15 @@ "unseen-pages": "Nur Anmerkungen auf unsichtbaren Seiten", "with-comments": "Nur Anmerkungen mit Kommentaren" }, + "filter": { + "analysis": "Analyse erforderlich", + "comment": "Kommentare", + "hint": "Nut Hinweise", + "image": "Bilder", + "none": "Keine Anmerkungen", + "redaction": "Geschwärzt", + "updated": "Aktualisiert" + }, "filters": { "assigned-people": "Beauftragt", "documents-status": "Documents state", @@ -1898,13 +1897,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", @@ -1918,6 +1910,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", @@ -1935,7 +1928,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", @@ -1943,6 +1935,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", @@ -2026,6 +2025,7 @@ "help-mode-dialog": "Help Mode Dialog", "load-all-annotations-warning": "Warning regarding loading all annotations at once in file preview", "open-structured-view-by-default": "Display Component View by default when opening a document", + "overwrite-file-option": "", "table-extraction-type": "Table extraction type" }, "label": "Preferences", @@ -2034,16 +2034,16 @@ "warnings-label": "Prompts and dialogs", "warnings-subtitle": "Do not show again options" }, - "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": { @@ -2279,12 +2279,6 @@ "red-user-admin": "Benutzer-Admin", "regular": "Regulär" }, - "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", @@ -2308,6 +2302,12 @@ "no-match": "Keine Dokumente entsprechen Ihren aktuellen Filtern.", "table-header": "{length} search {length, plural, one{result} other{results}}" }, + "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": { @@ -2563,4 +2563,4 @@ } }, "yesterday": "Gestern" -} \ No newline at end of file +} diff --git a/apps/red-ui/src/assets/i18n/scm/en.json b/apps/red-ui/src/assets/i18n/scm/en.json index 7cc2c4321..944a3a7cc 100644 --- a/apps/red-ui/src/assets/i18n/scm/en.json +++ b/apps/red-ui/src/assets/i18n/scm/en.json @@ -1081,8 +1081,7 @@ "dossier-templates-listing": { "action": { "clone": "Clone template", - "delete": "Delete template", - "edit": "Edit template" + "delete": "Delete template" }, "add-new": "New dossier template", "bulk": { @@ -2026,6 +2025,7 @@ "help-mode-dialog": "Help Mode Dialog", "load-all-annotations-warning": "Warning regarding loading all annotations at once in file preview", "open-structured-view-by-default": "Display Component View by default when opening a document", + "overwrite-file-option": "Preferred action when re-uploading of an already existing file", "table-extraction-type": "Table extraction type" }, "label": "Preferences", @@ -2563,4 +2563,4 @@ } }, "yesterday": "Yesterday" -} \ No newline at end of file +}