2026-04-02 17:48:27 +02:00
{
"Helpdesk" : "Helpdesk" ,
"Helpdesk settings" : "Helpdesk-Einstellungen" ,
"Customers" : "Kunden" ,
2026-04-02 21:05:54 +02:00
"Debtor search" : "Kundensuche" ,
"Search debtors" : "Kunden suchen" ,
"Search by name or debtor number..." : "Suche nach Name oder Kundennummer..." ,
2026-04-02 17:48:27 +02:00
"Search" : "Suchen" ,
2026-04-02 21:05:54 +02:00
"Please provide a customer number" : "Bitte geben Sie eine Kundennummer an" ,
2026-04-02 17:48:27 +02:00
"Minimum 2 characters" : "Mindestens 2 Zeichen" ,
"Please enter at least 2 characters." : "Bitte mindestens 2 Zeichen eingeben." ,
2026-04-02 21:05:54 +02:00
"No debtors found" : "Keine Kunden gefunden" ,
2026-04-02 17:48:27 +02:00
"Try a different search term." : "Versuchen Sie einen anderen Suchbegriff." ,
"Could not connect to Business Central." : "Verbindung zu Business Central fehlgeschlagen." ,
"BC connection is not configured." : "BC-Verbindung ist nicht konfiguriert." ,
"BC connection is not configured. Please configure the connection in the settings." : "BC-Verbindung ist nicht konfiguriert. Bitte konfigurieren Sie die Verbindung in den Einstellungen." ,
"BC connection is not configured" : "BC-Verbindung ist nicht konfiguriert" ,
"Open settings" : "Einstellungen öffnen" ,
2026-04-02 21:05:54 +02:00
"Debtor No." : "Kunden-Nr." ,
2026-04-02 17:48:27 +02:00
"Name" : "Name" ,
"City" : "Ort" ,
"Phone" : "Telefon" ,
"E-Mail" : "E-Mail" ,
"Master data" : "Stammdaten" ,
"Contacts" : "Ansprechpartner" ,
"Tickets" : "Tickets" ,
2026-04-02 21:05:54 +02:00
"Debtor details" : "Kunden-Details" ,
2026-04-02 17:48:27 +02:00
"Search name" : "Suchname" ,
"Address" : "Adresse" ,
"Postal code" : "PLZ" ,
"Salesperson" : "Verkäufer" ,
"No contacts found" : "Keine Ansprechpartner gefunden" ,
2026-04-02 21:05:54 +02:00
"No contacts are linked to this debtor in Business Central." : "Diesem Kunden sind in Business Central keine Ansprechpartner zugeordnet." ,
2026-04-02 17:48:27 +02:00
"No." : "Nr." ,
"Type" : "Typ" ,
"Job title" : "Position" ,
"No tickets found" : "Keine Tickets gefunden" ,
2026-04-02 21:05:54 +02:00
"No tickets are linked to this debtor in Business Central." : "Diesem Kunden sind in Business Central keine Tickets zugeordnet." ,
2026-04-02 17:48:27 +02:00
"Ticket No." : "Ticket-Nr." ,
2026-05-26 11:01:35 +02:00
"Dashboard" : "Dashboard" ,
2026-04-02 17:48:27 +02:00
"Description" : "Beschreibung" ,
"Status" : "Status" ,
"Category" : "Kategorie" ,
"Contact" : "Kontakt" ,
2026-04-04 18:34:03 +02:00
"Support" : "Support" ,
"Sales" : "Vertrieb" ,
"Controlling" : "Controlling" ,
2026-04-02 17:48:27 +02:00
"Ticket" : "Ticket" ,
2026-04-02 21:05:54 +02:00
"Debtor" : "Kunde" ,
"Debtor not found" : "Kunde nicht gefunden" ,
2026-04-02 17:48:27 +02:00
"Ticket not found" : "Ticket nicht gefunden" ,
"Back to search" : "Zurück zur Suche" ,
"Back" : "Zurück" ,
"Settings" : "Einstellungen" ,
2026-04-04 18:34:03 +02:00
"Connection" : "Verbindung" ,
2026-04-02 17:48:27 +02:00
"Save" : "Speichern" ,
"Settings saved" : "Einstellungen gespeichert" ,
"Configuration incomplete" : "Konfiguration unvollständig" ,
"OData Base URL" : "OData-Basis-URL" ,
"Base URL without Company path segment" : "Basis-URL ohne Company-Pfadsegment" ,
"Company name" : "Firmenname" ,
"BC company name (URL-encoded automatically)" : "BC-Firmenname (wird automatisch URL-kodiert)" ,
"Authentication" : "Authentifizierung" ,
"Auth mode" : "Auth-Modus" ,
"Basic Auth" : "Basic Auth" ,
"OAuth2 (client credentials)" : "OAuth2 (Client Credentials)" ,
"Username" : "Benutzername" ,
"Password" : "Passwort" ,
2026-04-06 22:22:17 +02:00
"Leave empty to keep current password" : "Leer lassen, um das aktuelle Passwort beizubehalten" ,
"Saved" : "Gespeichert" ,
2026-04-02 17:48:27 +02:00
"Azure Tenant ID" : "Azure-Mandanten-ID" ,
"Client ID" : "Client-ID" ,
"Client Secret" : "Client-Secret" ,
"Token endpoint URL" : "Token-Endpoint-URL" ,
"Connection test" : "Verbindungstest" ,
"Test connection" : "Verbindung testen" ,
"Connection successful" : "Verbindung erfolgreich" ,
"Connection failed" : "Verbindung fehlgeschlagen" ,
"Testing..." : "Teste..." ,
"Form expired, please try again" : "Formular abgelaufen, bitte erneut versuchen" ,
"OData Base URL must use HTTPS" : "OData-Basis-URL muss HTTPS verwenden" ,
"Address & contact" : "Adresse & Kontakt" ,
"Company" : "Unternehmen" ,
"Company details" : "Firmendetails" ,
"Contact & dates" : "Kontakt & Termine" ,
"Could not load contacts." : "Ansprechpartner konnten nicht geladen werden." ,
"Could not load tickets." : "Tickets konnten nicht geladen werden." ,
"Last activity" : "Letzte Aktivität" ,
"Ticket details" : "Ticket-Details" ,
"Overview" : "Übersicht" ,
"Open tickets" : "Offene Tickets" ,
"All tickets" : "Alle Tickets" ,
"All contacts" : "Alle Ansprechpartner" ,
"Recent activity" : "Letzte Aktivität" ,
"Support info & master data" : "Support-Info & Stammdaten" ,
"Support type" : "Supportart" ,
"Location" : "Standort" ,
"No open tickets" : "Keine offenen Tickets" ,
"No recent activity found." : "Keine aktuellen Aktivitäten gefunden." ,
2026-04-04 18:34:03 +02:00
"Total tickets" : "Alle Tickets" ,
"Total contracts" : "Alle Verträge" ,
"Critical (>48h)" : "Kritisch (>48h)" ,
"Oldest open" : "Ältestes offenes" ,
"Ticket list" : "Ticketliste" ,
"Next actions" : "Nächste Aktionen" ,
"System recommendations" : "System-Empfehlungen" ,
"Action" : "Aktion" ,
"Age (h)" : "Alter (h)" ,
"No support actions required right now." : "Aktuell sind keine Support-Aktionen erforderlich." ,
"No system recommendations right now." : "Aktuell gibt es keine System-Empfehlungen." ,
"Contracts & products" : "Verträge & Produkte" ,
"No contracts found for this customer." : "Für diesen Debitor wurden keine Verträge gefunden." ,
"Contract No." : "Vertragsnr." ,
"Product type" : "Produkttyp" ,
"Next invoicing" : "Nächste Abrechnung" ,
"Amount" : "Betrag" ,
"Active contracts" : "Aktive Verträge" ,
"Could not load contracts." : "Verträge konnten nicht geladen werden." ,
"Escalations" : "Eskalationen" ,
"Escalations are not available yet." : "Eskalationen sind derzeit noch nicht verfügbar." ,
"Escalated tickets" : "Eskalierte Tickets" ,
"No escalated tickets right now." : "Aktuell gibt es keine eskalierten Tickets." ,
"Could not load escalated tickets." : "Eskalierte Tickets konnten nicht geladen werden." ,
"Escalation code" : "Eskalationscode" ,
"SLA target" : "SLA-Ziel" ,
"Overdue by" : "Überfällig seit" ,
"day" : "Tag" ,
"days" : "Tage" ,
"Ticket volume" : "Ticket-Volumen" ,
"Close rate" : "Close-Rate" ,
"Avg. resolution" : "Ø Lösungszeit" ,
2026-04-05 16:37:07 +02:00
"Open backlog" : "Offene Tickets" ,
"kpi_tooltip_close_rate" : "Geschlossene \u00f7 erstellte Tickets im Zeitraum. \u00dcber 1\u00d7 = R\u00fcckstau wird abgebaut." ,
2026-04-04 18:34:03 +02:00
"kpi_tooltip_resolution" : "Median der Bearbeitungsdauer aller im Zeitraum geschlossenen Tickets." ,
2026-04-05 16:37:07 +02:00
"kpi_tooltip_backlog" : "Aktueller Stand aller offenen Tickets \u2013 unabh\u00e4ngig vom gew\u00e4hlten Zeitraum. Zeigt den R\u00fcckstau." ,
"Backlog shrinking" : "Rückstau wird abgebaut" ,
"Backlog growing" : "Rückstau wächst" ,
2026-04-04 18:34:03 +02:00
"unassigned" : "ohne Bearbeiter" ,
"Ticket trend" : "Ticket-Trend" ,
"Support efficiency" : "Support-Effizienz" ,
"Contract metrics" : "Vertrags-Kennzahlen" ,
2026-04-05 16:37:07 +02:00
"Risk assessment" : "Risikoanalyse" ,
2026-04-04 18:34:03 +02:00
"vs. prev. period" : "vs. Vorperiode" ,
"Low" : "Niedrig" ,
"Medium" : "Mittel" ,
"High" : "Hoch" ,
2026-04-05 16:37:07 +02:00
"All checks passed" : "Alle Checks bestanden" ,
"of" : "von" ,
"checks flagged" : "Checks auffällig" ,
"Limit" : "Limit" ,
2026-04-04 18:34:03 +02:00
"No controlling data available." : "Keine Controlling-Daten verfügbar." ,
2026-04-05 16:37:07 +02:00
"Resolution time" : "Bearbeitungszeit" ,
"Oldest open ticket" : "Ältestes offenes Ticket" ,
"Unassigned" : "Nicht zugewiesen" ,
"risk_desc_ticket_volume" : "Veränderung zum Vorperiode" ,
"risk_desc_resolution_time" : "Median bis Schließung" ,
"risk_desc_open_aging" : "Seit letzter Aktivität" ,
"risk_desc_unassigned" : "Anteil offener Tickets ohne Bearbeiter" ,
2026-04-04 18:34:03 +02:00
"Ticket volume increase" : "Ticketvolumen-Anstieg" ,
"High avg. resolution time" : "Hohe Ø Lösungszeit" ,
"Open ticket aging" : "Offene Tickets überfällig" ,
"Unassigned ticket ratio" : "Nicht-zugewiesene Tickets" ,
"Could not load controlling dashboard." : "Controlling-Dashboard konnte nicht geladen werden." ,
"Avg. open age" : "Ø Alter offen" ,
"Without assignee" : "Ohne Bearbeiter" ,
"30 days" : "30 Tage" ,
"90 days" : "90 Tage" ,
"6 months" : "6 Monate" ,
"1 year" : "1 Jahr" ,
"Escalation rate" : "Eskalationsrate" ,
"Threshold (%)" : "Schwellwert (%)" ,
"Threshold (hours)" : "Schwellwert (Stunden)" ,
"Controlling risk configuration was invalid. Defaults were applied." : "Die Controlling-Risiko-Konfiguration war ungültig. Es wurden Standardwerte geladen." ,
"Open ticket without activity for" : "Offenes Ticket ohne Aktivität seit" ,
"hours" : "Stunden" ,
"Open ticket without assigned support user" : "Offenes Ticket ohne zugewiesenen Support-Bearbeiter" ,
"Follow up oldest open ticket" : "Ältestes offenes Ticket nachverfolgen" ,
"System recommendation configuration was invalid. Defaults were applied." : "Die Konfiguration der System-Empfehlungen war ungültig. Es wurden Standardwerte geladen." ,
"Maximum recommendations" : "Maximale Empfehlungen" ,
"Rule templates" : "Regel-Templates" ,
"Enabled" : "Aktiv" ,
"Priority" : "Priorität" ,
"Thresholds" : "Schwellwerte" ,
"Escalation overdue" : "Eskalation überfällig" ,
"High-risk aging" : "High-Risk Alterung" ,
"Unassigned open" : "Offen ohne Bearbeiter" ,
"Stale open" : "Offen ohne Aktivität" ,
2026-04-05 16:37:07 +02:00
"Customer backlog" : "Offene Tickets beim Kunden" ,
2026-04-04 18:34:03 +02:00
"Minimum overdue (minutes)" : "Mindestens überfällig (Minuten)" ,
"High-risk codes (comma separated)" : "High-Risk Codes (kommagetrennt)" ,
"Minimum age (hours)" : "Mindestalter (Stunden)" ,
"Minimum open tickets" : "Mindestens offene Tickets" ,
2026-04-05 16:37:07 +02:00
"Escalation SLA exceeded by {overdue_hours}h ({escalation_code})." : "SLA um {overdue_hours}h überschritten ({escalation_code}) — sofort eskalieren oder Kunden informieren." ,
"High-risk ticket ({escalation_code}) is open for {age_hours}h." : "Kritisches Ticket ({escalation_code}) seit {age_hours}h offen — Priorität prüfen und Bearbeitung sicherstellen." ,
"Ticket is unassigned for {age_hours}h." : "Seit {age_hours}h ohne Bearbeiter — dringend einem Mitarbeiter zuweisen." ,
"No activity for {age_hours}h." : "Seit {age_hours}h keine Aktivität — prüfen ob Kunde auf Antwort wartet." ,
"Customer backlog: {open_tickets} open tickets." : "{open_tickets} offene Tickets — älteste Tickets zuerst bearbeiten, um Rückstau abzubauen." ,
2026-04-02 17:48:27 +02:00
"Created" : "Erstellt" ,
"Loading..." : "Laden..." ,
2026-04-04 18:34:03 +02:00
"Refresh data" : "Daten aktualisieren" ,
2026-04-02 17:48:27 +02:00
"Mobile" : "Mobil" ,
"Activity" : "Aktivität" ,
"Activity timeline" : "Aktivitätsverlauf" ,
"Message" : "Nachricht" ,
"Status change" : "Statusänderung" ,
"No activity found." : "Keine Aktivitäten gefunden." ,
"Could not load activity log." : "Aktivitätsverlauf konnte nicht geladen werden." ,
2026-04-03 16:45:41 +02:00
"Communication history" : "Kommunikationsverlauf" ,
"No communication found." : "Keine Kommunikation gefunden." ,
"Could not load communication history." : "Kommunikationsverlauf konnte nicht geladen werden." ,
"Live communication unavailable, showing activity fallback." : "Live-Kommunikation nicht verfügbar, es werden Aktivitätsdaten als Fallback angezeigt." ,
"Ticket communication" : "Ticket-Kommunikation" ,
"Last 5 tickets" : "Letzte 5 Tickets" ,
"Last 10 tickets" : "Letzte 10 Tickets" ,
"Some ticket communications could not be loaded completely." : "Einige Ticket-Kommunikationen konnten nicht vollständig geladen werden." ,
"Unknown user" : "Unbekannter Benutzer" ,
"Unknown time" : "Unbekannte Zeit" ,
"Source" : "Quelle" ,
"SOAP" : "SOAP" ,
"Activity fallback" : "Aktivitäts-Fallback" ,
2026-04-02 17:48:27 +02:00
"sent a message" : "hat eine Nachricht gesendet" ,
"changed status" : "hat den Status geändert" ,
"Forwarded" : "hat das Ticket weitergeleitet" ,
"attached a file" : "hat eine Datei angehängt" ,
2026-04-03 16:45:41 +02:00
"logged an activity" : "hat eine Aktivität erfasst" ,
"on" : "am" ,
2026-04-02 17:48:27 +02:00
"Process" : "Prozess" ,
"All" : "Alle" ,
"Open" : "Offen" ,
"In Progress" : "In Bearbeitung" ,
2026-04-04 18:34:03 +02:00
"Closed" : "Geschlossen" ,
"Monthly volume" : "Monatliches Volumen" ,
"Support hours" : "Support-Stunden" ,
"Contract overview" : "Vertragsübersicht" ,
"No contract details available." : "Keine Vertragsdetails verfügbar." ,
"Could not load sales dashboard." : "Vertriebsdashboard konnte nicht geladen werden." ,
"Quantity" : "Menge" ,
"Unit price" : "Stückpreis" ,
"Line amount" : "Zeilenbetrag" ,
"Line state" : "Zeilenstatus" ,
"Starting date" : "Startdatum" ,
"Invoicing period" : "Abrechnungszeitraum" ,
"positions" : "Positionen" ,
"per month" : "pro Monat" ,
"Last invoicing" : "Letzte Abrechnung" ,
"Analysis" : "Analyse" ,
"New (30d)" : "Neu (30T)" ,
"Resolved (30d)" : "Gelöst (30T)" ,
"Avg. age open" : "Ø Alter offen" ,
"vs. prev. 30d" : "vs. Vorz. 30T" ,
"net (30d)" : "netto (30T)" ,
"critical" : "kritisch" ,
"Avg. contract value" : "Ø Vertragswert" ,
"of {total} total" : "von {total} gesamt" ,
"in {days} days" : "in {days} Tagen" ,
2026-04-05 16:37:07 +02:00
"largest" : "größter" ,
"Attention needed" : "Handlungsbedarf" ,
"Recommendations" : "Empfehlungen" ,
"Contract summary" : "Vertragsübersicht" ,
"Contract trend" : "Vertragsentwicklung" ,
"New contracts" : "Neue Verträge" ,
"Ended contracts" : "Beendete Verträge" ,
"active" : "aktiv" ,
"ended" : "beendet" ,
"Age" : "Alter" ,
"Period" : "Zeitraum" ,
"Last 30 days" : "Letzte 30 Tage" ,
"Last 90 days" : "Letzte 90 Tage" ,
"Last 180 days" : "Letzte 180 Tage" ,
2026-04-05 17:58:00 +02:00
"Last 365 days" : "Letzte 365 Tage" ,
"Automation" : "Automatisierung" ,
"Risk monitoring" : "Risiko-Monitoring" ,
"rule_help_escalation_overdue" : "Empfiehlt Aktion, wenn SLA-Eskalationsfristen überschritten sind." ,
"rule_help_high_risk_aging" : "Erkennt kritische Tickets mit bestimmten Eskalationscodes, die zu lange offen sind." ,
"rule_help_unassigned_open" : "Weist auf offene Tickets hin, die keinem Bearbeiter zugewiesen sind." ,
"rule_help_stale_open" : "Markiert offene Tickets ohne aktuelle Aktivität zur Nachverfolgung." ,
"rule_help_customer_backlog" : "Warnt, wenn ein Kunde zu viele offene Tickets gleichzeitig hat." ,
"rule_help_ticket_volume" : "Löst aus, wenn das Ticketvolumen im Vergleich zur Vorperiode ungewöhnlich ansteigt." ,
"rule_help_avg_resolution" : "Warnt, wenn die durchschnittliche Bearbeitungszeit einen Schwellwert überschreitet." ,
"rule_help_open_aging" : "Erkennt offene Tickets, die zu lange ohne Bearbeitung sind." ,
"rule_help_unassigned_ratio" : "Warnt, wenn zu viele offene Tickets keinem Bearbeiter zugewiesen sind." ,
"Automation configuration was invalid. Defaults were applied." : "Die Automatisierungskonfiguration war ungültig. Es wurden Standardwerte geladen." ,
"Advanced options" : "Erweiterte Optionen" ,
"Min. overdue" : "Mind. überfällig" ,
"Min. age" : "Mindestalter" ,
2026-04-05 18:46:54 +02:00
"Min. open" : "Mind. offen" ,
"Team" : "Team" ,
2026-04-06 22:22:17 +02:00
"Team dashboard" : "Auslastung" ,
2026-04-05 18:46:54 +02:00
"Team workload" : "Team-Auslastung" ,
"Support agent" : "Support-Mitarbeiter" ,
"Critical (>48h open)" : "Kritisch (>48h offen)" ,
"Avg. age (h)" : "Ø Alter (h)" ,
"Resolved in period" : "Gelöst im Zeitraum" ,
"Not assigned" : "Nicht zugewiesen" ,
2026-04-06 22:22:17 +02:00
"Could not load team dashboard." : "Auslastung konnte nicht geladen werden." ,
2026-04-05 18:53:39 +02:00
"No team data available." : "Keine Team-Daten verfügbar." ,
2026-04-05 20:11:44 +02:00
"Top customers" : "Top-Kunden" ,
"Top categories" : "Top-Kategorien" ,
2026-04-05 18:53:39 +02:00
"Current" : "Aktuell" ,
2026-04-05 19:09:15 +02:00
"Performance" : "Leistung" ,
2026-04-05 20:07:08 +02:00
"Historical" : "Historisch" ,
2026-04-05 21:11:28 +02:00
"Queue" : "Warteschlange" ,
"trend_tooltip_up" : "Mehr Tickets erhalten als gelöst im Zeitraum — Rückstau wächst." ,
2026-04-05 21:15:05 +02:00
"trend_tooltip_down" : "Mehr Tickets gelöst als erhalten im Zeitraum — Rückstau wird abgebaut." ,
2026-04-05 22:49:01 +02:00
"Download file" : "Datei herunterladen" ,
2026-04-06 00:24:48 +02:00
"Trend based on last {days} days" : "Trend basiert auf den letzten {days} Tagen" ,
"Trend" : "Trend" ,
"Risk radar" : "Risiko-Radar" ,
"Risk score" : "Risiko-Score" ,
2026-04-06 22:22:17 +02:00
"Risk traffic light logic" : "Ampel-Logik" ,
"High risk (55-100)" : "Hohes Risiko (55-100)" ,
"Medium risk (25-54)" : "Mittleres Risiko (25-54)" ,
"Low risk (0-24)" : "Niedriges Risiko (0-24)" ,
"Score = weighted sum: Open pressure (35), Trend (30), SLA overdue (25), Inactivity (10)." : "Score = gewichtete Summe: Offene Tickets (35), Trend (30), SLA überfällig (25), Inaktivität (10)." ,
2026-04-06 00:24:48 +02:00
"High risk" : "Hohes Risiko" ,
"Medium risk" : "Mittleres Risiko" ,
"Low risk" : "Niedriges Risiko" ,
"SLA overdue" : "SLA überfällig" ,
"Net flow" : "Netto-Zufluss" ,
"Open pressure" : "Offene Tickets" ,
"Inactivity" : "Inaktivität" ,
"No risk data available." : "Keine Risikodaten verfügbar." ,
"Could not load risk radar." : "Risiko-Radar konnte nicht geladen werden." ,
"Data may be incomplete. Not all tickets could be loaded." : "Daten möglicherweise unvollständig. Nicht alle Tickets konnten geladen werden." ,
"Why at risk" : "Warum kritisch" ,
"open" : "offen" ,
"overdue" : "überfällig" ,
"net" : "netto" ,
2026-04-06 00:36:49 +02:00
"Search customers..." : "Kunden suchen..." ,
"more than resolved" : "mehr als gelöst" ,
"SLA breaches" : "SLA-Verletzungen" ,
2026-04-06 10:29:59 +02:00
"Oldest ticket" : "Ältestes Ticket" ,
2026-04-06 22:22:17 +02:00
"General connection" : "Allgemeine Verbindung" ,
"Tenant connection" : "Mandanten-Verbindung" ,
2026-04-06 10:29:59 +02:00
"Configuration source" : "Konfigurationsquelle" ,
"Use tenant-specific configuration" : "Mandantenspezifische Konfiguration verwenden" ,
"When enabled, this tenant uses its own BC connection instead of the global configuration." : "Wenn aktiviert, nutzt dieser Mandant seine eigene BC-Verbindung anstelle der globalen Konfiguration." ,
"This tenant inherits the global configuration. Enable the toggle above to use tenant-specific settings." : "Dieser Mandant erbt die globale Konfiguration. Aktivieren Sie den Schalter oben, um mandantenspezifische Einstellungen zu verwenden." ,
"Tenant settings saved" : "Mandanten-Einstellungen gespeichert" ,
2026-04-06 22:22:17 +02:00
"Token endpoint must use HTTPS" : "Token-Endpunkt muss HTTPS verwenden" ,
"The current tenant uses its own configuration. Changes here only affect tenants without a tenant-specific connection." : "Der aktuelle Mandant verwendet eine eigene Verbindung. Änderungen hier betreffen nur Mandanten ohne eigene Verbindung." ,
2026-04-13 14:13:29 +02:00
"Failed to save tenant settings" : "Mandanten-Einstellungen konnten nicht gespeichert werden" ,
"Meetings" : "Termine" ,
"Released" : "Freigegeben" ,
"Pending" : "Ausstehend" ,
"Upcoming meetings" : "Kommende Termine" ,
"Past meetings" : "Vergangene Termine" ,
"No meetings found for this customer." : "Keine Termine für diesen Kunden gefunden." ,
2026-04-14 21:34:32 +02:00
"Could not load meetings." : "Termine konnten nicht geladen werden." ,
"Domains" : "Domains" ,
"Search domains..." : "Domains suchen..." ,
"Customer No." : "Kunden-Nr." ,
"Customer Name" : "Kundenname" ,
"Administration" : "Verwaltung" ,
"No domains found" : "Keine Domains gefunden" ,
"Could not load domains." : "Domains konnten nicht geladen werden." ,
"Lookup" : "Nachschlagen" ,
"Monitoring" : "Monitoring" ,
"Contract type" : "Vertragsart" ,
2026-04-14 22:16:21 +02:00
"Customer" : "Kunde" ,
"Software products" : "Software-Produkte" ,
"Software product" : "Software-Produkt" ,
"Search software products..." : "Software-Produkte suchen..." ,
"BC description" : "BC-Bezeichnung" ,
"Product name" : "Produktname" ,
"Code" : "Code" ,
"Active" : "Aktiv" ,
"Inactive" : "Inaktiv" ,
"Last synced" : "Zuletzt synchronisiert" ,
"Modified" : "Geändert" ,
"Edit software product" : "Software-Produkt bearbeiten" ,
"Back to list" : "Zurück zur Liste" ,
"Save & close" : "Speichern & schließen" ,
"Software product updated" : "Software-Produkt aktualisiert" ,
"Software product not found" : "Software-Produkt nicht gefunden" ,
"Product details" : "Produktdetails" ,
"Enter product name..." : "Produktname eingeben..." ,
"Name must not exceed 255 characters" : "Name darf maximal 255 Zeichen lang sein" ,
feat(helpdesk): add handover protocol schema editor to software products
Add a JSON-based schema editor as a new tab on the software product edit
page. Admins can define protocol fields (heading, paragraph, text,
textarea, number, date, checkbox, select) via a structured UI with
add/remove/reorder controls. The schema is stored as a versioned JSON
column on the product row.
Includes DB migration, server-side validation (type whitelist, key
uniqueness, key format, max 50 fields, select option checks), i18n
(DE+EN), CSS, and 10 PHPUnit tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 16:44:12 +02:00
"Failed to save" : "Speichern fehlgeschlagen" ,
"Handover protocol" : "Übergabeprotokoll" ,
"Handover protocol schema" : "Übergabeprotokoll-Schema" ,
"Define the fields that make up the handover protocol for this product." : "Definieren Sie die Felder, die das Übergabeprotokoll für dieses Produkt bilden." ,
"Add field" : "Feld hinzufügen" ,
"Remove field" : "Feld entfernen" ,
2026-04-16 13:21:40 +02:00
"Duplicate field" : "Feld duplizieren" ,
feat(helpdesk): add handover protocol schema editor to software products
Add a JSON-based schema editor as a new tab on the software product edit
page. Admins can define protocol fields (heading, paragraph, text,
textarea, number, date, checkbox, select) via a structured UI with
add/remove/reorder controls. The schema is stored as a versioned JSON
column on the product row.
Includes DB migration, server-side validation (type whitelist, key
uniqueness, key format, max 50 fields, select option checks), i18n
(DE+EN), CSS, and 10 PHPUnit tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 16:44:12 +02:00
"Move up" : "Nach oben" ,
"Move down" : "Nach unten" ,
"Field key" : "Feld-Schlüssel" ,
"Field label" : "Feld-Bezeichnung" ,
"Field type" : "Feldtyp" ,
"Required" : "Pflichtfeld" ,
"Options" : "Optionen" ,
"Add option" : "Option hinzufügen" ,
"Remove option" : "Option entfernen" ,
"Option value" : "Optionswert" ,
"Option label" : "Optionsbezeichnung" ,
"No fields defined yet. Click \"Add field\" to get started." : "Noch keine Felder definiert. Klicken Sie auf \"Feld hinzufügen\" um zu beginnen." ,
"Heading" : "Überschrift" ,
"Paragraph" : "Absatz" ,
"Text" : "Text" ,
"Textarea" : "Textbereich" ,
"Number" : "Zahl" ,
"Date" : "Datum" ,
"Checkbox" : "Checkbox" ,
"Select" : "Auswahl" ,
"Text content" : "Textinhalt" ,
"Maximum %d fields allowed" : "Maximal %d Felder erlaubt" ,
"Field %d: unknown type \"%s\"" : "Feld %d: unbekannter Typ \"%s\"" ,
"Field %d: label is required" : "Feld %d: Bezeichnung ist erforderlich" ,
2026-04-15 18:08:12 +02:00
"Field %d: generates duplicate key \"%s\" — use a more distinct label" : "Feld %d: erzeugt doppelten Schlüssel \"%s\" — verwenden Sie eine eindeutigere Bezeichnung" ,
feat(helpdesk): add handover protocol schema editor to software products
Add a JSON-based schema editor as a new tab on the software product edit
page. Admins can define protocol fields (heading, paragraph, text,
textarea, number, date, checkbox, select) via a structured UI with
add/remove/reorder controls. The schema is stored as a versioned JSON
column on the product row.
Includes DB migration, server-side validation (type whitelist, key
uniqueness, key format, max 50 fields, select option checks), i18n
(DE+EN), CSS, and 10 PHPUnit tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 16:44:12 +02:00
"Field %d: select must have at least one option" : "Feld %d: Auswahl muss mindestens eine Option haben" ,
2026-04-15 18:08:12 +02:00
"Field %d, option %d: label is required" : "Feld %d, Option %d: Bezeichnung ist erforderlich" ,
"Preview" : "Vorschau" ,
"Add fields to see a live preview." : "Felder hinzufügen, um eine Vorschau zu sehen." ,
2026-04-15 20:42:41 +02:00
"Field" : "Feld" ,
"Operations" : "Betrieb" ,
"Handovers" : "Übergaben" ,
"Handover" : "Übergabe" ,
"New handover" : "Neue Übergabe" ,
"Handover created" : "Übergabe erstellt" ,
"Handover updated" : "Übergabe aktualisiert" ,
"Handover not found" : "Übergabe nicht gefunden" ,
"Draft" : "Entwurf" ,
"In progress" : "In Bearbeitung" ,
"Completed" : "Abgeschlossen" ,
"Archived" : "Archiviert" ,
"Customer & product" : "Kunde & Produkt" ,
"Protocol" : "Protokoll" ,
"Select customer and product" : "Kunde und Produkt auswählen" ,
"Choose the customer and software product for this handover protocol." : "Wählen Sie den Kunden und das Softwareprodukt für dieses Übergabeprotokoll." ,
"Search by name or number..." : "Nach Name oder Nummer suchen..." ,
"No customers found" : "Keine Kunden gefunden" ,
"Search failed" : "Suche fehlgeschlagen" ,
"Fill handover protocol" : "Übergabeprotokoll ausfüllen" ,
"Create handover" : "Übergabe erstellen" ,
"Continue" : "Weiter" ,
"Cancel" : "Abbrechen" ,
"Back" : "Zurück" ,
"Back to list" : "Zurück zur Liste" ,
"Please select a customer" : "Bitte wählen Sie einen Kunden" ,
"Please select a software product" : "Bitte wählen Sie ein Softwareprodukt" ,
"Software product has no handover protocol schema" : "Softwareprodukt hat kein Übergabeprotokoll-Schema" ,
"No software products with handover protocol schemas found." : "Keine Softwareprodukte mit Übergabeprotokoll-Schemata gefunden." ,
"Please complete step 1 first" : "Bitte schließen Sie zuerst Schritt 1 ab" ,
"Debitor number is required" : "Debitornummer ist erforderlich" ,
"Software product is required" : "Softwareprodukt ist erforderlich" ,
"Software product not found" : "Softwareprodukt nicht gefunden" ,
"Failed to create handover" : "Übergabe konnte nicht erstellt werden" ,
"You do not have permission to edit this handover" : "Sie haben keine Berechtigung, diese Übergabe zu bearbeiten" ,
"You do not have permission to set this status" : "Sie haben keine Berechtigung, diesen Status zu setzen" ,
"Invalid status" : "Ungültiger Status" ,
"Unknown field: %s" : "Unbekanntes Feld: %s" ,
"%s is required" : "%s ist erforderlich" ,
"Failed to save" : "Speichern fehlgeschlagen" ,
"Failed to update status" : "Status konnte nicht aktualisiert werden" ,
"No protocol fields defined." : "Keine Protokollfelder definiert." ,
"Please select..." : "Bitte auswählen..." ,
"Handover protocol" : "Übergabeprotokoll" ,
"Change status" : "Status ändern" ,
"Customer" : "Kunde" ,
"Debitor No." : "Debitornr." ,
"Progress" : "Fortschritt" ,
"Created by" : "Erstellt von" ,
"Search handovers..." : "Übergaben suchen..." ,
feat(helpdesk): add handover revision history with timeline, diff, and restore
Every save creates an immutable revision snapshot. The aside shows a
commit-graph-style timeline (newest first) with vertical line, circle
nodes, version numbers, change type, user, and date. Clicking a past
revision renders it readonly with inline git-diff-style highlights
(changed/added/removed with tinted backgrounds). Compare mode allows
diffing any two arbitrary revisions. MANAGE users can restore old
versions, which creates a new revision preserving full history.
New: HandoverRevisionService, HandoverRevisionRepository,
migration 006, 14 PHPUnit tests, DE/EN translations.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 22:14:40 +02:00
"ID" : "ID" ,
"History" : "Verlauf" ,
"Current" : "Aktuell" ,
"Viewing version %d" : "Version %d wird angezeigt" ,
"compared with version %d" : "verglichen mit Version %d" ,
"Back to current" : "Zurück zur aktuellen Version" ,
"Restore this version" : "Diese Version wiederherstellen" ,
"Restore this version?" : "Diese Version wiederherstellen?" ,
"Version restored" : "Version wiederhergestellt" ,
2026-04-16 13:21:40 +02:00
"Failed to restore" : "Wiederherstellen fehlgeschlagen" ,
feat(helpdesk): add handover revision history with timeline, diff, and restore
Every save creates an immutable revision snapshot. The aside shows a
commit-graph-style timeline (newest first) with vertical line, circle
nodes, version numbers, change type, user, and date. Clicking a past
revision renders it readonly with inline git-diff-style highlights
(changed/added/removed with tinted backgrounds). Compare mode allows
diffing any two arbitrary revisions. MANAGE users can restore old
versions, which creates a new revision preserving full history.
New: HandoverRevisionService, HandoverRevisionRepository,
migration 006, 14 PHPUnit tests, DE/EN translations.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 22:14:40 +02:00
"Only managers can restore revisions" : "Nur Manager können Versionen wiederherstellen" ,
"Revision not found" : "Version nicht gefunden" ,
"Created" : "Erstellt" ,
"Fields changed" : "Felder geändert" ,
"Status changed" : "Status geändert" ,
"Fields and status changed" : "Felder und Status geändert" ,
"Restored" : "Wiederhergestellt" ,
"was: %s" : "war: %s" ,
"Yes" : "Ja" ,
"No" : "Nein" ,
"Changed" : "Geändert" ,
2026-04-16 13:21:40 +02:00
"Compare with current" : "Mit aktueller Version vergleichen" ,
"Domain" : "Domain" ,
"Select a customer first..." : "Bitte zuerst einen Kunden auswählen..." ,
"Loading domains..." : "Domains werden geladen..." ,
"No domains found for this customer" : "Keine Domains für diesen Kunden gefunden" ,
"Failed to load domains" : "Domains konnten nicht geladen werden" ,
"Please select a domain" : "Bitte wählen Sie eine Domain" ,
"Delete" : "Löschen" ,
"Select all" : "Alle auswählen" ,
"Delete selected handovers?" : "Ausgewählte Übergaben löschen?" ,
"%d handover(s) deleted" : "%d Übergabe(n) gelöscht" ,
"Failed to delete handovers" : "Übergaben konnten nicht gelöscht werden" ,
"Only managers can delete handovers" : "Nur Manager können Übergaben löschen" ,
"No handovers selected" : "Keine Übergaben ausgewählt" ,
"Domain not found" : "Domain nicht gefunden" ,
"Domain detail" : "Domain-Details" ,
"Back to domains" : "Zurück zu Domains" ,
"Open domain" : "Domain öffnen" ,
"Open debitor" : "Debitor öffnen" ,
"Customer information" : "Kundeninformation" ,
"Contract information" : "Vertragsinformation" ,
"Related domains" : "Verwandte Domains" ,
"No handovers for this domain yet" : "Noch keine Übergaben für diese Domain" ,
"No contract information available" : "Keine Vertragsinformation verfügbar" ,
"Network error — please try again" : "Netzwerkfehler — bitte erneut versuchen" ,
"Contract state" : "Vertragsstatus" ,
"Total" : "Gesamt" ,
"URL" : "URL" ,
"State" : "Status" ,
"Product" : "Produkt" ,
"Updates" : "Updates" ,
"Ticket status" : "Ticketstatus" ,
"Assignment" : "Zuweisung" ,
"Resolved" : "Erledigt" ,
"Closed" : "Geschlossen" ,
"Open" : "Offen" ,
"Assign update" : "Update zuweisen" ,
"Assign" : "Zuweisen" ,
"Unassigned" : "Nicht zugewiesen" ,
"Assigned" : "Zugewiesen" ,
"Update" : "Update" ,
"Hotfix" : "Hotfix" ,
"Gitea link" : "Gitea-Link" ,
"e.g. https://gitea.example.com/org/repo/src/branch/main/updates/2026-02" : "z.B. https://gitea.example.com/org/repo/src/branch/main/updates/2026-02" ,
"Notes" : "Notizen" ,
"No update tickets found" : "Keine Update-Tickets gefunden" ,
"Failed to load update tickets" : "Update-Tickets konnten nicht geladen werden" ,
"Update assigned successfully" : "Update erfolgreich zugewiesen" ,
"Failed to assign update" : "Update konnte nicht zugewiesen werden" ,
"Select domain..." : "Domain auswählen..." ,
"Loading domains..." : "Domains werden geladen..." ,
"No domains found for this customer" : "Keine Domains für diesen Kunden gefunden" ,
"No updates for this domain yet" : "Noch keine Updates für diese Domain" ,
"Search updates..." : "Updates suchen..." ,
"Open in Gitea" : "In Gitea öffnen" ,
"Invalid category" : "Ungültige Kategorie" ,
"Ticket number is required" : "Ticket-Nummer ist erforderlich" ,
"View software updates list" : "Software-Updates-Liste anzeigen" ,
2026-04-21 13:43:16 +02:00
"Assign and manage software updates" : "Software-Updates zuweisen und verwalten" ,
"Security level" : "Sicherheitsstufe" ,
"Low" : "Niedrig" ,
"Normal" : "Normal" ,
"High" : "Hoch" ,
2026-04-21 14:04:21 +02:00
"Critical" : "Kritisch" ,
"Save failed" : "Speichern fehlgeschlagen" ,
"Invalid CSRF token" : "Ungültiges CSRF-Token" ,
"No tenant context" : "Kein Mandantenkontext" ,
"Missing domain number" : "Domain-Nummer fehlt" ,
"Invalid security level" : "Ungültige Sicherheitsstufe" ,
2026-06-01 14:35:03 +02:00
"Failed to save security level" : "Sicherheitsstufe konnte nicht gespeichert werden" ,
"Under review" : "In Prüfung" ,
"Assignment" : "Zuweisung" ,
"Assigned to" : "Zugewiesen an" ,
"Assigned at" : "Zugewiesen am" ,
"Not assigned yet" : "Noch nicht zugewiesen" ,
"Assign" : "Zuweisen" ,
"Change assignment" : "Zuweisung ändern" ,
"Assign handover" : "Übergabe zuweisen" ,
"Assign to" : "Zuweisen an" ,
"— Select employee —" : "— Mitarbeiter auswählen —" ,
"Due date (optional)" : "Fälligkeitsdatum (optional)" ,
"Due date" : "Fälligkeitsdatum" ,
"Currently assigned to" : "Aktuell zugewiesen an" ,
"Resend notification" : "Benachrichtigung erneut senden" ,
"Notification resent" : "Benachrichtigung erneut gesendet" ,
"Failed to resend notification" : "Benachrichtigung konnte nicht erneut gesendet werden" ,
"Handover assigned" : "Übergabe zugewiesen" ,
"Failed to assign handover" : "Übergabe konnte nicht zugewiesen werden" ,
"Only managers can assign handovers" : "Nur Manager können Übergaben zuweisen" ,
"Only managers can resend notifications" : "Nur Manager können Benachrichtigungen erneut senden" ,
"Handover has no assignee" : "Übergabe hat keinen Bearbeiter" ,
"Please select an employee" : "Bitte Mitarbeiter auswählen" ,
"Submit for review" : "Zur Prüfung einreichen" ,
"Submit this handover for review?" : "Diese Übergabe zur Prüfung einreichen?" ,
"Handover submitted for review" : "Übergabe zur Prüfung eingereicht" ,
"Failed to submit for review" : "Einreichen zur Prüfung fehlgeschlagen" ,
"You are not assigned to this handover" : "Sie sind dieser Übergabe nicht zugewiesen" ,
"Handover cannot be submitted for review in its current status" : "Übergabe kann im aktuellen Status nicht zur Prüfung eingereicht werden" ,
2026-06-01 15:23:31 +02:00
"In progress" : "In Bearbeitung" ,
"Done" : "Abgeschlossen" ,
"Assigned to (column)" : "Zugewiesen an" ,
"How do you want to proceed?" : "Wie möchten Sie vorgehen?" ,
"Create myself" : "Selbst erstellen" ,
"I will fill in the handover protocol myself." : "Ich fülle das Übergabeprotokoll selbst aus." ,
"Assign to employee" : "Mitarbeiter zuweisen" ,
"An employee will receive an invitation to fill in the protocol." : "Ein Mitarbeiter erhält eine Einladung zum Ausfüllen des Protokolls." ,
"Please select an option" : "Bitte wählen Sie eine Option" ,
"Select customer, product and employee" : "Kunde, Produkt und Mitarbeiter auswählen" ,
"Create and assign" : "Erstellen & zuweisen" ,
"Handover created and assigned" : "Übergabe erstellt und zugewiesen" ,
"No active employees found." : "Keine aktiven Mitarbeiter gefunden." ,
2026-06-01 15:51:36 +02:00
"Please select an employee to assign" : "Bitte wählen Sie einen Mitarbeiter aus" ,
"Delete handover" : "Übergabe löschen" ,
"Delete this handover?" : "Diese Übergabe löschen?" ,
"Handover deleted" : "Übergabe gelöscht"
2026-04-02 17:48:27 +02:00
}