Merge branch 'master' into VM/DM-536
This commit is contained in:
commit
ac1c297eaa
@ -39,3 +39,9 @@ export const canResizeAnnotation = (annotation: AnnotationWrapper, canAddRedacti
|
||||
!annotation.isSkipped &&
|
||||
!annotation.pending &&
|
||||
(annotation.isRedacted || annotation.isImage || annotation.isDictBasedHint || annotation.isRecommendation);
|
||||
|
||||
export const canEditAnnotation = (annotation: AnnotationWrapper) => (annotation.isRedacted || annotation.isSkipped) && !annotation.isImage;
|
||||
|
||||
export const canEditHint = (annotation: AnnotationWrapper) => annotation.HINT || annotation.isIgnoredHint;
|
||||
|
||||
export const canEditImage = (annotation: AnnotationWrapper) => annotation.isImage;
|
||||
|
||||
@ -2,10 +2,12 @@ import { IqserPermissionsService } from '@iqser/common-ui';
|
||||
import { Dictionary } from '@red/domain';
|
||||
import { Roles } from '@users/roles';
|
||||
import { isArray } from 'lodash-es';
|
||||
import { IMAGE_CATEGORIES } from '../../modules/file-preview/utils/constants';
|
||||
import {
|
||||
canAcceptRecommendation,
|
||||
canChangeLegalBasis,
|
||||
canEditAnnotation,
|
||||
canEditHint,
|
||||
canEditImage,
|
||||
canForceHint,
|
||||
canForceRedaction,
|
||||
canMarkAsFalsePositive,
|
||||
@ -61,11 +63,9 @@ export class AnnotationPermissions {
|
||||
permissions.canChangeLegalBasis = canChangeLegalBasis(annotation, canAddRedaction);
|
||||
permissions.canRecategorizeAnnotation = canRecategorizeAnnotation(annotation, canAddRedaction);
|
||||
permissions.canResizeAnnotation = canResizeAnnotation(annotation, canAddRedaction);
|
||||
|
||||
permissions.canEditAnnotations = (annotation.isSkipped || annotation.isRedacted) && !annotation.isImage;
|
||||
permissions.canEditHints = annotation.isIgnoredHint || annotation.isDictBasedHint || annotation.isHint;
|
||||
permissions.canEditImages = [...IMAGE_CATEGORIES, 'ocr'].includes(annotation.type);
|
||||
|
||||
permissions.canEditAnnotations = canEditAnnotation(annotation);
|
||||
permissions.canEditHints = canEditHint(annotation);
|
||||
permissions.canEditImages = canEditImage(annotation);
|
||||
summedPermissions._merge(permissions);
|
||||
}
|
||||
return summedPermissions;
|
||||
|
||||
@ -43,6 +43,7 @@ export class AnnotationWrapper implements IListable {
|
||||
AREA = false;
|
||||
HINT = false;
|
||||
IMAGE = false;
|
||||
IMAGE_HINT = false;
|
||||
section?: string;
|
||||
reference: string[] = [];
|
||||
imported = false;
|
||||
@ -91,7 +92,7 @@ export class AnnotationWrapper implements IListable {
|
||||
}
|
||||
|
||||
get isImage() {
|
||||
return this.type?.toLowerCase() === 'image' || this.IMAGE;
|
||||
return this.type?.toLowerCase() === 'image' || this.IMAGE || this.IMAGE_HINT;
|
||||
}
|
||||
|
||||
get isOCR() {
|
||||
@ -229,6 +230,7 @@ export class AnnotationWrapper implements IListable {
|
||||
annotationWrapper.HINT = logEntry.entryType === EntityTypes.HINT;
|
||||
annotationWrapper.IMAGE = logEntry.entryType === EntityTypes.IMAGE;
|
||||
annotationWrapper.AREA = logEntry.entryType === EntityTypes.AREA;
|
||||
annotationWrapper.IMAGE_HINT = logEntry.entryType === EntityTypes.IMAGE_HINT;
|
||||
|
||||
annotationWrapper.isIgnored = logEntry.state === EntryStates.IGNORED;
|
||||
|
||||
|
||||
@ -57,6 +57,7 @@ import { DossierTemplateActionsComponent } from './shared/components/dossier-tem
|
||||
import { IqserUsersModule } from '@iqser/common-ui/lib/users';
|
||||
import { TenantPipe } from '@iqser/common-ui/lib/tenants';
|
||||
import { SelectComponent } from '@shared/components/select/select.component';
|
||||
import { PaginationComponent } from '@common-ui/pagination/pagination.component';
|
||||
|
||||
const dialogs = [
|
||||
AddEditCloneDossierTemplateDialogComponent,
|
||||
@ -125,6 +126,7 @@ const components = [
|
||||
IqserDenyDirective,
|
||||
TenantPipe,
|
||||
SelectComponent,
|
||||
PaginationComponent,
|
||||
],
|
||||
})
|
||||
export class AdminModule {}
|
||||
|
||||
@ -16,15 +16,15 @@
|
||||
|
||||
<ng-template #headerTemplate>
|
||||
<div class="table-header-actions">
|
||||
<redaction-pagination
|
||||
<iqser-pagination
|
||||
(pageChanged)="pageChanged($event)"
|
||||
[settings]="{ currentPage: logs?.page || 0, totalPages: totalPages }"
|
||||
class="mr-0"
|
||||
></redaction-pagination>
|
||||
></iqser-pagination>
|
||||
|
||||
<div class="separator">·</div>
|
||||
|
||||
<form [formGroup]="form" [attr.help-mode-key]="'audit_filter_audit_entries'">
|
||||
<form [attr.help-mode-key]="'audit_filter_audit_entries'" [formGroup]="form">
|
||||
<div class="iqser-input-group w-150 mr-20">
|
||||
<mat-form-field>
|
||||
<mat-select (selectionChange)="filterChange()" formControlName="category" id="select-category">
|
||||
@ -116,8 +116,8 @@
|
||||
<div class="action-buttons">
|
||||
<iqser-circle-button
|
||||
(action)="openAuditDetails(log)"
|
||||
[attr.help-mode-key]="'audit_detailed_audit_info'"
|
||||
*ngIf="log.hasDetails"
|
||||
[attr.help-mode-key]="'audit_detailed_audit_info'"
|
||||
[tooltip]="'audit-screen.action.info' | translate"
|
||||
icon="red:info"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -6,7 +6,6 @@ import { ActiveDossiersService } from '@services/dossiers/active-dossiers.servic
|
||||
import { DictionaryService } from '@services/entity-services/dictionary.service';
|
||||
import { JustificationsService } from '@services/entity-services/justifications.service';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { IMAGE_CATEGORIES } from '../../utils/constants';
|
||||
import { getEditRedactionOptions, RedactOrHintOption } from '../../utils/dialog-options';
|
||||
import { EditRedactionData, EditRedactResult } from '../../utils/dialog-types';
|
||||
import { LegalBasisOption } from '../manual-redaction-dialog/manual-annotation-dialog.component';
|
||||
@ -41,12 +40,13 @@ export class EditRedactionDialogComponent
|
||||
) {
|
||||
super();
|
||||
const annotations = this.data.annotations;
|
||||
this.isImage = annotations.reduce((acc, next) => acc && [...IMAGE_CATEGORIES, 'ocr'].includes(next.type), true);
|
||||
this.isImage = annotations.reduce((acc, next) => acc && next.isImage, true);
|
||||
this.redactedTexts = !this.isImage ? annotations.map(annotation => annotation.value) : null;
|
||||
this.isModifyDictionary = annotations.every(annotation => annotation.isModifyDictionary);
|
||||
this.isManualRedaction = annotations.every(annotation => annotation.type === SuperTypes.ManualRedaction);
|
||||
this.isHint = annotations.every(annotation => annotation.isHint);
|
||||
this.showExtras = !(this.isImage || this.isHint);
|
||||
this.isHint = annotations.every(annotation => annotation.HINT);
|
||||
const isRedacted = annotations.every(annotation => annotation.isRedacted);
|
||||
this.showExtras = !((this.isImage && !isRedacted) || this.isHint);
|
||||
}
|
||||
|
||||
get displayedDictionaryLabel() {
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
<div
|
||||
id="pagination-prev-page-btn"
|
||||
(click)="selectPage(currentPage - 1)"
|
||||
[class.disabled]="currentPage < 1"
|
||||
class="page"
|
||||
translate="pagination.previous"
|
||||
></div>
|
||||
<span>|</span>
|
||||
<div
|
||||
(click)="selectPage(page)"
|
||||
*ngFor="let page of displayedPages"
|
||||
[class.active]="page === currentPage"
|
||||
[class.dots]="page === '...'"
|
||||
class="page"
|
||||
[id]="isNumber(page) ? 'pagination-select-page-' + page + '-btn' : 'pagination-pages-between'"
|
||||
>
|
||||
{{ displayValue(page) }}
|
||||
</div>
|
||||
<span>|</span>
|
||||
<div
|
||||
id="pagination-next-page-btn"
|
||||
(click)="selectPage(currentPage + 1)"
|
||||
[class.disabled]="currentPage === totalPages - 1"
|
||||
class="page"
|
||||
translate="pagination.next"
|
||||
></div>
|
||||
@ -1,27 +0,0 @@
|
||||
:host {
|
||||
display: flex;
|
||||
|
||||
> *:not(:last-child) {
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
.disabled,
|
||||
span {
|
||||
opacity: 0.5;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.page {
|
||||
cursor: pointer;
|
||||
|
||||
&.disabled,
|
||||
&.dots {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
&.active {
|
||||
color: var(--iqser-primary);
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,62 +0,0 @@
|
||||
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-pagination',
|
||||
templateUrl: './pagination.component.html',
|
||||
styleUrls: ['./pagination.component.scss'],
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
})
|
||||
export class PaginationComponent {
|
||||
displayedPages: (number | string)[];
|
||||
@Output() pageChanged = new EventEmitter<number>();
|
||||
displayed;
|
||||
|
||||
private _currentPage: number;
|
||||
|
||||
get currentPage() {
|
||||
return this._currentPage;
|
||||
}
|
||||
|
||||
private _totalPages: number;
|
||||
|
||||
get totalPages() {
|
||||
return this._totalPages;
|
||||
}
|
||||
|
||||
@Input()
|
||||
set settings(value: { currentPage: number; totalPages: number }) {
|
||||
this._currentPage = value.currentPage;
|
||||
this._totalPages = value.totalPages;
|
||||
this._updatePagesArray();
|
||||
}
|
||||
|
||||
selectPage(page: number | string) {
|
||||
if (page !== '...') {
|
||||
this.pageChanged.emit(page as number);
|
||||
}
|
||||
}
|
||||
|
||||
displayValue(page: number | string) {
|
||||
return page === '...' ? page : (page as number) + 1;
|
||||
}
|
||||
|
||||
isNumber(page) {
|
||||
return Number.isInteger(page);
|
||||
}
|
||||
|
||||
private _updatePagesArray() {
|
||||
this.displayedPages = [0];
|
||||
if (Math.max(1, this.currentPage - 1) > 1) {
|
||||
this.displayedPages.push('...');
|
||||
}
|
||||
for (let page = Math.max(1, this.currentPage - 1); page <= Math.min(this.currentPage + 1, this.totalPages - 1); ++page) {
|
||||
this.displayedPages.push(page);
|
||||
}
|
||||
if (Math.min(this.currentPage + 1, this.totalPages - 1) !== this.totalPages - 1) {
|
||||
if (this.currentPage + 1 < this.totalPages - 2) {
|
||||
this.displayedPages.push('...');
|
||||
}
|
||||
this.displayedPages.push(this.totalPages - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,6 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { ScrollingModule } from '@angular/cdk/scrolling';
|
||||
import { PaginationComponent } from './components/pagination/pagination.component';
|
||||
import { FileDownloadBtnComponent } from './components/buttons/file-download-btn/file-download-btn.component';
|
||||
import { MatConfigModule } from '../mat-config/mat-config.module';
|
||||
import { IconsModule } from '../icons/icons.module';
|
||||
@ -54,7 +53,6 @@ import { MatDividerModule } from '@angular/material/divider';
|
||||
const buttons = [FileDownloadBtnComponent];
|
||||
|
||||
const components = [
|
||||
PaginationComponent,
|
||||
AnnotationIconComponent,
|
||||
DictionaryManagerComponent,
|
||||
AssignUserDropdownComponent,
|
||||
|
||||
@ -132,7 +132,7 @@
|
||||
"dossier-dictionary-only": "Dossier dictionary only",
|
||||
"has-dictionary": "Has dictionary",
|
||||
"hint": "Hint",
|
||||
"manage-entries-in-dictionary-editor-only": "Manage entries in Dictionary editor only",
|
||||
"manage-entries-in-dictionary-editor-only": "Available in add/remove dialogs",
|
||||
"name": "Display Name",
|
||||
"name-placeholder": "Enter Name",
|
||||
"rank": "Rank",
|
||||
@ -215,7 +215,7 @@
|
||||
"options": {
|
||||
"in-dossier": {
|
||||
"description": "Add hint in every document in {dossierName}.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Add hint in dossier"
|
||||
},
|
||||
"only-here": {
|
||||
@ -254,6 +254,9 @@
|
||||
"user-management": "User Management",
|
||||
"watermarks": "Watermarks"
|
||||
},
|
||||
"annotation": {
|
||||
"pending": "(Pending Analysis)"
|
||||
},
|
||||
"annotation-actions": {
|
||||
"accept-recommendation": {
|
||||
"label": "Empfehlung annehmen"
|
||||
@ -312,14 +315,14 @@
|
||||
"error": "Rekategorisierung des Bildes gescheitert: {error}",
|
||||
"success": "Bild wurde einer neuen Kategorie zugeordnet."
|
||||
},
|
||||
"remove-hint": {
|
||||
"error": "Failed to remove hint: {error}",
|
||||
"success": "Hint removed!"
|
||||
},
|
||||
"remove": {
|
||||
"error": "Fehler beim Entfernen der Schwärzung: {error}",
|
||||
"success": "Schwärzung entfernt!"
|
||||
},
|
||||
"remove-hint": {
|
||||
"error": "Failed to remove hint: {error}",
|
||||
"success": "Hint removed!"
|
||||
},
|
||||
"undo": {
|
||||
"error": "Die Aktion konnte nicht rückgängig gemacht werden. Fehler: {error}",
|
||||
"success": "erfolgreich Rückgängig gemacht"
|
||||
@ -332,15 +335,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"
|
||||
},
|
||||
@ -371,9 +374,6 @@
|
||||
"skipped": "Übersprungen",
|
||||
"text-highlight": "Earmark"
|
||||
},
|
||||
"annotation": {
|
||||
"pending": "(Pending Analysis)"
|
||||
},
|
||||
"archived-dossiers-listing": {
|
||||
"no-data": {
|
||||
"title": "No archived dossiers."
|
||||
@ -578,14 +578,18 @@
|
||||
"warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!"
|
||||
},
|
||||
"confirmation-dialog": {
|
||||
"approve-file": {
|
||||
"question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?",
|
||||
"title": "Warnung!"
|
||||
},
|
||||
"approve-file-without-analysis": {
|
||||
"confirmationText": "Approve without analysis",
|
||||
"denyText": "Cancel",
|
||||
"question": "Analysis required to detect new redactions.",
|
||||
"title": "Warning!"
|
||||
},
|
||||
"approve-file": {
|
||||
"question": "Dieses Dokument enthält ungesehene Änderungen. Möchten Sie es trotzdem genehmigen?",
|
||||
"approve-multiple-files": {
|
||||
"question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?",
|
||||
"title": "Warnung!"
|
||||
},
|
||||
"approve-multiple-files-without-analysis": {
|
||||
@ -594,10 +598,6 @@
|
||||
"question": "Analysis required to detect new redactions for at least one file.",
|
||||
"title": "Warning"
|
||||
},
|
||||
"approve-multiple-files": {
|
||||
"question": "Mindestens eine der ausgewählten Dateien enthält ungesehene Änderungen. Möchten Sie sie trotzdem genehmigen?",
|
||||
"title": "Warnung!"
|
||||
},
|
||||
"assign-file-to-me": {
|
||||
"question": {
|
||||
"multiple": "Dieses Dokument wird gerade von einer anderen Person geprüft. Möchten Sie Reviewer werden und sich selbst dem Dokument zuweisen?",
|
||||
@ -943,13 +943,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": {
|
||||
@ -1018,6 +1018,14 @@
|
||||
"total-documents": "Anzahl der Dokumente",
|
||||
"total-people": "<strong>{count}</strong> {count, plural, one{User} other {Users}}"
|
||||
},
|
||||
"dossier-templates": {
|
||||
"label": "Dossier-Vorlagen",
|
||||
"status": {
|
||||
"active": "Active",
|
||||
"inactive": "Inactive",
|
||||
"incomplete": "Incomplete"
|
||||
}
|
||||
},
|
||||
"dossier-templates-listing": {
|
||||
"action": {
|
||||
"clone": "Clone Template",
|
||||
@ -1053,14 +1061,6 @@
|
||||
"title": "{length} {length, plural, one{Dossier-Vorlage} other{Dossier-Vorlagen}}"
|
||||
}
|
||||
},
|
||||
"dossier-templates": {
|
||||
"label": "Dossier-Vorlagen",
|
||||
"status": {
|
||||
"active": "Active",
|
||||
"inactive": "Inactive",
|
||||
"incomplete": "Incomplete"
|
||||
}
|
||||
},
|
||||
"dossier-watermark-selector": {
|
||||
"heading": "Watermarks on documents",
|
||||
"no-watermark": "There is no watermark defined for the dossier template.<br>Contact your app admin to define one.",
|
||||
@ -1200,7 +1200,7 @@
|
||||
"options": {
|
||||
"in-dossier": {
|
||||
"description": "Edit redaction in every document in {dossierName}.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Change type in dossier"
|
||||
},
|
||||
"only-here": {
|
||||
@ -1244,6 +1244,15 @@
|
||||
"title": "{length} {length, plural, one{Wörterbuch} other{Wörterbücher}}"
|
||||
}
|
||||
},
|
||||
"entity": {
|
||||
"info": {
|
||||
"actions": {
|
||||
"revert": "Revert",
|
||||
"save": "Save Changes"
|
||||
},
|
||||
"heading": "Edit Entity"
|
||||
}
|
||||
},
|
||||
"entity-rules-screen": {
|
||||
"error": {
|
||||
"generic": "Something went wrong... Entity rules update failed!"
|
||||
@ -1257,28 +1266,19 @@
|
||||
"title": "Entity Rule Editor",
|
||||
"warning-text": "Warning: experimental feature!"
|
||||
},
|
||||
"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-dossier": {
|
||||
"action": "Zurück zur Übersicht",
|
||||
"label": "Das Dossier dieser Datei wurde gelöscht!"
|
||||
},
|
||||
"file": {
|
||||
"action": "Zurück zum Dossier",
|
||||
"label": "Diese Datei wurde gelöscht!"
|
||||
},
|
||||
"file-dossier": {
|
||||
"action": "Zurück zur Übersicht",
|
||||
"label": "Das Dossier dieser Datei wurde gelöscht!"
|
||||
}
|
||||
},
|
||||
"file-preview": {
|
||||
@ -1296,6 +1296,12 @@
|
||||
},
|
||||
"exact-date": "{day} {month} {year} um {hour}:{minute} Uhr",
|
||||
"file": "Datei",
|
||||
"file-attribute": {
|
||||
"update": {
|
||||
"error": "Failed to update file attribute value!",
|
||||
"success": "File attribute value has been updated successfully!"
|
||||
}
|
||||
},
|
||||
"file-attribute-encoding-types": {
|
||||
"ascii": "ASCII",
|
||||
"iso": "ISO-8859-1",
|
||||
@ -1306,12 +1312,6 @@
|
||||
"number": "Nummer",
|
||||
"text": "Freier Text"
|
||||
},
|
||||
"file-attribute": {
|
||||
"update": {
|
||||
"error": "Failed to update file attribute value!",
|
||||
"success": "File attribute value has been updated successfully!"
|
||||
}
|
||||
},
|
||||
"file-attributes-configurations": {
|
||||
"cancel": "Cancel",
|
||||
"form": {
|
||||
@ -1525,15 +1525,6 @@
|
||||
"csv": "File attributes were imported successfully from uploaded CSV file."
|
||||
}
|
||||
},
|
||||
"filter-menu": {
|
||||
"filter-options": "Filteroptionen",
|
||||
"filter-types": "Filter",
|
||||
"label": "Filter",
|
||||
"pages-without-annotations": "Only pages without annotations",
|
||||
"redaction-changes": "Nur Anmerkungen mit Schwärzungsänderungen",
|
||||
"unseen-pages": "Nur Anmerkungen auf unsichtbaren Seiten",
|
||||
"with-comments": "Nur Anmerkungen mit Kommentaren"
|
||||
},
|
||||
"filter": {
|
||||
"analysis": "Analyse erforderlich",
|
||||
"comment": "Kommentare",
|
||||
@ -1543,6 +1534,15 @@
|
||||
"redaction": "Geschwärzt",
|
||||
"updated": "Aktualisiert"
|
||||
},
|
||||
"filter-menu": {
|
||||
"filter-options": "Filteroptionen",
|
||||
"filter-types": "Filter",
|
||||
"label": "Filter",
|
||||
"pages-without-annotations": "Only pages without annotations",
|
||||
"redaction-changes": "Nur Anmerkungen mit Schwärzungsänderungen",
|
||||
"unseen-pages": "Nur Anmerkungen auf unsichtbaren Seiten",
|
||||
"with-comments": "Nur Anmerkungen mit Kommentaren"
|
||||
},
|
||||
"filters": {
|
||||
"assigned-people": "Beauftragt",
|
||||
"documents-status": "Documents State",
|
||||
@ -1721,6 +1721,14 @@
|
||||
"copyright-claim-text": "Copyright © 2020 - {currentYear} knecon",
|
||||
"copyright-claim-title": "Copyright",
|
||||
"custom-app-title": "Name der Anwendung",
|
||||
"email": {
|
||||
"body": {
|
||||
"analyzed": "Im aktuellen Lizenzzeitraum insgesamt analysierte Seiten: {pages}.",
|
||||
"licensed": "Lizenzierte Seiten: {pages}."
|
||||
},
|
||||
"title": "Lizenzbericht {licenseCustomer}"
|
||||
},
|
||||
"email-report": "E-Mail-Bericht",
|
||||
"end-user-license-text": "Die Nutzung dieses Produkts unterliegt den Bedingungen der Endbenutzer-Lizenzvereinbarung für den RedactManager, sofern darin nichts anderweitig festgelegt.",
|
||||
"end-user-license-title": "Endbenutzer-Lizenzvereinbarung",
|
||||
"licensing-details": {
|
||||
@ -1813,6 +1821,13 @@
|
||||
"user-promoted-to-approver": "<b>{user}</b> wurde im Dossier <b>{dossierHref, select, null{{dossierName}} other{<a href=\"{dossierHref}\" target=\"_blank\">{dossierName}</a>}}</b> zum Genehmiger ernannt!",
|
||||
"user-removed-as-dossier-member": "<b>{user}</b> wurde als Mitglied von: <b>{dossierHref, select, null{{dossierName}} other{<a href=\"{dossierHref}\" target=\"_blank\">{dossierName}</a>}}</b> entfernt!"
|
||||
},
|
||||
"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",
|
||||
@ -1826,7 +1841,6 @@
|
||||
"dossier": "Dossierbezogene Benachrichtigungen",
|
||||
"other": "Andere Benachrichtigungen"
|
||||
},
|
||||
"options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten",
|
||||
"options": {
|
||||
"ASSIGN_APPROVER": "Wenn ich einem Dokument als Genehmiger zugewiesen bin",
|
||||
"ASSIGN_REVIEWER": "Wenn ich einem Dokument als Überprüfer zugewiesen bin",
|
||||
@ -1844,6 +1858,7 @@
|
||||
"USER_PROMOTED_TO_APPROVER": "Wenn ich Genehmiger in einem Dossier werde",
|
||||
"USER_REMOVED_AS_DOSSIER_MEMBER": "Wenn ich die Dossier-Mitgliedschaft verliere"
|
||||
},
|
||||
"options-title": "Wählen Sie aus, in welcher Kategorie Sie benachrichtigt werden möchten",
|
||||
"schedule": {
|
||||
"daily": "Tägliche Zusammenfassung",
|
||||
"instant": "Sofortig",
|
||||
@ -1851,13 +1866,6 @@
|
||||
},
|
||||
"title": "Benachrichtigungseinstellungen"
|
||||
},
|
||||
"notifications": {
|
||||
"button-text": "Notifications",
|
||||
"deleted-dossier": "Deleted Dossier",
|
||||
"label": "Benachrichtigungen",
|
||||
"mark-all-as-read": "Alle als gelesen markieren",
|
||||
"mark-as": "Mark as {type, select, read{read} unread{unread} other{}}"
|
||||
},
|
||||
"ocr": {
|
||||
"confirmation-dialog": {
|
||||
"cancel": "Cancel",
|
||||
@ -1949,16 +1957,16 @@
|
||||
"warnings-subtitle": "Do not show again options",
|
||||
"warnings-title": "Prompts and Dialogs Settings"
|
||||
},
|
||||
"processing": {
|
||||
"basic": "Processing",
|
||||
"ocr": "OCR"
|
||||
},
|
||||
"processing-status": {
|
||||
"ocr": "OCR",
|
||||
"pending": "Pending",
|
||||
"processed": "Processed",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"processing": {
|
||||
"basic": "Processing",
|
||||
"ocr": "OCR"
|
||||
},
|
||||
"readonly": "Lesemodus",
|
||||
"readonly-archived": "Read only (archived)",
|
||||
"redact-text": {
|
||||
@ -1975,7 +1983,7 @@
|
||||
"options": {
|
||||
"in-dossier": {
|
||||
"description": "Add redaction in every document in {dossierName}.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Redact in dossier"
|
||||
},
|
||||
"only-here": {
|
||||
@ -2045,19 +2053,19 @@
|
||||
"do-not-recommend": {
|
||||
"description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.",
|
||||
"description-bulk": "Do not recommend the selected terms in any document of the current dossier.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Remove from dossier"
|
||||
},
|
||||
"false-positive": {
|
||||
"description": "\"{value}\" is not a {type} in this context: \"{context}\".",
|
||||
"description-bulk": "Do not redact the selected terms in their respective context.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "False positive"
|
||||
},
|
||||
"in-dossier": {
|
||||
"description": "Do not {type, select, hint{annotate} other{redact}} \"{value}\" in any document of the current dossier.",
|
||||
"description-bulk": "Do not redact the selected terms as their respective types in any dossier.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Remove from dossier",
|
||||
"label-bulk": "No longer redact in any dossier"
|
||||
},
|
||||
@ -2162,7 +2170,7 @@
|
||||
"options": {
|
||||
"in-dossier": {
|
||||
"description": "Resize in every document in {dossierName}.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Resize in dossier",
|
||||
"tooltip": "Only available for dictionary-based types"
|
||||
},
|
||||
@ -2188,6 +2196,12 @@
|
||||
"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",
|
||||
@ -2211,12 +2225,6 @@
|
||||
"no-match": "Keine Dokumente entsprechen Ihren aktuellen Filtern.",
|
||||
"table-header": "{length} {length, plural, one{Suchergebnis} other{Suchergebnisse}}"
|
||||
},
|
||||
"search": {
|
||||
"active-dossiers": "ganze Plattform",
|
||||
"all-dossiers": "all documents",
|
||||
"placeholder": "Nach Dokumenten oder Dokumenteninhalt suchen",
|
||||
"this-dossier": "in diesem Dossier"
|
||||
},
|
||||
"seconds": "seconds",
|
||||
"size": "Size",
|
||||
"smtp-auth-config": {
|
||||
|
||||
@ -132,7 +132,7 @@
|
||||
"dossier-dictionary-only": "Dossier dictionary only",
|
||||
"has-dictionary": "Has dictionary",
|
||||
"hint": "Hint",
|
||||
"manage-entries-in-dictionary-editor-only": "Manage entries in Dictionary editor only",
|
||||
"manage-entries-in-dictionary-editor-only": "Available in add/remove dialogs",
|
||||
"name": "Display Name",
|
||||
"name-placeholder": "Enter Name",
|
||||
"rank": "Rank",
|
||||
@ -215,7 +215,7 @@
|
||||
"options": {
|
||||
"in-dossier": {
|
||||
"description": "Add hint in every document in {dossierName}.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Add hint in dossier"
|
||||
},
|
||||
"only-here": {
|
||||
@ -1200,7 +1200,7 @@
|
||||
"options": {
|
||||
"in-dossier": {
|
||||
"description": "Edit redaction in every document in {dossierName}.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Change type in dossier"
|
||||
},
|
||||
"only-here": {
|
||||
@ -1975,7 +1975,7 @@
|
||||
"options": {
|
||||
"in-dossier": {
|
||||
"description": "Add redaction in every document in {dossierName}.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Redact in dossier"
|
||||
},
|
||||
"only-here": {
|
||||
@ -2045,19 +2045,19 @@
|
||||
"do-not-recommend": {
|
||||
"description": "Do not recommend \"{value}\" as {type} in any document of the current dossier.",
|
||||
"description-bulk": "Do not recommend the selected terms in any document of the current dossier.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Remove from dossier"
|
||||
},
|
||||
"false-positive": {
|
||||
"description": "\"{value}\" is not a {type} in this context: \"{context}\".",
|
||||
"description-bulk": "Do not redact the selected terms in their respective context.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "False positive"
|
||||
},
|
||||
"in-dossier": {
|
||||
"description": "Do not {type, select, hint{annotate} other{redact}} \"{value}\" in any document of the current dossier.",
|
||||
"description-bulk": "Do not redact the selected terms as their respective types in any dossier.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Remove from dossier",
|
||||
"label-bulk": "No longer redact in any dossier"
|
||||
},
|
||||
@ -2162,7 +2162,7 @@
|
||||
"options": {
|
||||
"in-dossier": {
|
||||
"description": "Resize in every document in {dossierName}.",
|
||||
"extraOptionLabel": "Apply to all dossiers",
|
||||
"extraOptionLabel": "Apply to all active and future dossiers",
|
||||
"label": "Resize in dossier",
|
||||
"tooltip": "Only available for dictionary-based types"
|
||||
},
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit a6f8a3576522614b2d5bcc95b8a59ec0315e3a57
|
||||
Subproject commit 052bf3a5d76fa5bb1697a01a532af553c96922b1
|
||||
Loading…
x
Reference in New Issue
Block a user