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
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
2329 lines
123 KiB
JSON
2329 lines
123 KiB
JSON
{
|
||
"integrations": {
|
||
"accounting": {
|
||
"dialog": {
|
||
"cancel": "Abbrechen",
|
||
"enterPlaceholder": "{{field}} eingeben...",
|
||
"errors": {
|
||
"enterExternal": "Bitte geben Sie {{field}} ein.",
|
||
"invalidJson": "Ungültiges JSON-Format für Metadaten.",
|
||
"saveFailed": "Zuordnung konnte nicht gespeichert werden.",
|
||
"selectAlga": "Bitte wählen Sie {{field}} aus.",
|
||
"selectExternal": "Bitte wählen Sie {{field}} aus."
|
||
},
|
||
"manualEntryHelp": "Geben Sie die Kennung genau so ein, wie sie in Ihrem Buchhaltungssystem erscheint.",
|
||
"metadataLabel": "Metadaten (JSON)",
|
||
"metadataPlaceholder": "Optionale Metadaten als JSON",
|
||
"realmIdLabel": "Realm-ID",
|
||
"saveMapping": "Zuordnung speichern",
|
||
"saving": "Speichern…",
|
||
"selectPlaceholder": "{{field}} auswählen..."
|
||
},
|
||
"manager": {
|
||
"noModules": "Keine Zuordnungsmodule konfiguriert."
|
||
},
|
||
"moduleView": {
|
||
"actionsColumn": "Aktionen",
|
||
"delete": "Löschen",
|
||
"edit": "Bearbeiten",
|
||
"errors": {
|
||
"deleteFailed": "Zuordnung konnte nicht gelöscht werden.",
|
||
"loadFailed": "Zuordnungen konnten nicht geladen werden."
|
||
},
|
||
"loading": "Zuordnungen werden geladen…",
|
||
"noMappings": "Keine Zuordnungen gefunden.",
|
||
"notAvailable": "n/v",
|
||
"openMenu": "Menü öffnen"
|
||
},
|
||
"setup": {
|
||
"activeConfiguration": "Aktive Konfiguration",
|
||
"badges": {
|
||
"enterprise": "Enterprise"
|
||
},
|
||
"comingSoon": "Demnächst verfügbar",
|
||
"configure": "Integration konfigurieren",
|
||
"highlightValues": {
|
||
"csv": "CSV",
|
||
"instant": "Sofort",
|
||
"live": "Live",
|
||
"manual": "Manuell",
|
||
"twoWay": "Bidirektional"
|
||
},
|
||
"highlights": {
|
||
"delivery": "Übertragung",
|
||
"export": "Export",
|
||
"format": "Format",
|
||
"sync": "Synchronisation"
|
||
},
|
||
"options": {
|
||
"qbo": {
|
||
"description": "Verbinden Sie Ihr Realm, um Rechnungen zu synchronisieren und Zuordnungen zu verwalten."
|
||
},
|
||
"qboCsv": {
|
||
"description": "Exportieren Sie Rechnungen als CSV für den manuellen Import in QuickBooks und importieren Sie Steuerdaten aus Berichten."
|
||
},
|
||
"xero": {
|
||
"description": "Verbinden Sie Ihre Organisation mit tenant-eigenen OAuth-Anmeldedaten für Live-Buchhaltungsexporte und Zuordnungen."
|
||
},
|
||
"xeroCsv": {
|
||
"description": "Exportieren Sie Rechnungen als CSV für den manuellen Import in Xero und importieren Sie Steuerdaten aus Xero-Berichten."
|
||
}
|
||
},
|
||
"selected": "{{title}} ausgewählt",
|
||
"unavailable": {
|
||
"description": "Diese Integration ist noch nicht verfügbar. Wählen Sie QuickBooks CSV oder Xero CSV aus, um manuelle Exporte zu konfigurieren.",
|
||
"title": "Konfiguration nicht verfügbar"
|
||
}
|
||
},
|
||
"modules": {
|
||
"tabs": {
|
||
"clients": "Kunden",
|
||
"itemsServices": "Artikel / Dienstleistungen",
|
||
"taxCodes": "Steuercodes",
|
||
"paymentTerms": "Zahlungsbedingungen"
|
||
}
|
||
}
|
||
},
|
||
"calendar": {
|
||
"enterprise": {
|
||
"loading": "Kalendereinstellungen werden geladen..."
|
||
}
|
||
},
|
||
"csv": {
|
||
"export": {
|
||
"actions": {
|
||
"exportCsv": "CSV exportieren",
|
||
"generating": "Wird generiert..."
|
||
},
|
||
"description": "Rechnungen als CSV-Datei für den manuellen Import in QuickBooks exportieren.",
|
||
"errors": {
|
||
"configureMissingMappings": "Konfigurieren Sie die fehlenden Zuordnungen oben und wiederholen Sie den Export.",
|
||
"failed": "Export fehlgeschlagen",
|
||
"missingItemMapping": "Fehlende Artikelzuordnung",
|
||
"missingItemMappingId": "Fehlende Artikelzuordnung ({{serviceId}})",
|
||
"missingItemMappingNamed": "Fehlende Artikelzuordnung: {{serviceName}}"
|
||
},
|
||
"fields": {
|
||
"dateRange": "Datumsbereich (optional)",
|
||
"invoiceStatuses": "Rechnungsstatus"
|
||
},
|
||
"lockReset": {
|
||
"actions": {
|
||
"reset": "Export-Sperre zurücksetzen"
|
||
},
|
||
"description": "Export-Sperren löschen, um Rechnungen erneut per CSV exportieren zu können.",
|
||
"dialog": {
|
||
"cancel": "Abbrechen",
|
||
"confirm": "Sperre zurücksetzen",
|
||
"confirmBatch": "Dadurch kann Alga PSA Rechnungen aus Batch {{batchId}} erneut exportieren. Wenn einige dieser Rechnungen noch in QuickBooks existieren, kann der Import der CSV-Datei Duplikate erzeugen.",
|
||
"confirmInvoice": "Dadurch kann Alga PSA Rechnung {{invoiceNumber}} erneut exportieren. Wenn diese Rechnung noch in QuickBooks existiert, kann der Import der CSV-Datei Duplikate erzeugen.",
|
||
"resetting": "Wird zurückgesetzt…",
|
||
"title": "Export-Sperre zurücksetzen?",
|
||
"warning": "Fahren Sie nur fort, wenn Sie sicher sind, dass die Rechnung nicht importiert wurde oder Sie sie in QuickBooks gelöscht/storniert haben."
|
||
},
|
||
"errors": {
|
||
"unable": "Export-Sperre konnte nicht zurückgesetzt werden"
|
||
},
|
||
"fields": {
|
||
"batchId": "Export-Batch-ID",
|
||
"batchIdPlaceholder": "z. B. e793a514-34bd-4d7b-b266-9bb15f7087c4",
|
||
"invoiceNumber": "Rechnungsnummer",
|
||
"invoiceNumberPlaceholder": "z. B. INV-1001"
|
||
},
|
||
"modes": {
|
||
"ariaLabel": "Modus für Zurücksetzen der Export-Sperre",
|
||
"batch": "Batch",
|
||
"invoice": "Rechnung"
|
||
},
|
||
"success": {
|
||
"batchCleared": "Export-Sperren für diesen Batch wurden entfernt. Sie können diese Rechnungen erneut exportieren.",
|
||
"invoiceCleared": "Export-Sperre entfernt. Sie können diese Rechnung erneut exportieren.",
|
||
"noBatchLocks": "Für diesen Batch wurden keine Export-Sperren gefunden.",
|
||
"noInvoiceLock": "Für diese Rechnung wurde keine Export-Sperre gefunden."
|
||
},
|
||
"title": "Rechnung erneut exportieren",
|
||
"warnings": {
|
||
"duplicates": "Dies kann zu Duplikaten in QuickBooks führen, wenn die Rechnung dort noch existiert."
|
||
}
|
||
},
|
||
"success": {
|
||
"one": "{{count}} Rechnung nach {{filename}} exportiert",
|
||
"other": "{{count}} Rechnungen nach {{filename}} exportiert"
|
||
},
|
||
"title": "CSV-Export für QuickBooks"
|
||
},
|
||
"preview": {
|
||
"duplicates": {
|
||
"description": "Die folgenden Rechnungen erscheinen mehrfach. Ihre Steuerbeträge werden summiert:",
|
||
"title": "Doppelte Rechnungen ({{count}})"
|
||
},
|
||
"errors": {
|
||
"more": "... und {{count}} weitere Fehler",
|
||
"title": "Fehler ({{count}})"
|
||
},
|
||
"importResults": "Import-Ergebnisse",
|
||
"importSummary": {
|
||
"difference": "Differenz:",
|
||
"failedUpdates": "Fehlgeschlagene Aktualisierungen:",
|
||
"importedTax": "Importierte Steuer:",
|
||
"originalTax": "Ursprüngliche Steuer:",
|
||
"successfulUpdates": "Erfolgreiche Aktualisierungen:",
|
||
"title": "Import-Zusammenfassung"
|
||
},
|
||
"rowLabel": "Zeile {{row}}:",
|
||
"stats": {
|
||
"matchedInvoices": "Zugeordnete Rechnungen",
|
||
"totalRows": "Zeilen insgesamt",
|
||
"uniqueInvoices": "Eindeutige Rechnungen",
|
||
"validRows": "Gültige Zeilen"
|
||
},
|
||
"status": {
|
||
"databaseMatch": "Datenbanktreffer",
|
||
"rowData": "Zeilendaten",
|
||
"structure": "Struktur"
|
||
},
|
||
"validationPassed": {
|
||
"one": "Validierung erfolgreich. Bereit zum Importieren der Steuerdaten für {{count}} Rechnung.",
|
||
"other": "Validierung erfolgreich. Bereit zum Importieren der Steuerdaten für {{count}} Rechnungen."
|
||
},
|
||
"validationResults": "Validierungsergebnisse",
|
||
"warnings": {
|
||
"more": "... und {{count}} weitere Warnungen",
|
||
"title": "Warnungen ({{count}})"
|
||
}
|
||
},
|
||
"settings": {
|
||
"exports": {
|
||
"description": "Export-Batches erstellen, CSV-Dateien herunterladen, Steuerberichte importieren und den Exportverlauf einsehen.",
|
||
"managedTitle": "Verwaltet über Abrechnung",
|
||
"openButton": "Buchhaltungsexporte öffnen",
|
||
"path": "Abrechnung → Buchhaltungsexporte",
|
||
"title": "Buchhaltungsexporte"
|
||
},
|
||
"qbo": {
|
||
"bullets": {
|
||
"exportLabel": "Export",
|
||
"exportText": "CSV-Dateien generieren, die mit der Rechnungsimport-Funktion von QuickBooks kompatibel sind",
|
||
"taxImportLabel": "Steuerimport",
|
||
"taxImportText": "Bei Verwendung einer externen Steuerberechnung Steuerbeträge aus QuickBooks-Steuerberichten importieren"
|
||
},
|
||
"description": "Rechnungen als CSV für den manuellen Import in QuickBooks exportieren und Steuerdaten aus QuickBooks-Berichten importieren.",
|
||
"exports": {
|
||
"managedPrefix": "Gehen Sie zu",
|
||
"managedSuffix": "um Rechnungen auszuwählen, QuickBooks-CSV-Exporte zu generieren, Steuerberichte zu importieren und Batches zu verwalten."
|
||
},
|
||
"intro": "Diese Integration bietet eine Alternative zur OAuth-basierten QuickBooks-Anbindung:",
|
||
"mappings": {
|
||
"description": "Ordnen Sie Alga-Kunden, Dienstleistungen, Steuercodes und Zahlungsbedingungen den in Ihrer QuickBooks-Firma verwendeten Kennungen zu. Diese Werte werden beim Generieren des CSV-Exports verwendet.",
|
||
"title": "QuickBooks-CSV-Zuordnungen"
|
||
},
|
||
"note": "Hinweis: Konfigurieren Sie die Zuordnungen unten, bevor Sie exportieren. CSV-Exporte und Steuerimporte werden über Abrechnung → Buchhaltungsexporte verwaltet.",
|
||
"title": "QuickBooks-CSV-Integration"
|
||
}
|
||
},
|
||
"taxImport": {
|
||
"actions": {
|
||
"importTaxData": "Steuerdaten importieren",
|
||
"importing": "Wird importiert...",
|
||
"validate": "Validieren",
|
||
"validating": "Wird validiert..."
|
||
},
|
||
"errors": {
|
||
"importFailed": "Import fehlgeschlagen",
|
||
"readFile": "Datei konnte nicht gelesen werden",
|
||
"selectFile": "Bitte wählen Sie eine CSV-Datei aus",
|
||
"selectFileAndRange": "Bitte wählen Sie eine Datei und einen Datumsbereich aus",
|
||
"templateDownloadFailed": "Vorlage konnte nicht heruntergeladen werden",
|
||
"validationFailed": "Validierung fehlgeschlagen"
|
||
},
|
||
"fields": {
|
||
"csvFile": "CSV-Datei",
|
||
"dateRangeHelp": "Nur Rechnungen innerhalb dieses Datumsbereichs werden verarbeitet.",
|
||
"dateRangeRequired": "Datumsbereich (erforderlich)",
|
||
"dropZone": "CSV-Datei hierher ziehen oder klicken, um zu durchsuchen",
|
||
"fileSize": "({{size}} KB)"
|
||
},
|
||
"preview": {
|
||
"alreadyImported": "Für {{count}} Rechnung(en) wurden bereits Steuerdaten importiert.",
|
||
"alreadyImportedSkip": "Für {{count}} Rechnung(en) wurden bereits Steuerdaten importiert und werden übersprungen.",
|
||
"badges": {
|
||
"databaseMatch": "Datenbanktreffer",
|
||
"rowData": "Zeilendaten",
|
||
"structure": "Struktur"
|
||
},
|
||
"columns": {
|
||
"algaInvoice": "Alga-Rechnung",
|
||
"contact": "Kontakt",
|
||
"status": "Status",
|
||
"taxAmount": "Steuerbetrag",
|
||
"xeroInvoice": "Xero-Rechnung"
|
||
},
|
||
"errorsTitle": "Fehler ({{count}})",
|
||
"matched": "Zugeordnet",
|
||
"matchedInvoices": "Zugeordnete Rechnungen",
|
||
"notPendingDescription": "Diese Rechnungen wurden mit interner Steuerberechnung erstellt. Um Steuern aus Xero zu importieren, müssen Rechnungen beim Export mit der Steuerquelle „Ausstehend extern“ konfiguriert sein.",
|
||
"notPendingSkip": "{{count}} Rechnung(en) haben keine ausstehende externe Steuer und werden übersprungen.",
|
||
"notPendingTitle": "{{count}} Rechnung(en) verwenden keine externe Steuerberechnung.",
|
||
"showingFirst20": "Zeige erste 20 von {{count}} Zeilen",
|
||
"taxToImport": "Zu importierende Steuer",
|
||
"title": "Validierungsergebnisse",
|
||
"totalRows": "Zeilen insgesamt",
|
||
"uniqueInvoices": "Eindeutige Rechnungen",
|
||
"unmatched": "Nicht zugeordnet",
|
||
"validRows": "Gültige Zeilen",
|
||
"warningsTitle": "Warnungen ({{count}})"
|
||
},
|
||
"qbo": {
|
||
"description": "Steuerbeträge aus einer CSV-Datei eines QuickBooks-Steuerberichts importieren.",
|
||
"help": {
|
||
"csvRequirement": "Die CSV muss die Spalten Rechnungsnummer, Rechnungsdatum und Steuerbetrag enthalten.",
|
||
"downloadTemplate": "CSV-Vorlage herunterladen",
|
||
"steps": {
|
||
"s1": "Gehen Sie in QuickBooks zu Berichte > Alle Berichte",
|
||
"s2": "Wählen Sie Umsatzsteuer-Verpflichtung oder Transaktionsdetails nach Konto",
|
||
"s3": "Legen Sie den Datumsbereich passend zu Ihren exportierten Rechnungen fest",
|
||
"s4": "Klicken Sie auf Exportieren und wählen Sie Export nach Excel oder Export nach CSV",
|
||
"s5": "Speichern Sie die Datei und laden Sie sie hier hoch"
|
||
},
|
||
"title": "So exportieren Sie Steuerdaten aus QuickBooks"
|
||
},
|
||
"success": {
|
||
"one": "Steuerdaten für {{count}} Rechnung erfolgreich importiert. Importierte Gesamtsteuer: ${{amount}}",
|
||
"other": "Steuerdaten für {{count}} Rechnungen erfolgreich importiert. Importierte Gesamtsteuer: ${{amount}}"
|
||
},
|
||
"title": "Steuern aus QuickBooks-CSV importieren"
|
||
},
|
||
"result": {
|
||
"failed": "{{count}} fehlgeschlagen.",
|
||
"one": "Steuern für {{count}} Rechnung importiert. Importierte Gesamtsteuer: {{amount}}.",
|
||
"other": "Steuern für {{count}} Rechnungen importiert. Importierte Gesamtsteuer: {{amount}}.",
|
||
"skipped": "{{count}} übersprungen."
|
||
},
|
||
"unified": {
|
||
"description": "Steuerbeträge aus dem CSV-Export Ihres Buchhaltungssystems importieren.",
|
||
"qbResult": {
|
||
"one": "Steuerdaten für {{count}} Rechnung erfolgreich importiert. Importierte Gesamtsteuer: {{amount}}",
|
||
"other": "Steuerdaten für {{count}} Rechnungen erfolgreich importiert. Importierte Gesamtsteuer: {{amount}}"
|
||
},
|
||
"source": {
|
||
"ariaLabel": "CSV-Importquelle",
|
||
"quickbooks": "QuickBooks",
|
||
"xero": "Xero"
|
||
},
|
||
"title": "Steuern aus CSV importieren",
|
||
"xeroCsvDescription": "Der exportierte CSV enthält Rechnungsnummer, Kontaktname, Zeilenbetrag, Steuerbetrag und Tracking-Kategorien.",
|
||
"xeroHelp": {
|
||
"note": "Hinweis: Es werden nur Rechnungen zugeordnet, die ursprünglich aus Alga PSA exportiert wurden (mit Tracking „Source System = AlgaPSA“).",
|
||
"s1": "Gehen Sie in Xero zu Sales > Invoices",
|
||
"s2": "Wählen Sie den Rechnungs-Tab, aus dem Sie exportieren möchten (z. B. Bezahlt, Offene Zahlung)",
|
||
"s3": "(Optional) Klicken Sie auf „Search“, um nach Startdatum, Enddatum oder Datumstyp zu filtern",
|
||
"s4": "Klicken Sie auf Export",
|
||
"s5": "Xero lädt eine CSV-Datei auf Ihren Computer herunter",
|
||
"s6": "Laden Sie diese CSV-Datei hier hoch"
|
||
},
|
||
"xeroResult": {
|
||
"one": "Steuern für {{count}} Rechnung importiert. Gesamt: {{amount}}.",
|
||
"other": "Steuern für {{count}} Rechnungen importiert. Gesamt: {{amount}}."
|
||
}
|
||
},
|
||
"xero": {
|
||
"description": "Steuerbeträge aus einer CSV-Datei des Xero Invoice Details Report importieren.",
|
||
"dropZone": "Xero Invoice Details Report CSV hierher ziehen oder klicken, um zu durchsuchen",
|
||
"help": {
|
||
"csvRequirement": "Der Bericht sollte Spalten für Rechnungsnummer, Kontaktname, Zeilenbetrag und Steuerbetrag enthalten. Rechnungen werden über das Reference-Feld oder die beim Export gesetzten Tracking-Kategorien zugeordnet.",
|
||
"steps": {
|
||
"s1": "Gehen Sie in Xero zu Reports > All Reports",
|
||
"s2": "Wählen Sie Sales (Invoices and Revenue)",
|
||
"s3": "Führen Sie den Invoice-Details-Bericht aus",
|
||
"s4": "Legen Sie den Datumsbereich passend zu Ihren exportierten Rechnungen fest",
|
||
"s5": "Klicken Sie auf Export und wählen Sie CSV",
|
||
"s6": "Laden Sie die exportierte Datei hier hoch"
|
||
},
|
||
"title": "So exportieren Sie Steuerdaten aus Xero"
|
||
},
|
||
"title": "Steuern aus Xero-CSV importieren"
|
||
}
|
||
}
|
||
},
|
||
"entra": {
|
||
"settings": {
|
||
"actions": {
|
||
"disconnect": "Trennen",
|
||
"reconnect": "Erneut verbinden",
|
||
"reconnecting": "Wird erneut verbunden…",
|
||
"refresh": "Aktualisieren",
|
||
"resetFieldSync": "Zurücksetzen",
|
||
"reviewMappings": "Zuordnungen prüfen",
|
||
"reviewRemap": "Prüfen / Neu zuordnen",
|
||
"hideReviewRemap": "Prüfen / Neu zuordnen ausblenden",
|
||
"runDiscovery": "Discovery ausführen",
|
||
"runDiscoveryAgain": "Discovery erneut ausführen",
|
||
"runDiscoveryRunning": "Discovery wird ausgeführt…",
|
||
"runInitialSync": "Initiale Synchronisation ausführen",
|
||
"runInitialSyncRunning": "Initiale Synchronisation wird gestartet…",
|
||
"saveFieldSync": "Feldsynchronisationssteuerung speichern",
|
||
"savingFieldSync": "Wird gespeichert…",
|
||
"syncAll": "Alle Tenants jetzt synchronisieren",
|
||
"syncAllStarting": "Wird gestartet…"
|
||
},
|
||
"badges": {
|
||
"enterprise": "Enterprise",
|
||
"reviewBeforeInitialSync": "Vor initialer Synchronisation prüfen"
|
||
},
|
||
"connection": {
|
||
"connectingSuffix": " (Verbindung wird hergestellt...)",
|
||
"details": "Verbindungsdetails",
|
||
"directCredentialSourceLabel": "Anmeldedatenquelle:",
|
||
"directTenantDefault": "common (multi-tenant)",
|
||
"directTenantLabel": "Microsoft Tenant:",
|
||
"cippServerLabel": "CIPP-Server:",
|
||
"notAvailable": "Nicht verfügbar",
|
||
"notConfigured": "Nicht konfiguriert",
|
||
"notConnectedStatus": "not_connected",
|
||
"optionsTitle": "Verbindungsoptionen",
|
||
"promptDetails": "Verbinden Sie Entra, um Anbieterdetails zu füllen."
|
||
},
|
||
"currentStep": {
|
||
"connect": {
|
||
"guidance": "Wählen Sie eine Verbindungsoption, um das Onboarding fortzusetzen.",
|
||
"title": "Schritt 1: Verbinden"
|
||
},
|
||
"connectionsBelow": "Verbindungsoptionen werden unten angezeigt.",
|
||
"discover": {
|
||
"guidance": "Führen Sie Discovery aus, um verwaltete Entra-Tenants vor der Zuordnung zu laden.",
|
||
"title": "Schritt 2: Erkennen"
|
||
},
|
||
"label": "Aktueller Schritt",
|
||
"map": {
|
||
"guidance": "Bestätigen oder passen Sie Tenant-Zuordnungen an, um die initiale Synchronisation freizuschalten.",
|
||
"title": "Schritt 3: Zuordnen"
|
||
},
|
||
"sync": {
|
||
"guidance": "Starten Sie den ersten Synchronisationslauf für bestätigte Zuordnungen.",
|
||
"title": "Schritt 4: Initiale Synchronisation"
|
||
}
|
||
},
|
||
"description": "Konfigurieren Sie partnerseitigen Entra-Zugriff, erkennen Sie verwaltete Tenants, ordnen Sie sie Kunden zu und führen Sie Sync-Workflows aus.",
|
||
"disabled": {
|
||
"description": "Die Entra-Integrations-UI ist für diesen Tenant derzeit deaktiviert.",
|
||
"title": "Microsoft Entra Integration"
|
||
},
|
||
"discovery": {
|
||
"completed": "Discovery abgeschlossen. {{count}} Tenants erkannt.",
|
||
"completedOne": "Discovery abgeschlossen. {{count}} Tenant erkannt.",
|
||
"failed": "Tenant-Discovery konnte nicht ausgeführt werden."
|
||
},
|
||
"errors": {
|
||
"loadStatus": "Entra-Verbindungsstatus konnte nicht geladen werden.",
|
||
"unknown": "Unbekannter Fehler"
|
||
},
|
||
"fieldSync": {
|
||
"description": "Wählen Sie, welche Entra-Profilfelder lokale Kontaktfelder während der Synchronisation überschreiben dürfen.",
|
||
"feedback": {
|
||
"saveFailed": "Feldsynchronisationssteuerung konnte nicht gespeichert werden.",
|
||
"saved": "Feldsynchronisationssteuerung gespeichert."
|
||
},
|
||
"options": {
|
||
"displayName": {
|
||
"description": "Erlauben Sie dem Entra-Anzeigenamen, den vollständigen Namen verbundener Kontakte zu überschreiben.",
|
||
"label": "Anzeigename"
|
||
},
|
||
"email": {
|
||
"description": "Erlauben Sie der Entra-E-Mail/UPN, die E-Mail-Adresse verbundener Kontakte zu überschreiben.",
|
||
"label": "E-Mail"
|
||
},
|
||
"phone": {
|
||
"description": "Erlauben Sie Entra-Telefonwerten, die Telefonnummer verbundener Kontakte zu überschreiben.",
|
||
"label": "Telefon"
|
||
},
|
||
"role": {
|
||
"description": "Erlauben Sie der Entra-Berufsbezeichnung, die Rolle verbundener Kontakte zu überschreiben.",
|
||
"label": "Rolle"
|
||
},
|
||
"upn": {
|
||
"description": "Erlauben Sie der Entra-UPN, den gespeicherten Entra-Principal-Namen verbundener Kontakte zu überschreiben.",
|
||
"label": "UPN"
|
||
}
|
||
},
|
||
"title": "Feldsynchronisationssteuerung"
|
||
},
|
||
"guidedStep": {
|
||
"current": "aktuell",
|
||
"complete": "abgeschlossen",
|
||
"locked": "gesperrt",
|
||
"stepLabel": "Schritt {{number}}",
|
||
"thisIsCurrent": "Dies ist Ihr aktueller Onboarding-Schritt."
|
||
},
|
||
"initialSync": {
|
||
"failed": "Initiale Entra-Synchronisation konnte nicht gestartet werden.",
|
||
"started": "Initiale Synchronisation gestartet. Run-ID: {{runId}}",
|
||
"startedNoId": "Anfrage zum Start der initialen Synchronisation akzeptiert."
|
||
},
|
||
"maintenance": {
|
||
"description": "Die initiale Einrichtung ist abgeschlossen. Konzentrieren Sie sich hier auf Sync-Operationen, Health-Checks und Wartungsprüfungen.",
|
||
"healthDescription": "Überprüfen Sie die Verbindungsgesundheit, führen Sie Wartungsoperationen aus und überwachen Sie die Sync-Aktivität.",
|
||
"healthTitle": "Health-Zusammenfassung",
|
||
"title": "Modus für laufende Operationen"
|
||
},
|
||
"mapping": {
|
||
"description": "Überprüfen Sie vorgeschlagene Übereinstimmungen, wählen Sie für jeden Tenant den richtigen Kunden aus und bestätigen Sie die Zuordnungen vor der initialen Synchronisation.",
|
||
"needsReviewLabel": "Benötigt Prüfung:",
|
||
"savedLabel": "Gespeichert:",
|
||
"selectedLabel": "Ausgewählt:",
|
||
"skippedLabel": "Übersprungen:",
|
||
"stepLabel": "Schritt 3",
|
||
"title": "Tenants Kunden zuordnen"
|
||
},
|
||
"onboarding": {
|
||
"description": "Schließen Sie jeden Onboarding-Schritt der Reihe nach ab: verbinden, erkennen, zuordnen und dann die erste Synchronisation ausführen.",
|
||
"title": "Einrichtungsmodus"
|
||
},
|
||
"ongoing": {
|
||
"description": "Verwenden Sie diese Steuerelemente für manuelle Sync-Operationen, nachdem die Onboarding-Schritte abgeschlossen sind.",
|
||
"title": "Laufende Operationen"
|
||
},
|
||
"overview": {
|
||
"connectionLabel": "Verbindung:",
|
||
"connectionTypeLabel": "Verbindungstyp:",
|
||
"label": "Übersicht",
|
||
"mappedTenantsLabel": "Zugeordnete Tenants:",
|
||
"nextSyncIntervalEvery": "Alle {{minutes}} Minuten",
|
||
"nextSyncIntervalLabel": "Nächstes Sync-Intervall:"
|
||
},
|
||
"skipped": {
|
||
"empty": "Derzeit sind keine Tenants als übersprungen markiert.",
|
||
"noPrimaryDomain": "Keine primäre Domain",
|
||
"remap": "Neu zuordnen",
|
||
"title": "Übersprungene Tenants"
|
||
},
|
||
"status": {
|
||
"connectionHealth": "Verbindungsgesundheit",
|
||
"label": "Status"
|
||
},
|
||
"syncAll": {
|
||
"failed": "Vollständige Entra-Synchronisation konnte nicht gestartet werden.",
|
||
"started": "Synchronisation gestartet. Run-ID: {{runId}}",
|
||
"startedNoId": "Anfrage zum Synchronisationsstart akzeptiert."
|
||
},
|
||
"title": "Microsoft Entra Integration",
|
||
"validation": {
|
||
"label": "Validierung & Discovery",
|
||
"lastDiscoveryLabel": "Letzte Discovery:",
|
||
"lastValidatedLabel": "Zuletzt validiert:",
|
||
"neverFormatted": "Nie",
|
||
"noneValidationError": "Keiner",
|
||
"validationErrorLabel": "Validierungsfehler:"
|
||
},
|
||
"wizard": {
|
||
"connect": {
|
||
"description": "Autorisieren Sie die Direct Microsoft Partner Auth, um diesen Entra-Tenant zu verknüpfen.",
|
||
"title": "Verbinden"
|
||
},
|
||
"discover": {
|
||
"description": "Verwaltete Entra-Tenants für diesen MSP-Tenant laden und persistieren.",
|
||
"title": "Tenants erkennen"
|
||
},
|
||
"map": {
|
||
"description": "Auto-Match-Vorschläge prüfen und Zuordnungen bestätigen.",
|
||
"title": "Tenants Kunden zuordnen"
|
||
},
|
||
"sync": {
|
||
"description": "Starten Sie den ersten Synchronisationslauf für bestätigte Zuordnungen.",
|
||
"title": "Initiale Synchronisation"
|
||
}
|
||
}
|
||
},
|
||
"tenantMapping": {
|
||
"actions": {
|
||
"confirmSelected": "Ausgewählte Zuordnungen bestätigen",
|
||
"confirming": "Wird bestätigt…",
|
||
"import": "Als neuen Kunden importieren",
|
||
"importing": "Wird importiert…",
|
||
"preselectExact": "Exakte Übereinstimmungen vorauswählen",
|
||
"refresh": "Vorschau aktualisieren",
|
||
"skip": "Überspringen",
|
||
"skipped": "Übersprungen"
|
||
},
|
||
"columns": {
|
||
"actions": "Aktionen",
|
||
"confidence": "Konfidenz",
|
||
"entraTenant": "Entra-Tenant",
|
||
"primaryDomain": "Primäre Domain",
|
||
"selectClient": "Kunden auswählen",
|
||
"status": "Status",
|
||
"suggestedClient": "Vorgeschlagener Kunde"
|
||
},
|
||
"empty": "Keine erkannten Tenants für die Zuordnungsvorschau verfügbar.",
|
||
"errors": {
|
||
"confirmFailed": "Ausgewählte Zuordnungen konnten nicht bestätigt werden.",
|
||
"importFailed": "Tenant konnte nicht als Kunde importiert werden.",
|
||
"loadFailed": "Tenant-Zuordnungsvorschau konnte nicht geladen werden.",
|
||
"selectAtLeastOne": "Wählen Sie mindestens einen Kunden aus, um eine Zuordnung zu bestätigen.",
|
||
"skipFailed": "Diese Tenant-Zuordnung konnte nicht übersprungen werden."
|
||
},
|
||
"feedback": {
|
||
"confirmed": "{{count}} Zuordnungen bestätigt.",
|
||
"confirmedOne": "{{count}} Zuordnung bestätigt."
|
||
},
|
||
"noSuggestion": "Kein Vorschlag",
|
||
"picker": {
|
||
"placeholder": "Kunden auswählen...",
|
||
"unknownClient": "Unbekannter Kunde"
|
||
},
|
||
"reasons": {
|
||
"exactDomain": "Exakte Domain",
|
||
"fuzzyName": "Unscharfer Name",
|
||
"secondaryDomain": "Sekundäre Domain"
|
||
},
|
||
"states": {
|
||
"autoMatched": "Automatisch zugeordnet",
|
||
"imported": "Importiert",
|
||
"needsReview": "Benötigt Prüfung",
|
||
"skipped": "Übersprungen",
|
||
"unmatched": "Nicht zugeordnet"
|
||
},
|
||
"title": "Tenant-Zuordnungsvorschau"
|
||
},
|
||
"cippDialog": {
|
||
"actions": {
|
||
"cancel": "Abbrechen",
|
||
"connect": "Verbinden",
|
||
"connecting": "Verbindung wird hergestellt..."
|
||
},
|
||
"description": "Geben Sie Ihre CIPP-Instanz-URL und ein API-Token ein, damit Alga Entra-Daten erkennen und synchronisieren kann.",
|
||
"errors": {
|
||
"missingFields": "Sowohl Basis-URL als auch API-Token sind erforderlich.",
|
||
"unknown": "Ein unbekannter Fehler ist aufgetreten."
|
||
},
|
||
"fields": {
|
||
"apiToken": "API-Token",
|
||
"apiTokenPlaceholder": "Token eingeben...",
|
||
"baseUrl": "CIPP-Basis-URL",
|
||
"baseUrlPlaceholder": "https://cipp.yourdomain.com"
|
||
},
|
||
"title": "CIPP verbinden"
|
||
},
|
||
"reconciliation": {
|
||
"actions": {
|
||
"refresh": "Aktualisieren",
|
||
"resolveExisting": "Auf bestehenden Kontakt auflösen",
|
||
"resolveNew": "Auf neuen Kontakt auflösen"
|
||
},
|
||
"candidate": {
|
||
"fallback": "Kandidat",
|
||
"label": "Kandidaten-Kontakte: {{count}}"
|
||
},
|
||
"contactPicker": {
|
||
"label": "Bestehender Kontakt",
|
||
"placeholder": "Bestehenden Kontakt auswählen..."
|
||
},
|
||
"errors": {
|
||
"enterContactId": "Geben Sie eine Kontakt-ID ein, um auf einen bestehenden Kontakt aufzulösen.",
|
||
"loadQueue": "Abgleichswarteschlange konnte nicht geladen werden.",
|
||
"resolveFailed": "Warteschlangenelement konnte nicht aufgelöst werden."
|
||
},
|
||
"empty": "Keine mehrdeutigen Übereinstimmungen warten auf Prüfung.",
|
||
"loading": "Warteschlange wird geladen…",
|
||
"noEmailIdentity": "Keine E-Mail-Identität",
|
||
"queuedAt": "{{identity}} · eingereiht {{time}}",
|
||
"scopedToMappedClient": "Bestehende Kontaktoptionen sind auf diesen zugeordneten Kunden beschränkt.",
|
||
"success": {
|
||
"resolvedExisting": "Warteschlangenelement {{queueItemId}} auf bestehenden Kontakt {{contactNameId}} aufgelöst.",
|
||
"resolvedNew": "Warteschlangenelement {{queueItemId}} durch Erstellen des Kontakts {{contactNameId}} aufgelöst."
|
||
},
|
||
"title": "Warteschlange für mehrdeutige Übereinstimmungen"
|
||
},
|
||
"syncHistory": {
|
||
"actions": {
|
||
"hideDetails": "Details ausblenden",
|
||
"refresh": "Aktualisieren",
|
||
"viewDetails": "Details anzeigen"
|
||
},
|
||
"details": {
|
||
"noResults": "Keine Tenant-Ergebnisse aufgezeichnet.",
|
||
"stats": "erstellt {{created}}, verknüpft {{linked}}, aktualisiert {{updated}}, mehrdeutig {{ambiguous}}, deaktiviert {{inactivated}}",
|
||
"tenantHeader": "Tenant {{tenant}} · {{status}}",
|
||
"unknownTenant": "unbekannt"
|
||
},
|
||
"empty": "Noch keine Sync-Läufe gefunden.",
|
||
"errors": {
|
||
"loadDetailFailed": "Lauf-Detail konnte nicht geladen werden.",
|
||
"loadFailed": "Sync-Verlauf konnte nicht geladen werden.",
|
||
"loadRunFailed": "Lauf {{runId}} konnte nicht geladen werden."
|
||
},
|
||
"loading": "Sync-Verlauf wird geladen…",
|
||
"run": {
|
||
"header": "{{runType}} · {{status}}",
|
||
"inProgress": "In Bearbeitung",
|
||
"tenants": "Tenants: {{processed}}/{{total}} · Erfolgreich: {{success}} · Fehlgeschlagen: {{failed}}",
|
||
"timing": "Gestartet {{started}} · Abgeschlossen {{completed}}"
|
||
},
|
||
"title": "Letzte Sync-Läufe"
|
||
}
|
||
},
|
||
"google": {
|
||
"settings": {
|
||
"actions": {
|
||
"refresh": "Aktualisieren",
|
||
"resetProviders": "Google-Provider zurücksetzen",
|
||
"resetting": "Wird zurückgesetzt…",
|
||
"save": "Speichern",
|
||
"saving": "Speichern…"
|
||
},
|
||
"afterSaveNotice": "Gehen Sie nach dem Speichern zu den Integrationen für eingehende E-Mails und Kalender und autorisieren Sie die Provider erneut. Bestehende Google-Provider werden nicht migriert.",
|
||
"consoleLink": "Google Cloud Console",
|
||
"description": "Konfigurieren Sie tenant-eigene Google-Cloud-Anmeldedaten für eingehende Gmail-E-Mails und Google Calendar.",
|
||
"errors": {
|
||
"loadFailed": "Google-Einstellungen konnten nicht geladen werden",
|
||
"resetFailed": "Google-Provider konnten nicht zurückgesetzt werden",
|
||
"saveFailed": "Google-Einstellungen konnten nicht gespeichert werden"
|
||
},
|
||
"fields": {
|
||
"projectIdHelp": "Wird für die Gmail-Pub/Sub-Bereitstellung verwendet (tenant-eigenes Dienstkonto).",
|
||
"projectIdLabel": "Google-Cloud-Projekt-ID",
|
||
"projectIdPlaceholder": "my-project-id"
|
||
},
|
||
"loading": "Wird geladen…",
|
||
"oauth": {
|
||
"calendarClientId": "Calendar OAuth Client ID",
|
||
"calendarClientSecret": "Calendar OAuth Client Secret",
|
||
"enterSecret": "Client Secret eingeben",
|
||
"gmailClientId": "Gmail OAuth Client ID",
|
||
"gmailClientSecret": "Gmail OAuth Client Secret",
|
||
"sectionTitle": "OAuth-App",
|
||
"shareApp": "Dieselbe OAuth-App für Gmail und Calendar verwenden",
|
||
"shareAppHelp": "Empfohlen. Sie können pro Integration weiterhin separate Google-Konten autorisieren.",
|
||
"storedSecret": "Gespeichertes Secret: {{secret}}"
|
||
},
|
||
"redirectUrisLabel": "Redirect-URIs (in den Google-OAuth-Client kopieren)",
|
||
"scopes": "Scopes",
|
||
"scopesCalendar": "Calendar: {{scopes}}",
|
||
"scopesGmail": "Gmail: {{scopes}}",
|
||
"serviceAccount": {
|
||
"alreadyStored": "Ein Service-Account-Schlüssel ist bereits gespeichert (nicht angezeigt).",
|
||
"description": "Fügen Sie das JSON des Service-Account-Schlüssels für das tenant-eigene Dienstkonto ein, das zur Bereitstellung von Pub/Sub verwendet wird.",
|
||
"title": "Pub/Sub-Dienstkonto (erforderlich für Gmail)"
|
||
},
|
||
"setupGuide": "Einrichtungsanleitung",
|
||
"title": "Google",
|
||
"toasts": {
|
||
"resetDescription": "Alle Google-Provider sind jetzt getrennt und erfordern eine erneute Autorisierung.",
|
||
"resetFailedTitle": "Zurücksetzen fehlgeschlagen",
|
||
"resetTitle": "Google-Provider zurückgesetzt",
|
||
"saveFailedTitle": "Google-Einstellungen konnten nicht gespeichert werden",
|
||
"savedDescription": "Die tenant-Google-Konfiguration wurde erfolgreich aktualisiert.",
|
||
"savedTitle": "Google-Einstellungen gespeichert",
|
||
"unknownError": "Unbekannter Fehler"
|
||
}
|
||
}
|
||
},
|
||
"hudu": {
|
||
"clientTab": {
|
||
"source": "Quelle: Hudu",
|
||
"openInHudu": "In Hudu öffnen",
|
||
"refresh": "Aktualisieren",
|
||
"loading": "Hudu-Daten werden geladen...",
|
||
"notConnected": "Hudu ist nicht verbunden. Ein Administrator kann die Verbindung unter Einstellungen → Integrationen herstellen.",
|
||
"unmapped": "Dieser Kunde ist noch keinem Hudu-Unternehmen zugeordnet. Ordnen Sie ihn unter Einstellungen → Integrationen → Hudu zu.",
|
||
"unreachable": "Hudu konnte nicht erreicht werden. Versuchen Sie es später erneut.",
|
||
"assetsTitle": "Assets",
|
||
"assetsEmpty": "Keine Hudu-Assets für dieses Unternehmen.",
|
||
"articlesTitle": "Artikel",
|
||
"articlesEmpty": "Keine Hudu-Artikel für dieses Unternehmen.",
|
||
"serial": "Seriennummer",
|
||
"folder": "Ordner"
|
||
},
|
||
"passwordsTab": {
|
||
"source": "Quelle: Hudu",
|
||
"openInHudu": "In Hudu öffnen",
|
||
"refresh": "Aktualisieren",
|
||
"loading": "Hudu-Passwörter werden geladen...",
|
||
"notConnected": "Hudu ist nicht verbunden. Ein Administrator kann die Verbindung unter Einstellungen → Integrationen herstellen.",
|
||
"unmapped": "Dieser Kunde ist noch keinem Hudu-Unternehmen zugeordnet. Ordnen Sie ihn unter Einstellungen → Integrationen → Hudu zu.",
|
||
"unreachable": "Hudu konnte nicht erreicht werden. Versuchen Sie es später erneut.",
|
||
"noPasswordAccess": "Für den Hudu-API-Schlüssel ist kein Passwortzugriff aktiviert, daher können Passwörter nicht aufgelistet werden. Erstellen Sie in der Hudu-Administration einen Schlüssel mit Passwortzugriff.",
|
||
"title": "Passwörter",
|
||
"empty": "Keine Hudu-Passwörter für dieses Unternehmen.",
|
||
"reveal": "Anzeigen",
|
||
"hide": "Ausblenden",
|
||
"copy": "Kopieren",
|
||
"revealNoAccess": "Für den Hudu-API-Schlüssel ist kein Passwortzugriff aktiviert.",
|
||
"revealNotFound": "Dieses Passwort wurde in Hudu nicht gefunden.",
|
||
"revealFailed": "Das Passwort konnte nicht angezeigt werden. Versuchen Sie es später erneut."
|
||
},
|
||
"assets": {
|
||
"title": "Assets",
|
||
"description": "Ordnen Sie Hudu-Assets AlgaPSA-Assets zu, importieren Sie nicht zugeordnete Assets und rufen Sie Aktualisierungen aus Hudu ab.",
|
||
"loading": "Asset-Zuordnungen werden geladen...",
|
||
"empty": "Keine Hudu-Assets für dieses Unternehmen.",
|
||
"selectAsset": "Asset auswählen",
|
||
"serial": "Seriennummer",
|
||
"archivedLabel": "Archiviert",
|
||
"excludedHint": "Nicht importiert (Layout ausgeschlossen)",
|
||
"buttons": {
|
||
"importAll": "Alle nicht zugeordneten importieren",
|
||
"importingAll": "Wird importiert...",
|
||
"sync": "Aus Hudu synchronisieren",
|
||
"syncing": "Wird synchronisiert...",
|
||
"import": "Importieren",
|
||
"importing": "Wird importiert...",
|
||
"save": "Zuordnungen speichern",
|
||
"saving": "Wird gespeichert...",
|
||
"discard": "Verwerfen"
|
||
},
|
||
"counters": {
|
||
"mapped": "zugeordnet",
|
||
"suggested": "vorgeschlagen",
|
||
"unmapped": "nicht zugeordnet",
|
||
"total": "gesamt"
|
||
},
|
||
"table": {
|
||
"huduAsset": "Hudu-Asset",
|
||
"algaAsset": "AlgaPSA-Asset",
|
||
"status": "Status",
|
||
"actions": "Aktionen"
|
||
},
|
||
"status": {
|
||
"mapped": "Zugeordnet",
|
||
"suggested": "Vorgeschlagen",
|
||
"unmapped": "Nicht zugeordnet",
|
||
"pending": "Ausstehend",
|
||
"stale": "Veraltet"
|
||
},
|
||
"suggestion": {
|
||
"label": "Vorgeschlagen",
|
||
"source": {
|
||
"serial": "Seriennummern-Übereinstimmung",
|
||
"exactName": "Exakter Name",
|
||
"fuzzyName": "Ähnlicher Name"
|
||
}
|
||
},
|
||
"rowActions": {
|
||
"unmap": "Zuordnung aufheben",
|
||
"revert": "Änderung rückgängig machen",
|
||
"dismiss": "Vorschlag verwerfen"
|
||
},
|
||
"pendingSummary": "Nicht gespeicherte Änderungen: {{total}}",
|
||
"sync": {
|
||
"summary": "Synchronisierung abgeschlossen: {{updated}} aktualisiert · {{unchanged}} unverändert · {{stale}} veraltet.",
|
||
"rmmSkipped": "{{rmmSkipped}} vom RMM verwaltet übersprungen.",
|
||
"lastSynced": "Zuletzt synchronisiert: {{timestamp}}"
|
||
},
|
||
"import": {
|
||
"summary": "Import abgeschlossen: {{created}} erstellt · {{skipped}} übersprungen · {{failed}} fehlgeschlagen."
|
||
},
|
||
"success": {
|
||
"saved": "Asset-Zuordnungen gespeichert: {{total}}",
|
||
"imported": "„{{name}}“ aus Hudu importiert."
|
||
},
|
||
"errors": {
|
||
"load": "Hudu-Asset-Zuordnungen konnten nicht geladen werden.",
|
||
"save": "Asset-Zuordnung konnte nicht aktualisiert werden.",
|
||
"import": "Hudu-Asset konnte nicht importiert werden.",
|
||
"importAll": "Massenimport fehlgeschlagen.",
|
||
"serialConflict": "Die Seriennummer wird bereits von „{{name}}“ verwendet.",
|
||
"sync": "Synchronisierung aus Hudu fehlgeschlagen.",
|
||
"rateLimited": "Hudu-Ratenlimit erreicht. Versuchen Sie es später erneut.",
|
||
"unmapped": "Dieser Kunde ist keinem Hudu-Unternehmen zugeordnet.",
|
||
"assetAlreadyMapped": "Dieses Asset ist bereits einem anderen Hudu-Asset zugeordnet. Entfernen Sie zuerst die bestehende Zuordnung.",
|
||
"huduAssetAlreadyMapped": "Dieses Hudu-Asset ist bereits einem Asset zugeordnet. Entfernen Sie zuerst die bestehende Zuordnung.",
|
||
"mappingConflict": "Diese Zuordnung steht im Konflikt mit einer bestehenden Zuordnung. Aktualisieren Sie und versuchen Sie es erneut.",
|
||
"notFound": "Zuordnung nicht gefunden. Aktualisieren Sie und versuchen Sie es erneut."
|
||
},
|
||
"toasts": {
|
||
"errorTitle": "Hudu-Asset-Zuordnungsfehler"
|
||
}
|
||
},
|
||
"documents": {
|
||
"sectionTitle": "Hudu-Dokumentation",
|
||
"loading": "Hudu-Artikel werden geladen...",
|
||
"empty": "Keine Hudu-Artikel",
|
||
"unreachable": "Hudu konnte nicht erreicht werden. Versuchen Sie es später erneut."
|
||
},
|
||
"documentsTab": {
|
||
"title": "Hudu-Artikel",
|
||
"source": "Quelle: Hudu",
|
||
"searchPlaceholder": "Hudu-Artikel durchsuchen...",
|
||
"loading": "Hudu-Artikel werden geladen...",
|
||
"empty": "Keine Hudu-Artikel gefunden.",
|
||
"notConnected": "Hudu ist nicht verbunden. Ein Administrator kann die Verbindung unter Einstellungen → Integrationen herstellen.",
|
||
"unreachable": "Hudu konnte nicht erreicht werden. Versuchen Sie es später erneut.",
|
||
"articleColumn": "Artikel",
|
||
"clientColumn": "Kunde",
|
||
"companyColumn": "Hudu-Unternehmen",
|
||
"updatedColumn": "Aktualisiert",
|
||
"unmapped": "Nicht zugeordnet",
|
||
"previous": "Zurück",
|
||
"next": "Weiter",
|
||
"pageLabel": "Seite"
|
||
},
|
||
"mapping": {
|
||
"title": "Unternehmenszuordnungen",
|
||
"description": "Ordnen Sie Hudu-Unternehmen AlgaPSA-Kunden zu, um deren Dokumentation anzuzeigen.",
|
||
"loading": "Unternehmenszuordnungen werden geladen...",
|
||
"companyId": "ID",
|
||
"idInIntegration": "PSA-ID",
|
||
"selectClient": "Kunde auswählen",
|
||
"buttons": {
|
||
"refresh": "Unternehmen aktualisieren",
|
||
"refreshing": "Wird aktualisiert...",
|
||
"save": "Zuordnungen speichern",
|
||
"saving": "Wird gespeichert...",
|
||
"discard": "Verwerfen"
|
||
},
|
||
"counters": {
|
||
"mapped": "zugeordnet",
|
||
"suggested": "vorgeschlagen",
|
||
"unmapped": "nicht zugeordnet",
|
||
"total": "gesamt"
|
||
},
|
||
"table": {
|
||
"huduCompany": "Hudu-Unternehmen",
|
||
"algaClient": "AlgaPSA-Kunde",
|
||
"status": "Status"
|
||
},
|
||
"status": {
|
||
"mapped": "Zugeordnet",
|
||
"suggested": "Vorgeschlagen",
|
||
"unmapped": "Nicht zugeordnet",
|
||
"pending": "Ausstehend"
|
||
},
|
||
"suggestion": {
|
||
"label": "Vorgeschlagen",
|
||
"source": {
|
||
"integrationId": "PSA-Integrations-ID",
|
||
"exactName": "Exakter Name",
|
||
"fuzzyName": "Ähnlicher Name"
|
||
}
|
||
},
|
||
"empty": {
|
||
"title": "Noch keine Hudu-Unternehmen geladen.",
|
||
"hint": "Klicken Sie auf „Unternehmen aktualisieren“, um Unternehmen aus Hudu abzurufen."
|
||
},
|
||
"unmappedHint": "Dokumentation wird nur für zugeordnete Kunden angezeigt. Ordnen Sie jedes Hudu-Unternehmen einem AlgaPSA-Kunden zu, um sie zu aktivieren.",
|
||
"success": {
|
||
"refreshed": "Hudu-Unternehmen aktualisiert.",
|
||
"saved": "Zuordnungen gespeichert: {{total}}"
|
||
},
|
||
"errors": {
|
||
"load": "Hudu-Unternehmenszuordnungen konnten nicht geladen werden.",
|
||
"refresh": "Hudu-Unternehmen konnten nicht aktualisiert werden.",
|
||
"save": "Zuordnung konnte nicht aktualisiert werden.",
|
||
"clientAlreadyMapped": "Dieser Kunde ist bereits einem anderen Hudu-Unternehmen zugeordnet. Entfernen Sie zuerst die bestehende Zuordnung.",
|
||
"companyAlreadyMapped": "Dieses Hudu-Unternehmen ist bereits einem anderen Kunden zugeordnet. Entfernen Sie zuerst die bestehende Zuordnung.",
|
||
"mappingConflict": "Diese Zuordnung steht im Konflikt mit einer bestehenden Zuordnung. Aktualisieren Sie und versuchen Sie es erneut.",
|
||
"notFound": "Zuordnung nicht gefunden. Aktualisieren Sie und versuchen Sie es erneut."
|
||
},
|
||
"toasts": {
|
||
"errorTitle": "Hudu-Zuordnungsfehler"
|
||
},
|
||
"pendingSummary": "Nicht gespeicherte Änderungen: {{total}}",
|
||
"rowActions": {
|
||
"unmap": "Zuordnung aufheben",
|
||
"revert": "Änderung rückgängig machen",
|
||
"dismiss": "Vorschlag verwerfen"
|
||
}
|
||
},
|
||
"layoutMap": {
|
||
"title": "Asset-Layouts",
|
||
"description": "Wählen Sie, als welcher AlgaPSA-Asset-Typ jedes Hudu-Asset-Layout importiert wird. Nicht konfigurierte Layouts werden als Unbekannt importiert.",
|
||
"loading": "Asset-Layouts werden geladen...",
|
||
"empty": "Keine Asset-Layouts in Hudu gefunden.",
|
||
"suggested": "Vorgeschlagen",
|
||
"table": {
|
||
"huduLayout": "Hudu-Layout",
|
||
"algaAssetType": "AlgaPSA-Asset-Typ"
|
||
},
|
||
"types": {
|
||
"workstation": "Arbeitsplatz",
|
||
"networkDevice": "Netzwerkgerät",
|
||
"server": "Server",
|
||
"mobileDevice": "Mobilgerät",
|
||
"printer": "Drucker",
|
||
"unknown": "Unbekannt"
|
||
},
|
||
"excludeOption": "Nicht importieren",
|
||
"buttons": {
|
||
"save": "Layout-Zuordnung speichern",
|
||
"saving": "Wird gespeichert..."
|
||
},
|
||
"success": {
|
||
"saved": "Asset-Layout-Zuordnung gespeichert."
|
||
},
|
||
"errors": {
|
||
"load": "Hudu-Asset-Layouts konnten nicht geladen werden.",
|
||
"save": "Asset-Layout-Zuordnung konnte nicht gespeichert werden."
|
||
},
|
||
"createType": {
|
||
"button": "Typ aus Layout erstellen",
|
||
"creating": "Wird erstellt...",
|
||
"success": "Asset-Typ erstellt und diesem Layout zugewiesen.",
|
||
"errors": {
|
||
"create": "Aus diesem Layout konnte kein Asset-Typ erstellt werden.",
|
||
"slugConflict": "Ein Asset-Typ mit diesem Namen existiert bereits. Wählen Sie ihn stattdessen aus der Liste aus."
|
||
}
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "Hudu",
|
||
"description": "Verbinden Sie Ihre Hudu-Instanz, um Kundendokumentation und Zugangsdaten in AlgaPSA anzuzeigen.",
|
||
"loading": "Hudu-Verbindungsstatus wird geladen...",
|
||
"detectedInstance": "Hudu-Instanz",
|
||
"status": {
|
||
"connected": "Verbunden",
|
||
"notConnected": "Nicht verbunden",
|
||
"error": "Fehler"
|
||
},
|
||
"passwordAccess": {
|
||
"enabled": "Passwortzugriff aktiviert",
|
||
"disabled": "Passwortzugriff für diesen Schlüssel nicht aktiviert"
|
||
},
|
||
"fields": {
|
||
"baseUrl": {
|
||
"label": "Basis-URL",
|
||
"placeholder": "https://your-instance.huducloud.com"
|
||
},
|
||
"apiKey": {
|
||
"label": "API-Schlüssel",
|
||
"placeholder": "Geben Sie Ihren Hudu-API-Schlüssel ein",
|
||
"keepExisting": "Leer lassen, um den aktuellen API-Schlüssel beizubehalten",
|
||
"writeOnlyHint": "Der gespeicherte API-Schlüssel wird niemals angezeigt. Lassen Sie dieses Feld leer, um ihn weiterhin zu verwenden."
|
||
}
|
||
},
|
||
"buttons": {
|
||
"test": "Verbindung testen",
|
||
"testing": "Wird getestet...",
|
||
"connect": "Verbinden",
|
||
"connecting": "Verbindung wird hergestellt...",
|
||
"disconnect": "Trennen",
|
||
"disconnecting": "Wird getrennt..."
|
||
},
|
||
"success": {
|
||
"connected": "Mit Hudu verbunden.",
|
||
"testPassedWithPasswords": "Hudu-Verbindungstest erfolgreich. Passwortzugriff ist für diesen Schlüssel aktiviert.",
|
||
"testPassedNoPasswords": "Hudu-Verbindungstest erfolgreich. Passwortzugriff ist für diesen Schlüssel nicht aktiviert.",
|
||
"disconnected": "Hudu-Verbindung getrennt."
|
||
},
|
||
"errors": {
|
||
"loadStatus": "Hudu-Verbindungsstatus konnte nicht geladen werden.",
|
||
"baseUrlRequired": "Basis-URL ist erforderlich.",
|
||
"baseUrlFormat": "Geben Sie eine gültige URL ein, z. B. https://your-instance.huducloud.com",
|
||
"invalidBaseUrl": "Unter dieser Basis-URL wurde keine Hudu-API gefunden (404). Überprüfen Sie die Basis-URL.",
|
||
"unreachable": "Hudu konnte unter dieser Basis-URL nicht erreicht werden. Überprüfen Sie die URL und Ihr Netzwerk.",
|
||
"invalidKey": "Hudu hat den API-Schlüssel abgelehnt (401). Geben Sie einen gültigen API-Schlüssel ein.",
|
||
"testFailed": "Hudu-Verbindungstest fehlgeschlagen.",
|
||
"connectFailed": "Verbindung mit Hudu fehlgeschlagen.",
|
||
"disconnectFailed": "Hudu konnte nicht getrennt werden."
|
||
},
|
||
"toasts": {
|
||
"errorTitle": "Hudu-Verbindungsfehler"
|
||
}
|
||
}
|
||
},
|
||
"microsoft": {
|
||
"settings": {
|
||
"actions": {
|
||
"entraLink": "Microsoft Entra",
|
||
"newProfile": "Neues Profil",
|
||
"openTeamsSetup": "Teams-Einrichtung öffnen",
|
||
"refresh": "Aktualisieren",
|
||
"resetProviders": "Microsoft-Provider zurücksetzen",
|
||
"resetting": "Wird zurückgesetzt…"
|
||
},
|
||
"archiveDialog": {
|
||
"archiving": "Wird archiviert…",
|
||
"cancel": "Profil behalten",
|
||
"confirm": "Profil archivieren",
|
||
"message": "{{name}} archivieren? Bestehende historische Verweise bleiben erhalten, aber das Profil steht für neue Bindungen nicht mehr zur Verfügung.",
|
||
"title": "Microsoft-Profil archivieren?"
|
||
},
|
||
"binding": {
|
||
"bound": "Gebunden",
|
||
"boundProfileLabel": "Gebundenes Profil",
|
||
"createFirst": "Erstellen Sie zuerst ein Profil",
|
||
"needsAttention": "Erfordert Aufmerksamkeit",
|
||
"saving": "Speichern…",
|
||
"selectProfile": "Profil auswählen",
|
||
"unbound": "Nicht gebunden"
|
||
},
|
||
"bindings": {
|
||
"summaryBound": "{{consumer}} ist an {{profile}} gebunden.",
|
||
"summaryNone": "Derzeit ist kein Microsoft-Profil an {{consumer}} gebunden.",
|
||
"summaryUnavailable": "{{consumer}} ist an ein nicht verfügbares Profil gebunden.",
|
||
"warningArchived": "{{consumer}} ist weiterhin an ein archiviertes Profil gebunden. Binden Sie es an ein aktives Profil neu.",
|
||
"warningNoBinding": "Für {{consumer}} ist noch keine Bindung konfiguriert.",
|
||
"warningNotReady": "{{consumer}} ist an {{profile}} gebunden, aber dieses Profil benötigt noch eine Konfiguration.",
|
||
"warningProfileMissing": "{{consumer}} ist an ein Profil gebunden, das nicht mehr verfügbar ist. Binden Sie es an ein aktives Profil neu."
|
||
},
|
||
"bindingsAlertCe": "Explizite Bindungen sind die Referenz für die Auswahl des MSP-SSO-Profils. Konfigurieren Sie die Anmeldedomänen separat, nachdem Sie das gebundene Profil ausgewählt haben.",
|
||
"bindingsAlertEe": "Explizite Bindungen sind die Referenz für die Auswahl des MSP-SSO-, E-Mail-, Kalender- und Teams-Profils.",
|
||
"consumerBindings": {
|
||
"descriptionCe": "Binden Sie ein Microsoft-Profil an MSP-SSO für die Anmeldung und die Nutzung der Anmeldedomäne.",
|
||
"descriptionEe": "Binden Sie ein Microsoft-Profil pro unterstütztem Consumer. Das Neuzuweisen eines Consumers ändert die anderen nicht.",
|
||
"title": "Explizite Consumer-Bindungen"
|
||
},
|
||
"consumers": {
|
||
"calendar": {
|
||
"description": "Wählen Sie aus, welches Microsoft-Profil für die Outlook-Kalendersynchronisation verwendet werden soll.",
|
||
"label": "Kalender",
|
||
"reconnect": "Bestehende Microsoft-Kalenderverbindungen benötigen nach dem Wechsel des gebundenen Profils möglicherweise eine erneute Autorisierung."
|
||
},
|
||
"email": {
|
||
"description": "Wählen Sie aus, welches Microsoft-Profil für eingehende Outlook-E-Mails verwendet werden soll.",
|
||
"label": "E-Mail",
|
||
"reconnect": "Bestehende Outlook-E-Mail-Verbindungen benötigen nach dem Wechsel des gebundenen Profils möglicherweise eine erneute Autorisierung."
|
||
},
|
||
"mspSso": {
|
||
"description": "Wählen Sie aus, welches Microsoft-Profil die MSP-SSO-Anmeldedomänen, die Microsoft-Anmeldung und die Tenant-Erkennung unterstützt.",
|
||
"label": "MSP SSO"
|
||
},
|
||
"teams": {
|
||
"description": "Wählen Sie aus, welches Microsoft-Profil für die Microsoft-Teams-Installation und die Authentifizierungsflüsse verwendet werden soll.",
|
||
"label": "Teams"
|
||
}
|
||
},
|
||
"descriptionCe": "Verwalten Sie tenant-eigene Microsoft-Profile für MSP SSO, Microsoft-Anmeldung und die Erkennung von Anmeldedomänen.",
|
||
"descriptionEe": "Verwalten Sie tenant-eigene Microsoft-Profile für MSP SSO, Outlook-E-Mail, Kalendersynchronisation und Microsoft Teams.",
|
||
"dialog": {
|
||
"cancel": "Abbrechen",
|
||
"clientId": "Client ID",
|
||
"clientSecret": "Client Secret",
|
||
"clientSecretPlaceholder": "Client Secret eingeben",
|
||
"clientSecretPlaceholderEdit": "Leer lassen, um das aktuelle Secret beizubehalten",
|
||
"createProfile": "Profil erstellen",
|
||
"createTitle": "Microsoft-Profil erstellen",
|
||
"descriptionCreate": "Erstellen Sie ein tenant-eigenes Microsoft-Profil und binden Sie es anschließend explizit an die Microsoft-Consumer, die Sie nutzen möchten.",
|
||
"descriptionEdit": "Aktualisieren Sie das ausgewählte Microsoft-Profil. Lassen Sie das Secret leer, um den bestehenden Wert beizubehalten.",
|
||
"displayName": "Anzeigename",
|
||
"displayNamePlaceholder": "Acme Produktionsmandant",
|
||
"editTitle": "Microsoft-Profil bearbeiten",
|
||
"saveChanges": "Änderungen speichern",
|
||
"saving": "Speichern…",
|
||
"setDefault": "Dieses Profil als Standard-Microsoft-Profil festlegen",
|
||
"setDefaultHelp": "Standardprofile stehen für Profilverwaltungs-Workflows und migrationssichere Metadaten zur Verfügung, jedoch nicht für das Consumer-Routing.",
|
||
"storedSecretHint": "Gespeichertes Secret: {{secret}}. Lassen Sie dieses Feld leer, um es unverändert zu lassen.",
|
||
"tenantId": "Tenant ID"
|
||
},
|
||
"empty": {
|
||
"createButton": "Microsoft-Profil erstellen",
|
||
"descriptionCe": "Erstellen Sie zunächst ein benanntes Profil und binden Sie es anschließend explizit an MSP-SSO und Anmeldungsflüsse mit Anmeldedomänen.",
|
||
"descriptionEe": "Erstellen Sie zunächst ein benanntes Profil und binden Sie es anschließend explizit an MSP SSO, Outlook-E-Mail, Kalendersynchronisation und Teams.",
|
||
"title": "Noch keine Microsoft-Profile"
|
||
},
|
||
"errors": {
|
||
"archive": "Microsoft-Profil konnte nicht archiviert werden",
|
||
"loadBindings": "Microsoft-Bindungen konnten nicht geladen werden",
|
||
"loadStatus": "Microsoft-Einstellungen konnten nicht geladen werden",
|
||
"resetProviders": "Microsoft-Provider konnten nicht zurückgesetzt werden",
|
||
"saveProfile": "Microsoft-Profil konnte nicht gespeichert werden",
|
||
"setDefault": "Standard-Microsoft-Profil konnte nicht festgelegt werden",
|
||
"updateBinding": "Microsoft-Bindung konnte nicht aktualisiert werden"
|
||
},
|
||
"guidance": {
|
||
"applicationIdUri": "Application ID URI",
|
||
"calendarRedirect": "Redirect-URI für Kalendersynchronisation",
|
||
"calendarTitle": "Kalender-Anleitung",
|
||
"clientId": "Client ID",
|
||
"currentProfileTitle": "Aktuelle Profilwerte",
|
||
"emailRedirect": "Redirect-URI für eingehende E-Mails",
|
||
"emailTitle": "E-Mail-Anleitung",
|
||
"mspSsoTitle": "MSP-SSO-Anleitung",
|
||
"notConfigured": "Nicht konfiguriert",
|
||
"redirectUri": "Redirect URI",
|
||
"requiresBaseUrl": "Basis-URL und Client ID erforderlich",
|
||
"scopes": "Scopes",
|
||
"teamsBotRedirect": "Redirect-URI für persönlichen Bot",
|
||
"teamsMessageRedirect": "Redirect-URI für Message Extension",
|
||
"teamsScopes": "Teams-Scopes",
|
||
"teamsTabRedirect": "Redirect-URI für persönlichen Tab",
|
||
"teamsTitle": "Teams-Anleitung",
|
||
"tenantId": "Tenant ID",
|
||
"unavailable": "Nicht verfügbar"
|
||
},
|
||
"profileCard": {
|
||
"activeBindings": "Aktive Bindungen",
|
||
"archive": "Archivieren",
|
||
"clientId": "Client ID",
|
||
"defaultBadge": "Standard",
|
||
"edit": "Bearbeiten",
|
||
"guidanceSummary": "Anleitung zur Microsoft-App-Registrierung",
|
||
"noVisibleBindings": "Keine sichtbaren Consumer-Bindungen",
|
||
"readinessTitle": "Profilbereitschaft",
|
||
"readyCe": "Dieses Profil ist bereit für die MSP-SSO-Bindung und Anmeldungsflüsse mit Anmeldedomänen.",
|
||
"readyEe": "Dieses Profil ist bereit für MSP SSO, Outlook-E-Mail und Kalenderbindungen.",
|
||
"readyEeTeams": "Dieses Profil ist bereit für MSP SSO, Outlook-E-Mail, Kalendersynchronisation und Teams-Bindungen.",
|
||
"setDefault": "Als Standard festlegen",
|
||
"storedSecret": "Gespeichertes Secret",
|
||
"teamsAppIdUri": "Teams Application ID URI",
|
||
"tenantIdLabel": "Tenant ID:",
|
||
"updating": "Wird aktualisiert…"
|
||
},
|
||
"providerReconnect": {
|
||
"description": "Verwenden Sie dies, wenn Sie Anmeldedaten rotieren oder Outlook-E-Mail bzw. den Kalender absichtlich an ein anderes Microsoft-Profil binden.",
|
||
"title": "Provider-Neuverbindung"
|
||
},
|
||
"readiness": {
|
||
"archived": "Archivierte Profile können nicht für neue Microsoft-Bindungen verwendet werden.",
|
||
"clientIdMissing": "Client ID fehlt.",
|
||
"clientSecretMissing": "Client Secret wurde nicht konfiguriert.",
|
||
"tenantIdMissing": "Tenant ID fehlt."
|
||
},
|
||
"statusBadges": {
|
||
"archived": "Archiviert",
|
||
"needsAttention": "Erfordert Aufmerksamkeit",
|
||
"ready": "Bereit"
|
||
},
|
||
"title": "Microsoft",
|
||
"toasts": {
|
||
"archiveFailedTitle": "Microsoft-Profil konnte nicht archiviert werden",
|
||
"archivedDescription": "{{name}} wurde erfolgreich archiviert.",
|
||
"archivedTitle": "Microsoft-Profil archiviert",
|
||
"bindingFailedTitle": "Bindung für {{consumer}} konnte nicht aktualisiert werden",
|
||
"bindingUpdatedDescription": "{{consumer}} verwendet jetzt {{profile}}.",
|
||
"bindingUpdatedTitle": "Bindung für {{consumer}} aktualisiert",
|
||
"defaultUpdatedDescription": "{{name}} ist jetzt das Standard-Microsoft-Profil.",
|
||
"defaultUpdatedTitle": "Standard-Microsoft-Profil aktualisiert",
|
||
"profileCreated": "Microsoft-Profil erstellt",
|
||
"profileCreatedDescription": "Das Microsoft-Profil kann an sichtbare Microsoft-Consumer gebunden werden.",
|
||
"profileUpdated": "Microsoft-Profil aktualisiert",
|
||
"profileUpdatedDescription": "Die Änderungen am Microsoft-Profil wurden erfolgreich gespeichert.",
|
||
"resetDescription": "Bestehende Outlook-E-Mail- und Kalenderverbindungen erfordern jetzt eine erneute Autorisierung.",
|
||
"resetFailedTitle": "Zurücksetzen fehlgeschlagen",
|
||
"resetTitle": "Microsoft-Provider zurückgesetzt",
|
||
"saveFailedTitle": "Microsoft-Profil konnte nicht gespeichert werden",
|
||
"selectedProfile": "das ausgewählte Profil",
|
||
"setDefaultFailedTitle": "Standardprofil konnte nicht festgelegt werden"
|
||
},
|
||
"validation": {
|
||
"clientIdRequired": "Microsoft OAuth Client ID ist erforderlich",
|
||
"clientSecretRequired": "Microsoft OAuth Client Secret ist erforderlich",
|
||
"displayNameRequired": "Anzeigename des Microsoft-Profils ist erforderlich",
|
||
"tenantIdRequired": "Microsoft Tenant ID ist erforderlich"
|
||
}
|
||
}
|
||
},
|
||
"qbo": {
|
||
"live": {
|
||
"defaultCompany": "Verbundenes QuickBooks-Unternehmen"
|
||
},
|
||
"settings": {
|
||
"actions": {
|
||
"connect": "QuickBooks verbinden",
|
||
"disconnect": "QuickBooks trennen",
|
||
"disconnecting": "Wird getrennt…",
|
||
"reconnect": "QuickBooks erneut verbinden",
|
||
"refresh": "Aktualisieren",
|
||
"saveCredentials": "QuickBooks-Anmeldedaten speichern",
|
||
"saving": "Speichern…"
|
||
},
|
||
"badges": {
|
||
"connectionExpired": "Verbindung benötigt Aufmerksamkeit",
|
||
"credentialsReady": "Anmeldedaten bereit",
|
||
"credentialsRequired": "Anmeldedaten erforderlich",
|
||
"defaultConnected": "Unternehmen verbunden",
|
||
"noCompany": "Kein Unternehmen verbunden"
|
||
},
|
||
"callback": {
|
||
"accessDenied": "Der QuickBooks-Zugriff wurde abgelehnt, bevor die Verbindung abgeschlossen werden konnte.",
|
||
"configMissing": "QuickBooks OAuth konnte nicht gestartet werden, da die Client-ID und das Client Secret nicht vollständig konfiguriert waren.",
|
||
"generic": "QuickBooks hat einen OAuth-Fehler zurückgegeben: {{code}}",
|
||
"invalidState": "Der QuickBooks-OAuth-Status war ungültig oder abgelaufen. Starten Sie den Verbindungs-Flow erneut.",
|
||
"missingParams": "Dem QuickBooks-Callback fehlten erforderliche Parameter. Starten Sie den Verbindungs-Flow erneut.",
|
||
"oauthFailed": "Der QuickBooks-OAuth-Callback ist fehlgeschlagen. Versuchen Sie, die Verbindung erneut herzustellen. Bei weiterhin bestehendem Problem überprüfen Sie Ihre Redirect-URI und Scopes.",
|
||
"tokenExchangeFailed": "Intuit hat die erwarteten Token nicht zurückgegeben. Versuchen Sie, die Verbindung erneut herzustellen."
|
||
},
|
||
"clientIdLabel": "QuickBooks Client ID",
|
||
"clientIdPlaceholder": "Fügen Sie Ihre Intuit-App-Client-ID ein",
|
||
"clientSecretLabel": "QuickBooks Client Secret",
|
||
"clientSecretPlaceholder": "Fügen Sie Ihr Intuit-App-Client-Secret ein",
|
||
"connectSuccess": "QuickBooks erfolgreich verbunden. Das verbundene Unternehmen ist nun der Standard-Live-QuickBooks-Kontext.",
|
||
"connection": {
|
||
"defaultCompany": "Verbundenes Unternehmen",
|
||
"description": "Starten Sie OAuth erst, nachdem die QuickBooks-App-Anmeldedaten konfiguriert sind. Beim Trennen werden gespeicherte QuickBooks-Zugriffstoken entfernt, die tenant-eigenen App-Anmeldedaten bleiben jedoch erhalten.",
|
||
"notConnected": "Es ist noch kein QuickBooks-Unternehmen verbunden. Speichern Sie die Anmeldedaten und klicken Sie anschließend auf „QuickBooks verbinden“.",
|
||
"realmId": "Realm ID: {{id}}",
|
||
"title": "Live-QuickBooks-Verbindung",
|
||
"unknown": "unbekannt"
|
||
},
|
||
"credentialsSaved": "QuickBooks-Anmeldedaten gespeichert. Sie können jetzt den QuickBooks-OAuth-Flow starten.",
|
||
"csvAvailableMiddle": "in diesem Buchhaltungsbereich und verwalten Sie Exporte über",
|
||
"csvAvailablePrefix": "Wenn Sie einen manuellen Workflow bevorzugen, verwenden Sie weiterhin",
|
||
"csvAvailableTitle": "QuickBooks CSV bleibt verfügbar",
|
||
"description": "Konfigurieren Sie QuickBooks-OAuth-Anmeldedaten, verbinden Sie Ihr QuickBooks-Unternehmen und halten Sie Live-QuickBooks parallel zum manuellen QuickBooks-CSV-Workflow verfügbar.",
|
||
"disconnectSuccess": "Die gespeicherte QuickBooks-Verbindung wurde entfernt. Tenant-eigene QuickBooks-App-Anmeldedaten wurden beibehalten.",
|
||
"environment": "Intuit-Umgebung",
|
||
"environmentProduction": "Produktion",
|
||
"environmentSandbox": "Sandbox",
|
||
"errors": {
|
||
"disconnect": "QuickBooks konnte nicht getrennt werden.",
|
||
"load": "QuickBooks-Einstellungen konnten nicht geladen werden.",
|
||
"saveCredentials": "QuickBooks-Anmeldedaten konnten nicht gespeichert werden."
|
||
},
|
||
"howItWorksDescription": "Speichern Sie hier QuickBooks-App-Anmeldedaten, schließen Sie den Intuit-OAuth-Flow ab, und Alga PSA verwendet das verbundene QuickBooks-Unternehmen als Standard-Live-Kontext für Exporte und Zuordnungen.",
|
||
"howItWorksTitle": "So funktioniert Live-QuickBooks in dieser Version",
|
||
"loading": "QuickBooks-Einstellungen werden geladen…",
|
||
"mapping": {
|
||
"alert": "QuickBooks-Artikel, Steuercodes und Konditionen werden aus dem verbundenen Unternehmen geladen, damit Live-Exporte in v1 weiterhin die erste gespeicherte QuickBooks-Verbindung nutzen können.",
|
||
"descriptionPrefix": "Konfigurieren Sie Live-QuickBooks-Zuordnungen für das verbundene Unternehmen. Diese Zuordnungen sind begrenzt auf",
|
||
"placeholderAlert": "Der Zuordnungsmanager wird verfügbar, nachdem das erste QuickBooks-Unternehmen verbunden und als Standard-Live-QuickBooks-Kontext festgelegt wurde.",
|
||
"placeholderDescription": "Verbinden Sie ein QuickBooks-Unternehmen, bevor Sie Live-QuickBooks-Artikel- und Steuer-Zuordnungen konfigurieren.",
|
||
"title": "Live-QuickBooks-Zuordnung & -Konfiguration"
|
||
},
|
||
"noClientId": "Für diesen Tenant ist noch keine Client ID gespeichert.",
|
||
"noClientSecret": "Für diesen Tenant ist noch kein Client Secret gespeichert.",
|
||
"quickbooksCsv": "QuickBooks CSV",
|
||
"redirectUri": "Redirect URI",
|
||
"requiredScopes": "Erforderliche Scopes",
|
||
"storedClientId": "Gespeicherte Client ID: {{value}}",
|
||
"storedClientSecret": "Gespeichertes Client Secret: {{value}}",
|
||
"tenantOauthDescription": "Fügen Sie die für diesen Tenant registrierten Intuit-App-Anmeldedaten ein, oder lassen Sie das Feld leer, um die QuickBooks-App auf Anwendungsebene zu verwenden, sofern eine konfiguriert ist. Secret-Werte werden nach dem Speichern nicht mehr an den Browser zurückgegeben.",
|
||
"tenantOauthTitle": "Tenant-eigene OAuth-App",
|
||
"title": "QuickBooks Online"
|
||
},
|
||
"sync": {
|
||
"healthCardTitle": "Synchronisierungsstatus",
|
||
"healthCardDescription": "Status und Steuerung der QuickBooks-Buchhaltungssynchronisierung. Läuft alle 15 Minuten.",
|
||
"lastCycleTitle": "Letzter Synchronisierungslauf",
|
||
"lastCycleStatus": "Status",
|
||
"lastCycleFinishedAt": "Abgeschlossen",
|
||
"lastCycleStats": "Ergebnisse",
|
||
"statOpsProcessed": "{{count}} Vorgänge verarbeitet",
|
||
"statDriftFound": "{{count}} Abweichungen",
|
||
"statPaymentsApplied": "{{count}} Zahlungen verbucht",
|
||
"noLastCycle": "Es wurde noch kein Synchronisierungslauf ausgeführt.",
|
||
"nextRunHint": "Läuft automatisch alle 15 Minuten, wenn die automatische Synchronisierung aktiviert ist.",
|
||
"pendingOps": "Ausstehende Vorgänge",
|
||
"erroredOps": "Fehlgeschlagene Vorgänge",
|
||
"driftCount": "Abweichungen",
|
||
"openExceptions": "Offene Ausnahmen",
|
||
"refreshTokenExpiry": "QuickBooks-Token läuft am {{date}} ab",
|
||
"refreshTokenExpired": "QuickBooks-Token abgelaufen — erneut verbinden, um die Synchronisierung fortzusetzen.",
|
||
"autoSyncLabel": "Automatische Synchronisierung aktiviert",
|
||
"syncNowButton": "Jetzt synchronisieren",
|
||
"syncNowRunning": "Synchronisierung läuft…",
|
||
"syncNowSuccess": "Synchronisierung erfolgreich abgeschlossen.",
|
||
"syncNowSkipped": "Synchronisierung übersprungen: {{reason}}",
|
||
"syncNowError": "Synchronisierung fehlgeschlagen: {{error}}",
|
||
"viewExceptionsLink": "Ausnahmen anzeigen",
|
||
"autoApplyCreditsWarning": "QuickBooks ist so eingestellt, dass Guthaben automatisch angewendet werden. Das steht im Konflikt mit den von Alga gesteuerten Guthabenanwendungen: QuickBooks kann exportierte Gutschriften vor der Synchronisierung auf eine andere Rechnung anwenden. Öffnen Sie in QuickBooks „Account and Settings → Advanced → Automation“ und deaktivieren Sie „Automatically apply credits“.",
|
||
"configTitle": "Synchronisierungskonfiguration",
|
||
"connectedCompanies": "Verbundene Unternehmen",
|
||
"defaultClass": "Standardklasse",
|
||
"defaultDepartment": "Standardabteilung",
|
||
"defaultRealm": "Standard",
|
||
"depositAccount": "Einzahlungskonto",
|
||
"makeDefault": "Als Standard festlegen",
|
||
"noDefault": "Kein Standard",
|
||
"saving": "Speichern…",
|
||
"undepositedFunds": "Nicht eingezahlte Mittel (Standard)"
|
||
}
|
||
},
|
||
"rmm": {
|
||
"ninjaOne": {
|
||
"loading": "NinjaOne-Integrationseinstellungen werden geladen...",
|
||
"card": {
|
||
"title": "NinjaOne RMM-Integration",
|
||
"description": "Verbinden Sie Ihr NinjaOne-Konto, um Geräte zu synchronisieren, Warnungen zu erhalten und Fernzugriff zu aktivieren.",
|
||
"skeletonDescription": "NinjaOne-Integration wird geladen..."
|
||
},
|
||
"status": {
|
||
"checking": "NinjaOne-Verbindung wird geprüft...",
|
||
"notConnected": {
|
||
"title": "Nicht mit NinjaOne verbunden",
|
||
"description": "Verbinden Sie Ihr NinjaOne-Konto, um Geräte zu synchronisieren, Warnungen zu erhalten und Fernzugriff zu aktivieren."
|
||
},
|
||
"connected": "Mit NinjaOne verbunden",
|
||
"connectedWithErrors": "NinjaOne verbunden mit Synchronisierungsfehlern",
|
||
"instanceLabel": "Instanz:",
|
||
"organizations": "{{count}} Organisationen",
|
||
"devices": "{{count}} Geräte",
|
||
"activeAlerts": "{{count}} aktive Warnungen",
|
||
"lastSynced": "Zuletzt synchronisiert: {{time}}"
|
||
},
|
||
"setup": {
|
||
"title": "Einrichtungsanweisungen",
|
||
"steps": {
|
||
"login": "Melden Sie sich in Ihrem NinjaOne-Dashboard an",
|
||
"navigate": "Navigieren Sie zu Administration → Apps → API",
|
||
"addClient": "Klicken Sie auf „+ Add client app“, um eine neue API-Anwendung zu erstellen",
|
||
"platform": "Stellen Sie die Application Platform auf „Web (PHP, Java, .Net Core, etc.)“",
|
||
"name": "Geben Sie einen Namen ein (z. B. „Alga PSA“)",
|
||
"redirectUri": "Fügen Sie die Redirect-URI hinzu:",
|
||
"scopes": "Aktivieren Sie unter „Scopes“ „Monitoring“ und „Management“",
|
||
"grantTypes": "Aktivieren Sie unter „Allowed grant types“ „Authorization code“, „Client credentials“ und „Refresh token“",
|
||
"addAndCopy": "Klicken Sie auf „Add“ und kopieren Sie Client ID und Client Secret unten"
|
||
},
|
||
"docsPrefix": "Detaillierte Einrichtungsanweisungen finden Sie in",
|
||
"docsSection": "Abschnitt 10.15",
|
||
"docsSuffix": "der Dokumentation.",
|
||
"openApiSettings": "NinjaOne-API-Einstellungen öffnen"
|
||
},
|
||
"credentials": {
|
||
"title": "API-Anmeldedaten",
|
||
"saved": "Anmeldedaten gespeichert",
|
||
"clientIdLabel": "Client ID",
|
||
"clientIdPlaceholder": "Geben Sie Ihre NinjaOne Client ID ein",
|
||
"clientSecretLabel": "Client Secret",
|
||
"clientSecretPlaceholder": "Geben Sie Ihr NinjaOne Client Secret ein",
|
||
"clientSecretUpdatePlaceholder": "Neues Secret eingeben, um zu aktualisieren",
|
||
"secretMaskedLabel": "Secret",
|
||
"saving": "Wird gespeichert...",
|
||
"save": "Anmeldedaten speichern"
|
||
},
|
||
"region": {
|
||
"hint": "Wählen Sie Ihre NinjaOne-Region und klicken Sie dann auf „Mit NinjaOne verbinden“, um den Zugriff zu autorisieren.",
|
||
"label": "Region:"
|
||
},
|
||
"actions": {
|
||
"refreshing": "Wird aktualisiert...",
|
||
"refreshStatus": "Status aktualisieren",
|
||
"syncing": "Wird synchronisiert...",
|
||
"syncOrganizations": "Organisationen synchronisieren",
|
||
"syncingDevices": "Geräte werden synchronisiert...",
|
||
"syncDevices": "Geräte synchronisieren",
|
||
"disconnecting": "Wird getrennt...",
|
||
"disconnect": "Trennen",
|
||
"connect": "Mit NinjaOne verbinden"
|
||
},
|
||
"disconnectModal": {
|
||
"title": "NinjaOne trennen",
|
||
"description": "Sind Sie sicher, dass Sie NinjaOne trennen möchten? Dadurch werden die Gerätesynchronisation und Warnungsbenachrichtigungen gestoppt und Ihre gespeicherten API-Anmeldedaten entfernt. Organisationszuordnungen bleiben erhalten.",
|
||
"cancel": "Abbrechen",
|
||
"confirm": "Trennen"
|
||
},
|
||
"toasts": {
|
||
"connectSuccess": "Erfolgreich mit NinjaOne verbunden.",
|
||
"connectFailed": "NinjaOne-Verbindung fehlgeschlagen.",
|
||
"connectFailedWithDetail": "NinjaOne-Verbindung fehlgeschlagen: {{detail}}",
|
||
"disconnectSuccess": "NinjaOne-Verbindung erfolgreich getrennt.",
|
||
"credentialsSaved": "NinjaOne-API-Anmeldedaten erfolgreich gespeichert.",
|
||
"orgSyncSuccess": "Organisationssynchronisation abgeschlossen. Verarbeitet: {{processed}}, Erstellt: {{created}}, Aktualisiert: {{updated}}",
|
||
"deviceSyncSuccess": "Gerätesynchronisation abgeschlossen. Verarbeitet: {{processed}}, Erstellt: {{created}}, Aktualisiert: {{updated}}"
|
||
},
|
||
"errors": {
|
||
"loadStatus": "NinjaOne-Verbindungsstatus konnte nicht geladen werden.",
|
||
"saveCredentials": "Anmeldedaten konnten nicht gespeichert werden.",
|
||
"connect": "NinjaOne-Verbindung konnte nicht initiiert werden.",
|
||
"disconnect": "NinjaOne konnte nicht getrennt werden.",
|
||
"disconnectUnexpected": "Beim Trennen ist ein unerwarteter Fehler aufgetreten.",
|
||
"orgSyncFailed": "Organisationssynchronisation fehlgeschlagen.",
|
||
"deviceSyncFailed": "Gerätesynchronisation fehlgeschlagen."
|
||
},
|
||
"compliance": {
|
||
"actions": {
|
||
"retry": "Erneut versuchen",
|
||
"syncing": "Wird synchronisiert...",
|
||
"syncPatches": "Patches synchronisieren",
|
||
"syncSoftware": "Software synchronisieren"
|
||
},
|
||
"description": "Übersicht über den Gerätezustand von RMM-verwalteten Geräten",
|
||
"loading": "Compliance-Daten werden geladen...",
|
||
"metrics": {
|
||
"devicesOffline": "Offline-Geräte",
|
||
"devicesOnline": "Online-Geräte",
|
||
"devicesWithAlerts": "Geräte mit Warnungen",
|
||
"patchesFailed": "Fehlgeschlagene Patches",
|
||
"patchesPending": "Ausstehende Patches"
|
||
},
|
||
"noData": "Keine Compliance-Daten verfügbar",
|
||
"summaryError": "Compliance-Zusammenfassung konnte nicht geladen werden",
|
||
"title": "Flotten-Compliance"
|
||
}
|
||
},
|
||
"setup": {
|
||
"activeConfiguration": "Aktive Konfiguration",
|
||
"comingSoon": "RMM-Integration demnächst verfügbar",
|
||
"configure": "Integration konfigurieren",
|
||
"selected": "{{title}} ausgewählt",
|
||
"title": "RMM-Integrationen",
|
||
"backToList": "Alle RMM-Integrationen",
|
||
"loadingProvider": "{{title}}-Integrationseinstellungen werden geladen...",
|
||
"status": {
|
||
"connected": "Verbunden",
|
||
"connectedOneDevice": "Verbunden · 1 Gerät",
|
||
"connectedWithDevices": "Verbunden · {{count}} Geräte",
|
||
"notConnected": "Nicht verbunden",
|
||
"syncError": "Synchronisierungsfehler"
|
||
}
|
||
},
|
||
"tactical": {
|
||
"actions": {
|
||
"disconnect": "Trennen",
|
||
"disconnecting": "Wird getrennt...",
|
||
"ingestSoftware": "Software erfassen",
|
||
"ingesting": "Wird erfasst...",
|
||
"refresh": "Aktualisieren",
|
||
"save": "Speichern",
|
||
"saving": "Speichern...",
|
||
"syncAlerts": "Alarme synchronisieren",
|
||
"syncClients": "Kunden synchronisieren",
|
||
"syncDevices": "Geräte synchronisieren",
|
||
"syncing": "Wird synchronisiert...",
|
||
"testConnection": "Verbindung testen",
|
||
"testing": "Wird getestet..."
|
||
},
|
||
"auth": {
|
||
"apiKey": "API-Schlüssel",
|
||
"enterApiKey": "API-Schlüssel eingeben",
|
||
"enterPassword": "Passwort eingeben",
|
||
"enterUsername": "Benutzername eingeben",
|
||
"knox": "Knox",
|
||
"knoxOption": "Benutzername/Passwort (Knox-Token)",
|
||
"knoxTokenSaved": "Knox-Token gespeichert: {{value}}",
|
||
"mode": "Authentifizierung",
|
||
"password": "Passwort",
|
||
"saved": "Gespeichert: {{value}}",
|
||
"savedEnterToUpdate": "Gespeichert (zum Aktualisieren eingeben)",
|
||
"totp": "TOTP-Code",
|
||
"username": "Benutzername"
|
||
},
|
||
"autoSync": "Automatische Synchronisation",
|
||
"client": {
|
||
"loading": "Kunden werden geladen…",
|
||
"select": "Kunde auswählen"
|
||
},
|
||
"counts": {
|
||
"activeAlerts": "Aktive Alarme",
|
||
"lastSync": "Letzte Synchronisation",
|
||
"mappedOrgs": "Zugeordnete Organisationen",
|
||
"never": "Nie",
|
||
"syncedDevices": "Synchronisierte Geräte"
|
||
},
|
||
"description": "Verbinden Sie Tactical RMM, um Assets zu synchronisieren und Alarme zu erfassen.",
|
||
"errors": {
|
||
"backfillAlerts": "Alarm-Backfill fehlgeschlagen",
|
||
"connectionTest": "Verbindungstest fehlgeschlagen",
|
||
"disconnect": "Trennen fehlgeschlagen",
|
||
"ingestSoftware": "Software-Erfassung fehlgeschlagen",
|
||
"loadOrgMappings": "Organisationszuordnungen konnten nicht geladen werden",
|
||
"loadSettings": "Tactical-RMM-Einstellungen konnten nicht geladen werden",
|
||
"saveConfig": "Tactical-RMM-Konfiguration konnte nicht gespeichert werden",
|
||
"someAlertsFailed": "Einige Alarme konnten nicht aktualisiert werden: {{errors}}",
|
||
"someDevicesFailed": "Einige Geräte konnten nicht synchronisiert werden: {{errors}}",
|
||
"someOrgsFailed": "Einige Organisationen konnten nicht synchronisiert werden: {{errors}}",
|
||
"someSoftwareFailed": "Einige Software-Einträge konnten nicht erfasst werden: {{errors}}",
|
||
"syncDevices": "Gerätesynchronisation fehlgeschlagen",
|
||
"syncOrgs": "Organisationssynchronisation fehlgeschlagen",
|
||
"totpRequired": "TOTP ist erforderlich. Geben Sie Ihren aktuellen Code ein und testen Sie erneut.",
|
||
"updateMapping": "Zuordnung konnte nicht aktualisiert werden"
|
||
},
|
||
"fields": {
|
||
"instanceUrl": "Instanz-URL",
|
||
"instanceUrlHelp": "Verwenden Sie den Tactical-API-Host — die Subdomain api., z. B. https://api.example.com. Nicht die Dashboard-URL (rmm.) und kein abschließendes /api.",
|
||
"betaApiNote": "Erfordert, dass die Beta-API von Tactical auf dem Server aktiviert ist: Setzen Sie BETA_API_ENABLED = True in Tactical und starten Sie es neu. Ohne die Beta-API schlagen Verbindungstest und Synchronisierung fehl."
|
||
},
|
||
"lastError": "Letzter Fehler: {{error}}",
|
||
"loadingSettings": "Tactical-RMM-Einstellungen werden geladen...",
|
||
"sections": {
|
||
"alerts": "Alarme",
|
||
"alertsDescription": "Optional: historische oder aktive Alarme aus Tactical in Alga nachladen.",
|
||
"devices": "Geräte",
|
||
"devicesDescription": "Tactical-Agenten in Alga-Assets für zugeordnete Organisationen synchronisieren.",
|
||
"orgMapping": "Organisationszuordnung",
|
||
"orgMappingDescription": "Weisen Sie jedem Tactical-Kunden einen Alga-Kunden zu und steuern Sie die automatische Synchronisation pro Organisation.",
|
||
"orgMappingEmpty": "Keine Organisationen gefunden. Führen Sie zunächst „Kunden synchronisieren“ aus.",
|
||
"organizations": "Organisationen",
|
||
"organizationsDescription": "Tactical-Kunden in Alga-Organisationszuordnungen synchronisieren und anschließend Alga-Kunden zuordnen.",
|
||
"softwareInventory": "Software-Inventar",
|
||
"softwareInventoryDescription": "Optional: zwischengespeichertes Software-Inventar über Tactical /api/software/ erfassen (keine Aktualisierungsaufrufe pro Agent).",
|
||
"webhooks": "Webhooks (Alarme)",
|
||
"webhooksDescription": "Konfigurieren Sie einen Webhook für Tactical-Alarmaktionen mit dem gemeinsamen Secret-Header unten."
|
||
},
|
||
"status": {
|
||
"authPrefix": "Authentifizierung:",
|
||
"connected": "Verbunden",
|
||
"disconnected": "Getrennt",
|
||
"instanceUrlNotSet": "Instanz-URL nicht festgelegt"
|
||
},
|
||
"statusLine": {
|
||
"configured": "Status: Konfiguriert",
|
||
"notConfigured": "Status: Nicht konfiguriert"
|
||
},
|
||
"success": {
|
||
"alertBackfillCompleted": "Alarm-Backfill abgeschlossen. Verarbeitet: {{processed}}, Erstellt: {{created}}, Aktualisiert: {{updated}}, Fehlgeschlagen: {{failed}}",
|
||
"connection": "Verbindung erfolgreich.",
|
||
"deviceSyncCompleted": "Gerätesynchronisation abgeschlossen. Verarbeitet: {{processed}}, Erstellt: {{created}}, Aktualisiert: {{updated}}, Gelöscht: {{deleted}}, Fehlgeschlagen: {{failed}}",
|
||
"disconnected": "Getrennt.",
|
||
"orgSyncCompleted": "Organisationssynchronisation abgeschlossen. Verarbeitet: {{processed}}, Erstellt: {{created}}, Aktualisiert: {{updated}}, Fehlgeschlagen: {{failed}}",
|
||
"saved": "Tactical-RMM-Konfiguration gespeichert.",
|
||
"softwareIngestionCompleted": "Software-Erfassung abgeschlossen. Verarbeitet: {{processed}}, Installiert/Aktualisiert: {{created}}, Assets aktualisiert: {{updated}}, Fehlgeschlagen: {{failed}}"
|
||
},
|
||
"tacticalIdLabel": "Tactical-ID: {{id}}",
|
||
"title": "Tactical RMM",
|
||
"toasts": {
|
||
"alertsSyncedDescription": "Tactical-Alarme wurden nachgeladen.",
|
||
"alertsSyncedTitle": "Alarme synchronisiert",
|
||
"backfillFailedTitle": "Backfill fehlgeschlagen",
|
||
"connectedDescription": "Tactical-RMM-Verbindung verifiziert.",
|
||
"connectedTitle": "Verbunden",
|
||
"connectionFailedTitle": "Verbindung fehlgeschlagen",
|
||
"devicesSyncedDescription": "Tactical-Agenten wurden in Assets synchronisiert.",
|
||
"devicesSyncedTitle": "Geräte synchronisiert",
|
||
"disconnectFailedTitle": "Trennen fehlgeschlagen",
|
||
"disconnectedDescription": "Tactical-RMM-Anmeldedaten wurden gelöscht.",
|
||
"disconnectedTitle": "Getrennt",
|
||
"ingestionFailedTitle": "Erfassung fehlgeschlagen",
|
||
"orgsSyncedDescription": "Tactical-Kunden wurden in Organisationszuordnungen synchronisiert.",
|
||
"orgsSyncedTitle": "Organisationen synchronisiert",
|
||
"saveFailedTitle": "Speichern fehlgeschlagen",
|
||
"savedDescription": "Tactical-RMM-Konfiguration aktualisiert.",
|
||
"savedTitle": "Gespeichert",
|
||
"softwareIngestedDescription": "Zwischengespeichertes Tactical-Software-Inventar wurde erfasst.",
|
||
"softwareIngestedTitle": "Software erfasst",
|
||
"syncFailedTitle": "Synchronisation fehlgeschlagen",
|
||
"unknownError": "Unbekannter Fehler",
|
||
"updateFailedTitle": "Aktualisierung fehlgeschlagen"
|
||
},
|
||
"webhook": {
|
||
"copiedTitle": "Kopiert",
|
||
"copy": "Kopieren",
|
||
"headerName": "Header-Name",
|
||
"payloadTemplate": "Payload-Vorlage",
|
||
"secret": "Header-Secret",
|
||
"secretCopied": "Webhook-Secret in die Zwischenablage kopiert.",
|
||
"unavailable": "Webhook-Informationen nicht verfügbar. (Benötigt Leseberechtigung für Einstellungen.)",
|
||
"url": "Webhook-URL",
|
||
"urlCopied": "Webhook-URL in die Zwischenablage kopiert."
|
||
}
|
||
},
|
||
"tanium": {
|
||
"loading": "Tanium-Integrationseinstellungen werden geladen...",
|
||
"actions": {
|
||
"discoverScopes": "Scopes erkennen",
|
||
"disconnect": "Trennen",
|
||
"runInventorySync": "Inventarsynchronisation ausführen",
|
||
"saveConfiguration": "Konfiguration speichern",
|
||
"testConnection": "Verbindung testen"
|
||
},
|
||
"connection": {
|
||
"connectedAt": "Verbunden am: {{time}}",
|
||
"description": "Konfigurieren Sie Tanium-Gateway-Anmeldedaten und verifizieren Sie tenant-bezogenen Zugriff.",
|
||
"never": "Nie",
|
||
"syncLabel": "Sync: {{status}}",
|
||
"syncLabelWithError": "Sync: {{status}} ({{error}})",
|
||
"title": "Tanium-Verbindung"
|
||
},
|
||
"errors": {
|
||
"loadMappings": "Tanium-Zuordnungen konnten nicht geladen werden.",
|
||
"loadSettings": "Tanium-Einstellungen konnten nicht geladen werden.",
|
||
"loadState": "Tanium-Integrationsstatus konnte nicht geladen werden.",
|
||
"saveConfiguration": "Tanium-Konfiguration konnte nicht gespeichert werden.",
|
||
"testConnectionFailed": "Tanium-Verbindungstest fehlgeschlagen.",
|
||
"disconnectFailed": "Tanium-Integration konnte nicht getrennt werden.",
|
||
"scopeDiscoveryFailed": "Scope-Discovery fehlgeschlagen.",
|
||
"inventorySyncFailed": "Inventarsynchronisation fehlgeschlagen.",
|
||
"updateMappingFailed": "Zuordnung konnte nicht aktualisiert werden."
|
||
},
|
||
"fields": {
|
||
"apiToken": "API-Token {{state}}",
|
||
"apiTokenPlaceholderExisting": "Leer lassen, um das bestehende Token beizubehalten",
|
||
"apiTokenPlaceholderNew": "Tanium-API-Token einfügen",
|
||
"apiTokenStateRequired": "(erforderlich)",
|
||
"apiTokenStateSaved": "(gespeichert)",
|
||
"assetApiUrl": "Asset-API-URL (optional)",
|
||
"assetApiUrlPlaceholder": "https://example.cloud.tanium.com/plugin/products/asset",
|
||
"assetFallbackLabel": "Asset-API-Fallback für abgelaufene Endpunkt-Abdeckung aktivieren",
|
||
"gatewayUrl": "Gateway-URL",
|
||
"gatewayUrlPlaceholder": "https://example.cloud.tanium.com"
|
||
},
|
||
"mappings": {
|
||
"autoSync": "Automatische Synchronisation",
|
||
"autoSyncDisabled": "Deaktiviert",
|
||
"autoSyncEnabled": "Aktiviert",
|
||
"externalScope": "Externer Scope",
|
||
"loading": "Zuordnungen werden geladen...",
|
||
"mappedClient": "Zugeordneter Kunde",
|
||
"noScopes": "Noch keine Tanium-Scopes erkannt.",
|
||
"scopeIdLabel": "ID: {{id}}",
|
||
"unmapped": "Nicht zugeordnet"
|
||
},
|
||
"status": {
|
||
"connected": "Verbunden",
|
||
"disconnected": "Getrennt",
|
||
"label": "Status: "
|
||
},
|
||
"success": {
|
||
"configurationSaved": "Tanium-Konfiguration gespeichert.",
|
||
"connectionTestSucceeded": "Tanium-Verbindungstest erfolgreich.",
|
||
"disconnected": "Tanium-Integration getrennt.",
|
||
"inventorySyncCompleted": "Inventarsynchronisation abgeschlossen. Verarbeitet: {{processed}}, Erstellt: {{created}}, Aktualisiert: {{updated}}",
|
||
"scopeDiscoveryCompleted": "Scope-Discovery abgeschlossen. Verarbeitet: {{processed}}, Erstellt: {{created}}, Aktualisiert: {{updated}}"
|
||
},
|
||
"sync": {
|
||
"description": "Erkennen Sie Scopes aus Tanium-Computergruppen, ordnen Sie sie Kunden zu und führen Sie dann die Inventarsynchronisation aus.",
|
||
"title": "Tanium-Synchronisation"
|
||
}
|
||
},
|
||
"levelio": {
|
||
"actions": {
|
||
"backfillAlerts": "Warnungen nacherfassen",
|
||
"disconnect": "Trennen",
|
||
"discoverGroups": "Gruppen ermitteln",
|
||
"runDeviceSync": "Gerätesynchronisierung ausführen",
|
||
"saveConfiguration": "Konfiguration speichern",
|
||
"testConnection": "Verbindung testen"
|
||
},
|
||
"connection": {
|
||
"connectedAt": "Verbunden: {{time}}",
|
||
"description": "Stellen Sie mit einem API-Schlüssel eine Verbindung zu Level (level.io) her. Schlüssel werden in Level unter Settings > API erstellt.",
|
||
"never": "nie",
|
||
"syncLabel": "Synchronisierung: {{status}}",
|
||
"syncLabelWithError": "Synchronisierung: {{status}} ({{error}})",
|
||
"title": "Level-Verbindung"
|
||
},
|
||
"errors": {
|
||
"alertBackfillFailed": "Nacherfassung der Warnungen fehlgeschlagen",
|
||
"deviceSyncFailed": "Gerätesynchronisierung fehlgeschlagen",
|
||
"disconnectFailed": "Level-Integration konnte nicht getrennt werden",
|
||
"groupSyncFailed": "Gruppenermittlung fehlgeschlagen",
|
||
"loadMappings": "Level-Gruppenzuordnungen konnten nicht geladen werden",
|
||
"loadSettings": "Level-Einstellungen konnten nicht geladen werden",
|
||
"loadState": "Status der Level-Integration konnte nicht geladen werden",
|
||
"loadSummary": "Level-Verbindungsübersicht konnte nicht geladen werden",
|
||
"loadWebhook": "Level-Webhook-Details konnten nicht geladen werden",
|
||
"saveConfiguration": "Level-Konfiguration konnte nicht gespeichert werden",
|
||
"testConnectionFailed": "Verbindungstest fehlgeschlagen",
|
||
"updateMappingFailed": "Zuordnung konnte nicht aktualisiert werden"
|
||
},
|
||
"fields": {
|
||
"apiKey": "API-Schlüssel ({{state}})",
|
||
"apiKeyPlaceholderExisting": "Geben Sie einen neuen Schlüssel ein, um den gespeicherten zu ersetzen",
|
||
"apiKeyPlaceholderNew": "Fügen Sie Ihren Level-API-Schlüssel ein",
|
||
"apiKeyStateRequired": "erforderlich",
|
||
"apiKeyStateSaved": "gespeichert"
|
||
},
|
||
"mappings": {
|
||
"autoSync": "Automatische Synchronisierung",
|
||
"autoSyncDisabled": "Deaktiviert",
|
||
"autoSyncEnabled": "Aktiviert",
|
||
"group": "Level-Gruppe",
|
||
"groupIdLabel": "ID: {{id}}",
|
||
"loading": "Wird geladen…",
|
||
"mappedClient": "Zugeordneter Kunde",
|
||
"noGroups": "Noch keine Gruppen ermittelt. Führen Sie zuerst \"Gruppen ermitteln\" aus.",
|
||
"unmapped": "Nicht zugeordnet"
|
||
},
|
||
"status": {
|
||
"connected": "Verbunden",
|
||
"disconnected": "Nicht verbunden",
|
||
"label": "Status: "
|
||
},
|
||
"success": {
|
||
"alertBackfillCompleted": "Nacherfassung der Warnungen abgeschlossen: {{processed}} Warnungen verarbeitet",
|
||
"configurationSaved": "Level-Konfiguration gespeichert",
|
||
"connectionTestSucceeded": "Verbindung zu Level erfolgreich",
|
||
"deviceSyncCompleted": "Gerätesynchronisierung abgeschlossen: {{processed}} verarbeitet, {{created}} erstellt, {{updated}} aktualisiert",
|
||
"disconnected": "Level-Integration getrennt",
|
||
"groupSyncCompleted": "Gruppenermittlung abgeschlossen: {{processed}} verarbeitet, {{created}} erstellt, {{updated}} aktualisiert"
|
||
},
|
||
"sync": {
|
||
"description": "Ermitteln Sie Level-Gruppen, ordnen Sie sie Kunden zu und synchronisieren Sie Geräte. Geräte in nicht zugeordneten Gruppen werden übersprungen; Untergruppen erben die nächstgelegene zugeordnete übergeordnete Gruppe.",
|
||
"summary": "{{mappedGroups}} zugeordnete Gruppen · {{devices}} Geräte · {{activeAlerts}} aktive Warnungen",
|
||
"title": "Synchronisierung & Gruppenzuordnungen"
|
||
},
|
||
"webhook": {
|
||
"copied": "Kopiert",
|
||
"copy": "Kopieren",
|
||
"description": "Level kann Webhooks nicht über seine API registrieren. Erstellen Sie in Level eine Automatisierung mit einer HTTP-POST-Aktion und verwenden Sie die folgende URL, den Header und die Payload, um Warnungen in Echtzeit an Alga zu senden.",
|
||
"header": "Header: {{name}}",
|
||
"hideSecret": "Secret ausblenden",
|
||
"loading": "Webhook-Details werden geladen, nachdem die Integration konfiguriert wurde.",
|
||
"payload": "Payload-Vorlage",
|
||
"showSecret": "Secret anzeigen",
|
||
"title": "Warnungs-Webhook",
|
||
"url": "Webhook-URL"
|
||
}
|
||
}
|
||
},
|
||
"sso": {
|
||
"msp": {
|
||
"actions": {
|
||
"add": "Hinzufügen",
|
||
"refresh": "Aktualisieren",
|
||
"request": "Anfordern",
|
||
"resetChallenge": "Challenge zurücksetzen",
|
||
"revoke": "Widerrufen",
|
||
"saveDomains": "Domänen speichern",
|
||
"saving": "Speichern…",
|
||
"verify": "Verifizieren"
|
||
},
|
||
"addDomainLabel": "Anmeldedomäne hinzufügen",
|
||
"advisoryNotice": "Hinweismodus: Die Domänenregistrierung unterstützt die MSP-SSO-Erkennung, erfordert in der Community Edition jedoch keine Besitznachweise.",
|
||
"claimStatus": {
|
||
"advisory": "Hinweis",
|
||
"pending": "Ausstehend",
|
||
"rejected": "Abgelehnt",
|
||
"revoked": "Widerrufen",
|
||
"verified": "Verifiziert",
|
||
"verifiedLegacy": "Verifiziert (Legacy)"
|
||
},
|
||
"descriptionCe": "Registrieren Sie Hinweisdomänen für die MSP-Login-SSO-Erkennung. Besitznachweise werden in der Community Edition nicht erzwungen, und nicht verwaltete Domänen greifen auf Nine-Minds-App-Provider zurück.",
|
||
"descriptionEe": "Verwalten Sie den Lebenszyklus von Domänenansprüchen für die Provider-Erkennung beim MSP-Login-SSO. Nicht beanspruchte oder nicht zulässige Domänen greifen auf Nine-Minds-App-Provider zurück.",
|
||
"dnsHost": "Host:",
|
||
"dnsInstructions": "DNS-TXT-Eintrag hinzufügen und anschließend auf „Verifizieren“ klicken:",
|
||
"dnsValue": "Wert:",
|
||
"emptyClaims": "Es sind noch keine Domänenansprüche konfiguriert.",
|
||
"emptyDomains": "Keine Domänen konfiguriert. Unbekannte Domänen verwenden den App-Provider-Fallback.",
|
||
"errors": {
|
||
"conflicts": "Konflikte: {{conflicts}}.",
|
||
"loadClaims": "MSP-SSO-Domänenansprüche konnten nicht geladen werden.",
|
||
"loadDomains": "MSP-SSO-Anmeldedomänen konnten nicht geladen werden.",
|
||
"refreshChallenge": "Challenge konnte nicht aktualisiert werden.",
|
||
"requestClaim": "Domänenanspruch konnte nicht angefordert werden.",
|
||
"revokeClaim": "Domänenanspruch konnte nicht widerrufen werden.",
|
||
"saveDomains": "MSP-SSO-Anmeldedomänen konnten nicht gespeichert werden.",
|
||
"verifyClaim": "Domänenanspruch konnte nicht verifiziert werden."
|
||
},
|
||
"fallbackInfo": "Domänen ohne zulässigen Tenant-Anspruch nutzen die Nine-Minds-SSO-Provider-Konfiguration auf App-Ebene.",
|
||
"loading": "Wird geladen…",
|
||
"removeDomainAria": "Domäne {{number}} entfernen",
|
||
"requestClaim": "Anspruch anfordern",
|
||
"requestClaimLabel": "Domänenanspruch anfordern",
|
||
"title": "MSP-SSO-Anmeldedomänen",
|
||
"toasts": {
|
||
"claimRequestedDescription": "Ausstehender Domänenanspruch erstellt und Verifizierungs-Challenge generiert.",
|
||
"claimRequestedTitle": "Domänenanspruch angefordert",
|
||
"claimUnchangedDescription": "Bestehender ausstehender Anspruch und Challenge sind bereits aktiv.",
|
||
"claimUnchangedTitle": "Domänenanspruch unverändert",
|
||
"refreshFailedTitle": "Challenge konnte nicht aktualisiert werden",
|
||
"refreshedDescription": "Für diesen Anspruch ist eine neue Verifizierungs-Challenge aktiv.",
|
||
"refreshedTitle": "Challenge aktualisiert",
|
||
"requestClaimFailedTitle": "Domänenanspruch konnte nicht angefordert werden",
|
||
"revokeFailedTitle": "Anspruch konnte nicht widerrufen werden",
|
||
"revokedDescription": "Die Tenant-Übernahme für diese Domäne ist deaktiviert.",
|
||
"revokedTitle": "Domänenanspruch widerrufen",
|
||
"saveDomainsFailedTitle": "MSP-SSO-Anmeldedomänen konnten nicht gespeichert werden",
|
||
"savedDescription": "Die Einstellungen für die domänenbasierte SSO-Erkennung wurden aktualisiert.",
|
||
"savedTitle": "MSP-SSO-Anmeldedomänen gespeichert",
|
||
"verifiedDescription": "Die Domänenübernahme ist jetzt für tenant-bezogenes Provider-Routing zulässig.",
|
||
"verifiedTitle": "Domänenanspruch verifiziert",
|
||
"verifyFailedTitle": "Domänenverifizierung fehlgeschlagen"
|
||
}
|
||
}
|
||
},
|
||
"teams": {
|
||
"settings": {
|
||
"actions": {
|
||
"activate": "Teams aktivieren",
|
||
"addNote": {
|
||
"description": "Schnellaktionen für interne Notizen zulassen.",
|
||
"label": "Notiz hinzufügen"
|
||
},
|
||
"approvalResponse": {
|
||
"description": "Schnellaktionen zum Genehmigen und Ablehnen zulassen.",
|
||
"label": "Genehmigungsantwort"
|
||
},
|
||
"assignTicket": {
|
||
"description": "Schnellaktionen zur Ticketzuweisung zulassen.",
|
||
"label": "Ticket zuweisen"
|
||
},
|
||
"deactivate": "Deaktivieren",
|
||
"logTime": {
|
||
"description": "Schnellaktionen für Zeiterfassung zulassen.",
|
||
"label": "Zeit erfassen"
|
||
},
|
||
"reload": "Neu laden",
|
||
"replyToContact": {
|
||
"description": "Für Kunden sichtbare Antwort-Schnellaktionen zulassen.",
|
||
"label": "Auf Kontakt antworten"
|
||
},
|
||
"saveChanges": "Änderungen speichern",
|
||
"saveDraft": "Entwurf speichern",
|
||
"saving": "Speichern...",
|
||
"teamsActive": "Teams aktiv"
|
||
},
|
||
"capabilities": {
|
||
"activityNotifications": {
|
||
"description": "Persönliche Teams-Aktivitäts-Benachrichtigungen zustellen.",
|
||
"label": "Aktivitätsbenachrichtigungen"
|
||
},
|
||
"groupChatBot": {
|
||
"description": "Dem Bot erlauben, in Teams-Gruppenchats zu antworten. Bot-Antworten (einschließlich Ticketdetails) sind für alle Mitglieder des Chats sichtbar.",
|
||
"label": "Gruppenchat-Bot"
|
||
},
|
||
"messageExtension": {
|
||
"description": "Nachschlagefunktionen und nachrichtengesteuerte PSA-Aktionen aktivieren.",
|
||
"label": "Message Extension"
|
||
},
|
||
"personalBot": {
|
||
"description": "Bot-Befehle im persönlichen Bereich für Techniker aktivieren.",
|
||
"label": "Persönlicher Bot"
|
||
},
|
||
"personalTab": {
|
||
"description": "Den PSA-Einstiegspunkt als persönlichen Tab starten.",
|
||
"label": "Persönlicher Tab"
|
||
}
|
||
},
|
||
"checklist": {
|
||
"installState": {
|
||
"active": "Teams ist für diesen Tenant aktiv.",
|
||
"error": "Die Teams-Einrichtung weist einen Fehler auf, der behoben werden muss.",
|
||
"label": "Teams-Installationsstatus",
|
||
"notConfigured": "Speichern Sie einen Entwurf oder aktivieren Sie Teams, sobald die Einrichtung bereit ist.",
|
||
"pending": "Entwurf der Einrichtung ist gespeichert und bereit für Installation oder Einwilligung."
|
||
},
|
||
"needsAction": "Aktion erforderlich",
|
||
"profileReady": {
|
||
"completed": "Das ausgewählte Profil verfügt über Client ID, Tenant ID und gespeichertes Secret-Material.",
|
||
"label": "Profil bereit für Teams-Installation",
|
||
"pending": "Es ist noch kein ausgewähltes Teams-Profil bereit."
|
||
},
|
||
"profileSelected": {
|
||
"completed": "{{name}} ist für Teams gebunden.",
|
||
"label": "Microsoft-Profil ausgewählt",
|
||
"pending": "Wählen Sie ein zulässiges Microsoft-Profil aus, bevor Sie Teams speichern oder aktivieren."
|
||
},
|
||
"ready": "Bereit"
|
||
},
|
||
"description": "Binden Sie Teams an ein Microsoft-Profil, aktivieren Sie Funktionen und generieren Sie das Tenant-Paket.",
|
||
"errors": {
|
||
"downloadPackage": "Teams-App-Paket konnte nicht heruntergeladen werden",
|
||
"generatePackage": "Teams-App-Paket konnte nicht generiert werden",
|
||
"loadGuidance": "Anleitung zur Teams-Einrichtung konnte nicht geladen werden",
|
||
"saveSettings": "Teams-Einstellungen konnten nicht gespeichert werden"
|
||
},
|
||
"guidance": {
|
||
"applicationIdUri": "Application ID URI",
|
||
"messageExtension": "Message Extension",
|
||
"personalBot": "Persönlicher Bot",
|
||
"personalTab": "Persönlicher Tab",
|
||
"redirectUris": "Redirect URIs",
|
||
"requiredScopes": "Erforderliche Scopes",
|
||
"teamsAppIdUri": "Teams App ID URI",
|
||
"unavailable": "Nicht verfügbar"
|
||
},
|
||
"installStatus": {
|
||
"active": "Aktiv",
|
||
"error": "Fehler",
|
||
"installPending": "Installation ausstehend",
|
||
"notConfigured": "Nicht konfiguriert"
|
||
},
|
||
"noEligibleProfiles": "Es sind keine Microsoft-Profile für Teams bereit. Schließen Sie zunächst die Microsoft-Einrichtung ab.",
|
||
"notifications": {
|
||
"approvalRequest": {
|
||
"description": "Genehmigungsverantwortliche über ausstehende Entscheidungen benachrichtigen.",
|
||
"label": "Genehmigungsanfragen"
|
||
},
|
||
"assignment": {
|
||
"description": "Techniker benachrichtigen, wenn ihnen Arbeit zugewiesen wird.",
|
||
"label": "Zuweisungsereignisse"
|
||
},
|
||
"customerReply": {
|
||
"description": "Techniker benachrichtigen, wenn Kunden antworten.",
|
||
"label": "Kundenantworten"
|
||
},
|
||
"escalation": {
|
||
"description": "Verantwortliche benachrichtigen, wenn Arbeit eskaliert wird.",
|
||
"label": "Eskalationen"
|
||
},
|
||
"slaRisk": {
|
||
"description": "Techniker benachrichtigen, wenn SLA-Risikoschwellen erreicht werden.",
|
||
"label": "SLA-Risiko"
|
||
}
|
||
},
|
||
"package": {
|
||
"appId": "App ID",
|
||
"appIds": "App IDs",
|
||
"botId": "Bot ID",
|
||
"deepLinks": "Deep Links",
|
||
"description": "Generieren Sie das App-Manifest und die Installationslinks für das ausgewählte Microsoft-Profil.",
|
||
"downloadManifest": "Manifest-JSON herunterladen",
|
||
"downloadZip": "App-Paket herunterladen (.zip)",
|
||
"downloading": "Wird heruntergeladen...",
|
||
"fileName": "Dateiname",
|
||
"generate": "Paket generieren",
|
||
"generating": "Wird generiert...",
|
||
"manifestVersion": "Manifest-Version",
|
||
"myWork": "Meine Arbeit",
|
||
"openBaseUrl": "PSA-Basis-URL öffnen",
|
||
"openDeeplink": "Teams Deep Link öffnen",
|
||
"packageVersion": "Paketversion",
|
||
"projectTaskTemplate": "Projektaufgaben-Vorlage",
|
||
"section": "Paket",
|
||
"ticketTemplate": "Ticket-Vorlage",
|
||
"title": "Teams-Paket",
|
||
"validDomains": "Gültige Domains",
|
||
"webResource": "Web-Anwendungsressource"
|
||
},
|
||
"profileLabel": "Microsoft-Profil",
|
||
"profileSummary": {
|
||
"needsRepair": "Ausgewähltes Profil muss repariert werden",
|
||
"none": "Kein Profil ausgewählt"
|
||
},
|
||
"section": {
|
||
"allowedActions": "Erlaubte Aktionen",
|
||
"capabilities": "Funktionen",
|
||
"notifications": "Benachrichtigungen"
|
||
},
|
||
"selectProfile": "Profil auswählen",
|
||
"statusMessage": {
|
||
"activated": "Teams-Einrichtung aktiviert.",
|
||
"deactivated": "Teams-Einrichtung deaktiviert.",
|
||
"packageDownloaded": "Teams-App-Paket heruntergeladen.",
|
||
"packageGenerated": "Teams-App-Paket generiert.",
|
||
"saved": "Teams-Einrichtung gespeichert."
|
||
},
|
||
"title": "Microsoft Teams",
|
||
"diagnostics": {
|
||
"title": "Diagnose und Testnachricht",
|
||
"description": "Überprüfen Sie die Teams-Einrichtung und senden Sie eine proaktive Testnachricht an Ihre Teams-Bot-Unterhaltung.",
|
||
"run": "Diagnose ausführen",
|
||
"running": "Wird ausgeführt...",
|
||
"sendTest": "Testnachricht senden",
|
||
"sending": "Wird gesendet...",
|
||
"disabled": "Diagnose und Testnachrichten sind verfügbar, sobald die Teams-Integration aktiv ist.",
|
||
"completedAt": "Abgeschlossen {{time}}",
|
||
"lastSuccess": "Letzter Erfolg",
|
||
"lastFailure": "Letzter Fehler",
|
||
"noneRecorded": "Nichts aufgezeichnet",
|
||
"recommendations": "Empfehlungen",
|
||
"status": {
|
||
"pass": "Bestanden",
|
||
"warn": "Warnung",
|
||
"fail": "Fehler",
|
||
"skip": "Übersprungen"
|
||
},
|
||
"errors": {
|
||
"run": "Teams-Diagnose konnte nicht ausgeführt werden",
|
||
"testMessage": "Teams-Testnachricht konnte nicht gesendet werden"
|
||
},
|
||
"test": {
|
||
"sent": "Teams-Testnachricht gesendet.",
|
||
"failed": "Teams-Testnachricht fehlgeschlagen.",
|
||
"addonInactive": "Das Teams-Add-on ist für diesen Mandanten nicht aktiv.",
|
||
"integrationInactive": "Aktivieren Sie die Teams-Integration, bevor Sie eine Testnachricht senden.",
|
||
"capabilityDisabled": "Aktivieren Sie die Funktion für den persönlichen Bot, bevor Sie eine Testnachricht senden.",
|
||
"botNotConfigured": "Konfigurieren Sie die Teams-Bot-Anmeldedaten, bevor Sie eine Testnachricht senden.",
|
||
"missingUserLinkage": "Verknüpfen Sie Ihr Microsoft-Konto, bevor Sie eine Teams-Testnachricht senden.",
|
||
"missingConversationReference": "Öffnen Sie den Alga PSA-Bot in Teams und senden Sie ihm zuerst eine beliebige Nachricht, und versuchen Sie es dann erneut.",
|
||
"skipped": "Die Teams-Testnachricht wurde übersprungen."
|
||
},
|
||
"steps": {
|
||
"addonEntitlement": "Teams-Add-on-Berechtigung",
|
||
"integrationStatus": "Status der Teams-Integration",
|
||
"capabilities": "Teams-Funktionen",
|
||
"microsoftProfile": "Bereitschaft des Microsoft-Profils",
|
||
"recordingPermissions": "Teams-Berechtigungen für Aufzeichnung und Transkript",
|
||
"packageMetadata": "Teams-Paketmetadaten",
|
||
"botConnector": "Bot-Connector-Anmeldedaten",
|
||
"userLinkage": "Microsoft-Kontoverknüpfung des Administrators",
|
||
"conversationReference": "Teams-Unterhaltungsreferenz des Administrators",
|
||
"recentDeliveryHealth": "Aktueller Zustand der Teams-Zustellung"
|
||
},
|
||
"recommendation": {
|
||
"addon": "Aktivieren Sie das Microsoft Teams-Add-on für diesen Mandanten.",
|
||
"activate": "Aktivieren Sie die Teams-Integration in den Einstellungen.",
|
||
"capabilities": "Aktivieren Sie den persönlichen Bot und Aktivitätsbenachrichtigungen für Teams.",
|
||
"profile": "Wählen Sie ein bereites Microsoft-Profil für Teams aus.",
|
||
"activeProfile": "Wählen Sie ein aktives Microsoft-Profil für Teams aus.",
|
||
"profileCredentials": "Vervollständigen Sie die Microsoft-Profil-Anmeldedaten, bevor Sie Teams aktivieren.",
|
||
"meetingOrganizer": "Konfigurieren Sie den Standard-Organisator für Teams-Besprechungen in den Teams-Einstellungen.",
|
||
"meetingOrganizerObjectId": "Speichern Sie den Standard-Organisator für Teams-Besprechungen erneut, damit Alga PSA seine Microsoft Entra-Objekt-ID auflösen kann.",
|
||
"package": "Generieren Sie das Teams-App-Paket, bevor Sie die End-to-End-Validierung ausführen.",
|
||
"baseUrl": "Generieren Sie das Teams-Paket mit einer erreichbaren Basis-URL neu.",
|
||
"botEnv": "Konfigurieren Sie TEAMS_BOT_APP_ID, TEAMS_BOT_APP_TENANT_ID und TEAMS_BOT_APP_PASSWORD.",
|
||
"userLinkage": "Verknüpfen Sie Ihr Microsoft-Konto in Ihren Profileinstellungen.",
|
||
"conversationReference": "Öffnen Sie den Alga PSA-Bot in Teams und senden Sie ihm zuerst eine beliebige Nachricht, und versuchen Sie es dann erneut.",
|
||
"deliveryFailure": "Überprüfen Sie den letzten Fehler bei der Teams-Zustellung und versuchen Sie es nach Behebung der Ursache erneut."
|
||
}
|
||
},
|
||
"meetings": {
|
||
"title": "Onlinebesprechungen und Aufzeichnungen",
|
||
"description": "Verwenden Sie ein einziges Microsoft-Dienstkonto, um Teams-Besprechungen zu organisieren und die Aufbewahrung von Aufzeichnungen zu steuern.",
|
||
"organizer": {
|
||
"label": "Standard-UPN des Besprechungsorganisators",
|
||
"placeholder": "scheduler@acme.com",
|
||
"help": "Beim Speichern wird die für Graph-Besprechungsaufrufe verwendete Microsoft Entra-Objekt-ID aufgelöst und gespeichert.",
|
||
"resolved": "Aufgelöste Objekt-ID: {{objectId}}"
|
||
},
|
||
"downloadRecordings": {
|
||
"label": "Aufzeichnungen in den internen Speicher herunterladen",
|
||
"description": "Wenn aktiviert, werden Aufzeichnungs-Blobs zusätzlich zum authentifizierten Graph-Proxy in den Mandantenspeicher kopiert."
|
||
},
|
||
"exposeRecordingsInPortal": {
|
||
"label": "Aufzeichnungen und Transkripte im Kundenportal anzeigen",
|
||
"description": "Standardmäßig deaktiviert; MSP-Benutzer können Artefakte weiterhin über die Interaktions- und Termindetails anzeigen."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"xero": {
|
||
"csv": {
|
||
"clientSync": {
|
||
"cancel": "Abbrechen",
|
||
"createNew": "Neue Kunden erstellen",
|
||
"description": "Kunden als Xero-Contacts-CSV exportieren oder Kontakte aus Xero importieren.",
|
||
"errorRow": "Zeile {{row}}: {{name}} - {{error}}",
|
||
"errors": {
|
||
"export": "Kunden konnten nicht exportiert werden",
|
||
"import": "Kunden konnten nicht importiert werden",
|
||
"processCsv": "CSV-Datei konnte nicht verarbeitet werden"
|
||
},
|
||
"errorsTitle": "Fehler ({{count}})",
|
||
"exportButton": "Kunden als CSV exportieren",
|
||
"exportClients": "Kunden exportieren",
|
||
"exportDescription": "Exportieren Sie Ihre Alga-Kunden in eine CSV-Datei, die in Xero als Contacts importiert werden kann.",
|
||
"exportSuccess": "{{count}} Kunden nach {{filename}} exportiert",
|
||
"importCompleteDescription": "{{count}} Kontakte erfolgreich verarbeitet.",
|
||
"importCompleteTitle": "Import abgeschlossen",
|
||
"importContacts": "Kontakte importieren",
|
||
"importContactsButton": "{{count}} Kontakte importieren",
|
||
"importDescription": "Kontakte aus einem Xero-Contacts-CSV-Export importieren. Bestehende Kunden können zugeordnet und aktualisiert werden.",
|
||
"importing": "Kontakte werden importiert...",
|
||
"matchBy": {
|
||
"algaClientId": "Alga-Kunden-ID (aus Tracking-Kategorie)",
|
||
"contactName": "Kontaktname",
|
||
"emailAddress": "E-Mail-Adresse"
|
||
},
|
||
"matchByLabel": "Kontakte zuordnen nach:",
|
||
"moreErrors": "...und {{count}} weitere Fehler",
|
||
"preview": {
|
||
"columns": {
|
||
"action": "Aktion",
|
||
"contactName": "Kontaktname",
|
||
"email": "E-Mail",
|
||
"matchedClient": "Zugeordneter Kunde"
|
||
},
|
||
"moreWarnings": "...und {{count}} weitere",
|
||
"showing20of": "Zeige 20 von {{count}} Zeilen",
|
||
"toCreate": "Zu erstellen",
|
||
"toSkip": "Zu überspringen",
|
||
"toUpdate": "Zu aktualisieren",
|
||
"warnings": "Warnungen"
|
||
},
|
||
"processing": "{{filename}} wird verarbeitet...",
|
||
"result": {
|
||
"created": "Erstellt",
|
||
"mappings": "Zuordnungen",
|
||
"skipped": "Übersprungen",
|
||
"updated": "Aktualisiert"
|
||
},
|
||
"selectCsvFile": "CSV-Datei auswählen",
|
||
"startNewImport": "Neuen Import starten",
|
||
"title": "Kundensynchronisation",
|
||
"updateExisting": "Bestehende Kunden aktualisieren",
|
||
"workflow": {
|
||
"s1": "Kunden aus Alga als Xero-Contacts-CSV exportieren",
|
||
"s2": "CSV in Xero importieren (Contacts → Import)",
|
||
"s3": "Nach Änderungen in Xero Kontakte aus Xero exportieren",
|
||
"s4": "Die Xero-Kontakte-CSV zurück in Alga importieren, um Aktualisierungen zu synchronisieren"
|
||
},
|
||
"workflowTitle": "Workflow zur Kundensynchronisation"
|
||
},
|
||
"settings": {
|
||
"dateFormat": "Datumsformat",
|
||
"dateFormatHelp": "Stimmen Sie dies auf Ihre Xero-Regioneinstellungen ab.",
|
||
"dateFormatOptions": {
|
||
"dmy": "TT/MM/JJJJ (Tag/Monat/Jahr)",
|
||
"mdy": "MM/TT/JJJJ (Monat/Tag/Jahr)"
|
||
},
|
||
"defaultCurrency": "Standardwährung",
|
||
"defaultCurrencyHelp": "Leer lassen, um die Rechnungswährung zu verwenden.",
|
||
"errors": {
|
||
"load": "Einstellungen konnten nicht geladen werden",
|
||
"save": "Einstellungen konnten nicht gespeichert werden"
|
||
},
|
||
"exportSettings": {
|
||
"description": "Konfigurieren Sie, wie Rechnungen als CSV-Format für Xero exportiert werden.",
|
||
"title": "CSV-Export-Einstellungen"
|
||
},
|
||
"loading": "Xero-CSV-Einstellungen werden geladen...",
|
||
"managedPrefix": "Gehen Sie zu",
|
||
"managedSuffix": "um Rechnungen auszuwählen, Xero-CSV-Exporte zu generieren, Steuerberichte zu importieren und Batches zu verwalten.",
|
||
"mappings": {
|
||
"description": "Ordnen Sie Alga-Kunden, Dienstleistungen und Steuercodes den in Ihrer Xero-Organisation verwendeten Kennungen zu. Diese Werte werden beim Generieren des CSV-Exports verwendet.",
|
||
"title": "Xero-CSV-Zuordnungen"
|
||
},
|
||
"overview": {
|
||
"description": "Rechnungen als CSV für den manuellen Import in Xero exportieren und Steuerdaten aus Xero-Berichten importieren.",
|
||
"exportLabel": "Export",
|
||
"exportText": "CSV-Dateien generieren, die mit der Rechnungsimport-Funktion von Xero kompatibel sind",
|
||
"intro": "Diese Integration bietet eine Alternative zur OAuth-basierten Xero-Anbindung:",
|
||
"note": "Hinweis: Konfigurieren Sie die Zuordnungen unten, bevor Sie exportieren. CSV-Exporte und Steuerimporte werden über Abrechnung → Buchhaltungsexporte verwaltet.",
|
||
"taxImportLabel": "Steuerimport",
|
||
"taxImportText": "Bei Verwendung einer externen Steuerberechnung Steuerbeträge aus dem Xero Invoice Details Report importieren",
|
||
"title": "Xero-CSV-Integration"
|
||
},
|
||
"savedMessage": "Einstellungen erfolgreich gespeichert",
|
||
"selectCurrency": "Währung auswählen",
|
||
"setup": {
|
||
"acknowledge": "Ich habe die Einrichtung abgeschlossen",
|
||
"description": "Führen Sie diese Schritte in Xero aus, bevor Sie CSV-Import/Export verwenden.",
|
||
"externalInvoiceId": "Externe Rechnungs-ID",
|
||
"externalInvoiceIdHelp": "Optionen werden beim Import automatisch erstellt",
|
||
"sourceSystem": "Quellsystem",
|
||
"sourceSystemHelp": "Fügen Sie eine Option mit dem Namen hinzu",
|
||
"step1Description": "Gehen Sie in Xero zu Settings → Tracking Categories und erstellen Sie diese beiden Kategorien:",
|
||
"step1Title": "Schritt 1: Tracking-Kategorien erstellen",
|
||
"step2Description": "Stellen Sie sicher, dass Ihre Xero-Organisation die benötigten Steuersätze unter Settings → Tax Rates konfiguriert hat.",
|
||
"step2Title": "Schritt 2: Steuersätze konfigurieren",
|
||
"step3Description": "Verwenden Sie den Zuordnungsabschnitt unten, um Ihre Alga-Dienstleistungen mit Xero-Artikelcodes und Ihre Steuerregionen mit Xero-Steuersätzen zu verknüpfen.",
|
||
"step3Title": "Schritt 3: Dienstleistungen und Steuerregionen zuordnen",
|
||
"title": "Xero-Einrichtung erforderlich"
|
||
},
|
||
"useInvoiceCurrency": "Rechnungswährung verwenden",
|
||
"workflow": {
|
||
"description": "So exportieren Sie Rechnungen und importieren Steuerberechnungen.",
|
||
"export": {
|
||
"s1": "Gehen Sie zu Abrechnung → Buchhaltungsexporte",
|
||
"s2": "Wählen Sie Rechnungen aus und wählen Sie „Xero CSV“ als Adapter",
|
||
"s3": "Laden Sie die generierte CSV-Datei herunter",
|
||
"s4": "In Xero: Business → Invoices → Import",
|
||
"s5": "Laden Sie die CSV hoch und importieren Sie als Entwurfsrechnungen",
|
||
"s6": "Xero berechnet die Steuer basierend auf Ihren Steuereinstellungen"
|
||
},
|
||
"exportInvoices": "Rechnungen exportieren",
|
||
"import": {
|
||
"s1": "In Xero: Reports → All Reports → Invoice Details",
|
||
"s2": "Datumsbereich festlegen und als CSV exportieren",
|
||
"s3": "In Alga: Abrechnung → Buchhaltungsexporte → Steuer importieren",
|
||
"s4": "Die Xero-Bericht-CSV hochladen",
|
||
"s5": "Zugeordnete Rechnungen prüfen und Import bestätigen"
|
||
},
|
||
"importTax": "Steuerberechnungen importieren",
|
||
"title": "CSV-Workflow",
|
||
"trackingDescription": "Der CSV-Export enthält Tracking-Kategorie-Spalten, die jede Xero-Rechnung mit ihrer Alga-Quelle verknüpfen. Beim Import von Steuern aus Xero werden diese Tracking-Kategorien verwendet, um Rechnungen automatisch zuzuordnen – ohne manuelle Abgleichung.",
|
||
"trackingTitle": "Tracking-Kategorien zur Abgleichung"
|
||
}
|
||
}
|
||
},
|
||
"live": {
|
||
"defaultOrganisation": "Standard-Xero-Organisation"
|
||
},
|
||
"settings": {
|
||
"actions": {
|
||
"connect": "Xero verbinden",
|
||
"disconnect": "Xero trennen",
|
||
"disconnecting": "Wird getrennt…",
|
||
"reconnect": "Xero erneut verbinden",
|
||
"refresh": "Aktualisieren",
|
||
"saveCredentials": "Xero-Anmeldedaten speichern",
|
||
"saving": "Speichern…"
|
||
},
|
||
"badges": {
|
||
"connectionExpired": "Verbindung abgelaufen",
|
||
"credentialsReady": "Anmeldedaten bereit",
|
||
"credentialsRequired": "Anmeldedaten erforderlich",
|
||
"defaultConnected": "Standardorganisation verbunden",
|
||
"noOrganisation": "Keine Organisation verbunden"
|
||
},
|
||
"callback": {
|
||
"accessDenied": "Der Xero-Zugriff wurde abgelehnt, bevor die Verbindung abgeschlossen werden konnte.",
|
||
"configMissing": "Xero OAuth konnte nicht gestartet werden, da die Tenant-Client-ID und das Client Secret nicht vollständig konfiguriert waren.",
|
||
"connectionsUnmapped": "Xero hat Organisationen zurückgegeben, aber keine enthielt die zum Speichern einer Verbindung erforderlichen Kennungen.",
|
||
"generic": "Xero hat einen OAuth-Fehler zurückgegeben: {{code}}",
|
||
"invalidState": "Der Xero-OAuth-Status war ungültig oder abgelaufen. Starten Sie den Verbindungs-Flow erneut.",
|
||
"missingParams": "Dem Xero-Callback fehlten erforderliche Parameter. Starten Sie den Verbindungs-Flow erneut.",
|
||
"noConnections": "Xero hat für dieses Login keine Organisationen zurückgegeben. Überprüfen Sie Ihre Xero-App und den Organisationszugriff und versuchen Sie es erneut.",
|
||
"oauthFailed": "Der Xero-OAuth-Callback ist fehlgeschlagen. Versuchen Sie, die Verbindung erneut herzustellen. Bei weiterhin bestehendem Problem überprüfen Sie Ihre Redirect-URI und Scopes."
|
||
},
|
||
"clientIdLabel": "Xero Client ID",
|
||
"clientIdPlaceholder": "Fügen Sie Ihre tenant-eigene Xero Client ID ein",
|
||
"clientSecretLabel": "Xero Client Secret",
|
||
"clientSecretPlaceholder": "Fügen Sie Ihr tenant-eigenes Xero Client Secret ein",
|
||
"connectSuccess": "Xero erfolgreich verbunden. Die erste verbundene Organisation ist nun der Standard-Live-Xero-Kontext.",
|
||
"connection": {
|
||
"connectionId": "Verbindungs-ID: {{id}}",
|
||
"defaultOrganisation": "Standardorganisation",
|
||
"description": "Starten Sie OAuth erst, nachdem die tenant-eigene Xero-App konfiguriert ist. Beim Trennen werden gespeicherte Xero-Zugriffstoken entfernt, die tenant-eigenen App-Anmeldedaten bleiben jedoch erhalten.",
|
||
"notConnected": "Es ist noch keine Live-Xero-Organisation verbunden. Speichern Sie die Anmeldedaten und klicken Sie anschließend auf „Xero verbinden“.",
|
||
"title": "Live-Xero-Verbindung",
|
||
"unknown": "unbekannt"
|
||
},
|
||
"credentialsSaved": "Xero-Anmeldedaten gespeichert. Sie können jetzt den Live-Xero-OAuth-Flow starten.",
|
||
"csvAvailableMiddle": "in diesem Buchhaltungsbereich und verwalten Sie Exporte über",
|
||
"csvAvailablePrefix": "Wenn Sie einen manuellen Workflow bevorzugen, verwenden Sie weiterhin",
|
||
"csvAvailableTitle": "Xero CSV bleibt verfügbar",
|
||
"description": "Konfigurieren Sie tenant-eigene Xero-OAuth-Anmeldedaten, verbinden Sie Ihre Standardorganisation und halten Sie Live-Xero parallel zum manuellen Xero-CSV-Workflow verfügbar.",
|
||
"disconnectSuccess": "Die gespeicherte Xero-Verbindung wurde entfernt. Tenant-eigene Xero-App-Anmeldedaten wurden beibehalten.",
|
||
"errors": {
|
||
"disconnect": "Xero konnte nicht getrennt werden.",
|
||
"load": "Xero-Einstellungen konnten nicht geladen werden.",
|
||
"saveCredentials": "Xero-Anmeldedaten konnten nicht gespeichert werden."
|
||
},
|
||
"howItWorksDescription": "Speichern Sie hier eine tenant-eigene Xero Client ID und ein Client Secret, schließen Sie den Xero-OAuth-Flow ab, und Alga PSA verwendet die erste verbundene Xero-Organisation als Standard-Live-Kontext.",
|
||
"howItWorksTitle": "So funktioniert Live-Xero in dieser Version",
|
||
"loading": "Xero-Einstellungen werden geladen…",
|
||
"mapping": {
|
||
"alert": "Xero-Artikel, Umsatzkonten, Steuersätze und Tracking-Kategorien werden aus der verbundenen Standardorganisation geladen, damit Live-Exporte in v1 weiterhin die erste gespeicherte Xero-Verbindung nutzen können.",
|
||
"descriptionPrefix": "Konfigurieren Sie Live-Xero-Zuordnungen für die verbundene Standardorganisation. Diese Zuordnungen sind begrenzt auf",
|
||
"placeholderAlert": "Der Zuordnungsmanager wird verfügbar, nachdem die erste Xero-Organisation verbunden und als Standard-Live-Xero-Kontext festgelegt wurde.",
|
||
"placeholderDescription": "Verbinden Sie eine Live-Xero-Organisation, bevor Sie Live-Xero-Artikel- und Steuer-Zuordnungen konfigurieren.",
|
||
"title": "Live-Xero-Zuordnung & -Konfiguration"
|
||
},
|
||
"noClientId": "Für diesen Tenant ist noch keine Client ID gespeichert.",
|
||
"noClientSecret": "Für diesen Tenant ist noch kein Client Secret gespeichert.",
|
||
"redirectUri": "Redirect URI",
|
||
"requiredScopes": "Erforderliche Scopes",
|
||
"storedClientId": "Gespeicherte Client ID: {{value}}",
|
||
"storedClientSecret": "Gespeichertes Client Secret: {{value}}",
|
||
"tenantOauthDescription": "Fügen Sie die für diesen Tenant registrierten Xero-App-Anmeldedaten ein. Secret-Werte werden nach dem Speichern nicht mehr an den Browser zurückgegeben.",
|
||
"tenantOauthTitle": "Tenant-eigene OAuth-App",
|
||
"title": "Xero",
|
||
"xeroCsv": "Xero CSV"
|
||
}
|
||
},
|
||
"stripe": {
|
||
"title": "Stripe Payments",
|
||
"description": "Akzeptieren Sie Kreditkartenzahlungen für Ihre Rechnungen",
|
||
"connected": {
|
||
"title": "Stripe verbunden",
|
||
"publishableKey": "Publishable Key: {{key}}..."
|
||
},
|
||
"empty": {
|
||
"description": "Verbinden Sie Ihr Stripe-Konto, um Online-Zahlungen für Rechnungen zu akzeptieren"
|
||
},
|
||
"actions": {
|
||
"testConnection": "Verbindung testen",
|
||
"disconnect": "Trennen",
|
||
"connect": "Stripe verbinden",
|
||
"connecting": "Verbindung wird hergestellt...",
|
||
"cancel": "Abbrechen"
|
||
},
|
||
"form": {
|
||
"secretKeyLabel": "Secret Key",
|
||
"secretKeyPlaceholder": "sk_live_... oder sk_test_...",
|
||
"publishableKeyLabel": "Publishable Key",
|
||
"publishableKeyPlaceholder": "pk_live_... oder pk_test_...",
|
||
"findKeyPrefix": "Finden Sie dies in Ihrem",
|
||
"dashboardLink": "Stripe Dashboard → API Keys"
|
||
},
|
||
"webhook": {
|
||
"heading": "Webhook-Konfiguration",
|
||
"configuredAutomatically": "Webhooks automatisch konfiguriert",
|
||
"receiveNotifications": "Alga PSA erhält Zahlungsbenachrichtigungen für:",
|
||
"failedTitle": "Webhook-Konfiguration fehlgeschlagen",
|
||
"failedBody": "Die automatische Webhook-Konfiguration ist fehlgeschlagen. Klicken Sie auf Erneut versuchen, um die Konfiguration erneut zu versuchen.",
|
||
"configuring": "Wird konfiguriert...",
|
||
"retry": "Konfiguration erneut versuchen"
|
||
},
|
||
"disconnectDialog": {
|
||
"title": "Stripe trennen",
|
||
"message": "Sind Sie sicher, dass Sie Stripe trennen möchten? Zahlungslinks funktionieren dann nicht mehr.",
|
||
"confirm": "Trennen",
|
||
"cancel": "Abbrechen"
|
||
},
|
||
"toasts": {
|
||
"connectedWithWebhook": "Stripe verbunden und Webhooks automatisch konfiguriert!",
|
||
"connectedWebhookFailed": "Stripe verbunden! Hinweis: Die automatische Webhook-Konfiguration ist fehlgeschlagen – Sie müssen Webhooks möglicherweise manuell im Stripe Dashboard konfigurieren.",
|
||
"disconnected": "Stripe getrennt",
|
||
"connectionSuccess": "Verbindung erfolgreich!",
|
||
"webhookConfigured": "Webhook erfolgreich konfiguriert!"
|
||
},
|
||
"errors": {
|
||
"loadConfig": "Stripe-Konfiguration konnte nicht geladen werden",
|
||
"connect": "Stripe konnte nicht verbunden werden",
|
||
"disconnect": "Stripe konnte nicht getrennt werden",
|
||
"testConnection": "Verbindungstest fehlgeschlagen",
|
||
"configureWebhook": "Webhook konnte nicht konfiguriert werden",
|
||
"bothKeysRequired": "Bitte geben Sie sowohl Secret Key als auch Publishable Key ein",
|
||
"secretKeyFormat": "Secret Key sollte mit sk_ beginnen",
|
||
"publishableKeyFormat": "Publishable Key sollte mit pk_ beginnen"
|
||
}
|
||
}
|
||
},
|
||
"ninjaone": {
|
||
"selectCompany": "Unternehmen auswählen"
|
||
}
|
||
}
|