add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks - Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists - Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services - Add Microsoft OIDC SSO, API token management, and user lifecycle features - Add swagger-ui vendor integration and OpenAPI spec - Add production Docker setup and bin/ scripts - Update composer dependencies, config, templates, and frontend assets throughout Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,13 +1,22 @@
|
||||
{
|
||||
"Login": "Login",
|
||||
"Login options": "Anmeldeoptionen",
|
||||
"Register": "Registrieren",
|
||||
"Password": "Passwort",
|
||||
"Or": "Oder",
|
||||
"Forgot password": "Passwort vergessen",
|
||||
"Remember me": "Angemeldet bleiben",
|
||||
"Clear login tokens": "Login-Tokens löschen",
|
||||
"Clear all login tokens for this user?": "Alle Login-Tokens für diesen Benutzer löschen?",
|
||||
"Login tokens cleared": "Login-Tokens gelöscht",
|
||||
"Send access": "Zugang versenden",
|
||||
"Access PDF": "Zugangs-PDF",
|
||||
"Download access PDFs": "Zugangs-PDFs herunterladen",
|
||||
"Generate access PDFs for selected users?": "Zugangs-PDFs für ausgewählte Benutzer erstellen?",
|
||||
"Too many users selected": "Zu viele Benutzer ausgewählt",
|
||||
"No valid users selected": "Keine gültigen Benutzer ausgewählt",
|
||||
"Failed to generate access PDF": "Zugangs-PDF konnte nicht erstellt werden",
|
||||
"ZIP support missing (ext-zip)": "ZIP-Unterstützung fehlt (ext-zip)",
|
||||
"Send access email to this user?": "Zugangsdaten an diesen Benutzer senden?",
|
||||
"Access email sent": "Zugangsdaten gesendet",
|
||||
"Access email failed": "Zugangsdaten konnten nicht gesendet werden",
|
||||
@@ -37,8 +46,19 @@
|
||||
"Logout": "Logout",
|
||||
"Account": "Konto",
|
||||
"Please enter your credentials": "Bitte geben Sie Ihre Zugangsdaten ein",
|
||||
"Enter your email to continue": "E-Mail eingeben und weiter",
|
||||
"Select your tenant to continue": "Mandant auswählen und weiter",
|
||||
"Choose how you want to sign in": "Anmeldeart auswählen",
|
||||
"Continue": "Weiter",
|
||||
"Use different email": "Andere E-Mail verwenden",
|
||||
"We could not continue with these login details": "Mit diesen Login-Daten konnte nicht fortgefahren werden",
|
||||
"Cached": "Cache",
|
||||
"Global settings are stored in the database. config/settings.php is only a runtime cache for selected app settings.": "Globale Einstellungen werden in der Datenbank gespeichert. config/settings.php ist nur ein Laufzeit-Cache für ausgewählte App-Einstellungen.",
|
||||
"Too many login attempts. Please wait and try again.": "Zu viele Login-Versuche. Bitte warte kurz und versuche es erneut.",
|
||||
"No login method is available for this tenant": "Für diesen Mandanten ist keine Login-Methode verfügbar",
|
||||
"Create your account": "Erstelle dein Konto",
|
||||
"First name": "Vorname",
|
||||
"Name": "Name",
|
||||
"Last name": "Nachname",
|
||||
"Email": "E-Mail",
|
||||
"Password (again)": "Passwort bestätigen",
|
||||
@@ -99,6 +119,7 @@
|
||||
"perm.users.view": "Benutzer anzeigen",
|
||||
"perm.users.create": "Benutzer erstellen",
|
||||
"perm.users.update": "Benutzer bearbeiten",
|
||||
"perm.users.access_pdf": "Onboarding-PDFs erstellen",
|
||||
"perm.users.delete": "Benutzer löschen",
|
||||
"perm.users.self_update": "Eigenen Benutzer bearbeiten",
|
||||
"perm.users.update_assignments": "Benutzerzuweisungen bearbeiten",
|
||||
@@ -122,6 +143,11 @@
|
||||
"perm.settings.view": "Einstellungen anzeigen",
|
||||
"perm.settings.update": "Einstellungen bearbeiten",
|
||||
"perm.mail_log.view": "E-Mail-Protokolle anzeigen",
|
||||
"perm.jobs.view": "Geplante Aufgaben anzeigen",
|
||||
"perm.jobs.manage": "Geplante Aufgaben verwalten",
|
||||
"perm.jobs.run_now": "Geplante Aufgaben manuell ausführen",
|
||||
"perm.user_lifecycle_audit.view": "Benutzer-Lifecycle-Protokolle anzeigen",
|
||||
"perm.users.lifecycle_restore": "Benutzer aus Lifecycle-Protokoll wiederherstellen",
|
||||
"Select row": "Zeile auswählen",
|
||||
"Select all": "Alle auswählen",
|
||||
"Activate": "Aktivieren",
|
||||
@@ -226,6 +252,7 @@
|
||||
"Favicon preview": "Favicon Vorschau",
|
||||
"Primary color": "Primärfarbe",
|
||||
"Primary color is invalid": "Primärfarbe ist ungültig",
|
||||
"The primary color affects buttons and accent elements across the app.": "Die Primärfarbe beeinflusst Buttons und Akzent-Elemente in der gesamten App.",
|
||||
"Show filters": "Filter anzeigen",
|
||||
"Hide filters": "Filter ausblenden",
|
||||
"Export CSV": "CSV exportieren",
|
||||
@@ -233,15 +260,43 @@
|
||||
"State": "Status",
|
||||
"Edit": "Bearbeiten",
|
||||
"Status": "Status",
|
||||
"Visibility": "Sichtbarkeit",
|
||||
"Inactive entries are hidden in lists and selections.": "Inaktive Einträge werden in Listen und Auswahlen ausgeblendet.",
|
||||
"All": "Alle",
|
||||
"All people": "Alle Personen",
|
||||
"Explorer": "Explorer",
|
||||
"Search": "Suche",
|
||||
"Search...": "Suchen...",
|
||||
"To start searching, type in the search field.": "Um die Suche zu starten, gib etwas in das Suchfeld ein.",
|
||||
"Tip: Use {shortcut} to focus search quickly.": "Tipp: Mit {shortcut} fokussierst du die Suche schnell.",
|
||||
"Created from": "Erstellt von",
|
||||
"Created to": "Erstellt bis",
|
||||
"Files": "Dateien",
|
||||
"Settings": "Einstellungen",
|
||||
"Documentation": "Dokumentation",
|
||||
"Documentation navigation": "Dokumentationsnavigation",
|
||||
"On this page": "Auf dieser Seite",
|
||||
"Getting started": "Erste Schritte",
|
||||
"Local development": "Lokale Entwicklung",
|
||||
"First change": "Erster Code-Change",
|
||||
"Developer checklist": "Entwickler-Checkliste",
|
||||
"Architecture & rules": "Architektur & Regeln",
|
||||
"Architecture": "Architektur",
|
||||
"Security model": "Sicherheitsmodell",
|
||||
"Conventions": "Konventionen",
|
||||
"Frontend": "Frontend",
|
||||
"Features": "Features",
|
||||
"Settings storage": "Einstellungsspeicher",
|
||||
"Rate limiting": "Rate-Limiting",
|
||||
"User lifecycle": "Benutzer-Lebenszyklus",
|
||||
"Global search": "Globale Suche",
|
||||
"API reference": "API-Referenz",
|
||||
"Operations": "Betrieb",
|
||||
"Troubleshooting": "Fehlerbehebung",
|
||||
"Configuration": "Konfiguration",
|
||||
"Automation & integrations": "Automatisierung & Integrationen",
|
||||
"Monitoring": "Überwachung",
|
||||
"Logs": "Protokolle",
|
||||
"System": "System",
|
||||
"System permission": "Systemberechtigung",
|
||||
"System permission can not be deleted": "Systemberechtigung kann nicht gelöscht werden",
|
||||
@@ -286,7 +341,11 @@
|
||||
"No records found": "Keine Einträge gefunden",
|
||||
"An error happened while fetching the data": "Fehler beim Laden der Daten",
|
||||
"Delete this user?": "Diesen Benutzer wirklich löschen?",
|
||||
"Delete user": "Benutzer löschen",
|
||||
"This will permanently delete this user.": "Dieser Benutzer wird dauerhaft gelöscht.",
|
||||
"Delete this tenant?": "Diesen Mandanten wirklich löschen?",
|
||||
"Delete tenant": "Mandant löschen",
|
||||
"This will permanently delete this tenant.": "Dieser Mandant wird dauerhaft gelöscht.",
|
||||
"Tenant": "Mandant",
|
||||
"Default tenant": "Standard-Mandant",
|
||||
"Default role": "Standard-Rolle",
|
||||
@@ -311,12 +370,24 @@
|
||||
"setting.app_theme": "Standard-Theme, wenn der Benutzer keine Präferenz hat",
|
||||
"setting.app_theme_user": "Benutzer dürfen ihr eigenes Theme wählen",
|
||||
"setting.app_registration": "Öffentliche Selbstregistrierung erlauben",
|
||||
"setting.api_token_default_ttl_days": "Standard-Laufzeit für neue API-Tokens in Tagen (Default: 90)",
|
||||
"setting.api_token_max_ttl_days": "Maximale Laufzeit für API-Tokens in Tagen (Hard Cap)",
|
||||
"setting.api_cors_allowed_origins": "Erlaubte Browser-Origins für API-CORS (eine Origin pro Zeile)",
|
||||
"setting.app_primary_color": "Überschreibt die Standard-Primärfarbe (Hex wie #2FA4A4)",
|
||||
"API token default lifetime (days)": "Standardlaufzeit für API-Tokens (Tage)",
|
||||
"API token maximum lifetime (days)": "Maximale Laufzeit für API-Tokens (Tage)",
|
||||
"Allowed CORS origins": "Erlaubte CORS-Origins",
|
||||
"One origin per line, e.g. https://app.example.com": "Eine Origin pro Zeile, z. B. https://app.example.com",
|
||||
"Default theme": "Standard-Theme",
|
||||
"Allow user theme": "Benutzer-Theme erlauben",
|
||||
"Allow registration": "Registrierung erlauben",
|
||||
"General": "Allgemein",
|
||||
"Appearance": "Darstellung",
|
||||
"API settings": "API-Einstellungen",
|
||||
"API docs": "API-Doku",
|
||||
"API documentation": "API-Dokumentation",
|
||||
"Can view API documentation": "Kann API-Dokumentation anzeigen",
|
||||
"API tokens and default lifetimes are managed here.": "API-Tokens und Standard-Laufzeiten werden hier verwaltet.",
|
||||
"Use default color": "Standardfarbe verwenden",
|
||||
"Tenants can override this color in their appearance settings.": "Mandanten können diese Farbe in ihren Darstellungseinstellungen überschreiben.",
|
||||
"Using the default color applies the global system appearance.": "Standardfarbe verwenden heißt: Es werden die globalen Systemeinstellungen für die Darstellung genutzt.",
|
||||
@@ -329,7 +400,7 @@
|
||||
"Call phone": "Telefon anrufen",
|
||||
"Call mobile": "Mobil anrufen",
|
||||
"Choose color": "Farbe wählen",
|
||||
"Be careful - this resets the tenants color": "Achtung – das setzt die Mandantenfarbe zurück",
|
||||
"Be careful - this resets the tenants color": "Achtung – das setzt die Primärfarbe des Mandanten zurück",
|
||||
"Code": "Code",
|
||||
"Cost center": "Kostenstelle",
|
||||
"Department code already exists": "Abteilungscode existiert bereits",
|
||||
@@ -345,10 +416,12 @@
|
||||
"Tenant updated": "Mandant aktualisiert",
|
||||
"Tenant deleted": "Mandant gelöscht",
|
||||
"Tenant not found": "Mandant nicht gefunden",
|
||||
"Tenant can not be deleted while departments are assigned": "Mandant kann nicht gelöscht werden, solange Abteilungen zugewiesen sind",
|
||||
"Tenant can not be created": "Mandant kann nicht erstellt werden",
|
||||
"Tenant can not be updated": "Mandant kann nicht aktualisiert werden",
|
||||
"Tenant image": "Mandantenbild",
|
||||
"Assigned tenants": "Zugewiesene Mandanten",
|
||||
"Assigned tenant": "Zugewiesener Mandant",
|
||||
"Primary tenant": "Hauptmandant",
|
||||
"Select primary tenant": "Hauptmandant auswählen",
|
||||
"Please select a primary tenant": "Bitte einen Hauptmandanten auswählen",
|
||||
@@ -357,6 +430,8 @@
|
||||
"Departments & roles": "Abteilungen und Rollen",
|
||||
"Department assignments cleaned: %d": "Abteilungszuweisungen bereinigt: %d",
|
||||
"Select tenants": "Mandanten auswählen",
|
||||
"Select tenant": "Mandant auswählen",
|
||||
"Which tenant do you want to sign in to?": "Mit welchem Mandanten anmelden?",
|
||||
"Assigned roles": "Zugewiesene Rollen",
|
||||
"Select roles": "Rollen auswählen",
|
||||
"Department": "Abteilung",
|
||||
@@ -370,8 +445,14 @@
|
||||
"Department can not be created": "Abteilung kann nicht erstellt werden",
|
||||
"Department can not be updated": "Abteilung kann nicht aktualisiert werden",
|
||||
"Delete this department?": "Diese Abteilung wirklich löschen?",
|
||||
"Delete department": "Abteilung löschen",
|
||||
"This will permanently delete this department.": "Diese Abteilung wird dauerhaft gelöscht.",
|
||||
"Assigned departments": "Zugewiesene Abteilungen",
|
||||
"Select departments": "Abteilungen auswählen",
|
||||
"Departments for tenant": "Abteilungen für Mandant",
|
||||
"No departments available for this tenant": "Für diesen Mandanten sind keine Abteilungen verfügbar",
|
||||
"Assign tenants first to select departments": "Bitte zuerst Mandanten zuweisen, um Abteilungen auszuwählen",
|
||||
"Department options refresh after save": "Abteilungsoptionen werden nach dem Speichern aktualisiert",
|
||||
"Role": "Rolle",
|
||||
"Roles": "Rollen",
|
||||
"Create role": "Rolle anlegen",
|
||||
@@ -383,6 +464,11 @@
|
||||
"Role can not be created": "Rolle kann nicht erstellt werden",
|
||||
"Role can not be updated": "Rolle kann nicht aktualisiert werden",
|
||||
"Delete this role?": "Diese Rolle wirklich löschen?",
|
||||
"Delete role": "Rolle löschen",
|
||||
"Delete permission": "Berechtigung löschen",
|
||||
"This will permanently delete this role.": "Diese Rolle wird dauerhaft gelöscht.",
|
||||
"This will permanently delete this permission.": "Diese Berechtigung wird dauerhaft gelöscht.",
|
||||
"This action cannot be undone.": "Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"Description": "Beschreibung",
|
||||
"Description cannot be empty": "Beschreibung darf nicht leer sein",
|
||||
"Status is invalid": "Status ist ungültig",
|
||||
@@ -431,14 +517,13 @@
|
||||
"You do not have permission to view this content.": "Du hast keine Berechtigung, diesen Inhalt zu sehen.",
|
||||
"If you believe this is an error, please contact your system administrator.": "Wenn du glaubst, dass dies ein Fehler ist, wende dich bitte an den Systemadministrator.",
|
||||
"Requested URL": "Angeforderte URL",
|
||||
"Audit": "Audit",
|
||||
"Forward": "Vorwärts",
|
||||
"Status changed": "Status geändert",
|
||||
"Status changed by": "Status geändert von",
|
||||
"Page": "Seite",
|
||||
"Requested path": "Angeforderter Pfad",
|
||||
"Page not found": "Seite nicht gefunden",
|
||||
"The page you requested does not exist or has moved.": "Die angeforderte Seite existiert nicht oder wurde verschoben.",
|
||||
"Back to start": "Zur Startseite",
|
||||
"Page updated": "Seite aktualisiert",
|
||||
"Page can not be updated": "Seite kann nicht aktualisiert werden",
|
||||
"Content is invalid": "Inhalt ist ungültig",
|
||||
@@ -480,7 +565,15 @@
|
||||
"SMTP from address": "Absender-Adresse",
|
||||
"SMTP from name": "Absendername",
|
||||
"Address book": "Adressbuch",
|
||||
"All people": "Alle Personen",
|
||||
"Saved filters": "Gespeicherte Filter",
|
||||
"Save filter": "Filter speichern",
|
||||
"Enter a name for this filter": "Gib einen Namen für diesen Filter ein",
|
||||
"Filter name is required": "Filtername ist erforderlich",
|
||||
"Maximum number of saved filters reached": "Maximale Anzahl gespeicherter Filter erreicht",
|
||||
"Filter saved": "Filter gespeichert",
|
||||
"Delete saved filter": "Gespeicherten Filter löschen",
|
||||
"Filter deleted": "Filter gelöscht",
|
||||
"Filter save failed": "Filter konnte nicht gespeichert werden",
|
||||
"Mobile": "Mobil",
|
||||
"Short dial": "Kurzwahl",
|
||||
"setting.smtp_host": "SMTP-Serveradresse (z.B. smtp.example.com)",
|
||||
@@ -493,12 +586,34 @@
|
||||
"High contrast": "Hoher Kontrast",
|
||||
"Toggle contrast": "Kontrast umschalten",
|
||||
"View in address book": "Im Adressbuch ansehen",
|
||||
"Overview": "Übersicht",
|
||||
"Organization & Quality": "Organisation & Qualität",
|
||||
"Security": "Sicherheit",
|
||||
"Communication": "Kommunikation",
|
||||
"Email security": "E-Mail Sicherheit",
|
||||
"Recipient": "Empfänger",
|
||||
"API": "API",
|
||||
"API requests (24h)": "API Requests (24h)",
|
||||
"Request trend vs previous 24h": "Request-Trend zur vorherigen 24h",
|
||||
"4xx errors (24h)": "4xx Fehler (24h)",
|
||||
"5xx errors (24h)": "5xx Fehler (24h)",
|
||||
"P95 response time (ms)": "P95 Antwortzeit (ms)",
|
||||
"Tokens expiring in 7 days": "Tokens mit Ablauf in 7 Tagen",
|
||||
"Top API error codes (24h)": "Top API-Fehlercodes (24h)",
|
||||
"Slowest API endpoints (avg, 24h)": "Langsamste API-Endpunkte (Durchschnitt, 24h)",
|
||||
"Import runs (7d)": "Import-Läufe (7 Tage)",
|
||||
"Run trend vs previous 7d": "Lauftrend vs. vorige 7 Tage",
|
||||
"Created rows (7d)": "Erstellte Zeilen (7 Tage)",
|
||||
"Failed rows (7d)": "Fehlgeschlagene Zeilen (7 Tage)",
|
||||
"Partial or failed runs (7d)": "Teilweise/fehlgeschlagene Läufe (7 Tage)",
|
||||
"Success rate (7d)": "Erfolgsquote (7 Tage)",
|
||||
"Average duration (ms, 7d)": "Durchschnittsdauer (ms, 7 Tage)",
|
||||
"Recent import runs": "Letzte Import-Läufe",
|
||||
"Imports by profile (7d)": "Importe nach Profil (7 Tage)",
|
||||
"Top import error codes (7d)": "Häufigste Import-Fehlercodes (7 Tage)",
|
||||
"Runs": "Läufe",
|
||||
"Created rows": "Erstellte Zeilen",
|
||||
"Failed rows": "Fehlgeschlagene Zeilen",
|
||||
"Success rate": "Erfolgsquote",
|
||||
"Requests": "Requests",
|
||||
"Average duration (ms)": "Durchschnittliche Dauer (ms)",
|
||||
"Maximum duration (ms)": "Maximale Dauer (ms)",
|
||||
"Error": "Fehler",
|
||||
"Active tenants": "Aktive Mandanten",
|
||||
"Inactive tenants": "Inaktive Mandanten",
|
||||
@@ -517,13 +632,16 @@
|
||||
"Recent logins": "Letzte Anmeldungen",
|
||||
"Never logged in": "Nie angemeldet",
|
||||
"Last login": "Letzte Anmeldung",
|
||||
"Last login via": "Letzte Anmeldung über",
|
||||
"Local": "Lokal",
|
||||
"Microsoft": "Microsoft",
|
||||
"Unknown": "Unbekannt",
|
||||
"User": "Benutzer",
|
||||
"No entries found": "Keine Einträge gefunden",
|
||||
"Login status": "Anmeldestatus",
|
||||
"Logged in": "Angemeldet",
|
||||
"More filters": "Weitere Filter",
|
||||
"Email unverified": "E-Mail nicht verifiziert"
|
||||
,
|
||||
"Email unverified": "E-Mail nicht verifiziert",
|
||||
"Password resets": "Passwort-Resets",
|
||||
"Requested at": "Angefordert am",
|
||||
"Expires at": "Gültig bis",
|
||||
@@ -538,7 +656,7 @@
|
||||
"%d active login tokens": "%d aktive Login-Tokens",
|
||||
"%d login tokens expired": "%d Login-Tokens abgelaufen",
|
||||
"Danger zone": "Gefahrenzone",
|
||||
"This will mark all remember-me tokens as expired. Users will need to sign in again.": "Alle Angemeldet-bleiben Tokens werden als abgelaufen markiert. Benutzer müssen sich erneut anmelden.",
|
||||
"This will mark all remember-me tokens as expired. Users will need to sign in again.": "Alle Angemeldet-bleiben Tokens werden als abgelaufen markiert. Benutzer müssen sich erneut anmelden sobald die Browser-Session ausgelaufen ist.",
|
||||
"Last used": "Zuletzt verwendet",
|
||||
"Keyboard shortcuts": "Tastenkürzel",
|
||||
"Open search": "Suche öffnen",
|
||||
@@ -556,5 +674,418 @@
|
||||
"Toggle sidebar": "Sidebar umschalten",
|
||||
"Unverified": "Nicht verifiziert",
|
||||
"Imprint": "Impressum",
|
||||
"Privacy": "Datenschutz"
|
||||
"Privacy": "Datenschutz",
|
||||
"Custom fields": "Zusatzfelder",
|
||||
"User custom fields": "Benutzerzusatzfelder",
|
||||
"Affected tenants": "Betroffene Mandanten",
|
||||
"If a tenant appears here, at least one custom field setup needs review (missing options, inactive fields with values, or unused active fields).": "Wenn ein Mandant hier erscheint, muss mindestens eine Zusatzfeld-Konfiguration geprüft werden (fehlende Optionen, inaktive Felder mit Werten oder ungenutzte aktive Felder).",
|
||||
"Issue": "Problem",
|
||||
"Count": "Anzahl",
|
||||
"Selection fields without options": "Auswahlfelder ohne Optionen",
|
||||
"Tenants with broken selection fields": "Mandanten mit fehlerhaften Auswahlfeldern",
|
||||
"Inactive custom fields with values": "Inaktive Zusatzfelder mit Werten",
|
||||
"Unused active custom fields": "Ungenutzte aktive Zusatzfelder",
|
||||
"Save tenant first to manage custom fields": "Speichern Sie den Mandanten zuerst, um Zusatzfelder zu verwalten",
|
||||
"Define custom fields here. They appear per user in the \"Custom fields\" tab and can be maintained there.": "Hier definieren Sie Zusatzfelder. Diese erscheinen pro Benutzer im Reiter \"Zusatzfelder\" und sind dort pflegbar.",
|
||||
"Add custom field": "Zusatzfeld hinzufügen",
|
||||
"The label is shown in user custom fields and in address book filters.": "Die Bezeichnung wird bei Benutzer-Zusatzfeldern und in den Adressbuch-Filtern angezeigt.",
|
||||
"The field type controls input and filter behavior.": "Der Feldtyp steuert Eingabe- und Filterverhalten.",
|
||||
"Field key": "Feldschlüssel",
|
||||
"Field type": "Feldtyp",
|
||||
"Text": "Text",
|
||||
"Textarea": "Mehrzeiliger Text",
|
||||
"Select": "Auswahl",
|
||||
"Multiselect": "Mehrfachauswahl",
|
||||
"Boolean": "Ja/Nein",
|
||||
"Date": "Datum",
|
||||
"Sort order": "Sortierung",
|
||||
"Filterable": "Filterbar",
|
||||
"Options (one per line)": "Optionen (eine pro Zeile)",
|
||||
"Example: manager|Manager": "Beispiel: manager|Manager",
|
||||
"One option per line. Optional format: key|Label.": "Eine Option pro Zeile. Optionales Format: key|Label.",
|
||||
"No custom fields configured yet": "Noch keine Zusatzfelder konfiguriert",
|
||||
"Delete custom field": "Zusatzfeld löschen",
|
||||
"Custom field saved": "Zusatzfeld gespeichert",
|
||||
"Custom field deleted": "Zusatzfeld gelöscht",
|
||||
"Custom field can not be created": "Zusatzfeld kann nicht erstellt werden",
|
||||
"Custom field can not be updated": "Zusatzfeld kann nicht aktualisiert werden",
|
||||
"Custom field can not be deleted": "Zusatzfeld kann nicht gelöscht werden",
|
||||
"Custom field values can not be saved": "Zusatzfeldwerte konnten nicht gespeichert werden",
|
||||
"Custom field not found": "Zusatzfeld nicht gefunden",
|
||||
"Label cannot be empty": "Bezeichnung darf nicht leer sein",
|
||||
"Field key cannot be empty": "Feldschlüssel darf nicht leer sein",
|
||||
"Field type is invalid": "Feldtyp ist ungültig",
|
||||
"Field key already exists": "Feldschlüssel existiert bereits",
|
||||
"Options are required for this field type": "Für diesen Feldtyp sind Optionen erforderlich",
|
||||
"Custom fields update after save": "Zusatzfelder werden nach Speichern/Neuladen aktualisiert",
|
||||
"Assign tenants first to edit custom fields": "Bitte zuerst Mandanten zuweisen, um Zusatzfelder zu bearbeiten",
|
||||
"Custom fields for tenant": "Zusatzfelder für Mandant",
|
||||
"No custom fields configured for this tenant": "Für diesen Mandanten sind keine Zusatzfelder konfiguriert",
|
||||
"No custom fields configured for selected tenants": "Für die ausgewählten Mandanten sind keine Zusatzfelder konfiguriert",
|
||||
"Select options": "Optionen auswählen",
|
||||
"Please fill required custom field: %s": "Bitte Pflicht-Zusatzfeld ausfüllen: %s",
|
||||
"Invalid value for %s": "Ungültiger Wert für %s",
|
||||
"Please select": "Bitte auswählen",
|
||||
"From": "Von",
|
||||
"To": "Bis",
|
||||
"perm.custom_fields.manage": "Mandanten-Zusatzfelder verwalten",
|
||||
"perm.custom_fields.edit_values": "Benutzer-Zusatzfelder bearbeiten",
|
||||
"Label": "Bezeichnung",
|
||||
"Required": "Pflichtfeld",
|
||||
"Required fields must be filled before saving a user.": "Pflichtfelder müssen vor dem Speichern eines Benutzers ausgefüllt werden.",
|
||||
"Filterable fields are available in address book filters.": "Filterbare Felder sind im Adressbuch als Filter verfügbar.",
|
||||
"Inactive fields are hidden in forms and filters.": "Inaktive Felder sind in Formularen und Filtern ausgeblendet.",
|
||||
"Default theme is invalid": "Standard-Theme ist ungültig",
|
||||
"User theme policy is invalid": "Benutzer-Theme-Richtlinie ist ungültig",
|
||||
"Theme change is disabled for this tenant": "Theme-Wechsel ist für diesen Mandanten deaktiviert",
|
||||
"Inherit global setting": "Globale Einstellung übernehmen",
|
||||
"Force allow user theme": "Benutzer-Theme erlauben (erzwingen)",
|
||||
"Force disallow user theme": "Benutzer-Theme verbieten (erzwingen)",
|
||||
"If set, this tenant uses its own default theme instead of the global setting.": "Wenn gesetzt, verwendet dieser Mandant sein eigenes Standard-Theme statt der globalen Einstellung.",
|
||||
"Controls whether users in this tenant can choose their own theme.": "Steuert, ob Benutzer in diesem Mandanten ihr eigenes Theme wählen können.",
|
||||
"Tenants can override color and theme behavior in their appearance settings.": "Mandanten können Farbe und Theme-Verhalten in ihren Darstellungs-Einstellungen überschreiben.",
|
||||
"User theme policy": "Benutzer-Theme-Richtlinie",
|
||||
"APP_CRYPTO_KEY is missing or invalid": "APP_CRYPTO_KEY fehlt oder ist ungültig",
|
||||
"Allowed email domains": "Erlaubte E-Mail-Domains",
|
||||
"App credentials source": "Quelle der App-Zugangsdaten",
|
||||
"Authority URL": "Authority-URL",
|
||||
"Clear override secret": "Override-Secret entfernen",
|
||||
"Client ID override": "Client-ID-Override",
|
||||
"Client ID override is required": "Client-ID-Override ist erforderlich",
|
||||
"Client secret could not be encrypted": "Client-Secret konnte nicht verschlüsselt werden",
|
||||
"Client secret override": "Client-Secret-Override",
|
||||
"Client secret override is required": "Client-Secret-Override ist erforderlich",
|
||||
"Configure Microsoft login per tenant. Local login can stay enabled or be enforced off.": "Konfiguriere Microsoft-Login pro Mandant. Der lokale Login kann aktiv bleiben oder erzwungen deaktiviert werden.",
|
||||
"Disable password login for this tenant login": "Passwort-Login für diesen Mandanten-Login deaktivieren",
|
||||
"Enable Microsoft login for this tenant": "Microsoft-Login für diesen Mandanten aktivieren",
|
||||
"Enforcement": "Erzwingung",
|
||||
"Entra tenant ID (tid)": "Entra-Tenant-ID (tid)",
|
||||
"Entra tenant ID is invalid": "Entra-Tenant-ID ist ungültig",
|
||||
"Login failed": "Login fehlgeschlagen",
|
||||
"Microsoft SSO": "Microsoft SSO",
|
||||
"Microsoft login": "Microsoft-Login",
|
||||
"Microsoft login could not be started": "Microsoft-Login konnte nicht gestartet werden",
|
||||
"Microsoft login failed": "Microsoft-Login fehlgeschlagen",
|
||||
"Microsoft login is not allowed for this account": "Microsoft-Login ist für dieses Konto nicht erlaubt",
|
||||
"Microsoft login is not available for this tenant": "Microsoft-Login ist für diesen Mandanten nicht verfügbar",
|
||||
"Microsoft login is not fully configured for this tenant.": "Microsoft-Login ist für diesen Mandanten nicht vollständig konfiguriert.",
|
||||
"Microsoft login was cancelled or failed": "Microsoft-Login wurde abgebrochen oder ist fehlgeschlagen",
|
||||
"Microsoft-only login requires a complete configuration": "Nur-Microsoft-Login erfordert eine vollständige Konfiguration",
|
||||
"No access to this tenant": "Kein Zugriff auf diesen Mandanten",
|
||||
"Shared credentials missing": "Geteilte Zugangsdaten fehlen",
|
||||
"Optional credential override": "Optionale Credential-Überschreibung",
|
||||
"Optional restrictions": "Optionale Einschränkungen",
|
||||
"Optional allow-list, comma or newline separated (example.com).": "Optionale Allow-List, per Komma oder Zeilenumbruch getrennt (example.com).",
|
||||
"Password login is disabled for this tenant. Please use Microsoft login.": "Passwort-Login ist für diesen Mandanten deaktiviert. Bitte nutze Microsoft-Login.",
|
||||
"Password login is disabled for all assigned tenants": "Passwort-Login ist für alle zugewiesenen Mandanten deaktiviert.",
|
||||
"Password login mode": "Passwort-Login-Modus",
|
||||
"Local password + Microsoft": "Lokales Passwort + Microsoft",
|
||||
"Credentials source": "Quelle der Zugangsdaten",
|
||||
"Shared app": "Geteilte App",
|
||||
"Tenant override": "Mandanten-Override",
|
||||
"SSO configuration status": "SSO-Konfigurationsstatus",
|
||||
"Configuration complete": "Konfiguration vollständig",
|
||||
"Required Microsoft configuration": "Pflichtkonfiguration Microsoft",
|
||||
"Required for Microsoft login.": "Für Microsoft-Login erforderlich.",
|
||||
"SSO": "SSO",
|
||||
"Shared Microsoft app credentials are used by tenants that enable \"Use shared app credentials\".": "Geteilte Microsoft-App-Zugangsdaten werden von Mandanten verwendet, die \"Geteilte App-Zugangsdaten verwenden\" aktivieren.",
|
||||
"Shared client ID": "Geteilte Client-ID",
|
||||
"Shared client secret": "Geteiltes Client-Secret",
|
||||
"Sign in with Microsoft": "Mit Microsoft anmelden",
|
||||
"Tenant SSO settings could not be saved": "Mandanten-SSO-Einstellungen konnten nicht gespeichert werden",
|
||||
"Tenant login": "Mandanten-Login",
|
||||
"Tenant login link is invalid": "Mandanten-Login-Link ist ungültig",
|
||||
"Tenant login URL": "Mandanten-Login-URL",
|
||||
"Tenant Microsoft settings": "Mandanten-Microsoft-Einstellungen",
|
||||
"These settings are required per tenant when Microsoft login is enabled.": "Diese Einstellungen sind pro Mandant erforderlich, sobald Microsoft-Login aktiviert ist.",
|
||||
"Profile sync on Microsoft login": "Profil-Sync bei Microsoft-Login",
|
||||
"Profile sync (optional)": "Profil-Sync (optional)",
|
||||
"Sync fields": "Sync-Felder",
|
||||
"Sync first name": "Vorname synchronisieren",
|
||||
"Sync last name": "Nachname synchronisieren",
|
||||
"Sync phone": "Telefon synchronisieren",
|
||||
"Sync mobile": "Mobil synchronisieren",
|
||||
"Sync avatar image": "Avatarbild synchronisieren",
|
||||
"User profile fields are global and affect all tenants of this user": "Benutzer-Profildaten sind global und wirken auf alle Mandanten dieses Benutzers.",
|
||||
"Phone/mobile/avatar sync requires Microsoft Graph (User.Read)": "Telefon/Mobil/Avatar-Sync benötigt Microsoft Graph (User.Read).",
|
||||
"Phone/mobile sync requires Microsoft Graph (User.Read)": "Telefon/Mobil-Sync benötigt Microsoft Graph (User.Read).",
|
||||
"SSO-enabled tenants": "Mandanten mit aktivem SSO",
|
||||
"SSO-enforced tenants": "Mandanten mit erzwungenem SSO",
|
||||
"SSO rollout": "SSO-Rollout",
|
||||
"Users with Microsoft-only login": "Benutzer mit nur Microsoft-Login",
|
||||
"Microsoft profile sync gaps": "Microsoft-Profil-Sync-Lücken",
|
||||
"Tenant SSO overview": "Mandanten-SSO-Übersicht",
|
||||
"Microsoft SSO policy": "Microsoft-SSO-Richtlinie",
|
||||
"Sync enabled": "Sync aktiv",
|
||||
"Local only": "Nur lokal",
|
||||
"Microsoft only": "Nur Microsoft",
|
||||
"Mixed (local + Microsoft)": "Gemischt (lokal + Microsoft)",
|
||||
"Missing values": "Fehlende Werte",
|
||||
"Use shared app credentials from settings": "Geteilte App-Zugangsdaten aus Einstellungen verwenden",
|
||||
"Override only if this tenant needs a separate Entra app.": "Override nur nutzen, wenn dieser Mandant eine eigene Entra-App benötigt.",
|
||||
"Advanced app override": "Erweiterter App-Override",
|
||||
"Use shared app credentials by default. Configure overrides only when this tenant needs a separate app registration.": "Standardmäßig werden geteilte App-Zugangsdaten verwendet. Overrides nur konfigurieren, wenn dieser Mandant eine eigene App-Registrierung braucht.",
|
||||
"Use this URL to enter tenant-scoped login (local and/or Microsoft).": "Diese URL für den mandantenspezifischen Login verwenden (lokal und/oder Microsoft).",
|
||||
"Used only when shared app credentials are disabled.": "Wird nur verwendet, wenn geteilte App-Zugangsdaten deaktiviert sind.",
|
||||
"Uses tenant-specific Entra tenant ID and policy for this login entry.": "Verwendet die mandantenspezifische Entra-Tenant-ID und Richtlinie für diesen Login-Einstieg.",
|
||||
"When enabled, users must use Microsoft login on the tenant login URL.": "Wenn aktiv, müssen Benutzer auf der Mandanten-Login-URL Microsoft-Login verwenden.",
|
||||
"Write-only. Leave empty to keep current secret.": "Nur schreiben. Leer lassen, um das aktuelle Secret beizubehalten.",
|
||||
"Client secret override is invalid": "Client-Secret-Override ist ungültig",
|
||||
"Client credentials are missing": "Client-Zugangsdaten fehlen",
|
||||
"setting.microsoft_shared_client_id": "Einstellungsschlüssel für geteilte Microsoft-Client-ID",
|
||||
"setting.microsoft_shared_client_secret_enc": "Einstellungsschlüssel für geteiltes Microsoft-Client-Secret (verschlüsselt)",
|
||||
"setting.microsoft_authority": "Basis-OpenID-Authority-URL für Microsoft-Login",
|
||||
"API tokens": "API-Tokens",
|
||||
"Token name": "Token-Name",
|
||||
"Create API token": "API-Token erstellen",
|
||||
"Revoke": "Widerrufen",
|
||||
"Revoke this API token?": "Dieses API-Token widerrufen?",
|
||||
"Revoked": "Widerrufen",
|
||||
"Prefix": "Präfix",
|
||||
"No API tokens": "Keine API-Tokens",
|
||||
"New API token (copy now — shown only once):": "Neues API-Token (jetzt kopieren — wird nur einmal angezeigt):",
|
||||
"API token created. Copy it now — it will not be shown again.": "API-Token erstellt. Jetzt kopieren — es wird nicht erneut angezeigt.",
|
||||
"Could not create API token: %s": "API-Token konnte nicht erstellt werden: %s",
|
||||
"API token revoked": "API-Token widerrufen",
|
||||
"%d API tokens revoked": "%d API-Tokens widerrufen",
|
||||
"%d active API tokens": "%d aktive API-Tokens",
|
||||
"Revoke all API tokens": "Alle API-Tokens widerrufen",
|
||||
"Revoke all API tokens?": "Alle API-Tokens widerrufen?",
|
||||
"All API tokens will be revoked immediately.": "Alle API-Tokens werden sofort widerrufen.",
|
||||
"API token default lifetime is invalid": "Standardlaufzeit für API-Tokens ist ungültig",
|
||||
"API token max lifetime is invalid": "Maximale Laufzeit für API-Tokens ist ungültig",
|
||||
"API audit": "API-Protokolle",
|
||||
"API audit logs": "API-Protokolle",
|
||||
"Request ID": "Request-ID",
|
||||
"Method": "Methode",
|
||||
"Path": "Pfad",
|
||||
"Status code": "Statuscode",
|
||||
"Duration (ms)": "Dauer (ms)",
|
||||
"Error code": "Fehlercode",
|
||||
"Token ID": "Token-ID",
|
||||
"Token tenant": "Token-Mandant",
|
||||
"Purge API audit logs": "API-Protokolle bereinigen",
|
||||
"Purge entries older than 90 days?": "Einträge älter als 90 Tage bereinigen?",
|
||||
"%d API audit entries purged": "%d API-Protokoll-Einträge bereinigt",
|
||||
"API audit entry not found": "API-Protokoll-Eintrag nicht gefunden",
|
||||
"View API audit entry": "API-Protokoll-Eintrag anzeigen",
|
||||
"Request details": "Request-Details",
|
||||
"Scope": "Geltungsbereich",
|
||||
"Query": "Query",
|
||||
"User agent": "User-Agent",
|
||||
"All methods": "Alle Methoden",
|
||||
"Tenant ID": "Mandanten-ID",
|
||||
"User ID": "Benutzer-ID",
|
||||
"IP": "IP",
|
||||
"CORS allowed origins are invalid": "Erlaubte CORS-Origins sind ungültig",
|
||||
"Token name is required": "Token-Name ist erforderlich",
|
||||
"e.g. CI Pipeline": "z.B. CI-Pipeline",
|
||||
"Imports": "Importe",
|
||||
"Upload CSV data, map columns, preview and import.": "CSV hochladen, Spalten zuordnen, Vorschau prüfen und importieren.",
|
||||
"You do not have permission to run imports.": "Du hast keine Berechtigung für Importe.",
|
||||
"Entity": "Entität",
|
||||
"CSV file": "CSV-Datei",
|
||||
"Max size 10MB, max 20000 rows": "Maximal 10MB, maximal 20000 Zeilen",
|
||||
"Download sample CSV": "Beispiel-CSV herunterladen",
|
||||
"Analyze file": "Datei analysieren",
|
||||
"Map CSV columns": "CSV-Spalten zuordnen",
|
||||
"Required fields: first_name, last_name, email": "Pflichtfelder: first_name, last_name, email",
|
||||
"CSV header": "CSV-Header",
|
||||
"Target field": "Zielfeld",
|
||||
"Ignore column": "Spalte ignorieren",
|
||||
"Assignment columns require additional permission.": "Zuweisungsspalten benötigen eine zusätzliche Berechtigung.",
|
||||
"Run preview": "Vorschau ausführen",
|
||||
"Preview": "Vorschau",
|
||||
"Rows total": "Zeilen gesamt",
|
||||
"Valid rows": "Gültige Zeilen",
|
||||
"Would create": "Würde erstellen",
|
||||
"Would skip": "Würde überspringen",
|
||||
"Would fail": "Würde fehlschlagen",
|
||||
"Row issues": "Zeilenprobleme",
|
||||
"Start import": "Import starten",
|
||||
"Import finished": "Import abgeschlossen",
|
||||
"Processed": "Verarbeitet",
|
||||
"Skipped": "Übersprungen",
|
||||
"Import another file": "Weitere Datei importieren",
|
||||
"No row errors found": "Keine Zeilenfehler gefunden",
|
||||
"Row": "Zeile",
|
||||
"Code": "Code",
|
||||
"Message": "Nachricht",
|
||||
"No upload file provided": "Keine Upload-Datei übergeben",
|
||||
"Upload exceeds the maximum size": "Upload überschreitet die maximale Dateigröße",
|
||||
"Invalid file type": "Ungültiger Dateityp",
|
||||
"CSV header is invalid": "CSV-Header ist ungültig",
|
||||
"CSV file has no data rows": "CSV-Datei enthält keine Datenzeilen",
|
||||
"CSV row limit exceeded": "CSV-Zeilenlimit überschritten",
|
||||
"Required mapping is missing": "Erforderliches Mapping fehlt",
|
||||
"Assignment import permission is required": "Berechtigung für Assignment-Import ist erforderlich",
|
||||
"Email is invalid": "E-Mail ist ungültig",
|
||||
"Email appears multiple times in this file": "E-Mail kommt mehrfach in dieser Datei vor",
|
||||
"Email already exists": "E-Mail existiert bereits",
|
||||
"Locale is invalid": "Locale ist ungültig",
|
||||
"Active value is invalid": "Active-Wert ist ungültig",
|
||||
"Hire date must be YYYY-MM-DD": "Eintrittsdatum muss YYYY-MM-DD sein",
|
||||
"Tenant is missing, inactive or invalid": "Mandant fehlt, ist inaktiv oder ungültig",
|
||||
"Role is missing, inactive or invalid": "Rolle fehlt, ist inaktiv oder ungültig",
|
||||
"Department is missing, inactive or invalid": "Abteilung fehlt, ist inaktiv oder ungültig",
|
||||
"Department does not belong to tenant": "Abteilung gehört nicht zum Mandanten",
|
||||
"Tenant assignment is out of your scope": "Mandantenzuweisung liegt außerhalb deines Scopes",
|
||||
"User could not be created": "Benutzer konnte nicht erstellt werden",
|
||||
"Unexpected error during import": "Unerwarteter Fehler beim Import",
|
||||
"Required field is empty: first_name": "Pflichtfeld ist leer: first_name",
|
||||
"Required field is empty: last_name": "Pflichtfeld ist leer: last_name",
|
||||
"User assignments can not be updated": "Benutzerzuweisungen können nicht aktualisiert werden",
|
||||
"How the import works": "So funktioniert der Import",
|
||||
"1. Upload CSV and click analyze": "1. CSV hochladen und analysieren klicken",
|
||||
"2. Map your CSV columns to system fields": "2. CSV-Spalten auf Systemfelder mappen",
|
||||
"3. Review preview counters and row errors": "3. Vorschau, Zähler und Zeilenfehler prüfen",
|
||||
"4. Start import for valid rows": "4. Import für gültige Zeilen starten",
|
||||
"Rules": "Regeln",
|
||||
"Create-only: existing emails are skipped": "Nur erstellen: bestehende E-Mails werden übersprungen",
|
||||
"Create-only: existing entries are skipped": "Nur erstellen: bestehende Einträge werden übersprungen",
|
||||
"Here is a CSV template for this import profile.": "Hier ist eine CSV-Vorlage für dieses Importprofil.",
|
||||
"Reference": "Referenz",
|
||||
"Required fields": "Pflichtfelder",
|
||||
"Required field is empty: description": "Pflichtfeld ist leer: description",
|
||||
"Tenant must be a valid UUID": "Mandant muss eine gültige UUID sein",
|
||||
"Code already exists": "Code existiert bereits",
|
||||
"Department already exists for this tenant": "Abteilung für diesen Mandanten existiert bereits",
|
||||
"Duplicate entry in CSV file": "Doppelter Eintrag in der CSV-Datei",
|
||||
"Entry could not be created": "Eintrag konnte nicht erstellt werden",
|
||||
"Import logs": "Import-Protokolle",
|
||||
"Import audit logs": "Import-Protokolle",
|
||||
"Can view import audit logs": "Kann Import-Protokolle anzeigen",
|
||||
"Run UUID": "Run-UUID",
|
||||
"Mapped fields": "Gemappte Felder",
|
||||
"Created count": "Erstellt",
|
||||
"Skipped count": "Übersprungen",
|
||||
"Failed count": "Fehlgeschlagen",
|
||||
"Purge import logs": "Import-Protokolle bereinigen",
|
||||
"%d import audit entries purged": "%d Import-Protokoll-Einträge bereinigt",
|
||||
"Import audit entry not found": "Import-Protokoll-Eintrag nicht gefunden",
|
||||
"View import audit entry": "Import-Protokoll-Eintrag anzeigen",
|
||||
"Import details": "Import-Details",
|
||||
"Started": "Gestartet",
|
||||
"Finished": "Beendet",
|
||||
"File": "Datei",
|
||||
"Current tenant": "Aktueller Mandant",
|
||||
"Error code distribution": "Fehlercode-Verteilung",
|
||||
"All profiles": "Alle Profile",
|
||||
"Running": "Laufend",
|
||||
"Success": "Erfolgreich",
|
||||
"Partial": "Teilweise",
|
||||
"Import": "Import",
|
||||
"Counters": "Zähler",
|
||||
"User lifecycle policy": "Benutzer-Lifecycle-Regel",
|
||||
"Deactivate users after inactivity (days)": "Benutzer nach Inaktivität deaktivieren (Tage)",
|
||||
"Delete inactive users after (days)": "Inaktive Benutzer löschen nach (Tagen)",
|
||||
"0 disables this rule": "0 deaktiviert diese Regel",
|
||||
"Deletion starts after user was set inactive": "Löschung startet erst nach Inaktivsetzung",
|
||||
"Privileged admins are excluded from automatic lifecycle actions": "Privilegierte Admins sind von automatischen Lifecycle-Aktionen ausgenommen",
|
||||
"Run user lifecycle now?": "Benutzer-Lifecycle jetzt ausführen?",
|
||||
"Run user lifecycle now": "Benutzer-Lifecycle jetzt ausführen",
|
||||
"setting.user_inactivity_deactivate_days": "Setzt Benutzer nach dieser Anzahl Tagen ohne Login automatisch auf inaktiv",
|
||||
"setting.user_inactivity_delete_days": "Löscht inaktive Benutzer nach dieser zusätzlichen Anzahl Tagen automatisch",
|
||||
"User lifecycle already running": "Benutzer-Lifecycle läuft bereits",
|
||||
"User lifecycle failed": "Benutzer-Lifecycle fehlgeschlagen",
|
||||
"User lifecycle completed: %d deactivated, %d deleted": "Benutzer-Lifecycle abgeschlossen: %d deaktiviert, %d gelöscht",
|
||||
"User inactivity deactivation period is invalid": "Zeitraum für automatische Deaktivierung ist ungültig",
|
||||
"User inactivity deletion period is invalid": "Zeitraum für automatische Löschung ist ungültig",
|
||||
"Auto-delete is ignored while auto-deactivate is disabled": "Auto-Löschung wird ignoriert, solange Auto-Deaktivierung deaktiviert ist",
|
||||
"Scheduled jobs": "Geplante Aufgaben",
|
||||
"Can view scheduled jobs": "Kann geplante Aufgaben anzeigen",
|
||||
"Can manage scheduled jobs": "Kann geplante Aufgaben verwalten",
|
||||
"Can run scheduled jobs manually": "Kann geplante Aufgaben manuell ausführen",
|
||||
"Scheduled job not found": "Geplante Aufgabe nicht gefunden",
|
||||
"Scheduled job is not registered": "Geplante Aufgabe ist nicht registriert",
|
||||
"Scheduled job could not be saved": "Geplante Aufgabe konnte nicht gespeichert werden",
|
||||
"Scheduled job saved": "Geplante Aufgabe gespeichert",
|
||||
"Edit scheduled job": "Geplante Aufgabe bearbeiten",
|
||||
"Job": "Aufgabe",
|
||||
"Job key": "Aufgaben-Key",
|
||||
"Run history": "Laufhistorie",
|
||||
"Run now": "Jetzt ausführen",
|
||||
"Runtime status": "Laufstatus",
|
||||
"Next run": "Nächster Lauf",
|
||||
"Last run": "Letzter Lauf",
|
||||
"Last error": "Letzter Fehler",
|
||||
"Schedule": "Zeitplan",
|
||||
"Schedule type": "Zeitplan-Typ",
|
||||
"Schedule interval": "Zeitplan-Intervall",
|
||||
"Schedule time": "Zeitplan-Uhrzeit",
|
||||
"Weekdays": "Wochentage",
|
||||
"Hourly": "Stündlich",
|
||||
"Daily": "Täglich",
|
||||
"Weekly": "Wöchentlich",
|
||||
"Enabled": "Aktiv",
|
||||
"Disabled": "Inaktiv",
|
||||
"Timezone": "Zeitzone",
|
||||
"Catch up once": "Verpassten Lauf einmal nachholen",
|
||||
"Scheduler": "Scheduler",
|
||||
"Every %d hour(s)": "Alle %d Stunde(n)",
|
||||
"Every %d day(s) at %s": "Alle %d Tag(e) um %s",
|
||||
"Every %d week(s) on %s at %s": "Alle %d Woche(n) an %s um %s",
|
||||
"No weekdays": "Keine Wochentage",
|
||||
"Mon": "Mo",
|
||||
"Tue": "Di",
|
||||
"Wed": "Mi",
|
||||
"Thu": "Do",
|
||||
"Fri": "Fr",
|
||||
"Sat": "Sa",
|
||||
"Sun": "So",
|
||||
"Schedule type is invalid": "Zeitplan-Typ ist ungültig",
|
||||
"Schedule time is required": "Zeitplan-Uhrzeit ist erforderlich",
|
||||
"Timezone is invalid": "Zeitzone ist ungültig",
|
||||
"Hourly interval must be between 1 and 24": "Stündliches Intervall muss zwischen 1 und 24 liegen",
|
||||
"Daily interval must be between 1 and 365": "Tägliches Intervall muss zwischen 1 und 365 liegen",
|
||||
"Weekly interval must be between 1 and 52": "Wöchentliches Intervall muss zwischen 1 und 52 liegen",
|
||||
"At least one weekday is required for weekly schedule": "Für einen wöchentlichen Zeitplan ist mindestens ein Wochentag erforderlich",
|
||||
"Scheduled job run completed": "Geplante Aufgabe wurde ausgeführt",
|
||||
"Scheduled job run skipped": "Geplante Aufgabe wurde übersprungen",
|
||||
"Scheduled job run failed": "Ausführung der geplanten Aufgabe fehlgeschlagen",
|
||||
"Scheduler is already running": "Scheduler läuft bereits",
|
||||
"Purge scheduler logs": "Scheduler-Protokolle bereinigen",
|
||||
"Purge run logs older than 90 days?": "Laufprotokolle älter als 90 Tage bereinigen?",
|
||||
"%d scheduler run logs purged": "%d Scheduler-Laufprotokolle bereinigt",
|
||||
"User lifecycle logs": "Benutzer-Lifecycle-Protokolle",
|
||||
"View user lifecycle audit entry": "Benutzer-Lifecycle-Eintrag anzeigen",
|
||||
"Lifecycle audit entry not found": "Benutzer-Lifecycle-Eintrag nicht gefunden",
|
||||
"Purge user lifecycle logs": "Benutzer-Lifecycle-Protokolle bereinigen",
|
||||
"Purge entries older than 365 days?": "Einträge älter als 365 Tage bereinigen?",
|
||||
"%d user lifecycle audit entries purged": "%d Benutzer-Lifecycle-Protokoll-Einträge bereinigt",
|
||||
"Lifecycle event": "Lifecycle-Ereignis",
|
||||
"Trigger": "Auslöser",
|
||||
"Reason code": "Fehlercode",
|
||||
"Target": "Ziel",
|
||||
"Target UUID": "Ziel-UUID",
|
||||
"Target email": "Ziel-E-Mail",
|
||||
"Policy": "Regel",
|
||||
"Snapshot summary": "Snapshot-Zusammenfassung",
|
||||
"Snapshot version": "Snapshot-Version",
|
||||
"Restore status": "Wiederherstellungsstatus",
|
||||
"Restored at": "Wiederhergestellt am",
|
||||
"Restored by": "Wiederhergestellt von",
|
||||
"Restored user": "Wiederhergestellter Benutzer",
|
||||
"Restore user": "Benutzer wiederherstellen",
|
||||
"Restore": "Wiederherstellen",
|
||||
"Restore this user from lifecycle snapshot?": "Diesen Benutzer aus dem Lifecycle-Snapshot wiederherstellen?",
|
||||
"User restored": "Benutzer wiederhergestellt",
|
||||
"User restore failed": "Benutzer-Wiederherstellung fehlgeschlagen",
|
||||
"Lifecycle event was already restored": "Lifecycle-Ereignis wurde bereits wiederhergestellt",
|
||||
"Lifecycle snapshot unavailable": "Lifecycle-Snapshot nicht verfügbar",
|
||||
"Restore not possible: email already exists": "Wiederherstellung nicht möglich: E-Mail existiert bereits",
|
||||
"Restore not possible: uuid already exists": "Wiederherstellung nicht möglich: UUID existiert bereits",
|
||||
"All actions": "Alle Aktionen",
|
||||
"All triggers": "Alle Auslöser",
|
||||
"Manual": "Manuell",
|
||||
"Cron": "Cron",
|
||||
"Enabled jobs": "Aktive Aufgaben",
|
||||
"Overdue jobs": "Überfällige Aufgaben",
|
||||
"Scheduler runs (24h)": "Scheduler-Läufe (24h)",
|
||||
"Failed scheduler runs (24h)": "Fehlgeschlagene Scheduler-Läufe (24h)",
|
||||
"Cron runner active": "Cron-Runner aktiv",
|
||||
"Last heartbeat": "Letzter Heartbeat",
|
||||
"Last runner result": "Letztes Runner-Ergebnis",
|
||||
"Runner lock not acquired": "Runner-Lock nicht erhalten",
|
||||
"Locale": "Sprache"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,22 @@
|
||||
{
|
||||
"Login": "Login",
|
||||
"Login options": "Login options",
|
||||
"Register": "Register",
|
||||
"Password": "Password",
|
||||
"Or": "Or",
|
||||
"Forgot password": "Forgot password",
|
||||
"Remember me": "Remember me",
|
||||
"Clear login tokens": "Clear login tokens",
|
||||
"Clear all login tokens for this user?": "Clear all login tokens for this user?",
|
||||
"Login tokens cleared": "Login tokens cleared",
|
||||
"Send access": "Send access",
|
||||
"Access PDF": "Access PDF",
|
||||
"Download access PDFs": "Download access PDFs",
|
||||
"Generate access PDFs for selected users?": "Generate access PDFs for selected users?",
|
||||
"Too many users selected": "Too many users selected",
|
||||
"No valid users selected": "No valid users selected",
|
||||
"Failed to generate access PDF": "Failed to generate access PDF",
|
||||
"ZIP support missing (ext-zip)": "ZIP support missing (ext-zip)",
|
||||
"Send access email to this user?": "Send access email to this user?",
|
||||
"Access email sent": "Access email sent",
|
||||
"Access email failed": "Access email failed",
|
||||
@@ -37,8 +46,19 @@
|
||||
"Logout": "Logout",
|
||||
"Account": "Account",
|
||||
"Please enter your credentials": "Please enter your credentials",
|
||||
"Enter your email to continue": "Enter your email to continue",
|
||||
"Select your tenant to continue": "Select your tenant to continue",
|
||||
"Choose how you want to sign in": "Choose how you want to sign in",
|
||||
"Continue": "Continue",
|
||||
"Use different email": "Use different email",
|
||||
"We could not continue with these login details": "We could not continue with these login details",
|
||||
"Too many login attempts. Please wait and try again.": "Too many login attempts. Please wait and try again.",
|
||||
"No login method is available for this tenant": "No login method is available for this tenant",
|
||||
"Cached": "Cached",
|
||||
"Global settings are stored in the database. config/settings.php is only a runtime cache for selected app settings.": "Global settings are stored in the database. config/settings.php is only a runtime cache for selected app settings.",
|
||||
"Create your account": "Create your account",
|
||||
"First name": "First name",
|
||||
"Name": "Name",
|
||||
"Last name": "Last name",
|
||||
"Email": "Email",
|
||||
"Password (again)": "Password confirm",
|
||||
@@ -99,6 +119,7 @@
|
||||
"perm.users.view": "View users",
|
||||
"perm.users.create": "Create users",
|
||||
"perm.users.update": "Update users",
|
||||
"perm.users.access_pdf": "Generate onboarding PDFs",
|
||||
"perm.users.delete": "Delete users",
|
||||
"perm.users.self_update": "Update own user",
|
||||
"perm.users.update_assignments": "Update user assignments",
|
||||
@@ -122,6 +143,11 @@
|
||||
"perm.settings.view": "View settings",
|
||||
"perm.settings.update": "Update settings",
|
||||
"perm.mail_log.view": "View mail logs",
|
||||
"perm.jobs.view": "View scheduled jobs",
|
||||
"perm.jobs.manage": "Manage scheduled jobs",
|
||||
"perm.jobs.run_now": "Run scheduled jobs manually",
|
||||
"perm.user_lifecycle_audit.view": "View user lifecycle logs",
|
||||
"perm.users.lifecycle_restore": "Restore users from lifecycle audit",
|
||||
"Select row": "Select row",
|
||||
"Select all": "Select all",
|
||||
"Activate": "Activate",
|
||||
@@ -226,6 +252,7 @@
|
||||
"Favicon preview": "Favicon preview",
|
||||
"Primary color": "Primary color",
|
||||
"Primary color is invalid": "Primary color is invalid",
|
||||
"The primary color affects buttons and accent elements across the app.": "The primary color affects buttons and accent elements across the app.",
|
||||
"Show filters": "Show filters",
|
||||
"Hide filters": "Hide filters",
|
||||
"Export CSV": "Export CSV",
|
||||
@@ -233,15 +260,43 @@
|
||||
"State": "State",
|
||||
"Edit": "Edit",
|
||||
"Status": "Status",
|
||||
"Visibility": "Visibility",
|
||||
"Inactive entries are hidden in lists and selections.": "Inactive entries are hidden in lists and selections.",
|
||||
"All": "All",
|
||||
"All people": "All people",
|
||||
"Explorer": "Explorer",
|
||||
"Search": "Search",
|
||||
"Search...": "Search...",
|
||||
"To start searching, type in the search field.": "To start searching, type in the search field.",
|
||||
"Tip: Use {shortcut} to focus search quickly.": "Tip: Use {shortcut} to focus search quickly.",
|
||||
"Created from": "Created from",
|
||||
"Created to": "Created to",
|
||||
"Files": "Files",
|
||||
"Settings": "Settings",
|
||||
"Documentation": "Documentation",
|
||||
"Documentation navigation": "Documentation navigation",
|
||||
"On this page": "On this page",
|
||||
"Getting started": "Getting started",
|
||||
"Local development": "Local development",
|
||||
"First change": "First change",
|
||||
"Developer checklist": "Developer checklist",
|
||||
"Architecture & rules": "Architecture & rules",
|
||||
"Architecture": "Architecture",
|
||||
"Security model": "Security model",
|
||||
"Conventions": "Conventions",
|
||||
"Frontend": "Frontend",
|
||||
"Features": "Features",
|
||||
"Settings storage": "Settings storage",
|
||||
"Rate limiting": "Rate limiting",
|
||||
"User lifecycle": "User lifecycle",
|
||||
"Global search": "Global search",
|
||||
"API reference": "API reference",
|
||||
"Operations": "Operations",
|
||||
"Troubleshooting": "Troubleshooting",
|
||||
"Configuration": "Configuration",
|
||||
"Automation & integrations": "Automation & integrations",
|
||||
"Monitoring": "Monitoring",
|
||||
"Logs": "Logs",
|
||||
"System": "System",
|
||||
"System permission": "System permission",
|
||||
"System permission can not be deleted": "System permission can not be deleted",
|
||||
@@ -286,7 +341,11 @@
|
||||
"No records found": "No records found",
|
||||
"An error happened while fetching the data": "An error happened while fetching the data",
|
||||
"Delete this user?": "Delete this user?",
|
||||
"Delete user": "Delete user",
|
||||
"This will permanently delete this user.": "This will permanently delete this user.",
|
||||
"Delete this tenant?": "Delete this tenant?",
|
||||
"Delete tenant": "Delete tenant",
|
||||
"This will permanently delete this tenant.": "This will permanently delete this tenant.",
|
||||
"Tenant": "Tenant",
|
||||
"Default tenant": "Default tenant",
|
||||
"Default role": "Default role",
|
||||
@@ -311,12 +370,24 @@
|
||||
"setting.app_theme": "Default theme used when a user has no theme preference",
|
||||
"setting.app_theme_user": "Allow users to choose their own theme",
|
||||
"setting.app_registration": "Allow public self-registration",
|
||||
"setting.api_token_default_ttl_days": "Default lifetime for newly created API tokens in days (default: 90)",
|
||||
"setting.api_token_max_ttl_days": "Maximum lifetime for API tokens in days (hard cap)",
|
||||
"setting.api_cors_allowed_origins": "Allowed browser origins for API CORS (one origin per line)",
|
||||
"setting.app_primary_color": "Overrides the default primary color (hex like #2FA4A4)",
|
||||
"API token default lifetime (days)": "API token default lifetime (days)",
|
||||
"API token maximum lifetime (days)": "API token maximum lifetime (days)",
|
||||
"Allowed CORS origins": "Allowed CORS origins",
|
||||
"One origin per line, e.g. https://app.example.com": "One origin per line, e.g. https://app.example.com",
|
||||
"Default theme": "Default theme",
|
||||
"Allow user theme": "Allow user theme",
|
||||
"Allow registration": "Allow registration",
|
||||
"General": "General",
|
||||
"Appearance": "Appearance",
|
||||
"API settings": "API settings",
|
||||
"API docs": "API docs",
|
||||
"API documentation": "API documentation",
|
||||
"Can view API documentation": "Can view API documentation",
|
||||
"API tokens and default lifetimes are managed here.": "API tokens and default lifetimes are managed here.",
|
||||
"Use default color": "Use default color",
|
||||
"Tenants can override this color in their appearance settings.": "Tenants can override this color in their appearance settings.",
|
||||
"Using the default color applies the global system appearance.": "Using the default color applies the global system appearance.",
|
||||
@@ -345,10 +416,12 @@
|
||||
"Tenant updated": "Tenant updated",
|
||||
"Tenant deleted": "Tenant deleted",
|
||||
"Tenant not found": "Tenant not found",
|
||||
"Tenant can not be deleted while departments are assigned": "Tenant can not be deleted while departments are assigned",
|
||||
"Tenant can not be created": "Tenant can not be created",
|
||||
"Tenant can not be updated": "Tenant can not be updated",
|
||||
"Tenant image": "Tenant image",
|
||||
"Assigned tenants": "Assigned tenants",
|
||||
"Assigned tenant": "Assigned tenant",
|
||||
"Primary tenant": "Primary tenant",
|
||||
"Select primary tenant": "Select primary tenant",
|
||||
"Please select a primary tenant": "Please select a primary tenant",
|
||||
@@ -357,6 +430,8 @@
|
||||
"Departments & roles": "Departments & roles",
|
||||
"Department assignments cleaned: %d": "Department assignments cleaned: %d",
|
||||
"Select tenants": "Select tenants",
|
||||
"Select tenant": "Select tenant",
|
||||
"Which tenant do you want to sign in to?": "Which tenant do you want to sign in to?",
|
||||
"Assigned roles": "Assigned roles",
|
||||
"Select roles": "Select roles",
|
||||
"Department": "Department",
|
||||
@@ -370,8 +445,14 @@
|
||||
"Department can not be created": "Department can not be created",
|
||||
"Department can not be updated": "Department can not be updated",
|
||||
"Delete this department?": "Delete this department?",
|
||||
"Delete department": "Delete department",
|
||||
"This will permanently delete this department.": "This will permanently delete this department.",
|
||||
"Assigned departments": "Assigned departments",
|
||||
"Select departments": "Select departments",
|
||||
"Departments for tenant": "Departments for tenant",
|
||||
"No departments available for this tenant": "No departments available for this tenant",
|
||||
"Assign tenants first to select departments": "Assign tenants first to select departments",
|
||||
"Department options refresh after save": "Department options refresh after save",
|
||||
"Role": "Role",
|
||||
"Roles": "Roles",
|
||||
"Create role": "Create role",
|
||||
@@ -383,6 +464,11 @@
|
||||
"Role can not be created": "Role can not be created",
|
||||
"Role can not be updated": "Role can not be updated",
|
||||
"Delete this role?": "Delete this role?",
|
||||
"Delete role": "Delete role",
|
||||
"Delete permission": "Delete permission",
|
||||
"This will permanently delete this role.": "This will permanently delete this role.",
|
||||
"This will permanently delete this permission.": "This will permanently delete this permission.",
|
||||
"This action cannot be undone.": "This action cannot be undone.",
|
||||
"Description": "Description",
|
||||
"Description cannot be empty": "Description cannot be empty",
|
||||
"Status is invalid": "Status is invalid",
|
||||
@@ -431,14 +517,13 @@
|
||||
"You do not have permission to view this content.": "You do not have permission to view this content.",
|
||||
"If you believe this is an error, please contact your system administrator.": "If you believe this is an error, please contact your system administrator.",
|
||||
"Requested URL": "Requested URL",
|
||||
"Audit": "Audit",
|
||||
"Forward": "Forward",
|
||||
"Status changed": "Status changed",
|
||||
"Status changed by": "Status changed by",
|
||||
"Page": "Page",
|
||||
"Requested path": "Requested path",
|
||||
"Page not found": "Page not found",
|
||||
"The page you requested does not exist or has moved.": "The page you requested does not exist or has moved.",
|
||||
"Back to start": "Back to start",
|
||||
"Page updated": "Page updated",
|
||||
"Page can not be updated": "Page can not be updated",
|
||||
"Content is invalid": "Content is invalid",
|
||||
@@ -480,7 +565,15 @@
|
||||
"SMTP from address": "SMTP from address",
|
||||
"SMTP from name": "SMTP from name",
|
||||
"Address book": "Address book",
|
||||
"All people": "All people",
|
||||
"Saved filters": "Saved filters",
|
||||
"Save filter": "Save filter",
|
||||
"Enter a name for this filter": "Enter a name for this filter",
|
||||
"Filter name is required": "Filter name is required",
|
||||
"Maximum number of saved filters reached": "Maximum number of saved filters reached",
|
||||
"Filter saved": "Filter saved",
|
||||
"Delete saved filter": "Delete saved filter",
|
||||
"Filter deleted": "Filter deleted",
|
||||
"Filter save failed": "Filter save failed",
|
||||
"Mobile": "Mobile",
|
||||
"Short dial": "Short dial",
|
||||
"setting.smtp_host": "SMTP server host (e.g. smtp.example.com)",
|
||||
@@ -493,12 +586,34 @@
|
||||
"High contrast": "High contrast",
|
||||
"Toggle contrast": "Toggle contrast",
|
||||
"View in address book": "View in address book",
|
||||
"Overview": "Overview",
|
||||
"Organization & Quality": "Organization & Quality",
|
||||
"Security": "Security",
|
||||
"Communication": "Communication",
|
||||
"Email security": "Email security",
|
||||
"Recipient": "Recipient",
|
||||
"API": "API",
|
||||
"API requests (24h)": "API requests (24h)",
|
||||
"Request trend vs previous 24h": "Request trend vs previous 24h",
|
||||
"4xx errors (24h)": "4xx errors (24h)",
|
||||
"5xx errors (24h)": "5xx errors (24h)",
|
||||
"P95 response time (ms)": "P95 response time (ms)",
|
||||
"Tokens expiring in 7 days": "Tokens expiring in 7 days",
|
||||
"Top API error codes (24h)": "Top API error codes (24h)",
|
||||
"Slowest API endpoints (avg, 24h)": "Slowest API endpoints (avg, 24h)",
|
||||
"Import runs (7d)": "Import runs (7d)",
|
||||
"Run trend vs previous 7d": "Run trend vs previous 7d",
|
||||
"Created rows (7d)": "Created rows (7d)",
|
||||
"Failed rows (7d)": "Failed rows (7d)",
|
||||
"Partial or failed runs (7d)": "Partial or failed runs (7d)",
|
||||
"Success rate (7d)": "Success rate (7d)",
|
||||
"Average duration (ms, 7d)": "Average duration (ms, 7d)",
|
||||
"Recent import runs": "Recent import runs",
|
||||
"Imports by profile (7d)": "Imports by profile (7d)",
|
||||
"Top import error codes (7d)": "Top import error codes (7d)",
|
||||
"Runs": "Runs",
|
||||
"Created rows": "Created rows",
|
||||
"Failed rows": "Failed rows",
|
||||
"Success rate": "Success rate",
|
||||
"Requests": "Requests",
|
||||
"Average duration (ms)": "Average duration (ms)",
|
||||
"Maximum duration (ms)": "Maximum duration (ms)",
|
||||
"Error": "Error",
|
||||
"Active tenants": "Active tenants",
|
||||
"Inactive tenants": "Inactive tenants",
|
||||
@@ -517,13 +632,16 @@
|
||||
"Recent logins": "Recent logins",
|
||||
"Never logged in": "Never logged in",
|
||||
"Last login": "Last login",
|
||||
"Last login via": "Last login via",
|
||||
"Local": "Local",
|
||||
"Microsoft": "Microsoft",
|
||||
"Unknown": "Unknown",
|
||||
"User": "User",
|
||||
"No entries found": "No entries found",
|
||||
"Login status": "Login status",
|
||||
"Logged in": "Logged in",
|
||||
"More filters": "More filters",
|
||||
"Email unverified": "Email unverified"
|
||||
,
|
||||
"Email unverified": "Email unverified",
|
||||
"Password resets": "Password resets",
|
||||
"Requested at": "Requested at",
|
||||
"Expires at": "Expires at",
|
||||
@@ -556,5 +674,418 @@
|
||||
"Toggle sidebar": "Toggle sidebar",
|
||||
"Unverified": "Unverified",
|
||||
"Imprint": "Imprint",
|
||||
"Privacy": "Privacy"
|
||||
"Privacy": "Privacy",
|
||||
"Custom fields": "Custom fields",
|
||||
"User custom fields": "User custom fields",
|
||||
"Affected tenants": "Affected tenants",
|
||||
"If a tenant appears here, at least one custom field setup needs review (missing options, inactive fields with values, or unused active fields).": "If a tenant appears here, at least one custom field setup needs review (missing options, inactive fields with values, or unused active fields).",
|
||||
"Issue": "Issue",
|
||||
"Count": "Count",
|
||||
"Selection fields without options": "Selection fields without options",
|
||||
"Tenants with broken selection fields": "Tenants with broken selection fields",
|
||||
"Inactive custom fields with values": "Inactive custom fields with values",
|
||||
"Unused active custom fields": "Unused active custom fields",
|
||||
"Save tenant first to manage custom fields": "Save tenant first to manage custom fields",
|
||||
"Define custom fields here. They appear per user in the \"Custom fields\" tab and can be maintained there.": "Define custom fields here. They appear per user in the \"Custom fields\" tab and can be maintained there.",
|
||||
"Add custom field": "Add custom field",
|
||||
"The label is shown in user custom fields and in address book filters.": "The label is shown in user custom fields and in address book filters.",
|
||||
"The field type controls input and filter behavior.": "The field type controls input and filter behavior.",
|
||||
"Field key": "Field key",
|
||||
"Field type": "Field type",
|
||||
"Text": "Text",
|
||||
"Textarea": "Textarea",
|
||||
"Select": "Select",
|
||||
"Multiselect": "Multiselect",
|
||||
"Boolean": "Boolean",
|
||||
"Date": "Date",
|
||||
"Sort order": "Sort order",
|
||||
"Filterable": "Filterable",
|
||||
"Options (one per line)": "Options (one per line)",
|
||||
"Example: manager|Manager": "Example: manager|Manager",
|
||||
"One option per line. Optional format: key|Label.": "One option per line. Optional format: key|Label.",
|
||||
"No custom fields configured yet": "No custom fields configured yet",
|
||||
"Delete custom field": "Delete custom field",
|
||||
"Custom field saved": "Custom field saved",
|
||||
"Custom field deleted": "Custom field deleted",
|
||||
"Custom field can not be created": "Custom field can not be created",
|
||||
"Custom field can not be updated": "Custom field can not be updated",
|
||||
"Custom field can not be deleted": "Custom field can not be deleted",
|
||||
"Custom field values can not be saved": "Custom field values can not be saved",
|
||||
"Custom field not found": "Custom field not found",
|
||||
"Label cannot be empty": "Label cannot be empty",
|
||||
"Field key cannot be empty": "Field key cannot be empty",
|
||||
"Field type is invalid": "Field type is invalid",
|
||||
"Field key already exists": "Field key already exists",
|
||||
"Options are required for this field type": "Options are required for this field type",
|
||||
"Custom fields update after save": "Custom fields update after save",
|
||||
"Assign tenants first to edit custom fields": "Assign tenants first to edit custom fields",
|
||||
"Custom fields for tenant": "Custom fields for tenant",
|
||||
"No custom fields configured for this tenant": "No custom fields configured for this tenant",
|
||||
"No custom fields configured for selected tenants": "No custom fields configured for selected tenants",
|
||||
"Select options": "Select options",
|
||||
"Please fill required custom field: %s": "Please fill required custom field: %s",
|
||||
"Invalid value for %s": "Invalid value for %s",
|
||||
"Please select": "Please select",
|
||||
"From": "From",
|
||||
"To": "To",
|
||||
"perm.custom_fields.manage": "Manage tenant custom fields",
|
||||
"perm.custom_fields.edit_values": "Edit user custom field values",
|
||||
"Label": "Label",
|
||||
"Required": "Required",
|
||||
"Required fields must be filled before saving a user.": "Required fields must be filled before saving a user.",
|
||||
"Filterable fields are available in address book filters.": "Filterable fields are available in address book filters.",
|
||||
"Inactive fields are hidden in forms and filters.": "Inactive fields are hidden in forms and filters.",
|
||||
"Default theme is invalid": "Default theme is invalid",
|
||||
"User theme policy is invalid": "User theme policy is invalid",
|
||||
"Theme change is disabled for this tenant": "Theme change is disabled for this tenant",
|
||||
"Inherit global setting": "Inherit global setting",
|
||||
"Force allow user theme": "Force allow user theme",
|
||||
"Force disallow user theme": "Force disallow user theme",
|
||||
"If set, this tenant uses its own default theme instead of the global setting.": "If set, this tenant uses its own default theme instead of the global setting.",
|
||||
"Controls whether users in this tenant can choose their own theme.": "Controls whether users in this tenant can choose their own theme.",
|
||||
"Tenants can override color and theme behavior in their appearance settings.": "Tenants can override color and theme behavior in their appearance settings.",
|
||||
"User theme policy": "User theme policy",
|
||||
"APP_CRYPTO_KEY is missing or invalid": "APP_CRYPTO_KEY is missing or invalid",
|
||||
"Allowed email domains": "Allowed email domains",
|
||||
"App credentials source": "App credentials source",
|
||||
"Authority URL": "Authority URL",
|
||||
"Clear override secret": "Clear override secret",
|
||||
"Client ID override": "Client ID override",
|
||||
"Client ID override is required": "Client ID override is required",
|
||||
"Client secret could not be encrypted": "Client secret could not be encrypted",
|
||||
"Client secret override": "Client secret override",
|
||||
"Client secret override is required": "Client secret override is required",
|
||||
"Configure Microsoft login per tenant. Local login can stay enabled or be enforced off.": "Configure Microsoft login per tenant. Local login can stay enabled or be enforced off.",
|
||||
"Disable password login for this tenant login": "Disable password login for this tenant login",
|
||||
"Enable Microsoft login for this tenant": "Enable Microsoft login for this tenant",
|
||||
"Enforcement": "Enforcement",
|
||||
"Entra tenant ID (tid)": "Entra tenant ID (tid)",
|
||||
"Entra tenant ID is invalid": "Entra tenant ID is invalid",
|
||||
"Login failed": "Login failed",
|
||||
"Microsoft SSO": "Microsoft SSO",
|
||||
"Microsoft login": "Microsoft login",
|
||||
"Microsoft login could not be started": "Microsoft login could not be started",
|
||||
"Microsoft login failed": "Microsoft login failed",
|
||||
"Microsoft login is not allowed for this account": "Microsoft login is not allowed for this account",
|
||||
"Microsoft login is not available for this tenant": "Microsoft login is not available for this tenant",
|
||||
"Microsoft login is not fully configured for this tenant.": "Microsoft login is not fully configured for this tenant.",
|
||||
"Microsoft login was cancelled or failed": "Microsoft login was cancelled or failed",
|
||||
"Microsoft-only login requires a complete configuration": "Microsoft-only login requires a complete configuration",
|
||||
"No access to this tenant": "No access to this tenant",
|
||||
"Shared credentials missing": "Shared credentials missing",
|
||||
"Optional credential override": "Optional credential override",
|
||||
"Optional restrictions": "Optional restrictions",
|
||||
"Optional allow-list, comma or newline separated (example.com).": "Optional allow-list, comma or newline separated (example.com).",
|
||||
"Password login is disabled for this tenant. Please use Microsoft login.": "Password login is disabled for this tenant. Please use Microsoft login.",
|
||||
"Password login is disabled for all assigned tenants": "Password login is disabled for all assigned tenants",
|
||||
"Password login mode": "Password login mode",
|
||||
"Local password + Microsoft": "Local password + Microsoft",
|
||||
"Credentials source": "Credentials source",
|
||||
"Shared app": "Shared app",
|
||||
"Tenant override": "Tenant override",
|
||||
"SSO configuration status": "SSO configuration status",
|
||||
"Configuration complete": "Configuration complete",
|
||||
"Required Microsoft configuration": "Required Microsoft configuration",
|
||||
"Required for Microsoft login.": "Required for Microsoft login.",
|
||||
"SSO": "SSO",
|
||||
"Shared Microsoft app credentials are used by tenants that enable \"Use shared app credentials\".": "Shared Microsoft app credentials are used by tenants that enable \"Use shared app credentials\".",
|
||||
"Shared client ID": "Shared client ID",
|
||||
"Shared client secret": "Shared client secret",
|
||||
"Sign in with Microsoft": "Sign in with Microsoft",
|
||||
"Tenant SSO settings could not be saved": "Tenant SSO settings could not be saved",
|
||||
"Tenant login": "Tenant login",
|
||||
"Tenant login link is invalid": "Tenant login link is invalid",
|
||||
"Tenant login URL": "Tenant login URL",
|
||||
"Tenant Microsoft settings": "Tenant Microsoft settings",
|
||||
"These settings are required per tenant when Microsoft login is enabled.": "These settings are required per tenant when Microsoft login is enabled.",
|
||||
"Profile sync on Microsoft login": "Profile sync on Microsoft login",
|
||||
"Profile sync (optional)": "Profile sync (optional)",
|
||||
"Sync fields": "Sync fields",
|
||||
"Sync first name": "Sync first name",
|
||||
"Sync last name": "Sync last name",
|
||||
"Sync phone": "Sync phone",
|
||||
"Sync mobile": "Sync mobile",
|
||||
"Sync avatar image": "Sync avatar image",
|
||||
"User profile fields are global and affect all tenants of this user": "User profile fields are global and affect all tenants of this user",
|
||||
"Phone/mobile/avatar sync requires Microsoft Graph (User.Read)": "Phone/mobile/avatar sync requires Microsoft Graph (User.Read)",
|
||||
"Phone/mobile sync requires Microsoft Graph (User.Read)": "Phone/mobile sync requires Microsoft Graph (User.Read)",
|
||||
"SSO-enabled tenants": "SSO-enabled tenants",
|
||||
"SSO-enforced tenants": "SSO-enforced tenants",
|
||||
"SSO rollout": "SSO rollout",
|
||||
"Users with Microsoft-only login": "Users with Microsoft-only login",
|
||||
"Microsoft profile sync gaps": "Microsoft profile sync gaps",
|
||||
"Tenant SSO overview": "Tenant SSO overview",
|
||||
"Microsoft SSO policy": "Microsoft SSO policy",
|
||||
"Sync enabled": "Sync enabled",
|
||||
"Local only": "Local only",
|
||||
"Microsoft only": "Microsoft only",
|
||||
"Mixed (local + Microsoft)": "Mixed (local + Microsoft)",
|
||||
"Missing values": "Missing values",
|
||||
"Use shared app credentials from settings": "Use shared app credentials from settings",
|
||||
"Override only if this tenant needs a separate Entra app.": "Override only if this tenant needs a separate Entra app.",
|
||||
"Advanced app override": "Advanced app override",
|
||||
"Use shared app credentials by default. Configure overrides only when this tenant needs a separate app registration.": "Use shared app credentials by default. Configure overrides only when this tenant needs a separate app registration.",
|
||||
"Use this URL to enter tenant-scoped login (local and/or Microsoft).": "Use this URL to enter tenant-scoped login (local and/or Microsoft).",
|
||||
"Used only when shared app credentials are disabled.": "Used only when shared app credentials are disabled.",
|
||||
"Uses tenant-specific Entra tenant ID and policy for this login entry.": "Uses tenant-specific Entra tenant ID and policy for this login entry.",
|
||||
"When enabled, users must use Microsoft login on the tenant login URL.": "When enabled, users must use Microsoft login on the tenant login URL.",
|
||||
"Write-only. Leave empty to keep current secret.": "Write-only. Leave empty to keep current secret.",
|
||||
"Client secret override is invalid": "Client secret override is invalid",
|
||||
"Client credentials are missing": "Client credentials are missing",
|
||||
"setting.microsoft_shared_client_id": "Setting key for shared Microsoft client ID",
|
||||
"setting.microsoft_shared_client_secret_enc": "Setting key for shared Microsoft client secret (encrypted)",
|
||||
"setting.microsoft_authority": "Base OpenID authority URL for Microsoft login",
|
||||
"API tokens": "API tokens",
|
||||
"Token name": "Token name",
|
||||
"Create API token": "Create API token",
|
||||
"Revoke": "Revoke",
|
||||
"Revoke this API token?": "Revoke this API token?",
|
||||
"Revoked": "Revoked",
|
||||
"Prefix": "Prefix",
|
||||
"No API tokens": "No API tokens",
|
||||
"New API token (copy now — shown only once):": "New API token (copy now — shown only once):",
|
||||
"API token created. Copy it now — it will not be shown again.": "API token created. Copy it now — it will not be shown again.",
|
||||
"Could not create API token: %s": "Could not create API token: %s",
|
||||
"API token revoked": "API token revoked",
|
||||
"%d API tokens revoked": "%d API tokens revoked",
|
||||
"%d active API tokens": "%d active API tokens",
|
||||
"Revoke all API tokens": "Revoke all API tokens",
|
||||
"Revoke all API tokens?": "Revoke all API tokens?",
|
||||
"All API tokens will be revoked immediately.": "All API tokens will be revoked immediately.",
|
||||
"API token default lifetime is invalid": "API token default lifetime is invalid",
|
||||
"API token max lifetime is invalid": "API token max lifetime is invalid",
|
||||
"API audit": "API logs",
|
||||
"API audit logs": "API logs",
|
||||
"Request ID": "Request ID",
|
||||
"Method": "Method",
|
||||
"Path": "Path",
|
||||
"Status code": "Status code",
|
||||
"Duration (ms)": "Duration (ms)",
|
||||
"Error code": "Error code",
|
||||
"Token ID": "Token ID",
|
||||
"Token tenant": "Token tenant",
|
||||
"Purge API audit logs": "Purge API logs",
|
||||
"Purge entries older than 90 days?": "Purge entries older than 90 days?",
|
||||
"%d API audit entries purged": "%d API log entries purged",
|
||||
"API audit entry not found": "API log entry not found",
|
||||
"View API audit entry": "View API log entry",
|
||||
"Request details": "Request details",
|
||||
"Scope": "Scope",
|
||||
"Query": "Query",
|
||||
"User agent": "User agent",
|
||||
"All methods": "All methods",
|
||||
"Tenant ID": "Tenant ID",
|
||||
"User ID": "User ID",
|
||||
"IP": "IP",
|
||||
"CORS allowed origins are invalid": "CORS allowed origins are invalid",
|
||||
"Token name is required": "Token name is required",
|
||||
"e.g. CI Pipeline": "e.g. CI Pipeline",
|
||||
"Imports": "Imports",
|
||||
"Upload CSV data, map columns, preview and import.": "Upload CSV data, map columns, preview and import.",
|
||||
"You do not have permission to run imports.": "You do not have permission to run imports.",
|
||||
"Entity": "Entity",
|
||||
"CSV file": "CSV file",
|
||||
"Max size 10MB, max 20000 rows": "Max size 10MB, max 20000 rows",
|
||||
"Download sample CSV": "Download sample CSV",
|
||||
"Analyze file": "Analyze file",
|
||||
"Map CSV columns": "Map CSV columns",
|
||||
"Required fields: first_name, last_name, email": "Required fields: first_name, last_name, email",
|
||||
"CSV header": "CSV header",
|
||||
"Target field": "Target field",
|
||||
"Ignore column": "Ignore column",
|
||||
"Assignment columns require additional permission.": "Assignment columns require additional permission.",
|
||||
"Run preview": "Run preview",
|
||||
"Preview": "Preview",
|
||||
"Rows total": "Rows total",
|
||||
"Valid rows": "Valid rows",
|
||||
"Would create": "Would create",
|
||||
"Would skip": "Would skip",
|
||||
"Would fail": "Would fail",
|
||||
"Row issues": "Row issues",
|
||||
"Start import": "Start import",
|
||||
"Import finished": "Import finished",
|
||||
"Processed": "Processed",
|
||||
"Skipped": "Skipped",
|
||||
"Import another file": "Import another file",
|
||||
"No row errors found": "No row errors found",
|
||||
"Row": "Row",
|
||||
"Code": "Code",
|
||||
"Message": "Message",
|
||||
"No upload file provided": "No upload file provided",
|
||||
"Upload exceeds the maximum size": "Upload exceeds the maximum size",
|
||||
"Invalid file type": "Invalid file type",
|
||||
"CSV header is invalid": "CSV header is invalid",
|
||||
"CSV file has no data rows": "CSV file has no data rows",
|
||||
"CSV row limit exceeded": "CSV row limit exceeded",
|
||||
"Required mapping is missing": "Required mapping is missing",
|
||||
"Assignment import permission is required": "Assignment import permission is required",
|
||||
"Email is invalid": "Email is invalid",
|
||||
"Email appears multiple times in this file": "Email appears multiple times in this file",
|
||||
"Email already exists": "Email already exists",
|
||||
"Locale is invalid": "Locale is invalid",
|
||||
"Active value is invalid": "Active value is invalid",
|
||||
"Hire date must be YYYY-MM-DD": "Hire date must be YYYY-MM-DD",
|
||||
"Tenant is missing, inactive or invalid": "Tenant is missing, inactive or invalid",
|
||||
"Role is missing, inactive or invalid": "Role is missing, inactive or invalid",
|
||||
"Department is missing, inactive or invalid": "Department is missing, inactive or invalid",
|
||||
"Department does not belong to tenant": "Department does not belong to tenant",
|
||||
"Tenant assignment is out of your scope": "Tenant assignment is out of your scope",
|
||||
"User could not be created": "User could not be created",
|
||||
"Unexpected error during import": "Unexpected error during import",
|
||||
"Required field is empty: first_name": "Required field is empty: first_name",
|
||||
"Required field is empty: last_name": "Required field is empty: last_name",
|
||||
"User assignments can not be updated": "User assignments can not be updated",
|
||||
"How the import works": "How the import works",
|
||||
"1. Upload CSV and click analyze": "1. Upload CSV and click analyze",
|
||||
"2. Map your CSV columns to system fields": "2. Map your CSV columns to system fields",
|
||||
"3. Review preview counters and row errors": "3. Review preview counters and row errors",
|
||||
"4. Start import for valid rows": "4. Start import for valid rows",
|
||||
"Rules": "Rules",
|
||||
"Create-only: existing emails are skipped": "Create-only: existing emails are skipped",
|
||||
"Create-only: existing entries are skipped": "Create-only: existing entries are skipped",
|
||||
"Here is a CSV template for this import profile.": "Here is a CSV template for this import profile.",
|
||||
"Reference": "Reference",
|
||||
"Required fields": "Required fields",
|
||||
"Required field is empty: description": "Required field is empty: description",
|
||||
"Tenant must be a valid UUID": "Tenant must be a valid UUID",
|
||||
"Code already exists": "Code already exists",
|
||||
"Department already exists for this tenant": "Department already exists for this tenant",
|
||||
"Duplicate entry in CSV file": "Duplicate entry in CSV file",
|
||||
"Entry could not be created": "Entry could not be created",
|
||||
"Import logs": "Import logs",
|
||||
"Import audit logs": "Import audit logs",
|
||||
"Can view import audit logs": "Can view import audit logs",
|
||||
"Run UUID": "Run UUID",
|
||||
"Mapped fields": "Mapped fields",
|
||||
"Created count": "Created count",
|
||||
"Skipped count": "Skipped count",
|
||||
"Failed count": "Failed count",
|
||||
"Purge import logs": "Purge import logs",
|
||||
"%d import audit entries purged": "%d import audit entries purged",
|
||||
"Import audit entry not found": "Import audit entry not found",
|
||||
"View import audit entry": "View import audit entry",
|
||||
"Import details": "Import details",
|
||||
"Started": "Started",
|
||||
"Finished": "Finished",
|
||||
"File": "File",
|
||||
"Current tenant": "Current tenant",
|
||||
"Error code distribution": "Error code distribution",
|
||||
"All profiles": "All profiles",
|
||||
"Running": "Running",
|
||||
"Success": "Success",
|
||||
"Partial": "Partial",
|
||||
"Import": "Import",
|
||||
"Counters": "Counters",
|
||||
"User lifecycle policy": "User lifecycle policy",
|
||||
"Deactivate users after inactivity (days)": "Deactivate users after inactivity (days)",
|
||||
"Delete inactive users after (days)": "Delete inactive users after (days)",
|
||||
"0 disables this rule": "0 disables this rule",
|
||||
"Deletion starts after user was set inactive": "Deletion starts after user was set inactive",
|
||||
"Privileged admins are excluded from automatic lifecycle actions": "Privileged admins are excluded from automatic lifecycle actions",
|
||||
"Run user lifecycle now?": "Run user lifecycle now?",
|
||||
"Run user lifecycle now": "Run user lifecycle now",
|
||||
"setting.user_inactivity_deactivate_days": "Automatically set users inactive after this many days without login",
|
||||
"setting.user_inactivity_delete_days": "Automatically delete inactive users after this many additional days",
|
||||
"User lifecycle already running": "User lifecycle already running",
|
||||
"User lifecycle failed": "User lifecycle failed",
|
||||
"User lifecycle completed: %d deactivated, %d deleted": "User lifecycle completed: %d deactivated, %d deleted",
|
||||
"User inactivity deactivation period is invalid": "User inactivity deactivation period is invalid",
|
||||
"User inactivity deletion period is invalid": "User inactivity deletion period is invalid",
|
||||
"Auto-delete is ignored while auto-deactivate is disabled": "Auto-delete is ignored while auto-deactivate is disabled",
|
||||
"Scheduled jobs": "Scheduled jobs",
|
||||
"Can view scheduled jobs": "Can view scheduled jobs",
|
||||
"Can manage scheduled jobs": "Can manage scheduled jobs",
|
||||
"Can run scheduled jobs manually": "Can run scheduled jobs manually",
|
||||
"Scheduled job not found": "Scheduled job not found",
|
||||
"Scheduled job is not registered": "Scheduled job is not registered",
|
||||
"Scheduled job could not be saved": "Scheduled job could not be saved",
|
||||
"Scheduled job saved": "Scheduled job saved",
|
||||
"Edit scheduled job": "Edit scheduled job",
|
||||
"Job": "Job",
|
||||
"Job key": "Job key",
|
||||
"Run history": "Run history",
|
||||
"Run now": "Run now",
|
||||
"Runtime status": "Runtime status",
|
||||
"Next run": "Next run",
|
||||
"Last run": "Last run",
|
||||
"Last error": "Last error",
|
||||
"Schedule": "Schedule",
|
||||
"Schedule type": "Schedule type",
|
||||
"Schedule interval": "Schedule interval",
|
||||
"Schedule time": "Schedule time",
|
||||
"Weekdays": "Weekdays",
|
||||
"Hourly": "Hourly",
|
||||
"Daily": "Daily",
|
||||
"Weekly": "Weekly",
|
||||
"Enabled": "Enabled",
|
||||
"Disabled": "Disabled",
|
||||
"Timezone": "Timezone",
|
||||
"Catch up once": "Catch up once",
|
||||
"Scheduler": "Scheduler",
|
||||
"Every %d hour(s)": "Every %d hour(s)",
|
||||
"Every %d day(s) at %s": "Every %d day(s) at %s",
|
||||
"Every %d week(s) on %s at %s": "Every %d week(s) on %s at %s",
|
||||
"No weekdays": "No weekdays",
|
||||
"Mon": "Mon",
|
||||
"Tue": "Tue",
|
||||
"Wed": "Wed",
|
||||
"Thu": "Thu",
|
||||
"Fri": "Fri",
|
||||
"Sat": "Sat",
|
||||
"Sun": "Sun",
|
||||
"Schedule type is invalid": "Schedule type is invalid",
|
||||
"Schedule time is required": "Schedule time is required",
|
||||
"Timezone is invalid": "Timezone is invalid",
|
||||
"Hourly interval must be between 1 and 24": "Hourly interval must be between 1 and 24",
|
||||
"Daily interval must be between 1 and 365": "Daily interval must be between 1 and 365",
|
||||
"Weekly interval must be between 1 and 52": "Weekly interval must be between 1 and 52",
|
||||
"At least one weekday is required for weekly schedule": "At least one weekday is required for weekly schedule",
|
||||
"Scheduled job run completed": "Scheduled job run completed",
|
||||
"Scheduled job run skipped": "Scheduled job run skipped",
|
||||
"Scheduled job run failed": "Scheduled job run failed",
|
||||
"Scheduler is already running": "Scheduler is already running",
|
||||
"Purge scheduler logs": "Purge scheduler logs",
|
||||
"Purge run logs older than 90 days?": "Purge run logs older than 90 days?",
|
||||
"%d scheduler run logs purged": "%d scheduler run logs purged",
|
||||
"User lifecycle logs": "User lifecycle logs",
|
||||
"View user lifecycle audit entry": "View user lifecycle audit entry",
|
||||
"Lifecycle audit entry not found": "Lifecycle audit entry not found",
|
||||
"Purge user lifecycle logs": "Purge user lifecycle logs",
|
||||
"Purge entries older than 365 days?": "Purge entries older than 365 days?",
|
||||
"%d user lifecycle audit entries purged": "%d user lifecycle audit entries purged",
|
||||
"Lifecycle event": "Lifecycle event",
|
||||
"Trigger": "Trigger",
|
||||
"Reason code": "Reason code",
|
||||
"Target": "Target",
|
||||
"Target UUID": "Target UUID",
|
||||
"Target email": "Target email",
|
||||
"Policy": "Policy",
|
||||
"Snapshot summary": "Snapshot summary",
|
||||
"Snapshot version": "Snapshot version",
|
||||
"Restore status": "Restore status",
|
||||
"Restored at": "Restored at",
|
||||
"Restored by": "Restored by",
|
||||
"Restored user": "Restored user",
|
||||
"Restore user": "Restore user",
|
||||
"Restore": "Restore",
|
||||
"Restore this user from lifecycle snapshot?": "Restore this user from lifecycle snapshot?",
|
||||
"User restored": "User restored",
|
||||
"User restore failed": "User restore failed",
|
||||
"Lifecycle event was already restored": "Lifecycle event was already restored",
|
||||
"Lifecycle snapshot unavailable": "Lifecycle snapshot unavailable",
|
||||
"Restore not possible: email already exists": "Restore not possible: email already exists",
|
||||
"Restore not possible: uuid already exists": "Restore not possible: uuid already exists",
|
||||
"All actions": "All actions",
|
||||
"All triggers": "All triggers",
|
||||
"Manual": "Manual",
|
||||
"Cron": "Cron",
|
||||
"Enabled jobs": "Enabled jobs",
|
||||
"Overdue jobs": "Overdue jobs",
|
||||
"Scheduler runs (24h)": "Scheduler runs (24h)",
|
||||
"Failed scheduler runs (24h)": "Failed scheduler runs (24h)",
|
||||
"Cron runner active": "Cron runner active",
|
||||
"Last heartbeat": "Last heartbeat",
|
||||
"Last runner result": "Last runner result",
|
||||
"Runner lock not acquired": "Runner lock not acquired",
|
||||
"Locale": "Locale"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user