diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index f33f58a51..6ec5529a1 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -8,7 +8,6 @@ import { BaseScreenComponent } from '@components/base-screen/base-screen.compone import { ApiModule, GeneralSettingsControllerService } from '@redaction/red-ui-http'; import { ApiPathInterceptor } from '@utils/api-path-interceptor'; import { MissingTranslationHandler, TranslateCompiler, TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { languageInitializer } from '@i18n/language.initializer'; import { LanguageService } from '@i18n/language.service'; import { ToastrModule } from 'ngx-toastr'; @@ -34,9 +33,10 @@ import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-comp import { configurationInitializer } from '@app-config/configuration.initializer'; import { AppConfigService } from '@app-config/app-config.service'; import { SpotlightSearchComponent } from '@components/spotlight-search/spotlight-search.component'; +import { PruningTranslationLoader } from '@utils/pruning-translation-loader'; export function httpLoaderFactory(httpClient: HttpClient) { - return new TranslateHttpLoader(httpClient, '/assets/i18n/', '.json'); + return new PruningTranslationLoader(httpClient, '/assets/i18n/', '.json'); } function cleanupBaseUrl(baseUrl: string) { diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts index 25fdf22ef..3cba41a15 100644 --- a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts @@ -1,10 +1,9 @@ -import { ChangeDetectionStrategy, Component, Inject, Input, OnDestroy } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input, OnDestroy } from '@angular/core'; import { PermissionsService } from '@services/permissions.service'; import { DossierWrapper } from '@state/model/dossier.wrapper'; import { FileStatusWrapper } from '@models/file/file-status.wrapper'; import { FileDownloadService } from '@upload-download/services/file-download.service'; import { Toaster } from '@services/toaster.service'; -import { BASE_HREF } from '../../../../../tokens'; import { AutoUnsubscribeComponent } from '@shared/base/auto-unsubscribe.component'; import { TranslateService } from '@ngx-translate/core'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; @@ -26,7 +25,6 @@ export class FileDownloadBtnComponent extends AutoUnsubscribeComponent implement @Input() disabled = false; constructor( - @Inject(BASE_HREF) private readonly _baseHref: string, private readonly _permissionsService: PermissionsService, private readonly _fileDownloadService: FileDownloadService, private readonly _toaster: Toaster, @@ -54,7 +52,7 @@ export class FileDownloadBtnComponent extends AutoUnsubscribeComponent implement this.addSubscription = this._fileDownloadService .downloadFiles(Array.isArray(this.file) ? this.file : [this.file], this.dossier) .subscribe(() => { - this._toaster.info(_('download-status.queued'), { params: { baseUrl: this._baseHref } }); + this._toaster.info(_('download-status.queued')); }); } } diff --git a/apps/red-ui/src/app/utils/missing-translations-handler.ts b/apps/red-ui/src/app/utils/missing-translations-handler.ts index b6b871c45..0e642ca73 100644 --- a/apps/red-ui/src/app/utils/missing-translations-handler.ts +++ b/apps/red-ui/src/app/utils/missing-translations-handler.ts @@ -3,7 +3,7 @@ import { MissingTranslationHandler, MissingTranslationHandlerParams } from '@ngx export class REDMissingTranslationHandler implements MissingTranslationHandler { handle(params: MissingTranslationHandlerParams): any { const missingKey = params.key; - console.error('Missing translation: ' + missingKey); - return missingKey; + // console.error('Missing translation: ' + missingKey); + return `?${missingKey}?`; } } diff --git a/apps/red-ui/src/app/utils/pruning-translation-loader.ts b/apps/red-ui/src/app/utils/pruning-translation-loader.ts new file mode 100644 index 000000000..6ad40e849 --- /dev/null +++ b/apps/red-ui/src/app/utils/pruning-translation-loader.ts @@ -0,0 +1,23 @@ +import { HttpClient } from '@angular/common/http'; +import { TranslateLoader } from '@ngx-translate/core'; +import { map } from 'rxjs/operators'; + +export class PruningTranslationLoader implements TranslateLoader { + constructor(private _http: HttpClient, private _prefix: string, private _suffix: string) {} + + getTranslation(lang: string): any { + return this._http.get(`${this._prefix}${lang}${this._suffix}`).pipe(map((result: object) => this._process(result))); + } + + private _process(object: object) { + return ( + Object.keys(object) + // eslint-disable-next-line no-prototype-builtins + .filter(key => object.hasOwnProperty(key) && object[key] !== '') + .reduce( + (result, key) => ((result[key] = typeof object[key] === 'object' ? this._process(object[key]) : object[key]), result), + {} + ) + ); + } +} diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index cfd162f3f..6ae8eccfe 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -4,6 +4,30 @@ "none": "Keiner" }, "active": "Aktiv", + "add-dossier-dialog": { + "actions": { + "save": "", + "save-and-add-members": "" + }, + "errors": { + "dossier-already-exists": "", + "generic": "" + }, + "form": { + "description": { + "label": "", + "placeholder": "" + }, + "due-date": "", + "name": { + "label": "", + "placeholder": "" + }, + "template": "", + "watermark": "" + }, + "header-new": "" + }, "add-edit-dictionary": { "error": { "dictionary-already-exists": "Wörterbuch mit diesem Namen existiert bereits!", @@ -26,10 +50,20 @@ "redaction": "Redaktion" }, "save": "Wörterbuch speichern", - "title": { - "edit": "Bearbeiten Sie das {{name}} Wörterbuch", - "new": "Wörterbuch erstellen" - } + "title": "" + }, + "add-edit-dossier-attribute": { + "error": { + "generic": "" + }, + "form": { + "label": "", + "label-placeholder": "", + "placeholder": "", + "type": "" + }, + "save": "", + "title": "" }, "add-edit-dossier-template": { "form": { @@ -41,10 +75,7 @@ "valid-to": "Gültig bis" }, "save": "Speichern Sie die Dossiervorlage", - "title": { - "edit": "Bearbeiten Sie die {{name}} Dossiervorlage", - "new": "Erstellen Sie eine Dossiervorlage" - } + "title": "" }, "add-edit-file-attribute": { "form": { @@ -57,10 +88,7 @@ "type": "Art" }, "save": "Attribut speichern", - "title": { - "edit": "Bearbeiten Sie das {{name}} Dateiattribut", - "new": "Neues Dateiattribut hinzufügen" - } + "title": "" }, "add-edit-user": { "actions": { @@ -73,12 +101,14 @@ "email": "Email", "first-name": "Vorname", "last-name": "Nachname", + "reset-password": "", "role": "Rolle" }, - "title": { - "edit": "Benutzer bearbeiten", - "new": "Neuen Benutzer hinzufügen" - } + "title": "" + }, + "admin-side-nav": { + "dossier-templates": "", + "settings": "" }, "annotation": "Anmerkung", "annotation-actions": { @@ -88,6 +118,9 @@ "accept-suggestion": { "label": "Vorschlag annehmen" }, + "edit-reason": { + "label": "" + }, "force-redaction": { "label": "Redaktion erzwingen" }, @@ -95,68 +128,83 @@ "message": { "dictionary": { "add": { - "error": "Fehler beim Hinzufügen des Eintrags zum Wörterbuch: {{error}}", + "error": "Fehler beim Hinzufügen des Eintrags zum Wörterbuch: {error}", "success": "Eintrag zum Wörterbuch hinzugefügt. Änderungen werden nach einer erneuten Analyse sichtbar." }, "approve": { - "error": "Wörterbucheintrag konnte nicht genehmigt werden: {{error}}", + "error": "Wörterbucheintrag konnte nicht genehmigt werden: {error}", "success": "Wörterbucheintrag genehmigt. Änderungen werden nach einer erneuten Analyse sichtbar." }, "decline": { - "error": "Fehler beim Ablehnen des Wörterbuchvorschlags: {{error}}", + "error": "Fehler beim Ablehnen des Wörterbuchvorschlags: {error}", "success": "Wörterbuchvorschlag abgelehnt." }, "remove": { - "error": "Fehler beim Entfernen des Wörterbucheintrags: {{error}}", + "error": "Fehler beim Entfernen des Wörterbucheintrags: {error}", "success": "Wörterbucheintrag entfernt!" }, "request-remove": { - "error": "Das Entfernen des Wörterbucheintrags konnte nicht angefordert werden: {{error}}", + "error": "Das Entfernen des Wörterbucheintrags konnte nicht angefordert werden: {error}", "success": "Angefordert, Wörterbucheintrag zu entfernen!" }, "suggest": { - "error": "Vorschlag zum Ändern des Wörterbuchs konnte nicht gespeichert werden: {{error}}", + "error": "Vorschlag zum Ändern des Wörterbuchs konnte nicht gespeichert werden: {error}", "success": "Vorschlag zur Wörterbuchänderung gespeichert!" }, "undo": { - "error": "Fehler beim Rückgängigmachen: {{error}}", + "error": "Fehler beim Rückgängigmachen: {error}", "success": "Rückgängig machen erfolgreich" } }, "manual-redaction": { "add": { - "error": "Fehler beim Speichern der Redaktion: {{error}}", + "error": "Fehler beim Speichern der Redaktion: {error}", "success": "Redaktion hinzugefügt!" }, "approve": { - "error": "Fehler beim Genehmigen der Redaktion: {{error}}", + "error": "Fehler beim Genehmigen der Redaktion: {error}", "success": "Redaktionsvorschlag genehmigt!" }, + "change-legal-basis": { + "error": "", + "success": "" + }, "decline": { - "error": "Redaktion konnte nicht abgelehnt werden: {{error}}", + "error": "Redaktion konnte nicht abgelehnt werden: {error}", "success": "Redaktionsvorschlag abgelehnt!" }, - "remove": { - "error": "Redaktion konnte nicht entfernt werden: {{error}}", - "success": "Redaktion entfernt!" + "force-redaction": { + "error": "", + "success": "" }, - "request-remove": { - "error": "Fehler beim Anfordern der Entfernung der Redaktion: {{error}}", - "success": "Angefordert, Redaktion zu entfernen!" + "recategorize-image": { + "error": "", + "success": "" + }, + "request-change-legal-basis": { + "error": "", + "success": "" + }, + "request-force-redaction": { + "error": "", + "success": "" + }, + "request-image-recategorization": { + "error": "", + "success": "" }, "suggest": { - "error": "Fehler beim Speichern des Redaktionsvorschlags: {{error}}", + "error": "Fehler beim Speichern des Redaktionsvorschlags: {error}", "success": "Redaktionsvorschlag gespeichert" }, "undo": { - "error": "Fehler beim Rückgängigmachen: {{error}}", + "error": "Fehler beim Rückgängigmachen: {error}", "success": "Rückgängig machen erfolgreich" } } }, - "reject": "Ablehnen", + "recategorize-image": "", "reject-suggestion": "Vorschlag ablehnen", - "remove": "Entfernen", "remove-annotation": { "false-positive": "Falsch positiv", "only-here": "Nur hier entfernen", @@ -167,6 +215,7 @@ }, "annotation-type": { "add-dictionary": "Ausstehend zum Wörterbuch hinzufügen", + "change-legal-basis": "", "declined-suggestion": "Abgelehnter Vorschlag", "hint": "Hinweis", "manual-redaction": "Manuelle Redaktion", @@ -178,35 +227,54 @@ "skipped": "Übersprungen", "suggestion-add": "Vorgeschlagene Redaktion", "suggestion-add-dictionary": "Vorgeschlagenes Wörterbuch hinzufügen", + "suggestion-change-legal-basis": "", "suggestion-force-redaction": "Redaktion der Vorschlagskraft", + "suggestion-recategorize-image": "", "suggestion-remove": "Vorgeschlagene Redaktionsentfernung", "suggestion-remove-dictionary": "Vorgeschlagene Wörterbuchentfernung" }, "annotations": "Anmerkungen", - "app-name": "DDA-R", - "APPROVED": "Genehmigt", "archived": "Archiviert", "assign-dossier-owner": { "dialog": { - "cancel": "Stornieren", - "save": "Änderungen speichern", + "approvers": "", + "make-approver": "", + "no-approvers": "", + "no-reviewers": "", + "reviewers": "", "search": "Suche...", - "single-user": "Inhaber", - "title": "Dossier-Team verwalten" + "single-user": "Inhaber" } }, - "assign-file-owner": { + "assign-owner": { "dialog": { - "cancel": "Stornieren", - "save": "speichern", - "single-user": "Gutachter", - "title": "File Reviewer verwalten" + "cancel": "", + "label": "", + "save": "", + "title": "" } }, + "assign-user": { + "cancel": "", + "save": "" + }, "audit": "Prüfung", "audit-screen": { - "all-categories": "Alle Kategorien", "all-users": "Alle Nutzer", + "categories": { + "all-categories": "", + "audit": "", + "audit-log": "", + "dictionary": "", + "document": "", + "dossier": "", + "dossier-template": "", + "download": "", + "license": "", + "project": "", + "project-template": "", + "user": "" + }, "no-data": { "title": "Keine verfügbaren Protokolle." }, @@ -217,24 +285,34 @@ "user": "Benutzer" }, "table-header": { - "title": "{{length}} Protokolle" + "title": "{length} Protokolle" }, "to": "zu" }, "auth-error": { "heading": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie Ihren Administrator für den Zugriff!", - "heading-with-link": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie Ihren Administrator für den Zugriff!", - "heading-with-name": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie {{adminName}} für den Zugriff!", - "heading-with-name-and-link": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie {{adminName}} für den Zugriff!", + "heading-with-link": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie Ihren Administrator für den Zugriff!", + "heading-with-name": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie {adminName} für den Zugriff!", + "heading-with-name-and-link": "Ihr Benutzer verfügt nicht über die erforderlichen RED- * -Rollen, um auf diese Anwendung zuzugreifen. Bitte kontaktieren Sie {adminName} für den Zugriff!", "logout": "Ausloggen" }, "by": "durch", - "comment": "Kommentar", + "change-legal-basis-dialog": { + "actions": { + "cancel": "", + "save": "" + }, + "content": { + "comment": "", + "legalBasis": "", + "reason": "", + "reason-placeholder": "" + }, + "header": "" + }, "comments": { "add-comment": "Einen Kommentar hinzufügen", - "cancel": "Stornieren", - "comment": "{{count}} Kommentar", - "comments": "{{count}} Kommentare", + "comments": "{count} Kommentare", "hide-comments": "Ausblenden" }, "common": { @@ -248,44 +326,20 @@ }, "configurations": "Konfigurationen", "confirm-delete-file-attribute": { - "cancel": { - "bulk": "Attribute behalten", - "single": "Attribut behalten" - }, - "delete": { - "bulk": "Attribute löschen", - "single": "Attribut löschen" - }, - "impacted-documents": { - "bulk": "Alle Dokumente, für die sie verwendet werden, sind betroffen", - "single": "Alle Dokumente, für die es verwendet wird, sind betroffen" - }, + "cancel": "", + "delete": "", + "impacted-documents": "", "lost-details": "Alle eingegebenen Details in den Dokumenten gehen verloren", - "title": { - "bulk": "Dateiattribute löschen", - "single": "Löschen Sie {{name}}" - }, + "title": "", "toast-error": "Bitte bestätigen Sie, dass Sie die Auswirkungen Ihrer Handlung verstehen!", "warning": "Achtung: Dies kann nicht rückgängig gemacht werden!" }, "confirm-delete-users": { - "cancel": { - "bulk": "Benutzer behalten", - "single": "Benutzer behalten" - }, - "delete": { - "bulk": "Benutzer löschen", - "single": "Benutzer löschen" - }, - "impacted-documents": { - "bulk": "Alle Dokumente, deren Überprüfung durch die Benutzer aussteht, sind betroffen", - "single": "Alle Dokumente, deren Überprüfung durch den Benutzer aussteht, sind betroffen" - }, - "impacted-dossiers": "{{dossiersCount}} Dossiers sind betroffen", - "title": { - "bulk": "Benutzer aus dem Arbeitsbereich löschen", - "single": "Benutzer aus Arbeitsbereich löschen" - }, + "cancel": "", + "delete": "", + "impacted-documents": "", + "impacted-dossiers": "{dossiersCount} Dossiers sind betroffen", + "title": "", "toast-error": "Bitte bestätigen Sie, dass Sie die Auswirkungen Ihrer Handlung verstehen!", "warning": "Achtung: Dies kann nicht rückgängig gemacht werden!" }, @@ -294,10 +348,16 @@ "question": "Dieses Dokument wird derzeit von einer anderen Person geprüft. Möchten Sie der Prüfer werden und sich diesem Dokument zuordnen?", "title": "Prüfer neu zuweisen" }, + "compare-file": { + "question": "", + "title": "" + }, "delete-dossier": { "confirmation-text": "Lösche Dossier", + "deny-text": "", + "input-label": "", "question": "Möchten Sie fortfahren?", - "title": "Dossier {{dossierName}}" + "title": "Dossier {dossierName}" }, "delete-file": { "question": "Möchten Sie fortfahren?", @@ -315,7 +375,7 @@ "key": "Art" }, "table-header": { - "title": "{{length}} Standardfarben" + "title": "{length} Standardfarben" }, "types": { "analysisColor": "Analyse", @@ -329,7 +389,6 @@ "updatedColor": "Aktualisiert" } }, - "delete-files-error": "Dateien konnten nicht gelöscht werden.", "dev-mode": "[DEV-MODUS]", "dictionaries": "Wörterbücher", "dictionary": "Wörterbuch", @@ -339,6 +398,9 @@ "edit": "Wörterbuch bearbeiten" }, "add-new": "Neues Wörterbuch", + "bulk": { + "delete": "" + }, "case-sensitive": "Groß- und Kleinschreibung beachten", "no-data": { "action": "Neues Wörterbuch", @@ -360,7 +422,7 @@ "type": "Art" }, "table-header": { - "title": "{{length}} Wörterbücher" + "title": "{length} Wörterbücher" } }, "dictionary-overview": { @@ -372,7 +434,6 @@ }, "compare": { "compare": "Vergleichen Sie", - "select-dictionary": "Wählen Sie Wörterbuch", "select-dossier": "Wählen Sie Dossiervorlage" }, "dictionary-details": { @@ -425,62 +486,69 @@ "reason": { "label": "Grund", "placeholder": "Grund" - }, - "title": "Digitale Unterschrift" + } }, "document-info": { "save": "Dokumentinformationen speichern", "title": "Dateiattribute einführen" }, + "dossier-attribute-types": { + "date": "", + "image": "", + "number": "", + "text": "" + }, + "dossier-attributes": "", + "dossier-attributes-listing": { + "action": { + "delete": "", + "edit": "" + }, + "add-new": "", + "bulk": { + "delete": "" + }, + "no-data": { + "action": "", + "title": "" + }, + "no-match": { + "title": "" + }, + "search": "", + "table-col-names": { + "label": "", + "placeholder": "", + "type": "" + }, + "table-header": { + "title": "" + } + }, "dossier-details": { "assign-members": "Mitglieder zuweisen", "collapse": "Details ausblenden", - "dialog": { - "title": "Dossier Details" - }, + "edit-owner": "", "expand": "Zeige Details", "members": "Mitglieder", "owner": "Inhaber", "see-less": "Weniger sehen", "title": "Dossier Details" }, + "dossier-dictionary-dialog": { + "cancel": "", + "save-changes": "", + "title": "" + }, "dossier-listing": { - "add-edit-dialog": { - "actions": { - "save": "speichern", - "save-and-add-members": "Team speichern und bearbeiten" - }, - "errors": { - "dossier-already-exists": "Dossier mit diesem Namen existiert bereits!", - "generic": "Dossier konnte nicht gespeichert werden" - }, - "form": { - "description": { - "label": "Beschreibung", - "placeholder": "Beschreibung eingeben" - }, - "due-date": "Geburtstermin", - "name": { - "label": "Name des Dossiers", - "placeholder": "Name eingeben" - }, - "template": "Dossiervorlage" - }, - "header-edit": "Dossier bearbeiten", - "header-new": "Dossier erstellen" - }, "add-new": "Neues Dossier", "delete": { "action": "Dossier löschen", - "delete-failed": "Fehler beim Löschen des Dossiers: {{dossierName}}" - }, - "download-files": { - "action": "Laden Sie redigierte Dateien herunter" + "delete-failed": "Fehler beim Löschen des Dossiers: {dossierName}" }, "edit": { "action": "Dossier bearbeiten" }, - "header": "Dossiers", "no-data": { "action": "Neues Dossier", "title": "Sie haben derzeit keine Dossiers." @@ -488,6 +556,12 @@ "no-match": { "title": "Keine Dossiers stimmen mit Ihren aktuellen Filtern überein." }, + "quick-filters": { + "my-dossiers": "", + "other": "", + "to-approve": "", + "to-review": "" + }, "reanalyse": { "action": "Analysieren Sie das gesamte Dossier" }, @@ -507,20 +581,16 @@ "status": "Status" }, "table-header": { - "recent": "Kürzlich", - "title": "{{length}} aktive Dossiers" + "title": "{length} aktive Dossiers" } }, - "dossier-member-guard": { - "access-denied": "Sie dürfen nicht auf diese Seite zugreifen." - }, "dossier-overview": { "approve": "Genehmigen", "approve-disabled": "Die Datei kann erst genehmigt werden, wenn sie mit den neuesten Wörterbüchern analysiert und alle Vorschläge verarbeitet wurden.", - "assign": "Prüfer zuweisen", + "assign-approver": "", "assign-me": "Zuweisen zu mir", + "assign-reviewer": "", "bulk": { - "assign": "Prüfer zuweisen", "delete": "Dokumente löschen", "reanalyse": "Dokumente analysieren" }, @@ -528,33 +598,33 @@ "action": "Datei löschen" }, "dossier-details": { + "attributes": { + "expand": "", + "image-uploaded": "", + "show-less": "" + }, "charts": { "documents-in-dossier": "Dokumente im Dossier" }, "description": "Beschreibung", + "dictionary": "", "stats": { - "analysed-pages": "{{count}} Seiten", - "created-on": "Erstellt am {{date}}", - "documents": "{{count}} Dokumente", - "due-date": "Geburtstermin}}", - "people": "{{count}} Benutzer" + "analysed-pages": "{count} Seiten", + "created-on": "Erstellt am {date}", + "documents": "{count} Dokumente", + "due-date": "Geburtstermin", + "people": "{count} Benutzer" } }, "download-file": "Herunterladen", "download-file-disabled": "Das Herunterladen ist nur für genehmigte Dateien zulässig", "file-listing": { "file-entry": { - "added": "Datum hinzugefügt: {{added}}", "file-error": "Nachbearbeitung erforderlich", "file-pending": "Steht aus...", - "file-processing": "wird bearbeitet", - "last-updated": "Letzte Aktualisierung: {{lastUpdated}}", - "number-of-analyses": "Anzahl der Analysen: {{numberOfAnalyses}}", - "number-of-pages": "Anzahl der Seiten: {{numberOfPages}}", - "status": "Status: {{status}}" + "file-processing": "wird bearbeitet" } }, - "header": "Dossierübersicht", "header-actions": { "edit": "Bearbeiten", "upload-document": "Dokument hochladen" @@ -575,15 +645,18 @@ }, "ocr-file": "OCR-Dokument", "ocr-performed": "Für diese Datei wurde eine OCR durchgeführt.", - "reanalyse": { - "action": "Datei analysieren" + "quick-filters": { + "assigned-to-me": "", + "assigned-to-others": "", + "recent": "", + "unassigned": "" }, "reanalyse-dossier": { "error": "Dateien für die erneute Analyse konnten nicht geplant werden. Bitte versuche es erneut.", "success": "Dateien, die erneut analysiert werden sollen." }, - "report": { - "action": "Redaktionsbericht herunterladen" + "reanalyse": { + "action": "Datei analysieren" }, "search": "Dokumentname...", "table-col-names": { @@ -595,7 +668,7 @@ "status": "Status" }, "table-header": { - "title": "{{length}} Dokumente" + "title": "{length} Dokumente" }, "under-approval": "Zur Genehmigung", "under-review": "Wird überprüft", @@ -608,7 +681,10 @@ "edit": "Vorlage bearbeiten" }, "add-new": "Neue Dossiervorlage", - "dictionaries": "{{length}} Wörterbücher", + "bulk": { + "delete": "" + }, + "dictionaries": "{length} Wörterbücher", "no-data": { "title": "Es gibt noch keine Dossiervorlagen." }, @@ -623,29 +699,20 @@ "name": "Name" }, "table-header": { - "title": "{{length}} Dossiervorlagen" + "title": "{length} Dossiervorlagen" } }, "download-includes": "Wählen Sie aus, was beim Download enthalten ist:", "download-status": { - "dialog": { - "actions": { - "cancel": "Download abbrechen", - "download": "jetzt downloaden" - }, - "title": "Downloads ({{len}})", - "tooltip": "{{len}} Dateien" - }, - "error": { - "generic": "Herunterladen fehlgeschlagen" - }, "queued": "Ihr Download wurde in die Warteschlange gestellt. Alle angeforderten Downloads finden Sie hier: Meine Downloads ." }, "download-type": { - "label": "{{length}} Dokumentversionen", - "ORIGINAL": "Original PDF", - "PREVIEW": "Vorschau PDF", - "REDACTED": "Redigiertes PDF" + "annotated": "", + "flatten": "", + "label": "{length} Dokumentversionen", + "original": "", + "preview": "", + "redacted": "" }, "downloads-list": { "actions": { @@ -659,11 +726,10 @@ "date": "Datum", "name": "Name", "size": "Größe", - "status": "Status", - "type": "Art" + "status": "Status" }, "table-header": { - "title": "{{length}} Downloads" + "title": "{length} Downloads" } }, "edit-color-dialog": { @@ -673,15 +739,60 @@ "color-placeholder": "Farbe" }, "save": "speichern", - "success": "Die Farbe für {{color}} wurde erfolgreich aktualisiert." + "success": "Die Farbe für {color} wurde erfolgreich aktualisiert." + }, + "edit-dossier-dialog": { + "actions": { + "revert": "", + "save": "" + }, + "attributes": { + "custom-attributes": "", + "delete-image": "", + "image-attributes": "", + "no-custom-attributes": "", + "no-image-attributes": "", + "upload-image": "" + }, + "change-successful": "", + "delete-successful": "", + "dictionary": { + "entries": "" + }, + "general-info": { + "form": { + "description": { + "label": "", + "placeholder": "" + }, + "due-date": "", + "name": { + "label": "", + "placeholder": "" + }, + "template": "", + "watermark": "" + } + }, + "header": "", + "nav-items": { + "choose-download": "", + "dictionary": "", + "dossier-attributes": "", + "dossier-dictionary": "", + "dossier-info": "", + "download-package": "", + "general-info": "", + "members": "", + "team-members": "" + }, + "side-nav-title": "", + "unsaved-changes": "" }, - "efsa": "EFSA-Genehmigung", - "ERROR": "Nachbearbeitung erforderlich", - "EXCLUDED": "Ausgeschlossen", "file-attribute-types": { - "DATE": "Datum", - "NUMBER": "Nummer", - "TEXT": "Freier Text" + "date": "", + "number": "", + "text": "" }, "file-attributes": "Dateiattribute", "file-attributes-csv-import": { @@ -691,7 +802,7 @@ "remove": "Entfernen", "save-name": "speichern" }, - "available": "{{value}} verfügbar", + "available": "{value} verfügbar", "cancel": "Stornieren", "csv-column": "CSV-Spalte", "delimiter": "Trennzeichen", @@ -705,7 +816,7 @@ "title": "Keine Dateiattribute definiert. Wählen Sie im linken Bereich eine Spalte aus, um mit der Definition der Dateiattribute zu beginnen." }, "no-hovered-column": "Zeigen Sie eine Vorschau der CSV-Spalte an, indem Sie den Mauszeiger über den Eintrag bewegen.", - "no-sample-data-for": "Keine Beispieldaten für {{column}}.", + "no-sample-data-for": "Keine Beispieldaten für {column}.", "parse-csv": "Analysieren Sie CSV mit neuen Optionen", "quick-activation": { "all": "Alle", @@ -714,12 +825,12 @@ "save": { "error": "Fehler beim Erstellen der Dateiattribute!", "label": "Attribute speichern", - "success": "{{count}} Dateiattribute erfolgreich erstellt!" + "success": "{count} Dateiattribute erfolgreich erstellt!" }, "search": { "placeholder": "Suche nach Spaltennamen ..." }, - "selected": "{{value}} ausgewählt", + "selected": "{value} ausgewählt", "table-col-names": { "name": "Name", "primary": "primär", @@ -735,10 +846,10 @@ "remove-selected": "Ausgewählte entfernen", "type": "Art" }, - "title": "{{length}} Dateiattribute" + "title": "{length} Dateiattribute" }, "title": "Wählen Sie CSV-Spalten aus, die als Dateiattribute verwendet werden sollen", - "total-rows": "{{rows}} Zeilen insgesamt" + "total-rows": "{rows} Zeilen insgesamt" }, "file-attributes-listing": { "action": { @@ -766,22 +877,22 @@ "type": "Eingabetyp" }, "table-header": { - "title": "{{length}} Dateiattribute" + "title": "{length} Dateiattribute" }, "upload-csv": "Konfiguration der Dateiattribute hochladen" }, "file-preview": { "assign-me": "Weisen Sie mir zu", "assign-reviewer": "Prüfer zuweisen", - "cancel-assign-reviewer": "Stornieren", + "change-reviewer": "", "delta": "Delta", "delta-tooltip": "Delta View zeigt nur die Änderungen seit der letzten erneuten Analyse an. Diese Ansicht ist nur verfügbar, wenn mindestens eine Änderung vorliegt", "document-info": "Ihre Dokumenteninfo lebt hier. Dies schließt Metadaten ein, die für jedes Dokument erforderlich sind.", "download-original-file": "Originaldatei herunterladen", + "exclude-pages": "", + "excluded-from-redaction": "", "fullscreen": "Vollbild (F)", - "html-debug": "Öffnen Sie das Dokument-HTML-Debug", "last-reviewer": "Zuletzt überprüft von:", - "new-tab-ssr": "Öffnen Sie das Dokument im serverseitigen Rendering-Modus", "no-data": { "title": "Auf dieser Seite befinden sich keine Anmerkungen." }, @@ -789,12 +900,9 @@ "jump-first": "Zur ersten Anmerkung springen", "jump-last": "Zur letzten Anmerkung springen" }, - "reanalyse-file": "Datei-Reanalyse läuft", "reanalyse-notification": "Dieses Dokument wurde nicht mit dem neuesten Regel- / Wörterbuchsatz verarbeitet. Analysieren Sie jetzt, um aktualisierte Anmerkungen zu erhalten.", "redacted": "Vorschau", "redacted-tooltip": "Die Redaktionsvorschau zeigt nur Redaktionen an. Betrachten Sie dies als Vorschau für die endgültige redigierte Version. Diese Ansicht ist nur verfügbar, wenn für die Datei keine Änderungen ausstehen", - "reviewer": "Zugewiesen an", - "save-assign-reviewer": "speichern", "standard": "Standard", "standard-tooltip": "In der Standard-Workload-Ansicht werden alle Hinweise, Redaktionen und Empfehlungen angezeigt", "tabs": { @@ -802,27 +910,60 @@ "jump-to-next": "Zum nächsten springen", "jump-to-previous": "Zum vorherigen springen", "label": "Arbeitsbelastung", - "select": "Wählen" + "page-is": "", + "select": "Wählen", + "select-all": "", + "select-none": "" }, "document-info": { "close": "Dokumentinfo schließen", "details": { - "created-on": "Erstellt am: {{date}}", - "dossier": "in {{dossierName}}", - "due": "Geburtstermin}}", - "pages": "{{pages}} Seiten" + "created-on": "Erstellt am: {date}", + "dossier": "in {dossierName}", + "due": "Geburtstermin", + "pages": "{pages} Seiten" }, "edit": "Dokumentinformationen bearbeiten", "label": "Dokumentinfo" }, + "exclude-pages": { + "close": "", + "error": "", + "hint": "", + "input-placeholder": "", + "label": "", + "no-excluded": "", + "put-back": "", + "removed-from-redaction": "" + }, "is-excluded": "Die Redaktion ist für dieses Dokument deaktiviert." }, "toggle-analysis": { "disable": "Deaktivieren Sie die Redaktion", "enable": "Zur Redaktion aktivieren", "only-managers": "Das Aktivieren / Deaktivieren ist nur für Manager zulässig" - }, - "unassigned": "Nicht zugewiesen" + } + }, + "file-status": { + "approved": "", + "error": "", + "excluded": "", + "full-reprocess": "", + "indexing": "", + "ocr-processing": "", + "processing": "", + "reprocess": "", + "unassigned": "", + "under-approval": "", + "under-review": "", + "unprocessed": "" + }, + "filter-menu": { + "filter-options": "Filteroptionen", + "filter-types": "Filtertypen", + "label": "Filter", + "with-comments": "Nur Anmerkungen mit Kommentaren anzeigen", + "with-reason-changes": "" }, "filter": { "analysis": "Analyse erforderlich", @@ -833,33 +974,70 @@ "suggestion": "Vorgeschlagene Redaktion", "updated": "Aktualisiert" }, - "filter-menu": { - "filter-options": "Filteroptionen", - "filter-types": "Filtertypen", - "label": "Filter", - "with-comments": "Nur Anmerkungen mit Kommentaren anzeigen" - }, "filters": { "assigned-people": "Beauftragter", - "created-on": "Erstellt am", - "document": "Dokument", - "dossier": "Dossier", "dossier-templates": "Regelsätze", - "due-date": "Geburtstermin", "filter-by": "Filter:", "needs-work": "Arbeitsbelastung", "people": "Dossiermitglied (e)", "status": "Status" }, - "finished": "Fertig", - "FULLREPROCESS": "wird bearbeitet", + "general-config-screen": { + "actions": { + "save": "Konfigurationen speichern", + "test-connection": "Testverbindung" + }, + "app-name": { + "label": "", + "placeholder": "" + }, + "form": { + "auth": "Aktivieren Sie die Authentifizierung", + "change-credentials": "Anmeldeinformationen ändern", + "envelope-from": "Umschlag von", + "envelope-from-hint": "Infotext zum Umschlag aus dem Feld.", + "envelope-from-placeholder": "E-Mail-Adresse des Absenderumschlags", + "from": "Von", + "from-display-name": "Name für Absender", + "from-display-name-hint": "Infotext zum Namen des Absenders.", + "from-display-name-placeholder": "Anzeigename für die Absender-E-Mail-Adresse", + "from-placeholder": "Absender-E-Mail-Adresse", + "host": "Gastgeber", + "host-placeholder": "SMTP-Host", + "port": "Hafen", + "reply-to": "Antwort an", + "reply-to-display-name": "Name für die Antwort an", + "reply-to-display-name-placeholder": "Anzeigename für die Antwort auf die E-Mail-Adresse", + "reply-to-placeholder": "Antwort an E-Mail-Adresse", + "ssl": "Aktivieren Sie SSL", + "starttls": "Aktivieren Sie StartTLS" + }, + "general": { + "form": { + "forgot-password": "" + }, + "subtitle": "", + "title": "" + }, + "subtitle": "Mit SMTP (Simple Mail Transfer Protocol) können Sie Ihre E-Mails über die angegebenen Servereinstellungen senden.", + "test": { + "error": "Test-E-Mail konnte nicht gesendet werden! Bitte überarbeiten Sie die E-Mail-Adresse.", + "success": "Test-E-Mail wurde erfolgreich gesendet!" + }, + "title": "Konfigurieren Sie das SMTP-Konto" + }, "hint": "Hinweis", + "image-category": { + "formula": "", + "image": "", + "logo": "", + "signature": "" + }, "initials-avatar": { "unassigned": "Nicht zugewiesen", "you": "Sie" }, "license-info-screen": { - "3rd-party-title": "Verweis auf Lizenzen von Drittanbietern", "analyzed-pages": "Analysierte Seiten", "backend-version": "Backend-Anwendungsversion", "chart": { @@ -869,18 +1047,18 @@ "pages-per-month": "Seiten pro Monat", "total-pages": "Alle Seiten" }, - "copyright-claim-text": "Copyright © 2020 - {{currentYear}} knecon AG (unterstützt von IQSER)", + "copyright-claim-text": "Copyright © 2020 - {currentYear} knecon AG (unterstützt von IQSER)", "copyright-claim-title": "Urheberrechtsanspruch", "current-analyzed": "Analysierte Seiten im aktuellen Lizenzierungszeitraum", "custom-app-title": "Titel der benutzerdefinierten Anwendung", + "email-report": "E-Mail-Bericht", "email": { "body": { - "analyzed": "Insgesamt analysierte Seiten im aktuellen Lizenzzeitraum: {{pages}}.", - "licensed": "Lizenzierte Seiten: {{pages}}." + "analyzed": "Insgesamt analysierte Seiten im aktuellen Lizenzzeitraum: {pages}.", + "licensed": "Lizenzierte Seiten: {pages}." }, - "title": "Lizenzbericht {{licenseCustomer}}" + "title": "Lizenzbericht {licenseCustomer}" }, - "email-report": "E-Mail-Bericht", "end-user-license-text": "Die Verwendung dieses Produkts unterliegt den Bestimmungen der Redaction End User Agreement, sofern nicht anders angegeben.", "end-user-license-title": "Endbenutzer-Lizenzvereinbarung", "frontend-version": "Frontend-Anwendungsversion", @@ -888,7 +1066,7 @@ "licensed-to": "Lizenziert an", "licensing-details": "Lizenzdetails", "licensing-period": "Lizenzzeitraum", - "total-analyzed": "Insgesamt analysierte Seiten seit {{date}}", + "total-analyzed": "Insgesamt analysierte Seiten seit {date}", "unlicensed-analyzed": "Nicht lizenzierte analysierte Seiten", "usage-details": "Verwendungsdetails" }, @@ -916,10 +1094,6 @@ "request-false-positive": "Falsch positiv anfordern", "request-redaction": "Redaktion anfordern" } - }, - "undo": { - "error": "Aktion konnte nicht rückgängig gemacht werden.", - "success": "Aktion rückgängig gemacht." } }, "notifications": { @@ -929,7 +1103,6 @@ "tomorrow": "Morgen", "yesterday": "Gestern" }, - "OCR_PROCESSING": "OCR-Verarbeitung", "overwrite-files-dialog": { "options": { "cancel": "Alle Uploads abbrechen", @@ -937,7 +1110,7 @@ "remember": "Erinnere dich an die Wahl und frag mich nicht noch einmal", "skip": "Vorhandenes Dokument behalten" }, - "question": "{{filename}} existiert bereits. Wählen Sie, wie Sie fortfahren möchten:", + "question": "{filename} existiert bereits. Wählen Sie, wie Sie fortfahren möchten:", "title": "Dokument existiert bereits!" }, "page": "Seite", @@ -952,15 +1125,26 @@ } } }, - "pending-analysis": "Bis zur erneuten Analyse", "pending-changes-guard": "WARNUNG: Sie haben nicht gespeicherte Änderungen. Drücken Sie Abbrechen, um zurück zu gehen und diese Änderungen zu speichern, oder OK, um diese Änderungen zu verlieren.", - "PROCESSING": "wird bearbeitet", "readonly": "Schreibgeschützt", + "recategorize-image-dialog": { + "actions": { + "cancel": "", + "save": "" + }, + "content": { + "comment": "", + "type": "", + "type-placeholder": "" + }, + "header": "" + }, "redaction": "Redaktion", "remove-annotations-dialog": { "confirm": "Ja, fortfahren und entfernen!", "deny": "Stornieren", "dictionary": "Wörterbuch", + "image-type": "", "remove-from-dictionary": { "question": "Folgende Einträge werden aus ihren jeweiligen Wörterbüchern entfernt:", "title": "Aus dem Wörterbuch entfernen" @@ -971,33 +1155,38 @@ }, "value": "Wert" }, - "report": { - "action": { - "efsa": "Mit EFSA-Vorlage herunterladen", - "label": "Redaktionsbericht herunterladen", - "syngenta": "Mit Syngenta-Vorlage herunterladen" - }, - "unavailable": "Der Redaktionsbericht ist erst verfügbar, wenn alle Dateien genehmigt wurden.", - "unavailable-single": "Der Redaktionsbericht ist erst verfügbar, wenn diese Datei genehmigt wurde." - }, "report-type": { - "EXCEL_MULTI_FILE": "Excel (für alle)", - "EXCEL_SINGLE_FILE": "Excel (pro Datei)", - "label": "{{length}} Berichtstypen", - "WORD_SINGLE_FILE_APPENDIX_A1_TEMPLATE": "Begründung Anhang A1", - "WORD_SINGLE_FILE_APPENDIX_A2_TEMPLATE": "Begründung Anhang A2" + "label": "{length} Berichtstypen" + }, + "reports": "", + "reports-screen": { + "description": "", + "document-setup-description": "", + "document-setup-heading": "", + "report-documents": "", + "title": "", + "upload-document": "" }, - "REPROCESS": "wird bearbeitet", "reset-filters": "Filter zurücksetzen", + "reset-password-dialog": { + "actions": { + "cancel": "", + "save": "" + }, + "form": { + "password": "" + }, + "header": "" + }, "roles": { - "INACTIVE": "Inaktiv", - "MANAGER_ADMIN": "Manager", - "NO_ROLE": "Keine Rolle definiert", - "RED_ADMIN": "Anwendungsadministrator", - "RED_MANAGER": "Manager", - "RED_USER": "Benutzer", - "RED_USER_ADMIN": "Benutzer Admin", - "REGULAR": "Regulär" + "inactive": "", + "manager-admin": "", + "no-role": "", + "red-admin": "", + "red-manager": "", + "red-user": "", + "red-user-admin": "", + "regular": "" }, "rule-editor": "Regeleditor", "rules-screen": { @@ -1010,8 +1199,27 @@ "generic": "Regeln aktualisiert!" } }, - "settings": "Die Einstellungen", - "skipped": "Übersprungen", + "search-screen": { + "cols": { + "document": "", + "dossier": "", + "pages": "", + "status": "" + }, + "filters": { + "by-dossier": "" + }, + "missing": "", + "must-contain": "", + "no-data": "", + "table-header": "" + }, + "search": { + "entire-platform": "", + "header-label": "", + "placeholder": "", + "this-dossier": "" + }, "smtp-auth-config": { "actions": { "cancel": "Stornieren", @@ -1024,49 +1232,12 @@ }, "title": "Aktivieren Sie die Authentifizierung" }, - "general-config-screen": { - "actions": { - "save": "Konfigurationen speichern", - "test-connection": "Testverbindung" - }, - "form": { - "auth": "Aktivieren Sie die Authentifizierung", - "change-credentials": "Anmeldeinformationen ändern", - "envelope-from": "Umschlag von", - "envelope-from-hint": "Infotext zum Umschlag aus dem Feld.", - "envelope-from-placeholder": "E-Mail-Adresse des Absenderumschlags", - "from": "Von", - "from-display-name": "Name für Absender", - "from-display-name-hint": "Infotext zum Namen des Absenders.", - "from-display-name-placeholder": "Anzeigename für die Absender-E-Mail-Adresse", - "from-placeholder": "Absender-E-Mail-Adresse", - "host": "Gastgeber", - "host-placeholder": "SMTP-Host", - "port": "Hafen", - "reply-to": "Antwort an", - "reply-to-display-name": "Name für die Antwort an", - "reply-to-display-name-placeholder": "Anzeigename für die Antwort auf die E-Mail-Adresse", - "reply-to-placeholder": "Antwort an E-Mail-Adresse", - "ssl": "Aktivieren Sie SSL", - "starttls": "Aktivieren Sie StartTLS" - }, - "subtitle": "Mit SMTP (Simple Mail Transfer Protocol) können Sie Ihre E-Mails über die angegebenen Servereinstellungen senden.", - "test": { - "error": "Test-E-Mail konnte nicht gesendet werden! Bitte überarbeiten Sie die E-Mail-Adresse.", - "success": "Test-E-Mail wurde erfolgreich gesendet!" - }, - "title": "Konfigurieren Sie das SMTP-Konto" + "time": { + "days": "", + "hours": "", + "less-than-an-hour": "", + "no-time-left": "" }, - "sorting": { - "alphabetically": "Alphabetisch", - "custom": "Benutzerdefiniert", - "number-of-analyses": "Anzahl der Analysen", - "number-of-pages": "Seitenzahl", - "oldest": "Älteste", - "recent": "Kürzlich" - }, - "submitted": "Eingereicht", - "suggestion": "Redaktionsvorschlag", "top-bar": { "navigation-items": { "back": "Zurück", @@ -1081,26 +1252,49 @@ "label": "Sprache" }, "logout": "Ausloggen", - "my-profile": "Mein Profil" + "my-profile": "Mein Profil", + "trash": "" } } } }, + "trash": { + "action": { + "delete": "", + "restore": "" + }, + "bulk": { + "delete": "", + "restore": "" + }, + "label": "", + "no-data": { + "title": "" + }, + "no-match": { + "title": "" + }, + "table-col-names": { + "deleted-on": "", + "name": "", + "owner": "", + "time-to-restore": "" + }, + "table-header": { + "title": "" + } + }, "type": "Art", - "UNASSIGNED": "Nicht zugewiesen", - "UNDER_APPROVAL": "Unter Genehmigung", - "UNDER_REVIEW": "Wird überprüft", - "UNPROCESSED": "Unverarbeitet", "upload-status": { "dialog": { "actions": { "cancel": "Upload abbrechen", "re-upload": "Wiederholen Sie den Upload" }, - "title": "Datei-Uploads ({{len}})" + "title": "Datei-Uploads ({len})" }, "error": { - "file-size": "Datei zu groß. Das Limit ist {{size}} MB.", + "file-size": "Datei zu groß. Das Limit ist {size} MB.", "generic": "Datei konnte nicht hochgeladen werden." } }, @@ -1125,12 +1319,13 @@ "roles": "Rollen" }, "table-header": { - "title": "{{length}} Benutzer" + "title": "{length} Benutzer" } }, "user-management": "Benutzerverwaltung", "user-profile": { "actions": { + "change-password": "", "save": "Profil speichern" }, "form": { diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 3c756753c..1f92dd1a5 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -712,7 +712,7 @@ }, "download-includes": "Choose what is included at download:", "download-status": { - "queued": "Your download has been queued, you can see all your requested downloads here: My Downloads ." + "queued": "Your download has been queued, you can see all your requested downloads here: My Downloads." }, "download-type": { "annotated": "Annotated PDF",