{ "integrations": { "accounting": { "dialog": { "cancel": "Annuleren", "enterPlaceholder": "{{field}} invoeren...", "errors": { "enterExternal": "Voer {{field}} in.", "invalidJson": "Ongeldig JSON-formaat voor metadata.", "saveFailed": "Toewijzing opslaan mislukt.", "selectAlga": "Selecteer {{field}}.", "selectExternal": "Selecteer {{field}}." }, "manualEntryHelp": "Voer de identifier exact in zoals deze verschijnt in uw boekhoudsysteem.", "metadataLabel": "Metadata (JSON)", "metadataPlaceholder": "Optionele metadata als JSON", "realmIdLabel": "Realm-ID", "saveMapping": "Toewijzing opslaan", "saving": "Opslaan…", "selectPlaceholder": "{{field}} selecteren..." }, "manager": { "noModules": "Geen toewijzingsmodules geconfigureerd." }, "moduleView": { "actionsColumn": "Acties", "delete": "Verwijderen", "edit": "Bewerken", "errors": { "deleteFailed": "Toewijzing verwijderen mislukt.", "loadFailed": "Toewijzingen laden mislukt." }, "loading": "Toewijzingen laden…", "noMappings": "Geen toewijzingen gevonden.", "notAvailable": "N.v.t.", "openMenu": "Menu openen" }, "setup": { "activeConfiguration": "Actieve configuratie", "badges": { "enterprise": "Enterprise" }, "comingSoon": "Binnenkort beschikbaar", "configure": "Integratie configureren", "highlightValues": { "csv": "CSV", "instant": "Direct", "live": "Live", "manual": "Handmatig", "twoWay": "Tweerichtings" }, "highlights": { "delivery": "Levering", "export": "Export", "format": "Formaat", "sync": "Synchronisatie" }, "options": { "qbo": { "description": "Verbind uw realm om facturen te synchroniseren en toewijzingen te beheren." }, "qboCsv": { "description": "Exporteer facturen naar CSV voor handmatige import in QuickBooks en importeer belastinggegevens uit rapporten." }, "xero": { "description": "Verbind uw organisatie met tenant-eigen OAuth-inloggegevens voor live boekhoudexports en toewijzingen." }, "xeroCsv": { "description": "Exporteer facturen naar CSV voor handmatige import in Xero en importeer belastinggegevens uit Xero-rapporten." } }, "selected": "{{title}} geselecteerd", "unavailable": { "description": "Deze integratie is nog niet beschikbaar. Selecteer QuickBooks CSV of Xero CSV om handmatige exports te configureren.", "title": "Configuratie niet beschikbaar" } }, "modules": { "tabs": { "clients": "Klanten", "itemsServices": "Items / Diensten", "taxCodes": "Belastingcodes", "paymentTerms": "Betalingsvoorwaarden" } } }, "calendar": { "enterprise": { "loading": "Agenda-instellingen worden geladen..." } }, "csv": { "export": { "actions": { "exportCsv": "CSV exporteren", "generating": "Genereren..." }, "description": "Facturen exporteren als CSV-bestand voor handmatige import in QuickBooks.", "errors": { "configureMissingMappings": "Configureer de ontbrekende toewijzingen hierboven en probeer de export opnieuw.", "failed": "Export mislukt", "missingItemMapping": "Item-toewijzing ontbreekt", "missingItemMappingId": "Item-toewijzing ontbreekt ({{serviceId}})", "missingItemMappingNamed": "Item-toewijzing ontbreekt: {{serviceName}}" }, "fields": { "dateRange": "Datumbereik (optioneel)", "invoiceStatuses": "Factuurstatussen" }, "lockReset": { "actions": { "reset": "Exportvergrendeling resetten" }, "description": "Exportvergrendelingen wissen om het opnieuw exporteren van facturen via CSV mogelijk te maken.", "dialog": { "cancel": "Annuleren", "confirm": "Vergrendeling resetten", "confirmBatch": "Hierdoor kan Alga PSA facturen uit batch {{batchId}} opnieuw exporteren. Als sommige van deze facturen nog bestaan in QuickBooks, kan het importeren van de CSV duplicaten creëren.", "confirmInvoice": "Hierdoor kan Alga PSA factuur {{invoiceNumber}} opnieuw exporteren. Als deze factuur nog bestaat in QuickBooks, kan het importeren van de CSV duplicaten creëren.", "resetting": "Resetten…", "title": "Exportvergrendeling resetten?", "warning": "Ga alleen door als u zeker weet dat de factuur niet is geïmporteerd, of als u deze hebt verwijderd/geannuleerd in QuickBooks." }, "errors": { "unable": "Exportvergrendeling kan niet worden gereset" }, "fields": { "batchId": "Export-batch-ID", "batchIdPlaceholder": "bijv. e793a514-34bd-4d7b-b266-9bb15f7087c4", "invoiceNumber": "Factuurnummer", "invoiceNumberPlaceholder": "bijv. INV-1001" }, "modes": { "ariaLabel": "Modus voor resetten van exportvergrendeling", "batch": "Batch", "invoice": "Factuur" }, "success": { "batchCleared": "Exportvergrendelingen voor deze batch gewist. U kunt die facturen opnieuw exporteren.", "invoiceCleared": "Exportvergrendeling gewist. U kunt deze factuur opnieuw exporteren.", "noBatchLocks": "Geen exportvergrendelingen gevonden voor die batch.", "noInvoiceLock": "Geen exportvergrendeling gevonden voor die factuur." }, "title": "Een factuur opnieuw exporteren", "warnings": { "duplicates": "Dit kan duplicaten veroorzaken in QuickBooks als de factuur daar nog bestaat." } }, "success": { "one": "{{count}} factuur geëxporteerd naar {{filename}}", "other": "{{count}} facturen geëxporteerd naar {{filename}}" }, "title": "CSV-export voor QuickBooks" }, "preview": { "duplicates": { "description": "De volgende facturen komen meerdere keren voor. Hun belastingbedragen worden opgeteld:", "title": "Dubbele facturen ({{count}})" }, "errors": { "more": "... en {{count}} fouten meer", "title": "Fouten ({{count}})" }, "importResults": "Importresultaten", "importSummary": { "difference": "Verschil:", "failedUpdates": "Mislukte updates:", "importedTax": "Geïmporteerde belasting:", "originalTax": "Oorspronkelijke belasting:", "successfulUpdates": "Succesvolle updates:", "title": "Importoverzicht" }, "rowLabel": "Rij {{row}}:", "stats": { "matchedInvoices": "Gekoppelde facturen", "totalRows": "Totaal aantal rijen", "uniqueInvoices": "Unieke facturen", "validRows": "Geldige rijen" }, "status": { "databaseMatch": "Database-overeenkomst", "rowData": "Rijgegevens", "structure": "Structuur" }, "validationPassed": { "one": "Validatie geslaagd. Klaar om belastinggegevens te importeren voor {{count}} factuur.", "other": "Validatie geslaagd. Klaar om belastinggegevens te importeren voor {{count}} facturen." }, "validationResults": "Validatieresultaten", "warnings": { "more": "... en {{count}} waarschuwingen meer", "title": "Waarschuwingen ({{count}})" } }, "settings": { "exports": { "description": "Maak export-batches aan, download CSV-bestanden, importeer belastingrapporten en bekijk de exportgeschiedenis.", "managedTitle": "Beheerd vanuit Facturatie", "openButton": "Boekhoudexports openen", "path": "Facturatie → Boekhoudexports", "title": "Boekhoudexports" }, "qbo": { "bullets": { "exportLabel": "Export", "exportText": "Genereer CSV-bestanden die compatibel zijn met de factuurimportfunctie van QuickBooks", "taxImportLabel": "Belastingimport", "taxImportText": "Bij gebruik van externe belastingberekening belastingbedragen importeren uit QuickBooks-belastingrapporten" }, "description": "Exporteer facturen naar CSV voor handmatige import in QuickBooks en importeer belastinggegevens uit QuickBooks-rapporten.", "exports": { "managedPrefix": "Ga naar", "managedSuffix": "om facturen te selecteren, QuickBooks CSV-exports te genereren, belastingrapporten te importeren en batches te beheren." }, "intro": "Deze integratie biedt een alternatief voor op OAuth gebaseerde QuickBooks-connectiviteit:", "mappings": { "description": "Wijs Alga-klanten, services, belastingcodes en betalingsvoorwaarden toe aan de identifiers die in uw QuickBooks-bedrijf worden gebruikt. Deze waarden worden gebruikt bij het genereren van de CSV-export.", "title": "QuickBooks CSV-toewijzingen" }, "note": "Let op: configureer de toewijzingen hieronder voor het exporteren. CSV-exports en belastingimports worden beheerd vanuit Facturatie → Boekhoudexports.", "title": "QuickBooks CSV-integratie" } }, "taxImport": { "actions": { "importTaxData": "Belastinggegevens importeren", "importing": "Importeren...", "validate": "Valideren", "validating": "Valideren..." }, "errors": { "importFailed": "Import mislukt", "readFile": "Bestand lezen mislukt", "selectFile": "Selecteer een CSV-bestand", "selectFileAndRange": "Selecteer een bestand en een datumbereik", "templateDownloadFailed": "Sjabloon downloaden mislukt", "validationFailed": "Validatie mislukt" }, "fields": { "csvFile": "CSV-bestand", "dateRangeHelp": "Alleen facturen binnen dit datumbereik worden verwerkt.", "dateRangeRequired": "Datumbereik (vereist)", "dropZone": "Sleep een CSV-bestand hierheen, of klik om te bladeren", "fileSize": "({{size}} KB)" }, "preview": { "alreadyImported": "{{count}} factu(u)r(en) hebben al geïmporteerde belasting.", "alreadyImportedSkip": "{{count}} factu(u)r(en) hebben al geïmporteerde belasting en worden overgeslagen.", "badges": { "databaseMatch": "Database-overeenkomst", "rowData": "Rijgegevens", "structure": "Structuur" }, "columns": { "algaInvoice": "Alga-factuur", "contact": "Contact", "status": "Status", "taxAmount": "Belastingbedrag", "xeroInvoice": "Xero-factuur" }, "errorsTitle": "Fouten ({{count}})", "matched": "Gekoppeld", "matchedInvoices": "Gekoppelde facturen", "notPendingDescription": "Deze facturen zijn aangemaakt met interne belastingberekening. Om belastingen uit Xero te importeren, moeten facturen bij de export worden ingesteld met de belastingbron \"Pending External\".", "notPendingSkip": "{{count}} factu(u)r(en) hebben geen externe belasting in behandeling en worden overgeslagen.", "notPendingTitle": "{{count}} factu(u)r(en) gebruiken geen externe belastingberekening.", "showingFirst20": "Eerste 20 van {{count}} rijen worden weergegeven", "taxToImport": "Te importeren belasting", "title": "Validatieresultaten", "totalRows": "Totaal aantal rijen", "uniqueInvoices": "Unieke facturen", "unmatched": "Niet gekoppeld", "validRows": "Geldige rijen", "warningsTitle": "Waarschuwingen ({{count}})" }, "qbo": { "description": "Belastingbedragen importeren uit een CSV-bestand van een QuickBooks-belastingrapport.", "help": { "csvRequirement": "De CSV moet kolommen Factuurnummer, Factuurdatum en Belastingbedrag bevatten.", "downloadTemplate": "CSV-sjabloon downloaden", "steps": { "s1": "Ga in QuickBooks naar Reports > All Reports", "s2": "Selecteer Sales Tax Liability of Transaction Detail by Account", "s3": "Stel het datumbereik in zodat het overeenkomt met uw geëxporteerde facturen", "s4": "Klik op Export en kies Export to Excel of Export to CSV", "s5": "Sla het bestand op en upload het hier" }, "title": "Hoe belastinggegevens te exporteren uit QuickBooks" }, "success": { "one": "Belasting succesvol geïmporteerd voor {{count}} factuur. Totale geïmporteerde belasting: ${{amount}}", "other": "Belasting succesvol geïmporteerd voor {{count}} facturen. Totale geïmporteerde belasting: ${{amount}}" }, "title": "Belastingen importeren uit QuickBooks-CSV" }, "result": { "failed": "{{count}} mislukt.", "one": "Belasting geïmporteerd voor {{count}} factuur. Totale geïmporteerde belasting: {{amount}}.", "other": "Belasting geïmporteerd voor {{count}} facturen. Totale geïmporteerde belasting: {{amount}}.", "skipped": "{{count}} overgeslagen." }, "unified": { "description": "Belastingbedragen importeren uit de CSV-export van uw boekhoudsysteem.", "qbResult": { "one": "Belasting succesvol geïmporteerd voor {{count}} factuur. Totale geïmporteerde belasting: {{amount}}", "other": "Belasting succesvol geïmporteerd voor {{count}} facturen. Totale geïmporteerde belasting: {{amount}}" }, "source": { "ariaLabel": "CSV-importbron", "quickbooks": "QuickBooks", "xero": "Xero" }, "title": "Belastingen importeren uit CSV", "xeroCsvDescription": "De geëxporteerde CSV bevat Factuurnummer, Contactnaam, Regelbedrag, Belastingbedrag en tracking-categorieën.", "xeroHelp": { "note": "Let op: alleen facturen die oorspronkelijk uit Alga PSA zijn geëxporteerd (met tracking Source System = AlgaPSA) worden gekoppeld.", "s1": "Ga in Xero naar Sales > Invoices", "s2": "Selecteer het factuurtabblad waaruit u wilt exporteren (bijv. Paid, Awaiting Payment)", "s3": "(Optioneel) Klik op Search om te filteren op startdatum, einddatum of datumtype", "s4": "Klik op Export", "s5": "Xero downloadt een CSV-bestand naar uw computer", "s6": "Upload dat CSV-bestand hier" }, "xeroResult": { "one": "Belasting geïmporteerd voor {{count}} factuur. Totaal: {{amount}}.", "other": "Belasting geïmporteerd voor {{count}} facturen. Totaal: {{amount}}." } }, "xero": { "description": "Belastingbedragen importeren uit een CSV-bestand van een Xero Invoice Details Report.", "dropZone": "Sleep een CSV van Xero Invoice Details Report hierheen, of klik om te bladeren", "help": { "csvRequirement": "Het rapport moet kolommen bevatten voor Factuurnummer, Contactnaam, Regelbedrag en Belastingbedrag. Facturen worden gekoppeld met behulp van het Reference-veld of de tracking-categorieën die tijdens het exporteren zijn ingesteld.", "steps": { "s1": "Ga in Xero naar Reports > All Reports", "s2": "Selecteer Sales (Invoices and Revenue)", "s3": "Voer het Invoice Details-rapport uit", "s4": "Stel het datumbereik in zodat het overeenkomt met uw geëxporteerde facturen", "s5": "Klik op Export en kies CSV", "s6": "Upload het geëxporteerde bestand hier" }, "title": "Hoe belastinggegevens te exporteren uit Xero" }, "title": "Belastingen importeren uit Xero-CSV" } } }, "entra": { "settings": { "actions": { "disconnect": "Verbinding verbreken", "reconnect": "Opnieuw verbinden", "reconnecting": "Opnieuw verbinden…", "refresh": "Vernieuwen", "resetFieldSync": "Resetten", "reviewMappings": "Toewijzingen controleren", "reviewRemap": "Controleren / Opnieuw toewijzen", "hideReviewRemap": "Controleren / Opnieuw toewijzen verbergen", "runDiscovery": "Ontdekking uitvoeren", "runDiscoveryAgain": "Ontdekking opnieuw uitvoeren", "runDiscoveryRunning": "Ontdekking uitvoeren…", "runInitialSync": "Initiële synchronisatie uitvoeren", "runInitialSyncRunning": "Initiële synchronisatie starten…", "saveFieldSync": "Veldsynchronisatiebesturingselementen opslaan", "savingFieldSync": "Opslaan…", "syncAll": "Alle tenants nu synchroniseren", "syncAllStarting": "Starten…" }, "badges": { "enterprise": "Enterprise", "reviewBeforeInitialSync": "Controleer voor initiële synchronisatie" }, "connection": { "connectingSuffix": " (Verbinden...)", "details": "Verbindingsdetails", "directCredentialSourceLabel": "Bron van inloggegevens:", "directTenantDefault": "common (multi-tenant)", "directTenantLabel": "Microsoft-tenant:", "cippServerLabel": "CIPP-server:", "notAvailable": "Niet beschikbaar", "notConfigured": "Niet geconfigureerd", "notConnectedStatus": "not_connected", "optionsTitle": "Verbindingsopties", "promptDetails": "Verbind Entra om providerdetails in te vullen." }, "currentStep": { "connect": { "guidance": "Selecteer een verbindingsoptie om door te gaan met onboarding.", "title": "Stap 1: Verbinden" }, "connectionsBelow": "Verbindingsopties verschijnen hieronder.", "discover": { "guidance": "Voer ontdekking uit om beheerde Entra-tenants te laden voordat u toewijzingen maakt.", "title": "Stap 2: Ontdekken" }, "label": "Huidige stap", "map": { "guidance": "Bevestig of pas tenant-toewijzingen aan om initiële synchronisatie te ontgrendelen.", "title": "Stap 3: Toewijzen" }, "sync": { "guidance": "Start de eerste synchronisatierun voor bevestigde toewijzingen.", "title": "Stap 4: Initiële synchronisatie" } }, "description": "Configureer Entra-toegang op partnerniveau, ontdek beheerde tenants, wijs ze toe aan klanten en voer synchronisatieworkflows uit.", "disabled": { "description": "De Entra-integratie-UI is momenteel uitgeschakeld voor deze tenant.", "title": "Microsoft Entra-integratie" }, "discovery": { "completed": "Ontdekking voltooid. {{count}} tenants ontdekt.", "completedOne": "Ontdekking voltooid. {{count}} tenant ontdekt.", "failed": "Kan tenantontdekking niet uitvoeren." }, "errors": { "loadStatus": "Kan Entra-verbindingsstatus niet laden.", "unknown": "Onbekende fout" }, "fieldSync": { "description": "Kies welke Entra-profielvelden lokale contactvelden mogen overschrijven tijdens synchronisatie.", "feedback": { "saveFailed": "Kan veldsynchronisatiebesturingselementen niet opslaan.", "saved": "Veldsynchronisatiebesturingselementen opgeslagen." }, "options": { "displayName": { "description": "Sta toe dat de Entra-weergavenaam de volledige contactnaam van gekoppelde contacten overschrijft.", "label": "Weergavenaam" }, "email": { "description": "Sta toe dat Entra-e-mail/UPN het contact-e-mailadres van gekoppelde contacten overschrijft.", "label": "E-mail" }, "phone": { "description": "Sta toe dat Entra-telefoonwaarden het contacttelefoonnummer van gekoppelde contacten overschrijven.", "label": "Telefoon" }, "role": { "description": "Sta toe dat de Entra-functietitel de contactrol van gekoppelde contacten overschrijft.", "label": "Rol" }, "upn": { "description": "Sta toe dat Entra-UPN de opgeslagen Entra-principalnaam van gekoppelde contacten overschrijft.", "label": "UPN" } }, "title": "Veldsynchronisatiebesturingselementen" }, "guidedStep": { "current": "huidig", "complete": "voltooid", "locked": "vergrendeld", "stepLabel": "Stap {{number}}", "thisIsCurrent": "Dit is uw huidige onboarding-stap." }, "initialSync": { "failed": "Kan initiële Entra-synchronisatie niet starten.", "started": "Initiële synchronisatie gestart. Run-ID: {{runId}}", "startedNoId": "Startverzoek voor initiële synchronisatie geaccepteerd." }, "maintenance": { "description": "De initiële installatie is voltooid. Focus hier op synchronisatiebewerkingen, health checks en onderhoudsbeoordelingen.", "healthDescription": "Bekijk de verbindingsgezondheid, voer onderhoudsbewerkingen uit en bewaak synchronisatieactiviteit.", "healthTitle": "Gezondheidsoverzicht", "title": "Doorlopende-operaties-modus" }, "mapping": { "description": "Bekijk voorgestelde overeenkomsten, kies de juiste klant voor elke tenant en bevestig toewijzingen voor de initiële synchronisatie.", "needsReviewLabel": "Vereist controle:", "savedLabel": "Opgeslagen:", "selectedLabel": "Geselecteerd:", "skippedLabel": "Overgeslagen:", "stepLabel": "Stap 3", "title": "Tenants toewijzen aan klanten" }, "onboarding": { "description": "Voltooi elke onboarding-stap op volgorde: verbinden, ontdekken, toewijzen en voer vervolgens uw eerste synchronisatie uit.", "title": "Installatiemodus" }, "ongoing": { "description": "Gebruik deze besturingselementen voor handmatige synchronisatiebewerkingen nadat de onboarding-stappen zijn voltooid.", "title": "Doorlopende operaties" }, "overview": { "connectionLabel": "Verbinding:", "connectionTypeLabel": "Verbindingstype:", "label": "Overzicht", "mappedTenantsLabel": "Toegewezen tenants:", "nextSyncIntervalEvery": "Elke {{minutes}} minuten", "nextSyncIntervalLabel": "Volgende synchronisatie-interval:" }, "skipped": { "empty": "Momenteel zijn er geen tenants gemarkeerd als overgeslagen.", "noPrimaryDomain": "Geen primair domein", "remap": "Opnieuw toewijzen", "title": "Overgeslagen tenants" }, "status": { "connectionHealth": "Verbindingsgezondheid", "label": "Status" }, "syncAll": { "failed": "Kan volledige Entra-synchronisatie niet starten.", "started": "Synchronisatie gestart. Run-ID: {{runId}}", "startedNoId": "Synchronisatiestartverzoek geaccepteerd." }, "title": "Microsoft Entra-integratie", "validation": { "label": "Validatie en ontdekking", "lastDiscoveryLabel": "Laatste ontdekking:", "lastValidatedLabel": "Laatst gevalideerd:", "neverFormatted": "Nooit", "noneValidationError": "Geen", "validationErrorLabel": "Validatiefout:" }, "wizard": { "connect": { "description": "Autoriseer Direct Microsoft partner-auth om deze Entra-tenant te koppelen.", "title": "Verbinden" }, "discover": { "description": "Laad en bewaar beheerde Entra-tenants voor deze MSP-tenant.", "title": "Tenants ontdekken" }, "map": { "description": "Bekijk automatische overeenkomst-suggesties en bevestig toewijzingen.", "title": "Tenants toewijzen aan klanten" }, "sync": { "description": "Start de eerste synchronisatierun voor bevestigde toewijzingen.", "title": "Initiële synchronisatie" } } }, "tenantMapping": { "actions": { "confirmSelected": "Geselecteerde toewijzingen bevestigen", "confirming": "Bevestigen…", "import": "Importeren als nieuwe klant", "importing": "Importeren…", "preselectExact": "Exacte overeenkomsten voorselecteren", "refresh": "Voorbeeld vernieuwen", "skip": "Overslaan", "skipped": "Overgeslagen" }, "columns": { "actions": "Acties", "confidence": "Vertrouwen", "entraTenant": "Entra-tenant", "primaryDomain": "Primair domein", "selectClient": "Selecteer klant", "status": "Status", "suggestedClient": "Voorgestelde klant" }, "empty": "Geen ontdekte tenants beschikbaar voor toewijzingsvoorbeeld.", "errors": { "confirmFailed": "Kan geselecteerde toewijzingen niet bevestigen.", "importFailed": "Kan tenant niet importeren als klant.", "loadFailed": "Kan tenant-toewijzingsvoorbeeld niet laden.", "selectAtLeastOne": "Selecteer ten minste één klant om een toewijzing te bevestigen.", "skipFailed": "Kan deze tenant-toewijzing niet overslaan." }, "feedback": { "confirmed": "{{count}} toewijzingen bevestigd.", "confirmedOne": "{{count}} toewijzing bevestigd." }, "noSuggestion": "Geen suggestie", "picker": { "placeholder": "Selecteer klant...", "unknownClient": "Onbekende klant" }, "reasons": { "exactDomain": "Exact domein", "fuzzyName": "Fuzzy naam", "secondaryDomain": "Secundair domein" }, "states": { "autoMatched": "Automatisch gekoppeld", "imported": "Geïmporteerd", "needsReview": "Vereist controle", "skipped": "Overgeslagen", "unmatched": "Niet gekoppeld" }, "title": "Tenant-toewijzingsvoorbeeld" }, "cippDialog": { "actions": { "cancel": "Annuleren", "connect": "Verbinden", "connecting": "Verbinden..." }, "description": "Voer uw CIPP-instantie-URL en een API-token in om Alga toegang te geven om Entra-gegevens te ontdekken en te synchroniseren.", "errors": { "missingFields": "Zowel Basis-URL als API-token zijn vereist.", "unknown": "Er is een onbekende fout opgetreden." }, "fields": { "apiToken": "API-token", "apiTokenPlaceholder": "Voer token in...", "baseUrl": "CIPP-basis-URL", "baseUrlPlaceholder": "https://cipp.uwdomein.com" }, "title": "CIPP verbinden" }, "reconciliation": { "actions": { "refresh": "Vernieuwen", "resolveExisting": "Oplossen naar bestaand", "resolveNew": "Oplossen naar nieuw" }, "candidate": { "fallback": "kandidaat", "label": "Kandidaat-contacten: {{count}}" }, "contactPicker": { "label": "Bestaand contact", "placeholder": "Selecteer bestaand contact..." }, "errors": { "enterContactId": "Voer een contact-ID in om naar een bestaand contact op te lossen.", "loadQueue": "Kan afstemmingswachtrij niet laden.", "resolveFailed": "Kan wachtrij-item niet oplossen." }, "empty": "Er wachten geen dubbelzinnige overeenkomsten op controle.", "loading": "Wachtrij laden…", "noEmailIdentity": "Geen e-mailidentiteit", "queuedAt": "{{identity}} · in wachtrij geplaatst {{time}}", "scopedToMappedClient": "Bestaande contactopties zijn beperkt tot deze toegewezen klant.", "success": { "resolvedExisting": "Wachtrij-item {{queueItemId}} opgelost naar bestaand contact {{contactNameId}}.", "resolvedNew": "Wachtrij-item {{queueItemId}} opgelost door contact {{contactNameId}} aan te maken." }, "title": "Wachtrij voor dubbelzinnige overeenkomsten" }, "syncHistory": { "actions": { "hideDetails": "Details verbergen", "refresh": "Vernieuwen", "viewDetails": "Details bekijken" }, "details": { "noResults": "Geen tenantresultaten geregistreerd.", "stats": "aangemaakt {{created}}, gekoppeld {{linked}}, bijgewerkt {{updated}}, dubbelzinnig {{ambiguous}}, gedeactiveerd {{inactivated}}", "tenantHeader": "Tenant {{tenant}} · {{status}}", "unknownTenant": "onbekend" }, "empty": "Nog geen synchronisatieruns gevonden.", "errors": { "loadDetailFailed": "Kan rundetails niet laden.", "loadFailed": "Kan synchronisatiegeschiedenis niet laden.", "loadRunFailed": "Kan run {{runId}} niet laden." }, "loading": "Synchronisatiegeschiedenis laden…", "run": { "header": "{{runType}} · {{status}}", "inProgress": "Bezig", "tenants": "Tenants: {{processed}}/{{total}} · Succes: {{success}} · Mislukt: {{failed}}", "timing": "Gestart {{started}} · Voltooid {{completed}}" }, "title": "Recente synchronisatieruns" } }, "google": { "settings": { "actions": { "refresh": "Vernieuwen", "resetProviders": "Google-providers resetten", "resetting": "Resetten…", "save": "Opslaan", "saving": "Opslaan…" }, "afterSaveNotice": "Ga na het opslaan naar de integraties voor inkomende e-mail en agenda en autoriseer de providers opnieuw. Bestaande Google-providers worden niet gemigreerd.", "consoleLink": "Google Cloud Console", "description": "Configureer tenant-eigen Google Cloud-inloggegevens voor Gmail (inkomende e-mail) en Google Calendar.", "errors": { "loadFailed": "Google-instellingen laden mislukt", "resetFailed": "Google-providers resetten mislukt", "saveFailed": "Google-instellingen opslaan mislukt" }, "fields": { "projectIdHelp": "Wordt gebruikt voor Pub/Sub-provisioning van Gmail (tenant-eigen service account).", "projectIdLabel": "Google Cloud project-ID", "projectIdPlaceholder": "my-project-id" }, "loading": "Laden…", "oauth": { "calendarClientId": "Calendar OAuth Client ID", "calendarClientSecret": "Calendar OAuth Client Secret", "enterSecret": "Client secret invoeren", "gmailClientId": "Gmail OAuth Client ID", "gmailClientSecret": "Gmail OAuth Client Secret", "sectionTitle": "OAuth-app", "shareApp": "Dezelfde OAuth-app gebruiken voor Gmail en Calendar", "shareAppHelp": "Aanbevolen. U kunt nog steeds afzonderlijke Google-accounts per integratie autoriseren.", "storedSecret": "Opgeslagen secret: {{secret}}" }, "redirectUrisLabel": "Redirect-URI's (kopiëren naar de Google OAuth-client)", "scopes": "Scopes", "scopesCalendar": "Calendar: {{scopes}}", "scopesGmail": "Gmail: {{scopes}}", "serviceAccount": { "alreadyStored": "Er is al een service-accountsleutel opgeslagen (niet weergegeven).", "description": "Plak de JSON-sleutel van het tenant-eigen service account dat wordt gebruikt om Pub/Sub te provisioneren.", "title": "Pub/Sub-service-account (vereist voor Gmail)" }, "setupGuide": "Installatiehandleiding", "title": "Google", "toasts": { "resetDescription": "Alle Google-providers zijn nu ontkoppeld en vereisen opnieuw autorisatie.", "resetFailedTitle": "Reset mislukt", "resetTitle": "Google-providers gereset", "saveFailedTitle": "Kan Google-instellingen niet opslaan", "savedDescription": "De Google-configuratie van de tenant is succesvol bijgewerkt.", "savedTitle": "Google-instellingen opgeslagen", "unknownError": "Onbekende fout" } } }, "hudu": { "clientTab": { "source": "Bron: Hudu", "openInHudu": "Openen in Hudu", "refresh": "Vernieuwen", "loading": "Hudu-gegevens laden...", "notConnected": "Hudu is niet verbonden. Een beheerder kan de verbinding maken onder Instellingen → Integraties.", "unmapped": "Deze klant is nog niet toegewezen aan een Hudu-bedrijf. Wijs deze toe onder Instellingen → Integraties → Hudu.", "unreachable": "Hudu kon niet worden bereikt. Probeer het later opnieuw.", "assetsTitle": "Assets", "assetsEmpty": "Geen Hudu-assets voor dit bedrijf.", "articlesTitle": "Artikelen", "articlesEmpty": "Geen Hudu-artikelen voor dit bedrijf.", "serial": "Serienummer", "folder": "Map" }, "passwordsTab": { "source": "Bron: Hudu", "openInHudu": "Openen in Hudu", "refresh": "Vernieuwen", "loading": "Hudu-wachtwoorden laden...", "notConnected": "Hudu is niet verbonden. Een beheerder kan de verbinding maken onder Instellingen → Integraties.", "unmapped": "Deze klant is nog niet toegewezen aan een Hudu-bedrijf. Wijs deze toe onder Instellingen → Integraties → Hudu.", "unreachable": "Hudu kon niet worden bereikt. Probeer het later opnieuw.", "noPasswordAccess": "Wachtwoordtoegang is niet ingeschakeld voor de Hudu API-sleutel, dus wachtwoorden kunnen niet worden weergegeven. Genereer in het Hudu-beheer een sleutel met wachtwoordtoegang.", "title": "Wachtwoorden", "empty": "Geen Hudu-wachtwoorden voor dit bedrijf.", "reveal": "Tonen", "hide": "Verbergen", "copy": "Kopiëren", "revealNoAccess": "Wachtwoordtoegang is niet ingeschakeld voor de Hudu API-sleutel.", "revealNotFound": "Dit wachtwoord kon niet worden gevonden in Hudu.", "revealFailed": "Het wachtwoord kon niet worden getoond. Probeer het later opnieuw." }, "assets": { "title": "Assets", "description": "Wijs Hudu-assets toe aan AlgaPSA-assets, importeer assets zonder match en haal updates op uit Hudu.", "loading": "Asset-toewijzingen laden...", "empty": "Geen Hudu-assets voor dit bedrijf.", "selectAsset": "Asset selecteren", "serial": "Serienummer", "archivedLabel": "Gearchiveerd", "excludedHint": "Niet geïmporteerd (layout uitgesloten)", "buttons": { "importAll": "Alle assets zonder match importeren", "importingAll": "Bezig met importeren...", "sync": "Synchroniseren vanuit Hudu", "syncing": "Bezig met synchroniseren...", "import": "Importeren", "importing": "Bezig met importeren...", "save": "Toewijzingen opslaan", "saving": "Opslaan...", "discard": "Verwerpen" }, "counters": { "mapped": "toegewezen", "suggested": "voorgesteld", "unmapped": "niet toegewezen", "total": "totaal" }, "table": { "huduAsset": "Hudu-asset", "algaAsset": "AlgaPSA-asset", "status": "Status", "actions": "Acties" }, "status": { "mapped": "Toegewezen", "suggested": "Voorgesteld", "unmapped": "Niet toegewezen", "pending": "In afwachting", "stale": "Verouderd" }, "suggestion": { "label": "Voorgesteld", "source": { "serial": "Serienummer-match", "exactName": "Exacte naam", "fuzzyName": "Vergelijkbare naam" } }, "rowActions": { "unmap": "Toewijzing opheffen", "revert": "Wijziging ongedaan maken", "dismiss": "Suggestie negeren" }, "pendingSummary": "Niet-opgeslagen wijzigingen: {{total}}", "sync": { "summary": "Synchronisatie voltooid: {{updated}} bijgewerkt · {{unchanged}} ongewijzigd · {{stale}} verouderd.", "rmmSkipped": "{{rmmSkipped}} door RMM beheerd overgeslagen.", "lastSynced": "Laatst gesynchroniseerd: {{timestamp}}" }, "import": { "summary": "Import voltooid: {{created}} aangemaakt · {{skipped}} overgeslagen · {{failed}} mislukt." }, "success": { "saved": "Asset-toewijzingen opgeslagen: {{total}}", "imported": "\"{{name}}\" geïmporteerd uit Hudu." }, "errors": { "load": "Kan Hudu-asset-toewijzingen niet laden.", "save": "Kan de asset-toewijzing niet bijwerken.", "import": "Kan het Hudu-asset niet importeren.", "importAll": "Bulkimport mislukt.", "serialConflict": "Het serienummer is al in gebruik door \"{{name}}\".", "sync": "Kan niet synchroniseren vanuit Hudu.", "rateLimited": "Hudu-aanvraaglimiet bereikt. Probeer het later opnieuw.", "unmapped": "Deze klant is niet toegewezen aan een Hudu-bedrijf.", "assetAlreadyMapped": "Dat asset is al toegewezen aan een ander Hudu-asset. Verwijder eerst de bestaande toewijzing.", "huduAssetAlreadyMapped": "Dit Hudu-asset is al toegewezen aan een asset. Verwijder eerst de bestaande toewijzing.", "mappingConflict": "Deze toewijzing conflicteert met een bestaande toewijzing. Vernieuw en probeer het opnieuw.", "notFound": "Toewijzing niet gevonden. Vernieuw en probeer het opnieuw." }, "toasts": { "errorTitle": "Hudu-asset-toewijzingsfout" } }, "documents": { "sectionTitle": "Hudu-documentatie", "loading": "Hudu-artikelen laden...", "empty": "Geen Hudu-artikelen", "unreachable": "Hudu kon niet worden bereikt. Probeer het later opnieuw." }, "documentsTab": { "title": "Hudu-artikelen", "source": "Bron: Hudu", "searchPlaceholder": "Hudu-artikelen zoeken...", "loading": "Hudu-artikelen laden...", "empty": "Geen Hudu-artikelen gevonden.", "notConnected": "Hudu is niet verbonden. Een beheerder kan de verbinding maken onder Instellingen → Integraties.", "unreachable": "Hudu kon niet worden bereikt. Probeer het later opnieuw.", "articleColumn": "Artikel", "clientColumn": "Klant", "companyColumn": "Hudu-bedrijf", "updatedColumn": "Bijgewerkt", "unmapped": "Niet toegewezen", "previous": "Vorige", "next": "Volgende", "pageLabel": "Pagina" }, "mapping": { "title": "Bedrijfstoewijzingen", "description": "Wijs Hudu-bedrijven toe aan AlgaPSA-klanten om hun documentatie weer te geven.", "loading": "Bedrijfstoewijzingen laden...", "companyId": "ID", "idInIntegration": "PSA-id", "selectClient": "Klant selecteren", "buttons": { "refresh": "Bedrijven vernieuwen", "refreshing": "Vernieuwen...", "save": "Toewijzingen opslaan", "saving": "Opslaan...", "discard": "Verwerpen" }, "counters": { "mapped": "toegewezen", "suggested": "voorgesteld", "unmapped": "niet toegewezen", "total": "totaal" }, "table": { "huduCompany": "Hudu-bedrijf", "algaClient": "AlgaPSA-klant", "status": "Status" }, "status": { "mapped": "Toegewezen", "suggested": "Voorgesteld", "unmapped": "Niet toegewezen", "pending": "In afwachting" }, "suggestion": { "label": "Voorgesteld", "source": { "integrationId": "PSA-integratie-id", "exactName": "Exacte naam", "fuzzyName": "Vergelijkbare naam" } }, "empty": { "title": "Nog geen Hudu-bedrijven geladen.", "hint": "Klik op \"Bedrijven vernieuwen\" om bedrijven op te halen uit Hudu." }, "unmappedHint": "Documentatie wordt alleen weergegeven voor toegewezen klanten. Wijs elk Hudu-bedrijf toe aan een AlgaPSA-klant om dit in te schakelen.", "success": { "refreshed": "Hudu-bedrijven vernieuwd.", "saved": "Toewijzingen opgeslagen: {{total}}" }, "errors": { "load": "Kan Hudu-bedrijfstoewijzingen niet laden.", "refresh": "Kan Hudu-bedrijven niet vernieuwen.", "save": "Kan de toewijzing niet bijwerken.", "clientAlreadyMapped": "Die klant is al toegewezen aan een ander Hudu-bedrijf. Verwijder eerst de bestaande toewijzing.", "companyAlreadyMapped": "Dit Hudu-bedrijf is al toegewezen aan een andere klant. Verwijder eerst de bestaande toewijzing.", "mappingConflict": "Deze toewijzing conflicteert met een bestaande toewijzing. Vernieuw en probeer het opnieuw.", "notFound": "Toewijzing niet gevonden. Vernieuw en probeer het opnieuw." }, "toasts": { "errorTitle": "Hudu-toewijzingsfout" }, "pendingSummary": "Niet-opgeslagen wijzigingen: {{total}}", "rowActions": { "unmap": "Toewijzing opheffen", "revert": "Wijziging ongedaan maken", "dismiss": "Suggestie negeren" } }, "layoutMap": { "title": "Asset-layouts", "description": "Kies als welk AlgaPSA-assettype elke Hudu-asset-layout wordt geïmporteerd. Niet-geconfigureerde layouts worden geïmporteerd als Onbekend.", "loading": "Asset-layouts laden...", "empty": "Geen asset-layouts gevonden in Hudu.", "suggested": "Voorgesteld", "table": { "huduLayout": "Hudu-layout", "algaAssetType": "AlgaPSA-assettype" }, "types": { "workstation": "Werkstation", "networkDevice": "Netwerkapparaat", "server": "Server", "mobileDevice": "Mobiel apparaat", "printer": "Printer", "unknown": "Onbekend" }, "excludeOption": "Niet importeren", "buttons": { "save": "Layout-toewijzing opslaan", "saving": "Opslaan..." }, "success": { "saved": "Asset-layout-toewijzing opgeslagen." }, "errors": { "load": "Kan Hudu-asset-layouts niet laden.", "save": "Kan de asset-layout-toewijzing niet opslaan." }, "createType": { "button": "Type aanmaken op basis van layout", "creating": "Aanmaken...", "success": "Assettype aangemaakt en aan deze layout toegewezen.", "errors": { "create": "Kan geen assettype aanmaken op basis van deze layout.", "slugConflict": "Er bestaat al een assettype met deze naam. Kies het in plaats daarvan uit de lijst." } } }, "settings": { "title": "Hudu", "description": "Verbind uw Hudu-instantie om klantdocumentatie en inloggegevens weer te geven binnen AlgaPSA.", "loading": "Hudu-verbindingsstatus laden...", "detectedInstance": "Hudu-instantie", "status": { "connected": "Verbonden", "notConnected": "Niet verbonden", "error": "Fout" }, "passwordAccess": { "enabled": "Wachtwoordtoegang ingeschakeld", "disabled": "Wachtwoordtoegang niet ingeschakeld voor deze sleutel" }, "fields": { "baseUrl": { "label": "Basis-URL", "placeholder": "https://uw-instantie.huducloud.com" }, "apiKey": { "label": "API-sleutel", "placeholder": "Voer uw Hudu API-sleutel in", "keepExisting": "Laat leeg om de huidige API-sleutel te behouden", "writeOnlyHint": "De opgeslagen API-sleutel wordt nooit weergegeven. Laat dit veld leeg om deze te blijven gebruiken." } }, "buttons": { "test": "Verbinding testen", "testing": "Testen...", "connect": "Verbinden", "connecting": "Verbinden...", "disconnect": "Verbinding verbreken", "disconnecting": "Verbinding verbreken..." }, "success": { "connected": "Verbonden met Hudu.", "testPassedWithPasswords": "Hudu-verbindingstest geslaagd. Wachtwoordtoegang is ingeschakeld voor deze sleutel.", "testPassedNoPasswords": "Hudu-verbindingstest geslaagd. Wachtwoordtoegang is niet ingeschakeld voor deze sleutel.", "disconnected": "Hudu-verbinding verbroken." }, "errors": { "loadStatus": "Kan de Hudu-verbindingsstatus niet laden.", "baseUrlRequired": "Basis-URL is vereist.", "baseUrlFormat": "Voer een geldige URL in, bijv. https://uw-instantie.huducloud.com", "invalidBaseUrl": "Er is geen Hudu-API gevonden op deze basis-URL (404). Controleer de basis-URL.", "unreachable": "Hudu kon niet worden bereikt op deze basis-URL. Controleer de URL en uw netwerk.", "invalidKey": "Hudu heeft de API-sleutel geweigerd (401). Voer een geldige API-sleutel in.", "testFailed": "Hudu-verbindingstest mislukt.", "connectFailed": "Kan geen verbinding maken met Hudu.", "disconnectFailed": "Kan Hudu niet loskoppelen." }, "toasts": { "errorTitle": "Hudu-verbindingsfout" } } }, "microsoft": { "settings": { "actions": { "entraLink": "Microsoft Entra", "newProfile": "Nieuw profiel", "openTeamsSetup": "Teams-installatie openen", "refresh": "Vernieuwen", "resetProviders": "Microsoft-providers resetten", "resetting": "Resetten…" }, "archiveDialog": { "archiving": "Archiveren…", "cancel": "Profiel behouden", "confirm": "Profiel archiveren", "message": "{{name}} archiveren? Bestaande historische verwijzingen blijven intact, maar het profiel is niet meer beschikbaar voor nieuwe bindingen.", "title": "Microsoft-profiel archiveren?" }, "binding": { "bound": "Gekoppeld", "boundProfileLabel": "Gekoppeld profiel", "createFirst": "Maak eerst een profiel aan", "needsAttention": "Vereist aandacht", "saving": "Opslaan…", "selectProfile": "Selecteer een profiel", "unbound": "Niet gekoppeld" }, "bindings": { "summaryBound": "{{consumer}} is gekoppeld aan {{profile}}.", "summaryNone": "Momenteel is er geen Microsoft-profiel gekoppeld aan {{consumer}}.", "summaryUnavailable": "{{consumer}} is gekoppeld aan een niet-beschikbaar profiel.", "warningArchived": "{{consumer}} is nog steeds gekoppeld aan een gearchiveerd profiel. Koppel opnieuw aan een actief profiel.", "warningNoBinding": "Er is nog geen {{consumer}}-binding geconfigureerd.", "warningNotReady": "{{consumer}} is gekoppeld aan {{profile}}, maar dat profiel moet nog worden geconfigureerd.", "warningProfileMissing": "{{consumer}} is gekoppeld aan een profiel dat niet meer beschikbaar is. Koppel opnieuw aan een actief profiel." }, "bindingsAlertCe": "Expliciete bindingen zijn de bron van waarheid voor de selectie van het MSP SSO-profiel. Configureer aanmeldingsdomeinen apart na het kiezen van het gekoppelde profiel.", "bindingsAlertEe": "Expliciete bindingen zijn de bron van waarheid voor de selectie van MSP SSO-, e-mail-, agenda- en Teams-profielen.", "consumerBindings": { "descriptionCe": "Koppel één Microsoft-profiel aan MSP SSO voor aanmelding en gebruik van aanmeldingsdomein.", "descriptionEe": "Koppel één Microsoft-profiel per ondersteunde consumer. Het opnieuw toewijzen van één consumer wijzigt de andere niet.", "title": "Expliciete consumer-bindingen" }, "consumers": { "calendar": { "description": "Kies welk Microsoft-profiel Outlook-agendasynchronisatie moet gebruiken.", "label": "Agenda", "reconnect": "Bestaande Microsoft-agendaverbindingen kunnen opnieuw autorisatie vereisen na het wijzigen van het gekoppelde profiel." }, "email": { "description": "Kies welk Microsoft-profiel Outlook (inkomende e-mail) moet gebruiken.", "label": "E-mail", "reconnect": "Bestaande Outlook-e-mailverbindingen kunnen opnieuw autorisatie vereisen na het wijzigen van het gekoppelde profiel." }, "mspSso": { "description": "Kies welk Microsoft-profiel MSP SSO-aanmeldingsdomeinen, Microsoft-aanmelding en tenant-detectie ondersteunt.", "label": "MSP SSO" }, "teams": { "description": "Kies welk Microsoft-profiel Microsoft Teams-installatie en auth-flows moeten gebruiken.", "label": "Teams" } }, "descriptionCe": "Beheer tenant-eigen Microsoft-profielen voor MSP SSO, Microsoft-aanmelding en detectie van aanmeldingsdomeinen.", "descriptionEe": "Beheer tenant-eigen Microsoft-profielen voor MSP SSO, Outlook-e-mail, agendasynchronisatie en Microsoft Teams.", "dialog": { "cancel": "Annuleren", "clientId": "Client ID", "clientSecret": "Client secret", "clientSecretPlaceholder": "Client secret invoeren", "clientSecretPlaceholderEdit": "Laat leeg om het huidige secret te behouden", "createProfile": "Profiel aanmaken", "createTitle": "Microsoft-profiel aanmaken", "descriptionCreate": "Maak een tenant-eigen Microsoft-profiel aan en koppel het vervolgens expliciet aan de Microsoft-consumers die u wilt gebruiken.", "descriptionEdit": "Werk het geselecteerde Microsoft-profiel bij. Laat het secret leeg om de bestaande waarde te behouden.", "displayName": "Weergavenaam", "displayNamePlaceholder": "Acme productie-tenant", "editTitle": "Microsoft-profiel bewerken", "saveChanges": "Wijzigingen opslaan", "saving": "Opslaan…", "setDefault": "Dit profiel instellen als standaard Microsoft-profiel", "setDefaultHelp": "Standaardprofielen blijven beschikbaar voor profielbeheer-workflows en migratieveilige metadata, niet voor consumer-routing.", "storedSecretHint": "Opgeslagen secret: {{secret}}. Laat dit veld leeg om het ongewijzigd te houden.", "tenantId": "Tenant ID" }, "empty": { "createButton": "Microsoft-profiel aanmaken", "descriptionCe": "Maak eerst een benoemd profiel aan en koppel het vervolgens expliciet aan MSP SSO- en aanmeldingsdomein-flows.", "descriptionEe": "Maak eerst een benoemd profiel aan en koppel het vervolgens expliciet aan MSP SSO, Outlook-e-mail, agendasynchronisatie en Teams.", "title": "Nog geen Microsoft-profielen" }, "errors": { "archive": "Microsoft-profiel archiveren mislukt", "loadBindings": "Microsoft-bindingen laden mislukt", "loadStatus": "Microsoft-instellingen laden mislukt", "resetProviders": "Microsoft-providers resetten mislukt", "saveProfile": "Microsoft-profiel opslaan mislukt", "setDefault": "Standaard Microsoft-profiel instellen mislukt", "updateBinding": "Microsoft-binding bijwerken mislukt" }, "guidance": { "applicationIdUri": "Application ID URI", "calendarRedirect": "Redirect-URI agendasynchronisatie", "calendarTitle": "Agendahandleiding", "clientId": "Client ID", "currentProfileTitle": "Huidige profielwaarden", "emailRedirect": "Redirect-URI inkomende e-mail", "emailTitle": "E-mailhandleiding", "mspSsoTitle": "MSP SSO-handleiding", "notConfigured": "Niet geconfigureerd", "redirectUri": "Redirect URI", "requiresBaseUrl": "Vereist basis-URL en Client ID", "scopes": "Scopes", "teamsBotRedirect": "Redirect-URI persoonlijke bot", "teamsMessageRedirect": "Redirect-URI message extension", "teamsScopes": "Teams-scopes", "teamsTabRedirect": "Redirect-URI persoonlijk tabblad", "teamsTitle": "Teams-handleiding", "tenantId": "Tenant ID", "unavailable": "Niet beschikbaar" }, "profileCard": { "activeBindings": "Actieve bindingen", "archive": "Archiveren", "clientId": "Client ID", "defaultBadge": "Standaard", "edit": "Bewerken", "guidanceSummary": "Handleiding voor Microsoft-appregistratie", "noVisibleBindings": "Geen zichtbare consumer-bindingen", "readinessTitle": "Profielgereedheid", "readyCe": "Dit profiel is gereed voor MSP SSO-binding en aanmeldingsdomein-flows.", "readyEe": "Dit profiel is gereed voor MSP SSO-, Outlook-e-mail- en agendabindingen.", "readyEeTeams": "Dit profiel is gereed voor MSP SSO-, Outlook-e-mail-, agendasynchronisatie- en Teams-bindingen.", "setDefault": "Instellen als standaard", "storedSecret": "Opgeslagen secret", "teamsAppIdUri": "Teams Application ID URI", "tenantIdLabel": "Tenant ID:", "updating": "Bijwerken…" }, "providerReconnect": { "description": "Gebruik dit als u inloggegevens roteert of opzettelijk Outlook-e-mail of de agenda aan een ander Microsoft-profiel koppelt.", "title": "Opnieuw verbinden van provider" }, "readiness": { "archived": "Gearchiveerde profielen kunnen niet worden gebruikt voor nieuwe Microsoft-bindingen.", "clientIdMissing": "Client ID ontbreekt.", "clientSecretMissing": "Client secret is niet geconfigureerd.", "tenantIdMissing": "Tenant ID ontbreekt." }, "statusBadges": { "archived": "Gearchiveerd", "needsAttention": "Vereist aandacht", "ready": "Gereed" }, "title": "Microsoft", "toasts": { "archiveFailedTitle": "Kan Microsoft-profiel niet archiveren", "archivedDescription": "{{name}} is succesvol gearchiveerd.", "archivedTitle": "Microsoft-profiel gearchiveerd", "bindingFailedTitle": "Kan {{consumer}}-binding niet bijwerken", "bindingUpdatedDescription": "{{consumer}} gebruikt nu {{profile}}.", "bindingUpdatedTitle": "{{consumer}}-binding bijgewerkt", "defaultUpdatedDescription": "{{name}} is nu het standaard Microsoft-profiel.", "defaultUpdatedTitle": "Standaard Microsoft-profiel bijgewerkt", "profileCreated": "Microsoft-profiel aangemaakt", "profileCreatedDescription": "Het Microsoft-profiel is klaar om gekoppeld te worden aan zichtbare Microsoft-consumers.", "profileUpdated": "Microsoft-profiel bijgewerkt", "profileUpdatedDescription": "De wijzigingen van het Microsoft-profiel zijn succesvol opgeslagen.", "resetDescription": "Bestaande Outlook-e-mail- en agendaverbindingen vereisen nu opnieuw autorisatie.", "resetFailedTitle": "Reset mislukt", "resetTitle": "Microsoft-providers gereset", "saveFailedTitle": "Kan Microsoft-profiel niet opslaan", "selectedProfile": "het geselecteerde profiel", "setDefaultFailedTitle": "Kan standaardprofiel niet instellen" }, "validation": { "clientIdRequired": "Microsoft OAuth Client ID is verplicht", "clientSecretRequired": "Microsoft OAuth Client Secret is verplicht", "displayNameRequired": "Weergavenaam van Microsoft-profiel is verplicht", "tenantIdRequired": "Microsoft Tenant ID is verplicht" } } }, "qbo": { "live": { "defaultCompany": "Verbonden QuickBooks-bedrijf" }, "settings": { "actions": { "connect": "QuickBooks verbinden", "disconnect": "QuickBooks ontkoppelen", "disconnecting": "Ontkoppelen…", "reconnect": "QuickBooks opnieuw verbinden", "refresh": "Vernieuwen", "saveCredentials": "QuickBooks-inloggegevens opslaan", "saving": "Opslaan…" }, "badges": { "connectionExpired": "Verbinding vereist aandacht", "credentialsReady": "Inloggegevens gereed", "credentialsRequired": "Inloggegevens vereist", "defaultConnected": "Bedrijf verbonden", "noCompany": "Geen bedrijf verbonden" }, "callback": { "accessDenied": "QuickBooks-toegang werd geweigerd voordat de verbinding was voltooid.", "configMissing": "QuickBooks OAuth kon niet worden gestart omdat het client ID en client secret niet volledig waren geconfigureerd.", "generic": "QuickBooks heeft een OAuth-fout geretourneerd: {{code}}", "invalidState": "De QuickBooks OAuth-status was ongeldig of verlopen. Start de verbindingsflow opnieuw.", "missingParams": "In de QuickBooks-callback ontbraken vereiste parameters. Start de verbindingsflow opnieuw.", "oauthFailed": "De QuickBooks OAuth-callback is mislukt. Probeer opnieuw verbinding te maken. Als het probleem aanhoudt, controleer uw redirect-URI en scopes.", "tokenExchangeFailed": "Intuit heeft de verwachte tokens niet geretourneerd. Probeer opnieuw verbinding te maken." }, "clientIdLabel": "QuickBooks Client ID", "clientIdPlaceholder": "Plak uw Intuit app-client ID", "clientSecretLabel": "QuickBooks Client Secret", "clientSecretPlaceholder": "Plak uw Intuit app-client secret", "connectSuccess": "QuickBooks succesvol verbonden. Het verbonden bedrijf is nu de standaard live QuickBooks-context.", "connection": { "defaultCompany": "Verbonden bedrijf", "description": "Start OAuth pas nadat de QuickBooks app-inloggegevens zijn geconfigureerd. Ontkoppelen verwijdert opgeslagen QuickBooks-toegangstokens maar behoudt de tenant-eigen app-inloggegevens.", "notConnected": "Er is nog geen QuickBooks-bedrijf verbonden. Sla de inloggegevens op en klik vervolgens op QuickBooks verbinden.", "realmId": "Realm ID: {{id}}", "title": "Live QuickBooks-verbinding", "unknown": "onbekend" }, "credentialsSaved": "QuickBooks-inloggegevens opgeslagen. U kunt nu de QuickBooks OAuth-flow starten.", "csvAvailableMiddle": "in deze zelfde sectie Boekhouding en beheer exports vanuit", "csvAvailablePrefix": "Als u de voorkeur geeft aan een handmatige workflow, blijf dan gebruiken", "csvAvailableTitle": "QuickBooks CSV blijft beschikbaar", "description": "Configureer QuickBooks OAuth-inloggegevens, verbind uw QuickBooks-bedrijf en behoud live QuickBooks naast de handmatige QuickBooks CSV-workflow.", "disconnectSuccess": "De opgeslagen QuickBooks-verbinding is verwijderd. Tenant-eigen QuickBooks app-inloggegevens zijn behouden.", "environment": "Intuit-omgeving", "environmentProduction": "Productie", "environmentSandbox": "Sandbox", "errors": { "disconnect": "QuickBooks ontkoppelen mislukt.", "load": "QuickBooks-instellingen laden mislukt.", "saveCredentials": "QuickBooks-inloggegevens opslaan mislukt." }, "howItWorksDescription": "Sla hier QuickBooks app-inloggegevens op, voltooi de Intuit OAuth-flow, en Alga PSA gebruikt het verbonden QuickBooks-bedrijf als standaard live context voor exports en koppelingen.", "howItWorksTitle": "Hoe live QuickBooks werkt in deze release", "loading": "QuickBooks-instellingen worden geladen…", "mapping": { "alert": "QuickBooks-artikelen, belastingcodes en voorwaarden worden geladen uit het verbonden bedrijf, zodat live exports in v1 de eerste opgeslagen QuickBooks-verbinding kunnen blijven gebruiken.", "descriptionPrefix": "Configureer live QuickBooks-toewijzingen voor het verbonden bedrijf. Deze toewijzingen zijn beperkt tot", "placeholderAlert": "De toewijzingsbeheerder wordt beschikbaar nadat het eerste QuickBooks-bedrijf is verbonden en ingesteld als standaard live QuickBooks-context.", "placeholderDescription": "Verbind een QuickBooks-bedrijf voordat u live QuickBooks-artikel- en belastingtoewijzingen configureert.", "title": "Live QuickBooks-toewijzing en -configuratie" }, "noClientId": "Er is nog geen client ID opgeslagen voor deze tenant.", "noClientSecret": "Er is nog geen client secret opgeslagen voor deze tenant.", "quickbooksCsv": "QuickBooks CSV", "redirectUri": "Redirect URI", "requiredScopes": "Vereiste scopes", "storedClientId": "Opgeslagen client ID: {{value}}", "storedClientSecret": "Opgeslagen client secret: {{value}}", "tenantOauthDescription": "Plak de Intuit app-inloggegevens die voor deze tenant zijn geregistreerd, of laat leeg om de QuickBooks-app op toepassingsniveau te gebruiken als die is geconfigureerd. Secret-waarden worden na opslaan nooit meer aan de browser geretourneerd.", "tenantOauthTitle": "Tenant-eigen OAuth-app", "title": "QuickBooks Online" }, "sync": { "healthCardTitle": "Synchronisatiestatus", "healthCardDescription": "Status en bediening van de QuickBooks-boekhoudsynchronisatie. Wordt elke 15 minuten uitgevoerd.", "lastCycleTitle": "Laatste synchronisatiecyclus", "lastCycleStatus": "Status", "lastCycleFinishedAt": "Voltooid", "lastCycleStats": "Resultaten", "statOpsProcessed": "{{count}} bewerkingen verwerkt", "statDriftFound": "{{count}} afwijkingen", "statPaymentsApplied": "{{count}} betalingen toegepast", "noLastCycle": "Er is nog geen synchronisatiecyclus uitgevoerd.", "nextRunHint": "Wordt automatisch elke 15 minuten uitgevoerd wanneer automatische synchronisatie is ingeschakeld.", "pendingOps": "Openstaande bewerkingen", "erroredOps": "Mislukte bewerkingen", "driftCount": "Afwijkingen", "openExceptions": "Open uitzonderingen", "refreshTokenExpiry": "QuickBooks-token verloopt op {{date}}", "refreshTokenExpired": "QuickBooks-token verlopen — maak opnieuw verbinding om de synchronisatie te hervatten.", "autoSyncLabel": "Automatische synchronisatie ingeschakeld", "syncNowButton": "Nu synchroniseren", "syncNowRunning": "Synchroniseren…", "syncNowSuccess": "Synchronisatie voltooid.", "syncNowSkipped": "Synchronisatie overgeslagen: {{reason}}", "syncNowError": "Synchronisatie mislukt: {{error}}", "viewExceptionsLink": "Uitzonderingen bekijken", "autoApplyCreditsWarning": "QuickBooks staat ingesteld om tegoeden automatisch toe te passen, wat conflicteert met tegoedtoepassingen vanuit Alga: QuickBooks kan geëxporteerde creditnota's vóór de synchronisatie op een andere factuur toepassen. Ga in QuickBooks naar \"Account and Settings → Advanced → Automation\" en schakel \"Automatically apply credits\" uit.", "configTitle": "Synchronisatieconfiguratie", "connectedCompanies": "Verbonden bedrijven", "defaultClass": "Standaardklasse", "defaultDepartment": "Standaardafdeling", "defaultRealm": "Standaard", "depositAccount": "Stortingsrekening", "makeDefault": "Als standaard instellen", "noDefault": "Geen standaard", "saving": "Opslaan…", "undepositedFunds": "Niet-gestorte middelen (standaard)" } }, "rmm": { "ninjaOne": { "loading": "NinjaOne-integratie-instellingen laden...", "card": { "title": "NinjaOne RMM-integratie", "description": "Verbind uw NinjaOne-account om apparaten te synchroniseren, waarschuwingen te ontvangen en functies voor externe toegang in te schakelen.", "skeletonDescription": "NinjaOne-integratie laden..." }, "status": { "checking": "NinjaOne-verbinding controleren...", "notConnected": { "title": "Niet verbonden met NinjaOne", "description": "Verbind uw NinjaOne-account om apparaten te synchroniseren, waarschuwingen te ontvangen en externe toegang in te schakelen." }, "connected": "Verbonden met NinjaOne", "connectedWithErrors": "NinjaOne verbonden met synchronisatiefouten", "instanceLabel": "Instantie:", "organizations": "{{count}} organisaties", "devices": "{{count}} apparaten", "activeAlerts": "{{count}} actieve waarschuwingen", "lastSynced": "Laatst gesynchroniseerd: {{time}}" }, "setup": { "title": "Installatie-instructies", "steps": { "login": "Log in op uw NinjaOne-dashboard", "navigate": "Ga naar Administration → Apps → API", "addClient": "Klik op \"+ Add client app\" om een nieuwe API-applicatie aan te maken", "platform": "Stel Application Platform in op \"Web (PHP, Java, .Net Core, etc.)\"", "name": "Voer een Name in (bijv. \"Alga PSA\")", "redirectUri": "Voeg de redirect-URI toe:", "scopes": "Vink onder \"Scopes\" \"Monitoring\" en \"Management\" aan", "grantTypes": "Vink onder \"Allowed grant types\" \"Authorization code\", \"Client credentials\" en \"Refresh token\" aan", "addAndCopy": "Klik op \"Add\" en kopieer de Client ID en Client Secret hieronder" }, "docsPrefix": "Zie voor gedetailleerde installatie-instructies", "docsSection": "Sectie 10.15", "docsSuffix": "in de documentatie.", "openApiSettings": "NinjaOne API-instellingen openen" }, "credentials": { "title": "API-inloggegevens", "saved": "Inloggegevens opgeslagen", "clientIdLabel": "Client ID", "clientIdPlaceholder": "Voer uw NinjaOne Client ID in", "clientSecretLabel": "Client Secret", "clientSecretPlaceholder": "Voer uw NinjaOne Client Secret in", "clientSecretUpdatePlaceholder": "Voer nieuw secret in om bij te werken", "secretMaskedLabel": "Secret", "saving": "Opslaan...", "save": "Inloggegevens opslaan" }, "region": { "hint": "Selecteer uw NinjaOne-regio en klik vervolgens op 'Verbinden met NinjaOne' om toegang te autoriseren.", "label": "Regio:" }, "actions": { "refreshing": "Vernieuwen...", "refreshStatus": "Status vernieuwen", "syncing": "Synchroniseren...", "syncOrganizations": "Organisaties synchroniseren", "syncingDevices": "Apparaten synchroniseren...", "syncDevices": "Apparaten synchroniseren", "disconnecting": "Verbinding verbreken...", "disconnect": "Verbinding verbreken", "connect": "Verbinden met NinjaOne" }, "disconnectModal": { "title": "NinjaOne loskoppelen", "description": "Weet u zeker dat u NinjaOne wilt loskoppelen? Hierdoor wordt apparaatsynchronisatie en waarschuwingsmeldingen gestopt en worden uw opgeslagen API-inloggegevens verwijderd. Organisatie-toewijzingen blijven behouden.", "cancel": "Annuleren", "confirm": "Verbinding verbreken" }, "toasts": { "connectSuccess": "Succesvol verbonden met NinjaOne.", "connectFailed": "NinjaOne-verbinding mislukt.", "connectFailedWithDetail": "NinjaOne-verbinding mislukt: {{detail}}", "disconnectSuccess": "NinjaOne-verbinding succesvol losgekoppeld.", "credentialsSaved": "NinjaOne API-inloggegevens succesvol opgeslagen.", "orgSyncSuccess": "Organisatiesynchronisatie voltooid. Verwerkt: {{processed}}, Aangemaakt: {{created}}, Bijgewerkt: {{updated}}", "deviceSyncSuccess": "Apparaatsynchronisatie voltooid. Verwerkt: {{processed}}, Aangemaakt: {{created}}, Bijgewerkt: {{updated}}" }, "errors": { "loadStatus": "Kan NinjaOne-verbindingsstatus niet laden.", "saveCredentials": "Kan inloggegevens niet opslaan.", "connect": "Kan NinjaOne-verbinding niet starten.", "disconnect": "Kan NinjaOne niet loskoppelen.", "disconnectUnexpected": "Er is een onverwachte fout opgetreden tijdens het loskoppelen.", "orgSyncFailed": "Organisatiesynchronisatie mislukt.", "deviceSyncFailed": "Apparaatsynchronisatie mislukt." }, "compliance": { "actions": { "retry": "Opnieuw proberen", "syncing": "Synchroniseren...", "syncPatches": "Patches synchroniseren", "syncSoftware": "Software synchroniseren" }, "description": "Overzicht van apparaatgezondheid beheerd door RMM", "loading": "Nalevingsgegevens laden...", "metrics": { "devicesOffline": "Apparaten offline", "devicesOnline": "Apparaten online", "devicesWithAlerts": "Apparaten met waarschuwingen", "patchesFailed": "Patches mislukt", "patchesPending": "Patches in behandeling" }, "noData": "Geen nalevingsgegevens beschikbaar", "summaryError": "Kan nalevingsoverzicht niet laden", "title": "Fleet-naleving" } }, "setup": { "activeConfiguration": "Actieve configuratie", "comingSoon": "RMM-integratie binnenkort beschikbaar", "configure": "Integratie configureren", "selected": "{{title}} geselecteerd", "title": "RMM-integraties", "backToList": "Alle RMM-integraties", "loadingProvider": "Integratie-instellingen voor {{title}} laden...", "status": { "connected": "Verbonden", "connectedOneDevice": "Verbonden · 1 apparaat", "connectedWithDevices": "Verbonden · {{count}} apparaten", "notConnected": "Niet verbonden", "syncError": "Synchronisatiefout" } }, "tactical": { "actions": { "disconnect": "Verbinding verbreken", "disconnecting": "Verbinding verbreken...", "ingestSoftware": "Software opnemen", "ingesting": "Opnemen...", "refresh": "Vernieuwen", "save": "Opslaan", "saving": "Opslaan...", "syncAlerts": "Waarschuwingen synchroniseren", "syncClients": "Klanten synchroniseren", "syncDevices": "Apparaten synchroniseren", "syncing": "Synchroniseren...", "testConnection": "Verbinding testen", "testing": "Testen..." }, "auth": { "apiKey": "API-sleutel", "enterApiKey": "API-sleutel invoeren", "enterPassword": "Wachtwoord invoeren", "enterUsername": "Gebruikersnaam invoeren", "knox": "Knox", "knoxOption": "Gebruikersnaam/wachtwoord (Knox-token)", "knoxTokenSaved": "Knox-token opgeslagen: {{value}}", "mode": "Authenticatie", "password": "Wachtwoord", "saved": "Opgeslagen: {{value}}", "savedEnterToUpdate": "Opgeslagen (invoeren om bij te werken)", "totp": "TOTP-code", "username": "Gebruikersnaam" }, "autoSync": "Automatische synchronisatie", "client": { "loading": "Klanten laden…", "select": "Klant selecteren" }, "counts": { "activeAlerts": "Actieve waarschuwingen", "lastSync": "Laatste synchronisatie", "mappedOrgs": "Toegewezen organisaties", "never": "Nooit", "syncedDevices": "Gesynchroniseerde apparaten" }, "description": "Verbind Tactical RMM om assets te synchroniseren en waarschuwingen op te nemen.", "errors": { "backfillAlerts": "Backfill van waarschuwingen mislukt", "connectionTest": "Verbindingstest mislukt", "disconnect": "Verbinding verbreken mislukt", "ingestSoftware": "Software opnemen mislukt", "loadOrgMappings": "Organisatie-toewijzingen laden mislukt", "loadSettings": "Tactical RMM-instellingen laden mislukt", "saveConfig": "Tactical RMM-configuratie opslaan mislukt", "someAlertsFailed": "Sommige waarschuwingen konden niet worden bijgewerkt: {{errors}}", "someDevicesFailed": "Sommige apparaten konden niet worden gesynchroniseerd: {{errors}}", "someOrgsFailed": "Sommige organisaties konden niet worden gesynchroniseerd: {{errors}}", "someSoftwareFailed": "Sommige softwarerijen konden niet worden opgenomen: {{errors}}", "syncDevices": "Apparaatsynchronisatie mislukt", "syncOrgs": "Organisatiesynchronisatie mislukt", "totpRequired": "TOTP is vereist. Voer uw huidige code in en test opnieuw.", "updateMapping": "Toewijzing bijwerken mislukt" }, "fields": { "instanceUrl": "Instance-URL", "instanceUrlHelp": "Gebruik de Tactical API-host — het subdomein api., bijv. https://api.example.com. Niet de dashboard-URL (rmm.) en geen afsluitende /api.", "betaApiNote": "Vereist dat de Beta-API van Tactical op de server is ingeschakeld: stel BETA_API_ENABLED = True in Tactical in en start het opnieuw op. Zonder de Beta-API mislukken de verbindingstest en de synchronisatie." }, "lastError": "Laatste fout: {{error}}", "loadingSettings": "Tactical RMM-instellingen worden geladen...", "sections": { "alerts": "Waarschuwingen", "alertsDescription": "Optioneel: historische of actieve waarschuwingen uit Tactical opnemen in Alga.", "devices": "Apparaten", "devicesDescription": "Synchroniseer Tactical-agents naar Alga-assets voor toegewezen organisaties.", "orgMapping": "Organisatie-toewijzing", "orgMappingDescription": "Wijs elke Tactical-klant toe aan een Alga-klant en regel automatische synchronisatie per organisatie.", "orgMappingEmpty": "Geen organisaties gevonden. Voer eerst \"Klanten synchroniseren\" uit.", "organizations": "Organisaties", "organizationsDescription": "Synchroniseer Tactical-klanten in Alga-organisatie-toewijzingen en wijs ze vervolgens toe aan Alga-klanten.", "softwareInventory": "Software-inventaris", "softwareInventoryDescription": "Optioneel: opname van gecachte software-inventaris via Tactical /api/software/ (geen verversingsaanroepen per agent).", "webhooks": "Webhooks (waarschuwingen)", "webhooksDescription": "Configureer een Tactical-webhook voor waarschuwingsacties met de gedeelde secret-header hieronder." }, "status": { "authPrefix": "Auth:", "connected": "Verbonden", "disconnected": "Niet verbonden", "instanceUrlNotSet": "Instance-URL niet ingesteld" }, "statusLine": { "configured": "Status: Geconfigureerd", "notConfigured": "Status: Niet geconfigureerd" }, "success": { "alertBackfillCompleted": "Backfill van waarschuwingen voltooid. Verwerkt: {{processed}}, Aangemaakt: {{created}}, Bijgewerkt: {{updated}}, Mislukt: {{failed}}", "connection": "Verbinding geslaagd.", "deviceSyncCompleted": "Apparaatsynchronisatie voltooid. Verwerkt: {{processed}}, Aangemaakt: {{created}}, Bijgewerkt: {{updated}}, Verwijderd: {{deleted}}, Mislukt: {{failed}}", "disconnected": "Verbinding verbroken.", "orgSyncCompleted": "Organisatiesynchronisatie voltooid. Verwerkt: {{processed}}, Aangemaakt: {{created}}, Bijgewerkt: {{updated}}, Mislukt: {{failed}}", "saved": "Tactical RMM-configuratie opgeslagen.", "softwareIngestionCompleted": "Software-opname voltooid. Verwerkt: {{processed}}, Geïnstalleerd/bijgewerkt: {{created}}, Assets bijgewerkt: {{updated}}, Mislukt: {{failed}}" }, "tacticalIdLabel": "Tactical-ID: {{id}}", "title": "Tactical RMM", "toasts": { "alertsSyncedDescription": "Tactical-waarschuwingen zijn opgenomen.", "alertsSyncedTitle": "Waarschuwingen gesynchroniseerd", "backfillFailedTitle": "Backfill mislukt", "connectedDescription": "Tactical RMM-verbinding geverifieerd.", "connectedTitle": "Verbonden", "connectionFailedTitle": "Verbinding mislukt", "devicesSyncedDescription": "Tactical-agents zijn gesynchroniseerd in assets.", "devicesSyncedTitle": "Apparaten gesynchroniseerd", "disconnectFailedTitle": "Verbinding verbreken mislukt", "disconnectedDescription": "Tactical RMM-inloggegevens gewist.", "disconnectedTitle": "Niet verbonden", "ingestionFailedTitle": "Opname mislukt", "orgsSyncedDescription": "Tactical-klanten zijn gesynchroniseerd in organisatie-toewijzingen.", "orgsSyncedTitle": "Organisaties gesynchroniseerd", "saveFailedTitle": "Opslaan mislukt", "savedDescription": "Tactical RMM-configuratie bijgewerkt.", "savedTitle": "Opgeslagen", "softwareIngestedDescription": "Gecachte Tactical-software-inventaris is opgenomen.", "softwareIngestedTitle": "Software opgenomen", "syncFailedTitle": "Synchronisatie mislukt", "unknownError": "Onbekende fout", "updateFailedTitle": "Bijwerken mislukt" }, "webhook": { "copiedTitle": "Gekopieerd", "copy": "Kopiëren", "headerName": "Header-naam", "payloadTemplate": "Payload-sjabloon", "secret": "Header-secret", "secretCopied": "Webhook-secret naar klembord gekopieerd.", "unavailable": "Webhook-informatie niet beschikbaar. (Vereist leesrechten voor instellingen.)", "url": "Webhook-URL", "urlCopied": "Webhook-URL naar klembord gekopieerd." } }, "tanium": { "loading": "Tanium-integratie-instellingen worden geladen...", "actions": { "discoverScopes": "Scopes ontdekken", "disconnect": "Verbinding verbreken", "runInventorySync": "Inventarissynchronisatie uitvoeren", "saveConfiguration": "Configuratie opslaan", "testConnection": "Verbinding testen" }, "connection": { "connectedAt": "Verbonden om: {{time}}", "description": "Configureer Tanium Gateway-inloggegevens en verifieer tenantgebonden toegang.", "never": "Nooit", "syncLabel": "Synchronisatie: {{status}}", "syncLabelWithError": "Synchronisatie: {{status}} ({{error}})", "title": "Tanium-verbinding" }, "errors": { "loadMappings": "Kan Tanium-toewijzingen niet laden.", "loadSettings": "Kan Tanium-instellingen niet laden.", "loadState": "Kan Tanium-integratiestatus niet laden.", "saveConfiguration": "Kan Tanium-configuratie niet opslaan.", "testConnectionFailed": "Tanium-verbindingstest mislukt.", "disconnectFailed": "Kan Tanium-integratie niet loskoppelen.", "scopeDiscoveryFailed": "Scope-ontdekking mislukt.", "inventorySyncFailed": "Inventarissynchronisatie mislukt.", "updateMappingFailed": "Kan toewijzing niet bijwerken." }, "fields": { "apiToken": "API-token {{state}}", "apiTokenPlaceholderExisting": "Laat leeg om het bestaande token te behouden", "apiTokenPlaceholderNew": "Plak Tanium API-token", "apiTokenStateRequired": "(vereist)", "apiTokenStateSaved": "(opgeslagen)", "assetApiUrl": "Asset API-URL (optioneel)", "assetApiUrlPlaceholder": "https://example.cloud.tanium.com/plugin/products/asset", "assetFallbackLabel": "Asset API-fallback inschakelen voor dekking van verouderde endpoints", "gatewayUrl": "Gateway-URL", "gatewayUrlPlaceholder": "https://example.cloud.tanium.com" }, "mappings": { "autoSync": "Automatische synchronisatie", "autoSyncDisabled": "Uitgeschakeld", "autoSyncEnabled": "Ingeschakeld", "externalScope": "Externe scope", "loading": "Toewijzingen laden...", "mappedClient": "Toegewezen klant", "noScopes": "Nog geen Tanium-scopes ontdekt.", "scopeIdLabel": "ID: {{id}}", "unmapped": "Niet toegewezen" }, "status": { "connected": "Verbonden", "disconnected": "Niet verbonden", "label": "Status: " }, "success": { "configurationSaved": "Tanium-configuratie opgeslagen.", "connectionTestSucceeded": "Tanium-verbindingstest geslaagd.", "disconnected": "Tanium-integratie losgekoppeld.", "inventorySyncCompleted": "Inventarissynchronisatie voltooid. Verwerkt: {{processed}}, Aangemaakt: {{created}}, Bijgewerkt: {{updated}}", "scopeDiscoveryCompleted": "Scope-ontdekking voltooid. Verwerkt: {{processed}}, Aangemaakt: {{created}}, Bijgewerkt: {{updated}}" }, "sync": { "description": "Ontdek scopes vanuit Tanium-computergroepen, wijs ze toe aan klanten en voer vervolgens inventarissynchronisatie uit.", "title": "Tanium-synchronisatie" } }, "levelio": { "actions": { "backfillAlerts": "Waarschuwingen backfillen", "disconnect": "Verbinding verbreken", "discoverGroups": "Groepen detecteren", "runDeviceSync": "Apparaatsynchronisatie uitvoeren", "saveConfiguration": "Configuratie opslaan", "testConnection": "Verbinding testen" }, "connection": { "connectedAt": "Verbonden: {{time}}", "description": "Maak verbinding met Level (level.io) met een API-sleutel. Sleutels worden in Level aangemaakt onder Settings > API.", "never": "nooit", "syncLabel": "Synchronisatie: {{status}}", "syncLabelWithError": "Synchronisatie: {{status}} ({{error}})", "title": "Level-verbinding" }, "errors": { "alertBackfillFailed": "Backfill van waarschuwingen mislukt", "deviceSyncFailed": "Apparaatsynchronisatie mislukt", "disconnectFailed": "Kan verbinding met Level-integratie niet verbreken", "groupSyncFailed": "Groepsdetectie mislukt", "loadMappings": "Kan Level-groepstoewijzingen niet laden", "loadSettings": "Kan Level-instellingen niet laden", "loadState": "Kan status van Level-integratie niet laden", "loadSummary": "Kan Level-verbindingsoverzicht niet laden", "loadWebhook": "Kan Level-webhookdetails niet laden", "saveConfiguration": "Kan Level-configuratie niet opslaan", "testConnectionFailed": "Verbindingstest mislukt", "updateMappingFailed": "Kan toewijzing niet bijwerken" }, "fields": { "apiKey": "API-sleutel ({{state}})", "apiKeyPlaceholderExisting": "Voer een nieuwe sleutel in om de opgeslagen sleutel te vervangen", "apiKeyPlaceholderNew": "Plak je Level-API-sleutel", "apiKeyStateRequired": "vereist", "apiKeyStateSaved": "opgeslagen" }, "mappings": { "autoSync": "Automatisch synchroniseren", "autoSyncDisabled": "Uitgeschakeld", "autoSyncEnabled": "Ingeschakeld", "group": "Level-groep", "groupIdLabel": "ID: {{id}}", "loading": "Laden…", "mappedClient": "Toegewezen klant", "noGroups": "Nog geen groepen gedetecteerd. Voer eerst Groepen detecteren uit.", "unmapped": "Niet toegewezen" }, "status": { "connected": "Verbonden", "disconnected": "Niet verbonden", "label": "Status: " }, "success": { "alertBackfillCompleted": "Backfill van waarschuwingen voltooid: {{processed}} waarschuwingen verwerkt", "configurationSaved": "Level-configuratie opgeslagen", "connectionTestSucceeded": "Verbinding met Level geslaagd", "deviceSyncCompleted": "Apparaatsynchronisatie voltooid: {{processed}} verwerkt, {{created}} aangemaakt, {{updated}} bijgewerkt", "disconnected": "Level-integratie losgekoppeld", "groupSyncCompleted": "Groepsdetectie voltooid: {{processed}} verwerkt, {{created}} aangemaakt, {{updated}} bijgewerkt" }, "sync": { "description": "Detecteer Level-groepen, wijs ze toe aan klanten en synchroniseer apparaten. Apparaten in niet-toegewezen groepen worden overgeslagen; subgroepen erven de dichtstbijzijnde toegewezen bovenliggende groep.", "summary": "{{mappedGroups}} toegewezen groepen · {{devices}} apparaten · {{activeAlerts}} actieve waarschuwingen", "title": "Synchronisatie & groepstoewijzingen" }, "webhook": { "copied": "Gekopieerd", "copy": "Kopiëren", "description": "Level kan geen webhooks registreren via zijn API. Maak in Level een automatisering met een HTTP POST-actie met de onderstaande URL, header en payload om waarschuwingen in realtime naar Alga te pushen.", "header": "Header: {{name}}", "hideSecret": "Geheim verbergen", "loading": "Webhookdetails worden geladen nadat de integratie is geconfigureerd.", "payload": "Payloadsjabloon", "showSecret": "Geheim tonen", "title": "Waarschuwingswebhook", "url": "Webhook-URL" } } }, "sso": { "msp": { "actions": { "add": "Toevoegen", "refresh": "Vernieuwen", "request": "Aanvragen", "resetChallenge": "Challenge resetten", "revoke": "Intrekken", "saveDomains": "Domeinen opslaan", "saving": "Opslaan…", "verify": "Verifiëren" }, "addDomainLabel": "Aanmeldingsdomein toevoegen", "advisoryNotice": "Adviesmodus: domeinregistratie helpt bij het routeren van MSP SSO-detectie maar vereist geen eigendomsverificatie in Community Edition.", "claimStatus": { "advisory": "Advies", "pending": "In behandeling", "rejected": "Afgewezen", "revoked": "Ingetrokken", "verified": "Geverifieerd", "verifiedLegacy": "Geverifieerd (Legacy)" }, "descriptionCe": "Registreer adviesdomeinen voor de detectie van MSP-aanmeldings-SSO. Eigendomsverificatie wordt niet afgedwongen in Community Edition, en onbeheerde domeinen vallen terug op providers op applicatieniveau van Nine Minds.", "descriptionEe": "Beheer de levenscyclus van domeinclaims voor de detectie van MSP-aanmeldings-SSO-providers. Niet-geclaimde of niet-geschikte domeinen vallen terug op providers op applicatieniveau van Nine Minds.", "dnsHost": "Host:", "dnsInstructions": "Voeg het DNS TXT-record toe en klik vervolgens op Verifiëren:", "dnsValue": "Waarde:", "emptyClaims": "Er zijn nog geen domeinclaims geconfigureerd.", "emptyDomains": "Geen domeinen geconfigureerd. Onbekende domeinen gebruiken de fallback van de provider op applicatieniveau.", "errors": { "conflicts": "Conflicten: {{conflicts}}.", "loadClaims": "MSP SSO-domeinclaims kunnen niet worden geladen.", "loadDomains": "MSP SSO-aanmeldingsdomeinen kunnen niet worden geladen.", "refreshChallenge": "Challenge kan niet worden vernieuwd.", "requestClaim": "Domeinclaim kan niet worden aangevraagd.", "revokeClaim": "Domeinclaim kan niet worden ingetrokken.", "saveDomains": "MSP SSO-aanmeldingsdomeinen kunnen niet worden opgeslagen.", "verifyClaim": "Domeinclaim kan niet worden geverifieerd." }, "fallbackInfo": "Domeinen zonder geschikte tenantclaim gebruiken de SSO-providerconfiguratie op applicatieniveau van Nine Minds.", "loading": "Laden…", "removeDomainAria": "Domein {{number}} verwijderen", "requestClaim": "Claim aanvragen", "requestClaimLabel": "Domeinclaim aanvragen", "title": "MSP SSO-aanmeldingsdomeinen", "toasts": { "claimRequestedDescription": "In behandeling zijnde domeinclaim aangemaakt en verificatiechallenge gegenereerd.", "claimRequestedTitle": "Domeinclaim aangevraagd", "claimUnchangedDescription": "De bestaande in behandeling zijnde claim en challenge zijn al actief.", "claimUnchangedTitle": "Domeinclaim ongewijzigd", "refreshFailedTitle": "Challenge kan niet worden vernieuwd", "refreshedDescription": "Er is een nieuwe verificatiechallenge actief voor deze claim.", "refreshedTitle": "Challenge vernieuwd", "requestClaimFailedTitle": "Domeinclaim kan niet worden aangevraagd", "revokeFailedTitle": "Claim kan niet worden ingetrokken", "revokedDescription": "Tenant-overname voor dit domein is uitgeschakeld.", "revokedTitle": "Domeinclaim ingetrokken", "saveDomainsFailedTitle": "MSP SSO-aanmeldingsdomeinen kunnen niet worden opgeslagen", "savedDescription": "Instellingen voor domeingebaseerde SSO-detectie zijn bijgewerkt.", "savedTitle": "MSP SSO-aanmeldingsdomeinen opgeslagen", "verifiedDescription": "Domeinovername komt nu in aanmerking voor tenantgebonden provider-routing.", "verifiedTitle": "Domeinclaim geverifieerd", "verifyFailedTitle": "Domeinverificatie mislukt" } } }, "teams": { "settings": { "actions": { "activate": "Teams activeren", "addNote": { "description": "Snelle acties voor interne notities toestaan.", "label": "Notitie toevoegen" }, "approvalResponse": { "description": "Snelle acties voor goedkeuren en afwijzen toestaan.", "label": "Goedkeuringsrespons" }, "assignTicket": { "description": "Snelle acties voor tickettoewijzing toestaan.", "label": "Ticket toewijzen" }, "deactivate": "Deactiveren", "logTime": { "description": "Snelle acties voor tijdregistratie toestaan.", "label": "Tijd registreren" }, "reload": "Opnieuw laden", "replyToContact": { "description": "Voor de klant zichtbare snelle antwoordacties toestaan.", "label": "Antwoord naar contact" }, "saveChanges": "Wijzigingen opslaan", "saveDraft": "Concept opslaan", "saving": "Opslaan...", "teamsActive": "Teams actief" }, "capabilities": { "activityNotifications": { "description": "Lever persoonlijke meldingen aan de Teams-activiteitenfeed.", "label": "Activiteitenmeldingen" }, "groupChatBot": { "description": "Sta de bot toe om te reageren in Teams-groepschats. Bot-antwoorden (inclusief ticketgegevens) zijn zichtbaar voor elk lid van de chat.", "label": "Groepschat-bot" }, "messageExtension": { "description": "Schakel opzoek- en berichtgestuurde PSA-acties in.", "label": "Message extension" }, "personalBot": { "description": "Schakel bot-opdrachten in persoonlijk bereik in voor technici.", "label": "Persoonlijke bot" }, "personalTab": { "description": "Start het PSA-toegangspunt als persoonlijk tabblad.", "label": "Persoonlijk tabblad" } }, "checklist": { "installState": { "active": "Teams is actief voor deze tenant.", "error": "De Teams-installatie bevat een fout die moet worden verholpen.", "label": "Installatiestatus Teams", "notConfigured": "Sla een concept op of activeer Teams wanneer de installatie klaar is.", "pending": "Concept-installatie is opgeslagen en klaar voor installatie of toestemming." }, "needsAction": "Actie vereist", "profileReady": { "completed": "Het geselecteerde profiel heeft Client ID, Tenant ID en opgeslagen secret-materiaal.", "label": "Profiel gereed voor Teams-installatie", "pending": "Er is nog geen geselecteerd Teams-profiel gereed." }, "profileSelected": { "completed": "{{name}} is gekoppeld voor Teams.", "label": "Microsoft-profiel geselecteerd", "pending": "Selecteer één geschikt Microsoft-profiel voordat u Teams opslaat of activeert." }, "ready": "Gereed" }, "description": "Koppel Teams aan een Microsoft-profiel, schakel mogelijkheden in en genereer het tenantpakket.", "errors": { "downloadPackage": "Teams-apppakket downloaden mislukt", "generatePackage": "Teams-apppakket genereren mislukt", "loadGuidance": "Teams-installatiehandleiding laden mislukt", "saveSettings": "Teams-instellingen opslaan mislukt" }, "guidance": { "applicationIdUri": "Application ID URI", "messageExtension": "Message extension", "personalBot": "Persoonlijke bot", "personalTab": "Persoonlijk tabblad", "redirectUris": "Redirect-URI's", "requiredScopes": "Vereiste scopes", "teamsAppIdUri": "Teams App ID URI", "unavailable": "Niet beschikbaar" }, "installStatus": { "active": "Actief", "error": "Fout", "installPending": "Installatie in behandeling", "notConfigured": "Niet geconfigureerd" }, "noEligibleProfiles": "Er zijn geen Microsoft-profielen gereed voor Teams. Voltooi eerst de Microsoft-installatie.", "notifications": { "approvalRequest": { "description": "Breng goedkeurders op de hoogte van openstaande beslissingen.", "label": "Goedkeuringsverzoeken" }, "assignment": { "description": "Breng technici op de hoogte wanneer werk wordt toegewezen.", "label": "Toewijzingsgebeurtenissen" }, "customerReply": { "description": "Breng technici op de hoogte wanneer klanten reageren.", "label": "Klantreacties" }, "escalation": { "description": "Breng eigenaars op de hoogte wanneer werk escaleert.", "label": "Escalaties" }, "slaRisk": { "description": "Breng technici op de hoogte wanneer SLA-risicodrempels worden bereikt.", "label": "SLA-risico" } }, "package": { "appId": "App ID", "appIds": "App-ID's", "botId": "Bot-ID", "deepLinks": "Deep links", "description": "Genereer het app-manifest en de installatielinks voor het geselecteerde Microsoft-profiel.", "downloadManifest": "Manifest-JSON downloaden", "downloadZip": "App-pakket downloaden (.zip)", "downloading": "Downloaden...", "fileName": "Bestandsnaam", "generate": "Pakket genereren", "generating": "Genereren...", "manifestVersion": "Manifest-versie", "myWork": "Mijn werk", "openBaseUrl": "PSA-basis-URL openen", "openDeeplink": "Teams deep link openen", "packageVersion": "Pakketversie", "projectTaskTemplate": "Projecttaaksjabloon", "section": "Pakket", "ticketTemplate": "Ticketsjabloon", "title": "Teams-pakket", "validDomains": "Geldige domeinen", "webResource": "Webapplicatiebron" }, "profileLabel": "Microsoft-profiel", "profileSummary": { "needsRepair": "Geselecteerd profiel heeft reparatie nodig", "none": "Geen profiel geselecteerd" }, "section": { "allowedActions": "Toegestane acties", "capabilities": "Mogelijkheden", "notifications": "Meldingen" }, "selectProfile": "Profiel selecteren", "statusMessage": { "activated": "Teams-installatie geactiveerd.", "deactivated": "Teams-installatie gedeactiveerd.", "packageDownloaded": "Teams-apppakket gedownload.", "packageGenerated": "Teams-apppakket gegenereerd.", "saved": "Teams-installatie opgeslagen." }, "title": "Microsoft Teams", "diagnostics": { "title": "Diagnostiek en testbericht", "description": "Controleer de Teams-configuratie en stuur een proactief testbericht naar je Teams-botgesprek.", "run": "Diagnostiek uitvoeren", "running": "Bezig met uitvoeren...", "sendTest": "Testbericht verzenden", "sending": "Bezig met verzenden...", "disabled": "Diagnostiek en testberichten zijn beschikbaar zodra de Teams-integratie actief is.", "completedAt": "Voltooid {{time}}", "lastSuccess": "Laatste succes", "lastFailure": "Laatste fout", "noneRecorded": "Geen geregistreerd", "recommendations": "Aanbevelingen", "status": { "pass": "Geslaagd", "warn": "Waarschuwing", "fail": "Mislukt", "skip": "Overgeslagen" }, "errors": { "run": "Teams-diagnostiek kon niet worden uitgevoerd", "testMessage": "Teams-testbericht kon niet worden verzonden" }, "test": { "sent": "Teams-testbericht verzonden.", "failed": "Teams-testbericht mislukt.", "addonInactive": "De Teams-add-on is niet actief voor deze tenant.", "integrationInactive": "Activeer de Teams-integratie voordat je een testbericht verzendt.", "capabilityDisabled": "Schakel de persoonlijke bot-functie in voordat je een testbericht verzendt.", "botNotConfigured": "Configureer de Teams-botreferenties voordat je een testbericht verzendt.", "missingUserLinkage": "Koppel je Microsoft-account voordat je een Teams-testbericht verzendt.", "missingConversationReference": "Open de Alga PSA-bot in Teams en stuur er eerst een willekeurig bericht naartoe, en probeer het daarna opnieuw.", "skipped": "Het Teams-testbericht is overgeslagen." }, "steps": { "addonEntitlement": "Teams-add-on-recht", "integrationStatus": "Status van Teams-integratie", "capabilities": "Teams-mogelijkheden", "microsoftProfile": "Gereedheid van Microsoft-profiel", "recordingPermissions": "Teams-machtigingen voor opname en transcriptie", "packageMetadata": "Teams-pakketmetadata", "botConnector": "Bot-connectorreferenties", "userLinkage": "Microsoft-accountkoppeling van beheerder", "conversationReference": "Teams-gespreksreferentie van beheerder", "recentDeliveryHealth": "Recente Teams-leveringsstatus" }, "recommendation": { "addon": "Schakel de Microsoft Teams-add-on in voor deze tenant.", "activate": "Activeer de Teams-integratie in de instellingen.", "capabilities": "Schakel de persoonlijke bot en activiteitsmeldingen voor Teams in.", "profile": "Selecteer een gereed Microsoft-profiel voor Teams.", "activeProfile": "Selecteer een actief Microsoft-profiel voor Teams.", "profileCredentials": "Voltooi de Microsoft-profielreferenties voordat je Teams activeert.", "meetingOrganizer": "Configureer de standaard Teams-vergaderingsorganisator in de Teams-instellingen.", "meetingOrganizerObjectId": "Sla de standaard Teams-vergaderingsorganisator opnieuw op zodat Alga PSA de Microsoft Entra-object-ID kan omzetten.", "package": "Genereer het Teams-app-pakket voordat je de end-to-end-validatie uitvoert.", "baseUrl": "Genereer het Teams-pakket opnieuw met een bereikbare basis-URL.", "botEnv": "Configureer TEAMS_BOT_APP_ID, TEAMS_BOT_APP_TENANT_ID en TEAMS_BOT_APP_PASSWORD.", "userLinkage": "Koppel je Microsoft-account in je profielinstellingen.", "conversationReference": "Open de Alga PSA-bot in Teams en stuur er eerst een willekeurig bericht naartoe, en probeer het daarna opnieuw.", "deliveryFailure": "Bekijk de meest recente Teams-leveringsfout en probeer het opnieuw nadat je de oorzaak hebt verholpen." } }, "meetings": { "title": "Onlinevergaderingen en opnamen", "description": "Gebruik één Microsoft-serviceaccount om Teams-vergaderingen te organiseren en te bepalen hoe opnamen worden bewaard.", "organizer": { "label": "Standaard-UPN van vergaderingsorganisator", "placeholder": "scheduler@acme.com", "help": "Bij het opslaan wordt de Microsoft Entra-object-ID die voor Graph-vergaderaanroepen wordt gebruikt, omgezet en opgeslagen.", "resolved": "Omgezette object-ID: {{objectId}}" }, "downloadRecordings": { "label": "Opnamen downloaden naar interne opslag", "description": "Indien ingeschakeld worden opname-blobs naar de tenantopslag gekopieerd, naast de geverifieerde Graph-proxy." }, "exposeRecordingsInPortal": { "label": "Opnamen en transcripties in het klantportaal weergeven", "description": "Standaard uitgeschakeld; MSP-gebruikers kunnen artefacten nog steeds bekijken via de interactie- en afspraakdetails." } } } }, "xero": { "csv": { "clientSync": { "cancel": "Annuleren", "createNew": "Nieuwe klanten aanmaken", "description": "Exporteer klanten naar Xero Contacts CSV of importeer contacten uit Xero.", "errorRow": "Rij {{row}}: {{name}} - {{error}}", "errors": { "export": "Klanten exporteren mislukt", "import": "Klanten importeren mislukt", "processCsv": "CSV-bestand verwerken mislukt" }, "errorsTitle": "Fouten ({{count}})", "exportButton": "Klanten naar CSV exporteren", "exportClients": "Klanten exporteren", "exportDescription": "Exporteer uw Alga-klanten naar een CSV-bestand dat in Xero geïmporteerd kan worden als Contacts.", "exportSuccess": "{{count}} klanten geëxporteerd naar {{filename}}", "importCompleteDescription": "{{count}} contacten succesvol verwerkt.", "importCompleteTitle": "Import voltooid", "importContacts": "Contacten importeren", "importContactsButton": "{{count}} contacten importeren", "importDescription": "Contacten importeren uit een Xero Contacts CSV-export. Bestaande klanten kunnen worden gekoppeld en bijgewerkt.", "importing": "Contacten importeren...", "matchBy": { "algaClientId": "Alga-klant-ID (uit tracking-categorie)", "contactName": "Contactnaam", "emailAddress": "E-mailadres" }, "matchByLabel": "Contacten koppelen op:", "moreErrors": "...en {{count}} fouten meer", "preview": { "columns": { "action": "Actie", "contactName": "Contactnaam", "email": "E-mail", "matchedClient": "Gekoppelde klant" }, "moreWarnings": "...en {{count}} meer", "showing20of": "20 van {{count}} rijen worden weergegeven", "toCreate": "Aan te maken", "toSkip": "Over te slaan", "toUpdate": "Bij te werken", "warnings": "Waarschuwingen" }, "processing": "{{filename}} verwerken...", "result": { "created": "Aangemaakt", "mappings": "Toewijzingen", "skipped": "Overgeslagen", "updated": "Bijgewerkt" }, "selectCsvFile": "CSV-bestand selecteren", "startNewImport": "Nieuwe import starten", "title": "Klantsynchronisatie", "updateExisting": "Bestaande klanten bijwerken", "workflow": { "s1": "Klanten exporteren uit Alga naar Xero Contacts CSV", "s2": "CSV importeren in Xero (Contacts → Import)", "s3": "Na wijzigingen in Xero, contacten exporteren uit Xero", "s4": "De Xero-contacten-CSV terugimporteren in Alga om updates te synchroniseren" }, "workflowTitle": "Klantsynchronisatie-workflow" }, "settings": { "dateFormat": "Datumnotatie", "dateFormatHelp": "Zorg dat dit overeenkomt met uw Xero-regio-instellingen.", "dateFormatOptions": { "dmy": "DD/MM/JJJJ (Dag/Maand/Jaar)", "mdy": "MM/DD/JJJJ (Maand/Dag/Jaar)" }, "defaultCurrency": "Standaardvaluta", "defaultCurrencyHelp": "Laat leeg om de factuurvaluta te gebruiken.", "errors": { "load": "Instellingen laden mislukt", "save": "Instellingen opslaan mislukt" }, "exportSettings": { "description": "Configureer hoe facturen worden geëxporteerd naar CSV-formaat voor Xero.", "title": "CSV-exportinstellingen" }, "loading": "Xero CSV-instellingen worden geladen...", "managedPrefix": "Ga naar", "managedSuffix": "om facturen te selecteren, Xero CSV-exports te genereren, belastingrapporten te importeren en batches te beheren.", "mappings": { "description": "Wijs Alga-klanten, services en belastingcodes toe aan de identifiers die in uw Xero-organisatie worden gebruikt. Deze waarden worden gebruikt bij het genereren van de CSV-export.", "title": "Xero CSV-toewijzingen" }, "overview": { "description": "Exporteer facturen naar CSV voor handmatige import in Xero en importeer belastinggegevens uit Xero-rapporten.", "exportLabel": "Export", "exportText": "Genereer CSV-bestanden die compatibel zijn met de factuurimportfunctie van Xero", "intro": "Deze integratie biedt een alternatief voor op OAuth gebaseerde Xero-connectiviteit:", "note": "Let op: configureer de toewijzingen hieronder voor het exporteren. CSV-exports en belastingimports worden beheerd vanuit Facturatie → Boekhoudexports.", "taxImportLabel": "Belastingimport", "taxImportText": "Bij gebruik van externe belastingberekening belastingbedragen importeren uit het Xero Invoice Details Report", "title": "Xero CSV-integratie" }, "savedMessage": "Instellingen succesvol opgeslagen", "selectCurrency": "Valuta selecteren", "setup": { "acknowledge": "Ik heb de installatie voltooid", "description": "Voltooi deze stappen in Xero voordat u CSV-import/export gebruikt.", "externalInvoiceId": "Externe Factuur-ID", "externalInvoiceIdHelp": "Opties worden automatisch aangemaakt bij het importeren", "sourceSystem": "Source System", "sourceSystemHelp": "Voeg een optie toe met de naam", "step1Description": "Ga in Xero naar Settings → Tracking Categories en maak deze twee categorieën aan:", "step1Title": "Stap 1: Tracking-categorieën aanmaken", "step2Description": "Zorg dat uw Xero-organisatie de benodigde belastingtarieven heeft geconfigureerd onder Settings → Tax Rates.", "step2Title": "Stap 2: Belastingtarieven configureren", "step3Description": "Gebruik de toewijzingssectie hieronder om uw Alga-services te koppelen aan Xero-itemcodes en uw belastingregio's aan Xero-belastingtarieven.", "step3Title": "Stap 3: Services en belastingregio's toewijzen", "title": "Xero-installatie vereist" }, "useInvoiceCurrency": "Factuurvaluta gebruiken", "workflow": { "description": "Hoe facturen te exporteren en belastingberekeningen te importeren.", "export": { "s1": "Ga naar Facturatie → Boekhoudexports", "s2": "Selecteer facturen en kies \"Xero CSV\" als adapter", "s3": "Download het gegenereerde CSV-bestand", "s4": "In Xero: Business → Invoices → Import", "s5": "Upload de CSV en importeer als concept-facturen", "s6": "Xero berekent de belasting op basis van uw belastinginstellingen" }, "exportInvoices": "Facturen exporteren", "import": { "s1": "In Xero: Reports → All Reports → Invoice Details", "s2": "Stel het datumbereik in en exporteer als CSV", "s3": "In Alga: Facturatie → Boekhoudexports → Belasting importeren", "s4": "Upload de CSV van het Xero-rapport", "s5": "Controleer de gekoppelde facturen en bevestig de import" }, "importTax": "Belastingberekeningen importeren", "title": "CSV-workflow", "trackingDescription": "De CSV-export bevat tracking-categoriekolommen die elke Xero-factuur koppelen aan zijn Alga-bron. Wanneer u belasting importeert uit Xero, worden deze tracking-categorieën gebruikt om facturen automatisch te koppelen - geen handmatige afstemming nodig.", "trackingTitle": "Tracking-categorieën voor afstemming" } } }, "live": { "defaultOrganisation": "Standaard Xero-organisatie" }, "settings": { "actions": { "connect": "Xero verbinden", "disconnect": "Xero ontkoppelen", "disconnecting": "Ontkoppelen…", "reconnect": "Xero opnieuw verbinden", "refresh": "Vernieuwen", "saveCredentials": "Xero-inloggegevens opslaan", "saving": "Opslaan…" }, "badges": { "connectionExpired": "Verbinding verlopen", "credentialsReady": "Inloggegevens gereed", "credentialsRequired": "Inloggegevens vereist", "defaultConnected": "Standaardorganisatie verbonden", "noOrganisation": "Geen organisatie verbonden" }, "callback": { "accessDenied": "Xero-toegang werd geweigerd voordat de verbinding was voltooid.", "configMissing": "Xero OAuth kon niet worden gestart omdat het client ID en client secret van de tenant niet volledig waren geconfigureerd.", "connectionsUnmapped": "Xero heeft organisaties geretourneerd, maar geen enkele bevatte de identifiers die nodig zijn om een verbinding op te slaan.", "generic": "Xero heeft een OAuth-fout geretourneerd: {{code}}", "invalidState": "De Xero OAuth-status was ongeldig of verlopen. Start de verbindingsflow opnieuw.", "missingParams": "In de Xero-callback ontbraken vereiste parameters. Start de verbindingsflow opnieuw.", "noConnections": "Xero heeft geen organisaties geretourneerd voor deze aanmelding. Controleer uw Xero-app en organisatietoegang en probeer het opnieuw.", "oauthFailed": "De Xero OAuth-callback is mislukt. Probeer opnieuw verbinding te maken. Als het probleem aanhoudt, controleer uw redirect-URI en scopes." }, "clientIdLabel": "Xero Client ID", "clientIdPlaceholder": "Plak uw tenant-eigen Xero Client ID", "clientSecretLabel": "Xero Client Secret", "clientSecretPlaceholder": "Plak uw tenant-eigen Xero Client Secret", "connectSuccess": "Xero succesvol verbonden. De eerste verbonden organisatie is nu de standaard live Xero-context.", "connection": { "connectionId": "Verbindings-ID: {{id}}", "defaultOrganisation": "Standaardorganisatie", "description": "Start OAuth pas nadat de tenant-eigen Xero-app is geconfigureerd. Ontkoppelen verwijdert opgeslagen Xero-toegangstokens maar behoudt de tenant-eigen app-inloggegevens.", "notConnected": "Er is nog geen live Xero-organisatie verbonden. Sla de inloggegevens op en klik vervolgens op Xero verbinden.", "title": "Live Xero-verbinding", "unknown": "onbekend" }, "credentialsSaved": "Xero-inloggegevens opgeslagen. U kunt nu de live Xero OAuth-flow starten.", "csvAvailableMiddle": "in deze zelfde sectie Boekhouding en beheer exports vanuit", "csvAvailablePrefix": "Als u de voorkeur geeft aan een handmatige workflow, blijf dan gebruiken", "csvAvailableTitle": "Xero CSV blijft beschikbaar", "description": "Configureer tenant-eigen Xero OAuth-inloggegevens, verbind uw standaardorganisatie en behoud live Xero naast de handmatige Xero CSV-workflow.", "disconnectSuccess": "De opgeslagen Xero-verbinding is verwijderd. Tenant-eigen Xero-app-inloggegevens zijn behouden.", "errors": { "disconnect": "Xero ontkoppelen mislukt.", "load": "Xero-instellingen laden mislukt.", "saveCredentials": "Xero-inloggegevens opslaan mislukt." }, "howItWorksDescription": "Sla hier een tenant-eigen Xero Client ID en Client Secret op, voltooi de Xero OAuth-flow, en Alga PSA gebruikt de eerste verbonden Xero-organisatie als standaard live context.", "howItWorksTitle": "Hoe live Xero werkt in deze release", "loading": "Xero-instellingen worden geladen…", "mapping": { "alert": "Xero-items, omzetrekeningen, belastingtarieven en tracking-categorieën worden geladen uit de standaard verbonden organisatie, zodat live exports in v1 de eerste opgeslagen Xero-verbinding kunnen blijven gebruiken.", "descriptionPrefix": "Configureer live Xero-toewijzingen voor de standaard verbonden organisatie. Deze toewijzingen zijn beperkt tot", "placeholderAlert": "De toewijzingsbeheerder wordt beschikbaar nadat de eerste Xero-organisatie is verbonden en ingesteld als standaard live Xero-context.", "placeholderDescription": "Verbind een live Xero-organisatie voordat u live Xero-item- en belastingtoewijzingen configureert.", "title": "Live Xero-toewijzing en -configuratie" }, "noClientId": "Er is nog geen client ID opgeslagen voor deze tenant.", "noClientSecret": "Er is nog geen client secret opgeslagen voor deze tenant.", "redirectUri": "Redirect URI", "requiredScopes": "Vereiste scopes", "storedClientId": "Opgeslagen client ID: {{value}}", "storedClientSecret": "Opgeslagen client secret: {{value}}", "tenantOauthDescription": "Plak de Xero-app-inloggegevens die voor deze tenant zijn geregistreerd. Secret-waarden worden na opslaan nooit meer aan de browser geretourneerd.", "tenantOauthTitle": "Tenant-eigen OAuth-app", "title": "Xero", "xeroCsv": "Xero CSV" } }, "stripe": { "title": "Stripe Payments", "description": "Accepteer creditcardbetalingen voor uw facturen", "connected": { "title": "Stripe verbonden", "publishableKey": "Publishable key: {{key}}..." }, "empty": { "description": "Verbind uw Stripe-account om online betalingen voor facturen te accepteren" }, "actions": { "testConnection": "Verbinding testen", "disconnect": "Verbinding verbreken", "connect": "Stripe verbinden", "connecting": "Verbinden...", "cancel": "Annuleren" }, "form": { "secretKeyLabel": "Secret key", "secretKeyPlaceholder": "sk_live_... of sk_test_...", "publishableKeyLabel": "Publishable key", "publishableKeyPlaceholder": "pk_live_... of pk_test_...", "findKeyPrefix": "Vind dit in uw", "dashboardLink": "Stripe Dashboard → API Keys" }, "webhook": { "heading": "Webhook-configuratie", "configuredAutomatically": "Webhooks automatisch geconfigureerd", "receiveNotifications": "Alga PSA ontvangt betalingsmeldingen voor:", "failedTitle": "Webhook-configuratie mislukt", "failedBody": "Automatische webhook-configuratie mislukt. Klik op Opnieuw proberen om de configuratie opnieuw te proberen.", "configuring": "Configureren...", "retry": "Configuratie opnieuw proberen" }, "disconnectDialog": { "title": "Stripe loskoppelen", "message": "Weet u zeker dat u Stripe wilt loskoppelen? Betaallinks werken dan niet meer.", "confirm": "Verbinding verbreken", "cancel": "Annuleren" }, "toasts": { "connectedWithWebhook": "Stripe verbonden en webhooks automatisch geconfigureerd!", "connectedWebhookFailed": "Stripe verbonden! Let op: automatische webhook-configuratie is mislukt - u moet mogelijk webhooks handmatig configureren in het Stripe Dashboard.", "disconnected": "Stripe losgekoppeld", "connectionSuccess": "Verbinding geslaagd!", "webhookConfigured": "Webhook succesvol geconfigureerd!" }, "errors": { "loadConfig": "Kan Stripe-configuratie niet laden", "connect": "Kan Stripe niet verbinden", "disconnect": "Kan Stripe niet loskoppelen", "testConnection": "Verbindingstest mislukt", "configureWebhook": "Kan webhook niet configureren", "bothKeysRequired": "Voer zowel de secret key als de publishable key in", "secretKeyFormat": "Secret key moet beginnen met sk_", "publishableKeyFormat": "Publishable key moet beginnen met pk_" } } }, "ninjaone": { "selectCompany": "Bedrijf selecteren" } }