Replace hardcoded .env configuration with database-backed settings
manageable through the Admin web interface. This reduces .env to
bootstrap-only variables (DB, Keycloak, encryption keys).
Backend:
- Add SystemSetting Prisma model with category, valueType, isSecret
- Add system-settings NestJS module (CRUD, 60s cache, encryption)
- Refactor all 7 connectors to lazy-load credentials from DB via
CredentialsService.findActiveByType() instead of ConfigService
- Add event-driven credential reload (@nestjs/event-emitter)
- Dynamic CORS origins and conditional Swagger from DB settings
- Fix JWT strategy: use Keycloak JWKS (RS256) instead of symmetric secret
- Add SYSTEM_SETTINGS_VIEW/MANAGE permissions
- Seed 13 default settings (sync intervals, features, branding, CORS)
- Add env-to-db migration script (prisma/migrate-env-to-db.ts)
Frontend:
- Add use-credentials hook (full CRUD for integration credentials)
- Add use-system-settings hook (read/update system settings)
- Wire admin-integrations page to real API (create/update/test/toggle)
- Add admin system-settings page with 4 tabs (Branding, CORS, Sync, Features)
- Fix sidebar double-highlighting with exactMatch flag
- Fix integration detail fallback when API unavailable
- Fix API client to unwrap backend's {success, data} envelope
- Update NEXT_PUBLIC_API_URL to include /v1 version prefix
- Fix activity-widget hydration error
- Add i18n keys for systemSettings (de + en)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1078 lines
40 KiB
JSON
1078 lines
40 KiB
JSON
{
|
|
"common": {
|
|
"save": "Speichern",
|
|
"cancel": "Abbrechen",
|
|
"delete": "Loeschen",
|
|
"edit": "Bearbeiten",
|
|
"create": "Erstellen",
|
|
"search": "Suchen",
|
|
"filter": "Filtern",
|
|
"loading": "Wird geladen...",
|
|
"error": "Ein Fehler ist aufgetreten",
|
|
"success": "Erfolgreich",
|
|
"confirm": "Bestaetigen",
|
|
"back": "Zurueck",
|
|
"next": "Weiter",
|
|
"close": "Schliessen",
|
|
"yes": "Ja",
|
|
"no": "Nein",
|
|
"all": "Alle",
|
|
"none": "Keine",
|
|
"select": "Auswaehlen",
|
|
"submit": "Absenden",
|
|
"reset": "Zuruecksetzen",
|
|
"refresh": "Aktualisieren",
|
|
"export": "Exportieren",
|
|
"import": "Importieren",
|
|
"download": "Herunterladen",
|
|
"upload": "Hochladen",
|
|
"actions": "Aktionen",
|
|
"openMenu": "Menue oeffnen",
|
|
"retry": "Erneut versuchen",
|
|
"noData": "Keine Daten verfuegbar",
|
|
"noResults": "Keine Ergebnisse gefunden.",
|
|
"loadingError": "Fehler beim Laden",
|
|
"columns": "Spalten",
|
|
"rowsPerPage": "Zeilen pro Seite",
|
|
"page": "Seite",
|
|
"of": "von",
|
|
"rowsSelected": "{selected} von {total} Zeile(n) ausgewaehlt.",
|
|
"completed": "Abgeschlossen",
|
|
"cancelled": "Abgebrochen",
|
|
"inProgress": "In Bearbeitung",
|
|
"notStarted": "Nicht gestartet",
|
|
"problem": "Problem",
|
|
"noRolesAssigned": "Keine Rollen zugewiesen"
|
|
},
|
|
"auth": {
|
|
"login": "Anmelden",
|
|
"logout": "Abmelden",
|
|
"loginTitle": "Willkommen bei tOS",
|
|
"loginSubtitle": "Melden Sie sich mit Ihrem Unternehmenskonto an",
|
|
"loginButton": "Mit Keycloak anmelden",
|
|
"loggingIn": "Anmeldung laeuft...",
|
|
"logoutButton": "Abmelden",
|
|
"sessionExpired": "Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.",
|
|
"unauthorized": "Sie haben keine Berechtigung fuer diese Aktion."
|
|
},
|
|
"navigation": {
|
|
"dashboard": "Dashboard",
|
|
"lean": "LEAN",
|
|
"hr": "Personal",
|
|
"integrations": "Integrationen",
|
|
"admin": "Administration",
|
|
"settings": "Einstellungen",
|
|
"profile": "Profil",
|
|
"help": "Hilfe",
|
|
"s3Planning": "3S-Planung",
|
|
"morningMeeting": "Morning Meeting",
|
|
"skillMatrix": "Skill-Matrix",
|
|
"employees": "Mitarbeiter",
|
|
"timeTracking": "Zeiterfassung",
|
|
"absences": "Abwesenheiten",
|
|
"orgChart": "Organigramm",
|
|
"onboarding": "Onboarding",
|
|
"reviews": "Mitarbeitergespraeche",
|
|
"users": "Benutzer",
|
|
"departments": "Abteilungen",
|
|
"overview": "Uebersicht",
|
|
"plentyOne": "PlentyONE",
|
|
"zulip": "ZULIP",
|
|
"systemSettings": "Einstellungen"
|
|
},
|
|
"dashboard": {
|
|
"title": "Dashboard",
|
|
"welcome": "Willkommen, {name}!",
|
|
"welcomeBack": "Willkommen zurueck, {name}!",
|
|
"overview": "Ihre persoenliche Uebersicht",
|
|
"quickActions": "Schnellzugriff",
|
|
"recentActivity": "Letzte Aktivitaeten",
|
|
"notifications": "Benachrichtigungen",
|
|
"noNotifications": "Keine neuen Benachrichtigungen",
|
|
"todaysTasks": "Heutige Aufgaben",
|
|
"upcomingEvents": "Anstehende Termine",
|
|
"reset": "Zuruecksetzen",
|
|
"done": "Fertig",
|
|
"customize": "Anpassen",
|
|
"editModeActive": "Bearbeitungsmodus aktiv:",
|
|
"editModeDescription": "Ziehen Sie Widgets, um sie neu anzuordnen. Klicken Sie auf das X, um ein Widget zu entfernen."
|
|
},
|
|
"widgets": {
|
|
"addWidget": "Widget hinzufuegen",
|
|
"addWidgetTitle": "Widget hinzufuegen",
|
|
"addWidgetDescription": "Waehlen Sie ein Widget aus, um es zu Ihrem Dashboard hinzuzufuegen",
|
|
"searchWidgets": "Widgets durchsuchen...",
|
|
"noWidgetsFound": "Keine Widgets gefunden",
|
|
"alreadyAdded": "Bereits hinzugefuegt",
|
|
"categories": {
|
|
"all": "Alle",
|
|
"general": "Allgemein",
|
|
"productivity": "Produktivitaet",
|
|
"analytics": "Analysen",
|
|
"communication": "Kommunikation",
|
|
"integrations": "Integrationen"
|
|
},
|
|
"clock": {
|
|
"name": "Uhr",
|
|
"description": "Zeigt die aktuelle Uhrzeit und das Datum an"
|
|
},
|
|
"welcome": {
|
|
"name": "Willkommen",
|
|
"description": "Persoenliche Begruessung mit Benutzerinformationen",
|
|
"goodMorning": "Guten Morgen",
|
|
"goodAfternoon": "Guten Tag",
|
|
"goodEvening": "Guten Abend",
|
|
"goodNight": "Gute Nacht",
|
|
"subtitle": "Was moechten Sie heute erledigen?"
|
|
},
|
|
"quickActions": {
|
|
"name": "Schnellaktionen",
|
|
"description": "Schnellzugriff auf haeufige Aktionen",
|
|
"clockIn": "Einstempeln",
|
|
"requestVacation": "Urlaub beantragen",
|
|
"scheduleMeeting": "Meeting planen",
|
|
"createDocument": "Dokument erstellen"
|
|
},
|
|
"stats": {
|
|
"name": "Statistiken",
|
|
"description": "Wichtige Kennzahlen auf einen Blick",
|
|
"presentToday": "Anwesend heute",
|
|
"openTasks": "Offene Aufgaben",
|
|
"upcomingMeetings": "Anstehende Termine",
|
|
"openTickets": "Offene Tickets",
|
|
"trendPresentToday": "+3 seit gestern",
|
|
"trendOpenTasks": "5 mit hoher Prioritaet",
|
|
"trendUpcomingMeetings": "Diese Woche",
|
|
"trendOpenTickets": "-5 im Vergleich zu gestern"
|
|
},
|
|
"calendar": {
|
|
"name": "Kalender",
|
|
"description": "Mini-Kalender mit Terminen"
|
|
},
|
|
"activity": {
|
|
"name": "Aktivitaeten",
|
|
"description": "Letzte Aktivitaeten und Ereignisse",
|
|
"noActivity": "Keine aktuellen Aktivitaeten"
|
|
},
|
|
"notifications": {
|
|
"name": "Benachrichtigungen",
|
|
"description": "Aktuelle Benachrichtigungen"
|
|
},
|
|
"tasks": {
|
|
"name": "Aufgaben",
|
|
"description": "Ihre aktuellen Aufgaben"
|
|
},
|
|
"orders": {
|
|
"name": "Bestellungen",
|
|
"description": "Letzte PlentyONE Bestellungen",
|
|
"noOrders": "Keine Bestellungen vorhanden",
|
|
"viewAll": "Alle Bestellungen",
|
|
"viewDetails": "Details anzeigen",
|
|
"markShipped": "Als versendet markieren",
|
|
"error": "Fehler beim Laden der Bestellungen",
|
|
"status": {
|
|
"new": "Neu",
|
|
"processing": "In Bearbeitung",
|
|
"shipped": "Versendet",
|
|
"delivered": "Zugestellt",
|
|
"cancelled": "Storniert",
|
|
"returned": "Retoure"
|
|
}
|
|
},
|
|
"chat": {
|
|
"name": "Chat",
|
|
"description": "ZULIP Nachrichten und Streams",
|
|
"noMessages": "Keine Nachrichten vorhanden",
|
|
"viewAll": "Alle Nachrichten",
|
|
"reply": "Antworten",
|
|
"replyPlaceholder": "Nachricht eingeben..."
|
|
},
|
|
"todoistTasks": {
|
|
"name": "Todoist Aufgaben",
|
|
"description": "Heute faellige Aufgaben aus Todoist",
|
|
"noTasks": "Keine Aufgaben fuer heute",
|
|
"addTask": "Aufgabe hinzufuegen",
|
|
"add": "Hinzufuegen",
|
|
"newTaskPlaceholder": "Neue Aufgabe eingeben...",
|
|
"viewAll": "Alle Aufgaben"
|
|
},
|
|
"tickets": {
|
|
"name": "Support-Tickets",
|
|
"description": "Offene FreeScout Tickets",
|
|
"noTickets": "Keine Tickets vorhanden",
|
|
"viewAll": "Alle Tickets",
|
|
"viewTicket": "Ticket anzeigen",
|
|
"reply": "Antworten",
|
|
"assign": "Zuweisen",
|
|
"filterStatus": "Status filtern",
|
|
"status": {
|
|
"all": "Alle",
|
|
"open": "Offen",
|
|
"pending": "Wartend",
|
|
"resolved": "Geloest",
|
|
"closed": "Geschlossen"
|
|
},
|
|
"priority": {
|
|
"urgent": "Dringend",
|
|
"high": "Hoch",
|
|
"medium": "Mittel",
|
|
"low": "Niedrig"
|
|
}
|
|
},
|
|
"files": {
|
|
"name": "Dateien",
|
|
"description": "Zuletzt geaenderte Nextcloud Dateien",
|
|
"noFiles": "Keine Dateien vorhanden",
|
|
"download": "Herunterladen",
|
|
"openNextcloud": "In Nextcloud oeffnen"
|
|
},
|
|
"documents": {
|
|
"name": "Dokumente",
|
|
"description": "ecoDMS Dokumentenarchiv",
|
|
"noDocuments": "Keine Dokumente vorhanden",
|
|
"noResults": "Keine Ergebnisse gefunden",
|
|
"download": "Herunterladen",
|
|
"openEcoDms": "In ecoDMS oeffnen",
|
|
"searchPlaceholder": "Dokumente suchen..."
|
|
},
|
|
"gembadocs": {
|
|
"name": "GembaDocs",
|
|
"description": "Audits, Findings und Compliance-Status",
|
|
"upcomingAudits": "Kommende Audits",
|
|
"noAudits": "Keine Audits geplant",
|
|
"openFindings": "Offene Findings",
|
|
"complianceScore": "Compliance Score",
|
|
"severity": {
|
|
"critical": "Kritisch",
|
|
"high": "Hoch",
|
|
"medium": "Mittel",
|
|
"low": "Niedrig"
|
|
},
|
|
"auditType": {
|
|
"internal": "Intern",
|
|
"external": "Extern",
|
|
"certification": "Zertifizierung"
|
|
},
|
|
"daysLeft": "{days} Tage",
|
|
"today": "Heute",
|
|
"tomorrow": "Morgen",
|
|
"viewAll": "Alle Audits anzeigen",
|
|
"openGembaDocs": "In GembaDocs oeffnen"
|
|
},
|
|
"noWidgets": "Keine Widgets vorhanden",
|
|
"noWidgetsDescription": "Fuegen Sie Widgets hinzu, um Ihr Dashboard zu personalisieren.",
|
|
"addWidgetButton": "Widget hinzufuegen",
|
|
"settings": "Einstellungen",
|
|
"remove": "Entfernen"
|
|
},
|
|
"hr": {
|
|
"title": "Personalverwaltung",
|
|
"description": "Verwalten Sie Mitarbeiter, Zeiterfassung und Abwesenheiten",
|
|
"employee": "Mitarbeiter",
|
|
"newEmployee": "Neuer Mitarbeiter",
|
|
"createEmployee": "Mitarbeiter anlegen",
|
|
"timeTracking": {
|
|
"title": "Zeiterfassung",
|
|
"description": "Erfassen Sie Ihre Arbeitszeiten und verwalten Sie Ihr Zeitkonto",
|
|
"noData": "Keine Zeitdaten vorhanden",
|
|
"noDataDesc": "Es wurden noch keine Arbeitszeiten erfasst.",
|
|
"clockIn": "Einstempeln",
|
|
"clockOut": "Ausstempeln",
|
|
"startBreak": "Pause beginnen",
|
|
"endBreak": "Pause beenden",
|
|
"working": "Anwesend",
|
|
"onBreak": "In Pause",
|
|
"notWorking": "Nicht angemeldet",
|
|
"workDuration": "Arbeitszeit heute",
|
|
"since": "seit",
|
|
"todayWorked": "Heute gearbeitet",
|
|
"todayBreak": "Pause heute",
|
|
"clockedIn": "Eingestempelt",
|
|
"clockedInDesc": "Sie haben sich erfolgreich eingestempelt.",
|
|
"clockedOut": "Ausgestempelt",
|
|
"clockedOutDesc": "Sie haben sich erfolgreich ausgestempelt.",
|
|
"breakStarted": "Pause gestartet",
|
|
"breakStartedDesc": "Gute Erholung!",
|
|
"breakEnded": "Pause beendet",
|
|
"breakEndedDesc": "Willkommen zurueck!",
|
|
"errorClockIn": "Fehler beim Einstempeln",
|
|
"errorClockOut": "Fehler beim Ausstempeln",
|
|
"errorBreakStart": "Fehler beim Starten der Pause",
|
|
"errorBreakEnd": "Fehler beim Beenden der Pause",
|
|
"errorLoading": "Fehler beim Laden der Zeiterfassung",
|
|
"recentEntries": "Letzte Eintraege",
|
|
"recentEntriesDesc": "Ihre Arbeitszeiten der letzten Tage",
|
|
"entries": "Eintraege",
|
|
"summary": "Uebersicht",
|
|
"noEntries": "Keine Eintraege vorhanden",
|
|
"errorLoadingEntries": "Fehler beim Laden der Eintraege",
|
|
"break": "Pause",
|
|
"overtime": "Ueberstunden",
|
|
"corrected": "Korrigiert",
|
|
"pendingApproval": "Pruefung ausstehend",
|
|
"requestCorrection": "Korrektur beantragen",
|
|
"date": "Datum",
|
|
"reason": "Begruendung",
|
|
"reasonPlaceholder": "Bitte geben Sie eine Begruendung fuer die Korrektur an...",
|
|
"noteRequired": "Eine Begruendung ist erforderlich",
|
|
"correctionSubmitted": "Korrekturantrag gesendet",
|
|
"correctionSubmittedDesc": "Ihr Antrag wird geprueft.",
|
|
"errorSubmitCorrection": "Fehler beim Senden des Korrekturantrags",
|
|
"requestCorrectionDesc": "Beantragen Sie eine Korrektur fuer fehlerhafte Zeiteintraege",
|
|
"breakStart": "Pausenbeginn",
|
|
"breakEnd": "Pausenende",
|
|
"monthlySummary": "Monatsuebersicht",
|
|
"progress": "Fortschritt",
|
|
"worked": "gearbeitet",
|
|
"target": "Soll",
|
|
"balance": "Saldo",
|
|
"totalHours": "Gesamt",
|
|
"workDays": "Arbeitstage",
|
|
"absencesThisMonth": "Abwesenheiten diesen Monat",
|
|
"sickDays": "Krankheitstage",
|
|
"vacationDays": "Urlaubstage",
|
|
"errorLoadingSummary": "Fehler beim Laden der Uebersicht",
|
|
"timeAccount": "Zeitkonto"
|
|
},
|
|
"absences": {
|
|
"title": "Abwesenheiten",
|
|
"description": "Verwalten Sie Ihre Urlaubs- und Abwesenheitsantraege",
|
|
"noData": "Keine Abwesenheiten vorhanden",
|
|
"noDataDesc": "Es wurden noch keine Abwesenheiten erfasst.",
|
|
"vacationBalance": "Urlaubskonto",
|
|
"daysRemaining": "Tage verbleibend",
|
|
"used": "genommen",
|
|
"pending": "beantragt",
|
|
"available": "verfuegbar",
|
|
"totalEntitlement": "Anspruch",
|
|
"taken": "Genommen",
|
|
"planned": "Geplant",
|
|
"carriedOver": "Resturlaub Vorjahr",
|
|
"days": "Tage",
|
|
"day": "Tag",
|
|
"total": "Gesamt",
|
|
"expirationWarning": "Resturlaub verfaellt",
|
|
"expirationWarningDesc": "{days} Tage Resturlaub verfallen am {date}",
|
|
"errorLoadingBalance": "Fehler beim Laden des Urlaubskontos",
|
|
"myRequests": "Meine Antraege",
|
|
"myRequestsDesc": "Alle Ihre Abwesenheitsantraege",
|
|
"teamCalendar": "Teamkalender",
|
|
"teamCalendarDesc": "Uebersicht aller Teamabwesenheiten",
|
|
"approvals": "Genehmigungen",
|
|
"newRequest": "Neuer Antrag",
|
|
"newRequestDesc": "Erstellen Sie einen neuen Abwesenheitsantrag",
|
|
"createFirstRequest": "Ersten Antrag erstellen",
|
|
"noRequests": "Keine Antraege vorhanden",
|
|
"errorLoadingRequests": "Fehler beim Laden der Antraege",
|
|
"errorLoadingCalendar": "Fehler beim Laden des Kalenders",
|
|
"type": "Art",
|
|
"selectType": "Art auswaehlen",
|
|
"startDate": "Von",
|
|
"endDate": "Bis",
|
|
"halfDay": "Halber Tag",
|
|
"selectPeriod": "Tageshaelfte auswaehlen",
|
|
"morning": "Vormittag",
|
|
"afternoon": "Nachmittag",
|
|
"note": "Notiz",
|
|
"notePlaceholder": "Optionale Notiz zum Antrag...",
|
|
"fillRequiredFields": "Bitte fuellen Sie alle Pflichtfelder aus",
|
|
"invalidDateRange": "Das Enddatum muss nach dem Startdatum liegen",
|
|
"submitRequest": "Antrag absenden",
|
|
"requestSubmitted": "Antrag gesendet",
|
|
"requestSubmittedDesc": "Ihr Antrag wurde zur Genehmigung eingereicht.",
|
|
"errorSubmitRequest": "Fehler beim Senden des Antrags",
|
|
"cancel": "Stornieren",
|
|
"cancelled": "Antrag storniert",
|
|
"cancelledDesc": "Ihr Antrag wurde storniert.",
|
|
"errorCancel": "Fehler beim Stornieren des Antrags",
|
|
"rejectionReason": "Ablehnungsgrund",
|
|
"approvedBy": "Genehmigt von",
|
|
"pendingApprovals": "Offene Antraege",
|
|
"pendingApprovalsDesc": "Antraege zur Genehmigung",
|
|
"pendingApprovalsManagerDesc": "Genehmigen oder lehnen Sie Antraege Ihrer Mitarbeiter ab",
|
|
"approve": "Genehmigen",
|
|
"reject": "Ablehnen",
|
|
"approved": "Genehmigt",
|
|
"approvedDesc": "Der Antrag wurde genehmigt.",
|
|
"rejected": "Abgelehnt",
|
|
"rejectedDesc": "Der Antrag wurde abgelehnt.",
|
|
"errorApprove": "Fehler beim Genehmigen",
|
|
"errorReject": "Fehler beim Ablehnen",
|
|
"rejectRequest": "Antrag ablehnen",
|
|
"rejectRequestDesc": "Geben Sie einen Grund fuer die Ablehnung an.",
|
|
"rejectionReasonPlaceholder": "Grund fuer die Ablehnung...",
|
|
"selectDepartment": "Abteilung auswaehlen",
|
|
"today": "Heute",
|
|
"overview": "Uebersicht",
|
|
"more": "weitere"
|
|
},
|
|
"clockIn": "Einstempeln",
|
|
"clockOut": "Ausstempeln",
|
|
"breakStart": "Pause beginnen",
|
|
"breakEnd": "Pause beenden",
|
|
"currentlyWorking": "Aktuell anwesend",
|
|
"onBreak": "In Pause",
|
|
"totalHours": "Gesamtstunden",
|
|
"overtime": "Ueberstunden",
|
|
"overtimeBalance": "Ueberstundenkonto",
|
|
"vacation": "Urlaub",
|
|
"sick": "Krank",
|
|
"homeOffice": "Homeoffice",
|
|
"specialLeave": "Sonderurlaub",
|
|
"requestVacation": "Urlaub beantragen",
|
|
"vacationBalance": "Urlaubstage",
|
|
"vacationDaysTotal": "Urlaubstage gesamt",
|
|
"vacationDaysUsed": "Urlaubstage genommen",
|
|
"vacationDaysRemaining": "Urlaubstage verbleibend",
|
|
"vacationOverview": "Urlaubsuebersicht",
|
|
"daysUsed": "Tage genommen",
|
|
"remaining": "verbleibend",
|
|
"used": "genommen",
|
|
"pending": "ausstehend",
|
|
"absenceTypes": {
|
|
"vacation": "Urlaub",
|
|
"sick": "Krank",
|
|
"sickChild": "Kind krank",
|
|
"homeOffice": "Homeoffice",
|
|
"specialLeave": "Sonderurlaub",
|
|
"unpaidLeave": "Unbezahlter Urlaub",
|
|
"parentalLeave": "Elternzeit",
|
|
"businessTrip": "Dienstreise",
|
|
"training": "Weiterbildung",
|
|
"compensation": "Freizeitausgleich"
|
|
},
|
|
"absenceStatus": {
|
|
"pending": "Ausstehend",
|
|
"approved": "Genehmigt",
|
|
"rejected": "Abgelehnt",
|
|
"cancelled": "Storniert"
|
|
},
|
|
"timeStatus": {
|
|
"clockedIn": "Anwesend",
|
|
"onBreak": "In Pause",
|
|
"clockedOut": "Abgemeldet"
|
|
},
|
|
"modules": {
|
|
"employees": {
|
|
"description": "Mitarbeiterstammdaten verwalten"
|
|
},
|
|
"timeTracking": {
|
|
"description": "Arbeitszeiten erfassen und auswerten"
|
|
},
|
|
"absences": {
|
|
"description": "Urlaub, Krankheit und andere Abwesenheiten"
|
|
},
|
|
"orgChart": {
|
|
"description": "Organisationsstruktur visualisieren"
|
|
}
|
|
},
|
|
"employees": {
|
|
"title": "Mitarbeiterliste",
|
|
"subtitle": "Alle Mitarbeiter im Ueberblick",
|
|
"description": "Mitarbeiterstammdaten verwalten",
|
|
"new": "Neuer Mitarbeiter",
|
|
"newSubtitle": "Fuellen Sie das Formular aus, um einen neuen Mitarbeiter anzulegen",
|
|
"newDescription": "Neuen Mitarbeiter anlegen",
|
|
"details": "Mitarbeiterdetails",
|
|
"detailsDescription": "Detaillierte Mitarbeiterinformationen"
|
|
},
|
|
"stats": {
|
|
"totalEmployees": "Mitarbeiter gesamt",
|
|
"activeEmployees": "Aktive Mitarbeiter",
|
|
"onLeave": "Abwesend",
|
|
"departments": "Abteilungen",
|
|
"thisMonth": "diesen Monat",
|
|
"ofTotal": "vom Gesamt",
|
|
"currentlyAbsent": "aktuell abwesend",
|
|
"activeDepartments": "aktive Abteilungen"
|
|
},
|
|
"employeeStatus": {
|
|
"active": "Aktiv",
|
|
"inactive": "Inaktiv",
|
|
"on_leave": "Abwesend",
|
|
"terminated": "Ausgeschieden"
|
|
},
|
|
"contractType": {
|
|
"label": "Vertragsart",
|
|
"full_time": "Vollzeit",
|
|
"part_time": "Teilzeit",
|
|
"mini_job": "Minijob",
|
|
"trainee": "Auszubildender",
|
|
"intern": "Praktikant",
|
|
"freelance": "Freiberufler"
|
|
},
|
|
"name": "Name",
|
|
"firstName": "Vorname",
|
|
"lastName": "Nachname",
|
|
"email": "E-Mail",
|
|
"phone": "Telefon",
|
|
"position": "Position",
|
|
"department": "Abteilung",
|
|
"manager": "Vorgesetzter",
|
|
"roles": "Rollen",
|
|
"status": "Status",
|
|
"hireDate": "Eintrittsdatum",
|
|
"terminationDate": "Austrittsdatum",
|
|
"weeklyHours": "Wochenstunden",
|
|
"weeklyTarget": "Wochensoll",
|
|
"employeeNumber": "Personalnummer",
|
|
"selectDepartment": "Abteilung auswaehlen",
|
|
"selectDate": "Datum auswaehlen",
|
|
"filterByStatus": "Nach Status filtern",
|
|
"filterByContract": "Nach Vertragsart filtern",
|
|
"searchEmployees": "Mitarbeiter suchen...",
|
|
"viewDetails": "Details anzeigen",
|
|
"terminate": "Kuendigen",
|
|
"reactivate": "Reaktivieren",
|
|
"confirmDelete": "Moechten Sie {name} wirklich kuendigen?",
|
|
"employeeNotFound": "Mitarbeiter nicht gefunden",
|
|
"employeeNotFoundDesc": "Der gesuchte Mitarbeiter existiert nicht.",
|
|
"backToList": "Zurueck zur Liste",
|
|
"noEmployeesFound": "Keine Mitarbeiter gefunden",
|
|
"departmentBreakdown": "Mitarbeiter pro Abteilung",
|
|
"departmentBreakdownDesc": "Verteilung der Mitarbeiter auf Abteilungen",
|
|
"noDepartments": "Keine Abteilungen vorhanden",
|
|
"address": "Adresse",
|
|
"street": "Strasse",
|
|
"city": "Stadt",
|
|
"zipCode": "PLZ",
|
|
"country": "Land",
|
|
"emergencyContact": "Notfallkontakt",
|
|
"emergencyName": "Name",
|
|
"emergencyPhone": "Telefon",
|
|
"emergencyRelationship": "Beziehung",
|
|
"employmentDetails": "Beschaeftigungsdaten",
|
|
"form": {
|
|
"personalInfo": "Persoenliche Daten",
|
|
"personalInfoDesc": "Grundlegende Informationen zum Mitarbeiter",
|
|
"employmentDetails": "Beschaeftigungsdaten",
|
|
"employmentDetailsDesc": "Vertragsdetails und Arbeitszeit",
|
|
"address": "Adresse",
|
|
"addressDesc": "Wohnanschrift des Mitarbeiters (optional)",
|
|
"emergencyContact": "Notfallkontakt",
|
|
"emergencyContactDesc": "Kontaktperson fuer Notfaelle (optional)"
|
|
},
|
|
"tabs": {
|
|
"overview": "Uebersicht",
|
|
"timeAccount": "Zeitkonto",
|
|
"absences": "Abwesenheiten"
|
|
},
|
|
"orgChart": {
|
|
"title": "Organigramm",
|
|
"subtitle": "Hierarchische Darstellung der Organisationsstruktur",
|
|
"description": "Organisationsstruktur visualisieren"
|
|
},
|
|
"expandAll": "Alle ausklappen",
|
|
"collapseAll": "Alle einklappen",
|
|
"fullscreen": "Vollbild",
|
|
"exitFullscreen": "Vollbild beenden",
|
|
"directReports": "Direkte Mitarbeiter",
|
|
"errorLoadingOrgChart": "Fehler beim Laden des Organigramms",
|
|
"toast": {
|
|
"employeeCreated": "Mitarbeiter angelegt",
|
|
"employeeCreatedDesc": "Der Mitarbeiter wurde erfolgreich angelegt.",
|
|
"employeeUpdated": "Mitarbeiter aktualisiert",
|
|
"employeeUpdatedDesc": "Die Aenderungen wurden gespeichert.",
|
|
"employeeDeleted": "Mitarbeiter gekuendigt",
|
|
"employeeDeletedDesc": "Der Mitarbeiter wurde als ausgeschieden markiert.",
|
|
"errorCreate": "Fehler beim Anlegen des Mitarbeiters",
|
|
"errorUpdate": "Fehler beim Aktualisieren des Mitarbeiters",
|
|
"errorDelete": "Fehler beim Kuendigen des Mitarbeiters"
|
|
}
|
|
},
|
|
"lean": {
|
|
"title": "LEAN Management",
|
|
"description": "Kontinuierliche Verbesserung und Shopfloor Management",
|
|
"modules": {
|
|
"s3-planning": {
|
|
"title": "3S-Planung",
|
|
"description": "Seiri, Seiton, Seiso - Sortieren, Systematisieren, Saeubern",
|
|
"status": "Aktiv"
|
|
},
|
|
"morning-meeting": {
|
|
"title": "Morning Meeting",
|
|
"description": "Taegliche Shopfloor-Meetings mit SQCDM",
|
|
"status": "Aktiv"
|
|
},
|
|
"skill-matrix": {
|
|
"title": "Skill Matrix",
|
|
"description": "Qualifikationsmanagement und Kompetenzentwicklung",
|
|
"status": "Aktiv"
|
|
}
|
|
},
|
|
"stats": {
|
|
"s3Completion": "3S Erfuellung",
|
|
"meetingsThisWeek": "Meetings diese Woche",
|
|
"openActions": "Offene Massnahmen",
|
|
"skillCoverage": "Skill-Abdeckung"
|
|
},
|
|
"s3": {
|
|
"title": "3S-Planung",
|
|
"seiri": "Seiri (Sortieren)",
|
|
"seiton": "Seiton (Systematisieren)",
|
|
"seiso": "Seiso (Saeubern)",
|
|
"week": "Woche",
|
|
"status": {
|
|
"not_started": "Nicht gestartet",
|
|
"in_progress": "In Bearbeitung",
|
|
"completed": "Abgeschlossen",
|
|
"issue": "Problem"
|
|
},
|
|
"statusDescNotStarted": "Noch keine Aktivitaet",
|
|
"statusDescInProgress": "Arbeiten laufen",
|
|
"statusDescCompleted": "Erfolgreich erledigt",
|
|
"statusDescIssue": "Massnahme erforderlich",
|
|
"completedByAt": "Abgeschlossen von {name} am {date}",
|
|
"noDataAvailable": "Keine Daten verfuegbar",
|
|
"completionRate": "Abschlussrate",
|
|
"statusOverview": "3S Status-Uebersicht",
|
|
"done": "Fertig",
|
|
"working": "In Arbeit",
|
|
"problems": "Probleme",
|
|
"openStatus": "Offen",
|
|
"loadingError": "Fehler beim Laden der Plaene",
|
|
"noPlansFound": "Keine Plaene fuer den ausgewaehlten Zeitraum gefunden",
|
|
"overviewSubtitle": "Uebersicht aller Abteilungs-3S-Plaene",
|
|
"newPlan": "Neuer Plan",
|
|
"year": "Jahr",
|
|
"allMonths": "Alle Monate",
|
|
"totalCompletionRate": "Gesamt-Abschlussrate",
|
|
"ofEntries": "{count} von {total} Eintraegen",
|
|
"activePlans": "Aktive Plaene",
|
|
"entriesActive": "Eintraege aktiv",
|
|
"requireActions": "erfordern Massnahmen",
|
|
"departmentPlans": "Abteilungsplaene",
|
|
"percentCompleted": "{percent}% abgeschlossen",
|
|
"categories": "Kategorien",
|
|
"clickToEdit": "Klicken zum Bearbeiten",
|
|
"editStatus": "Status bearbeiten",
|
|
"noteOptional": "Notiz (optional)",
|
|
"additionalInfo": "Ergaenzende Informationen...",
|
|
"characters": "Zeichen",
|
|
"photo": "Foto",
|
|
"statusPhoto": "Status Foto",
|
|
"addPhoto": "Foto hinzufuegen (in Entwicklung)",
|
|
"loadingPlanError": "Fehler beim Laden des Plans",
|
|
"noPlanForMonth": "Kein Plan fuer {month} {year} vorhanden",
|
|
"createPlan": "Plan erstellen",
|
|
"addCategory": "Kategorie hinzufuegen",
|
|
"legend": "Legende",
|
|
"noCategories": "Keine Kategorien vorhanden",
|
|
"planDetails": "Plan-Details",
|
|
"createdBy": "Erstellt von",
|
|
"createdAt": "Erstellt am",
|
|
"statusActive": "Aktiv",
|
|
"statusInactive": "Inaktiv",
|
|
"statusUpdated": "Status aktualisiert",
|
|
"statusUpdatedDesc": "Der Status wurde erfolgreich gespeichert.",
|
|
"statusUpdateError": "Der Status konnte nicht aktualisiert werden.",
|
|
"month": "Monat",
|
|
"yearView": "Jahr",
|
|
"monthView": "Monat"
|
|
},
|
|
"morningMeeting": {
|
|
"title": "Morning Meeting",
|
|
"overview": "Uebersicht aller Abteilungs-Meetings und offener Massnahmen",
|
|
"noMeetingToday": "Kein Meeting fuer heute",
|
|
"noMeetingTodayDesc": "Fuer diese Abteilung wurde heute noch kein Morning Meeting erstellt.",
|
|
"departments": "Abteilungen",
|
|
"currentMeetings": "Aktuelle Meetings",
|
|
"openActions": "Offene Massnahmen",
|
|
"noOpenActions": "Keine offenen Massnahmen",
|
|
"history": "Verlauf",
|
|
"settings": "Einstellungen",
|
|
"backToOverview": "Zurueck zur Uebersicht",
|
|
"refresh": "Aktualisieren",
|
|
"sqcdm": {
|
|
"safety": "Sicherheit",
|
|
"quality": "Qualitaet",
|
|
"cost": "Kosten",
|
|
"delivery": "Lieferung",
|
|
"morale": "Moral"
|
|
},
|
|
"status": {
|
|
"scheduled": "Geplant",
|
|
"inProgress": "Laufend",
|
|
"completed": "Abgeschlossen",
|
|
"cancelled": "Abgebrochen"
|
|
},
|
|
"timer": {
|
|
"duration": "Dauer",
|
|
"totalDuration": "Gesamtdauer",
|
|
"targetTime": "Zielzeit",
|
|
"ready": "Bereit",
|
|
"remaining": "Verbleibend",
|
|
"overtime": "Ueberzogen",
|
|
"targetExceeded": "Zielzeit ueberschritten",
|
|
"meetingCompleted": "Meeting abgeschlossen"
|
|
},
|
|
"kpi": {
|
|
"noKpis": "Keine KPIs definiert",
|
|
"target": "Ziel",
|
|
"trend": {
|
|
"up": "Steigend",
|
|
"down": "Fallend",
|
|
"stable": "Stabil",
|
|
"none": "Kein Trend"
|
|
},
|
|
"status": {
|
|
"green": "Gruen",
|
|
"yellow": "Gelb",
|
|
"red": "Rot",
|
|
"neutral": "Neutral"
|
|
}
|
|
},
|
|
"actions": {
|
|
"title": "Massnahmen",
|
|
"new": "Neue Massnahme",
|
|
"add": "Hinzufuegen",
|
|
"noActions": "Keine Massnahmen vorhanden",
|
|
"noActionsFiltered": "Keine Massnahmen mit diesem Filter",
|
|
"open": "offen",
|
|
"inProgress": "in Bearbeitung",
|
|
"completed": "erledigt",
|
|
"showCompleted": "Erledigte anzeigen",
|
|
"filterAll": "Alle",
|
|
"notAssigned": "Nicht zugewiesen",
|
|
"priority": {
|
|
"low": "Niedrig",
|
|
"medium": "Mittel",
|
|
"high": "Hoch",
|
|
"critical": "Kritisch"
|
|
},
|
|
"status": {
|
|
"open": "Offen",
|
|
"inProgress": "In Bearbeitung",
|
|
"completed": "Erledigt",
|
|
"cancelled": "Abgebrochen"
|
|
}
|
|
},
|
|
"toast": {
|
|
"meetingStarted": "Meeting gestartet",
|
|
"meetingStartedDesc": "Das Morning Meeting wurde gestartet.",
|
|
"meetingEnded": "Meeting beendet",
|
|
"meetingEndedDesc": "Das Morning Meeting wurde abgeschlossen.",
|
|
"kpiUpdated": "KPI aktualisiert",
|
|
"kpiUpdatedDesc": "Der KPI-Wert wurde gespeichert.",
|
|
"actionCreated": "Massnahme erstellt",
|
|
"actionCreatedDesc": "Die neue Massnahme wurde hinzugefuegt.",
|
|
"actionUpdated": "Massnahme aktualisiert",
|
|
"actionUpdatedDesc": "Die Massnahme wurde gespeichert.",
|
|
"actionCompleted": "Massnahme abgeschlossen",
|
|
"actionCompletedDesc": "Die Massnahme wurde als erledigt markiert.",
|
|
"error": "Fehler",
|
|
"errorStartMeeting": "Das Meeting konnte nicht gestartet werden.",
|
|
"errorEndMeeting": "Das Meeting konnte nicht beendet werden.",
|
|
"errorUpdateKpi": "Der KPI konnte nicht aktualisiert werden.",
|
|
"errorCreateAction": "Die Massnahme konnte nicht erstellt werden.",
|
|
"errorUpdateAction": "Die Massnahme konnte nicht aktualisiert werden.",
|
|
"errorCompleteAction": "Die Massnahme konnte nicht abgeschlossen werden."
|
|
},
|
|
"notes": "Notizen",
|
|
"noNotes": "Keine Notizen vorhanden",
|
|
"participants": "Teilnehmer",
|
|
"participantCount": "{count} Teilnehmer",
|
|
"conductor": "Moderator",
|
|
"startMeeting": "Meeting starten",
|
|
"endMeeting": "Meeting beenden",
|
|
"loadingError": "Fehler beim Laden",
|
|
"loadingErrorDesc": "Das Meeting konnte nicht geladen werden.",
|
|
"noMeetingForDepartment": "Fuer {department} wurde heute noch kein Morning Meeting erstellt.",
|
|
"noMeetingsFound": "Keine Meetings gefunden",
|
|
"allStatuses": "Alle Status",
|
|
"departmentsTitle": "Abteilungen",
|
|
"currentMeetingsTitle": "Aktuelle Meetings",
|
|
"openActionsTitle": "Offene Massnahmen",
|
|
"openCount": "{count} offen"
|
|
},
|
|
"skillMatrix": {
|
|
"title": "Skill Matrix",
|
|
"description": "Qualifikationsmanagement und Kompetenzentwicklung fuer alle Abteilungen",
|
|
"levels": {
|
|
"0": "Keine Kenntnisse",
|
|
"1": "Grundlagen",
|
|
"2": "Selbststaendig",
|
|
"3": "Experte",
|
|
"4": "Kann schulen"
|
|
},
|
|
"employee": "Mitarbeiter",
|
|
"employees": "Mitarbeiter",
|
|
"addSkill": "Skill hinzufuegen",
|
|
"totalEmployees": "Gesamtmitarbeiter",
|
|
"inDepartments": "in {count} Abteilungen",
|
|
"avgCoverage": "Durchschnittliche Abdeckung",
|
|
"avgLevel": "Durchschnittliches Level",
|
|
"trainers": "Trainer",
|
|
"targetLevel": "Ziel-Level",
|
|
"vsLastMonth": "vs. letzter Monat",
|
|
"searchDepartment": "Abteilung suchen",
|
|
"noDepartmentsFound": "Keine Abteilungen gefunden",
|
|
"coverage": "Abdeckung",
|
|
"trend": {
|
|
"label": "Trend",
|
|
"up": "Steigend",
|
|
"down": "Fallend",
|
|
"stable": "Stabil"
|
|
},
|
|
"notFound": "Skill Matrix nicht gefunden",
|
|
"subtitle": "{employees} Mitarbeiter | {skills} Skills",
|
|
"unsavedChanges": "ungespeicherte Aenderungen",
|
|
"matrixView": "Matrix",
|
|
"gapAnalysis": "Lueckenanalyse",
|
|
"gapAnalysisDescription": "Vergleich zwischen aktuellem und Ziel-Niveau",
|
|
"gapAnalysisSettings": "Analyseeinstellungen",
|
|
"gapAnalysisSettingsDescription": "Waehlen Sie das Ziel-Level fuer die Lueckenanalyse",
|
|
"noGapData": "Keine Analysedaten verfuegbar",
|
|
"actualLevel": "Ist-Level",
|
|
"gap": "Luecke",
|
|
"belowTarget": "Unter Ziel",
|
|
"atOrAboveTarget": "Auf/Ueber Ziel",
|
|
"criticalGaps": "Kritische Luecken",
|
|
"warningGaps": "Warnungen",
|
|
"noGap": "Keine Luecke",
|
|
"averageGap": "Durchschnittliche Luecke",
|
|
"levelUpdated": "Level aktualisiert",
|
|
"levelUpdatedDescription": "Die Aenderung wurde vorgemerkt",
|
|
"changesSaved": "Aenderungen gespeichert",
|
|
"saveError": "Fehler beim Speichern",
|
|
"noEmployeesFound": "Keine Mitarbeiter gefunden"
|
|
},
|
|
"s3Planning": "3S-Planung",
|
|
"department": "Abteilung",
|
|
"status": "Status",
|
|
"measures": "Massnahmen",
|
|
"responsible": "Verantwortlich",
|
|
"dueDate": "Faelligkeitsdatum",
|
|
"completed": "Abgeschlossen",
|
|
"inProgress": "In Bearbeitung",
|
|
"open": "Offen",
|
|
"skillLevel": "Skill-Level",
|
|
"skills": "Faehigkeiten",
|
|
"noKnowledge": "Keine Kenntnisse",
|
|
"basics": "Grundlagen",
|
|
"independent": "Selbststaendig",
|
|
"expert": "Experte",
|
|
"canTrain": "Kann schulen"
|
|
},
|
|
"integrations": {
|
|
"title": "Integrationen",
|
|
"subtitle": "Verwalten Sie Ihre externen Dienste und Integrationen",
|
|
"connected": "Verbunden",
|
|
"disconnected": "Nicht verbunden",
|
|
"error": "Fehler",
|
|
"configuring": "Wird konfiguriert",
|
|
"configure": "Konfigurieren",
|
|
"test": "Verbindung testen",
|
|
"testing": "Wird getestet...",
|
|
"testSuccess": "Verbindung erfolgreich",
|
|
"testFailed": "Verbindung fehlgeschlagen",
|
|
"testError": "Test konnte nicht durchgefuehrt werden",
|
|
"lastSync": "Letzte Synchronisation",
|
|
"never": "Noch nie",
|
|
"syncNow": "Jetzt synchronisieren",
|
|
"details": "Details",
|
|
"enable": "Aktivieren",
|
|
"disable": "Deaktivieren",
|
|
"credentials": "Zugangsdaten",
|
|
"apiUrl": "API URL",
|
|
"apiKey": "API Schluessel",
|
|
"username": "Benutzername",
|
|
"password": "Passwort",
|
|
"syncInterval": "Sync-Intervall",
|
|
"minutes": "Minuten",
|
|
"saveSettings": "Einstellungen speichern",
|
|
"plentyOne": "PlentyONE",
|
|
"plentyOneDesc": "E-Commerce und Warenwirtschaft",
|
|
"zulip": "ZULIP",
|
|
"zulipDesc": "Team-Kommunikation und Chat",
|
|
"todoist": "Todoist",
|
|
"todoistDesc": "Aufgabenverwaltung",
|
|
"freeScout": "FreeScout",
|
|
"freeScoutDesc": "Helpdesk und Ticketsystem",
|
|
"nextcloud": "Nextcloud",
|
|
"nextcloudDesc": "Dateiverwaltung und Zusammenarbeit",
|
|
"ecoDms": "ecoDMS",
|
|
"ecoDmsDesc": "Dokumentenmanagement-System",
|
|
"gembaDocs": "GembaDocs",
|
|
"gembaDocsDesc": "Audits, Compliance und Findings",
|
|
"overview": "Uebersicht",
|
|
"allIntegrations": "Alle Integrationen",
|
|
"connectedCount": "{count} verbunden",
|
|
"errorCount": "{count} mit Fehlern",
|
|
"data": "Daten",
|
|
"settingsTab": "Einstellungen",
|
|
"logs": "Logs",
|
|
"configureCredentials": "Konfigurieren Sie die Zugangsdaten fuer diese Integration",
|
|
"settingsManagedViaAdmin": "Die Einstellungen werden ueber die Admin-Oberflaeche verwaltet.",
|
|
"syncLogs": "Synchronisations-Logs",
|
|
"recentSyncActivity": "Letzte Synchronisations-Aktivitaeten",
|
|
"syncSuccessful": "Sync erfolgreich",
|
|
"lastError": "Letzter Fehler:",
|
|
"notFound": "Integration nicht gefunden.",
|
|
"streams": "Streams",
|
|
"subscribedStreams": "Ihre abonnierten ZULIP Streams",
|
|
"unread": "Ungelesene",
|
|
"messagesToday": "Nachrichten heute",
|
|
"recentMessages": "Letzte Nachrichten",
|
|
"currentMessages": "Aktuelle Nachrichten aus Ihren Streams",
|
|
"noStreamsFound": "Keine Streams gefunden",
|
|
"documents": "Dokumente",
|
|
"classifications": "Klassifikationen",
|
|
"documentCategories": "Dokumentkategorien im Archiv",
|
|
"archived": "Archiviert",
|
|
"addedToday": "Heute hinzugefuegt",
|
|
"documentsTitle": "Dokumente",
|
|
"documentsFromArchive": "Dokumente aus dem ecoDMS Archiv",
|
|
"documentTitle": "Titel",
|
|
"classification": "Klassifikation",
|
|
"tags": "Tags",
|
|
"size": "Groesse",
|
|
"created": "Erstellt",
|
|
"noClassificationsFound": "Keine Klassifikationen gefunden",
|
|
"dueToday": "Heute faellig",
|
|
"totalOpen": "Gesamt offen",
|
|
"highPriority": "Hohe Prioritaet",
|
|
"projects": "Projekte",
|
|
"yourProjects": "Ihre Todoist Projekte",
|
|
"tasks": "Aufgaben",
|
|
"allOpenTasks": "Alle offenen Aufgaben",
|
|
"noProjectsFound": "Keine Projekte gefunden",
|
|
"noPriority": "Keine Prioritaet",
|
|
"priority1": "Prioritaet 1",
|
|
"priority2": "Prioritaet 2",
|
|
"priority3": "Prioritaet 3",
|
|
"complianceScore": "Compliance Score",
|
|
"audits": "Audits",
|
|
"openFindings": "Offene Findings",
|
|
"critical": "Kritisch",
|
|
"findingsBySeverity": "Findings nach Schweregrad",
|
|
"allAuditsStatus": "Alle Audits und deren Status",
|
|
"searchAudits": "Audits suchen...",
|
|
"type": "Typ",
|
|
"department": "Abteilung",
|
|
"findings": "Findings",
|
|
"scheduled": "Geplant",
|
|
"noAuditsFound": "Keine Audits gefunden",
|
|
"noAuditsAvailable": "Keine Audits vorhanden",
|
|
"today": "Heute",
|
|
"synchronization": "Synchronisation",
|
|
"settingsSaved": "{name} Einstellungen wurden gespeichert"
|
|
},
|
|
"admin": {
|
|
"title": "Administration",
|
|
"overview": "Uebersicht",
|
|
"users": "Benutzer",
|
|
"roles": "Rollen",
|
|
"departments": "Abteilungen",
|
|
"settings": "Systemeinstellungen",
|
|
"auditLog": "Audit-Log",
|
|
"userManagement": "Benutzerverwaltung",
|
|
"createUser": "Benutzer erstellen",
|
|
"editUser": "Benutzer bearbeiten",
|
|
"deleteUser": "Benutzer loeschen",
|
|
"assignRole": "Rolle zuweisen",
|
|
"integrationManagement": "Integration-Verwaltung",
|
|
"integrationManagementDesc": "Konfigurieren Sie die Zugangsdaten und Einstellungen fuer externe Dienste"
|
|
},
|
|
"settings": {
|
|
"title": "Einstellungen",
|
|
"subtitle": "Verwalten Sie Ihre Kontoeinstellungen und Praeferenzen",
|
|
"general": "Allgemein",
|
|
"appearance": "Darstellung",
|
|
"notifications": "Benachrichtigungen",
|
|
"language": "Sprache",
|
|
"theme": "Design",
|
|
"lightMode": "Hell",
|
|
"darkMode": "Dunkel",
|
|
"systemDefault": "Systemeinstellung",
|
|
"profile": "Profil",
|
|
"account": "Konto",
|
|
"security": "Sicherheit",
|
|
"changePassword": "Passwort aendern",
|
|
"twoFactor": "Zwei-Faktor-Authentifizierung",
|
|
"profileTitle": "Profil",
|
|
"profileDescription": "Verwalten Sie Ihre persoenlichen Informationen",
|
|
"preferencesTitle": "Praeferenzen",
|
|
"preferencesDescription": "Passen Sie Design und Sprache an",
|
|
"notificationsTitle": "Benachrichtigungen",
|
|
"notificationsDescription": "Konfigurieren Sie Ihre Benachrichtigungseinstellungen",
|
|
"securityTitle": "Sicherheit",
|
|
"securityDescription": "Verwalten Sie Passwort und Zwei-Faktor-Authentifizierung",
|
|
"profilePicture": "Profilbild",
|
|
"profilePictureSyncedFromKeycloak": "Ihr Profilbild wird aus Keycloak synchronisiert",
|
|
"profilePictureManagedInKeycloak": "Das Profilbild wird zentral in Keycloak verwaltet.",
|
|
"changeImageViaKeycloak": "Bild aendern (via Keycloak)",
|
|
"personalInformation": "Persoenliche Informationen",
|
|
"personalInformationDesc": "Diese Daten werden aus Keycloak synchronisiert und koennen dort geaendert werden",
|
|
"name": "Name",
|
|
"email": "E-Mail",
|
|
"departmentLabel": "Abteilung",
|
|
"memberSince": "Mitglied seit",
|
|
"notAssigned": "Nicht zugewiesen",
|
|
"contactAdminToChange": "Um Ihre persoenlichen Daten zu aendern, wenden Sie sich bitte an Ihren Administrator oder aendern Sie die Daten direkt in Keycloak.",
|
|
"rolesAndPermissions": "Rollen und Berechtigungen",
|
|
"assignedRoles": "Ihre zugewiesenen Rollen im System"
|
|
},
|
|
"errors": {
|
|
"notFound": "Seite nicht gefunden",
|
|
"notFoundDescription": "Die angeforderte Seite existiert nicht.",
|
|
"serverError": "Serverfehler",
|
|
"serverErrorDescription": "Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es spaeter erneut.",
|
|
"unauthorized": "Nicht autorisiert",
|
|
"unauthorizedDescription": "Sie haben keine Berechtigung, diese Seite anzuzeigen.",
|
|
"forbidden": "Zugriff verweigert",
|
|
"forbiddenDescription": "Sie haben keine Berechtigung fuer diese Aktion.",
|
|
"networkError": "Netzwerkfehler",
|
|
"networkErrorDescription": "Die Verbindung zum Server konnte nicht hergestellt werden.",
|
|
"goHome": "Zur Startseite",
|
|
"tryAgain": "Erneut versuchen"
|
|
},
|
|
"validation": {
|
|
"required": "Dieses Feld ist erforderlich",
|
|
"email": "Bitte geben Sie eine gueltige E-Mail-Adresse ein",
|
|
"minLength": "Mindestens {min} Zeichen erforderlich",
|
|
"maxLength": "Maximal {max} Zeichen erlaubt",
|
|
"passwordMatch": "Die Passwoerter stimmen nicht ueberein",
|
|
"invalidDate": "Ungueltiges Datum",
|
|
"invalidNumber": "Ungueltige Zahl"
|
|
},
|
|
"time": {
|
|
"today": "Heute",
|
|
"yesterday": "Gestern",
|
|
"tomorrow": "Morgen",
|
|
"thisWeek": "Diese Woche",
|
|
"lastWeek": "Letzte Woche",
|
|
"thisMonth": "Dieser Monat",
|
|
"lastMonth": "Letzter Monat",
|
|
"thisYear": "Dieses Jahr",
|
|
"hours": "Stunden",
|
|
"minutes": "Minuten",
|
|
"seconds": "Sekunden",
|
|
"days": "Tage"
|
|
},
|
|
"systemSettings": {
|
|
"title": "Systemeinstellungen",
|
|
"description": "Globale Anwendungskonfiguration verwalten",
|
|
"general": "Allgemein",
|
|
"cors": "CORS",
|
|
"sync": "Synchronisation",
|
|
"features": "Features",
|
|
"branding": "Branding",
|
|
"appName": "Anwendungsname",
|
|
"companyName": "Firmenname",
|
|
"logoUrl": "Logo-URL",
|
|
"corsOrigins": "Erlaubte Origins",
|
|
"corsOriginsDesc": "Kommagetrennte Liste von erlaubten Origins fuer Cross-Origin-Anfragen",
|
|
"syncInterval": "Sync-Intervall",
|
|
"minutes": "Minuten",
|
|
"enableSyncJobs": "Hintergrund-Sync-Jobs",
|
|
"enableSyncJobsDesc": "Automatische Synchronisation der Integrationen im Hintergrund",
|
|
"enableSwagger": "Swagger API-Dokumentation",
|
|
"enableSwaggerDesc": "Interaktive API-Dokumentation unter /api/docs verfuegbar (Neustart erforderlich)",
|
|
"saved": "Einstellungen gespeichert",
|
|
"saveError": "Fehler beim Speichern der Einstellungen",
|
|
"requiresRestart": "Aenderung erfordert einen Neustart des Backends",
|
|
"save": "Speichern"
|
|
}
|
|
}
|