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 1e6fc62cf..b6cfb0efd 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
@@ -31,6 +31,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 0b2564195..36b1edc02 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 {
@@ -27,6 +27,7 @@ interface PreferencesForm {
// warnings preferences
loadAllAnnotationsWarning: boolean;
helpModeDialog: boolean;
+ overwriteFileOption: boolean;
[k: string]: any;
}
@@ -57,6 +58,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;
@@ -65,76 +72,87 @@ 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()],
- tableExtractionType: [this.userPreferenceService.getTableExtractionType()],
+ autoExpandFiltersOnActions: [this.#userPreferenceService.getAutoExpandFiltersOnActions()],
+ 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.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(),
- tableExtractionType: this.userPreferenceService.getTableExtractionType(),
- loadAllAnnotationsWarning: this.userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning),
- helpModeDialog: this.userPreferenceService.getBool(KEYS.helpModeDialog),
+ autoExpandFiltersOnActions: this.#userPreferenceService.getAutoExpandFiltersOnActions(),
+ 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 f2fd00d34..dfb18d184 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',
@@ -21,6 +22,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({
@@ -169,4 +171,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 4a82e785f..24ebd8c54 100644
--- a/apps/red-ui/src/assets/i18n/redact/de.json
+++ b/apps/red-ui/src/assets/i18n/redact/de.json
@@ -273,9 +273,6 @@
"watermarks": "Wasserzeichen"
},
"analysis-disabled": "",
- "annotation": {
- "pending": "(Analyse steht aus)"
- },
"annotation-actions": {
"accept-recommendation": {
"label": "Empfehlung annehmen"
@@ -331,14 +328,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"
@@ -351,15 +348,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"
},
@@ -393,6 +390,9 @@
"skipped": "Ignorierte Schwärzung",
"text-highlight": "Markierung"
},
+ "annotation": {
+ "pending": "(Analyse steht aus)"
+ },
"annotations": "Annotationen",
"archived-dossiers-listing": {
"no-data": {
@@ -587,8 +587,7 @@
"success": {
"generic": ""
},
- "title": "",
- "warning-text": ""
+ "title": ""
},
"configurations": "Konfiguration",
"confirm-archive-dossier": {
@@ -637,18 +636,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": {
@@ -657,6 +652,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?",
@@ -1026,13 +1025,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"
+ },
"report-download": "",
"start-auto-analysis": "Auto-Analyse aktivieren",
"stop-auto-analysis": "Auto-Analyse anhalten",
@@ -1066,8 +1065,7 @@
"dossier-states": "{count, plural, one{Dossier-Status} other{Dossier-Status}}"
},
"error": {
- "conflict": "Es gibt bereits einen Dossier-Status mit diesem Namen.",
- "generic": "Speichern des Dossier-Status fehlgeschlagen."
+ "conflict": "Es gibt bereits einen Dossier-Status mit diesem Namen."
},
"no-data": {
"title": "Es wurde noch kein Dossier-Status angelegt."
@@ -1103,14 +1101,6 @@
"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",
@@ -1145,6 +1135,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.",
@@ -1340,15 +1338,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."
@@ -1360,22 +1349,30 @@
"generic": "Die Entitätsregeln wurden aktualisiert."
},
"title": "Entitätsregeln-Editor",
- "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": {
@@ -1393,12 +1390,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",
@@ -1409,6 +1400,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": {
@@ -1626,15 +1623,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",
@@ -1644,6 +1632,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",
@@ -1922,13 +1919,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",
@@ -1942,6 +1932,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",
@@ -1959,7 +1950,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",
@@ -1967,6 +1957,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",
@@ -2049,7 +2046,7 @@
"auto-expand-filters-on-action": "Filter ausgehend von meinen Aktionen automatisch anpassen",
"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",
@@ -2058,16 +2055,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": {
@@ -2303,12 +2300,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",
@@ -2332,6 +2323,12 @@
"no-match": "Der 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": {
@@ -2587,4 +2584,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 a30e74769..07433cfe7 100644
--- a/apps/red-ui/src/assets/i18n/redact/en.json
+++ b/apps/red-ui/src/assets/i18n/redact/en.json
@@ -2046,6 +2046,7 @@
"auto-expand-filters-on-action": "Auto-expand filters on my actions",
"help-mode-dialog": "Help mode activation dialog",
"load-all-annotations-warning": "Warning regarding simultaneous loading of all annotations in thumbnails",
+ "overwrite-file-option": "Preferred action when re-uploading of an already existing file",
"table-extraction-type": "Table extraction type"
},
"label": "Preferences",
@@ -2583,4 +2584,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 4f2ce4b2e..593b08644 100644
--- a/apps/red-ui/src/assets/i18n/scm/de.json
+++ b/apps/red-ui/src/assets/i18n/scm/de.json
@@ -273,9 +273,6 @@
"watermarks": "Watermarks"
},
"analysis-disabled": "Analysis disabled",
- "annotation": {
- "pending": "(Pending analysis)"
- },
"annotation-actions": {
"accept-recommendation": {
"label": "Empfehlung annehmen"
@@ -331,14 +328,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"
@@ -351,15 +348,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"
},
@@ -393,6 +390,9 @@
"skipped": "Übersprungen",
"text-highlight": "Earmark"
},
+ "annotation": {
+ "pending": "(Pending analysis)"
+ },
"annotations": "Annotations",
"archived-dossiers-listing": {
"no-data": {
@@ -587,8 +587,7 @@
"success": {
"generic": "Component rules updated!"
},
- "title": "Component rule editor",
- "warning-text": "Warning: experimental feature!"
+ "title": "Component rule editor"
},
"configurations": "Einstellungen",
"confirm-archive-dossier": {
@@ -637,18 +636,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": {
@@ -657,6 +652,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?",
@@ -1026,13 +1025,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"
+ },
"report-download": "Report download",
"start-auto-analysis": "Enable auto-analysis",
"stop-auto-analysis": "Stop auto-analysis",
@@ -1066,8 +1065,7 @@
"dossier-states": "{count, plural, one{Dossier state} other{Dossier states}}"
},
"error": {
- "conflict": "Dossier state with this name already exists!",
- "generic": "Failed to save dossier state!"
+ "conflict": "Dossier state with this name already exists!"
},
"no-data": {
"title": "There are no dossier states."
@@ -1103,14 +1101,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",
@@ -1145,6 +1135,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.",
@@ -1340,15 +1338,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!"
@@ -1360,22 +1349,30 @@
"generic": "Entity rules updated!"
},
"title": "Entity rule editor",
- "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": {
@@ -1393,12 +1390,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",
@@ -1409,6 +1400,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": {
@@ -1626,15 +1623,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",
@@ -1644,6 +1632,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",
@@ -1922,13 +1919,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",
@@ -1942,6 +1932,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",
@@ -1959,7 +1950,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",
@@ -1967,6 +1957,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",
@@ -2049,7 +2046,7 @@
"auto-expand-filters-on-action": "Auto expand filters on my actions",
"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",
@@ -2058,16 +2055,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": {
@@ -2303,12 +2300,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",
@@ -2332,6 +2323,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": {
@@ -2587,4 +2584,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 0aac764f8..340aea20c 100644
--- a/apps/red-ui/src/assets/i18n/scm/en.json
+++ b/apps/red-ui/src/assets/i18n/scm/en.json
@@ -2046,6 +2046,7 @@
"auto-expand-filters-on-action": "Auto expand filters on my actions",
"help-mode-dialog": "Help Mode Dialog",
"load-all-annotations-warning": "Warning regarding loading all annotations at once in file preview",
+ "overwrite-file-option": "Preferred action when re-uploading of an already existing file",
"table-extraction-type": "Table extraction type"
},
"label": "Preferences",
@@ -2583,4 +2584,4 @@
}
},
"yesterday": "Yesterday"
-}
\ No newline at end of file
+}