PSA/server/public/locales/de/msp/time-entry.json
Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

438 lines
16 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"common": {
"actions": {
"view": "Anzeigen",
"back": "Zurück",
"save": "Eintrag speichern",
"saveGeneric": "Speichern",
"saving": "Wird gespeichert...",
"cancel": "Abbrechen",
"reset": "Zurücksetzen",
"delete": "Löschen",
"change": "Ändern",
"select": "Auswählen",
"getStarted": "Loslegen",
"addItem": "Element hinzufügen",
"addEntry": "Eintrag",
"addComment": "Kommentar hinzufügen",
"adding": "Hinzufügen...",
"approve": "Genehmigen",
"reject": "Ablehnen",
"requestChanges": "Änderungen anfordern",
"reverseApproval": "Genehmigung zurücknehmen",
"reopen": "Wieder öffnen",
"reopenForEdits": "Zur Bearbeitung erneut öffnen",
"submitTimeSheet": "Stundenzettel einreichen",
"showDetails": "Details anzeigen",
"hideDetails": "Details ausblenden",
"copyToAnotherDay": "Auf einen anderen Tag kopieren",
"viewDetails": "Details anzeigen",
"manageTimePeriods": "Zeiträume verwalten",
"selectWorkItem": "Wählen Sie Arbeitselement aus",
"clearFilter": "Filter löschen"
},
"states": {
"inProgress": "In Arbeit",
"submitted": "Eingereicht",
"approved": "Genehmigt",
"changesRequested": "Änderungen angefordert",
"unknown": "Unbekannt",
"current": "Aktuell",
"active": "Aktiv",
"addressed": "Bearbeitet",
"changeRequested": "Änderung beantragt",
"loading": "Wird geladen..."
},
"fallbacks": {
"na": "k. A.",
"none": "Keine Einträge",
"notFound": "Nicht gefunden",
"untitled": "Ohne Titel",
"unassigned": "Nicht zugewiesen",
"noDueDate": "Kein Fälligkeitsdatum",
"noServiceSelected": "Kein Dienst ausgewählt",
"noNotes": "Keine Notizen",
"noUserFound": "Kein Benutzer gefunden"
},
"units": {
"hoursShort": "Std.",
"minutesShort": "m",
"hoursAbbrev": "Std.",
"dayOne": "Tag",
"dayOther": "Tage",
"percentBillable": "{{value}}% abrechenbar"
},
"types": {
"all": "Alle Typen",
"ticket": "Ticket",
"tickets": "Tickets",
"projectTask": "Projektaufgabe",
"projectTasks": "Projektaufgaben",
"interaction": "Interaktion",
"interactions": "Interaktionen",
"adHocEntry": "Ad-hoc-Eintrag",
"adHocEntries": "Ad-hoc-Einträge",
"billable": "Abrechenbar"
}
},
"timeTracking": {
"subjectUserLabel": "Benutzer"
},
"timeEntryProvider": {
"errors": {
"initialize": "Zeiteinträge konnten nicht initialisiert werden"
}
},
"timePeriodList": {
"title": "Wählen Sie einen Zeitraum aus",
"columns": {
"period": "Zeitraum",
"status": "Status",
"hoursEntered": "Eingegebene Stunden",
"daysLogged": "Tage protokolliert",
"lastEntry": "Letzter Eintrag",
"actions": "Aktionen"
},
"lastEntry": {
"none": "Keine Einträge"
}
},
"timeEntryForm": {
"labels": {
"service": "Dienst",
"date": "Datum",
"startTime": "Startzeit",
"endTime": "Endzeit",
"duration": "Dauer",
"billable": "Abrechnungsfähig",
"notes": "Notizen",
"deleteTimeEntry": "Zeiteintrag löschen",
"unsavedChanges": "Nicht gespeicherte Änderungen"
},
"placeholders": {
"selectService": "Wählen Sie einen Dienst aus",
"selectDate": "Datum auswählen",
"addNotes": "Notizen hinzufügen"
},
"validation": {
"startBeforeEnd": "Die Startzeit muss vor der Endzeit liegen",
"endAfterStart": "Die Endzeit muss später als die Startzeit liegen",
"durationMinimum": "Die Dauer muss mindestens 1 Minute betragen",
"minimumDuration": "Die Mindestdauer beträgt 1 Minute",
"serviceRequired": "Für Zeiteinträge ist ein Service erforderlich",
"timePeriodRange": "Das Datum muss innerhalb der aktuellen Periode liegen ({{periodRange}})",
"endAfterStartPicker": "Die Endzeit muss nach der Startzeit liegen",
"durationSameDay": "Die Dauer muss am selben Tag enden",
"endSameDay": "Die Endzeit muss am selben Tag wie die Startzeit liegen",
"invalidTimeRange": "Geben Sie einen gültigen Zeitraum ein"
}
},
"workItemPicker": {
"actions": {
"createAdHocEntry": "Ad-hoc-Eintrag erstellen"
},
"placeholders": {
"search": "Arbeitsaufträge suchen...",
"adHocTitle": "Geben Sie den Titel für den Ad-hoc-Eintrag ein",
"startTime": "Startzeit",
"endTime": "Endzeit"
},
"filters": {
"includeInactive": "Inaktive einbeziehen",
"filters": "Filter",
"assignedTo": "Zugewiesen an",
"assignedToMe": "Mir zugewiesen",
"startDate": "Startdatum",
"endDate": "Enddatum"
},
"empty": {
"searching": "Suche...",
"noWorkItems": "Keine Arbeitselemente gefunden"
}
},
"workItemList": {
"meta": {
"assignedTo": "Zugewiesen an: {{value}}",
"dueDate": "Fälligkeitsdatum: {{value}}",
"contact": "Kontakt: {{value}}",
"scheduledEnd": "Geplantes Ende: {{value}}"
},
"assignment": {
"oneUser": "1 Benutzer zugewiesen",
"multipleUsers": "{{count}} Benutzer zugewiesen",
"additionalUsers": "{{name}}, +{{count}} Benutzer",
"additionalUsersOther": "{{name}}, +{{count}} Benutzer"
},
"bundledUnder": "Gebündelt → {{number}}",
"bundled": "Gebündelt",
"pagination": {
"previous": "Zurück",
"next": "Weiter",
"pageInfo": "Seite {{current}} von {{total}} ({{records}} Datensätze insgesamt)"
},
"interactionType": "{{type}} • {{client}}",
"currentSelection": "Aktuelles Arbeitselement"
},
"timeSheetHeader": {
"title": "Stundenzettel",
"titleFor": "Stundenzettel für {{name}}",
"editedBy": "Bearbeitet von {{name}}",
"aria": {
"previousWeek": "Vorherige Woche",
"nextWeek": "Nächste Woche"
},
"pagination": {
"pageInfo": "Seite {{current}} von {{total}}"
},
"labels": {
"status": "Status:",
"showIntervals": "Intervalle anzeigen",
"grid": "Raster",
"list": "Liste"
}
},
"approval": {
"titleFor": "Arbeitszeitnachweisgenehmigung für {{name}}",
"sections": {
"summary": "Zusammenfassung",
"breakdownByWorkItemType": "Aufschlüsselung nach Arbeitselementtyp",
"dailyBreakdown": "Tägliche Aufschlüsselung",
"detailedEntries": "Detaillierte Zeiteinträge",
"comments": "Kommentare",
"timeEntryDetails": "Details zum Zeiteintrag"
},
"labels": {
"period": "Zeitraum",
"submitted": "Eingereicht",
"total": "Gesamt",
"billable": "Abrechnungsfähig",
"nonBillable": "Nicht abrechenbar",
"workItem": "Arbeitselement",
"service": "Dienst",
"duration": "Dauer",
"notes": "Notizen",
"entryChangeSuggestion": "Vorschlag zur Eintragsänderung",
"approver": "Genehmiger",
"employee": "Mitarbeiter"
},
"table": {
"date": "Datum",
"workItem": "Arbeitselement",
"start": "Start",
"end": "Ende",
"billable": "Abrechnungsfähig",
"status": "Status"
},
"comments": {
"changesRequestedHint": "(Änderungen wurden angefordert bitte überprüfen Sie die Kommentare)",
"responsePlaceholder": "Fügen Sie Ihre Antwort zu den angeforderten Änderungen hinzu...",
"placeholder": "Kommentar hinzufügen...",
"respondToChanges": "Reagieren Sie auf Änderungen"
},
"changeSuggestionPlaceholder": "Sagen Sie dem Mitarbeiter genau, was er an diesem Eintrag beheben soll"
},
"approvalActions": {
"dialogs": {
"rejectTitle": "Arbeitszeitnachweis ablehnen",
"requestChangesTitle": "Änderungen anfordern"
},
"labels": {
"rejectionReason": "Ablehnungsgrund"
},
"placeholders": {
"rejectionReason": "Geben Sie den Grund für die Ablehnung ein"
},
"confirm": {
"reject": "Bestätigen Sie „Ablehnen“.",
"changes": "Bestätigen Sie die Änderungen"
}
},
"comments": {
"placeholder": "Kommentar hinzufügen...",
"responsePlaceholder": "Reagieren Sie auf die gewünschten Änderungen...",
"respondToChanges": "Reagieren Sie auf Änderungen"
},
"feedback": {
"approverFeedback": "Feedback genehmigen",
"viewHistory": "Feedback-Verlauf anzeigen",
"approverOn": "{{name}} auf {{value}}"
},
"managerDashboard": {
"access": {
"title": "Zugang zum Teamleiter erforderlich",
"description": "Um Arbeitszeitnachweise für Ihre Teammitglieder zu genehmigen, müssen Sie Teamleiter sein.",
"goToTeamSettings": "Gehen Sie zu den Teameinstellungen"
},
"title": "Genehmigungen von Stundenzetteln",
"actions": {
"hideApproved": "Genehmigte ausblenden",
"showApproved": "Genehmigte anzeigen",
"bulkApproveSelected": "Auswahl gesammelt genehmigen",
"reverse": "Zurücknehmen"
},
"columns": {
"select": "Auswählen",
"employee": "Mitarbeiter",
"period": "Zeitraum",
"status": "Status",
"actions": "Aktionen"
},
"reverseApproval": {
"reason": "Genehmigung durch Manager rückgängig gemacht",
"error": "Rückgängigmachung der Genehmigung fehlgeschlagen: {{error}}"
}
},
"workItemDrawer": {
"errors": {
"genericTitle": "Fehler beim Laden des Inhalts",
"genericDescription": "Bitte versuchen Sie es erneut",
"failedInteraction": "Interaktionsdetails konnten nicht geladen werden",
"interactionNotFound": "Interaktion nicht gefunden",
"noUserSession": "Keine Benutzersitzung gefunden",
"failedTicket": "Das Laden des Tickets ist fehlgeschlagen",
"failedTask": "Aufgabe konnte nicht geladen werden",
"failedTaskPhase": "Die Aufgabenphase konnte nicht geladen werden",
"failedTaskProjectMetadata": "Das Laden der Metadaten des Aufgabenprojekts ist fehlgeschlagen",
"failedAdHoc": "Daten des Ad-hoc-Eintrags konnten nicht geladen werden",
"unsupportedType": "Nicht unterstützter Arbeitsaufgabentyp"
}
},
"timeSheetClient": {
"errors": {
"delegationDisabled": "Der delegierte Zeiteintrag ist deaktiviert",
"failedReopen": "Zeiterfassung konnte nicht erneut geöffnet werden"
},
"reopen": {
"success": "Arbeitszeittabelle zur Bearbeitung erneut geöffnet",
"reason": "Zur Bearbeitung erneut geöffnet",
"title": "Zur Bearbeitung erneut öffnen?",
"message": "Dadurch wird die Arbeitszeittabelle wieder in den Bereich „Angeforderte Änderungen“ verschoben, sodass Zeiteinträge bearbeitet werden können."
}
},
"timeSheetTable": {
"empty": {
"title": "Keine Arbeitselemente auf Ihrem Stundenzettel",
"description": "Fügen Sie ein neues Arbeitselement hinzu, um die Zeiterfassung für diese Woche zu starten.",
"getStarted": "Loslegen"
}
},
"timeSheetList": {
"delete": {
"title": "Arbeitselement löschen",
"message": "Dadurch werden alle Zeiteinträge für dieses Arbeitselement dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden."
},
"summary": {
"entryOne": "Eintrag",
"entryOther": "Einträge",
"total": "Gesamt: {{value}}",
"billable": "Abrechenbar: {{value}}"
},
"empty": {
"title": "Noch keine Zeiteinträge",
"description": "Fügen Sie ein Arbeitselement hinzu und beginnen Sie mit der Zeiterfassung.",
"noEntries": "Keine Einträge"
},
"columns": {
"workItem": "Arbeitselement",
"timeEntry": "Zeiterfassung",
"duration": "Dauer",
"billableDuration": "Abrechenbare Dauer",
"actions": "Aktionen"
},
"dayGroup": {
"entryOne": "{{count}} Eintrag",
"entryOther": "{{count}} Einträge"
},
"focusFilter": {
"summary": "{{count}} Einträge für {{workItem}} am {{date}} werden angezeigt",
"description": "Es werden nur Einträge aus der ausgewählten Rasterzelle angezeigt.",
"backToGrid": "Zurück zum Raster"
}
},
"selectedWorkItem": {
"adHocNoWorkItem": "Ad-hoc-Eintrag (kein Workitem)"
},
"contractInfo": {
"noContract": "Für diesen Service wurde keine Vertragszeile gefunden. Die Zeit wird an den systemverwalteten Standardvertrag weitergeleitet.",
"contract": "Vertrag: {{name}}",
"defaultContract": "Systemverwalteter Standardvertrag",
"multipleLines": "Mehrere Vertragszeilen verfügbar Standardauswahl verwenden"
},
"billableLegend": {
"title": "Abrechnungsfähige Legende",
"description": "Farbindikatoren für abrechnungsfähige Zeitverhältnisse"
},
"intervalItem": {
"now": "Jetzt",
"autoClosed": "Automatisch geschlossen",
"active": "Aktiv"
},
"intervals": {
"createdFromNote_one": "Aus {{count}} Intervall erstellt",
"createdFromNote_other": "Aus {{count}} Intervallen erstellt",
"selectedCount_one": "{{count}} Intervall ausgewählt",
"selectedCount_other": "{{count}} Intervalle ausgewählt",
"title": "Ticketzeitintervalle",
"hideShortIntervals": "Intervalle unter 1 Minute ausblenden",
"totalTime": "Gesamtzeit: {{value}}",
"selectedOne": "{{count}} Intervall ausgewählt",
"selectedOther": "{{count}} Intervalle ausgewählt",
"tooltips": {
"createTimeEntry": "Zeiteintrag aus ausgewählten Intervallen erstellen",
"deleteSelected": "Ausgewählte Intervalle löschen",
"mergeSelected": "Ausgewählte Intervalle zusammenführen"
},
"actions": {
"selectAll": "Wählen Sie „Alle“ aus",
"deselectAll": "Alle abwählen",
"merge": "Verschmelzen"
},
"states": {
"loading": "Ladeintervalle...",
"noIntervalsThisPeriod": "Für diesen Zeitraum wurden keine Intervalle gefunden",
"noIntervalsThisTicket": "Für dieses Ticket wurden keine Intervalle gefunden",
"noIntervalsLongerThanMinute": "Es wurden keine Intervalle gefunden, die länger als 1 Minute sind"
},
"entryName": "Ticketzeiteintrag",
"messages": {
"cannotFindTimeSheet": "Zeiteintrag kann nicht erstellt werden Arbeitszeitnachweis konnte nicht gefunden oder erstellt werden",
"mergeFirst": "Bitte führen Sie zunächst Intervalle zusammen, bevor Sie einen Zeiteintrag erstellen",
"sameTicketOnly": "Es können nur Zeiteinträge aus Intervallen desselben Tickets erstellt werden",
"mergeSameTicketOnly": "Es können nur Intervalle desselben Tickets zusammengeführt werden",
"mergeSuccess": "Intervalle erfolgreich zusammengeführt",
"failedMerge": "Intervalle konnten nicht zusammengeführt werden",
"noActivePeriod": "Kein aktiver Zeitraum gefunden",
"failedFetchTimeSheet": "Zeitnachweis konnte nicht erstellt oder abgerufen werden",
"failedPrepareTimeEntry": "Zeiteintrag konnte nicht vorbereitet werden",
"savedSuccess": "Zeiteintrag erfolgreich gespeichert",
"failedSave": "Zeiteintrag konnte nicht gespeichert werden"
}
},
"addWorkItemDialog": {
"title": "Arbeitselement hinzufügen",
"description": "Wählen Sie ein Arbeitselement aus, das der Arbeitszeittabelle hinzugefügt werden soll",
"close": "Schließen Sie das Dialogfeld „Arbeitselement hinzufügen“.",
"focus": "Konzentrieren Sie sich auf das Dialogfeld „Arbeitselement hinzufügen“."
},
"timeEntryReadOnly": {
"viewEntryDetails": "Eintragsdetails anzeigen"
},
"messages": {
"serviceRequired": "Bitte wählen Sie einen Dienst, bevor Sie Zeiteinträge speichern",
"invalidService": "Ungültiger Dienst ausgewählt",
"taxRegionRequired": "Bitte wählen Sie eine Steuerregion für steuerpflichtige Dienste",
"invalidTimeEntry": "Bitte überprüfen Sie die Werte des Zeiteintrags",
"savingEntry": "Zeiteintrag wird gespeichert...",
"entrySaved": "Zeiteintrag gespeichert",
"entrySavedSuccess": "Zeiteintrag erfolgreich gespeichert",
"taskUpdated": "Aufgabe erfolgreich aktualisiert",
"saveChangesFailed": "Änderungen konnten nicht gespeichert werden",
"changesSaved": "Änderungen erfolgreich gespeichert",
"workItemDeleted": "Arbeitsposten erfolgreich gelöscht"
},
"bundleNotice": {
"withNumber": "Dieses Ticket ist unter {{number}} gebündelt. Die Zeit für Bündel wird üblicherweise auf dem Master-Ticket erfasst.",
"withoutNumber": "Dieses Ticket ist Teil eines Bündels. Die Zeit für Bündel wird üblicherweise auf dem Master-Ticket erfasst."
}
}