{
  "app": {
    "name": "PianoPlanner",
    "tagline": "Slimme planning voor pianotechnici"
  },
  "landing": {
    "features": "Functies",
    "pricing": "Prijzen",
    "myStory": "Mijn Verhaal",
    "privacy": "Privacy",
    "terms": "Voorwaarden",
    "login": "Inloggen",
    "getStarted": "Aan de slag",
    "nowLive": "Gebruikt door pianotechnici in 4 landen",
    "headline": "De slimste bedrijfssoftware voor pianotechnici.",
    "subheadline": "Laat je agenda zichzelf vullen zonder gaten te laten vallen. Optimaliseer je routes, beheer je klanten en piano's, en verminder je administratie. Alles verpakt in één overzichtelijke tool die jouw vak écht begrijpt.",
    "startFree": "Gratis starten",
    "learnMore": "Meer info",
    "heroTitle": "Piano planning, vereenvoudigd.",
    "heroSubtitle": "Slimme planning speciaal voor pianotechnici. AI-routeoptimalisatie, automatische herinneringen en een boekingspagina waar klanten dol op zijn.",
    "heroCta": "Gratis proberen",
    "heroCta2": "Bekijk hoe het werkt",
    "everythingYouNeed": "Alles wat je nodig hebt.",
    "builtFor": "Gebouwd door en voor pianotechnici. Elke feature ontworpen om je tijd te besparen.",
    "featuresTitle": "Alles wat je nodig hebt",
    "featuresSubtitle": "Professionele tools speciaal ontworpen voor pianotechnici.",
    "storyInvoiceTitle": "Factureer direct, krijg sneller betaald",
    "storyInvoiceDesc": "De pianostemmer is thuis en de rekening is al verstuurd — met betaallink. Maak professionele facturen vanuit je agenda, verstuur ze per mail en ontvang betaling via iDEAL / Wero. Geen apart boekhoudprogramma nodig.",
    "storyInvoiceF1": "1-klik factuur vanuit je agenda — klantgegevens automatisch ingevuld",
    "storyInvoiceF2": "iDEAL / Wero betaallink via Mollie — klant betaalt direct online",
    "storyInvoiceF3": "Professionele PDF met eigen briefpapier en automatische nummering",
    "storyInvoiceF4": "Factuur aanmaken op je telefoon — iPhone & Android, ook onderweg",
    "storyInvoiceF5": "Koppeling met Jortt, Odoo en meer — UBL e-facturatie",
    "storyPlanTitle": "Plan slimmer, rij minder",
    "storyPlanDesc": "Zie in één oogopslag hoe efficiënt je dag is. Combineer afspraken in dezelfde regio en bespaar uren reistijd per week.",
    "storyPlanF1": "Kleurgecodeerde route-efficiëntie per afspraak",
    "storyPlanF2": "AI-suggesties: cluster nabije klanten automatisch",
    "storyPlanF3": "Waarschuwingen bij te krappe planning + 1-click oplossing",
    "storyPlanF4": "Kilometerregistratie met zakelijk/privé splitsing",
    "storyWorkshopTitle": "Werkplaats & projecten",
    "storyWorkshopDesc": "Beheer revisies en werkplaatsklussen van offerte tot oplevering. Plan taken, registreer uren en houd overzicht over capaciteit.",
    "storyWorkshopF1": "Projectplanner met taken, deadlines en voortgang",
    "storyWorkshopF2": "Urenregistratie: werkplaatsafspraken boeken op project",
    "storyWorkshopF3": "Offertes: arbeid, materialen & kosten in PDF",
    "storyWorkshopF4": "Weekcapaciteit: zie direct hoeveel ruimte je hebt",
    "storyPianoTitle": "Elke piano, elk detail",
    "storyPianoDesc": "Complete servicehistorie per piano. Klanten boeken zelf via hun persoonlijke link. Theaters krijgen eigen avond-slots.",
    "storyPianoF1": "Servicehistorie, notities en foto's per instrument",
    "storyPianoF2": "Persoonlijke boekingslinks met vooringevulde gegevens",
    "storyPianoF3": "Theater-modus: aparte uren voor concertzalen en podia",
    "storyPianoF4": "Automatische stemherinneringen op basis van interval",
    "bannerSyncTitle": "Agenda Sync",
    "bannerSyncDesc": "2-way sync met Google, Apple & Microsoft 365. Of gebruik iCal — werkt met elke agenda-app.",
    "bannerMobileTitle": "Overal toegang",
    "bannerMobileDesc": "PWA op je homescreen. Werkt offline. Push notificaties bij nieuwe boekingen.",
    "bannerPrivacyTitle": "100% Nederlands",
    "bannerPrivacyDesc": "Data op Nederlandse servers. Geen Big Tech cloud. Volledig AVG-compliant.",
    "compactEmailTitle": "Professionele e-mails",
    "compactEmailDesc": "Bevestigingen & herinneringen in 4 talen. Eigen SMTP domein.",
    "compactPrivateTitle": "Privé afspraken",
    "compactPrivateDesc": "Persoonlijke ritten apart. Synct als 'Bezet' zonder details.",
    "compactWalkInTitle": "Inloop & snel plannen",
    "compactWalkInDesc": "Direct inplannen vanuit dashboard. Geen klantrecord nodig.",
    "compactInvoiceTitle": "Facturering in 1 klik",
    "compactInvoiceDesc": "Maak facturen vanuit je agenda. Direct betaallink via Mollie of Stripe.",
    "compactLangTitle": "4 talen",
    "compactLangDesc": "Nederlands, Engels, Duits en Frans. Klant ziet eigen taal.",
    "desktopTitle": "Krachtig op desktop.",
    "desktopDesc": "Volledige dashboard-ervaring op je Mac of PC. Beheer je hele bedrijf vanuit één scherm.",
    "desktopFeature1": "Compleet dashboard overzicht",
    "desktopFeature2": "Sleep & verplaats afspraken",
    "desktopFeature3": "Slimme route optimalisatie",
    "desktopFeature4": "Agenda sync & integraties",
    "mobileTitle": "Je planning, overal.",
    "mobileDesc": "Zet PianoPlanner op je homescreen. Werkt als een echte app — ook zonder internet.",
    "mobileFeature1Title": "Zet op je homescreen",
    "mobileFeature1Desc": "Eén tik om te installeren. Geen app store nodig.",
    "mobileFeature2Title": "Werkt offline",
    "mobileFeature2Desc": "Bekijk afspraken en klanten zonder internet.",
    "mobileFeature3Title": "Push notificaties",
    "mobileFeature3Desc": "Meldingen bij nieuwe boekingen en herinneringen.",
    "mobileFeature4Title": "Veegnavigatie",
    "mobileFeature4Desc": "Swipe om te navigeren. Trek omlaag om te verversen.",
    "ctaTitle": "Klaar om je agenda te stroomlijnen?",
    "ctaSubtitle": "Sluit je aan bij pianotechnici die uren per week besparen.",
    "ctaButton": "Gratis proberen",
    "footerTagline": "Slimme planning voor pianotechnici",
    "startToday": "Start vandaag gratis",
    "joinTechnicians": "Sluit je aan bij pianotechnici die elke week uren besparen met slimmere planning.",
    "yourName": "Je naam",
    "password": "Wachtwoord (min. 8 tekens)",
    "createAccount": "Maak gratis account",
    "accountCreated": "Account aangemaakt!",
    "awaitingApproval": "Je account wacht op goedkeuring. Je ontvangt een e-mail zodra het is geactiveerd.",
    "installApp": "Installeer App",
    "gettingStarted": {
      "title": "Snel aan de slag met PianoPlanner",
      "subtitle": "Volg deze 6 stappen in de setup-wizard. Binnen 5 minuten staat jouw slimme planning klaar.",
      "step1Title": "Bedrijfsgegevens",
      "step1Desc": "Zorg dat je communicatie er professioneel uitziet.",
      "step1Item1": "Vul je bedrijfsnaam en adres in.",
      "step1Item2": "Je adres wordt automatisch aangevuld voor nauwkeurige routeplanning.",
      "step2Title": "Je Diensten",
      "step2Item1": "Voeg je diensten toe (bijv. \"Stemmen\", \"Taxatie\", \"Concertservice\").",
      "step2Item2": "Geef per dienst de standaard tijdsduur en prijs aan.",
      "step3Title": "Reistijd Voorkeuren",
      "step3MaxTravel": "Max. Reistijd:",
      "step3MaxTravelDesc": "Hoe lang wil je maximaal rijden naar een klant?",
      "step3Buffer": "Buffer:",
      "step3BufferDesc": "Hoeveel tijd wil je standaard tussen afspraken?",
      "step4Title": "Agenda Koppelen",
      "step4Desc": "Zie uw stemafspraken in uw eigen vertrouwde agenda.",
      "step4Google": "Twee-weg sync, meest compleet",
      "step4Apple": "Naadloze integratie",
      "step4Ical": "Werkt met elke agenda-app",
      "step5Title": "Je Eerste Testklant",
      "step5Item1": "Maak een fictieve klant aan (of jezelf).",
      "step5Item2": "Voeg een piano toe aan deze klant.",
      "step5Tip": "💡 Zo zie je direct hoe het klant-dossier eruitziet.",
      "step6Title": "Klaar voor de start! 🎉",
      "step6Desc": "Je dashboard is nu actief. Dit moet je weten over de kleuren:",
      "step6Green": "Afspraken die efficiënt gepland zijn (weinig reistijd)",
      "step6Red": "Afspraken die ver uit elkaar liggen — gebruik Smart Appointment!",
      "step6ShareLink": "Deel je link:",
      "step6ShareLinkDesc": "Stuur klanten jouw persoonlijke boekingslink en laat de agenda zichzelf vullen."
    },
    "skipNav": "Ga naar inhoud",
    "creatingAccount": "Account aanmaken...",
    "passwordTooShort": "Wachtwoord moet minimaal 8 tekens zijn",
    "signupError": "Er ging iets mis.",
    "connectionError": "Verbindingsfout.",
    "trialInfo": "30 dagen gratis · Geen creditcard nodig · Direct aan de slag",
    "notifTitle": "Nieuwe Boeking!",
    "notifText": "Jan de Vries - Stembeurt",
    "storyReminderTitle": "Nooit meer handmatig herinneren",
    "storyReminderDesc": "PianoPlanner stuurt automatisch stemherinneringen op het juiste moment. Met slimme follow-ups en een boekingslink zodat klanten zelf een afspraak inplannen.",
    "storyReminderF1": "Automatische e-mail op basis van steminterval",
    "storyReminderF2": "Slimme follow-ups: tot 4 herinneringen per cyclus",
    "storyReminderF3": "Directe boekingslink in elke herinnering",
    "storyReminderF4": "Uitschrijflink — 100% AVG-compliant",
    "compactRouteFillTitle": "Route vullen",
    "compactRouteFillDesc": "Vind klanten nabij een locatie die aan stembeurt toe zijn. Verstuur uitnodigingen in één klik.",
    "demoPaid": "Betaald ✓",
    "demoTuningDesc": "Stembeurt — Steinway & Sons D",
    "demoPaymentLink": "iDEAL / Wero betaallink",
    "demoPdfSent": "PDF verstuurd",
    "demoNew": "NIEUW",
    "demoTravelSaved": "-2u reistijd",
    "demoRevision": "Revisie Steinway",
    "demoHoursProgress": "17.5 / 26.0 uur • 4 taken klaar",
    "demoStrings": "✓ Snaren",
    "demoHammers": "✓ Hamers",
    "demoIntonation": "⏳ Intonatie",
    "demoRegulation": "○ Afregelen",
    "demoPianoDetail": "Fam. De Vries • Laatst gestemd: 14 jan 2026",
    "demoTuningJan": "✓ Stembeurt jan '26",
    "demoRegulationOct": "✓ Regulatie okt '25",
    "demoPhotos": "📎 Foto's",
    "demoAutoReminders": "Automatische herinneringen",
    "demoReminder1": "Herinnering 1",
    "demo14days": "+14 dagen",
    "demoReminder2": "Herinnering 2",
    "demoBooked": "Geboekt!",
    "demoBookingInEmail": "Boekingslink in e-mail",
    "tryFree": "Gratis proberen"
  },
  "launcher": {
    "agenda": "Agenda",
    "customers": "Klanten",
    "pianos": "Piano's",
    "smart": "Smart",
    "share": "Deel boekingslink",
    "tagline": "Jouw pianostemmingen, slim gepland"
  },
  "nav": {
    "home": "Home",
    "pricing": "Prijzen",
    "dashboard": "Dashboard",
    "agenda": "Agenda",
    "customers": "Klanten",
    "pianos": "Piano's",
    "travelReport": "Ritten",
    "invoices": "Facturen",
    "routeOptimizer": "Route Optimizer",
    "settings": "Instellingen",
    "guide": "Handleiding",
    "support": "Support",
    "help": "Help",
    "logout": "Uitloggen",
    "loggingOut": "Uitloggen...",
    "upgrade": "Upgraden",
    "admin": "Admin",
    "billing": "Abonnement",
    "projects": "Projecten",
    "pageHelp": "Hulp bij deze pagina",
    "helpDashboard": "Plan afspraken, gebruik Smart Pick voor slimme suggesties en beheer je agenda met kleurcodes en herinneringen.",
    "helpCustomers": "Beheer klanten, deel persoonlijke boekingslinks, bekijk stemstatus en vul routes slim aan met Route Vullen.",
    "helpPianos": "Registreer piano's, stel stemintervallen in, volg de status met kleurcodes en bekijk de onderhoudshistorie.",
    "helpProjects": "Maak werkplaatsprojecten aan, beheer taken, koppel afspraken en volg de voortgang met deadlines.",
    "helpTravel": "Registreer reiskosten per afspraak, bekijk maandoverzichten en exporteer voor je boekhouding.",
    "helpInvoices": "Maak facturen, verstuur per e-mail, volg betalingen en pas de layout aan met je eigen gegevens.",
    "helpSettings": "Configureer je bedrijfsgegevens, e-mail templates, stemherinneringen, werkuren en agenda-integraties.",
    "helpGuide": "Bekijk de volledige handleiding met uitleg over alle functies van PianoPlanner.",
    "helpSupport": "Neem contact op met support voor vragen, bugs of functie-verzoeken.",
    "reminders": "Herinneringen",
    "calendar": "Agenda"
  },
  "routeOptimizer": {
    "title": "Route Optimizer",
    "subtitle": "Optimaliseer je planning en bespaar kilometers",
    "efficiencyScore": "Route Efficiëntie",
    "calculating": "Berekenen...",
    "appointments": "Afspraken",
    "totalKm": "Totaal km",
    "avgPerTrip": "Gem. per rit",
    "outliers": "Uitschieters",
    "suggestions": "Optimalisatie Suggesties",
    "noSuggestions": "Geen suggesties",
    "planningOptimal": "Je planning is al optimaal!",
    "weekOverview": "Week Overzicht",
    "suggestedTime": "Voorgestelde tijd",
    "accept": "Accepteren",
    "dismiss": "Negeren",
    "rescheduled": "Afspraak verplaatst!",
    "rescheduleError": "Fout bij verplaatsen",
    "noTimeAvailable": "Geen tijd beschikbaar",
    "errorLoading": "Fout bij laden van data",
    "noData": "Geen data beschikbaar",
    "noApiKey": "Google Maps API key niet geconfigureerd",
    "potentialSavings": "Bespaar tot {km} km",
    "gradeA": "Uitstekende route planning!",
    "gradeB": "Goede route planning",
    "gradeC": "Acceptabele planning",
    "gradeD": "Kan verbeterd worden",
    "gradeF": "Sterke verbetering mogelijk",
    "outlier": "Uitschieter",
    "centroid": "Centrum {day}",
    "week": "Week",
    "month": "Maand"
  },
  "days": {
    "monday": "Maandag",
    "tuesday": "Dinsdag",
    "wednesday": "Woensdag",
    "thursday": "Donderdag",
    "friday": "Vrijdag",
    "saturday": "Zaterdag",
    "sunday": "Zondag"
  },
  "smartWizard": {
    "title": "Slimme Afspraak",
    "button": "Slimme Afspraak",
    "step1": "Klant",
    "step2": "Piano",
    "step3": "Afspraak",
    "dayStatus": "Dagstatus",
    "done": "Klaar",
    "busy": "Bezig",
    "toDo": "Te doen",
    "currentAppointment": "Lopende afspraak",
    "noActiveAppointment": "Geen actieve afspraak",
    "nextAppointmentHere": "Je volgende afspraak verschijnt hier",
    "todayRemaining": "Vandaag nog",
    "toComplete": "Af te werken",
    "selectOrAddCustomer": "Klant selecteren of toevoegen",
    "searchOrCreate": "Zoek een bestaande klant of maak een nieuwe aan",
    "searchExistingOrCreate": "Zoek een bestaande klant of maak een nieuwe aan",
    "searchExisting": "Bestaande klant zoeken",
    "searchExistingCustomer": "Bestaande klant zoeken",
    "searchPlaceholder": "Typ naam, email of telefoonnummer...",
    "searchCustomerPlaceholder": "Naam, e-mail of telefoonnummer...",
    "or": "of",
    "createNewCustomer": "Nieuwe klant aanmaken",
    "name": "Naam",
    "email": "E-mail",
    "phone": "Telefoon",
    "phonePlaceholder": "+31 6 12345678",
    "address": "Adres",
    "addressSearch": "Adres zoeken",
    "addressSearchPlaceholder": "Begin te typen voor suggesties...",
    "street": "Straat + huisnr",
    "postalCode": "Postcode",
    "city": "Plaats",
    "cityRequired": "Plaats *",
    "notes": "Notities",
    "saveCustomer": "Klant opslaan",
    "selectOrAddPiano": "Piano selecteren of toevoegen",
    "selectExistingOrRegister": "Kies een bestaande piano of registreer een nieuwe",
    "customerPianos": "Piano's van deze klant",
    "selectCustomerFirst": "Selecteer eerst een klant",
    "addNewPiano": "Nieuwe piano toevoegen",
    "brand": "Merk",
    "model": "Model",
    "type": "Type",
    "typeUpright": "Piano",
    "typeGrand": "Vleugel",
    "typeDigital": "Digitale piano",
    "buildYear": "Bouwjaar",
    "serialNumber": "Serienummer",
    "finish": "Afwerking",
    "finishBlackPolish": "Zwart hoogglans",
    "finishBlackMatte": "Zwart mat",
    "finishWhitePolish": "Wit hoogglans",
    "finishWhiteMatte": "Wit mat",
    "finishWood": "Hout",
    "finishOther": "Anders",
    "location": "Locatie",
    "floor": "Verdieping",
    "floorGround": "Begane grond",
    "floor1": "1e verdieping",
    "floor2": "2e verdieping",
    "floor3": "3e verdieping",
    "floorBasement": "Kelder",
    "condition": "Conditie",
    "conditionExcellent": "Uitstekend",
    "conditionGood": "Goed",
    "conditionFair": "Redelijk",
    "conditionPoor": "Matig",
    "tuningInterval": "Steminterval",
    "tuningPitch": "Stemhoogte",
    "tuningPitchPlaceholder": "bijv. 440 Hz",
    "tuningData": "Stemdata",
    "climateControl": "Klimaatcontrole",
    "climateControlActive": "Actief",
    "interval6months": "6 maanden",
    "interval12months": "12 maanden",
    "interval18months": "18 maanden",
    "interval24months": "24 maanden",
    "intervalOnRequest": "Op aanvraag",
    "savePiano": "Piano opslaan",
    "aiSuggestions": "AI Suggesties",
    "smartRecommendations": "Slimme aanbevelingen op basis van locatie en agenda",
    "chooseService": "Service kiezen",
    "selectService": "-- Selecteer service --",
    "smartestMoments": "Slimste momenten",
    "calculatedBasedOn": "Automatisch berekend op basis van je agenda en reistijd",
    "findingBestMoments": "Beste momenten zoeken...",
    "selectServiceToSee": "Selecteer een service om de slimste momenten te zien",
    "loadMoreOptions": "Meer opties laden",
    "chosenMoment": "Gekozen moment",
    "sendConfirmationEmail": "Stuur bevestigingsmail naar klant",
    "sendConfirmationEmailTo": "Bevestigingsmail sturen naar",
    "createAppointment": "Afspraak aanmaken",
    "customerHasNoPianos": "Deze klant heeft nog geen piano's. Voeg er een toe!",
    "monthsAgoTuned": "mnd geleden gestemd",
    "noTuningKnown": "Geen stembeurt bekend",
    "months": "maanden",
    "monthsAgo": "maanden geleden",
    "pianoOverdueAlert": "Deze piano is al",
    "notTuned": "niet gestemd",
    "tuningRecommended": "Een stembeurt wordt aanbevolen!",
    "noTuningKnownForPiano": "Geen stembeurt bekend voor deze piano. Dit kan de eerste afspraak zijn.",
    "lastTuning": "Laatste stembeurt",
    "pianoWellMaintained": "Piano is goed onderhouden.",
    "lastTuningWas": "Laatste stembeurt was",
    "lastTuningColon": "Laatste stembeurt:",
    "considerCheckup": "Overweeg een controle.",
    "noRecentTuningKnown": "Geen recente stembeurt bekend. Een eerste controle wordt aanbevolen.",
    "findingMoreOptions": "Meer opties zoeken...",
    "calculatingBestMoment": "Beste moment berekenen...",
    "smartSearching": "We zijn voor u aan het kijken...",
    "noMomentsFound": "Geen beschikbare momenten gevonden in de komende weken. Controleer je agenda-instellingen.",
    "errorFindingMoments": "Fout bij zoeken naar beschikbare momenten.",
    "bestChoice": "Beste keuze",
    "preferOtherMoment": "Liever een ander moment? Kies zelf",
    "backToBestChoice": "Terug naar beste keuze",
    "viewRoute": "Bekijk route",
    "saved": "bespaard",
    "after": "Na",
    "chooseOrRegister": "Kies een bestaande piano of registreer een nieuwe",
    "customerNotesPlaceholder": "Optionele notities over deze klant...",
    "pianoNotesPlaceholder": "Bijzonderheden, geschiedenis, specifieke aandachtspunten...",
    "streetAndNumber": "Straat en huisnummer",
    "fullNamePlaceholder": "Volledige naam",
    "customerNotInSystem": "Klant nog niet in systeem",
    "addPianoForCustomer": "Piano toevoegen voor klant",
    "locationOptional": "Locatie (optioneel)",
    "whatNeedsDone": "Wat moet er gebeuren?",
    "basedOnCalendarAndTravel": "Op basis van agenda en reistijd",
    "filterMorning": "Ochtend",
    "filterAfternoon": "Middag",
    "filterEvening": "Avond",
    "tabCalendar": "Agenda",
    "tabCustomers": "Klanten",
    "tabPianos": "Piano's",
    "tabSmart": "Smart",
    "enterName": "Vul een naam in",
    "noPianosForCustomer": "Nog geen piano's voor deze klant",
    "enterBrand": "Vul een merk in",
    "calculatingSuggestions": "Slimme suggesties berekenen...",
    "noAvailableMoments": "Geen beschikbare momenten gevonden",
    "errorLoadingSuggestions": "Fout bij laden van suggesties",
    "appointmentPlanned": "Afspraak gepland!",
    "confirmationEmailSent": "Bevestigingsmail is verzonden",
    "goToCalendar": "Naar agenda",
    "badgeBest": "Beste",
    "badgeWorkshop": "Werkplaats",
    "badgeRemote": "Remote",
    "badgeRoute": "Route",
    "badgeNearby": "Dichtbij",
    "noTravelTime": "Geen reistijd",
    "daySunday": "zondag",
    "dayMonday": "maandag",
    "dayTuesday": "dinsdag",
    "dayWednesday": "woensdag",
    "dayThursday": "donderdag",
    "dayFriday": "vrijdag",
    "daySaturday": "zaterdag",
    "nameRequired": "Naam *",
    "emailPlaceholder": "email@voorbeeld.nl",
    "brandRequired": "Merk *",
    "brandPlaceholder": "bijv. Steinway",
    "modelPlaceholder": "bijv. Model D",
    "yearPlaceholder": "bijv. 1985",
    "locationPlaceholder": "Als piano elders staat",
    "filterAll": "Alle",
    "noCustomersFound": "Geen klanten gevonden",
    "errorSavingCustomer": "Fout bij opslaan van klant",
    "loadingPianos": "Piano's laden...",
    "errorLoadingPianos": "Fout bij laden van piano's",
    "errorSavingPiano": "Fout bij opslaan van piano",
    "fillAllFields": "Vul alle velden in",
    "errorCreatingAppointment": "Fout bij aanmaken van afspraak",
    "travelTime": "Reistijd",
    "furtherAway": "Verder weg",
    "preferOtherMomentCount": "Liever een ander moment? {{count}} alternatieven beschikbaar"
  },
  "dashboard": {
    "title": "Dashboard",
    "howToUse": "Hoe werkt het?",
    "guideTitle": "Agenda - Handleiding",
    "guideSchedule": "Afspraak inplannen",
    "guideScheduleDesc": "Klik op een tijdslot in de agenda of gebruik de + knop. Vul klant, locatie, tijd en duur in. Smart Pick suggereert automatisch de beste piano's voor onderhoud.",
    "guideLocation": "Locatietypes",
    "guideLocationDesc": "Kies 'Bij klant' voor afspraken op locatie, of 'Werkplaats' om uren te koppelen aan een revisieproject. De gekoppelde uren worden automatisch bijgehouden.",
    "guideSmartPick": "Smart Pick",
    "guideSmartPickDesc": "Smart Pick markeert aanbevolen tijdslots met een gele gloed. Dit is gebaseerd op steminterval, laatste stembeurt en seizoen. Piano's die te laat zijn krijgen een waarschuwing.",
    "guideReminders": "Herinneringen",
    "guideRemindersDesc": "Stuur klanten een bevestigingsmail bij het inplannen (optioneel vinkje). Daarnaast kun je automatische herinneringen instellen. Pas de e-mailtemplates aan in Instellingen.",
    "guideColors": "Kleurcodes agenda",
    "guideColorsDesc": "Afspraken krijgen automatisch een kleur op basis van reistijd:",
    "guideColorGreen": "Groen — korte reistijd, efficiënte route",
    "guideColorOrange": "Oranje — gemiddelde reistijd",
    "guideColorRed": "Rood — lange reistijd",
    "guideColorDefault": "Standaard — geen reistijddata bekend",
    "guideColorPrivate": "Paars — privé afspraak",
    "guideTip": "<strong>Tip:</strong> Gebruik de weekweergave voor overzicht of dagweergave voor details. Sleep afspraken om ze te verplaatsen. Dubbelklik om te bewerken.",
    "currentAppointment": "Lopende afspraak",
    "dayStatus": "Dagstatus",
    "done": "Klaar",
    "inProgress": "Bezig",
    "toDo": "Te doen",
    "upcomingToday": "Vandaag nog",
    "noActiveAppointment": "Geen actieve afspraak",
    "nextAppointmentAppears": "Je volgende afspraak verschijnt hier",
    "toProcess": "Af te werken",
    "openPayments": "Open betalingen",
    "openPaymentsHint": "Bekijk en factureer in Facturen →",
    "missingAddressesTitle": "{count} afspraken zonder adres",
    "missingAddressesSub": "Reistijden kunnen niet berekend worden",
    "missingAddressesEdit": "Bewerken",
    "missingAddressesMore": "meer",
    "payStatusPending": "Nog te factureren",
    "payStatusInvoiced": "Factuur verstuurd",
    "createInvoice": "Factuur maken",
    "markPaid": "Betaald markeren",
    "confirmMarkPaid": "Betaling markeren als betaald?",
    "paymentMarkedPaid": "Betaling gemarkeerd als betaald",
    "todayAppointments": "Afspraken vandaag",
    "upcomingAppointments": "Komende afspraken",
    "noAppointments": "Geen afspraken gepland",
    "workshopStats": "Werkplaats / Buitendienst",
    "workshopLabel": "Werkplaats",
    "fieldLabel": "Buitendienst",
    "remoteLabel": "Remote",
    "mileageTitle": "Km-registratie",
    "mileageFullView": "Volledig overzicht",
    "mileageBusiness": "Zakelijk",
    "mileagePrivate": "Privé",
    "mileageTotal": "Totaal km",
    "mileageYearTotal": "Jaar totaal",
    "mileageQuickAdd": "Rit toevoegen",
    "mileagePrivateTrip": "Privé",
    "mileageRoundTrip": "Retour ×2",
    "mileageEnterKm": "Voer km in",
    "mileageTripAdded": "Rit toegevoegd",
    "viewAll": "Bekijk alles",
    "customer": "Klant",
    "searchCustomer": "Zoek klant...",
    "searchHint": "Zoek op naam, of",
    "createNewCustomer": "maak nieuwe klant aan",
    "noCustomersFound": "Geen klanten gevonden",
    "selectCustomerFirst": "Selecteer eerst een klant",
    "selectOrCreateCustomer": "Selecteer eerst een klant of maak een nieuwe aan",
    "selectOrCreatePiano": "Selecteer eerst een piano of maak een nieuwe aan",
    "selectAllFields": "Selecteer alle velden",
    "selectService": "-- Selecteer service --",
    "sendTo": "Verstuur naar",
    "customerNoEmail": "Klant heeft geen e-mailadres",
    "confirmationSentTo": "Bevestigingsmail verstuurd naar",
    "applying": "Toepassen...",
    "applyRoute": "Route toepassen",
    "appointmentsUpdated": "{{count}} afspraken bijgewerkt!",
    "errorApplyingRoute": "Fout bij toepassen route: ",
    "selectCustomerServiceDate": "Selecteer klant, dienst en datum",
    "customerRequired": "Klant *",
    "nameRequired": "Naam *",
    "selectOrCreateCustomerTitle": "Selecteer of maak klant",
    "newCustomerTitle": "Nieuwe klant",
    "addNewCustomerTitle": "Nieuwe klant toevoegen",
    "addCustomerButton": "Klant toevoegen",
    "actionSheetFillHereTitle": "Hier invullen",
    "actionSheetFillHereSubtitle": "Maak afspraak op dit tijdstip",
    "actionSheetSmartTitle": "Zoek mooie plek",
    "actionSheetSmartSubtitle": "Laat mij de beste tijd vinden",
    "actionSheetWorkshopTitle": "Werkplaats-taak",
    "actionSheetWorkshopSubtitle": "Interne taak zonder klant",
    "actionSheetWalkInTitle": "Walk-in",
    "actionSheetWalkInSubtitle": "Klant komt naar werkplaats",
    "workshopTaskTitle": "Werkplaats-taak",
    "walkInTitle": "Walk-in registratie",
    "walkInSearchHint": "Zoek of maak klant aan...",
    "workshopPeriodView": "Huidige weergave",
    "workshopPeriodWeek": "Deze week",
    "workshopPeriodMonth": "Deze maand",
    "workshopHoursTotal": "Totaal uren",
    "wizardStepCustomer": "Klant",
    "wizardStepPiano": "Piano",
    "wizardStepServiceTime": "Service & tijd",
    "emailPlaceholder": "email@voorbeeld.nl",
    "phonePlaceholder": "+31 6 12345678",
    "streetPlaceholder": "Straatnaam 123",
    "pianoOptionalLabel": "Piano (optioneel)",
    "pianoPlaceholder": "bijv. Yamaha U1",
    "outsideHoursBeforeSingle": "↑ {{count}} afspraak vóór {{hour}}:00",
    "outsideHoursBeforeMultiple": "↑ {{count}} afspraken vóór {{hour}}:00",
    "outsideHoursAfterSingle": "↓ {{count}} afspraak na {{hour}}:00",
    "outsideHoursAfterMultiple": "↓ {{count}} afspraken na {{hour}}:00",
    "tuningReminders": "Stemherinneringen",
    "totalSent": "Totaal",
    "thisMonth": "Deze maand",
    "optedOut": "Uitgeschreven",
    "route": "Route",
    "sync": "Sync",
    "calcTravelTimesTitle": "Bereken reistijden voor alle afspraken",
    "syncCalendarTitle": "Synchroniseer met agenda",
    "streamline": "Stroomlijn",
    "streamlineTitle": "Stroomlijn Dag",
    "streamlineDesc": "Verschuif afspraken op basis van echte Google Maps reistijden",
    "streamlineLoading": "Reistijden berekenen...",
    "streamlineNoAppointments": "Niet genoeg afspraken",
    "streamlineMinTwo": "Er zijn minimaal 2 afspraken nodig om te stroomlijnen.",
    "streamlineAlreadyOptimal": "Al optimaal!",
    "streamlineNoChanges": "Je planning zit al goed in elkaar. Geen wijzigingen nodig.",
    "streamlineChanges": "wijzigingen",
    "streamlineTotal": "afspraken totaal",
    "streamlineApply": "Toepassen",
    "streamlineApplied": "Planning gestroomlijnd",
    "streamlineAppointmentsMoved": "afspraken verschoven",
    "streamlineFailed": "Stroomlijnen mislukt",
    "addCustomer": "Klant toevoegen",
    "addPianoTitle": "Nieuwe piano toevoegen",
    "savePiano": "Piano toevoegen",
    "auto": "Auto",
    "calculatingRoute": "Route berekenen...",
    "emailConfirmation": "E-mail bevestiging",
    "endTime": "Eindtijd",
    "endTimeHint": "Eindtijd berekend: serviceduur + buffer",
    "newCustomerInline": "👤 Nieuwe Klant",
    "newPianoInline": "🎹 Nieuwe Piano",
    "noPianosAvailable": "Geen piano's beschikbaar",
    "optimizeRoute": "Route optimaliseren",
    "pianosForAppointment": "Piano's voor deze afspraak",
    "selectPianos": "Selecteer piano('s)",
    "selectPianosHint": "Selecteer een of meer piano's. De duur wordt automatisch berekend.",
    "selectServiceEdit": "-- Selecteer service --",
    "sendConfirmationLabel": "Stuur bevestigingsmail naar klant",
    "serviceAndTime": "Service & Tijd",
    "serviceRequired": "Service *",
    "startTimeRequired": "Starttijd *",
    "titleRequired": "Titel *",
    "actionSheetUnavailableSubtitle": "Blokkeer dag(en) voor vakantie of vrij",
    "actionSheetUnavailableTitle": "Niet beschikbaar",
    "today": "Vandaag",
    "yesterday": "Gisteren",
    "appointment": "Afspraak",
    "sendConfirmationTo": "Bevestiging sturen naar",
    "teamBanner": "Je hebt een Teams-abonnement — beheer je stemmers en bekijk de teamkalender",
    "teamDashboardBtn": "Team Dashboard",
    "titlePlaceholder": "bijv. Stem Steinway",
    "addressAutoFilled": "Adres (automatisch ingevuld)",
    "additionalInfoPlaceholder": "Extra informatie...",
    "titleExamplePlaceholder": "bijv. Pianostemmen",
    "searchCustomerPlaceholder": "Zoek klant...",
    "noMoreAppointmentsToday": "Geen afspraken meer vandaag",
    "enjoyFreeTime": "Geniet van je vrije tijd!",
    "blockDays": "Dag(en) blokkeren",
    "blockDaysDesc": "Geblokkeerde dagen zijn niet beschikbaar voor klanten.",
    "fromDate": "Van datum",
    "untilDate": "T/m datum",
    "untilDateOptional": "(optioneel, voor meerdere dagen)",
    "reasonLabel": "Reden",
    "reasonOptional": "(optioneel)",
    "reasonPlaceholder": "bijv. Vakantie, vrije dag, dokter...",
    "blockButton": "Blokkeren",
    "unavailable": "Niet beschikbaar",
    "dayBlocked": "Dag geblokkeerd",
    "daysBlocked": "dagen geblokkeerd",
    "unavailReason": "Reden (optioneel)",
    "unavailStart": "Startdatum",
    "unavailEnd": "Einddatum (optioneel, voor meerdere dagen)",
    "prevNav": "Vorige",
    "nextNav": "Volgende",
    "prevNavTitle": "Vorige (←)",
    "nextNavTitle": "Volgende (→)",
    "routeAnalysisTitle": "Route Analyse",
    "timeInterval": "Tijdsinterval",
    "zoomControls": "Zoom (Cmd +/-)",
    "viewMode": "Weergave (D/W/M)",
    "zoomOut": "Uitzoomen",
    "zoomIn": "Inzoomen",
    "zoomOutTitle": "Uitzoomen (Cmd −)",
    "zoomInTitle": "Inzoomen (Cmd +)",
    "resetZoomTitle": "Klik om te resetten (Cmd 0)",
    "completedAppointments": "Afgeronde afspraken",
    "activeAppointments": "Lopende afspraken",
    "pendingAppointments": "Openstaande afspraken",
    "onSchedule": "Op schema",
    "busy": "Bezig",
    "stillToDo": "Nog te doen",
    "oneHour": "1 uur",
    "calendarView": "Kalenderweergave",
    "goToToday": "Naar vandaag",
    "calendarSyncPromptTitle": "Synchroniseer je Google Agenda",
    "calendarSyncPromptDesc": "Je bent ingelogd met Google. Wil je je agenda koppelen zodat afspraken automatisch gesynchroniseerd worden?",
    "calendarSyncPromptYes": "Ja, koppelen",
    "calendarSyncPromptLater": "Later",
    "bookingLeads": "Boekingsverzoeken",
    "bulkComplete": "Alles afwerken",
    "bulkConfirm": "Alle {count} afspraken als afgerond markeren? Stemdatums worden bijgewerkt.",
    "bulkSuccess": "{completed} afspraken afgerond, {pianos} piano's bijgewerkt",
    "bulkError": "Kon afspraken niet afronden",
    "pendingAll": "Alles"
  },
  "customers": {
    "title": "Klanten",
    "howToUse": "Hoe werkt het?",
    "guideTitle": "Klanten - Handleiding",
    "guideAdd": "Klant toevoegen",
    "guideAddDesc": "Klik op 'Nieuwe Klant' om een klant aan te maken. Vul naam, adres en contactgegevens in. Piano's kun je later toevoegen vanuit het klantprofiel.",
    "guideBookingLink": "Persoonlijke boekingslink",
    "guideBookingLinkDesc": "Elke klant krijgt een unieke boekingslink. Deel deze met de klant zodat zij zelf afspraken kunnen inzien en inplannen. Vind de link in het klantprofiel onder 'Boekingslink'.",
    "guideTheater": "Theater-klanten",
    "guideTheaterDesc": "Markeer theaters, concertzalen en vaste klanten als 'Theater'. Deze klanten zien via hun boekingslink hun volledige afspraakhistorie én kunnen direct nieuwe afspraken boeken.",
    "guideReminders": "Stemherinneringen",
    "guideRemindersDesc": "Stel per piano een steminterval in (3, 6 of 12 maanden). PianoPlanner stuurt automatisch een uitnodigingsmail wanneer het tijd is voor onderhoud.",
    "guideDuplicates": "Duplicaten samenvoegen",
    "guideDuplicatesDesc": "Geïmporteerde klanten dubbel? Gebruik 'Duplicaten Beheren' om dubbele klanten te vinden en samen te voegen. Detectie vindt exacte matches (email, naam+telefoon, naam) en fuzzy matches (vergelijkbare namen). Alle piano's, afspraken, facturen en projecten worden overgedragen. Samengevoegde klanten worden soft-verwijderd en kunnen binnen 30 dagen hersteld worden via 'Historie'.",
    "guideSmartFill": "Route Vullen",
    "guideSmartFillDesc": "Vul je route slim aan: zoek op plaats of postcode en vind klanten in de buurt die aan een stembeurt toe zijn. Je ziet direct de urgentie, afstand én wanneer je er voor het laatst bent geweest. Selecteer klanten en verstuur uitnodigingen in één keer.",
    "guideTip": "<strong>Tip:</strong> De kolom 'Laatste stembeurt' toont per klant de piano die het langst geleden is gestemd — ideaal om snel iemand tussendoor in te plannen. Sorteer op deze kolom om de meest urgente klanten bovenaan te krijgen.",
    "addCustomer": "Nieuwe Klant",
    "manageDuplicates": "Duplicaten Beheren",
    "editCustomer": "Klant bewerken",
    "deleteCustomer": "Klant verwijderen",
    "name": "Naam",
    "namePlaceholder": "Volledige naam",
    "email": "E-mail",
    "phone": "Telefoon",
    "address": "Adres",
    "addressSearch": "Adres zoeken",
    "addressSearchPlaceholder": "Begin te typen voor suggesties...",
    "street": "Straat + Huisnr",
    "postalCode": "Postcode",
    "city": "Plaats",
    "type": "Type Klant",
    "typePrivate": "Particulier",
    "typeBusiness": "Zakelijk",
    "typeSchool": "School",
    "typeChurch": "Kerk",
    "typeTheater": "Theater",
    "notes": "Notities",
    "notesPlaceholder": "Interne opmerkingen...",
    "noNotes": "Geen notities",
    "billingAdmin": "Facturatie / Administratie",
    "billingAdminDesc": "Stuur facturen naar een boekhouder of administratiekantoor in plaats van naar de klant zelf.",
    "billingName": "T.n.v. (administratie)",
    "billingEmail": "Factuur e-mail",
    "billingToAdmin": "Facturen naar administratie",
    "billingToAdminToggle": "Facturen naar administratie sturen",
    "billingToAdminToggleDesc": "Facturen gaan naar het administratie-adres, niet naar de klant",
    "paymentTerms": "Betalingstermijn",
    "paymentTermsDefault": "Standaard (instelling)",
    "preferredPayment": "Voorkeursbetaalwijze",
    "noPreference": "Nog niet bekend",
    "withPiano": "Met Piano",
    "needsTuning": "Stemmen",
    "newThisMonth": "Nieuw deze maand",
    "noCustomers": "Nog geen klanten",
    "searchPlaceholder": "Zoek klanten...",
    "backToList": "Terug naar klanten",
    "contactDetails": "Contactgegevens",
    "personalBookingLink": "Persoonlijke Boekingslink",
    "bookingLinkHint": "Stuur deze link naar je klant zodat zij zelf afspraken kunnen boeken.",
    "appointmentHistory": "Afspraken",
    "scheduleAppointment": "Afspraak Inplannen",
    "call": "Bellen",
    "route": "Route",
    "noAddressKnown": "Geen adres bekend",
    "nameRequired": "Vul een naam in",
    "errorSavingCustomer": "Fout bij opslaan van klant",
    "errorSavingCustomerMsg": "Kon klant niet opslaan: ",
    "errorCreatingCustomer": "Kon klant niet aanmaken. Probeer opnieuw.",
    "loadingCustomers": "Klanten laden...",
    "errorLoadingCustomers": "Kon klanten niet laden",
    "noCustomerId": "Geen klant ID opgegeven",
    "errorLoadingCustomer": "Fout bij laden klant",
    "customerNotFound": "Klant niet gevonden",
    "noContactDetails": "Geen contactgegevens",
    "unknownPiano": "Onbekende piano",
    "noAppointmentsYet": "Nog geen afspraken",
    "emailLog": "E-mail logboek",
    "noEmailsYet": "Nog geen e-mails verstuurd naar deze klant",
    "noPiano": "Geen piano",
    "lastTuning": "Laatste stembeurt",
    "noResults": "Geen resultaten",
    "errorDeleting": "Fout bij verwijderen",
    "tryDifferentSearch": "Probeer een andere zoekterm",
    "addFirstCustomer": "Voeg je eerste klant toe om te beginnen",
    "typeStudio": "Studio",
    "typeHoreca": "Horeca",
    "typeGovernment": "Overheid",
    "customersDeleted": "{{count}} klant(en) verwijderd",
    "contactInfo": "Contactgegevens",
    "streetPlaceholder": "Straatnaam 123",
    "cityPlaceholder": "Amsterdam",
    "customerUpdated": "Klant bijgewerkt",
    "customerAdded": "Klant toegevoegd",
    "customerDeleted": "Klant verwijderd",
    "confirmDeleteNamed": "Weet je zeker dat je \"{{name}}\" wilt verwijderen?",
    "errorSaving": "Fout bij opslaan",
    "emptyStateText": "Voeg je eerste klant toe om te beginnen",
    "duplicatesFound": "Duplicaten",
    "duplicatesTitle": "Mogelijke Duplicaten",
    "mergeCustomers": "Klanten Samenvoegen",
    "mergeWarningTitle": "Let op:",
    "mergeWarning": "De andere klant(en) worden soft-verwijderd. Alle piano's, afspraken, facturen en projecten worden overgedragen naar de primaire klant. Je kunt dit binnen 30 dagen ongedaan maken.",
    "confirmMerge": "Samenvoegen",
    "merge": "Samenvoegen",
    "noDuplicates": "Geen duplicaten gevonden",
    "duplicatesBy": "Duplicaten op",
    "selectFieldsToKeep": "Selecteer de gegevens die je wilt behouden:",
    "fieldName": "Naam",
    "fieldEmail": "E-mail",
    "fieldPhone": "Telefoon",
    "fieldAddress": "Adres",
    "fieldType": "Type",
    "fieldNotes": "Notities",
    "mergeSuccess": "Klanten succesvol samengevoegd!",
    "mergeError": "Fout bij samenvoegen",
    "mergeConfirmMsg": "Weet je zeker dat je deze klanten wilt samenvoegen? Alle afspraken, piano's, facturen en notities worden overgedragen naar de doelklant. De bronklant wordt soft-verwijderd. Je kunt dit binnen 30 dagen ongedaan maken via Samenvoeghistorie.",
    "keepThis": "Behoud deze",
    "appointments": "afspraken",
    "pianoCount": "piano's",
    "export": "Exporteren",
    "delete": "Verwijderen",
    "deselect": "Selectie opheffen",
    "convertAddresses": "Adressen omzetten",
    "fullName": "Volledige naam",
    "postalCodePlaceholder": "1234 AB",
    "cityRequired": "Plaats *",
    "newCustomer": "Nieuwe klant",
    "customerCreated": "Klant aangemaakt",
    "customerSaved": "Klant opgeslagen",
    "pianosAfterSave": "Piano's en afspraken verschijnen na het opslaan van de klant",
    "noCustomersFound": "Geen klanten gevonden",
    "fullNamePlaceholder": "Volledige naam",
    "emailPlaceholder": "email@voorbeeld.nl",
    "phonePlaceholder": "+31 6 12345678",
    "mapView": "Kaart weergave",
    "gridView": "Grid weergave",
    "customersOnMap": "Klanten op de kaart",
    "customers": "klanten",
    "onMap": "op kaart",
    "noCity": "Geen plaats",
    "viewCustomer": "Bekijk klant",
    "couldNotLoadMap": "Kon kaart niet laden: ",
    "couldNotLoadMapData": "Kon kaartdata niet laden",
    "geocodingFailed": "Geocoding mislukt",
    "remainingToProcess": "Nog {{count}} verwerken",
    "done": "Klaar!",
    "retryGeocode": "Opnieuw proberen",
    "mergeFailed": "Samenvoegen mislukt",
    "mergeErrorOccurred": "Er ging iets mis bij het samenvoegen",
    "searchFailed": "Zoeken mislukt",
    "connectionFailed": "Verbinding mislukt: ",
    "sendFailed": "Versturen mislukt",
    "failed": "Mislukt",
    "customersWithoutCoordinates": "klanten hebben nog geen coördinaten",
    "private": "Particulier",
    "business": "Zakelijk",
    "theater": "Theater",
    "school": "School",
    "church": "Kerk",
    "duplicatesFetchError": "Fout bij ophalen duplicaten",
    "duplicateDetectionDesc": "Duplicaatdetectie zoekt op email, naam+telefoon, alleen naam, en fuzzy naamherkenning (vergelijkbare spelling).",
    "searchingDuplicates": "Duplicaten zoeken...",
    "duplicateGroupsFound": "mogelijke duplicaatgroepen gevonden",
    "pageOf": "Pagina {{current}} van {{total}}",
    "clickToSelectPrimary": "Klik op een klant om deze als primair te selecteren",
    "previous": "Vorige",
    "next": "Volgende",
    "chooseFieldValues": "Kies voor elk veld welke waarde je wilt behouden:",
    "fieldStreet": "Straat",
    "fieldCity": "Plaats",
    "fieldPostalCode": "Postcode",
    "noContactInfo": "Geen contactgegevens",
    "addFirstCustomerDesc": "Voeg je eerste klant toe om te beginnen",
    "status": "Status",
    "edit": "Bewerken",
    "newAppointment": "Nieuwe afspraak",
    "customerCount": "klanten",
    "confirmDelete": "Weet je zeker dat je deze klant wilt verwijderen?",
    "exportSuccess": "Export geslaagd",
    "selected": "geselecteerd",
    "billingNamePlaceholder": "Administratiekantoor Jansen",
    "billingEmailPlaceholder": "administratie@boekhouder.nl",
    "mergeHistory": "Historie",
    "mergeHistoryTitle": "Merge Historie",
    "mergeWarningWithUndo": "De andere klant(en) worden soft-verwijderd. Alle piano's, afspraken, facturen en projecten worden overgedragen. Je kunt dit binnen 30 dagen ongedaan maken.",
    "noMergeHistory": "Geen recente merges om ongedaan te maken.",
    "daysToUndo": "dagen om ongedaan te maken",
    "undoExpired": "Ongedaan maken verlopen",
    "confirmUndo": "Weet je zeker dat je deze merge ongedaan wilt maken? De oorspronkelijke klanten worden hersteld.",
    "undoSuccess": "Merge ongedaan gemaakt! Klanten hersteld.",
    "fuzzyMatch": "fuzzy",
    "confirmMergeWithUndo": "wordt samengevoegd met {target}. Dit kan binnen 30 dagen ongedaan worden gemaakt. Doorgaan?",
    "undo": "Ongedaan maken",
    "undoFailed": "Ongedaan maken mislukt",
    "pianos": "piano's",
    "placeholders": {
      "fullName": "Volledige naam",
      "streetExample": "Hoofdstraat 1",
      "internalNotes": "Interne opmerkingen...",
      "search": "Zoek op naam, email, telefoon, plaats...",
      "cityPostalExample": "bijv. Tilburg, 5038 AB"
    }
  },
  "pianos": {
    "title": "Piano's",
    "howToUse": "Hoe werkt het?",
    "guideTitle": "Piano's - Handleiding",
    "guideAdd": "Piano toevoegen",
    "guideAddDesc": "Klik op 'Nieuwe Piano' of voeg een piano toe vanuit het klantprofiel. Vul merk, model, serienummer en locatie in. Koppel de piano aan een klant.",
    "guideInterval": "Steminterval instellen",
    "guideIntervalDesc": "Stel per piano een steminterval in: 3, 6 of 12 maanden. Of kies 'Klant neemt contact op' als de klant zelf belt. De statuskleur toont of onderhoud nodig is.",
    "guideStatus": "Statuskleuren",
    "guideStatusDesc": "Groen = op schema, Geel = binnenkort stemmen, Rood = te laat. De kleuren worden berekend op basis van de laatste stembeurt en het ingestelde interval.",
    "guideSmartPick": "Smart Pick",
    "guideSmartPickDesc": "Bij het inplannen van een afspraak toont Smart Pick welke piano's onderhoud nodig hebben. Aanbevolen tijdslots worden gemarkeerd op basis van interval en seizoen.",
    "guideHistory": "Onderhoudshistorie",
    "guideHistoryDesc": "Bekijk per piano de volledige onderhoudshistorie. Alle afspraken worden automatisch gelogd met datum, type dienst en eventuele notities.",
    "guideTip": "<strong>Tip:</strong> Gebruik de filters 'Te Laat' of 'Nooit' om snel piano's te vinden die aandacht nodig hebben. Klik op een piano om de details en historie te bekijken.",
    "addPiano": "Nieuwe Piano",
    "editPiano": "Piano bewerken",
    "deletePiano": "Piano verwijderen",
    "brand": "Merk",
    "brandPlaceholder": "bijv. Steinway",
    "model": "Model",
    "serialNumber": "Serienummer",
    "year": "Bouwjaar",
    "yearPlaceholder": "Jaar",
    "type": "Type",
    "typeUpright": "Piano",
    "typeGrand": "Vleugel",
    "upright": "Piano",
    "grand": "Vleugel",
    "digital": "Digitaal",
    "condition": "Conditie",
    "conditionExcellent": "Uitstekend",
    "conditionGood": "Goed",
    "conditionFair": "Redelijk",
    "conditionPoor": "Matig",
    "excellent": "Uitstekend",
    "good": "Goed",
    "fair": "Redelijk",
    "poor": "Slecht",
    "finish": "Afwerking",
    "finishPlaceholder": "bijv. Zwart Hoogglans",
    "location": "Locatie",
    "locationPlaceholder": "bijv. Woonkamer",
    "internalLocation": "Inventaris locatie",
    "internalLocationPlaceholder": "bijv. Winkel, Werkplaats",
    "tuningInterval": "Steminterval",
    "tuningPitch": "Stemhoogte",
    "tuningPitchPlaceholder": "bijv. 440 Hz",
    "tuningData": "Stemdata",
    "climateControl": "Klimaatcontrole",
    "climateControlActive": "Actief",
    "lastTuned": "Laatst gestemd",
    "intervalNone": "Neemt zelf contact op",
    "interval3": "Elke 3 maanden",
    "interval6": "Elke 6 maanden",
    "interval12": "Jaarlijks",
    "owner": "Eigenaar",
    "noOwner": "Geen eigenaar gekoppeld aan deze piano.",
    "notes": "Notities",
    "totalPianos": "Totaal Piano's",
    "onSchedule": "Op Schema",
    "dueSoon": "Binnenkort",
    "overdue": "Te Laat",
    "neverTuned": "Nooit gestemd",
    "byBrand": "Piano's per Merk",
    "searchPlaceholder": "Zoek piano's...",
    "lastTuning": "Laatste stembeurt",
    "noPianos": "Nog geen piano's",
    "serviceHistory": "Servicegeschiedenis",
    "addService": "Stembeurt Toevoegen",
    "serviceTuning": "Stemmen",
    "serviceRepair": "Reparatie",
    "serviceRegulation": "Regulatie",
    "serviceVoicing": "Intoneren",
    "noServiceHistory": "Nog geen servicegeschiedenis",
    "confirmDelete": "Weet je zeker dat je deze piano wilt verwijderen?",
    "noPianosForCustomer": "Nog geen piano's voor deze klant",
    "newPiano": "Nieuwe piano",
    "savePiano": "Piano opslaan",
    "optional": "Optioneel",
    "brandExample": "bijv. Yamaha",
    "modelExample": "bijv. U1",
    "yearExample": "bijv. 1985",
    "notesPlaceholder": "Eventuele opmerkingen...",
    "errorLoading": "Fout bij laden gegevens",
    "everyMonths": "Elke {{months}} maanden",
    "noOwnerLinked": "Geen eigenaar gekoppeld",
    "linkOwner": "Eigenaar Koppelen",
    "linkOwnerFirst": "Koppel eerst een eigenaar",
    "dueSoonStatus": "Binnenkort Stemmen",
    "overdueStatus": "Stembeurt Te Laat",
    "nextTuning": "Volgende",
    "planFirstTuning": "Plan de eerste stembeurt",
    "loadingHistory": "Historie laden...",
    "noNotes": "Geen notities",
    "brandRequired": "Merk is verplicht",
    "pianoUpdated": "Piano bijgewerkt",
    "pianoAdded": "Piano toegevoegd",
    "pianoDeleted": "Piano verwijderd",
    "thisPiano": "deze piano",
    "confirmDeleteNamed": "Weet je zeker dat je \"{{name}}\" wilt verwijderen?",
    "selectDate": "Selecteer een datum",
    "tuningAdded": "Stembeurt toegevoegd",
    "errorSavingPiano": "Fout bij opslaan van piano",
    "errorSavingPianoMsg": "Kon piano niet opslaan: ",
    "loadingPianos": "Piano's laden...",
    "errorLoadingPianos": "Fout bij laden van piano's",
    "totalPianosLabel": "Totaal piano's",
    "serviceOverdue": "Service verlopen",
    "serviceSoon": "Binnenkort service",
    "serviceOk": "Goed onderhouden",
    "filterOverdue": "Verlopen",
    "filterDueSoon": "Binnenkort",
    "filterOk": "Goed",
    "filterUnknown": "Onbekend",
    "colStatus": "Status",
    "colBrandModel": "Merk & Model",
    "colType": "Type",
    "colSerialNumber": "Serienummer",
    "colCustomer": "Klant",
    "colLocation": "Locatie",
    "colLastTuning": "Laatst gestemd",
    "colNextService": "Volgende service",
    "colActions": "Acties",
    "noResults": "Geen piano's gevonden",
    "tryDifferentSearch": "Probeer een andere zoekopdracht of filter",
    "serviceStatus": "Service Status",
    "pianoDetails": "Piano Details",
    "scheduleService": "Afspraak Inplannen",
    "viewCustomer": "Bekijk Klant",
    "nextService": "Volgende Service",
    "serviceInterval": "Steminterval",
    "statusUnknown": "Onbekend",
    "statusGood": "Goed",
    "monthsLate": "{{count}} mnd te laat",
    "withinMonths": "Binnen {{count}} mnd",
    "noCustomer": "Geen klant",
    "typePiano": "Piano",
    "typeGrandPiano": "Vleugel",
    "typeDigitalPiano": "Digitaal",
    "schedule": "Inplannen",
    "edit": "Bewerken",
    "selected": "geselecteerd",
    "exportCsv": "Exporteren",
    "bulkLastTuning": "Laatste stemming",
    "bulkTuningTitle": "Laatste stemming bijwerken",
    "bulkTuningDesc": "piano's worden bijgewerkt",
    "lastTuningDate": "Datum laatste stemming",
    "bulkApply": "Toepassen",
    "selectDateFirst": "Kies eerst een datum",
    "bulkTuningSuccess": "Piano's bijgewerkt!",
    "loading": "Laden...",
    "noPianoId": "Geen piano ID opgegeven",
    "pianoNotFound": "Piano niet gevonden",
    "errorLoadingPiano": "Kon piano niet laden",
    "noRemarks": "Geen opmerkingen",
    "noServiceInfo": "Geen service informatie beschikbaar",
    "monthsLateForService": "Al {{count}} maanden te laat voor service",
    "serviceSoonNeeded": "Binnenkort service nodig",
    "monthsUntilService": "Nog {{count}} maanden tot volgende service",
    "monthsAgoTuned": "{{count}} maanden geleden gestemd",
    "addFirstService": "Voeg een eerste service toe",
    "basicInfo": "Basisgegevens",
    "locationMaintenance": "Locatie & Onderhoud",
    "emptyStateText": "Voeg je eerste piano toe om te beginnen",
    "photos": "Foto's",
    "addPhoto": "Foto toevoegen",
    "deletePhoto": "Foto verwijderen",
    "photoAdded": "Foto toegevoegd",
    "photosAdded": "{{count}} foto's toegevoegd",
    "photoDeleted": "Foto verwijderd",
    "maxPhotos": "Maximaal 10 foto's per piano",
    "uploadFailed": "Foto uploaden mislukt",
    "deleteFailed": "Verwijderen mislukt",
    "linkCustomer": "Klant koppelen",
    "changeCustomer": "Wijzigen",
    "unlinkCustomer": "Ontkoppelen",
    "selectCustomer": "Klant selecteren",
    "customerLinked": "Klant gekoppeld",
    "customerUnlinked": "Eigenaar ontkoppeld",
    "floor": "Verdieping",
    "floor1": "1e verdieping",
    "floor2": "2e verdieping",
    "floor3": "3e verdieping",
    "floor4plus": "4e of hoger",
    "scheduleAppointment": "Afspraak inplannen",
    "basement": "Kelder",
    "blackPolish": "Zwart hoogglans",
    "blackSatin": "Zwart satijn",
    "groundFloor": "Begane grond",
    "mahogany": "Mahonie",
    "needsRepair": "Reparatie nodig",
    "oak": "Eiken",
    "other": "Anders",
    "piano": "Piano",
    "walnut": "Walnoot",
    "whitePolish": "Wit hoogglans",
    "modelPlaceholder": "bijv. U1, Model D",
    "typeDigital": "Digitale piano",
    "typeRequired": "Type *",
    "featurePopupTitle": "Nieuw!",
    "featurePopupBody": "Je kunt nu piano's die aan de beurt zijn selecteren en direct vanuit deze pagina een stemuitnodiging versturen. Gebruik de checkboxes om piano's te selecteren en klik op 'Stemuitnodiging versturen' in de actiebalk.",
    "featurePopupGotIt": "Begrepen!",
    "customerRequired": "Kies eerst een klant",
    "errorSaving": "Piano kon niet worden opgeslagen",
    "sendInvitation": "Stemuitnodiging versturen",
    "colInvitation": "Uitnodiging",
    "notSent": "Niet verstuurd",
    "scheduledOn": "Ingepland {{date}}",
    "somethingWentWrong": "Er ging iets mis",
    "updateError": "Er ging iets mis bij het bijwerken",
    "pianosSkipped": "{{count}} piano('s) overgeslagen",
    "noValidPianos": "Geen geldige piano's om uitnodigingen te versturen.\nControleer of klanten een e-mailadres en steminterval hebben.",
    "maxInvitations": "Maximaal 20 uitnodigingen per keer. Selecteer minder piano's.",
    "confirmSendInvitations": "Wil je {{count}} stemuitnodiging(en) versturen?",
    "invitationsSent": "{{count}} uitnodiging(en) verstuurd",
    "invitationsFailed": "{{failed}} mislukt",
    "sendFailed": "Versturen mislukt",
    "sendError": "Fout bij versturen van uitnodigingen",
    "noEmail": "geen e-mail",
    "intervalZero": "steminterval is 0",
    "perPage25": "25 per pagina",
    "perPage50": "50 per pagina",
    "perPage100": "100 per pagina",
    "allItems": "Alles",
    "csvBrand": "Merk",
    "csvModel": "Model",
    "csvType": "Type",
    "csvSerialNumber": "Serienummer",
    "csvCustomer": "Klant",
    "csvLocation": "Locatie",
    "csvLastTuned": "Laatst gestemd",
    "csvStatus": "Status",
    "pianoDataUnavailable": "Piano data niet beschikbaar",
    "noCustomerLinked": "Geen klant gekoppeld",
    "confirmUnlinkOwner": "Eigenaar ontkoppelen van deze piano?",
    "ownerUnlinked": "Eigenaar ontkoppeld",
    "unlinkFailed": "Ontkoppelen mislukt",
    "linkFailed": "Koppelen mislukt",
    "customerSelected": "Klant geselecteerd",
    "noDetails": "Geen details",
    "errorDeleting": "Fout bij verwijderen",
    "noCustomersFound": "Geen klanten gevonden",
    "confirmDeletePhoto": "Foto verwijderen?",
    "buildYear": "Bouwjaar",
    "placeholders": {
      "brandExample": "bijv. Steinway",
      "roomExample": "bijv. Woonkamer"
    }
  },
  "appointments": {
    "title": "Afspraken",
    "appointment": "Afspraak",
    "newAppointment": "Nieuwe afspraak",
    "editAppointment": "Afspraak bewerken",
    "deleteAppointment": "Afspraak verwijderen",
    "deleteTitle": "Afspraak verwijderen",
    "deleteConfirm": "Weet je zeker dat je deze afspraak wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.",
    "date": "Datum",
    "time": "Tijd",
    "duration": "Duur",
    "service": "Dienst",
    "customer": "Klant",
    "piano": "Piano",
    "location": "Locatie",
    "notes": "Notities",
    "status": "Status",
    "scheduled": "Gepland",
    "completed": "Voltooid",
    "cancelled": "Geannuleerd",
    "appointmentCreated": "Afspraak aangemaakt!",
    "appointmentDeleted": "Afspraak verwijderd",
    "createAppointment": "Afspraak aanmaken",
    "thisAppointment": "deze afspraak",
    "confirmDeleteNamed": "Weet je zeker dat je \"{{title}}\" wilt verwijderen?",
    "errorCreatingAppointment": "Fout bij aanmaken afspraak: ",
    "errorSavingAppointment": "Kon afspraak niet opslaan: ",
    "errorDeletingAppointment": "Kon afspraak niet verwijderen. Probeer opnieuw.",
    "slotTaken": "Dit tijdslot is al bezet. Kies een ander moment.",
    "travelWarningPrevious": "Let op: slechts {{gapMinutes}} min reistijd vanaf vorige afspraak (minimaal {{neededMinutes}} min aanbevolen)",
    "travelWarningNext": "Let op: slechts {{gapMinutes}} min reistijd naar volgende afspraak (minimaal {{neededMinutes}} min aanbevolen)",
    "travelWarningBoth": "Let op: weinig reistijd naar omliggende afspraken (minimaal {{neededMinutes}} min aanbevolen)",
    "fillTitleStartEnd": "Vul titel, start- en eindtijd in",
    "errorMovingAppointment": "Kon afspraak niet verplaatsen: ",
    "errorMovingAppointmentRetry": "Kon afspraak niet verplaatsen. Probeer opnieuw.",
    "call": "Bel",
    "whatsapp": "WhatsApp",
    "message": "Bericht",
    "route": "Route",
    "done": "Klaar",
    "markDone": "Markeer als klaar",
    "privateAppointment": "Privé afspraak",
    "privateAppointmentHint": "Niet zakelijk, telt mee voor aparte kilometerregistratie",
    "privatePurpose": "Doel van de rit",
    "privatePurposePlaceholder": "bijv. Boodschappen, dokter, familie...",
    "locationType": "Waar?",
    "locationCustomer": "Bij klant",
    "locationWorkshop": "Werkplaats",
    "locationRemote": "Op afstand",
    "atWorkshop": "Werkplaats",
    "atCustomer": "Bij klant",
    "atRemote": "Op afstand",
    "workshopAddress": "Je werkplaatsadres",
    "noTravelNeeded": "Geen reistijd",
    "travelToWorkshop": "Naar werkplaats",
    "travelFromWorkshop": "Vanaf werkplaats",
    "workshopAppointment": "Werkplaats-afspraak",
    "workshopTimer": "Werkplaats timer",
    "startsIn": "Start over",
    "elapsed": "verstreken",
    "remaining": "resterend",
    "timerDone": "Afgelopen",
    "viewProject": "Bekijk project",
    "linkedProject": "Gekoppeld project",
    "workshopCount": "werkplaats",
    "customerCount": "klant",
    "remoteCount": "op afstand",
    "project": "Project",
    "noProject": "Geen project (losse werkplaatsuren)",
    "newProject": "Nieuw",
    "remainingHours": "Resterend",
    "hours": "uur",
    "selectProject": "Kies een project",
    "couldNotLoad": "Kon afspraken niet laden",
    "enjoyYourDay": "Geniet van je dag!",
    "noAppointmentsToday": "Geen afspraken vandaag",
    "tryAgain": "Opnieuw proberen",
    "schedule": "Inplannen"
  },
  "services": {
    "title": "Diensten",
    "addService": "Dienst toevoegen",
    "editService": "Dienst bewerken",
    "deleteService": "Dienst verwijderen",
    "name": "Naam",
    "duration": "Duur",
    "price": "Prijs",
    "description": "Beschrijving",
    "minutes": "minuten"
  },
  "pwa": {
    "loading": "Laden...",
    "swipeToClose": "Veeg omlaag om te sluiten",
    "pullToRefresh": "Trek om te verversen",
    "releaseToRefresh": "Loslaten om te verversen",
    "refreshing": "Verversen...",
    "syncCompleted": "Sync voltooid!",
    "syncedCalendars": "kalender(s) gesynchroniseerd",
    "noCalendarsLinked": "Geen kalenders gekoppeld",
    "goToSettings": "Ga naar Instellingen om kalenders te koppelen",
    "syncError": "Sync fout",
    "couldNotSync": "Kon niet synchroniseren. Controleer je internetverbinding",
    "launcher": {
      "agenda": "Agenda",
      "agendaDesc": "Afspraken beheren",
      "customers": "Klanten",
      "customersDesc": "Klantenoverzicht",
      "pianos": "Piano's",
      "pianosDesc": "Instrumenten & data",
      "smart": "Slim Plannen",
      "smartDesc": "AI-gestuurde suggesties",
      "sync": "Synchroniseer",
      "share": "Deel boekingslink",
      "sectionTitle": "Ga aan de slag",
      "invoices": "Facturen",
      "invoicesDesc": "Maak en verstuur facturen"
    },
    "youAreOffline": "Je bent offline",
    "backOnline": "Weer online",
    "updateAvailable": "Nieuwe versie beschikbaar",
    "dataStoredLocally": "Data wordt lokaal opgeslagen",
    "dataSynced": "Data gesynchroniseerd",
    "syncFailed": "Sync mislukt",
    "sync": "Sync",
    "itemsSynced": "items gesynchroniseerd",
    "itemsFailedSync": "items niet gesynchroniseerd",
    "wakeLockActive": "Scherm blijft aan",
    "wakeLockReleased": "Schermvergrendeling vrijgegeven",
    "update": "Bijwerken",
    "later": "Later",
    "logoutConfirm": "Weet je zeker dat je wilt uitloggen?",
    "tabs": {
      "agenda": "Agenda",
      "customers": "Klanten",
      "pianos": "Piano's",
      "invoices": "Facturen",
      "smart": "Smart"
    },
    "agenda": {
      "today": "Vandaag",
      "day": "Dag",
      "week": "Week",
      "month": "Maand",
      "view": "Bekijk",
      "done": "Klaar",
      "pending": "af te werken",
      "pickDate": "Kies datum",
      "routeAnalysis": "Route Analyse",
      "dayMon": "Ma",
      "dayTue": "Di",
      "dayWed": "Wo",
      "dayThu": "Do",
      "dayFri": "Vr",
      "daySat": "Za",
      "daySun": "Zo"
    },
    "customerDetail": {
      "customers": "Klanten",
      "customer": "Klant",
      "edit": "Wijzig",
      "call": "Bellen",
      "route": "Route",
      "email": "Email",
      "whatsapp": "WhatsApp",
      "copy": "Kopieer",
      "addPiano": "Piano Toevoegen",
      "newPiano": "Nieuwe Piano",
      "invoice": "Factuur",
      "invoiceTitle": "Snelle Factuur",
      "openTasks": "Openstaande afspraken",
      "addService": "Dienst toevoegen",
      "addLine": "+ Regel toevoegen",
      "selectService": "Kies een dienst...",
      "customDescription": "Omschrijving",
      "quantity": "Aantal",
      "price": "Prijs",
      "vatRate": "BTW",
      "subtotal": "Subtotaal",
      "vat": "BTW",
      "total": "Totaal",
      "sendInvoice": "Versturen",
      "sending": "Bezig met versturen...",
      "invoiceSent": "Factuur verstuurd!",
      "invoiceError": "Fout bij versturen factuur",
      "noEmail": "Deze klant heeft geen e-mailadres. Voeg eerst een e-mailadres toe.",
      "noLines": "Voeg minstens één regel toe aan de factuur.",
      "removeLine": "Verwijder",
      "invoiceProOnly": "Facturatie is beschikbaar vanaf het Pro abonnement.",
      "backToCustomers": "Terug naar klanten",
      "scheduleAppointment": "Afspraak inplannen",
      "confirmDeleteCustomer": "Weet je zeker dat je deze klant wilt verwijderen? Dit kan niet ongedaan worden gemaakt.",
      "customerCreated": "Klant aangemaakt",
      "customerDeleted": "Klant verwijderd",
      "couldNotSaveCustomer": "Kon klant niet opslaan",
      "couldNotDeleteCustomer": "Kon klant niet verwijderen",
      "confirmDeletePiano": "Weet je zeker dat je \"{{name}}\" wilt verwijderen?",
      "pianoDeleted": "Piano verwijderd",
      "couldNotDeletePiano": "Kon piano niet verwijderen",
      "emailStatusFailed": "Mislukt",
      "emailStatusSent": "Verzonden",
      "emailLoadError": "Fout bij laden e-mail log",
      "noSubject": "(geen onderwerp)",
      "emailTypeConfirmation": "Bevestiging",
      "emailTypeReminder": "Herinnering",
      "emailTypeCancellation": "Annulering",
      "emailTypeBooking": "Boeking",
      "emailTypeInvitation": "Stemuitnodiging",
      "emailTypeWelcome": "Welkomstmail",
      "emailTypeReschedule": "Verplaatsing",
      "projectStatusPlanning": "Planning",
      "projectStatusActive": "Actief",
      "projectStatusPaused": "Gepauzeerd",
      "projectStatusCompleted": "Afgerond",
      "projectStatusCancelled": "Geannuleerd",
      "customerDataUnavailable": "Klantdata niet beschikbaar",
      "pianoNotFound": "Piano niet gevonden",
      "linkCopied": "Link gekopieerd naar klembord",
      "contactInfo": "Contactgegevens",
      "personalBookingLink": "Persoonlijke Boekingslink",
      "pianos": "Piano's",
      "notes": "Notities",
      "pianoData": "Piano Gegevens",
      "extraInfo": "Extra Informatie",
      "noCustomerId": "Geen klant ID opgegeven",
      "customerNotFound": "Klant niet gevonden",
      "loadError": "Fout bij laden klant",
      "noContactInfo": "Geen contactgegevens",
      "noPianosRegistered": "Geen piano's geregistreerd",
      "sendInvitation": "Uitnodiging versturen",
      "serialNr": "Serienr",
      "lastTuning": "Laatste stembeurt",
      "noEmailAddress": "Klant heeft geen e-mailadres",
      "confirmSendInvitation": "Stembeurt uitnodiging versturen voor \"{{name}}\"?",
      "invitationSent": "Uitnodiging verstuurd!",
      "sendError": "Fout bij versturen",
      "editPiano": "Piano Bewerken",
      "copied": "Gekopieerd!"
    },
    "customerForm": {
      "back": "Terug",
      "newCustomer": "Nieuwe Klant",
      "editCustomer": "Klant Bewerken",
      "customerDetails": "Klantgegevens",
      "name": "Naam",
      "fullName": "Volledige naam",
      "emailLabel": "E-mail",
      "emailPlaceholder": "e-mailadres",
      "phoneLabel": "Telefoon",
      "phonePlaceholder": "+31 6 12345678",
      "searchAddress": "Zoek adres...",
      "extra": "Extra",
      "type": "Type",
      "typeRegular": "Particulier",
      "typeTheater": "Theater / Zaal",
      "typeSchool": "School",
      "notes": "Notities",
      "notesPlaceholder": "Bijzonderheden, opmerkingen...",
      "save": "Opslaan",
      "saving": "Opslaan...",
      "saved": "Opgeslagen!",
      "saveFailed": "Opslaan mislukt",
      "nameRequired": "Naam is verplicht",
      "customerNotFound": "Klant niet gevonden",
      "loadError": "Fout bij laden klant",
      "saveError": "Fout bij opslaan",
      "customerUpdated": "Klant bijgewerkt ✓",
      "customerCreated": "Klant aangemaakt ✓",
      "confirmDeleteTitle": "Weet je zeker dat je deze klant wilt verwijderen?",
      "deleteCustomer": "Verwijder Klant",
      "cancel": "Annuleer",
      "deleteFailed": "Verwijderen mislukt",
      "customerDeleted": "Klant verwijderd",
      "deleteError": "Fout bij verwijderen",
      "customer": "Klant",
      "customers": "Klanten",
      "agenda": "Agenda",
      "pianos": "Piano's",
      "smart": "Smart"
    },
    "pianoForm": {
      "back": "Terug",
      "newPiano": "Nieuwe Piano",
      "editPiano": "Piano Bewerken",
      "pianoDetails": "Piano Gegevens",
      "brand": "Merk",
      "brandPlaceholder": "bijv. Steinway, Yamaha",
      "model": "Model",
      "modelPlaceholder": "Model naam/nummer",
      "serialNumber": "Serienummer",
      "serialNumberPlaceholder": "Serienummer",
      "buildYear": "Bouwjaar",
      "buildYearPlaceholder": "bijv. 2015",
      "type": "Type",
      "typeUpright": "Piano",
      "typeGrand": "Vleugel",
      "extraInfo": "Extra Informatie",
      "finish": "Afwerking",
      "finishPlaceholder": "bijv. Zwart hoogglans",
      "locationLabel": "Locatie",
      "locationPlaceholder": "bijv. Woonkamer",
      "floor": "Verdieping",
      "floorPlaceholder": "bijv. 2e etage",
      "conditionExcellent": "Uitstekend",
      "conditionGood": "Goed",
      "conditionFair": "Redelijk",
      "conditionPoor": "Matig",
      "conditionNeedsRepair": "Reparatie nodig",
      "notes": "Notities",
      "notesPlaceholder": "Bijzonderheden, opmerkingen...",
      "pianoForCustomer": "Piano voor",
      "linkSubtitle": "Wijs deze piano toe aan een klant",
      "searchCustomer": "Zoek klant...",
      "loading": "Laden...",
      "noContext": "Geen klant of piano opgegeven",
      "pianoNotFound": "Piano niet gevonden",
      "brandRequired": "Merk is verplicht",
      "pianoSaved": "Piano opgeslagen ✓",
      "loadError": "Fout bij laden piano",
      "save": "Opslaan",
      "saving": "Opslaan...",
      "saved": "Opgeslagen!",
      "saveFailed": "Opslaan mislukt",
      "saveError": "Fout bij opslaan",
      "confirmDeleteTitle": "Weet je zeker dat je deze piano wilt verwijderen?",
      "deletePiano": "Verwijder Piano",
      "cancel": "Annuleer",
      "deleteFailed": "Verwijderen mislukt",
      "pianoDeleted": "Piano verwijderd",
      "deleteError": "Fout bij verwijderen",
      "photosLoadFailed": "Foto's laden mislukt",
      "uploadFailed": "Upload mislukt",
      "maxPhotos": "Maximaal 10 foto's per piano",
      "photosRemaining": "mogelijk",
      "photosAdded": "toegevoegd",
      "photoUploadFailed": "Foto uploaden mislukt",
      "confirmDeletePhoto": "Foto verwijderen?",
      "photoDeleted": "Foto verwijderd",
      "condition": "Conditie"
    },
    "pianosList": {
      "cancel": "Annuleer",
      "sendInvitation": "Verstuur uitnodiging",
      "edit": "Bewerken",
      "delete": "Verwijder",
      "deleteFailed": "Verwijderen mislukt",
      "searchPianos": "Zoek piano's...",
      "filterAll": "Alle",
      "filterPiano": "Piano",
      "filterGrand": "Vleugel",
      "filterDue": "Stembeurt nodig",
      "selected": "geselecteerd",
      "schedule": "Inplannen",
      "owner": "Eigenaar",
      "details": "Gegevens",
      "noNotes": "Geen notities",
      "photos": "Foto's",
      "addPhoto": "Foto",
      "serviceHistory": "Service historie",
      "noHistory": "Geen service historie",
      "loadingHistory": "Historie laden...",
      "couldNotLoadHistory": "Kon historie niet laden",
      "noDetails": "Geen gegevens",
      "noOwner": "Geen eigenaar gekoppeld",
      "noOwnerLabel": "Geen eigenaar",
      "unknownPiano": "Onbekende piano",
      "serialNumber": "Serienummer",
      "type": "Type",
      "buildYear": "Bouwjaar",
      "color": "Kleur",
      "lastTuning": "Laatste stembeurt",
      "tuningStatus": "Stem status",
      "name": "Naam",
      "phone": "Telefoon",
      "city": "Plaats",
      "unknown": "Onbekend",
      "scheduled": "Ingepland",
      "overdue": "Te laat",
      "dueSoon": "Binnenkort",
      "onTime": "Op tijd",
      "today": "Vandaag",
      "years": "jr",
      "months": "mnd",
      "days": "dgn",
      "loadError": "Fout bij laden",
      "loadErrorText": "Kon piano's niet laden. Probeer opnieuw.",
      "noResults": "Geen resultaten",
      "noPianos": "Geen piano's",
      "noResultsText": "Probeer een andere zoekterm of filter",
      "noPianosText": "Voeg je eerste piano toe om te beginnen",
      "selectAllDue": "Selecteer alle aan de beurt",
      "invitationSent": "Uitnodiging",
      "notYetInvited": "Nog niet uitgenodigd",
      "noEmail": "Geen e-mail",
      "intervalIsZero": "Steminterval is 0",
      "chooseCustomer": "Kies een klant",
      "noCustomersFound": "Geen klanten gevonden",
      "confirmDelete": "Weet je zeker dat je \"%s\" wilt verwijderen?\n\nDit kan niet ongedaan worden gemaakt.",
      "pianoDeleted": "Piano verwijderd ✓",
      "deleteError": "Fout bij verwijderen",
      "appointment": "Afspraak",
      "service": "Service",
      "noValidPianos": "Geen geldige piano's om uitnodigingen te versturen",
      "maxInvitations": "Maximaal 20 uitnodigingen per keer",
      "confirmSendInvitations": "Wil je %d stemuitnodiging(en) versturen?",
      "sending": "Versturen...",
      "invitationsSent": "uitnodiging(en) verstuurd",
      "failed": "mislukt",
      "sendError": "Fout bij versturen uitnodigingen",
      "skippedNoEmailOrInterval": "piano('s) overgeslagen: geen email of interval",
      "noEmailLabel": "klant heeft geen e-mail",
      "intervalZeroLabel": "steminterval is 0",
      "maxPhotos": "Maximaal 10 foto's",
      "remaining": "mogelijk",
      "photosAdded": "toegevoegd",
      "uploadFailed": "Upload mislukt",
      "confirmDeletePhoto": "Foto verwijderen?",
      "photoDeleted": "Foto verwijderd"
    },
    "customers": {
      "searchPlaceholder": "Zoek klanten..."
    },
    "logout": "Uitloggen",
    "login": {
      "title": "Inloggen",
      "subtitle": "Log in om te synchroniseren",
      "password": "Wachtwoord",
      "loginBtn": "Inloggen",
      "or": "of",
      "continueGoogle": "Doorgaan met Google",
      "noAccount": "Nog geen account?",
      "register": "Registreren"
    }
  },
  "settings": {
    "title": "Instellingen",
    "subtitle": "Beheer je agenda, e-mail, account en bedrijfsinstellingen.",
    "loading": "Laden...",
    "syncOverview": "Sync Overzicht",
    "hideGuide": "Handleidingen verbergen",
    "hideGuideDesc": "Verberg de 'Hoe werkt het?' secties op alle pagina's",
    "sidebar": {
      "calendar": "Agenda",
      "googleCalendar": "Google Agenda",
      "microsoftCalendar": "Microsoft 365",
      "appleCalendar": "Apple iCloud",
      "displaySettings": "Weergave",
      "icalFeed": "iCal Feed",
      "email": "E-mail",
      "customDomain": "Eigen domein",
      "emailNotifications": "Notificaties",
      "emailTemplates": "Templates",
      "emailLog": "Verzendlog",
      "notifications": "Meldingen",
      "pushNotifications": "Push meldingen",
      "business": "Bedrijf",
      "companyDetails": "Bedrijfsgegevens",
      "bookingSettings": "Boekingsinstellingen",
      "teamManagement": "Teambeheer",
      "integrations": "Integraties",
      "accounting": "Boekhoudkoppeling",
      "travelSettings": "Reizen & Werkgebied",
      "mileageTracking": "Kilometerregistratie",
      "regionalSettings": "Regio instellingen",
      "bookingPlanning": "Boeken & Planning",
      "onlineBooking": "Online Boeken",
      "availability": "Beschikbaarheid",
      "travelArea": "Reizen & Werkgebied",
      "communication": "Communicatie",
      "services": "Diensten",
      "manageServices": "Diensten beheren",
      "account": "Account",
      "profile": "Profiel",
      "subscription": "Abonnement",
      "language": "Taal",
      "importData": "Data importeren"
    },
    "cards": {
      "password": "Wachtwoord",
      "companyAvailability": "Bedrijf & Beschikbaarheid",
      "resetData": "Opnieuw beginnen",
      "dangerZone": "Gevarenzone"
    },
    "export": {
      "title": "Data Export",
      "statusLabel": "Backup & Download",
      "description": "Download al je bedrijfsgegevens als backup. Het bestand bevat klanten, piano's, afspraken, servicegeschiedenis en instellingen.",
      "tipTitle": "Tip: maak regelmatig een backup",
      "tipText": "Bewaar het bestand op een veilige plek, bijvoorbeeld in je eigen cloud of op een externe schijf. Zo heb je altijd een kopie van je bedrijfsdata.",
      "customers": "Klanten",
      "pianos": "Piano's",
      "appointments": "Afspraken",
      "serviceRecords": "Service records",
      "downloadBtn": "Download Backup",
      "preparing": "Bezig met exporteren...",
      "success": "Backup gedownload!",
      "error": "Fout bij exporteren"
    },
    "vat": {
      "enterNumber": "Vul eerst een BTW-nummer in",
      "validating": "Valideren...",
      "valid": "Geldig BTW-nummer",
      "invalid": "Ongeldig BTW-nummer",
      "reverseCharge": "BTW verlegd (0%) — reverse charge van toepassing",
      "serviceDown": "EU VIES-service tijdelijk niet beschikbaar. Probeer het later opnieuw.",
      "error": "Fout bij valideren van BTW-nummer",
      "verified": "Geverifieerd via EU VIES",
      "validateBtn": "Valideer"
    },
    "iban": {
      "enterNumber": "Vul eerst een IBAN in",
      "invalidFormat": "Ongeldig IBAN-formaat",
      "wrongLength": "IBAN voor {country} moet {length} tekens zijn",
      "invalid": "Ongeldig IBAN — controleer de cijfers",
      "valid": "Geldig IBAN",
      "validateBtn": "Valideer"
    },
    "mileage": {
      "title": "Km-registratie",
      "description": "Fiscus-proof km-administratie met voertuig, kilometerstanden en ritregistratie.",
      "year": "Jaar:",
      "totalKm": "Totaal km",
      "businessKm": "Zakelijk km",
      "privateKm": "Privé km",
      "business": "Zakelijk",
      "private": "Privé",
      "trips": "ritten",
      "manualTrips": "Handmatige ritten",
      "monthlyBreakdown": "Maandoverzicht",
      "exportCSV": "Export CSV",
      "exportPDF": "Export PDF (fiscus-proof)",
      "pdfComingSoon": "PDF export komt binnenkort!",
      "vehicleTitle": "Voertuig",
      "licensePlate": "Kenteken",
      "vehicleName": "Voertuig",
      "saveVehicle": "Opslaan",
      "vehicleSaved": "Voertuig opgeslagen",
      "vehicleError": "Fout bij opslaan voertuig",
      "odometerTitle": "Kilometerstanden",
      "odometerDate": "Datum",
      "odometerReading": "Stand (km)",
      "noReadings": "Nog geen kilometerstanden ingevoerd.",
      "selectDate": "Selecteer een datum",
      "enterReading": "Voer een geldige kilometerstand in",
      "readingSaved": "Kilometerstand opgeslagen",
      "addTripTitle": "Handmatige rit toevoegen",
      "tripDate": "Datum",
      "tripDistance": "Afstand (km)",
      "tripFrom": "Van",
      "tripTo": "Naar",
      "tripPurpose": "Ritdoel",
      "tripPrivate": "Privérit",
      "tripRoundTrip": "Retourrit (×2)",
      "addTrip": "Rit toevoegen",
      "manualTripsTitle": "Handmatige ritten",
      "tripAdded": "Rit toegevoegd",
      "tripDeleted": "Rit verwijderd",
      "confirmDelete": "Weet je zeker dat je deze rit wilt verwijderen?",
      "enterDistance": "Voer een afstand in",
      "noData": "Geen km-data geladen",
      "generatingPdf": "PDF wordt gegenereerd...",
      "pdfReady": "PDF gedownload",
      "pdfError": "Fout bij genereren PDF",
      "exportPrefix": "km-registratie",
      "dashboardLink": "Snel ritten toevoegen? Gebruik de km-widget op het Dashboard →",
      "pdfTitle": "Kilometerregistratie",
      "pdfGeneratedOn": "Gegenereerd op",
      "pdfAdministration": "km-administratie",
      "pdfCompanyDetails": "Bedrijfsgegevens",
      "pdfVehicle": "Voertuig",
      "pdfLicensePlate": "Kenteken",
      "pdfStartOdometer": "Beginstand",
      "pdfEndOdometer": "Eindstand",
      "pdfActuallyDriven": "Werkelijk gereden",
      "pdfTotal": "Totaal",
      "pdfBusiness": "Zakelijk",
      "pdfPrivate": "Privé",
      "pdfMonthlyOverview": "Maandoverzicht",
      "pdfMonth": "Maand",
      "pdfTripLog": "Rittenregistratie",
      "pdfDate": "Datum",
      "pdfType": "Type",
      "pdfFrom": "Van",
      "pdfTo": "Naar",
      "pdfPurpose": "Doel",
      "pdfOutward": "Heen",
      "pdfReturn": "Terug",
      "pdfSource": "Bron",
      "pdfPrint": "Afdrukken / PDF opslaan",
      "pdfLegendOverride": "Handmatig gecorrigeerde afstand",
      "pdfLegendManual": "Handmatig toegevoegde rit",
      "pdfFooterNote": "Dit document is automatisch gegenereerd door PianoPlanner op",
      "pdfTaxNote": "Bewaar dit document bij uw fiscale administratie conform de eisen van de Belastingdienst.",
      "pdfMonthNames": "Januari,Februari,Maart,April,Mei,Juni,Juli,Augustus,September,Oktober,November,December",
      "csvHeaderDate": "Datum",
      "csvHeaderType": "Type",
      "csvHeaderTitle": "Titel",
      "csvHeaderFrom": "Van",
      "csvHeaderTo": "Naar",
      "csvHeaderOneWay": "Enkele reis",
      "csvHeaderRoundTrip": "Retourrit",
      "csvHeaderTotal": "Totaal",
      "csvHeaderPurpose": "Ritdoel",
      "csvYes": "Ja",
      "csvNo": "Nee",
      "csvManualSuffix": "(handmatig)"
    },
    "calendar": {
      "googleTitle": "Google Agenda",
      "googleDesc": "Twee-weg synchronisatie tussen PianoPlanner en Google Agenda.",
      "betaDisclaimer": "Google Agenda synchronisatie is momenteel in bèta. Google beoordeelt onze app voor verificatie. Gedurende deze periode kun je een waarschuwingsscherm zien bij het koppelen. Dit is normaal en je gegevens zijn veilig.",
      "syncDirection": "Synchronisatierichting",
      "twoWaySync": "Twee-weg sync",
      "twoWayGoogleDesc": "PianoPlanner ↔ Google (aanbevolen)",
      "exportOnly": "Alleen exporteren",
      "exportOnlyGoogleDesc": "PianoPlanner → Google",
      "importOnly": "Alleen importeren",
      "importOnlyGoogleDesc": "Google → PianoPlanner",
      "calendarLabel": "Agenda",
      "enableSync": "✓ Sync inschakelen",
      "lastSync": "Laatste sync:",
      "never": "Nooit",
      "historyImport": "Historische agenda-data importeren",
      "historyImportDesc": "Importeer afspraken tot 3 jaar terug uit je Google Agenda",
      "connectGoogle": "Google Account koppelen",
      "googleLoginRequired": "Google Agenda synchronisatie vereist dat je inlogt met je Google account.",
      "googleLoginRequiredDesc": "Log uit en kies 'Inloggen met Google' op het loginscherm. Je bestaande gegevens blijven behouden.",
      "googleLoginRequiredBtn": "Uitloggen en opnieuw inloggen met Google",
      "displayTitle": "Agenda weergave",
      "displayDesc": "Configureer welke uren zichtbaar zijn in je agendaweergave.",
      "startHour": "Start uur",
      "endHour": "Eind uur",
      "outsideHoursInfo": "Afspraken buiten deze uren tonen een indicator boven/onder de agenda.",
      "microsoftTitle": "Microsoft 365 / Outlook",
      "microsoftDesc": "Synchroniseer met Outlook.com, Hotmail of Microsoft 365 werkagenda.",
      "microsoftConnected": "Verbonden!",
      "microsoftSynced": "Je Microsoft Agenda is gesynchroniseerd.",
      "selectCalendar": "Selecteer agenda:",
      "connectMicrosoft": "Microsoft Account koppelen",
      "appleTitle": "Apple Agenda",
      "appleDesc": "Synchroniseer met iCloud / Apple Agenda.",
      "appleIdLabel": "Apple ID",
      "appPasswordLabel": "App-specifiek wachtwoord",
      "twoWayAppleDesc": "PianoPlanner ↔ Apple (aanbevolen)",
      "exportOnlyAppleDesc": "PianoPlanner → Apple",
      "importOnlyAppleDesc": "Apple → PianoPlanner",
      "feedTitle": "Agenda abonnement",
      "feedDesc": "Abonneer je op je agenda vanuit elke app (alleen-lezen iCal feed).",
      "feedUrlLabel": "Abonnement URL:",
      "copy": "Kopiëren",
      "feedInstructionsTitle": "Toevoegen aan je agenda:",
      "feedInstructionApple": "Apple: Archief → Nieuw agenda-abonnement",
      "feedInstructionGoogle": "Google: Instellingen → Agenda toevoegen → Via URL",
      "feedInstructionOutlook": "Outlook: Agenda toevoegen → Abonneren via web",
      "syncRange": "Sync bereik:",
      "startDate": "Startdatum",
      "monthsAhead": "Maanden vooruit",
      "saveRange": "Bereik opslaan",
      "feedAutoRefresh": "Agenda apps verversen automatisch (meestal elk uur).",
      "enableFeed": "Feed inschakelen",
      "disableFeed": "Uitschakelen",
      "newLink": "Nieuwe link",
      "calendarExportTitle": "Export / Backup",
      "calendarExportDesc": "Download je agenda als .ics bestand voor backup of import.",
      "from": "Van",
      "to": "Tot",
      "downloadIcs": "Download .ics",
      "exportHint": "Laat datums leeg om 1 jaar terug en vooruit te exporteren.",
      "inactive": "Inactief",
      "setupInstructions": "Installatie-instructies:",
      "appleId": "Apple ID",
      "appSpecificPassword": "App-specifiek wachtwoord",
      "connect": "Koppelen",
      "addToCalendar": "Toevoegen aan je agenda:",
      "exportTitle": "Export / Backup",
      "exportDesc": "Download je agenda als .ics bestand voor backup of import.",
      "disable": "Uitschakelen",
      "singleProviderTitle": "Eén kalender actief",
      "singleProviderMessage": "Je kunt slechts één kalenderintegratie tegelijk gebruiken",
      "singleProviderError": "Je kunt slechts één agendaprovider verbinden. Ontkoppel eerst de huidige."
    },
    "email": {
      "configTitle": "E-mail configuratie",
      "usingPianoplanner": "Via PianoPlanner",
      "ownEmailConfigured": "Eigen e-mail actief",
      "ownEmailActive": "Eigen e-mail",
      "emailsSentFrom": "E-mails worden verstuurd vanaf:",
      "notVerified": "Niet geverifieerd",
      "testToActivate": "Test de verbinding om je instellingen te activeren",
      "pianoplannerEmail": "PianoPlanner e-mail",
      "emailsViaPianoplannerDesc": "E-mails worden namens jou verstuurd via noreply@pianoplanner.com",
      "configDesc": "Verstuur e-mails vanaf je eigen adres of gebruik de standaard van PianoPlanner.",
      "sendVia": "E-mails versturen via:",
      "viaPianoplanner": "PianoPlanner (standaard)",
      "viaPianoplannerDesc": "E-mails namens jou verstuurd via noreply@pianoplanner.com",
      "viaOwn": "Mijn eigen e-mail",
      "viaOwnDesc": "E-mails verstuurd vanaf je persoonlijke e-mailadres",
      "provider": "E-mail provider",
      "providerGmail": "Gmail / Google Workspace",
      "providerIcloud": "iCloud / Apple Mail",
      "providerOutlook": "Outlook / Microsoft 365",
      "providerCustom": "Overig (handmatige configuratie)",
      "emailAddress": "E-mailadres",
      "appPassword": "App-specifiek wachtwoord",
      "appPasswordHint": "Niet je gewone wachtwoord. Volg de instructies hierboven.",
      "smtpHost": "SMTP Host",
      "port": "Poort",
      "sslTls": "SSL/TLS (vereist voor poort 465)",
      "senderName": "Afzendernaam (optioneel)",
      "senderName2": "Afzendernaam",
      "replyEmail": "E-mailadres (voor antwoorden)",
      "senderDetails": "Jouw afzender-gegevens",
      "providerTransip": "TransIP",
      "advancedSmtp": "Geavanceerd: eigen SMTP-server (optioneel)",
      "advancedSmtpDesc": "Standaard worden e-mails verstuurd via onze beveiligde server met jouw naam als afzender. Wil je e-mails direct via je eigen mailserver versturen? Vul dan hieronder je SMTP-gegevens in.",
      "smtpDisclaimerTitle": "Let op bij eigen SMTP",
      "smtpDisclaimerText": "Als je je eigen e-mailserver gebruikt, ontvang je voortaan zelf bounceberichten (onbestelbare mails). Dit zijn automatische meldingen als een klant-e-mailadres niet meer bestaat of onjuist is. Dit is normaal en geen fout in PianoPlanner — pas het e-mailadres van de klant aan.",
      "test": "Testen",
      "notificationsTitle": "Notificaties",
      "notificationsDesc": "Automatische e-mails naar klanten voor afspraken.",
      "confirmations": "Bevestigingsmails",
      "confirmationsDesc": "Versturen bij het boeken van een afspraak",
      "reminders": "Herinneringsmails",
      "remindersDesc": "Versturen voor de afspraak",
      "sendReminder": "Herinnering versturen",
      "hoursBefore": "uur van tevoren",
      "reminder1Label": "Herinnering 1",
      "reminder2Label": "Herinnering 2",
      "reminderExplanation": "Klanten ontvangen automatisch een herinnering per e-mail vóór hun afspraak. Stel één of twee herinneringen in — ideaal als je ver vooruit plant, zodat klanten nog tijd hebben om te herplannen.",
      "reminderTip": "💡 Tip: combineer bijv. 7 dagen + 24 uur, zodat klanten tijd hebben om te herplannen als ze niet kunnen.",
      "reminderOff": "Uit",
      "hours2": "2 uur van tevoren",
      "hours6": "6 uur van tevoren",
      "hours12": "12 uur van tevoren",
      "hours24": "24 uur van tevoren",
      "hours48": "48 uur van tevoren",
      "days5": "5 dagen van tevoren",
      "days7": "7 dagen van tevoren",
      "reminder2MustBeShorter": "Herinnering 2 moet korter zijn dan herinnering 1 (dichter bij de afspraak)",
      "cancellations": "Annuleringsmails",
      "cancellationsDesc": "Klant informeren bij annulering",
      "newBookingAlerts": "Nieuwe boeking meldingen",
      "newBookingAlertsDesc": "Ontvang een melding wanneer klanten boeken",
      "sendTest": "Test verzenden",
      "bccToSelf": "Kopie naar mijzelf (BCC)",
      "bccToSelfDesc": "Ontvang automatisch een kopie van alle e-mails die naar klanten worden verstuurd (bevestigingen, herinneringen, annuleringen, facturen). Handig om te controleren wat er bij je klanten aankomt.",
      "templatesTitle": "E-mail sjablonen",
      "templatesDesc": "Pas de inhoud van automatische e-mails aan met je eigen tekst en stijl.",
      "loading": "Laden...",
      "openEditor": "Open Template Editor",
      "editorHint": "Gebruik de volledige editor voor een betere ervaring met live preview.",
      "editTemplateTitle": "E-mail sjabloon bewerken",
      "subject": "Onderwerp",
      "availableVariables": "Beschikbare variabelen",
      "contentHtml": "Inhoud (HTML)",
      "templateActive": "Template actief",
      "preview": "Preview",
      "refresh": "Ververs",
      "clickRefreshPreview": "Klik \"Ververs\" om een preview te zien",
      "resetToDefault": "Reset naar standaard",
      "cancel": "Annuleren",
      "senderNamePlaceholder": "bijv. Jan's Pianostemservice",
      "senderNameHelp": "Dit zien klanten als afzender van je e-mails",
      "replyEmailPlaceholder": "info@uwbedrijf.nl",
      "replyEmailHelp": "Antwoorden van klanten gaan naar dit adres",
      "subjectPlaceholder": "Bijv: Bevestiging: {{service}} op {{date}}"
    },
    "emailLog": {
      "title": "Verzendlog",
      "description": "Overzicht van alle verzonden e-mails. Controleer of berichten succesvol zijn afgeleverd.",
      "searchPlaceholder": "Zoek op e-mailadres of onderwerp...",
      "refresh": "Ververs",
      "colStatus": "Status",
      "colRecipient": "Ontvanger",
      "colSubject": "Onderwerp",
      "colDate": "Datum",
      "statusSent": "Verzonden",
      "statusFailed": "Mislukt",
      "empty": "Nog geen e-mails verzonden",
      "loading": "Laden...",
      "loadError": "Kon verzendlog niet laden",
      "totalEmails": "e-mail(s)",
      "selectAllPage": "Selecteer pagina",
      "deleteSelected": "Verwijder selectie",
      "selectedCount": "{count} geselecteerd",
      "confirmDelete": "Weet je zeker dat je {count} e-mail(s) wilt verwijderen?",
      "deleted": "{count} e-mail(s) verwijderd",
      "deleteError": "Kon e-mails niet verwijderen"
    },
    "tuningReminders": {
      "title": "Automatische Stemherinneringen",
      "description": "Stuur automatisch stemherinneringen naar klanten wanneer hun piano toe is aan een stembeurt. Werkt op basis van het steminterval per piano.",
      "enable": "Automatische herinneringen inschakelen",
      "enableDesc": "Klanten worden automatisch herinnerd wanneer hun piano toe is aan een stembeurt",
      "advanceDays": "Eerste herinnering versturen",
      "daysBeforeDue": "dagen vóór de stembeurt",
      "followupInterval": "Follow-up interval",
      "daysBetweenFollowups": "dagen tussen follow-up herinneringen",
      "maxFollowups": "Maximum herinneringen per cyclus",
      "remindersPer": "herinneringen per cyclus",
      "sendTime": "Verzendtijdstip",
      "sendTimeDesc": "uur (emails worden rondom dit tijdstip verstuurd)",
      "statsTotalSent": "Totaal verstuurd",
      "statsThisMonth": "Deze maand",
      "statsOptedOut": "Uitgeschreven",
      "howItWorks": "Hoe werkt het?",
      "howStep1": "Herinneringen worden alleen verstuurd voor piano's met een ingesteld steminterval (> 0)",
      "howStep2": "De eerste herinnering gaat uit X dagen vóór de geplande stembeurt",
      "howStep3": "Bij geen reactie worden follow-ups verstuurd op het ingestelde interval",
      "howStep4": "De cyclus stopt automatisch als de klant een afspraak boekt of zich uitschrijft",
      "howStep5": "Het email sjabloon kunt u aanpassen via de Template Editor",
      "sendTest": "Test versturen",
      "editTemplate": "Sjabloon bewerken",
      "saved": "Stemherinnering instellingen opgeslagen",
      "saveError": "Fout bij opslaan stemherinnering instellingen",
      "testSent": "Test herinnering verstuurd naar uw eigen emailadres. Controleer uw inbox.",
      "testError": "Kon test herinnering niet versturen",
      "active": "Actief",
      "inactive": "Inactief",
      "previewTitle": "Let op",
      "previewWarning": "Er zijn momenteel {pianoCount} piano's van {customerCount} klanten die toe zijn aan een stembeurt. Na het opslaan worden er herinneringen verstuurd. Piano's die minder dan 24 uur geleden zijn geïmporteerd worden overgeslagen.",
      "previewNone": "Er zijn momenteel geen piano's die toe zijn aan een stembeurt. Nieuwe piano's worden pas na 24 uur meegenomen."
    },
    "account": {
      "subscriptionTitle": "Abonnement",
      "subscriptionDesc": "Beheer je abonnement, bekijk facturen en pas je betaalmethode aan.",
      "manageSubscription": "Abonnement beheren",
      "importTitle": "Data importeren",
      "importTypes": "Contacten, Agenda, CSV",
      "importDesc": "Importeer bestaande gegevens uit andere apps of bestanden.",
      "importContacts": "Contacten",
      "importContactsDesc": "vCard, CSV\niPhone, Google, Outlook",
      "importCalendar": "Agenda",
      "importCalendarDesc": "iCal (.ics)\nApple, Google, Outlook",
      "importGazelle": "Gazelle Import",
      "importGazelleDesc": "Stap voor stap\nmet gedetailleerd rapport",
      "cleanNotes": "Notities opschonen",
      "cleanNotesDesc": "Verwijder dubbele tekst en herhaalde regels uit klant- en pianonotities. Handig na het importeren van data met mogelijke samenvoeg-artefacten.",
      "cleanAllNotes": "Alle notities opschonen",
      "timezone": "Tijdzone",
      "timezoneDesc": "Stel je tijdzone in voor nauwkeurige afspraakplanning en agenda synchronisatie.",
      "autoDetect": "Auto-detecteren",
      "saveTimezone": "Tijdzone opslaan",
      "name": "Naam",
      "profileEmail": "E-mail",
      "loginMethod": "Inlogmethode",
      "saveProfile": "Profiel opslaan",
      "currentPassword": "Huidig wachtwoord",
      "newPassword": "Nieuw wachtwoord",
      "confirmPassword": "Wachtwoord bevestigen",
      "minChars": "Minimaal 6 tekens",
      "changePassword": "Wachtwoord wijzigen",
      "interfaceLanguage": "Interfacetaal",
      "deleteTitle": "Account permanent verwijderen",
      "deleteWarning": "Deze actie kan niet ongedaan worden gemaakt. Al je gegevens, afspraken, klanten en instellingen worden permanent verwijderd.",
      "deleteAccountBtn": "Account verwijderen",
      "deleteAccountConfirmTitle": "Account verwijderen",
      "deleteAccountPermanent": "Deze actie is permanent!",
      "deleteAccountConfirmMsg": "Je account, alle afspraken, klanten, piano's, diensten en instellingen worden permanent verwijderd en kunnen niet worden hersteld.",
      "deleteConfirmPrompt": "Vul je wachtwoord in om te bevestigen:",
      "deleteConfirmPassword": "Wachtwoord",
      "deleteConfirmBtn": "Mijn account verwijderen",
      "email": "E-mail",
      "password": "Wachtwoord",
      "permanentAction": "Deze actie is permanent!",
      "deleteModalWarning": "Je account, alle afspraken, klanten, piano's, diensten en instellingen worden permanent verwijderd en kunnen niet worden hersteld.",
      "confirmDeletion": "Vul je wachtwoord in om te bevestigen:",
      "deleteMyAccount": "Mijn account verwijderen",
      "resetTitle": "Alle data verwijderen, instellingen bewaren",
      "resetDescription": "Verwijder al je klanten, piano's, afspraken, facturen en servicehistorie. Je account, instellingen, diensten, e-mailtemplates en abonnement blijven ongewijzigd.",
      "resetWillDelete": "Wordt verwijderd:",
      "resetCustomers": "Alle klanten",
      "resetPianos": "Alle piano's en foto's",
      "resetAppointments": "Alle afspraken",
      "resetInvoices": "Alle facturen",
      "resetServiceHistory": "Alle servicehistorie",
      "resetMileage": "Kilometerregistraties",
      "resetWillKeep": "Wordt bewaard:",
      "keepAccount": "Je account & profiel",
      "keepSettings": "Bedrijfsinstellingen & boekingspagina",
      "keepServices": "Je diensten & prijzen",
      "keepTemplates": "E-mailtemplates",
      "keepSubscription": "Abonnement & agenda-synchronisatie",
      "resetDataBtn": "Opnieuw beginnen",
      "resetConfirmWarning": "Hiermee wordt al je data verwijderd!",
      "resetConfirmDetail": "Alle klanten, piano's, afspraken, facturen en servicehistorie worden permanent verwijderd. Je instellingen en account blijven bewaard.",
      "resetConfirmPrompt": "Type RESET om te bevestigen:",
      "resetConfirmLabel": "Bevestiging",
      "confirmReset": "Opnieuw beginnen",
      "resetTypeReset": "Type RESET om te bevestigen",
      "resetting": "Bezig met resetten...",
      "resetSuccess": "Alle data is gewist. Je instellingen en account zijn bewaard.",
      "resetFailed": "Kon data niet resetten"
    },
    "company": {
      "logoTitle": "Bedrijfslogo",
      "logoDesc": "Upload je logo om e-mails en je boekingspagina te personaliseren.",
      "uploadLogo": "Logo uploaden",
      "removeLogo": "Verwijderen",
      "basicInfo": "Basisinformatie",
      "searchAddress": "Adres zoeken",
      "searchAddressPlaceholder": "Begin met typen om te zoeken...",
      "saveCompany": "Bedrijf opslaan"
    },
    "booking": {
      "desc": "Laat klanten online afspraken inplannen via een deelbare link.",
      "linkDisabled": "Boekingslink is uitgeschakeld",
      "yourBookingUrl": "Jouw boekings-URL:",
      "copyLink": "Kopiëren",
      "previewLink": "Preview",
      "enableBookingLink": "Boekingslink inschakelen",
      "pageTitle": "Paginatitel",
      "pageTitlePlaceholder": "Een afspraak inplannen",
      "minAdvance": "Minimale voorbereidingstijd",
      "maxAdvance": "Maximale voorbereidingstijd",
      "requiredFields": "Verplichte velden",
      "welcomeMessage": "Welkomstbericht (optioneel)",
      "welcomePlaceholder": "Bericht getoond op je boekingspagina",
      "availableServices": "Beschikbare diensten voor boeking",
      "availableServicesDesc": "Selecteer welke diensten klanten via de publieke link kunnen boeken",
      "weeklyAvailability": "Weekbeschikbaarheid",
      "weeklyAvailabilityHint": "Stel je werkuren in per dag.",
      "saveAvailability": "Beschikbaarheid opslaan",
      "theaterAvailability": "Theater beschikbaarheid",
      "theaterAvailabilityHint": "Optionele aparte beschikbaarheid voor theaters/concertzalen. Schakel in om bepaalde klanten buiten normale uren te laten boeken.",
      "proFeature": "Pro Feature",
      "theaterProMsg": "Theater beschikbaarheid is alleen beschikbaar met een Pro abonnement.",
      "upgradeToPro": "Upgrade naar Pro",
      "enableTheater": "Theater beschikbaarheid inschakelen",
      "theaterBookingWindow": "Theater boekingsvenster",
      "theaterBookingWindowHint": "Andere voorbereidingstijden voor theater klanten. Handig voor last-minute boekingen.",
      "saveTheater": "Theater beschikbaarheid opslaan",
      "yourUrl": "Jouw boekings-URL:",
      "preview": "Preview",
      "enableLink": "Boekingslink inschakelen",
      "selectServices": "Selecteer welke diensten klanten via de publieke link kunnen boeken",
      "theaterHint": "Optionele aparte beschikbaarheid voor theaters/concertzalen. Schakel in om bepaalde klanten buiten normale uren te laten boeken.",
      "theaterWindow": "Theater boekingsvenster",
      "theaterWindowHint": "Andere voorbereidingstijden voor theater klanten. Handig voor last-minute boekingen.",
      "1day": "1 dag",
      "2days": "2 dagen",
      "3days": "3 dagen",
      "4days": "4 dagen",
      "5days": "5 dagen",
      "1week": "1 week",
      "2weeks": "2 weken",
      "1month": "1 maand",
      "2months": "2 maanden",
      "3months": "3 maanden",
      "6months": "6 maanden",
      "9months": "9 maanden",
      "1year": "1 jaar",
      "noMinimum": "Geen minimum (direct)",
      "1hour": "1 uur",
      "2hours": "2 uur",
      "4hours": "4 uur",
      "8hours": "8 uur (dezelfde dag)"
    },
    "travel": {
      "title": "Reisinstellingen",
      "desc": "Stel in hoe ver je wilt rijden en hoeveel pauze je wilt tussen afspraken.",
      "enableLimits": "Reislimieten inschakelen",
      "bookingRadius": "Werkgebied voor online boekingen",
      "bookingRadiusDesc": "Hoe ver mogen klanten maximaal van je vandaan wonen om online te kunnen boeken?",
      "maxTravelBooking": "Maximale reistijd voor boekingen",
      "noLimit": "Geen limiet",
      "noPreference": "Geen voorkeur",
      "farMessage": "Bericht voor verre locaties",
      "farMessageHint": "Dit bericht ziet de klant als die te ver weg woont om online te boeken.",
      "routeEfficiency": "Reistijd tussen afspraken",
      "routeEfficiencyDesc": "Hoelang wil je maximaal rijden tussen twee klanten op dezelfde dag? Het systeem gebruikt deze voorkeur om je dag slim in te delen.",
      "maxBetween": "Reistijd tussen afspraken",
      "maxBetweenInfo": "💡 Dit geldt alleen voor <strong>slimme suggesties</strong>. Klanten die verder weg wonen kun je altijd handmatig inplannen of via de boekingslink laten boeken. Deze instelling bepaalt welke tijden het systeem automatisch voorstelt — niet welke klanten je kunt aannemen.",
      "maxBetweenAdviceNone": "⚪ <strong>Geen voorkeur ingesteld.</strong><br>▸ Het systeem plant nog steeds slim: klanten dichtbij krijgen <strong>voorrang</strong> en dagen met meerdere klanten in dezelfde regio worden gebundeld<br>▸ Er worden geen klanten naar beneden geduwd — iedereen krijgt een eerlijke kans<br>▸ Ideaal als je een groot werkgebied hebt of het systeem maximale vrijheid wilt geven",
      "maxBetweenAdvice10": "🔴 <strong>Zeer strak — max. ~10 min.</strong><br>▸ Klanten < 10 min rijden krijgen <strong>voorrang</strong><br>▸ Klanten 10–15 min rijden verschijnen <strong>lager in de lijst</strong><br>▸ Klanten > 15 min rijden verschijnen <strong>alleen als er geen betere opties zijn</strong><br>▸ Ideaal als je in één wijk of klein dorp werkt",
      "maxBetweenAdvice15": "🟠 <strong>Strak — max. ~15 min.</strong><br>▸ Klanten < 15 min rijden krijgen <strong>voorrang</strong><br>▸ Klanten 15–22 min rijden verschijnen <strong>lager in de lijst</strong><br>▸ Klanten > 22 min rijden verschijnen <strong>alleen als er geen betere opties zijn</strong><br>▸ Geschikt voor één stad of kleine gemeente",
      "maxBetweenAdvice20": "🟡 <strong>Compact — max. ~20 min.</strong><br>▸ Klanten < 20 min rijden krijgen <strong>voorrang</strong><br>▸ Klanten 20–30 min rijden verschijnen <strong>lager in de lijst</strong><br>▸ Klanten > 30 min rijden verschijnen <strong>alleen als er geen betere opties zijn</strong><br>▸ Je stad en directe randgemeenten",
      "maxBetweenAdvice25": "🟢 <strong>Gemiddeld — max. ~25 min.</strong><br>▸ Klanten < 25 min rijden krijgen <strong>voorrang</strong><br>▸ Klanten 25–37 min rijden verschijnen <strong>lager in de lijst</strong><br>▸ Klanten > 37 min rijden verschijnen <strong>alleen als er geen betere opties zijn</strong><br>▸ Een kleine regio. Goed als je een paar gemeenten bedient",
      "maxBetweenAdvice30": "🟢 <strong>Standaard — max. ~30 min.</strong> ⭐ Meest gekozen<br>▸ Klanten < 30 min rijden krijgen <strong>voorrang</strong><br>▸ Klanten 30–45 min rijden verschijnen <strong>lager in de lijst</strong><br>▸ Klanten > 45 min rijden verschijnen <strong>alleen als er geen betere opties zijn</strong><br>▸ Goede balans — volle dagen in dezelfde regio, zonder klanten te missen",
      "maxBetweenAdvice35": "🔵 <strong>Ruim — max. ~35 min.</strong><br>▸ Klanten < 35 min rijden krijgen <strong>voorrang</strong><br>▸ Klanten 35–52 min rijden verschijnen <strong>lager in de lijst</strong><br>▸ Klanten > 52 min rijden verschijnen <strong>alleen als er geen betere opties zijn</strong><br>▸ Ruime regio. Je mist weinig klanten",
      "maxBetweenAdvice40": "🔵 <strong>Breed — max. ~40 min.</strong><br>▸ Klanten < 40 min rijden krijgen <strong>voorrang</strong><br>▸ Klanten 40–60 min rijden verschijnen <strong>lager in de lijst</strong><br>▸ Klanten > 60 min rijden verschijnen <strong>alleen als er geen betere opties zijn</strong><br>▸ Groot werkgebied. Alleen echt verre ritten (1 uur+) staan lager",
      "maxBetweenAdvice45": "🔵 <strong>Groot — max. ~45 min.</strong><br>▸ Klanten < 45 min rijden krijgen <strong>voorrang</strong><br>▸ Klanten 45–67 min rijden verschijnen <strong>lager in de lijst</strong><br>▸ Klanten > 67 min rijden verschijnen <strong>alleen als er geen betere opties zijn</strong><br>▸ Geschikt voor een hele provincie",
      "maxBetweenAdvice60": "⚪ <strong>Maximum — max. ~60 min.</strong><br>▸ Klanten < 60 min rijden krijgen <strong>voorrang</strong><br>▸ Klanten 60–90 min rijden verschijnen <strong>lager in de lijst</strong><br>▸ Klanten > 90 min rijden verschijnen <strong>alleen als er geen betere opties zijn</strong><br>▸ Vrijwel alles wordt gesuggereerd",
      "travelInfoHint": "Het systeem plant je dag zo efficiënt mogelijk in. Klanten dichtbij krijgen voorrang, verdere klanten verschijnen lager in de suggesties.",
      "analyzeBtn": "Analyseer mijn klantenbestand",
      "analyzeLoading": "Klantenbestand analyseren...",
      "analyzeNotEnough": "Te weinig klanten met adresgegevens om te analyseren. Minimaal 5 klanten met een adres nodig.",
      "analyzeTitle": "Analyse van je klantenbestand",
      "analyzeCustomers": "klanten geanalyseerd",
      "analyzeTopCities": "Grootste plaatsen",
      "analyzeMedian": "Mediane afstand tussen klanten",
      "analyzeCoverage": "Percentage klant-paren binnen elke instelling",
      "analyzeRecommended": "aanbevolen",
      "analyzeAdvice": "Aanbeveling",
      "analyzeExplain": "Dit dekt de meeste ritten tussen opeenvolgende klanten. Klanten die verder weg wonen, verschijnen nog steeds in je suggesties maar lager gerangschikt.",
      "analyzeApply": "Instelling overnemen",
      "analyzeError": "Er ging iets mis bij het analyseren. Probeer het opnieuw.",
      "saveTravelSettings": "Reisinstellingen opslaan",
      "30min": "30 minuten",
      "45min": "45 minuten",
      "1hour": "1 uur",
      "90min": "1,5 uur",
      "2hours": "2 uur",
      "15min": "15 minuten",
      "10min": "10 minuten",
      "20min": "20 minuten",
      "25min": "25 minuten",
      "35min": "35 minuten",
      "40min": "40 minuten",
      "bookingRadiusHint": "Hoe ver mogen klanten maximaal van je vandaan wonen om online te kunnen boeken?",
      "bookingRadiusExplain": "🗺️ Dit is de grens van je werkgebied voor online boekingen. Klanten die verder weg wonen dan deze reistijd kunnen niet zelf online boeken — zij zien een bericht om contact op te nemen. Je kunt ze altijd handmatig inplannen.",
      "maxBookingTravel": "Maximale reistijd voor boekingen",
      "routeEfficiencyHint": "Hoelang wil je maximaal rijden tussen twee klanten op dezelfde dag? Het systeem gebruikt deze voorkeur om je dag slim in te delen.",
      "saveTravel": "Reisinstellingen opslaan",
      "trafficPrediction": "Verkeersprognose",
      "trafficPredictionHint": "Gebruik verwacht verkeer bij het berekenen van reistijden tussen afspraken.",
      "enableTrafficPrediction": "Verkeersprognose inschakelen",
      "trafficPredictionExplain": "🚦 Reistijden houden rekening met verwacht verkeer op het moment van de afspraak. Tijdens de spits worden langere reistijden berekend, zodat je planning realistischer is."
    },
    "services": {
      "title": "Diensten",
      "desc": "Beheer de diensten die je aanbiedt. Buffertijden worden meegenomen bij de planning.",
      "newService": "+ Nieuwe dienst",
      "newServiceTitle": "Nieuwe dienst",
      "serviceName": "Dienstnaam *",
      "serviceNamePlaceholder": "bijv. Vleugel stemmen",
      "duration": "Duur (min) *",
      "rate": "Tarief *",
      "bufferBefore": "Buffer voor (min)",
      "bufferAfter": "Buffer na (min)",
      "description": "Beschrijving",
      "descriptionPlaceholder": "Korte beschrijving",
      "calendarColor": "Agendakleur",
      "customerTypes": "Beschikbaar voor klanttypen",
      "customerTypesDesc": "Selecteer welke klanttypen deze dienst via hun persoonlijke link kunnen boeken. Laat alle opties uit voor alle typen.",
      "cancel": "Annuleren",
      "loadingServices": "Services laden..."
    },
    "sync": {
      "notConnected": "Niet verbonden",
      "needsReauth": "Herverbinden vereist",
      "active": "Actief",
      "notSynced": "niet gesynchroniseerd",
      "connectedSyncOff": "Verbonden (sync uit)",
      "pendingInQueue": "sync(s) in wachtrij",
      "failed": "mislukt",
      "forceSync": "Forceer sync"
    },
    "googleCalendar": "Google Agenda synchronisatie",
    "appleCalendar": "Apple Agenda synchronisatie",
    "emailNotifications": "E-mail notificaties",
    "bookingLink": "Publieke boekingslink",
    "companyProfile": "Bedrijfsprofiel",
    "language": "Taal",
    "selectLanguage": "Selecteer taal",
    "save": "Opslaan",
    "saved": "Opgeslagen!",
    "connect": "Verbinden",
    "disconnect": "Verbreken",
    "connected": "Verbonden",
    "notConnected": "Niet verbonden",
    "enabled": "Ingeschakeld",
    "disabled": "Uitgeschakeld",
    "selectTimezone": "Selecteer een tijdzone",
    "couldNotSaveTimezone": "Kon tijdzone niet opslaan",
    "timezoneSaved": "🌍 Tijdzone opgeslagen!",
    "nameEmailRequired": "Naam en e-mail zijn verplicht",
    "couldNotSaveProfile": "Kon profiel niet opslaan",
    "profileSaved": "Profiel opgeslagen!",
    "fillAllPasswordFields": "Vul alle wachtwoordvelden in",
    "passwordsDoNotMatch": "Nieuwe wachtwoorden komen niet overeen",
    "passwordMinLength": "Wachtwoord moet minimaal 6 tekens lang zijn",
    "couldNotChangePassword": "Kon wachtwoord niet wijzigen",
    "passwordChanged": "Wachtwoord gewijzigd!",
    "modalNotFound": "Fout: Modal niet gevonden",
    "editService": "Dienst bewerken",
    "newService": "Nieuwe dienst",
    "serviceNotFound": "Dienst niet gevonden. Probeer de pagina te verversen.",
    "serviceUpdated": "Dienst bijgewerkt!",
    "serviceAdded": "Dienst toegevoegd!",
    "couldNotSaveService": "Kon dienst niet opslaan",
    "confirmDeleteService": "Weet je zeker dat je deze dienst wilt verwijderen?",
    "serviceDeleted": "Dienst verwijderd",
    "couldNotDeleteService": "Kon dienst niet verwijderen",
    "enterAppleCredentials": "Vul je Apple ID en app-specifiek wachtwoord in",
    "connectingToApple": "Verbinden met Apple Agenda...",
    "appleCalendarConnected": "🍎 Apple Agenda succesvol verbonden!",
    "appleCalendarSavedWait": "Account succesvol opgeslagen! Het kan enkele seconden duren voordat je agenda's zichtbaar zijn.",
    "selectCalendarFirst": "Selecteer eerst een agenda",
    "appleSyncEnabled": "🍎 Apple Agenda sync ingeschakeld!",
    "failedToEnableSync": "Kon sync niet inschakelen: ",
    "syncingWithApple": "Synchroniseren met Apple Agenda...",
    "confirmDisconnectMicrosoft": "Weet je zeker dat je Microsoft Agenda wilt loskoppelen?",
    "microsoftDisconnected": "Microsoft Agenda losgekoppeld",
    "failedToDisconnect": "Kon niet loskoppelen: ",
    "logoUploaded": "Logo succesvol geüpload!",
    "uploadLogo": "Logo uploaden",
    "logoRequirements": "PNG, JPG of GIF. Max 2MB aanbevolen. Gebruik bij voorkeur een afbeelding van max 400×400px met transparante achtergrond.",
    "uploadFailed": "Upload mislukt: ",
    "confirmRemoveLogo": "Weet je zeker dat je het logo wilt verwijderen?",
    "logoRemoved": "Logo verwijderd",
    "couldNotRemoveLogo": "Kon logo niet verwijderen: ",
    "fileTooLarge": "Bestand is te groot. Maximale grootte is 5MB.",
    "couldNotSaveSettings": "Kon instellingen niet opslaan",
    "bookingSettingsSaved": "Boekingsinstellingen opgeslagen!",
    "linkCopied": "Link gekopieerd naar klembord!",
    "confirmCleanNotes": "Dit zal alle klant- en pianonotities opschonen door dubbele tekst en herhaalde regels te verwijderen.\n\nWil je doorgaan?",
    "couldNotLoadTemplate": "Kon template niet laden",
    "fillSubjectAndContent": "Vul onderwerp en inhoud in",
    "saveFailed": "Opslaan mislukt",
    "templateSaved": "Template opgeslagen!",
    "saveFailedWithError": "Opslaan mislukt: ",
    "confirmResetTemplate": "Weet je zeker dat je dit template wilt resetten naar de standaardversie? Je aanpassingen worden verwijderd.",
    "resetFailed": "Reset mislukt",
    "templateReset": "Template gereset naar standaard",
    "resetFailedWithError": "Reset mislukt: ",
    "testEmailSending": "Test e-mail wordt verzonden...",
    "sendFailed": "Verzenden mislukt",
    "testEmailSent": "✅ Test e-mail verzonden naar je e-mailadres!",
    "testEmailFailed": "❌ Test e-mail mislukt: ",
    "syncEnabled": "Sync ingeschakeld!",
    "syncDisclaimer": "Let op: bij het activeren van kalender-synchronisatie worden afspraakgegevens gedeeld met Google (externe verwerker). PianoPlanner is niet verantwoordelijk voor de verwerking van je data door Google. Zie onze Verwerkersovereenkomst (Art. 3.3) voor meer informatie.\n\nWil je doorgaan?",
    "syncDisclaimerApple": "Let op: bij het verbinden van Apple Agenda worden afspraakgegevens gedeeld met Apple (externe verwerker). PianoPlanner is niet verantwoordelijk voor de verwerking van je data door Apple. Zie onze Verwerkersovereenkomst (Art. 3.3) voor meer informatie.\n\nWil je doorgaan?",
    "somethingWentWrong": "Er ging iets mis",
    "errorSavingSettings": "Fout bij opslaan instellingen",
    "syncing": "Synchroniseren...",
    "syncComplete": "Sync voltooid! Items gesynchroniseerd.",
    "syncFailed": "Sync mislukt",
    "errorSyncing": "Fout bij synchroniseren",
    "syncNow": "Nu synchroniseren",
    "confirmDisconnectGoogle": "Weet je zeker dat je Google Agenda wilt loskoppelen? Je sync wordt uitgeschakeld en je moet opnieuw inloggen met Google om te verbinden.",
    "googleDisconnected": "Google Agenda losgekoppeld",
    "couldNotConnectApple": "Kon niet verbinden met Apple Agenda",
    "connectionError": "Verbindingsfout. Probeer opnieuw.",
    "confirmDisconnectApple": "Weet je zeker dat je Apple Agenda wilt loskoppelen?",
    "appleDisconnected": "Apple Agenda losgekoppeld",
    "couldNotDisconnect": "Kon niet loskoppelen",
    "errorDisconnecting": "Fout bij loskoppelen",
    "couldNotEnableSync": "Kon sync niet inschakelen",
    "singleProviderTitle": "Andere agenda actief",
    "singleProviderMessage": "Je agenda is gekoppeld met {provider}. Ontkoppel eerst {provider} bij de instellingen hierboven voordat je kunt wisselen.",
    "singleProviderError": "Je hebt al een actieve sync met een andere agenda. Ontkoppel eerst de huidige agenda.",
    "errorSyncingApple": "Fout bij synchroniseren met Apple Agenda",
    "calendarSelectionSaved": "Agenda selectie opgeslagen!",
    "couldNotSaveCalendarSelection": "Kon agenda selectie niet opslaan",
    "emailSettingsSaved": "E-mail instellingen opgeslagen",
    "errorSavingEmailSettings": "Fout bij opslaan e-mail instellingen",
    "sending": "Verzenden...",
    "testEmailSentCheckInbox": "Test e-mail verzonden! Check je inbox.",
    "couldNotSendTestEmail": "Kon test e-mail niet verzenden",
    "errorSendingTestEmail": "Fout bij verzenden test e-mail",
    "sendTestEmail": "Test e-mail verzenden",
    "languageChanged": "Taal gewijzigd",
    "pleaseEnterPassword": "Vul je wachtwoord in",
    "deleting": "Verwijderen...",
    "accountDeletedRedirecting": "Account verwijderd. Je wordt doorgestuurd...",
    "failedToDeleteAccount": "Kon account niet verwijderen",
    "deleteMyAccount": "Mijn account verwijderen",
    "somethingWentWrongTryAgain": "Er ging iets mis. Probeer opnieuw.",
    "companyProfileSaved": "Bedrijfsprofiel opgeslagen!",
    "couldNotSaveCompanyProfile": "Kon bedrijfsprofiel niet opslaan: ",
    "failedToConnect": "Kon niet verbinden: ",
    "notesCleanedSuccess": "Notities opgeschoond!",
    "errorCleaningNotes": "Fout bij opschonen notities: ",
    "emailsViaPianoPlanner": "E-mails worden nu via PianoPlanner verzonden",
    "confirmSwitchToPianoplanner": "Weet je zeker dat je wilt terugschakelen naar PianoPlanner e-mail? Je eigen SMTP-instellingen worden verwijderd.",
    "errorSaving": "Fout bij opslaan: ",
    "enterEmailAddress": "Vul je e-mailadres in",
    "enterAppPassword": "Vul je app-specifiek wachtwoord in",
    "smtpSettingsSaved": "SMTP instellingen opgeslagen! Test nu de verbinding.",
    "smtpTestSuccess": "SMTP test geslaagd! Check je inbox.",
    "syncRangeSaved": "Sync bereik opgeslagen. Agenda apps worden bijgewerkt bij verversen.",
    "couldNotSaveRange": "Kon bereik niet opslaan: ",
    "calendarFeedActive": "Agenda feed is nu actief! Kopieer de URL om te abonneren.",
    "couldNotEnableFeed": "Kon feed niet inschakelen",
    "couldNotEnableFeedError": "Kon feed niet inschakelen: ",
    "confirmDisableFeed": "Weet je zeker dat je de agenda feed wilt uitschakelen? Bestaande abonnementen stoppen met werken.",
    "calendarFeedDisabled": "Agenda feed uitgeschakeld",
    "couldNotDisableFeed": "Kon feed niet uitschakelen",
    "couldNotDisableFeedError": "Kon feed niet uitschakelen: ",
    "confirmRegenerateFeed": "Weet je zeker dat je een nieuwe link wilt genereren? De huidige link stopt met werken en je moet opnieuw abonneren in je agenda apps.",
    "generating": "Genereren...",
    "newFeedLinkGenerated": "Nieuwe feed link gegenereerd. Vergeet niet opnieuw te abonneren!",
    "couldNotRegenerateFeed": "Kon feed niet opnieuw genereren",
    "couldNotGenerateNewLink": "Kon nieuwe link niet genereren: ",
    "syncCompleteItems": "Sync voltooid! Items gesynchroniseerd.",
    "errors": "fouten",
    "syncFailedError": "Sync mislukt: ",
    "workshopAvailability": "Werkplaats beschikbaarheid",
    "workshopAvailabilityHint": "Stel vaste werkplaatsuren in. Tijdens deze uren worden geen klantafspraken gepland — alleen werkplaats-taken.",
    "enableWorkshopHours": "Werkplaatsuren inschakelen",
    "workshopAddress": "Werkplaatsadres",
    "workshopAddressPlaceholder": "bijv. Industrieweg 5, 3821 AA Amersfoort",
    "workshopAddressHint": "Laat leeg om je bedrijfsadres te gebruiken voor werkplaatsafspraken.",
    "saveWorkshopAvailability": "Werkplaats beschikbaarheid opslaan",
    "workshopProMessage": "Werkplaats beschikbaarheid is alleen beschikbaar met een Pro abonnement.",
    "workshopAvailabilitySaved": "Werkplaats beschikbaarheid opgeslagen",
    "workshopAvailabilityFailed": "Werkplaats beschikbaarheid opslaan mislukt",
    "availabilitySaved": "Weekbeschikbaarheid opgeslagen",
    "availabilityFailed": "Beschikbaarheid opslaan mislukt",
    "theaterAvailabilitySaved": "Theaterbeschikbaarheid opgeslagen",
    "theaterAvailabilityFailed": "Theaterbeschikbaarheid opslaan mislukt",
    "dayAvailable": "Beschikbaar",
    "dayNotAvailable": "Niet beschikbaar",
    "timeTo": "tot",
    "saving": "Opslaan...",
    "panelIntro": {
      "calendarTitle": "Agenda & Synchronisatie",
      "calendarDesc": "Synchroniseer met je bestaande agenda om dubbele boekingen te voorkomen. PianoPlanner checkt je bestaande afspraken en blokkeert die tijden automatisch voor online boekingen.",
      "emailTitle": "E-mail & Communicatie",
      "emailDesc": "Stel automatische bevestigingen, herinneringen en meldingen in. Gebruik je eigen e-mailadres voor een professionele uitstraling.",
      "bookingTitle": "Boeken & Planning",
      "bookingDesc": "Stel je online boekingslink in, beheer je beschikbaarheid en reistijden. Klanten kunnen via je persoonlijke link zelf een afspraak inplannen.",
      "businessTitle": "Bedrijf",
      "businessDesc": "Beheer je bedrijfsgegevens, tijdzone en km-registratie. Je bedrijfsinformatie wordt getoond op de boekingspagina en in e-mails naar klanten.",
      "accountTitle": "Account",
      "accountDesc": "Beheer je profiel, wachtwoord, taal en abonnement. Importeer data of maak een backup van je gegevens.",
      "servicesTitle": "Diensten",
      "servicesDesc": "Beheer je diensten met prijzen, duur en buffertijden. Klanten kiezen hieruit bij het boeken. Maak specifieke diensten aan zodat klanten precies kunnen kiezen wat ze nodig hebben.",
      "integrationsTitle": "Boekhoudkoppelingen",
      "integrationsDesc": "Koppel PianoPlanner met Nederlandse boekhoudpakketten om facturen automatisch te synchroniseren. Je API-credentials worden versleuteld opgeslagen."
    },
    "advice": {
      "calendarSyncTitle": "Welke agenda koppelen?",
      "calendarSyncText": "Google Calendar biedt de beste tweerichtingssync. Apple iCloud en Microsoft 365 worden ook ondersteund. Je kunt er maar één tegelijk koppelen — kies de agenda die je dagelijks gebruikt. Wisselen kan altijd door eerst te ontkoppelen.",
      "smtpTitle": "Eigen e-mailadres = professioneler",
      "smtpText": "E-mails vanaf info@jouwbedrijf.nl worden beter ontvangen dan vanaf een noreply-adres. Gebruik Gmail, iCloud of Outlook met een app-specifiek wachtwoord voor de beste bezorging.",
      "smtpText2": "Vul je naam en e-mailadres in zodat klanten jouw naam zien als afzender. Antwoorden gaan direct naar jouw inbox.",
      "notificationsTitle": "Aanbevolen combinatie",
      "notificationsText": "Bevestiging bij boeking, herinnering 24 uur van tevoren (60% minder no-shows), annuleringsmail en nieuwe-boeking-alert. Zo mis je niets en weten klanten altijd waar ze aan toe zijn.",
      "bookingTitle": "Online boeken bespaart je 30 minuten per dag",
      "bookingText": "Deel je boekingslink op je website, in je e-mailhandtekening, of op je Google Bedrijfsprofiel. Klanten kiezen zelf een beschikbaar moment — geen heen-en-weer ge-app meer. Aanbevolen: minimaal 24 uur, maximaal 3 maanden vooruit.",
      "travelTitle": "Beperk je werkgebied voor efficiëntie",
      "travelText": "De meeste pianostemmers werken binnen 45-60 minuten reistijd. Een kleiner gebied betekent meer afspraken per dag en minder brandstofkosten. De reistijd tussen afspraken bepaalt hoe het slimme planningssysteem afspraken clustert in dezelfde buurt.",
      "companyTitle": "Compleet profiel = betrouwbaar",
      "companyText": "Klanten zien je bedrijfsnaam en logo op de boekingspagina en in e-mails. Een compleet profiel met logo, adres en KvK-nummer straalt professionaliteit uit. Je adres wordt ook gebruikt als startpunt voor reistijdberekeningen.",
      "bufferTitle": "Buffertijden — reistijd tussen afspraken",
      "bufferText": "Elke dienst heeft een buffer vóór (aankomst, gereedschap klaarzetten) en een buffer erna (opruimen, naar volgende klant rijden). Aanbevolen: 15 min voor, 15-30 min na. Pas aan via het ✏️ icoon bij elke dienst.",
      "smtpBulkTitle": "Veel herinneringen versturen?",
      "smtpBulkText": "De standaard PianoPlanner-mailserver is geschikt voor kleine aantallen. Als je 100+ klanten hebt en automatische stemherinneringen gebruikt, stel dan je eigen SMTP-server in voor betere aflevering en minder bounces."
    },
    "validateVat": "Valideer",
    "blockedDays": {
      "title": "Vakanties & geblokkeerde dagen",
      "hint": "Dagen waarop je niet beschikbaar bent. Klanten kunnen op deze dagen niet boeken.",
      "fromDate": "Van datum",
      "toDate": "T/m datum",
      "reason": "Reden",
      "add": "Toevoegen",
      "empty": "Geen geblokkeerde dagen ingepland",
      "remove": "Verwijderen",
      "loadError": "Kon geblokkeerde dagen niet laden",
      "selectStartDate": "Selecteer een startdatum",
      "endBeforeStart": "Einddatum kan niet voor startdatum liggen",
      "unavailable": "Niet beschikbaar",
      "daysBlocked": "{count} dagen geblokkeerd",
      "dayBlocked": "1 dag geblokkeerd",
      "blockError": "Kon dagen niet blokkeren",
      "confirmRemoveSingle": "Weet je zeker dat je deze dag wilt deblokkeren?",
      "confirmRemoveMultiple": "Weet je zeker dat je deze {count} dagen wilt deblokkeren?",
      "dayUnblocked": "Dag gedeblokkeerd",
      "daysUnblocked": "{count} dagen gedeblokkeerd",
      "through": "t/m",
      "dayCount": "{count} dagen",
      "reasonPlaceholder": "bijv. Vakantie, vrij..."
    },
    "bccEnabled": "BCC-kopie ingeschakeld",
    "bccDisabled": "BCC-kopie uitgeschakeld",
    "smtpServerError": "Server gaf een onverwacht antwoord. Probeer het opnieuw of log opnieuw in.",
    "lastSyncAt": "Laatste sync:",
    "placeholders": {
      "startAddress": "Startadres",
      "endAddress": "Eindadres",
      "travelExample": "bijv. Klantbezoek, materiaal ophalen...",
      "odometerExample": "bijv. 45230"
    },
    "accounting": {
      "requestPackagePlaceholder": "Bijv. FreshBooks, Wave, Twinfield...",
      "requestNotesPlaceholder": "Bijv. welke functies je nodig hebt, API-documentatie link..."
    }
  },
  "company": {
    "name": "Bedrijfsnaam",
    "ownerName": "Naam eigenaar",
    "email": "E-mail",
    "phone": "Telefoon",
    "address": "Adres",
    "street": "Straat",
    "postalCode": "Postcode",
    "city": "Plaats",
    "country": "Land",
    "postalCodePlaceholder": "1234 AB",
    "cityPlaceholder": "Amsterdam",
    "kvk": "KvK-nummer",
    "vat": "BTW-nummer",
    "iban": "IBAN",
    "website": "Website",
    "vatPlaceholder": "bijv. NL123456789B01",
    "ibanPlaceholder": "bijv. NL00BANK0123456789",
    "streetPlaceholder": "Keizersgracht 123",
    "countryPlaceholder": "NL",
    "phonePlaceholder": "+31 6 12345678"
  },
  "email": {
    "title": "E-mail notificaties",
    "configured": "E-mail geconfigureerd",
    "notConfigured": "E-mail niet geconfigureerd",
    "confirmations": "Bevestigingsmails",
    "confirmationsDesc": "Stuur bevestiging wanneer afspraak is geboekt",
    "reminders": "Herinneringsmails",
    "remindersDesc": "Stuur herinnering voor afspraak",
    "reminderTime": "Stuur herinnering",
    "hoursBefore": "uur van tevoren",
    "cancellations": "Annuleringsmails",
    "cancellationsDesc": "Informeer klant bij annulering",
    "newBookings": "Nieuwe boekingen",
    "newBookingsDesc": "Ontvang melding bij nieuwe boekingen",
    "sendTest": "Test e-mail versturen",
    "testSent": "Test e-mail verstuurd! Check je inbox."
  },
  "booking": {
    "title": "Online boeken",
    "enableBooking": "Boekingslink inschakelen",
    "yourLink": "Jouw boekingslink",
    "copy": "Kopiëren",
    "copied": "Gekopieerd!",
    "preview": "Bekijken",
    "slug": "Aangepaste URL",
    "pageTitle": "Nieuwe afspraak - PianoPlanner",
    "description": "Beschrijving",
    "minAdvance": "Minimale boekingstijd vooraf",
    "maxAdvance": "Maximale boekingstijd vooruit",
    "hours": "uur",
    "days": "dagen",
    "notAvailableOn": "Niet beschikbaar op",
    "noSlotsIn14Days": "Geen tijd gevonden in de komende 14 dagen.",
    "tryDifferentDate": "Probeer een andere startdatum te selecteren.",
    "saveAndContinue": "Klant opslaan & verder →",
    "skipPiano": "Overslaan (geen piano)",
    "continue": "Verder →",
    "findTime": "Beschikbare tijd zoeken",
    "differentDate": "Andere datum",
    "confirmAppointment": "Afspraak bevestigen",
    "scheduleAppointment": "Afspraak inplannen",
    "pageSubtitle": "Boek een nieuwe afspraak in 4 eenvoudige stappen",
    "step1Title": "1. Kies een dienst",
    "step2Title": "2. Klantgegevens",
    "step2bTitle": "2b. Selecteer piano",
    "step3Title": "3. Kies datum & tijd",
    "step4Title": "4. Afspraak bevestigen",
    "searchCustomerPlaceholder": "Zoek bestaande klant (naam, e-mail, plaats)...",
    "orAddNew": "of nieuwe klant toevoegen",
    "nameRequired": "Naam *",
    "phone": "Telefoon",
    "email": "E-mail",
    "selectPianosDesc": "Selecteer welke piano('s) onderhouden moeten worden voor deze klant.",
    "serviceLabel": "Dienst:",
    "customerLabel": "Klant:",
    "pianosLabel": "Piano('s):",
    "preferredDate": "Voorkeursdatum",
    "service": "Dienst",
    "customer": "Klant",
    "piano": "Piano",
    "location": "Locatie",
    "travelTime": "Reistijd",
    "dateTime": "Datum & tijd",
    "notesOptional": "Notities (optioneel)",
    "notesPlaceholder": "Extra informatie voor deze afspraak...",
    "success": "Afspraak geboekt!",
    "successText": "De afspraak is toegevoegd aan je agenda.",
    "newAppointment": "Nieuwe afspraak",
    "goToDashboard": "Naar dashboard",
    "onRequest": "Op aanvraag",
    "noCustomersFound": "Geen klanten gevonden",
    "customerSelected": "Klant geselecteerd",
    "differentCustomer": "Andere klant",
    "saveCustomerError": "Klant kon niet worden opgeslagen. Probeer het opnieuw.",
    "noPianosRegistered": "Nog geen piano's geregistreerd voor deze klant.",
    "addPianosLater": "Je kunt later piano's toevoegen op de Piano's pagina.",
    "continueWithoutPiano": "Verder zonder piano →",
    "grand": "Vleugel",
    "upright": "Staande piano",
    "serialNumber": "SN",
    "skipNoPiano": "Overslaan (geen piano)",
    "selectDateFirst": "Selecteer eerst een datum",
    "checkingAvailability": "Beschikbaarheid controleren...",
    "clickToSelect": "Klik op een tijd om te selecteren",
    "firstAvailableOn": "Eerste beschikbare tijd op",
    "travelTimeLabel": "Reistijd",
    "continueWithTime": "Verder met deze tijd →",
    "genericError": "Er ging iets mis. Probeer het opnieuw.",
    "noAddress": "Geen adres",
    "from": "van",
    "to": "tot",
    "bookingInProgress": "Bezig met boeken...",
    "bookingError": "Afspraak kon niet worden geboekt. Probeer het opnieuw."
  },
  "book": {
    "bestChoice": "Beste keuze",
    "available": "Beschikbaar",
    "findingBestTimes": "De beste momenten zoeken...",
    "preferOtherTime": "Liever een ander moment? Kies zelf",
    "chooseDateTime": "Kies datum & tijd",
    "suggestedTimes": "Aanbevolen momenten",
    "chooseService": "Kies een dienst",
    "notesOptional": "Opmerkingen (optioneel)",
    "bookAppointment": "Afspraak boeken",
    "school": {
      "selectPianos": "Selecteer piano's",
      "selectPianosSub": "Vink aan welke piano's gestemd moeten worden",
      "chooseService": "Kies service",
      "chooseServiceSub": "Welke dienst voor de geselecteerde piano's?",
      "pickDate": "Datum & tijd",
      "pickDateSub": "Kies wanneer u de afspraak wilt",
      "pianoOverview": "Piano-overzicht",
      "pianoOverviewSub": "Selecteer de piano's die gestemd moeten worden",
      "back": "Terug",
      "brand": "Merk",
      "lastTuned": "Laatst gestemd",
      "location": "Locatie",
      "model": "Model",
      "nextChooseDate": "Volgende: kies datum",
      "nextChooseService": "Volgende: kies service",
      "pianosSelected": "piano's geselecteerd",
      "scheduled": "Ingepland",
      "selectedPianos": "geselecteerde piano's?",
      "selectedPianosTitle": "Geselecteerde piano's",
      "serialNumber": "Serienr.",
      "type": "Type",
      "whichServiceForPianos": "Welke dienst voor de"
    },
    "sendConfirmation": "Bevestiging per e-mail versturen",
    "theaterInstructionsTitle": "Zo maakt u een afspraak",
    "theaterStep1": "Kies de gewenste werkzaamheden (stemmen, reparatie, etc.)",
    "theaterStep2": "Selecteer het instrument (piano of vleugel)",
    "theaterStep3": "Licht eventueel het evenement toe bij opmerkingen (bv. concert, repetitie)",
    "theaterStep4": "Selecteer een datum en tijd in de kalender",
    "chooseServiceSub": "Selecteer de gewenste dienst",
    "appointmentsSub": "Historie & gepland",
    "selectPianoSub": "Kies de piano of vleugel",
    "notesSub": "Extra informatie voor de technicus",
    "chooseDateTimeSub": "Kies een geschikt moment",
    "welcome": "Welkom",
    "loading": "Laden...",
    "loadingCalendar": "Kalender laden...",
    "loadingTimes": "Tijden laden...",
    "linkInvalid": "Deze boekingslink is niet geldig",
    "linkNotFound": "Boekingslink niet gevonden",
    "selectPiano": "Selecteer een piano",
    "availableTimesFor": "Beschikbare tijden voor",
    "noTimesAvailable": "Geen beschikbare tijden",
    "firstAvailable": "Eerste beschikbaar",
    "smartSuggestions": "Slimme suggesties",
    "smartSuggestionsDesc": "Aanbevolen momenten op basis van locatie en planning",
    "calculatingSmart": "Suggesties berekenen...",
    "smartSearching": "We zijn voor u aan het kijken...",
    "noSmartSuggestions": "Geen slimme suggesties beschikbaar",
    "chooseManualTime": "Handmatig kiezen",
    "moreOptions": "Meer opties",
    "planHere": "Hier boeken",
    "booked": "Geboekt!",
    "confirmEmail": "Er is een bevestigingsmail verstuurd",
    "notesPlaceholder": "Eventuele opmerkingen...",
    "legendAvailable": "Beschikbaar",
    "legendFull": "Volgeboekt",
    "legendClosed": "Gesloten",
    "appointments": "Afspraken",
    "contactForBooking": "Geen beschikbare tijden gevonden. Neem contact op om een afspraak te maken.",
    "loadMoreSuggestions": "Meer suggesties laden"
  },
  "calendar": {
    "today": "Vandaag",
    "week": "Week",
    "month": "Maand",
    "day": "Dag",
    "allDay": "Hele dag",
    "noTitle": "Geen titel",
    "syncNow": "Nu synchroniseren",
    "lastSync": "Laatste sync",
    "syncDirection": "Synchronisatie richting",
    "bothDirections": "Beide richtingen",
    "toGoogle": "Alleen naar Google",
    "fromGoogle": "Alleen van Google",
    "toApple": "Alleen naar Apple",
    "fromApple": "Alleen van Apple",
    "months": [
      "Januari",
      "Februari",
      "Maart",
      "April",
      "Mei",
      "Juni",
      "Juli",
      "Augustus",
      "September",
      "Oktober",
      "November",
      "December"
    ],
    "monthsShort": [
      "Jan",
      "Feb",
      "Mrt",
      "Apr",
      "Mei",
      "Jun",
      "Jul",
      "Aug",
      "Sep",
      "Okt",
      "Nov",
      "Dec"
    ],
    "days": [
      "Zondag",
      "Maandag",
      "Dinsdag",
      "Woensdag",
      "Donderdag",
      "Vrijdag",
      "Zaterdag"
    ],
    "daysShort": [
      "Zo",
      "Ma",
      "Di",
      "Wo",
      "Do",
      "Vr",
      "Za"
    ],
    "weekAbbr": "Wk",
    "weekClickOpen": "Week {{num}} — klik om weekweergave te openen",
    "appointmentSingular": "afspraak",
    "appointmentPlural": "afspraken"
  },
  "publicBooking": {
    "pageTitle": "Afspraak boeken",
    "loading": "Laden...",
    "step1Service": "Service",
    "step2Details": "Gegevens",
    "step3Time": "Tijd",
    "chooseService": "Kies een service",
    "yourDetails": "Uw gegevens",
    "findBestTimesIntro": "We vinden de beste afspraaktijden op basis van uw locatie.",
    "name": "Naam",
    "email": "E-mail",
    "phone": "Telefoon",
    "address": "Adres (straat + huisnummer)",
    "addressPlaceholder": "Begin met typen voor suggesties...",
    "postalCode": "Postcode",
    "postalCodePlaceholder": "bijv. 1234 AB",
    "city": "Plaats",
    "cityPlaceholder": "bijv. Amsterdam",
    "back": "← Terug",
    "next": "Volgende →",
    "findBestTimes": "Beste tijden zoeken →",
    "choosePreferredTime": "Kies onze voorkeur",
    "timesOptimizedIntro": "Deze tijden zijn geoptimaliseerd voor minimale reistijd en efficiënte planning.",
    "loadingOptimalTimes": "Optimale tijden laden...",
    "confirmAppointment": "Afspraak bevestigen",
    "booking": "Boeken...",
    "appointmentScheduled": "Afspraak gepland!",
    "newAppointment": "Nieuwe afspraak",
    "service": "Service",
    "date": "Datum",
    "time": "Tijd",
    "bestChoice": "Beste keuze",
    "preferOtherTime": "Liever een ander moment? Kies zelf een datum",
    "backToBestChoice": "Terug naar beste keuze",
    "backToSuggestions": "Terug naar suggesties",
    "loadingSlots": "Beschikbare tijden laden...",
    "noTimesOnDay": "Geen beschikbare tijden op deze dag",
    "noServicesAvailable": "Geen services beschikbaar",
    "onRequest": "Op aanvraag",
    "min": "min",
    "noAvailableTimes": "Geen beschikbare tijden gevonden. Probeer het later opnieuw.",
    "errorLoadingTimes": "Fout bij laden van beschikbare tijden. Probeer het opnieuw.",
    "findingBestTimes": "De beste tijden voor uw locatie worden gezocht...",
    "searchingTimes": "Beschikbare tijden zoeken...",
    "searchingTimesSubtitle": "Dit kan even duren",
    "earlierOption": "Eerder beschikbaar",
    "outsideServiceArea": "Buiten werkgebied",
    "locationTooFar": "Uw locatie is ongeveer <strong>{{travelTime}}</strong> ver (max: {{maxAllowed}} min).",
    "sendEmail": "E-mail sturen",
    "bookingFailed": "Kon afspraak niet boeken. Probeer het opnieuw.",
    "errorNotFound": "404",
    "errorNotFoundTitle": "Boekingspagina niet gevonden",
    "errorNotFoundText": "Deze boekingslink is niet actief of bestaat niet.",
    "poweredBy": "Aangedreven door",
    "smartPickIntro": "Deze tijden zijn slim berekend — wij zijn op deze momenten al bij u in de buurt. Kies een Smart Pick voor de kortste reistijd en de meest punctuele aankomsttijd.",
    "optimalMatch": "Optimale aansluiting",
    "nearby": "Dichtbij",
    "moreOptions": "Meer opties",
    "smartMatchExcellent": "Uitstekende match",
    "smartMatchGood": "Goede match",
    "smartMatchAvailable": "Beschikbaar",
    "reasonNoTravel": "Geen extra reistijd nodig",
    "reasonSameArea": "Aansluitend op afspraak in uw wijk — korte reistijd",
    "reasonRouteOptimized": "Route-geoptimaliseerd — wij zijn al in de buurt",
    "reasonShortTravel": "Korte reistijd vanaf vorige afspraak",
    "reasonRegionDay": "Regiodag — wij zijn al in uw buurt",
    "reasonWorkshop": "Werkplaatsafspraak — geen reistijd",
    "reasonRemote": "Op afstand — direct beschikbaar",
    "reasonAvailable": "Goed beschikbaar tijdstip",
    "noSuitableTime": "Geen passend moment gevonden?",
    "contactUs": "Neem direct contact op",
    "sending": "Verzenden...",
    "contactRequestSent": "Bericht verzonden!",
    "contactRequestConfirmation": "We hebben je verzoek ontvangen en nemen snel contact met je op om een geschikt moment te vinden.",
    "contactRequestFailed": "Bericht kon niet worden verzonden. Probeer het opnieuw.",
    "backToHome": "Terug naar startpagina"
  },
  "common": {
    "save": "Opslaan",
    "cancel": "Annuleren",
    "delete": "Verwijderen",
    "edit": "Bewerken",
    "add": "Toevoegen",
    "close": "Sluiten",
    "confirm": "Bevestigen",
    "yes": "Ja",
    "no": "Nee",
    "of": "van",
    "or": "of",
    "loading": "Laden...",
    "error": "Fout",
    "success": "Gelukt",
    "search": "Zoeken",
    "filter": "Filter",
    "all": "Alle",
    "none": "Geen",
    "required": "Verplicht",
    "optional": "Optioneel",
    "total": "Totaal",
    "date": "Datum",
    "notes": "Opmerkingen...",
    "internalNotes": "Interne opmerkingen...",
    "errorSaving": "Fout bij opslaan",
    "errorDeleting": "Fout bij verwijderen",
    "errorLoading": "Fout bij laden",
    "saving": "Opslaan...",
    "busy": "Bezig...",
    "processing": "Bezig...",
    "errorOccurred": "Er is een fout opgetreden. Probeer het opnieuw.",
    "unknownError": "Onbekende fout",
    "previous": "Vorige",
    "next": "Volgende",
    "back": "Terug",
    "choose": "-- Kies --",
    "customer": "Klant",
    "end": "Einde",
    "selectDate": "Selecteer datum",
    "service": "Service",
    "start": "Start",
    "time": "Tijd",
    "title": "Titel",
    "understood": "Begrepen",
    "warning": "Let op",
    "saveFailed": "Opslaan mislukt",
    "appointment": "Afspraak",
    "more": "meer",
    "address": "Adres",
    "appointments_one": "{{count}} afspraak",
    "appointments_other": "{{count}} afspraken",
    "customers_one": "{{count}} klant",
    "customers_other": "{{count}} klanten",
    "pianos_one": "{{count}} piano",
    "pianos_other": "{{count}} piano's",
    "daysAgo_one": "{{count}} dag geleden",
    "daysAgo_other": "{{count}} dagen geleden",
    "at": "om",
    "unnamed": "Naamloos",
    "skipNav": "Ga naar inhoud",
    "through": "t/m",
    "allDay": "hele dag",
    "today": "Vandaag",
    "yesterday": "Gisteren",
    "info": "Info"
  },
  "teamBooking": {
    "pageTitle": "Afspraak Boeken - Team",
    "stepService": "Dienst",
    "stepDateTime": "Datum & Tijd",
    "stepDetails": "Uw Gegevens",
    "stepConfirm": "Bevestigen",
    "selectService": "Kies een Dienst",
    "selectServiceSubtitle": "Selecteer de dienst die u nodig heeft",
    "selectDateTime": "Selecteer Datum & Tijd",
    "smartAssignmentInfo": "Wij stellen het beste beschikbare teamlid voor op basis van uw locatie en datum",
    "preferredDate": "Gewenste Datum",
    "yourAddress": "Uw Adres",
    "addressPlaceholder": "Straat, Stad",
    "addressHelp": "Helpt ons het dichtstbijzijnde beschikbare teamlid toe te wijzen",
    "findAvailableTimes": "Beschikbare Tijden Zoeken",
    "availableOptions": "Beschikbare Opties",
    "bestMatch": "Beste Match",
    "yourDetails": "Uw Gegevens",
    "yourDetailsSubtitle": "We hebben wat informatie nodig om uw boeking te bevestigen",
    "fullName": "Volledige Naam",
    "email": "E-mailadres",
    "phone": "Telefoonnummer",
    "notes": "Aanvullende Opmerkingen",
    "notesPlaceholder": "Speciale verzoeken of informatie...",
    "reviewBooking": "Boeking Controleren",
    "reviewBookingSubtitle": "Controleer alle details voordat u bevestigt",
    "confirmBooking": "Boeking Bevestigen",
    "bookingConfirmed": "Boeking Bevestigd!",
    "confirmationEmail": "Een bevestigingsmail is verzonden naar uw e-mailadres.",
    "teamMember": "Teamlid",
    "dateTime": "Datum & Tijd",
    "duration": "Duur",
    "location": "Locatie",
    "name": "Naam",
    "noSlotsAvailable": "Geen beschikbare tijdslots op deze datum",
    "tryAlternativeDates": "Probeer deze alternatieve datums",
    "travelTime": "Reistijd",
    "appointmentsToday": "afspraken vandaag",
    "minutes": "minuten",
    "service": "Dienst",
    "confirmationEmailLabel": "Bevestigingsmail",
    "searchCustomer": "Klant zoeken",
    "selectPiano": "Piano selecteren",
    "selectTunerAndTime": "Selecteer eerst een stemmer en tijdstip",
    "enterNameAndEmail": "Vul uw naam en e-mailadres in",
    "bookingFailed": "Boeken mislukt. Probeer het opnieuw.",
    "somethingWentWrong": "Er ging iets mis. Probeer het opnieuw.",
    "confirmationSentTo": "Een bevestiging is verzonden naar {{email}}",
    "confirmation": "Bevestiging",
    "date": "Datum",
    "time": "Tijd",
    "tuner": "Stemmer",
    "next": "Volgende",
    "back": "Terug",
    "review": "Controleren",
    "contactSubtitle": "Vul uw contactgegevens in voor de bevestiging",
    "nameStar": "Naam *",
    "emailStar": "E-mail *",
    "phoneLabel": "Telefoon",
    "addressLabel": "Adres",
    "notesLabel": "Opmerkingen",
    "detailsNotesPlaceholder": "Bijzonderheden over de piano of uw wensen...",
    "confirmTitle": "Bevestig uw afspraak",
    "confirmSubtitle": "Controleer de gegevens hieronder",
    "confirmedTitle": "Afspraak bevestigd!",
    "defaultSuccessMessage": "U ontvangt een bevestiging per e-mail.",
    "newBooking": "Nieuwe afspraak maken",
    "noBookingLink": "Geen boekingslink opgegeven.",
    "teamNotFound": "Team niet gevonden.",
    "loadError": "Er ging iets mis bij het laden.",
    "noServicesAvailable": "Geen diensten beschikbaar",
    "findBestTime": "Vind beste tijdstip",
    "locationTitle": "Locatie",
    "locationSubtitle": "Uw adres helpt ons de dichtstbijzijnde stemmer te vinden",
    "recommendedTitle": "Aanbevolen afspraak",
    "recommendedSubtitle": "Op basis van locatie, beschikbaarheid en werkdruk",
    "chooseOwnDate": "Kies zelf een datum",
    "chooseOwnDateSubtitle": "Of selecteer handmatig een ander tijdstip",
    "available": "Beschikbaar",
    "limitedAvailability": "Beperkt",
    "availableTuners": "Beschikbare stemmers",
    "searching": "Aan het zoeken...",
    "smartPickAnalyzing14days": "Smart Pick analyseert 14 dagen...",
    "smartPickAnalyzing": "Smart Pick analyseert beschikbaarheid...",
    "noAvailability": "Geen beschikbaarheid",
    "noSlotsOnDate": "Er zijn geen tijdslots beschikbaar op deze datum.",
    "noSlotsIn2Weeks": "Geen tijdslots gevonden in de komende 2 weken.",
    "availableOn": "Beschikbaar op:",
    "searchAgain": "Opnieuw zoeken",
    "bestChoice": "Beste keuze",
    "yourTuner": "Jouw stemmer",
    "routeOptimized": "Route-geoptimaliseerd",
    "otherTime": "Liever een ander tijdstip? Kies zelf",
    "otherOptions": "Andere opties:",
    "bookingInProgress": "Bezig met boeken...",
    "overview": "Overzicht",
    "membersAvailable": "{{count}} stemmer(s) beschikbaar",
    "bookAt": "Boek bij {{name}} — PianoPlanner",
    "until": "tot",
    "appointmentsCount": "afspraa(a)k(en)",
    "somethingWentWrongShort": "Er ging iets mis",
    "tryAgain": "Probeer het opnieuw.",
    "tryAgainOrOtherDate": "Probeer het opnieuw of kies een andere datum.",
    "namePlaceholder": "Volledige naam",
    "emailPlaceholder": "uw@email.nl",
    "phonePlaceholder": "+31 6 1234 5678",
    "addressInputPlaceholder": "Straat, Stad",
    "invalidBookingLink": "Deze boekingslink is niet geldig of niet meer actief.",
    "pageNotFound": "Pagina niet gevonden",
    "outsideServiceArea": "Buiten ons werkgebied",
    "outOfZoneMessage": "Dit adres valt helaas buiten het gebied dat wij momenteel bedienen.",
    "contactUsDirectly": "Neem direct contact met ons op:",
    "selectTimeFirst": "Selecteer eerst een tijdslot",
    "fillRequiredFields": "Vul naam, e-mail en adres in",
    "searchingTimes": "Beschikbare tijden zoeken...",
    "noSlotsInComingWeeks": "Geen beschikbare tijdslots gevonden in de komende weken.",
    "preferOtherTime": "Liever een ander moment? Kies zelf",
    "earliestOption": "Vroegst",
    "backToBestChoice": "Terug naar beste keuze",
    "findBestTimesIntro": "Vind beste tijden",
    "addressStar": "Adres *",
    "findBestTimes": "Vind beste tijden",
    "choosePreferredTime": "Kies onze voorkeur",
    "timesOptimizedIntro": "Tijden geoptimaliseerd voor efficiënte routing",
    "loadingOptimalTimes": "Optimale tijden laden...",
    "confirmAppointment": "Bevestig afspraak",
    "smartPickIntro": "Bij deze tijden zijn we al in uw buurt — efficiënt voor u en voor ons.",
    "optimalMatch": "Optimale aansluiting",
    "nearby": "Dichtbij",
    "moreOptions": "Meer opties",
    "reasonRouteOptimized": "Route-geoptimaliseerd — wij zijn al in de buurt",
    "reasonBestMatch": "Beste match voor uw locatie"
  },
  "teams": {
    "pageTitle": "Teambeheer - PianoPlanner",
    "title": "Teambeheer",
    "subtitle": "Beheer uw teams en schakel slimme teamboekingen in",
    "createTeam": "Team Aanmaken",
    "newTeam": "Nieuw Team",
    "editTeam": "Team Bewerken",
    "teamName": "Teamnaam",
    "bookingTitle": "Boekingspagina Titel",
    "bookingTitleHint": "Wordt getoond aan klanten op de boekingspagina",
    "bookingDescription": "Boekingspagina Beschrijving",
    "bookingDescriptionHint": "Een korte beschrijving voor klanten",
    "bookingSettings": "Boeking Instellingen",
    "enableBooking": "Teamboekingen Inschakelen",
    "enableBookingHint": "Sta klanten toe om bij uw team te boeken",
    "teamMembers": "Teamleden",
    "addMember": "Lid Toevoegen",
    "newMember": "Nieuw Lid",
    "editMember": "Lid Bewerken",
    "memberName": "Naam",
    "memberEmail": "E-mail",
    "memberAddress": "Thuisadres",
    "memberAddressHint": "Gebruikt voor slimme routeplanning",
    "maxDistance": "Max Reisafstand (km)",
    "workHours": "Werktijden",
    "workHoursHint": "Formaat: HH:MM-HH:MM",
    "priority": "Prioriteit (0-100)",
    "priorityHint": "Leden met hogere prioriteit krijgen voorkeur bij toewijzingen",
    "status": "Status",
    "statusActive": "Actief",
    "statusInactive": "Inactief",
    "noTeamsYet": "Nog Geen Teams",
    "createFirstTeam": "Maak uw eerste team aan om slimme teamboekingen in te schakelen",
    "active": "Actief",
    "inactive": "Inactief",
    "members": "leden",
    "manage": "Beheren",
    "myTeam": "Mijn Team",
    "myTeamSubtitle": "Beheer je pianostemmers, werktijden en boekingslink",
    "loading": "Laden...",
    "bookingLink": "Boekingslink",
    "pianoTuners": "Pianostemmers",
    "save": "Opslaan",
    "bookingDisabledMsg": "Schakel boekingen in zodat klanten online kunnen boeken bij jouw team.",
    "teamNamePlaceholder": "Bijv. Uw Bedrijfsnaam",
    "bookingTitlePlaceholder": "Bijv. Boek een stembeurt",
    "bookingDescPlaceholder": "Bijv. Ons team van ervaren pianostemmers staat voor u klaar...",
    "icalTitle": "Agenda-abonnement voor teamleden",
    "icalDesc": "Elk teamlid heeft een persoonlijke iCal-link waarmee afspraken (read-only) in de eigen agenda verschijnen.",
    "icalApple": "Apple: Archief → Nieuw agenda-abonnement → URL plakken",
    "icalGoogle": "Google: Instellingen → Andere agenda → Via URL",
    "icalOutlook": "Outlook: Agenda toevoegen → Abonneren via web",
    "bookingEnabled": "Boekingen ingeschakeld",
    "bookingDisabled": "Boekingen uitgeschakeld",
    "bookingToggleFailed": "Kon boekingen niet wijzigen",
    "enterTeamName": "Voer teamnaam in:",
    "settingsSaved": "Instellingen opgeslagen",
    "settingsSaveFailed": "Kon instellingen niet opslaan",
    "linkCopied": "Link gekopieerd!",
    "connectLinkCopied": "Koppellink voor {name} gekopieerd! Stuur deze link naar {name}.",
    "connectLinkFailed": "Kon koppellink niet aanmaken",
    "disconnectConfirm": "Google Agenda ontkoppelen voor {name}?",
    "disconnected": "Google Agenda ontkoppeld voor {name}",
    "disconnectFailed": "Kon Google Agenda niet ontkoppelen",
    "enterDates": "Vul een begin- en einddatum in",
    "absenceAdded": "Afwezigheid toegevoegd",
    "absenceAddFailed": "Kon afwezigheid niet toevoegen",
    "absenceDeleteConfirm": "Afwezigheid verwijderen?",
    "absenceDeleted": "Afwezigheid verwijderd",
    "absenceDeleteFailed": "Kon afwezigheid niet verwijderen",
    "nameEmailRequired": "Naam en e-mail zijn verplicht",
    "memberUpdated": "Lid bijgewerkt",
    "memberAdded": "Lid toegevoegd",
    "memberSaveFailed": "Kon lid niet opslaan",
    "memberDeleteConfirm": "Weet je zeker dat je dit teamlid wilt verwijderen?",
    "memberRemoved": "Lid verwijderd",
    "memberRemoveFailed": "Kon lid niet verwijderen",
    "companyLogo": "Bedrijfslogo",
    "logoUploadHint": "Upload een apart teamlogo (overschrijft bedrijfslogo)",
    "logoUploaded": "Logo geüpload",
    "logoRemoved": "Logo verwijderd",
    "usingCompanyLogo": "Je bedrijfslogo uit Instellingen wordt gebruikt op de boekingspagina.",
    "changeInSettings": "Wijzig in Instellingen",
    "justNow": "zojuist",
    "minutesAgo": "{{mins}} min geleden",
    "hoursAgo": "{{hours}} uur geleden",
    "yesterday": "gisteren",
    "daysAgo": "{{days}} dagen geleden",
    "absencesTitle": "Afwezigheid",
    "addAbsence": "Vakantie/afwezigheid toevoegen",
    "fromLabel": "Van",
    "untilLabel": "Tot en met",
    "reasonOptional": "Reden (optioneel)",
    "addAbsenceButton": "Toevoegen",
    "noAbsences": "Geen afwezigheden gepland",
    "scheduledAbsences": "Gepland",
    "pastAbsences": "Afgelopen",
    "dateRangeSeparator": "t/m",
    "deleteAbsenceButton": "Verwijderen",
    "errorSending": "Fout bij verzenden.",
    "sendingStatus": "Verzenden...",
    "sentStatus": "Verzonden",
    "bookingActiveLabel": "Actief",
    "bookingDisabledLabel": "Uit",
    "copyButton": "Kopieer",
    "noMembersYet": "Nog geen teamleden",
    "vacationButton": "Vakantie",
    "sendAccessButton": "Stuur Toegang",
    "lastActiveLabel": "Laatst actief:",
    "neverLoggedIn": "Nog nooit ingelogd",
    "reasonPlaceholder": "Bijv. vakantie, ziek, cursus...",
    "closeButton": "Sluiten",
    "teamLoadFailed": "Kon team niet laden",
    "serviceArea": "Werkgebied",
    "noZone": "Geen zone",
    "enterAddressFirst": "Vul eerst een thuisadres in hierboven",
    "clearZone": "Zone wissen (overal beschikbaar)",
    "geocodeFailed": "Adres niet gevonden op de kaart",
    "serviceZone": "zone",
    "contactPhone": "Contacttelefoon",
    "contactPhonePlaceholder": "bijv. +31 6 12345678",
    "contactPhoneHint": "Wordt getoond aan klanten buiten je werkgebied",
    "contactEmail": "Contact e-mail",
    "contactEmailPlaceholder": "bijv. info@bedrijf.nl",
    "dragToMove": "Sleep om het zonecentrum te verplaatsen",
    "zoneHint": "Klanten buiten deze straal kunnen deze stemmer niet boeken",
    "memberLoadFailed": "Kon teamleden niet laden",
    "logoUploadFailed": "Kon logo niet uploaden",
    "logoRemoveFailed": "Kon logo niet verwijderen",
    "magicLinkSent": "Magic link succesvol verzonden!",
    "selectTeam": "Team:",
    "membersCount": "leden",
    "teamCreated": "Team aangemaakt",
    "errorCreatingTeam": "Fout bij aanmaken team",
    "cannotDeleteLastTeam": "Kan het laatste team niet verwijderen",
    "confirmDeleteTeam": "Weet je zeker dat je dit team wilt verwijderen? Alle leden worden verwijderd en afspraken ontkoppeld.",
    "teamDeleted": "Team verwijderd",
    "errorDeletingTeam": "Fout bij verwijderen team",
    "everyone": "Iedereen",
    "unassigned": "Niet toegewezen",
    "bulkAssignFuture": "Wijs ook alle toekomstige afspraken van deze klant toe",
    "bulkAssignSuccess": "{count} afspraken toegewezen",
    "assignTo": "Toewijzen aan",
    "copyIcalLink": "Kopieer iCal link",
    "notifyOnAssign": "Email bij toewijzing",
    "icalSubscribeTitle": "Abonneer op je persoonlijke agenda",
    "icalSubscribeDesc": "Voeg deze link toe aan Apple Agenda, Google Agenda of Outlook om altijd je laatste afspraken te zien:",
    "icalSubscribeButton": "Abonneer op agenda",
    "icalCopyHint": "Of kopieer de link en plak hem in je agenda-app.",
    "copied": "Gekopieerd!",
    "copyManually": "Kopieer deze link:",
    "calendarColor": "Agendakleur",
    "tabMembers": "Leden",
    "tabBooking": "Boekingen",
    "tabSettings": "Instellingen",
    "bookingPageSettings": "Boekingspagina",
    "teamSettings": "Teaminstellingen",
    "welcomeTitle": "Welkom bij Teams!",
    "welcomeDesc": "We maken je team aan en voegen jou toe als eerste teamlid. Je bestaande instellingen en afspraken worden automatisch overgenomen.",
    "teamNameLabel": "Teamnaam",
    "reviewProfile": "Controleer je profiel",
    "reviewDesc": "Deze gegevens worden gebruikt voor je teamlidprofiel. Je kunt dit later wijzigen.",
    "nameLabel": "Naam",
    "emailLabel": "E-mail",
    "addressLabel": "Adres",
    "workHoursLabel": "Werktijden",
    "continueButton": "Doorgaan",
    "backButton": "Terug",
    "createTeamButton": "Team aanmaken",
    "setupComplete": "Team is klaar!",
    "setupCompleteDesc": "Je bent toegevoegd als eerste teamlid. Je toekomstige afspraken zijn gekoppeld. Voeg je eerste collega toe om te beginnen.",
    "appointmentsLinked": "{count} toekomstige afspraken gekoppeld aan je profiel",
    "addFirstColleague": "Voeg je eerste collega toe"
  },
  "actions": {
    "save": "Opslaan",
    "cancel": "Annuleren",
    "delete": "Verwijderen",
    "edit": "Bewerken",
    "add": "Toevoegen",
    "viewCustomer": "Klant bekijken",
    "navigate": "Navigeren",
    "createInvoice": "Factuur maken",
    "back": "Terug",
    "next": "Volgende",
    "close": "Sluiten",
    "confirm": "Bevestigen",
    "complete": "Afronden",
    "markAsDone": "Markeer als klaar"
  },
  "completion": {
    "title": "Afspraak afronden",
    "updatePiano": "Stemming bijwerken",
    "updatePianoDesc": "Laatste stemdatum → vandaag",
    "paymentLabel": "Betaling",
    "payInvoice": "Factuur maken",
    "payPin": "Betaald per pin",
    "payCash": "Contant betaald",
    "payLater": "Later factureren",
    "payNone": "Geen betaling (garantie/service)",
    "notesLabel": "Notities",
    "notesPlaceholder": "Optionele notitie...",
    "submit": "✅ Afronden",
    "preferredHint": "⭐ Voorkeur van deze klant",
    "customerPreference": "⭐ Voorkeur van deze klant"
  },
  "errors": {
    "notLoggedIn": "Niet ingelogd",
    "notFound": "Niet gevonden",
    "serverError": "Serverfout",
    "networkError": "Netwerkfout",
    "invalidInput": "Ongeldige invoer",
    "connectionError": "Verbindingsfout",
    "couldNotComplete": "Kon afspraak niet voltooien",
    "error": "Fout"
  },
  "subscription": {
    "proRequired": "Facturering is beschikbaar vanaf Pro abonnement"
  },
  "route": {
    "efficiency": "Route Efficiëntie",
    "excellent": "Uitstekend",
    "good": "Goed",
    "moderate": "Matig",
    "poor": "Slecht",
    "travelTime": "Reistijd"
  },
  "analysis": {
    "routeAnalysis": "Route Analyse",
    "analyze": "Analyse",
    "day": "Dag",
    "week": "Week",
    "loading": "Analyse laden...",
    "trips": "Ritten",
    "appointments": "afspraken",
    "suggestions": "Suggesties",
    "optimizations": "Optimalisaties",
    "noAppointments": "Geen afspraken",
    "noAppointmentsDesc": "Er zijn geen afspraken om te analyseren.",
    "score": "Score",
    "grade": "Cijfer",
    "totalKm": "Totaal km",
    "totalTime": "Totale rijtijd",
    "potentialSavings": "Potentiële besparing",
    "save": "besparen",
    "savings": "besparing",
    "total": "totaal",
    "savingsThisWeek": "besparing deze week",
    "savingsPossible": "besparing mogelijk",
    "perDay": "Per dag",
    "shortTrip": "Kort",
    "mediumTrip": "Medium",
    "longTrip": "Lang",
    "veryLongTrip": "Zeer lang",
    "gradeA": "Uitstekend",
    "gradeB": "Goed",
    "gradeC": "Acceptabel",
    "gradeD": "Kan beter",
    "gradeF": "Inefficiënt",
    "moveAppointment": "Verplaats afspraak",
    "applyOptimization": "Pas toe",
    "timingRisk": "Te krappe planning",
    "timingTight": "Krappe timing",
    "longTripWarning": "Lange rit",
    "zigzagWarning": "Zigzag route",
    "clusterSuggestion": "Cluster afspraken",
    "upgradeRequired": "Solo Feature",
    "upgradeDesc": "Route Analyse is beschikbaar vanaf het Solo abonnement.",
    "upgradeButton": "Upgrade naar Solo",
    "errorLoading": "Fout bij laden analyse",
    "thisWeek": "Deze week",
    "critical": "KRITIEK",
    "high": "HOOG",
    "medium": "GEMIDDELD",
    "tip": "TIP",
    "minutesSaved": "min bespaard",
    "quickMove": "Snel verplaatsen naar",
    "later": "later",
    "viewAllTimes": "Alle tijden bekijken",
    "viewReorder": "Volgorde bekijken",
    "findBetterDay": "Betere dag zoeken",
    "routeOptimizationPossible": "Route-optimalisatie mogelijk!",
    "viewAnalysis": "Analyse bekijken"
  },
  "time": {
    "today": "Vandaag",
    "tomorrow": "Morgen",
    "yesterday": "Gisteren",
    "thisWeek": "Deze week",
    "nextWeek": "Volgende week",
    "never": "Nooit",
    "allDay": "Hele dag",
    "justNow": "zojuist"
  },
  "login": {
    "title": "Inloggen",
    "welcome": "Welkom",
    "register": "Registreren",
    "email": "E-mail",
    "password": "Wachtwoord",
    "confirmPassword": "Wachtwoord bevestigen",
    "name": "Naam",
    "forgotPassword": "Wachtwoord vergeten?",
    "forgotDesc": "Voer je e-mail in. Je ontvangt een link om je wachtwoord te resetten.",
    "sendResetLink": "Verstuur reset link",
    "backToLogin": "← Terug naar inloggen",
    "rememberMe": "Onthoud mij",
    "loginWithGoogle": "Inloggen met Google",
    "signupWithGoogle": "Registreren met Google",
    "createAccount": "Account aanmaken",
    "alreadyHaveAccount": "Al een account?",
    "noAccount": "Nieuw hier?",
    "loginLink": "Inloggen →",
    "registerLink": "Maak een account →",
    "companyOptional": "Bedrijfsnaam (optioneel)",
    "language": "Taal",
    "namePlaceholder": "Jan Jansen",
    "passwordMin": "Min. 8 tekens",
    "or": "of",
    "acceptTerms": "Ik ga akkoord met de <a href=\"/terms.html\" target=\"_blank\">Algemene Voorwaarden</a>, de <a href=\"/privacy.html\" target=\"_blank\">Privacyverklaring</a> en de <a href=\"/dpa.html\" target=\"_blank\">Verwerkersovereenkomst</a>",
    "acceptTermsRequired": "Je moet akkoord gaan met de Algemene Voorwaarden, Privacyverklaring en Verwerkersovereenkomst.",
    "hintLogin": "Welkom terug!",
    "hintRegister": "Maak in 30 seconden een account aan",
    "trustFree": "1 maand gratis proberen",
    "trustNoCard": "Geen creditcard nodig",
    "trustGdpr": "GDPR compliant & data in NL",
    "trustCancel": "Altijd opzegbaar",
    "loggingIn": "Inloggen...",
    "welcomeBack": "Welkom terug! Je wordt doorgestuurd...",
    "loginFailed": "Inloggen mislukt",
    "somethingWentWrong": "Er ging iets mis. Probeer het opnieuw.",
    "sending": "Versturen...",
    "resetLinkSent": "Als dit e-mailadres bekend is, ontvang je een reset link.",
    "passwordTooShort": "Wachtwoord moet minimaal 8 tekens zijn.",
    "creatingAccount": "Account aanmaken...",
    "awaitingApproval": "Account aangemaakt! Wacht op goedkeuring door de beheerder. Je ontvangt een e-mail zodra je account is geactiveerd.",
    "awaitingApprovalBtn": "Wacht op goedkeuring",
    "accountCreated": "Account aangemaakt! Je kunt nu inloggen met je gegevens.",
    "accountCreatedBtn": "Account aangemaakt!",
    "googleRecommended": "Aanbevolen — directe toegang tot agenda synchronisatie",
    "googleRecommendedSignup": "Snelste manier — direct klaar met agenda synchronisatie"
  },
  "pricing": {
    "title": "Eenvoudige, transparante prijzen.",
    "subtitle": "Kies het plan dat bij je past. Geen verborgen kosten.",
    "monthly": "per maand",
    "yearly": "per jaar",
    "perMonth": "/ maand",
    "startTrial": "1 maand gratis proberen",
    "trySolo": "Gratis proberen",
    "getStartedFree": "Gratis starten",
    "subscribe": "Abonneren",
    "currentPlan": "Huidig abonnement",
    "features": "Functies",
    "unlimited": "Onbeperkt",
    "support": "Ondersteuning",
    "trial": "Proefperiode",
    "trialDays": "dagen proefperiode",
    "foreverFree": "Altijd gratis",
    "mostPopular": "Meest gekozen",
    "serverLocation": "Je gegevens worden veilig opgeslagen op servers in Nederland (EU)",
    "exVat": "excl. BTW",
    "startName": "Start",
    "startTagline": "Slim plannen & routes",
    "startFeature1": "Onbeperkt klanten & afspraken",
    "startFeature2": "Route-optimalisatie & Route Vullen",
    "startFeature3": "Online boekingspagina",
    "startFeature4": "E-mail herinneringen & templates",
    "startFeature5": "Eigen e-mail domein (SMTP)",
    "startFeature6": "Smart Suggestions",
    "startFeature7": "Kalender export (iCal)",
    "startFeature8": "PWA mobiele app",
    "startFeature9": "CSV & Gazelle import",
    "proName": "Pro",
    "proTagline": "Volledige sync & automatisering",
    "proFeature1": "Alles uit Start, plus:",
    "proFeature2": "2-way sync Google, Apple & Microsoft",
    "proFeature3": "Facturering in 1 klik met betaallink",
    "proFeature3sub": "PDF facturen + betaalprovider naar keuze (via key)",
    "proFeature4": "Km-registratie (fiscus-proof)",
    "proFeature5": "Boekhoudkoppeling (Jortt, Odoo, ...)",
    "invoiceHighlightTitle": "Facturering met iDEAL / Wero betaallink",
    "invoiceHighlightDesc": "Maak facturen vanuit je agenda, verstuur ze met PDF en betaallink. Je klant betaalt direct via iDEAL / Wero. Beschikbaar vanaf Pro.",
    "premiumName": "Premium",
    "premiumTagline": "Werkplaats, projecten & team",
    "premiumFeature1": "Alles uit Pro, plus:",
    "premiumFeature2": "Werkplaats projectplanner",
    "premiumFeature3": "Urenregistratie & capaciteitsplanning",
    "premiumFeature4": "Theater/venue uren",
    "premiumFeature5": "Deadline overzicht",
    "premiumFeature6": "Team dashboard & slimme toewijzing",
    "premiumFeature6sub": "+ €15 per extra stemmer/teamlid",
    "teamsName": "Teams",
    "teamsTagline": "Werkplaats, projecten & team",
    "teamsFeature1": "Alles uit Pro, plus:",
    "teamsFeature2": "Werkplaats projectplanner",
    "teamsFeature3": "Urenregistratie & capaciteitsplanning",
    "teamsFeature4": "Theater/venue uren",
    "teamsFeature5": "Deadline overzicht",
    "teamsFeature6": "Team dashboard & slimme toewijzing",
    "teamsFeature7": "Magic Link portal voor stemmers",
    "teamsFeature7sub": "Incl. 5 stemmers · + €15 per extra stemmer",
    "businessName": "Teams Business",
    "businessTagline": "Magazijn, voorraad & 10 stemmers",
    "businessFeature1": "Alles uit Teams, plus:",
    "businessFeature2": "Magazijn & voorraadbeheer",
    "businessFeature3": "Showroom batches",
    "businessFeature4": "Tot 10 stemmers",
    "businessFeature4sub": "+ €15 per extra stemmer boven 10",
    "freeHint": "Net gestart of maximaal 25 klanten?",
    "freeHintLink": "Begin met ons gratis instapplan.",
    "serverTitle": "Europese servers, Nederlands bedrijf",
    "serverText": "Je data blijft in Europa. AVG-compliant. Gevestigd in Tilburg, Nederland.",
    "independenceTipTitle": "Onafhankelijk van Big Tech?",
    "independenceTipText": "Al met het Start abonnement beheer je alles in PianoPlanner en genereer je een iCal-link die werkt met elke kalender-app. Geen Google, Apple of Microsoft account nodig.",
    "faqTitle": "Veelgestelde vragen",
    "faqSubtitle": "Alles wat je moet weten over PianoPlanner.",
    "faq1Question": "Kan ik het eerst uitproberen?",
    "faq1Answer": "Ja! Alle betaalde abonnementen hebben een gratis proefperiode van 1 maand. Geen creditcard nodig. Na de maand kun je kiezen om te betalen of val je terug naar het gratis plan.",
    "faq2Question": "Wat gebeurt er met mijn data als ik opzeg?",
    "faq2Answer": "Je data is van jou. Je kunt alles exporteren voordat je opzegt. Na opzegging gaat je account terug naar het gratis plan.",
    "faq3Question": "Kan ik later van plan wisselen?",
    "faq3Answer": "Zeker. Upgrade of downgrade wanneer je wilt. Wijzigingen gaan direct in en het nieuwe bedrag geldt vanaf de volgende betaalperiode.",
    "faq4Question": "Hoe werkt de kalender synchronisatie?",
    "faq4Answer": "PianoPlanner synchroniseert twee-weg met Google Agenda, Apple Agenda en Microsoft 365. Afspraken verschijnen realtime op al je apparaten.",
    "footerFeature1": "1 maand gratis",
    "footerFeature2": "Geen creditcard nodig",
    "footerFeature3": "Altijd opzegbaar",
    "footerFeature4": "AVG-compliant",
    "compareTitle": "Vergelijk abonnementen",
    "compareFeature": "Functie",
    "compareCustomers": "Klanten & afspraken",
    "compareRoute": "Route-optimalisatie",
    "compareBooking": "Online boekingspagina",
    "compareReminders": "E-mail herinneringen",
    "compareSmtp": "Eigen e-mail (SMTP)",
    "compareSmart": "Smart Suggestions",
    "compareiCal": "Kalender export (iCal)",
    "comparePwa": "PWA mobiele app",
    "compareImport": "CSV & Gazelle import",
    "compareCalSync": "2-way kalender sync",
    "compareMileage": "Km-registratie",
    "compareInvoicing": "Facturering + betaallink",
    "compareAccounting": "Boekhoudkoppeling",
    "compareProjects": "Werkplaats projectplanner",
    "compareTimetrack": "Urenregistratie",
    "compareCapacity": "Capaciteitsplanning",
    "compareTheater": "Theater/venue uren",
    "compareTeamDashboard": "Team dashboard & toewijzing",
    "compareTeamMembers": "Extra stemmers",
    "compareMagicLink": "Magic Link portal",
    "compareInventory": "Magazijn & voorraadbeheer",
    "compareShowroom": "Showroom batches",
    "compareMaxTuners": "Max. stemmers",
    "teamsHint": "Meer dan 5 stemmers?",
    "teamsHintLink": "Neem contact op voor een offerte op maat."
  },
  "billing": {
    "title": "Abonnement",
    "currentPlan": "Huidig abonnement",
    "nextBilling": "Volgende facturering",
    "paymentMethod": "Betaalmethode",
    "updatePayment": "Betaling bijwerken",
    "cancelSubscription": "Abonnement opzeggen",
    "reactivate": "Heractiveren",
    "active": "Actief",
    "trial": "Proefperiode",
    "expired": "Verlopen",
    "canceled": "Opgezegd",
    "subtitle": "Beheer je abonnement en facturen",
    "startSubscription": "Start abonnement",
    "choosePlan": "Kies je abonnement",
    "perMonthVat": "/maand + BTW",
    "perMonthExclVat": "/maand (excl. BTW)",
    "soloFeature1": "Onbeperkt klanten & afspraken",
    "soloFeature2": "E-mail herinneringen & templates",
    "soloFeature3": "Route-optimalisatie",
    "soloFeature4": "Online boekingspagina",
    "proFeatureAll": "Alles van Solo, plus:",
    "proFeature1": "2-way kalender sync",
    "proFeature2": "Km-registratie (fiscus-proof)",
    "proFeature3": "Facturering met betaallink",
    "premiumFeatureAll": "Alles van Pro, plus:",
    "premiumFeature1": "Werkplaats projectplanner",
    "premiumFeature2": "Capaciteitsplanning & uren",
    "premiumFeature3": "Theater/zaalprojecten",
    "teamsCustom": "Meerdere stemmers? ",
    "teamsCustomLink": "Vraag een Teams-offerte aan.",
    "selectPlanContinue": "Kies een abonnement om door te gaan",
    "whatsIncluded": "Wat zit erin",
    "allPlansInclude": "Alle abonnementen bevatten:",
    "featureUnlimited": "Onbeperkt klanten & afspraken",
    "featureEmail": "E-mail herinneringen & templates",
    "featureSMTP": "Eigen e-mail domein (SMTP)",
    "featureRoute": "Route-optimalisatie",
    "featureBooking": "Online boekingspagina",
    "featurePWA": "PWA mobiele app",
    "featureSmart": "Smart Suggestions",
    "featureImport": "CSV & Gazelle import",
    "featureIcal": "Kalender export (iCal)",
    "featureEU": "Nederlandse servers (EU/AVG)",
    "proAdds": "Pro voegt toe:",
    "proFeatureSync": "2-way kalender sync (Google, Apple, Microsoft)",
    "proFeatureKm": "Km-registratie (fiscus-proof)",
    "proFeatureInvoice": "Facturering met betaallink",
    "proFeatureAccounting": "Boekhoudkoppeling",
    "proFeatureSupport": "Prioriteit support",
    "needHelp": "Hulp nodig?",
    "needHelpDesc": "Heb je vragen over je abonnement of facturen? Neem contact met ons op.",
    "contactUs": "Neem contact op",
    "teamsFeature1": "Tot 5 pianostemmers",
    "teamsFeature2": "Team dashboard & slimme toewijzing",
    "teamsFeature3": "iCal feed per stemmer",
    "teamsFeatureAll": "Alles van Pro, plus:",
    "daysLeft": "dagen over",
    "noSubscription": "Geen abonnement",
    "price": "Prijs",
    "perMonth": "maand",
    "vat": "BTW",
    "daysLeftTrial": "dagen over in je proefperiode",
    "likePianoPlanner": "PianoPlanner bevalt?",
    "upgradeAnytime": "Je kunt op elk moment upgraden – je hoeft niet te wachten tot je proefperiode afloopt!",
    "statusLabel": "Status",
    "trialExpired": "Je proefperiode is verlopen",
    "upgradeNow": "Nu upgraden",
    "manageSubscription": "Abonnement beheren",
    "checkoutError": "Kan checkout niet starten.",
    "somethingWentWrong": "Er ging iets mis. Probeer het opnieuw.",
    "portalError": "Kan abonnementsbeheer niet openen.",
    "loadError": "Kan abonnementsgegevens niet laden.",
    "welcomePlan": "Welkom bij PianoPlanner",
    "paymentSuccess": "Je betaling is gelukt. Je abonnement is nu actief voor",
    "confirmationEmail": "Je ontvangt een bevestiging per e-mail. Facturen vind je hieronder terug.",
    "paymentCancelled": "Betaling geannuleerd",
    "paymentCancelledDesc": "Geen probleem! Je kunt het later opnieuw proberen. Er is niets in rekening gebracht.",
    "yourPlan": "Jouw abonnement",
    "continueWith": "Doorgaan met",
    "monthly": "Maandelijks",
    "annual": "Jaarlijks",
    "saveAnnual": "Bespaar ~15%",
    "perYear": "jaar"
  },
  "import": {
    "title": "Gegevens importeren",
    "selectSource": "Selecteer bron",
    "selectSourceDesc": "Kies waar je klantgegevens vandaan wilt importeren.",
    "gazelleTitle": "Gazelle Import Wizard - PianoPlanner",
    "gazelleWizard": "Gazelle Import Wizard",
    "backToSettings": "Terug naar Instellingen",
    "step1Title": "Klanten importeren",
    "step1Desc": "Upload clients.csv",
    "step2Title": "Piano's importeren",
    "step2Desc": "Upload pianos.csv",
    "step3Title": "Afspraken importeren",
    "step3Desc": "Upload events.csv (optioneel)",
    "step4Title": "Voltooid",
    "step4Desc": "Bekijk resultaten",
    "step5Title": "Voltooid",
    "step5Desc": "Bekijk resultaten",
    "customersTitle": "Stap 1: Klanten Importeren",
    "customersDesc": "Upload je Gazelle clients.csv bestand. We controleren elk record en tonen precies wat er geïmporteerd wordt.",
    "dropClients": "Sleep clients.csv hierheen",
    "orClickBrowse": "of klik om te bladeren",
    "pianosTitle": "Stap 2: Piano's Importeren",
    "pianosDesc": "Upload je Gazelle pianos.csv bestand. Piano's worden automatisch gekoppeld aan klanten via het Gazelle ID.",
    "dropPianos": "Sleep pianos.csv hierheen",
    "eventsTitle": "Stap 3: Afspraken Importeren",
    "eventsDesc": "Upload je Gazelle events.csv bestand. Afspraken worden gekoppeld aan klanten en piano's. Dit is optioneel - je kunt deze stap overslaan.",
    "dropEvents": "Sleep events.csv hierheen",
    "filterAll": "Alle",
    "filterValid": "✓ Geldig",
    "filterSkip": "⚠ Overslaan",
    "filterError": "✗ Fout",
    "optSkipExisting": "Bestaande klanten overslaan",
    "optSkipExistingDesc": "Sla klanten over die al bestaan (op basis van email)",
    "optCreateCustomers": "Ontbrekende klanten aanmaken",
    "optCreateCustomersDesc": "Maak automatisch klanten aan voor piano's zonder koppeling",
    "skipStep": "Stap overslaan →",
    "skipAndFinish": "Afronden zonder afspraken →",
    "importCustomers": "Importeer Klanten",
    "importPianos": "Importeer Piano's",
    "importEvents": "Importeer Afspraken",
    "importing": "Importeren...",
    "completed": "Import Voltooid!",
    "completedDesc": "Je Gazelle gegevens zijn geïmporteerd naar PianoPlanner.",
    "customers": "Klanten",
    "pianos": "Piano's",
    "events": "Afspraken",
    "viewCustomers": "Bekijk klanten",
    "viewPianos": "Bekijk Piano's",
    "toDashboard": "Naar Dashboard",
    "fileLoaded": "Bestand geladen, wordt geanalyseerd...",
    "recordsFound": "records gevonden,",
    "readyForImport": "klaar voor import",
    "statReady": "klaar voor import",
    "statSkip": "worden overgeslagen",
    "statError": "kunnen niet geïmporteerd worden",
    "importingCustomers": "Klanten worden geïmporteerd...",
    "importingPianos": "Piano's worden geïmporteerd...",
    "importingEvents": "Afspraken worden geïmporteerd...",
    "importingEventsChunk": "Afspraken importeren: deel {{chunk}} van {{total}} ({{done}}/{{all}})...",
    "noNameFound": "Geen naam gevonden (geen company name en geen first/last name)",
    "emailExists": "Email \"{{email}}\" bestaat al in het systeem",
    "noEmailImport": "Geen email - wordt geïmporteerd zonder email",
    "readyToImport": "Klaar om te importeren",
    "noName": "(geen naam)",
    "noBrandModel": "Geen merk of model gevonden",
    "noCustomerInfo": "Geen klant informatie in CSV",
    "customerNotFound": "Klant niet gevonden: {{name}}",
    "linkedTo": "Gekoppeld aan: {{name}}",
    "unknown": "(onbekend)",
    "noStartDate": "Geen startdatum gevonden",
    "customerNotFoundEvent": "⚠️ Klant niet gevonden, wordt geïmporteerd zonder klantkoppeling: {{name}}",
    "noCustomerInfoShort": "(geen klant info)",
    "appointmentLabel": "Afspraak {{date}}",
    "importedCount": "geïmporteerd",
    "skippedCount": "overgeslagen",
    "itemsSkipped": "items overgeslagen",
    "clickForDetails": "klik voor details",
    "typeCustomer": "Klant",
    "typePiano": "Piano",
    "typeAppointment": "Afspraak",
    "andMore": "en {{count}} meer",
    "step": {
      "source": "Bron",
      "upload": "Upload",
      "preview": "Voorbeeld",
      "import": "Importeren"
    },
    "external": {
      "desc": "Piano service software"
    },
    "csv": {
      "desc": "Algemeen CSV bestand"
    },
    "uploadFile": "Upload bestand",
    "uploadFileDesc": "Upload je export bestand (CSV formaat).",
    "dropFile": "Sleep je bestand hierheen",
    "orClick": "of klik om te bladeren",
    "previewData": "Voorbeeld bekijken",
    "previewDesc": "Controleer de gegevens voordat je importeert.",
    "totalRecords": "Totaal records",
    "activeClients": "Actieve klanten",
    "inactiveClients": "Inactieve klanten",
    "withEmail": "Met e-mail",
    "th": {
      "name": "Naam",
      "email": "E-mail",
      "phone": "Telefoon",
      "city": "Plaats",
      "status": "Status"
    },
    "options": "Import opties",
    "opt": {
      "activeOnly": "Alleen actieve klanten importeren",
      "activeOnlyDesc": "Klanten met status inactief overslaan",
      "skipDuplicates": "Duplicaten overslaan",
      "skipDuplicatesDesc": "Klanten met bestaande e-mailadressen overslaan",
      "includeCompany": "Bedrijfsnaam toevoegen",
      "includeCompanyDesc": "Bedrijfsnaam aan klantnaam toevoegen (bijv. \"Bedrijf - Jan Jansen\")"
    },
    "complete": "Import voltooid!",
    "failed": "Import mislukt",
    "partialComplete": "Import gedeeltelijk voltooid",
    "successMessage": "{{count}} klanten succesvol geïmporteerd.",
    "partialMessage": "{{imported}} klanten geïmporteerd met {{errors}} fouten.",
    "noImports": "Er zijn geen klanten geïmporteerd.",
    "imported": "Geïmporteerd",
    "skipped": "Overgeslagen",
    "errors": "Fouten",
    "importMore": "Meer importeren",
    "undoImport": "Import ongedaan maken",
    "undone": "Import ongedaan gemaakt",
    "undoneMessage": "{{count}} records succesvol verwijderd.",
    "next": "Volgende",
    "back": "Terug",
    "cancel": "Annuleren",
    "preview": "Voorbeeld",
    "startImport": "Start import",
    "error": {
      "csvOnly": "Upload a.u.b. een CSV bestand",
      "parse": "Fout bij lezen van CSV bestand"
    },
    "deleteImportedData": "Eerder geïmporteerde data verwijderen",
    "backToImport": "← Terug naar Import",
    "analyzeFile": "Bestand analyseren",
    "importContacts": "Importeer contacten",
    "importAppointments": "Importeer afspraken",
    "viewAgenda": "Bekijk agenda",
    "filterLinked": "✓ Gekoppeld",
    "filterNoCustomer": "⚠ Geen klant",
    "filterNoLink": "⚠ Geen koppeling",
    "deleteImported": "Importgegevens verwijderen",
    "gazelle": {
      "desc": "Importeer gegevens vanuit Gazelle"
    },
    "manager": {
      "title": "Importbeheer",
      "desc": "Beheer je eerdere importacties",
      "back": "Terug",
      "empty": "Geen importacties gevonden",
      "loading": "Laden..."
    },
    "gazelleWizardTitle": "Gazelle Import",
    "gazelleWizardDesc": "Importeer je gegevens vanuit Gazelle in 5 stappen.",
    "gazelleStep1": "Klanten",
    "gazelleStep2": "Piano's",
    "gazelleStep3": "Afspraken",
    "gazelleStep4": "Diensten",
    "gazelleStep5": "Resultaat",
    "gazelleFileNeeded": "Benodigd bestand uit Gazelle:",
    "gazelleClientsFile": "Clients",
    "gazellePianosFile": "Pianos",
    "gazelleEventsFile": "Events",
    "gazelleMslFile": "Master Service List",
    "gazelleEsiFile": "Event Service Items",
    "gazelleClientsDesc": "Upload je Gazelle Clients export. Bevat klantnamen, adressen, e-mail en telefoon.",
    "gazellePianosDesc": "Upload je Gazelle Pianos export. Piano's worden automatisch gekoppeld aan klanten.",
    "gazelleEventsDesc": "Upload je Gazelle Events export. Afspraken worden gekoppeld aan klanten en piano's.",
    "gazelleMslDesc": "Upload je Master Service List. Bevat officiële diensten met prijzen en beschrijvingen.",
    "gazelleEsiDesc": "Optioneel: Event Service Items voor exacte dienst-koppeling per afspraak.",
    "gazelleServicesTitle": "Stap 4: Diensten importeren",
    "gazelleServicesDesc": "Upload je Master Service List (MSL). Diensten worden ook automatisch afgeleid uit afspraken.",
    "gazelleServicesFound": "{{count}} diensten gevonden",
    "gazelleServicesMsl": "Uit Master Service List (officieel)",
    "gazelleServicesExtracted": "Afgeleid uit afspraken",
    "gazelleServicesExisting": "{{count}} diensten bestaan al",
    "gazelleOptionalStep": "Deze stap is optioneel",
    "gazellePersonalEvents": "Persoonlijke events importeren als privé-afspraken",
    "gazellePersonalEventsDesc": "Personal/memo events worden als privé-afspraak in je agenda gezet",
    "gazelleSyncedEvents": "Gesynchroniseerde events meenemen",
    "gazelleSyncedEventsDesc": "Synced events van andere agenda's worden standaard overgeslagen",
    "gazelleHistorical": "{{count}} historisch (niet naar Google Sync)",
    "gazelleFuture": "{{count}} toekomstig (worden gesynchroniseerd)",
    "gazelleProcessing": "Verwerken...",
    "gazelleProcessingOf": "{{current}} van {{total}}",
    "gazelleResultTitle": "Import voltooid!",
    "gazelleResultDesc": "Je Gazelle-gegevens zijn succesvol geïmporteerd in PianoPlanner.",
    "gazelleResultCustomers": "{{count}} klanten geïmporteerd",
    "gazelleResultPianos": "{{count}} piano's geïmporteerd",
    "gazelleResultEvents": "{{count}} afspraken geïmporteerd",
    "gazelleResultServices": "{{count}} diensten aangemaakt",
    "gazelleResultSkipped": "{{count}} overgeslagen",
    "gazelleResultErrors": "{{count}} fouten",
    "gazelleServicesTip": "💡 Tip: ga naar Instellingen → Diensten om prijzen en duur aan te passen.",
    "gazelleUndoAll": "Alles ongedaan maken",
    "gazelleUndoConfirm": "Weet je zeker dat je alle geïmporteerde gegevens wilt verwijderen?",
    "gazelleDropFile": "Sleep je CSV-bestand hierheen",
    "gazelleOrBrowse": "of klik om te bladeren",
    "gazelleFileSelected": "Bestand geselecteerd:",
    "gazelleAnalyzing": "Bestand wordt geanalyseerd...",
    "gazelleRecordsFound": "{{count}} records gevonden",
    "gazelleReadyToImport": "Klaar om te importeren",
    "gazelleImportBtn": "Importeren",
    "gazelleSkipBtn": "Stap overslaan →",
    "gazelleNextBtn": "Volgende stap →",
    "gazelleBackBtn": "← Vorige stap",
    "gazelleFinishBtn": "Afronden",
    "gazelleImportSuccess": "✅ Succesvol geïmporteerd",
    "gazelleImportPartial": "⚠️ Gedeeltelijk geïmporteerd",
    "gazelleImportFailed": "❌ Import mislukt",
    "gazelleNoFile": "Nog geen bestand geselecteerd",
    "gazelleExportInstructions": "Ga naar Gazelle → Data → Export en download het bestand:",
    "minutes": "min"
  },
  "emailTemplates": {
    "title": "E-mail Sjablonen",
    "subtitle": "Pas de e-mails aan die naar klanten worden gestuurd",
    "bccToSelf": "Kopie naar mijzelf (BCC)",
    "bccToSelfDesc": "Ontvang automatisch een kopie van alle e-mails die naar klanten worden verstuurd (bevestigingen, herinneringen, annuleringen, facturen). Handig om te controleren wat er bij je klanten aankomt.",
    "helpBanner": {
      "title": "Snel op weg met de Email Editor",
      "subtitle": "Pas je klant-emails aan in 3 eenvoudige stappen",
      "step1Title": "Kies een template",
      "step1Desc": "Klik hierboven op het type email dat je wilt aanpassen (bevestiging, herinnering, etc.)",
      "step2Title": "Bewerk visueel of in HTML",
      "step2Desc": "Gebruik de 🎨 Visueel modus om tekst op te maken zoals in Word. Klik op variabelen om klantgegevens in te voegen.",
      "step3Title": "Sla op & test",
      "step3Desc": "Bekijk rechts de live preview. Stuur een test-email naar jezelf om het resultaat te zien.",
      "tip": "Tip: Variabelen zoals {{customerName}} worden automatisch vervangen door echte klantgegevens bij verzending."
    },
    "confirmation": {
      "subject": "Bevestiging: {{service}} op {{date}}",
      "title": "Afspraak Bevestigd",
      "confirmed": "Bevestigd",
      "greeting": "Beste {{customerName}},",
      "intro": "Uw afspraak is bevestigd. Hieronder vindt u alle details.",
      "details": "Afspraakgegevens",
      "date": "Datum",
      "time": "Tijd",
      "service": "Dienst",
      "location": "Locatie",
      "address": "Adres",
      "instrument": "Instrument",
      "piano": "Piano",
      "pianoType": "Type",
      "serialNumber": "Serienummer",
      "buildYear": "Bouwjaar",
      "pianoLocation": "Locatie piano",
      "notes": "Opmerkingen",
      "questions": "Heeft u vragen? Neem gerust contact met ons op.",
      "regards": "Met vriendelijke groet,",
      "rescheduleText": "Komt het tijdstip niet uit? U kunt uw afspraak online verplaatsen.",
      "rescheduleButton": "Afspraak verplaatsen"
    },
    "reminder": {
      "subject": "Herinnering: {{service}} op {{date}}",
      "title": "Herinnering",
      "subtitle": "Uw afspraak is morgen",
      "tomorrow": "morgen",
      "inHours": "over {{hours}} uur",
      "inDays": "over {{days}} dagen",
      "greeting": "Beste {{customerName}},",
      "intro": "Dit is een herinnering voor uw afspraak:",
      "lookingForward": "Wij kijken ernaar uit u te zien!",
      "regards": "Met vriendelijke groet,"
    },
    "newBooking": {
      "subject": "Nieuwe boeking: {{customerName}} - {{service}}",
      "title": "Nieuwe Afspraak",
      "subtitle": "Er is een nieuwe afspraak geboekt",
      "customerDetails": "Klant",
      "appointmentDetails": "Afspraakdetails",
      "customerNote": "Opmerking van klant",
      "openPianoPlanner": "Open PianoPlanner om deze afspraak te bekijken"
    },
    "cancellation": {
      "subject": "Annulering: {{service}} op {{date}}",
      "title": "Afspraak Geannuleerd",
      "greeting": "Beste {{customerName}},",
      "intro": "Uw afspraak is geannuleerd:",
      "reschedule": "Wilt u een nieuwe afspraak maken? Neem contact met ons op of boek online.",
      "regards": "Met vriendelijke groet,"
    },
    "bookingInvitation": {
      "subject": "Uitnodiging om een afspraak te maken",
      "title": "Maak een Afspraak",
      "subtitle": "Eenvoudig online boeken",
      "greeting": "Beste {{customerName}},",
      "intro": "Graag nodig ik u uit om een afspraak in te plannen. Via onderstaande link kunt u eenvoudig een geschikt moment kiezen.",
      "bookButton": "Afspraak Maken",
      "linkNote": "Of kopieer deze link:",
      "regards": "Met vriendelijke groet,"
    },
    "tuningInvitation": {
      "subject": "Tijd voor een stembeurt: uw {{piano_brand}} {{piano_model}}",
      "title": "Tijd voor een Stembeurt",
      "subtitle": "Uw piano verdient de beste zorg",
      "greeting": "Beste {{customerName}},",
      "intro": "Het is alweer een tijdje geleden dat uw piano is gestemd. Om uw instrument in optimale conditie te houden, is het tijd voor onderhoud.",
      "piano": "Piano",
      "lastTuning": "Laatste stembeurt",
      "unknown": "Onbekend",
      "timeElapsed": "Tijd verstreken",
      "months": "maanden",
      "recommendedInterval": "Aanbevolen interval",
      "every": "elke",
      "bookNow": "Plan eenvoudig uw volgende stembeurt via onderstaande link:",
      "bookButton": "Direct een afspraak maken",
      "regards": "Met vriendelijke groet,",
      "footer": "Professionele pianostemming",
      "unsubscribeText": "Geen herinneringen meer ontvangen"
    },
    "teamBookingConfirmation": {
      "subject": "Bevestiging: {{service}} met {{teamMember}} op {{date}}",
      "title": "Afspraak Bevestigd",
      "greeting": "Beste {{customerName}},",
      "intro": "Uw afspraak is bevestigd. Een van onze teamleden komt graag langs.",
      "teamMember": "Teamlid",
      "date": "Datum",
      "time": "Tijd",
      "service": "Dienst",
      "location": "Locatie",
      "notes": "Uw opmerkingen",
      "questions": "Heeft u vragen? Neem gerust contact met ons op.",
      "regards": "Met vriendelijke groet,"
    },
    "teamMemberNotification": {
      "subject": "Nieuwe afspraak toegewezen: {{service}} op {{date}}",
      "title": "Nieuwe Afspraak",
      "subtitle": "Automatisch toegewezen via team booking",
      "greeting": "Hoi {{teamMember}},",
      "intro": "Er is een nieuwe afspraak aan jou toegewezen via het team booking systeem.",
      "date": "Datum",
      "time": "Tijd",
      "service": "Dienst",
      "customerInfo": "Klantgegevens",
      "name": "Naam",
      "email": "Email",
      "phone": "Telefoon",
      "location": "Locatie",
      "customerNotes": "Opmerkingen van klant",
      "smartAssignment": "Smart toewijzing:",
      "travelTime": "Reistijd vanaf je vorige afspraak",
      "minutes": "minuten",
      "closing": "Succes!",
      "footer": "Deze afspraak is automatisch toegewezen op basis van beschikbaarheid en locatie"
    },
    "teamTuningInvitation": {
      "subject": "Tijd voor een stembeurt bij {{companyName}}",
      "title": "Tijd voor een Stembeurt",
      "subtitle": "Uw piano verdient de beste zorg",
      "greeting": "Beste {{customerName}},",
      "intro": "Het is alweer een tijdje geleden dat uw piano is gestemd. Ons team van ervaren stemmers staat voor u klaar.",
      "piano": "Piano",
      "lastTuning": "Laatste stembeurt",
      "timeElapsed": "Tijd verstreken",
      "months": "maanden",
      "usp1": "Meerdere ervaren stemmers beschikbaar",
      "usp2": "Snel een passend tijdstip vinden",
      "usp3": "Automatisch de dichtstbijzijnde stemmer",
      "bookNow": "Plan eenvoudig uw volgende stembeurt bij ons team:",
      "bookButton": "Direct een afspraak maken",
      "regards": "Met vriendelijke groet,",
      "footer": "Ons team van vakkundige pianostemmers"
    },
    "passwordReset": {
      "subject": "Wachtwoord resetten - PianoPlanner",
      "title": "Wachtwoord resetten",
      "greeting": "Hallo {{name}},",
      "intro": "Je hebt een verzoek ingediend om je wachtwoord te resetten. Klik op de onderstaande knop om een nieuw wachtwoord in te stellen.",
      "button": "Wachtwoord resetten",
      "expiry": "Deze link is 1 uur geldig. Heb je dit verzoek niet gedaan? Dan kun je deze email negeren.",
      "requestMessage": "Als dit emailadres bij ons bekend is, ontvang je een reset link."
    },
    "rescheduleEmail": {
      "badge": "Herplannen bevestigd",
      "title": "Afspraak verplaatst",
      "greeting": "Beste {{name}},",
      "intro": "Uw afspraak is succesvol verplaatst naar een nieuw moment.",
      "oldTime": "Oud tijdstip",
      "regards": "Met vriendelijke groet,",
      "subject": "Afspraak verplaatst: {{service}} — {{date}}",
      "ownerSubject": "{{name}} heeft herplannen: {{date}} {{time}}",
      "ownerTitle": "Afspraak herplannen door klant",
      "ownerIntro": "heeft zelf de afspraak verplaatst:",
      "from": "Van:",
      "to": "Naar:",
      "service": "Dienst:",
      "location": "Locatie:"
    },
    "subscriptionEmail": {
      "subject": "Welkom bij {{plan}}! 🎹",
      "title": "Welkom bij {{plan}}!",
      "subtitle": "Je abonnement is succesvol geactiveerd",
      "greeting": "Beste {{name}},",
      "intro": "Bedankt voor je vertrouwen in PianoPlanner! Je betaling is ontvangen en je <strong>{{plan}}</strong> abonnement is nu actief.",
      "plan": "Plan",
      "amount": "Bedrag",
      "status": "Status",
      "active": "Actief ✓",
      "inclVat": "incl. {{pct}}% BTW",
      "exclVat": "excl. BTW",
      "reverseCharge": "BTW verlegd",
      "perMonth": "/maand",
      "manage": "Je kunt je abonnement op elk moment beheren via de instellingen in PianoPlanner. Heb je vragen? Neem gerust contact met ons op.",
      "dashboard": "Ga naar je Dashboard",
      "footer": "PianoPlanner • Je ontvangt maandelijks een factuur voor je abonnement."
    },
    "trialNudge": {
      "day7": {
        "subject": "Hoe gaat het met PianoPlanner, {{name}}?",
        "greeting": "Hoi {{name}},",
        "body": "Je gebruikt PianoPlanner nu een week — fijn dat je erbij bent! 🎹",
        "statsTitle": "Jouw gebruik tot nu toe:",
        "statsCustomers": "{{count}} klant(en) aangemaakt",
        "statsPianos": "{{count}} piano('s) geregistreerd",
        "statsAppointments": "{{count}} afspra(a)k(en) ingepland",
        "cta": "Als je vragen hebt, reageer gerust op deze mail. We helpen je graag!",
        "ctaButton": "Naar PianoPlanner",
        "footer": "Je hebt nog {{daysLeft}} dagen trial over. Na je proefperiode houd je altijd toegang tot het gratis plan."
      },
      "day20": {
        "subject": "Nog 10 dagen in je PianoPlanner trial",
        "greeting": "Hoi {{name}},",
        "body": "Je proefperiode loopt over 10 dagen af. Hier is wat je tot nu toe hebt bereikt:",
        "statsCustomers": "{{count}} klant(en)",
        "statsAppointments": "{{count}} afspra(a)k(en)",
        "statsEmails": "{{count}} e-mails verzonden",
        "loseAccess": "Na je trial verlies je toegang tot:",
        "loseCalendarSync": "Tweerichtings agenda-synchronisatie",
        "loseRoute": "Route-optimalisatie & Smart Suggestions",
        "loseReminders": "Automatische herinneringen",
        "loseInvoicing": "Facturatie & km-registratie",
        "cta": "Met het Solo-plan (€24,50/mnd) houd je alles, of upgrade naar Pro (€39,50/mnd) voor de volledige ervaring.",
        "ctaButton": "Bekijk abonnementen",
        "footer": "Jouw data blijft altijd veilig bewaard, ook als je (nog) niet upgradet."
      },
      "day25": {
        "subject": "⏳ Nog 5 dagen — je PianoPlanner trial loopt bijna af",
        "greeting": "Hoi {{name}},",
        "body": "Over 5 dagen verloopt je proefperiode en verlies je toegang tot de Pro-functies die je nu gebruikt.",
        "warning": "Route-optimalisatie, herinneringen, agenda-sync en facturatie zijn straks niet meer beschikbaar in het gratis plan.",
        "cta": "Upgrade nu en houd alles wat je hebt opgebouwd.",
        "ctaButton": "Nu upgraden — vanaf €24,50/mnd",
        "footer": "Jouw data blijft altijd veilig bewaard, ook als je (nog) niet upgradet."
      },
      "day28": {
        "subject": "🔔 Nog 2 dagen — je PianoPlanner Pro-toegang stopt bijna",
        "greeting": "Hoi {{name}},",
        "body": "Overmorgen verloopt je proefperiode.",
        "warning": "Je verliest dan direct toegang tot route-optimalisatie, agenda-synchronisatie, facturatie en automatische herinneringen.",
        "dataSafe": "Je data ({{customers}} klanten, {{pianos}} piano's) blijft veilig bewaard. Je kunt altijd upgraden om alles weer te activeren.",
        "cta": "Upgrade nu — je hebt nog maar 2 dagen om je Pro-functies te behouden.",
        "ctaButton": "Nu upgraden",
        "footer": "Jouw data blijft altijd veilig bewaard, ook als je niet upgradet."
      },
      "expired": {
        "subject": "Je PianoPlanner trial is verlopen",
        "greeting": "Hoi {{name}},",
        "body": "Je 30 dagen proefperiode is afgelopen. Je account schakelt nu over naar het gratis plan.",
        "whatChanges": "Wat verandert er?",
        "noRoute": "Geen route-optimalisatie",
        "noSync": "Geen agenda-synchronisatie",
        "noReminders": "Geen automatische herinneringen",
        "noInvoicing": "Geen facturatie",
        "dataSafe": "Je data ({{customers}} klanten, {{pianos}} piano's) is veilig",
        "freeLimit": "Tot 25 klanten en 50 afspraken/jaar in het gratis plan",
        "cta": "Upgrade op elk moment om direct weer alle functies te activeren.",
        "ctaButton": "Upgrade nu",
        "footer": "Je data is veilig. Je kunt altijd upgraden wanneer je er klaar voor bent."
      },
      "lastchance": {
        "subject": "We missen je! Kom terug naar PianoPlanner 🎹",
        "greeting": "Hoi {{name}},",
        "body": "Het is een week geleden dat je trial is verlopen. We hopen dat je PianoPlanner een fijne ervaring vond!",
        "dataWaiting": "Je hebt {{customers}} klanten en {{pianos}} piano's in je account staan. Die data wacht op je.",
        "tip": "Met het Solo-plan (€24,50/mnd) heb je alles wat je nodig hebt: onbeperkte klanten, route-optimalisatie en automatische herinneringen.",
        "cta": "Upgrade vandaag en krijg direct weer toegang tot alle functies.",
        "ctaButton": "Terug naar PianoPlanner",
        "footer": "Dit is de laatste herinnering die we sturen. Je kunt altijd zelf upgraden via billing."
      },
      "banner": {
        "welcomeDays": "Welkom! Je hebt nog {{days}} dagen om alles te ontdekken",
        "daysLeft": "Nog {{days}} dagen in je trial — upgrade om alles te behouden",
        "endingSoon": "Nog {{days}} dag(en) — je Pro-toegang stopt bijna!",
        "expired": "Je trial is verlopen — upgrade om alle functies terug te krijgen",
        "freePlan": "Gratis plan — upgrade voor route-optimalisatie, agenda-sync en meer",
        "viewPlans": "Bekijk plannen",
        "upgradeNow": "Nu upgraden",
        "upgrade": "Upgrade nu"
      }
    },
    "invoiceEmail": {
      "payButton": "💳 Nu betalen",
      "paySecure": "Betaal veilig via iDEAL / Wero, creditcard of andere methoden",
      "bookingButton": "Plan uw volgende afspraak",
      "bookingHint": "Gebruik uw persoonlijke link om eenvoudig uw volgende stembeurt in te plannen"
    },
    "variableDescriptions": {
      "customerName": "Naam van de klant",
      "customerEmail": "Email van de klant",
      "customerPhone": "Telefoon van de klant",
      "customerAddress": "Adres van de klant",
      "date": "Datum van de afspraak",
      "time": "Tijd van de afspraak",
      "service": "Naam van de dienst",
      "location": "Locatie/adres van afspraak",
      "notes": "Opmerkingen/notities",
      "pianoBrand": "Merk van de piano (bijv. Steinway)",
      "pianoModel": "Model van de piano",
      "pianoSerial": "Serienummer van de piano",
      "pianoBuildYear": "Bouwjaar van de piano",
      "pianoType": "Type (vleugel/piano)",
      "pianoColor": "Kleur/afwerking van de piano",
      "pianoLocation": "Locatie van de piano (bijv. woonkamer)",
      "lastTuning": "Datum van laatste stembeurt",
      "daysSinceTuning": "Aantal dagen sinds laatste stembeurt",
      "monthsSinceTuning": "Aantal maanden sinds laatste stembeurt",
      "serviceInterval": "Aanbevolen steminterval in maanden",
      "bookingLink": "Persoonlijke boekingslink van de klant",
      "reminderNumber": "Volgnummer van de herinnering (1, 2, 3...)",
      "unsubscribeLink": "Link om uit te schrijven voor herinneringen",
      "companyName": "Uw bedrijfsnaam",
      "companyLogo": "Uw bedrijfslogo (als afbeelding)",
      "companyAddress": "Uw bedrijfsadres",
      "companyPhone": "Uw telefoonnummer",
      "companyEmail": "Uw email adres"
    },
    "tabs": {
      "confirmation": "Bevestiging",
      "reminder": "Herinnering",
      "cancellation": "Annulering",
      "newBooking": "Nieuwe Boeking",
      "invitation": "Uitnodiging"
    },
    "modeVisual": "🎨 Visueel",
    "modeHtml": "</> HTML",
    "editTemplate": "Template Bewerken",
    "editorMode": "Bewerkingsmodus:",
    "varAll": "Alle",
    "varCustomer": "Klant",
    "varAppointment": "Afspraak",
    "varPiano": "Piano",
    "varInvitation": "Uitnodiging",
    "varCompany": "Bedrijf",
    "resetDefault": "Reset naar Standaard",
    "sendTest": "Test Versturen"
  },
  "support": {
    "pageTitle": "Support - PianoPlanner",
    "title": "Support",
    "subtitle": "Meld een probleem of stel een vraag",
    "backToDashboard": "Terug naar Dashboard",
    "subjectLabel": "Onderwerp",
    "subjectPlaceholder": "Korte beschrijving van het probleem",
    "typeLabel": "Type melding",
    "typeBug": "🐛 Bug / Fout",
    "typeQuestion": "❓ Vraag",
    "typeFeature": "💡 Feature verzoek",
    "typeOther": "📋 Overig",
    "priorityLabel": "Prioriteit",
    "priorityLow": "Laag",
    "priorityMedium": "Gemiddeld",
    "priorityHigh": "Hoog",
    "descriptionLabel": "Beschrijving",
    "descriptionPlaceholder": "Beschrijf het probleem zo gedetailleerd mogelijk. Wat deed je? Wat verwachtte je? Wat gebeurde er?",
    "descriptionHint": "Tip: Hoe meer details, hoe sneller we je kunnen helpen",
    "screenshotsLabel": "Screenshots (optioneel)",
    "dropFilesHere": "Sleep bestanden hierheen of",
    "browse": "blader",
    "fileLimit": "Max 5 bestanden, elk max 5 MB (afbeeldingen of PDF)",
    "submitButton": "Verstuur melding",
    "thankYou": "Bedankt voor je melding!",
    "successMessage": "We hebben je bericht ontvangen en nemen zo snel mogelijk contact met je op.",
    "sending": "Versturen...",
    "sendFailed": "Versturen mislukt",
    "sendError": "Fout bij versturen: ",
    "maxFilesError": "Maximaal 5 bestanden toegestaan",
    "fileTooLarge": "{file} is te groot (max 5 MB)",
    "invalidFileType": "{file} is geen afbeelding of PDF"
  },
  "cookieBanner": {
    "message": "Wij gebruiken cookies om je ervaring te verbeteren. Door deze site te blijven gebruiken, ga je akkoord met ons",
    "privacyLink": "Privacybeleid",
    "accept": "Accepteren",
    "decline": "Weigeren"
  },
  "pwaLauncher": {
    "subtitle": "Jouw pianobedrijf",
    "agenda": "Agenda",
    "customers": "Klanten",
    "pianos": "Piano's",
    "smartAppointment": "Slimme Afspraak",
    "sync": "Synchroniseren",
    "shareLink": "Deel Link",
    "loading": "Gegevens ophalen...",
    "login": "Inloggen",
    "loginSubtitle": "Log in om te synchroniseren",
    "teams": "Teams"
  },
  "creator": {
    "pageTitle": "Over de Maker - PianoPlanner",
    "heroTitle": "Passie voor Piano's, Precisie in Planning",
    "heroSubtitle": "Het verhaal achter PianoPlanner",
    "heroIntro": "Jullie kennen mij waarschijnlijk als collega uit het vak. Iemand die met een stemhamer en luisterend oor bij de klant over de vloer komt. Maar wat niet iedereen weet, is dat ik naast de pianotechniek al mijn hele leven een tweede grote liefde heb: automatisering en cijfers.",
    "beginTitle": "Het Begin",
    "beginText": "PianoPlanner is niet zomaar ontstaan; het is de optelsom van jarenlange frustratie over bestaande software én een levenslange passie voor programmeren.",
    "codeTitle": "Van kaartenbak naar code",
    "codeText1": "Die liefde voor techniek begon vroeg. Als puber zat ik al nachtenlang BASIC te programmeren op een ZX Spectrum. Later, gewapend met mijn eerste Tulip PC, schreef ik mijn eerste 'echte' software: een digitaal klantenbestand voor mijn vader.",
    "codeText2": "In mijn jeugdige enthousiasme gooide ik vervolgens zijn fysieke kaartenbak weg, tot grote schrik van mijn vader! Uiteindelijk heb ik alles netjes voor hem uitgeprint op de naaldprinter, maar de toon was gezet: ik wilde zaken efficiënter, sneller en beter organiseren.",
    "whyTitle": "Waarom ik PianoPlanner bouwde",
    "whyText1": "In mijn eigen praktijk liep ik jarenlang tegen muren op. Ik werkte met Amerikaanse software die onze markt net niet begreep, of ik was aan het jongleren met drie verschillende apps voor agenda, facturatie en routes. Ik dacht: \"Dit moet slimmer kunnen.\"",
    "whyText2": "Ik heb een grote interesse in alles wat met bedrijfscijfers te maken heeft (we weten allemaal hoe complex de margeregeling kan zijn). Ik wilde software die niet alleen plant, maar die ook meedenkt over mijn bedrijfsvoering.",
    "whyText3": "Toen ik besloot om de ultieme agenda zelf te bouwen, stond ik er niet alleen voor. Ik ben met mijn kunnen en de adviezen van mijn kinderen en bonuskinderen aan de slag gegaan. De één afgestudeerd ICT'er aan de HAN. De ander Game Developer & Sound Designer, afgestudeerd aan de HKU. Met mijn ervaring in het vak en hun kennis van de nieuwste technologie (en AI), hebben we PianoPlanner ontwikkeld.",
    "smartTitle": "Smart Appointments",
    "smartText": "De kern van PianoPlanner is simpel: ik wil in één oogopslag zien of ik geld verdien of tijd verlies. Ook wil ik niet te veel in de auto zitten en effectief omgaan met mijn tijd. Daarom hebben we Smart Appointments ontwikkeld.",
    "colorGreen": "Groen = Past perfect in je route",
    "colorOrange": "Oranje = Let op reistijd",
    "colorRed": "Rood = Inefficiënt, zonde van je tijd",
    "nlTitle": "Gewoon in Nederland",
    "nlText1": "In tegenstelling tot de grote Amerikaanse partijen, geloof ik in lokale kracht. PianoPlanner is een onafhankelijk initiatief. Je data wordt veilig en versleuteld opgeslagen op Nederlandse servers, volledig volgens de privacywetgeving.",
    "nlText2": "Ik ben trots op wat we hebben neergezet. Een systeem vóór pianostemmers, dóór een pianostemmer.",
    "signatureGreeting": "Ik nodig je van harte uit om het zelf te ervaren.",
    "signatureBye": "Hartelijke groet,",
    "signatureName": "Edward Meijer",
    "signatureTitle": "PianoPlanner & Collega-pianotechnicus",
    "ctaTitle": "Probeer PianoPlanner zelf",
    "ctaText": "Start vandaag nog gratis en ontdek hoe slim plannen écht werkt.",
    "ctaButton": "Gratis starten",
    "aboutPianoPlanner": "Over PianoPlanner",
    "aboutCreator": "Over de Maker",
    "footerMade": "Gemaakt met liefde in Nederland"
  },
  "why": {
    "navPricing": "Prijzen",
    "navStart": "Aan de slag",
    "heroTitle": "Waarom Pianotechnici Kiezen voor PianoPlanner",
    "heroSubtitle": "Gebouwd door een pianotechnicus die genoeg had van inefficiënte planning. Dit maakt PianoPlanner anders dan Gazelle en andere software.",
    "uniqueTitle": "🏆 Features Die Niemand Anders Heeft",
    "badgeUnique": "Uniek",
    "badgeSmart": "Slim",
    "badgeVisual": "Visueel",
    "theaterTitle": "Theater Modus",
    "theaterDesc": "Concertzalen en theaters zijn beschikbaar wanneer jij normaal vrij bent - avonden en weekenden. PianoPlanner laat je aparte werkuren instellen voor deze speciale klanten.",
    "tripleCalTitle": "Triple Kalender Sync",
    "tripleCalDesc": "De enige piano-agenda app met two-way sync voor Google Calendar, Microsoft 365 EN Apple Calendar - tegelijk. Je privé-afspraken blokkeren automatisch beschikbaarheid.",
    "personalLinkTitle": "Persoonlijke Boekingslinks",
    "personalLinkDesc": "Elke klant krijgt een eigen unieke boekingslink met vooraf ingevulde gegevens: naam, adres, piano's, laatste stembeurt en steminterval.",
    "smartOriginTitle": "Slimme Route Berekening",
    "smartOriginDesc": "Reistijd wordt berekend vanaf je VORIGE afspraak, niet vanaf kantoor. Gecombineerd met data van al je kalenders (Google, Apple, Microsoft) voor accurate reistijden.",
    "routeColorsTitle": "Route Efficiëntie Kleuren",
    "routeColorsDesc": "Zie in één oogopslag of je dag efficiënt gepland is. Elke afspraak krijgt een kleur gebaseerd op reistijd vanaf de vorige.",
    "pianoLocTitle": "Piano ≠ Klant Locatie",
    "pianoLocDesc": "PianoPlanner begrijpt dat een piano ergens anders kan staan dan waar de klant woont. Reistijd wordt berekend naar de werkelijke locatie van de piano.",
    "compareTitle": "📊 Vergelijking",
    "compareSubtitle": "Zie hoe PianoPlanner zich verhoudt tot andere planning software voor pianotechnici.",
    "tableFeature": "Feature",
    "featureTarget": "Doelgroep",
    "featureTargetPP": "Pianotechnici",
    "featureTargetGZ": "Pianotechnici",
    "featureTargetSP": "CV-installateurs",
    "featureTheater": "Theater/Venue Uren",
    "featureGoogle": "Google Calendar",
    "featureMicrosoft": "Microsoft 365",
    "featureApple": "Apple Calendar",
    "featurePersonalLinks": "Persoonlijke Klantlinks",
    "featureRouteColors": "Route Efficiëntie Kleuren",
    "featureSmartOrigin": "Smart Origin (vanaf vorige afspraak)",
    "featurePianoLoc": "Piano Locatie Ondersteuning",
    "featureTuningReminders": "Automatische Stemherinneringen",
    "featureOffline": "Offline PWA App",
    "featureLanguages": "Talen",
    "featureServers": "Data Locatie",
    "featurePrice": "Startprijs",
    "featureFree": "Gratis Versie",
    "ownOnly": "Alleen eigen agenda",
    "nativeApp": "Native app",
    "serversEU": "Europa (AVG)",
    "serversUS": "Verenigde Staten",
    "serversNL": "Nederland",
    "free25": "25 klanten",
    "trial30": "30 dagen proef",
    "trial14": "14 dagen proef",
    "routeDemoTitle": "🚦 Route Efficiëntie in Één Oogopslag",
    "routeGreen": "<15 min reistijd - Efficiënt",
    "routeOrange": "15-30 min reistijd - Acceptabel",
    "routeRed": ">30 min reistijd - Overweeg verplaatsen",
    "ctaTitle": "Klaar om PianoPlanner te Proberen?",
    "ctaDesc": "Start gratis met maximaal 25 klanten. Geen creditcard nodig. Importeer je bestaande data van Gazelle of Excel in minuten.",
    "ctaButton": "Gratis Starten →",
    "footerMadeBy": "Gemaakt met ♥ in Tilburg, Nederland"
  },
  "footer": {
    "google": "Google Agenda",
    "microsoft": "Microsoft 365",
    "apple": "Apple Agenda",
    "offline": "Offline Modus",
    "push": "Push Notificaties",
    "languages": "4 Talen",
    "smtp": "Eigen SMTP",
    "route": "Route Planning",
    "navFeatures": "Functies",
    "navPricing": "Prijzen",
    "navWhy": "Waarom PianoPlanner",
    "navAbout": "Mijn Verhaal",
    "navLogin": "Inloggen",
    "navPrivacy": "Privacy",
    "navTerms": "Voorwaarden",
    "navContact": "Contact",
    "navDpa": "Verwerkersovereenkomst"
  },
  "gazelleMigration": {
    "title": "Gazelle Migratie",
    "subtitle": "Importeer al je gegevens van Gazelle naar PianoPlanner",
    "backToSettings": "← Terug naar Instellingen",
    "step": {
      "customers": "Klanten",
      "pianos": "Piano's",
      "appointments": "Afspraken",
      "cleanup": "Opschonen"
    },
    "status": {
      "notImported": "Niet geïmporteerd",
      "waiting": "Wachten...",
      "finalStep": "Laatste stap",
      "imported": "{{count}} geïmporteerd"
    },
    "step1": {
      "title": "Stap 1: Importeer Klanten",
      "desc": "Upload je Gazelle \"Clients.csv\" exportbestand. Klant-ID's worden bewaard voor het koppelen van piano's.",
      "dropTitle": "Sleep Gazelle Export: Clients.csv hierheen",
      "dropHint": "of klik om te bladeren"
    },
    "step2": {
      "title": "Stap 2: Importeer Piano's",
      "desc": "Upload je Gazelle \"Pianos.csv\" exportbestand. Piano's worden automatisch aan klanten gekoppeld.",
      "dropTitle": "Sleep Gazelle Export: Pianos.csv hierheen",
      "dropHint": "of klik om te bladeren",
      "linkInfoTitle": "Automatische Klantkoppeling",
      "linkInfoDesc": "Piano's worden gekoppeld aan klanten via het Originele ID in de klantnotities."
    },
    "step3": {
      "title": "Stap 3: Importeer Afspraken",
      "desc": "Upload je Gazelle \"Events.csv\" exportbestand om afspraakgeschiedenis te importeren.",
      "dropTitle": "Sleep Gazelle Export: Events.csv hierheen",
      "dropHint": "of klik om te bladeren",
      "warningTitle": "Alleen Historische Data",
      "warningDesc": "Dit importeert oude afspraken als referentie. Toekomstige afspraken maak je vers in PianoPlanner."
    },
    "step4": {
      "title": "Stap 4: Opschonen",
      "desc": "Verwijder import-metadata uit je records voor een schone start.",
      "warningTitle": "Let op: Dit is permanent!",
      "warningDesc": "Na opschonen kun je geen nieuwe Gazelle imports meer koppelen aan deze klanten. De Originele ID's zijn nodig om piano's en afspraken aan klanten te koppelen.",
      "warningNote": "Schoon alleen op als je 100% klaar bent met alle imports!",
      "whatRemoved": "Wat wordt verwijderd?",
      "whatRemovedDesc": "Alleen deze specifieke import-markeringen worden verwijderd:",
      "markerBatch": "Import Batch: imp_xxx",
      "markerClient": "Original ID: cli_xxx",
      "markerPiano": "Original Piano ID: ins_xxx",
      "markerEvent": "Original Event ID: evt_xxx",
      "notesPreserved": "Je eigen notities en opmerkingen blijven behouden!",
      "summaryTitle": "Import Samenvatting",
      "recordsWithMeta": "{{count}} records met import-metadata",
      "pending": "Wachtend",
      "done": "Klaar",
      "cleaningUp": "Bezig met opschonen...",
      "complete": "Migratie Voltooid!",
      "completeDesc": "Je gegevens zijn succesvol geïmporteerd vanuit Gazelle."
    },
    "stats": {
      "total": "Totaal",
      "active": "Actief",
      "inactive": "Inactief",
      "withEmail": "Met E-mail",
      "withCustomer": "Met Klant",
      "completed": "Voltooid",
      "canceled": "Geannuleerd"
    },
    "table": {
      "name": "Naam",
      "email": "E-mail",
      "phone": "Telefoon",
      "city": "Plaats",
      "status": "Status",
      "brand": "Merk",
      "model": "Model",
      "customer": "Klant",
      "type": "Type",
      "date": "Datum",
      "title": "Titel",
      "duration": "Duur"
    },
    "options": {
      "title": "Import Opties",
      "activeOnly": "Alleen actieve klanten importeren",
      "activeOnlyDesc": "Sla klanten over die als inactief zijn gemarkeerd in Gazelle",
      "skipDuplicates": "Duplicaten overslaan",
      "skipDuplicatesDesc": "Sla klanten over met e-mailadressen die al in je database staan",
      "cleanNotes": "Notities opschonen",
      "cleanNotesDesc": "Verwijder dubbele regels en merge-artefacten uit notities",
      "activeOnlyPianos": "Alleen actieve piano's importeren",
      "activeOnlyPianosDesc": "Sla piano's over die als inactief zijn gemarkeerd in Gazelle",
      "skipNoCustomer": "Overslaan als klant niet gevonden",
      "skipNoCustomerDesc": "Importeer alleen piano's die aan een bestaande klant gekoppeld kunnen worden",
      "completedOnly": "Alleen voltooide afspraken importeren",
      "completedOnlyDesc": "Sla geannuleerde en wachtende afspraken over",
      "skipNoCustomerEvents": "Overslaan als klant niet gevonden",
      "skipNoCustomerEventsDesc": "Importeer alleen afspraken die aan een bestaande klant gekoppeld kunnen worden"
    },
    "buttons": {
      "cancel": "Annuleren",
      "back": "← Terug",
      "importCustomers": "Importeer Klanten",
      "importPianos": "Importeer Piano's",
      "importAppointments": "Importeer Afspraken",
      "nextPianos": "Volgende: Piano's →",
      "nextAppointments": "Volgende: Afspraken →",
      "nextCleanup": "Volgende: Opschonen →",
      "skipStep": "Sla deze stap over",
      "skipFinish": "Overslaan & Voltooien",
      "cleanupNotes": "Notities Opschonen",
      "viewCustomers": "Bekijk Klanten",
      "viewPianos": "Bekijk Piano's",
      "goToDashboard": "Naar Dashboard"
    },
    "progress": {
      "importingCustomers": "Klanten worden geïmporteerd...",
      "importingPianos": "Piano's worden geïmporteerd...",
      "importingAppointments": "Afspraken worden geïmporteerd..."
    },
    "results": {
      "customersSuccess": "Klanten Succesvol Geïmporteerd!",
      "pianosSuccess": "Piano's Succesvol Geïmporteerd!",
      "appointmentsSuccess": "Afspraken Succesvol Geïmporteerd!",
      "importedSkipped": "{{imported}} geïmporteerd, {{skipped}} overgeslagen"
    },
    "confirm": {
      "title": "⚠️ BELANGRIJK: Deze actie is permanent!",
      "message": "Na opschonen kun je GEEN nieuwe Gazelle imports meer koppelen aan deze klanten.\n\nGa alleen verder als je 100% klaar bent met ALLE Gazelle imports.\n\nDoorgaan met opschonen?"
    }
  },
  "guide": {
    "title": "Handleiding",
    "subtitle": "Alles wat je moet weten om het meeste uit PianoPlanner te halen",
    "sidebar": {
      "gettingStarted": "Aan de slag",
      "firstSteps": "Eerste stappen",
      "businessDetails": "Bedrijfsgegevens",
      "workingHours": "Werkuren",
      "serviceArea": "Werkgebied",
      "routeEfficiency": "Route-efficiëntie",
      "calendarSync": "Agenda Synchronisatie",
      "googleCalendar": "Google Agenda",
      "microsoftCalendar": "Microsoft 365",
      "appleCalendar": "Apple Agenda",
      "switchCalendar": "Overstappen van kalender",
      "syncMethods": "Synchronisatiemethoden",
      "advancedSettings": "Geavanceerde instellingen",
      "customDomain": "Eigen e-maildomein",
      "emailTemplates": "E-mail templates",
      "tuningInvitations": "Stem uitnodigingen",
      "customerFeatures": "Klantfuncties",
      "bookingLink": "Boekingslink",
      "customerLink": "Persoonlijke links",
      "smartSuggestions": "Slimme suggesties",
      "routeAnalysis": "Route analyse",
      "theaterAvailability": "Theater beschikbaarheid",
      "pianoService": "Piano servicehistorie",
      "otherFeatures": "Overige functies",
      "slotDuration": "Tijdslot duur",
      "importData": "Data importeren",
      "privateAppointments": "Privé afspraken",
      "mileageTracking": "Kilometerregistratie",
      "calendarIntegration": "Agenda integratie",
      "dataManagement": "Gegevensbeheer",
      "emailSetup": "E-mail instellingen",
      "onlineBooking": "Online boeken",
      "pianosService": "Piano's & Service",
      "serviceHistory": "Servicehistorie",
      "workshopPlanning": "Werkplaats",
      "workshopSetup": "Werkplaats Planning",
      "walkInTasks": "Inloop & Taken",
      "projectPlanner": "Projectplanner",
      "dailyUse": "Dagelijks gebruik",
      "dashboard": "Dashboard & Agenda",
      "customers": "Klantenbeheer",
      "pianos": "Pianobeheer",
      "travelReport": "Reiskosten rapport",
      "invoicing": "Facturering",
      "invoicingSetup": "Factuur instellen",
      "invoicingCreate": "Facturen aanmaken",
      "invoicingMobile": "Factureren op mobiel",
      "invoicingBtw": "BTW afhandeling",
      "autoTuningReminders": "Automatische Herinneringen",
      "accountingIntegration": "Boekhoudkoppeling",
      "smartFill": "Route Vullen",
      "servicesConfig": "Diensten",
      "reschedule": "Herplannen",
      "routeOptimizer": "Route Optimizer",
      "qrCode": "QR Code",
      "mobileApp": "Mobiele App",
      "pwaInstall": "App Installeren",
      "pushNotifications": "Push Notificaties",
      "molliePayments": "Online Betalingen",
      "accountSection": "Account",
      "subscription": "Abonnement",
      "teams": "Teams",
      "streamlineDay": "Dag stroomlijnen",
      "trafficPrediction": "Verkeersprognose",
      "invoiceBookingLink": "Boekingslink in facturen",
      "inventory": "Magazijn",
      "ublEinvoicing": "UBL / e-Facturatie",
      "blockedDays": "Geblokkeerde dagen",
      "languageSettings": "Taal",
      "tunerPortal": "Stemmersportaal",
      "leads": "Leads beheren"
    },
    "common": {
      "tip": "Tip",
      "important": "Belangrijk",
      "yes": "Ja"
    },
    "firstSteps": {
      "title": "Eerste stappen",
      "intro": "Welkom bij PianoPlanner! Deze gids helpt je snel aan de slag. Begin met deze essentiële instellingen, dan ben je binnen enkele minuten klaar om je eerste afspraak te boeken.",
      "recommendedOrder": "Aanbevolen volgorde",
      "orderList": "1. Bedrijfsgegevens → 2. Werkuren → 3. Werkgebied → 4. Agenda → 5. E-mail → 6. Boekingslink",
      "configureText": "Neem de tijd om alles goed in te stellen. Dit bespaart je later werk en zorgt ervoor dat:",
      "benefit1": "Reistijden correct worden berekend",
      "benefit2": "Klanten alleen kunnen boeken wanneer jij beschikbaar bent",
      "benefit3": "E-mails er professioneel uitzien met je eigen gegevens",
      "benefit4": "Afspraken automatisch in je agenda verschijnen",
      "quickStartTitle": "Snel starten (5 minuten)",
      "quickStart1": "Bedrijfsgegevens - Je naam en adres voor bevestigingen",
      "quickStart2": "Werkuren - Wanneer kunnen klanten boeken?",
      "quickStart3": "Diensten - Wat bied je aan? (Stemmen, regulatie, etc.)",
      "quickStart4": "Je eerste klant - Voeg er een toe en probeer het zelf",
      "settingsTitle": "Vind de instellingen",
      "settingsText": "Alles wat je moet configureren vind je in Instellingen (het tandwiel ⚙️ in het menu). Hieronder helpen we je stap voor stap.",
      "onboardingTip": "Gebruik de Onboarding Wizard (Instellingen → Onboarding) om stap voor stap door de belangrijkste instellingen geleid te worden."
    },
    "businessDetails": {
      "title": "Bedrijfsgegevens",
      "intro": "Je bedrijfsgegevens verschijnen in e-mailbevestigingen en op je boekingspagina. Vul deze correct in zodat klanten precies weten wie je bent.",
      "whatToFillTitle": "Wat moet je invullen?",
      "whatToFillText": "In Instellingen → Bedrijf vind je de volgende velden:",
      "field1": "Bedrijfsnaam - Je officiële bedrijfsnaam",
      "field2": "Adres - Je vestigingsadres (gebruikt voor routeberekening)",
      "field3": "Telefoonnummer - Waar klanten je kunnen bereiken",
      "field4": "E-mailadres - Voor bevestigingen (kan later je eigen domein zijn)",
      "field5": "Logo - Upload je logo voor een professionele uitstraling",
      "whyImportantTitle": "Waarom is dit belangrijk?",
      "whyImportantText": "Je adres wordt gebruikt als startpunt voor routeberekeningen. Als een klant dichtbij woont, ziet het systeem dit en kan het slimmere suggesties doen. Je bedrijfsnaam en logo verschijnen op elke e-mail die je verstuurt.",
      "tipText": "Je kunt je gegevens later altijd aanpassen. Begin met de basis en verfijn het naarmate je meer ervaring opdoet.",
      "howToSetup": "Hoe stel je je bedrijfsgegevens in?",
      "step1Title": "Ga naar Instellingen",
      "step1Text": "Klik op Instellingen in het menu, of ga direct naar het tabblad 'Bedrijf'.",
      "step2Title": "Vul je gegevens in",
      "step2Text": "Bedrijfsnaam, je naam, e-mail, telefoon en volledig adres. Gebruik Google Maps suggesties voor een exact adres.",
      "step3Title": "Upload je logo (optioneel)",
      "step3Text": "Je logo verschijnt op de boekingspagina en in e-mails.",
      "step4Title": "Controleer je adres",
      "step4Text": "Zorg dat je adres correct is - dit wordt gebruikt voor reistijdberekeningen.",
      "step5Title": "Opslaan",
      "step5Text": "Klik op Opslaan om je gegevens te bewaren.",
      "warning": "Zonder correct adres kunnen reistijden niet berekend worden. Vul dit eerst in!"
    },
    "workingHours": {
      "title": "Werkuren instellen",
      "intro": "Je werkuren bepalen wanneer klanten afspraken kunnen boeken. Het systeem toont alleen tijdslots binnen deze uren.",
      "whereToFindTitle": "Waar vind je dit?",
      "whereToFindText": "Ga naar Instellingen → Bedrijf en scroll naar \"Beschikbaarheid\".",
      "howToSetTitle": "Hoe stel je het in?",
      "howToSetItem1": "Klik op een dag om deze aan of uit te zetten",
      "howToSetItem2": "Stel de begin- en eindtijd in per dag",
      "howToSetItem3": "Gebruik verschillende tijden voor verschillende dagen (bijv. woensdag korter)",
      "exampleTitle": "Voorbeeld",
      "exampleText": "De meeste pianotechnici werken maandag-vrijdag van 9:00 tot 17:00. Zaterdag is optioneel. Zondag meestal uit.",
      "importantTitle": "Belangrijke tips",
      "importantItem1": "Houd rekening met reistijd - plan niet te krap",
      "importantItem2": "Lunchpauze? Het systeem vermijdt automatisch tijden rond 12:00-13:00 tenzij je dit uitschakelt",
      "importantItem3": "Theaters? Stel aparte \"Theater beschikbaarheid\" in (zie sectie hieronder)",
      "bufferAfter": "Buffer na afspraak",
      "bufferAfterDesc": "Extra tijd na een afspraak voor notities of onverwachte vertraging",
      "bufferAfterRec": "15 minuten aanbevolen",
      "bufferBefore": "Buffer voor afspraak",
      "bufferBeforeDesc": "Minimale tijd tussen boeken en de afspraak",
      "bufferBeforeRec": "2 dagen aanbevolen voor planning",
      "bufferType": "Buffer type",
      "buffersText": "Buffers helpen je om tijd te houden tussen afspraken en te voorkomen dat klanten te last-minute boeken.",
      "daysAndTimes": "Dagen en tijden",
      "daysAndTimesText": "Selecteer de dagen waarop je werkt en stel per dag de begin- en eindtijd in.",
      "minBookingTime": "Minimale boekingstijd",
      "minBookingTimeDesc": "Hoe ver van tevoren moeten klanten minimaal boeken?",
      "minBookingTimeRec": "2 dagen geeft je tijd om te plannen",
      "option1": "Optie 1: Vaste tijden elke dag",
      "option2": "Optie 2: Verschillende tijden per dag",
      "option3": "Optie 3: Sommige dagen vrij",
      "recommended": "Aanbevolen",
      "settingBuffers": "Buffers instellen",
      "tipText": "Begin met ruime werkuren en beperk later als je merkt dat bepaalde tijden niet werken.",
      "whatDoesItDo": "Wat doet dit?"
    },
    "serviceArea": {
      "title": "Werkgebied instellen",
      "intro": "Je werkgebied bepaalt hoever je bereid bent te rijden voor afspraken. Dit helpt het systeem om slimme suggesties te doen en voorkomt boekingen die te ver weg zijn.",
      "howItWorksTitle": "Hoe werkt het?",
      "howItWorksText": "Stel een maximale reisafstand in (bijv. 50 km). Het systeem:",
      "howItWorks1": "Filtert boekingsverzoeken buiten je gebied",
      "howItWorks2": "Geeft prioriteit aan klanten dicht bij elkaar",
      "howItWorks3": "Berekent reistijd voor routeoptimalisatie",
      "settingTitle": "Instellen",
      "step1Title": "Ga naar Instellingen → Bedrijf",
      "step1Text": "Scroll naar de sectie \"Werkgebied\".",
      "step2Title": "Kies je maximale afstand",
      "step2Text": "Selecteer hoeveel kilometer je maximaal wilt rijden. Standaard is 50 km.",
      "step3Title": "Optioneel: Stel postcodegebieden in",
      "step3Text": "Je kunt ook specifieke postcodegebieden opgeven waar je werkt.",
      "tipText": "Begin ruim (bijv. 75 km) en beperk later als je te veel aanvragen krijgt van ver weg.",
      "extraOption": "Extra optie",
      "extraOptionText": "Je kunt ook specifieke postcodegebieden uitsluiten als je bepaalde gebieden niet wilt bedienen.",
      "howToSet": "Hoe stel je je werkgebied in?",
      "step4Title": "4. Opslaan",
      "step4Text": "Klik op Opslaan. Het systeem houdt nu rekening met je werkgebied bij boekingen en suggesties."
    },
    "dashboard": {
      "sectionTitle": "Dashboard & Agenda",
      "intro": "Het dashboard is je centrale werkplek. Hier vind je je agenda, dagoverzicht, snelle acties en handige widgets — alles wat je nodig hebt voor een productieve werkdag.",
      "layoutTitle": "Dashboard indeling",
      "layoutText": "Je dashboard is verdeeld in drie kolommen: een linkerpaneel met snelle overzichten, de agenda in het midden, en een rechterpaneel met statistieken en widgets.",
      "leftPanelTitle": "Linkerpaneel",
      "leftMiniCal": "Mini-kalender — snel navigeren tussen datums",
      "leftTrafficLights": "Stoplichten — dagstatus in één oogopslag (klaar, bezig, te doen)",
      "leftCurrentAppt": "Lopende afspraak — toont de afspraak waar je nu aan werkt",
      "leftUpcoming": "Vandaag nog — snelle lijst van resterende afspraken",
      "leftPending": "Af te werken — afspraken die nog follow-up nodig hebben",
      "calendarTitle": "Agenda",
      "calendarText": "Schakel tussen dag-, week- en maandweergave. Klik op een tijdslot om een nieuwe afspraak te maken. Sleep afspraken om ze te verplaatsen. Dubbelklik om te bewerken.",
      "calendarDrag": "Drag & drop — verplaats afspraken naar een ander tijdstip of dag",
      "calendarResize": "Formaat wijzigen — sleep de onderrand van een afspraak om de duur aan te passen",
      "calendarRoute": "Route-knop — bereken reistijden en kleurcodeer je afspraken",
      "calendarFilters": "Filters — toon/verberg afspraaktypes (buitendienst, werkplaats, privé)",
      "rightPanelTitle": "Rechterpaneel",
      "rightToday": "Afspraken van vandaag met klantgegevens",
      "rightUpcoming": "Komende afspraken voor de volgende dagen",
      "rightWorkshop": "Werkplaats / buitendienst statistieken van de dag",
      "rightMileage": "Km-widget — maandoverzicht en snel ritten toevoegen (Pro)",
      "createApptTitle": "Afspraak aanmaken",
      "createStep1Title": "Klik op een tijdslot of druk op +",
      "createStep1Text": "Klik op een tijd in de agenda, of gebruik de + knop rechtsonder.",
      "createStep2Title": "Selecteer een klant",
      "createStep2Text": "Zoek een bestaande klant of maak er direct een nieuwe aan.",
      "createStep3Title": "Kies locatietype",
      "createStep3Text": "Selecteer 'Bij klant' voor afspraken op locatie of 'Werkplaats' voor werkplaatsuren.",
      "createStep4Title": "Kies een piano (optioneel)",
      "createStep4Text": "Smart Pick markeert piano's die aan onderhoud toe zijn met een gele gloed. Klik om te selecteren.",
      "createStep5Title": "Stel tijd & duur in, dan opslaan",
      "createStep5Text": "Pas de tijd en duur aan indien nodig. Klik op Opslaan — de afspraak verschijnt in je agenda.",
      "smartPickTitle": "Smart Pick",
      "smartPickText": "Piano's met een gele gloed worden aanbevolen door Smart Pick. Het houdt rekening met steminterval, laatste servicebeurt en seizoen om te suggereren welke piano's aandacht nodig hebben.",
      "tipText": "Gebruik weekweergave voor planningsoverzicht en dagweergave voor gedetailleerd plannen. De agenda onthoudt je voorkeur.",
      "completeTitle": "Afspraken afwerken",
      "completeIntro": "Na een klantenbezoek markeer je de afspraak als afgewerkt. Dit werkt automatisch de stemgeschiedenis van de piano bij.",
      "pendingWidgetTitle": "Het \"Af te werken\" widget",
      "pendingWidgetText": "Het linkerpaneel toont een \"Af te werken\" lijst met afspraken die al voorbij zijn maar nog niet als afgewerkt zijn gemarkeerd. Gebruik de filterknoppen (7d, 30d, 90d, Alles) om verder terug te kijken.",
      "completeStep1Title": "Klik op het groene vinkje",
      "completeStep1Text": "Naast elke openstaande afspraak klik je op het groene vinkje om het afwerkdialoog te openen.",
      "completeStep2Title": "Stemdatum bijwerken",
      "completeStep2Text": "Het vakje \"Stemming bijwerken\" staat standaard aan. Dit zet de laatste stemdatum van de piano op vandaag. Vink het uit als het bezoek geen stemming was (bijv. een offerte of inspectie).",
      "completeStep3Title": "Betaalmethode kiezen",
      "completeStep3Text": "Selecteer hoe de klant heeft betaald: factuur, pin, contant, later of geen betaling. Dit wordt opgeslagen voor toekomstig gebruik.",
      "completeStep4Title": "Klik op \"Afwerken\"",
      "completeStep4Text": "De afspraak wordt als afgewerkt gemarkeerd, de stemgeschiedenis van de piano wordt bijgewerkt en hij verdwijnt uit de af te werken lijst.",
      "bulkCompleteTitle": "Meerdere afspraken tegelijk afwerken",
      "bulkCompleteText": "Als je veel openstaande afspraken hebt (bijv. na een vakantie of import), gebruik dan de knop \"Alles afwerken\" onderaan de af te werken lijst. Dit markeert alle zichtbare afspraken als afgewerkt en werkt alle gekoppelde piano-stemdatums bij in één klik. Er verschijnt eerst een bevestigingsdialoog.",
      "pianoLinkWarning": "Selecteer altijd een piano bij het aanmaken van een afspraak. Zonder gekoppelde piano gebruikt het systeem de eerste piano van de klant als terugval — wat mogelijk niet de juiste is bij klanten met meerdere instrumenten."
    },
    "customers": {
      "title": "Klantenbeheer",
      "intro": "Beheer al je klantgegevens op één plek. Voeg klanten toe, koppel piano's, volg servicehistorie en stuur professionele e-mails — allemaal vanuit één overzicht.",
      "addTitle": "Klant toevoegen",
      "addStep1Title": "Ga naar Klanten",
      "addStep1Text": "Klik op \"Klanten\" in het navigatiemenu om het klantenoverzicht te openen.",
      "addStep2Title": "Klik op + Nieuwe klant",
      "addStep2Text": "Vul naam, adres, e-mail en telefoon in. Het adres wordt gebruikt voor reistijdberekeningen.",
      "addStep3Title": "Voeg notities toe (optioneel)",
      "addStep3Text": "Voeg parkeerinstructies, poortcodes of speciale wensen toe. Deze notities verschijnen bij het aanmaken van afspraken.",
      "detailTitle": "Klant-detailpagina",
      "detailText": "Klik op een klant om het volledige profiel te zien. Hier vind je:",
      "detailPianos": "Alle gekoppelde piano's met servicestatus",
      "detailHistory": "Volledige afspraakhistorie",
      "detailBooking": "Persoonlijke boekingslink om te delen met de klant",
      "detailInvite": "Stem-uitnodigingen direct versturen",
      "detailNotes": "Contactgegevens en notities",
      "searchTitle": "Zoeken & filteren",
      "searchText": "Gebruik de zoekbalk om snel klanten te vinden op naam, e-mail, stad of telefoonnummer. De lijst wordt bijgewerkt terwijl je typt.",
      "tip": "Je kunt ook nieuwe klanten direct toevoegen bij het aanmaken van een afspraak. Typ de naam in het klantveld en klik op '+ Nieuwe klant aanmaken'.",
      "duplicatesTitle": "Duplicaatdetectie",
      "duplicatesIntro": "PianoPlanner detecteert automatisch mogelijke duplicaten in je klantenbestand op basis van naam, e-mail, telefoonnummer en adres. Er wordt fuzzy matching (Levenshtein-algoritme) gebruikt, waardoor ook kleine typfouten worden herkend.",
      "dupStep1Title": "Open Duplicaten",
      "dupStep1Text": "Ga naar Klanten en klik op de knop \"Duplicaten\" om alle gedetecteerde duplicaatparen te zien.",
      "dupStep2Title": "Bekijk matches",
      "dupStep2Text": "Elk paar toont de overeenkomende velden en een gelijkenisscore. Fuzzy matches worden aangegeven met een badge.",
      "dupStep3Title": "Klanten samenvoegen",
      "dupStep3Text": "Klik op \"Samenvoegen\" om twee klantprofielen te combineren. Alle piano's, afspraken, facturen, notities en servicegeschiedenis worden in één transactie overgedragen.",
      "mergeUndoTip": "Van gedachten veranderd? Je kunt een samenvoeging tot 30 dagen ongedaan maken via Klanten → Merge-geschiedenis."
    },
    "pianos": {
      "title": "Pianobeheer",
      "intro": "Houd elke piano bij die je stemt of onderhoudt. Leg merk, model, serienummer, bouwjaar en conditie vast. Koppel piano's aan klanten en houd een complete servicehistorie bij.",
      "addTitle": "Piano toevoegen",
      "addStep1Title": "Ga naar Piano's",
      "addStep1Text": "Klik op \"Piano's\" in het navigatiemenu, klik dan op \"+ Nieuwe piano\".",
      "addStep2Title": "Koppel aan een klant",
      "addStep2Text": "Selecteer de klant die deze piano bezit. De piano verschijnt op diens detailpagina.",
      "addStep3Title": "Vul pianogegevens in",
      "addStep3Text": "Merk, model, serienummer, bouwjaar, type (vleugel/piano/digitaal) en locatie in het huis.",
      "addStep4Title": "Stel het steminterval in",
      "addStep4Text": "Kies hoe vaak deze piano gestemd moet worden: elke 3, 6 of 12 maanden, of 0 als de klant zelf contact opneemt.",
      "detailTitle": "Piano-detailpagina",
      "detailInfo": "Volledige pianospecificaties en conditienotities",
      "detailService": "Servicehistorie — alle eerdere afspraken en stembeurten",
      "detailStatus": "Servicestatus-indicator: op schema, bijna aan de beurt, of achterstallig",
      "detailPhotos": "Foto's — upload afbeeldingen van de piano ter referentie",
      "serviceIntervalTitle": "Stemintervallen uitgelegd",
      "intervalHeader": "Interval",
      "meaningHeader": "Betekenis",
      "interval0": "Klant neemt zelf contact op — geen automatische herinneringen",
      "interval3": "Elke 3 maanden — voor concertvleugels of intensief gebruik",
      "interval6": "Elke 6 maanden — standaard voor de meeste piano's",
      "interval12": "Jaarlijks — voor piano's met licht gebruik",
      "smartPickTitle": "Smart Pick gebruikt deze intervallen",
      "smartPickText": "Bij het aanmaken van een afspraak markeert Smart Pick automatisch piano's die aan onderhoud toe zijn, gebaseerd op het ingestelde interval en de laatste servicebeurt."
    },
    "routeEfficiency": {
      "title": "Route-efficiëntie begrijpen",
      "intro": "PianoPlanner toont je hoe efficiënt je planning is met een kleursysteem. Zo zie je in één oogopslag of je dag goed gepland is.",
      "colorsTitle": "De kleuren",
      "colorGreen": "Groen - Uitstekend! Korte reistijd, efficiënte route",
      "colorOrange": "Oranje - Acceptabel, maar er is ruimte voor verbetering",
      "colorRed": "Rood - Lange reistijd, overweeg om te herplannen",
      "whereToSeeTitle": "Waar zie je dit?",
      "whereToSeeText": "Op het dashboard zie je bij elke afspraak een klein kleurindicator. Bekijk je dag- of weekoverzicht om patronen te herkennen.",
      "tipsTitle": "Tips voor betere routes",
      "tip1": "Plan afspraken in dezelfde regio op dezelfde dag",
      "tip2": "Gebruik de slimme suggesties - ze houden rekening met je bestaande afspraken",
      "tip3": "Bekijk de kaartweergave om je afspraken geografisch te zien",
      "blueTitle": "🔵 Standaard",
      "blueText": "Geen reistijddata beschikbaar - reistijd is niet berekend",
      "calcStep1Title": "Automatische berekening",
      "calcStep1Text": "Bij het aanmaken van een afspraak berekent PianoPlanner automatisch de reistijd vanaf je vorige locatie.",
      "calcStep2Title": "Kleurcodering",
      "calcStep2Text": "De kleur geeft aan hoe efficiënt de reis is vergeleken met je ingestelde limieten.",
      "calculateTravel": "Hoe wordt reistijd berekend?",
      "colorLegend": "Kleurlegenda",
      "customizeLimits": "Limieten aanpassen",
      "customizeLimitsText": "Je kunt de reistijd-drempels aanpassen in Instellingen → Bedrijf. Stel in wat voor jou 'kort', 'medium' en 'lang' betekent.",
      "greenTitle": "🟢 Groen",
      "greenText": "Korte reistijd - efficiënte planning!",
      "orangeTitle": "🟠 Oranje",
      "orangeText": "Gemiddelde reistijd - acceptabel maar kan beter",
      "redTitle": "🔴 Rood",
      "redText": "Lange reistijd - overweeg om te verplaatsen"
    },
    "googleCalendar": {
      "title": "Google Agenda koppelen",
      "intro": "Synchroniseer PianoPlanner met je Google Agenda voor twee-weg sync. Afspraken verschijnen in beide agenda's en updates worden automatisch gesynchroniseerd.",
      "step1Title": "1. Ga naar Instellingen → Integraties",
      "step1Text": "Open het instellingenmenu en klik op \"Integraties\" of \"Agenda Sync\".",
      "step2Title": "2. Klik op \"Koppel Google Agenda\"",
      "step2Text": "Je wordt doorgestuurd naar Google om in te loggen.",
      "step3Title": "3. Log in bij Google",
      "step3Text": "Gebruik het Google-account dat je wilt koppelen. Sta de gevraagde machtigingen toe.",
      "step4Title": "4. Selecteer je agenda",
      "step4Text": "Kies welke Google Agenda je wilt synchroniseren (meestal je hoofdagenda).",
      "step5Title": "5. Klaar!",
      "step5Text": "Nieuwe afspraken verschijnen nu automatisch in je Google Agenda.",
      "whatSyncsTitle": "Wat wordt gesynchroniseerd?",
      "whatSyncsText": "Nieuwe afspraken in PianoPlanner → Google Agenda, Wijzigingen in tijd/datum, Annuleringen (afspraak wordt verwijderd/gemarkeerd), Google Agenda events → PianoPlanner (blokkering)",
      "tipText": "Twee-weg sync betekent dat als je iets in Google blokkeert, PianoPlanner hier ook rekening mee houdt bij het tonen van beschikbare tijdslots.",
      "creatingConnection": "Verbinding maken",
      "description": "Beschrijving",
      "includeTravelTime": "Inclusief reistijd",
      "includeTravelTimeDesc": "Voeg automatisch reistijd toe aan agenda-events",
      "option": "Optie",
      "syncOptions": "Synchronisatie opties",
      "toGoogleOnly": "Alleen naar Google",
      "toGoogleOnlyDesc": "Afspraken worden alleen van PianoPlanner naar Google gestuurd",
      "twoWaySync": "Twee-weg synchronisatie",
      "twoWaySyncDesc": "Wijzigingen in beide agenda's worden gesynchroniseerd"
    },
    "microsoftCalendar": {
      "title": "Microsoft 365 koppelen",
      "intro": "Gebruik je Outlook of Microsoft 365? Koppel je agenda voor naadloze synchronisatie met PianoPlanner.",
      "step1Title": "1. Ga naar Instellingen → Integraties",
      "step1Text": "Open het instellingenmenu.",
      "step2Title": "2. Klik op \"Koppel Microsoft 365\"",
      "step2Text": "Je wordt doorgestuurd naar Microsoft om in te loggen.",
      "step3Title": "3. Log in met je Microsoft-account",
      "step3Text": "Dit kan een persoonlijk of zakelijk account zijn. Sta de machtigingen toe.",
      "step4Title": "4. Selecteer je agenda",
      "step4Text": "Kies welke Outlook-agenda je wilt gebruiken.",
      "step5Title": "5. Synchronisatie actief",
      "step5Text": "Je afspraken worden nu gesynchroniseerd.",
      "tipText": "Microsoft 365 Business-accounts kunnen extra goedkeuring van je IT-beheerder vereisen.",
      "connecting": "Verbinding maken",
      "need1": "Een Microsoft 365 of Outlook.com account",
      "need2": "Toegang tot je agenda",
      "sync1": "Nieuwe afspraken in PianoPlanner",
      "sync2": "Wijzigingen in tijd en datum",
      "sync3": "Annuleringen",
      "whatGetsSynced": "Wat wordt gesynchroniseerd?",
      "whatYouNeed": "Wat heb je nodig?",
      "worksWithBoth": "Werkt met beide",
      "worksWithBothText": "Zowel persoonlijke (Outlook.com) als zakelijke (Microsoft 365) accounts worden ondersteund."
    },
    "appleCalendar": {
      "title": "Apple Agenda (iCloud)",
      "intro": "Apple Agenda werkt iets anders dan Google en Microsoft. Je kunt je PianoPlanner-agenda abonneren in Apple Agenda, maar dit is een-weg synchronisatie.",
      "howItWorksTitle": "Hoe werkt het?",
      "howItWorksText": "PianoPlanner biedt een agenda-feed (ICS URL) die je kunt toevoegen aan Apple Agenda. De agenda wordt periodiek vernieuwd (elke 15-60 minuten).",
      "step1Title": "1. Kopieer je feed URL",
      "step1Text": "Ga naar Instellingen → Integraties en kopieer je persoonlijke ICS-link.",
      "step2Title": "2. Open Apple Agenda",
      "step2Text": "Op Mac: Agenda → Archief → Nieuw agenda-abonnement, Op iPhone: Instellingen → Agenda → Accounts → Voeg account toe → Anders",
      "step3Title": "3. Plak de URL",
      "step3Text": "Plak de gekopieerde link en bevestig.",
      "step4Title": "4. Stel verversingsinterval in",
      "step4Text": "Kies hoe vaak de agenda moet verversen (standaard: elke 15 minuten).",
      "limitationTitle": "Beperking",
      "limitationText": "Dit is alleen-lezen. Wijzigingen in Apple Agenda worden NIET teruggestuurd naar PianoPlanner. Maak altijd wijzigingen in PianoPlanner zelf.",
      "connStep1Title": "1. Kopieer je kalenderfeed URL",
      "connStep1Text": "Ga naar Instellingen → Integraties en kopieer de iCal feed URL.",
      "connStep2Title": "2. Open Apple Agenda",
      "connStep2Text": "Op Mac: Archief → Nieuw agenda-abonnement. Op iPhone/iPad: Instellingen → Agenda → Accounts → Voeg account toe.",
      "connStep3Title": "3. Plak de URL",
      "connStep3Text": "Plak de gekopieerde feed URL in het URL-veld.",
      "connStep4Title": "4. Configureer instellingen",
      "connStep4Text": "Kies een naam voor de agenda en stel het verversingsinterval in.",
      "connStep5Title": "5. Abonneer",
      "connStep5Text": "Klik op Abonneer of OK. Je afspraken verschijnen nu in Apple Agenda!",
      "connectionInPP": "Verbinding maken in PianoPlanner",
      "creatingPassword": "App-specifiek wachtwoord maken",
      "passStep1Title": "1. Ga naar Apple ID",
      "passStep1Text": "Open appleid.apple.com en log in met je Apple ID.",
      "passStep2Title": "2. Ga naar Beveiliging",
      "passStep2Text": "Scroll naar de sectie 'App-specifieke wachtwoorden'.",
      "passStep3Title": "3. Genereer wachtwoord",
      "passStep3Text": "Klik op 'Genereer wachtwoord' en geef het een naam (bijv. 'PianoPlanner').",
      "passStep4Title": "4. Kopieer het wachtwoord",
      "passStep4Text": "Kopieer het gegenereerde wachtwoord - je ziet het maar één keer!",
      "requiredPassword": "Vereist: App-specifiek wachtwoord",
      "requiredPasswordText": "Apple vereist een app-specifiek wachtwoord voor toegang door apps van derden. Dit is een extra beveiligingslaag."
    },
    "switchCalendar": {
      "title": "Overstappen van kalender",
      "intro": "Wil je overstappen van Google Calendar naar Apple Calendar (of andersom)? Dat kan zonder verlies van afspraken. Dit is ook interessant als je weg wilt van Amerikaanse clouddiensten en meer controle wilt over je data.",
      "noDataLoss": "Geen dataverlies",
      "noDataLossText": "Alle afspraken staan altijd veilig in PianoPlanner. Kalender-sync is alleen een kopie naar je agenda-app. Als je een sync stopt, blijven alle afspraken gewoon bestaan — zowel in PianoPlanner als in je oude kalender.",
      "whySwitch": "Waarom overstappen?",
      "reason1": "Privacy: Apple verwerkt data in Europa (AVG), Google in de VS",
      "reason2": "Minder afhankelijk van Big Tech: Geen Google-account meer nodig voor je agenda",
      "reason3": "Betere integratie: Apple Calendar werkt naadloos op iPhone, iPad en Mac",
      "reason4": "Digitale soevereiniteit: Jouw data, jouw keuze waar het opgeslagen wordt",
      "howTo": "Stap-voor-stap overstappen",
      "step1Title": "1. Controleer je afspraken",
      "step1Text": "Ga naar je agenda in PianoPlanner en controleer of al je afspraken er staan. Alle data wordt centraal opgeslagen — de kalender-sync is slechts een kopie.",
      "step2Title": "2. Ontkoppel je huidige kalender",
      "step2Text": "Ga naar Instellingen → Kalender en klik op 'Verbinding verbreken' bij je huidige provider (bijv. Google). Je afspraken in PianoPlanner én in je oude kalender blijven gewoon staan.",
      "step3Title": "3. Maak een app-specifiek wachtwoord aan (Apple)",
      "step3Text": "Ga naar appleid.apple.com → Inloggen en beveiliging → App-specifieke wachtwoorden. Maak een nieuw wachtwoord aan met de naam 'PianoPlanner'.",
      "step4Title": "4. Verbind Apple Calendar",
      "step4Text": "Ga naar Instellingen → Kalender → Apple. Vul je Apple ID e-mail en het app-specifieke wachtwoord in. Kies de juiste kalender.",
      "step5Title": "5. Synchroniseer",
      "step5Text": "PianoPlanner stuurt automatisch alle bestaande afspraken (tot 1 jaar terug en 1 jaar vooruit) naar je nieuwe Apple Calendar. Je hoeft niets handmatig over te zetten.",
      "tipTitle": "Tip: Oude kalender opschonen",
      "tipText": "Na het overstappen staan je afspraken nog in je oude kalender (bijv. Google). Die kun je gewoon laten staan als archief, of later handmatig verwijderen. Ze worden niet meer gesynchroniseerd.",
      "comparisonTitle": "Vergelijking: Google vs Apple",
      "dataLocation": "Data locatie",
      "dataGoogle": "VS (Google Cloud)",
      "dataApple": "Europa (Apple iCloud)",
      "syncType": "Sync methode",
      "direction": "Richting",
      "dirBoth": "Twee-weg",
      "privacy": "Privacy (AVG/GDPR)"
    },
    "syncMethods": {
      "title": "Synchronisatiemethoden vergeleken",
      "intro": "Niet alle agenda-synchronisatie is hetzelfde. Hier zie je de verschillen tussen de methoden.",
      "tableCalendar": "Agenda",
      "tableSyncType": "Type sync",
      "tableDirection": "Richting",
      "tableRealTime": "Realtime",
      "twoWay": "Twee-weg",
      "oneWay": "Eén-weg",
      "bothDirections": "Beide richtingen",
      "toApple": "→ Alleen naar Apple",
      "near": "Bijna",
      "delayed": "Vertraagd (15-60 min)",
      "recommendationTitle": "Aanbeveling",
      "recommendationText": "Als je een keuze hebt, gebruik Google Agenda voor de beste ervaring. De twee-weg sync is het meest compleet en betrouwbaar.",
      "appleBestFor": "Wie iCloud Agenda als primaire agenda gebruikt",
      "bestFor": "Beste voor",
      "direction": "Richting",
      "every15to60": "Elke 15-60 min",
      "googleBestFor": "Iedereen met een Google account - meest complete integratie",
      "icalBestFor": "Eenvoudige alleen-lezen synchronisatie met elke agenda-app",
      "icalFeed": "iCal Feed",
      "icalIntro": "Wilt u uw stemafspraken automatisch terugzien in de agenda die u al op uw telefoon of computer gebruikt (zoals die van Samsung, Google of Outlook)? Dat kan heel eenvoudig door de agenda's met elkaar te verbinden.",
      "icalStep1Title": "Stap 1: Kopieer de link",
      "icalStep1Text": "Ga naar Instellingen → Integraties. Daar vindt u een knop om de agendalink te kopiëren. Klik erop — de link staat nu op uw klembord.",
      "icalStep2Title": "Stap 2: Plak de link in uw eigen agenda",
      "icalStep2Text": "Open uw eigen agenda-app en zoek naar de optie om een agenda toe te voegen.",
      "method": "Methode",
      "microsoftBestFor": "Microsoft 365 of Outlook gebruikers",
      "readOnly": "Alleen lezen",
      "realtime": "Realtime",
      "usingIcal": "Uw stemafspraken in uw eigen vertrouwde agenda",
      "icalHow": "Hoe werkt het?",
      "icalHowText": "U kopieert een speciale 'digitale sleutel' (een link). Deze plakt u éénmalig in uw eigen agenda-app. Daarna worden al uw afspraken automatisch gesynchroniseerd.",
      "icalAppTipsTitle": "Instructies per app",
      "icalTipGoogle": "Ga (liefst op de computer) naar 'Agenda toevoegen' en kies 'Via URL'.",
      "icalTipOutlook": "Kies 'Nieuwe agenda' en kies daarna 'Op het netwerk' of 'Uit internet'.",
      "icalGoodToKnow": "Goed om te weten",
      "icalNote1": "Alleen kijken — u ziet uw afspraken in uw eigen agenda, maar wijzigingen maakt u in PianoPlanner.",
      "icalNote2": "Automatisch — zodra u een afspraak inplant, verschijnt deze vanzelf in uw andere agenda.",
      "whichMethod": "Welke methode moet ik kiezen?",
      "whichMethodText": "Dit hangt af van welke agenda je gebruikt. Google biedt de beste integratie, Microsoft is ideaal voor zakelijke gebruikers, en iCal werkt overal."
    },
    "customDomain": {
      "title": "Eigen e-maildomein gebruiken",
      "intro": "Wil je dat bevestigingsmails komen van info@jouwbedrijf.nl in plaats van noreply@pianoplanner.com? Dat kan! Met je eigen SMTP-server.",
      "whatIsSmtpTitle": "Wat is SMTP?",
      "whatIsSmtpText": "SMTP (Simple Mail Transfer Protocol) is de standaard voor het verzenden van e-mail. Als je een eigen e-mailadres hebt (bijv. via je webhostingprovider), heb je waarschijnlijk ook SMTP-inloggegevens.",
      "step1Title": "1. Verzamel je SMTP-gegevens",
      "step1Text": "Je hebt nodig: SMTP server (bijv. smtp.jouwprovider.nl), Poort (meestal 587 of 465), Gebruikersnaam (vaak je volledige e-mailadres), Wachtwoord",
      "step2Title": "2. Ga naar Instellingen → E-mail",
      "step2Text": "Scroll naar de sectie \"Eigen SMTP\".",
      "step3Title": "3. Vul je gegevens in",
      "step3Text": "Voer de servergegevens, poort, gebruikersnaam en wachtwoord in.",
      "step4Title": "4. Test de verbinding",
      "step4Text": "Klik op \"Test verzenden\" om te controleren of alles werkt.",
      "step5Title": "5. Activeer",
      "step5Text": "Zet de schakelaar op \"Aan\" om je eigen SMTP te gebruiken.",
      "tipText": "Geen technische kennis? Vraag je webhost of IT-beheerder om de SMTP-gegevens. De meeste hostingpakketten bevatten e-mail.",
      "popularProvidersTitle": "Populaire providers",
      "providersList": "Gmail (met app-wachtwoord), Microsoft 365, Transip, Antagonist, Hostnet",
      "commonSettings": "Veelgebruikte instellingen",
      "example": "Voorbeeld",
      "explanation": "Uitleg",
      "field": "Veld",
      "fromAddress": "Van adres",
      "fromAddressDesc": "Het e-mailadres dat als afzender wordt getoond",
      "host": "Host",
      "password": "Wachtwoord",
      "passwordDesc": "Je e-mail wachtwoord of app-specifiek wachtwoord",
      "port": "Poort",
      "portDesc": "Meestal 587 (TLS) of 465 (SSL)",
      "provider": "Provider",
      "reason1": "E-mails komen van je eigen domein (info@jouwbedrijf.nl)",
      "reason2": "Professionelere uitstraling",
      "reason3": "Minder kans op spam-filters",
      "reason4": "Volledige controle over je e-mailcommunicatie",
      "smtpHost": "SMTP Host",
      "smtpHostDesc": "Het adres van je mail server (bijv. smtp.gmail.com)",
      "smtpSetup": "SMTP Configuratie",
      "testSettings": "Test je instellingen",
      "testSettingsText": "Na het invullen, klik op 'Test verzenden' om te controleren of alles werkt voordat je het activeert.",
      "username": "Gebruikersnaam",
      "usernameDesc": "Meestal je volledige e-mailadres",
      "whySmtp": "Waarom eigen SMTP gebruiken?"
    },
    "emailTemplates": {
      "title": "E-mail Sjablonen Aanpassen",
      "intro": "PianoPlanner stuurt automatisch e-mails naar je klanten bij afspraken. Je kunt deze e-mails volledig aanpassen met je eigen tekst, huisstijl en logo. Er zijn twee bewerkingsmogelijkheden: een simpele modus voor gewone tekst en een geavanceerde modus voor HTML-opmaak.",
      "typesTitle": "Beschikbare templates",
      "typeConfirmation": "Bevestiging - Wordt verstuurd zodra een afspraak is geboekt",
      "typeReminder": "Herinnering - Wordt verstuurd 24 uur voor de afspraak",
      "typeCancellation": "Annulering - Wordt verstuurd als je een afspraak annuleert",
      "typeInvitation": "Stem uitnodiging - Voor het uitnodigen van klanten om een afspraak te boeken",
      "editingTitle": "Templates bewerken",
      "step1Title": "1. Open de Template Editor",
      "step1Text": "Ga naar Instellingen → E-mail Sjablonen → Open Template Editor. Of klik direct op een sjabloon in het overzicht.",
      "step2Title": "2. Kies een sjabloon",
      "step2Text": "Links zie je alle beschikbare sjablonen. Klik op het sjabloon dat je wilt aanpassen, bijvoorbeeld \"Stembeurt Uitnodiging\".",
      "step3Title": "3. Pas het onderwerp aan",
      "step3Text": "Bovenaan staat het e-mail onderwerp. Dit is wat de klant ziet in zijn inbox. Je kunt hier ook variabelen gebruiken.",
      "step4Title": "4. Bewerk de inhoud",
      "step4Text": "Kies \"Simpel\" voor gewone tekst of \"Geavanceerd\" voor HTML. Gebruik de variabelenlijst rechts — klik op een variabele om deze in te voegen op de cursorpositie.",
      "variablesTitle": "Beschikbare variabelen",
      "variablesText": "Je kunt deze variabelen gebruiken in je templates:",
      "varCustomerName": "Naam van de klant, bijv. \"Jan de Vries\"",
      "varDate": "Datum van de afspraak",
      "varTime": "Starttijd van de afspraak",
      "varService": "Type dienst (bijv. \"Stembeurt\")",
      "varAddress": "{{address}} - Adres van de klant",
      "varCompanyName": "Uw bedrijfsnaam",
      "tipText": "Alle variabelen zijn beschikbaar in de \"Variabelen\" balk rechts van de editor. Ze zijn gegroepeerd per categorie: Klant, Afspraak, Piano, Uitnodiging en Bedrijf. Klik op een variabele om deze direct in te voegen.",
      "availableTemplates": "Beschikbare templates",
      "availableVariables": "Beschikbare variabelen",
      "editingTemplate": "Template bewerken",
      "replacedBy": "Wordt vervangen door",
      "template1": "Bevestigingsmail — Wordt automatisch verstuurd als een klant een afspraak boekt",
      "template2": "Herinneringsmail — Wordt verstuurd 24/48 uur vóór de afspraak",
      "template3": "Annuleringsmail — Wordt verstuurd als u een afspraak annuleert",
      "template4": "Wijzigingsmail — Wordt verstuurd als datum/tijd verandert",
      "template5": "Stembeurt Uitnodiging — Voor het uitnodigen van klanten die toe zijn aan een stembeurt (handmatig en automatisch)",
      "varCompanyEmail": "Uw e-mailadres",
      "varCompanyPhone": "Uw telefoonnummer",
      "variable": "Variabele",
      "editorModes": "De Template Editor — Twee Modi",
      "simpleMode": "Simpele Modus (aanbevolen voor beginners)",
      "simpleModeText": "Typ gewone tekst zoals in een e-mail. Elke nieuwe regel wordt automatisch een alinea. Variabelen (zoals {{customerName}}) kun je gewoon in de tekst typen of klik op een variabele uit de lijst rechts om deze in te voegen. PianoPlanner maakt er automatisch een nette, opgemaakte e-mail van met uw bedrijfslogo en huisstijl.",
      "advancedMode": "Geavanceerde Modus (voor ervaren gebruikers)",
      "advancedModeText": "Schrijf je eigen HTML-code voor volledige controle over de opmaak. Handig als je een designer bent of een specifiek ontwerp wilt overnemen. Je ziet de ruwe HTML en kunt direct tags gebruiken voor kleuren, lettertypen, tabellen, etc.",
      "step5Title": "5. Bekijk de preview",
      "step5Text": "Rechts zie je een live preview van hoe de e-mail eruitziet. Klik op \"Ververs\" om de preview bij te werken na wijzigingen.",
      "step6Title": "6. Test en sla op",
      "step6Text": "Klik op \"Test verzenden\" om een voorbeeld naar uw eigen e-mailadres te sturen. Tevreden? Klik op \"Opslaan\". U kunt altijd terug naar het standaard sjabloon via \"Reset naar standaard\".",
      "variablesExplanation": "Variabelen zijn speciale codes die automatisch vervangen worden door echte gegevens. Typ ze precies zo over (inclusief de dubbele accolades) of klik erop in de editor.",
      "varPianoBrand": "Merk van de piano (bijv. \"Steinway\")",
      "varPianoModel": "Model van de piano",
      "varBookingLink": "Persoonlijke boekingslink van de klant",
      "varReminderNumber": "Volgnummer van de herinnering (1, 2, 3...) — alleen bij automatische herinneringen",
      "varUnsubscribeLink": "Link waarmee de klant zich kan uitschrijven — alleen bij automatische herinneringen",
      "tipTitle": "Tip"
    },
    "tuningInvitations": {
      "title": "Stem uitnodigingen versturen",
      "intro": "Herinner je klanten automatisch wanneer hun piano aan een stembeurt toe is. Dit is een krachtige manier om terugkerende afspraken te genereren.",
      "howItWorksTitle": "Hoe werkt het?",
      "howItWorksText": "Elke piano heeft een service-interval (bijv. 6 maanden). Wanneer een piano bijna of over die tijd is, kun je een herinnering sturen. De klant ontvangt een e-mail met een link om direct een afspraak te boeken.",
      "sendingTitle": "Uitnodigingen versturen",
      "step1Title": "1. Ga naar Piano's",
      "step1Text": "In het menu zie je \"Piano's\" - dit toont alle piano's gesorteerd op service-status.",
      "step2Title": "2. Filter op \"Aan stembeurt toe\"",
      "step2Text": "Gebruik de filter om alleen piano's te zien die binnenkort of over de stemtijd zijn.",
      "step3Title": "3. Selecteer piano's",
      "step3Text": "Vink de piano's aan die je een uitnodiging wilt sturen.",
      "step4Title": "4. Klik op \"Stuur uitnodiging\"",
      "step4Text": "Een e-mail wordt verstuurd naar elke geselecteerde klant.",
      "whatCustomerSeesTitle": "Wat ontvangt de klant?",
      "whatCustomerSeesText": "De klant ontvangt een vriendelijke e-mail met: Een herinnering dat hun piano aan een stembeurt toe is, Een link om direct een afspraak te boeken, Je contactgegevens voor vragen",
      "tipText": "Stuur uitnodigingen niet te vaak. Eén herinnering is meestal genoeg. Klanten waarderen subtiele service, geen spam.",
      "description": "Beschrijving",
      "howToSend": "Hoe verstuur je uitnodigingen?",
      "intervalOptions": "Steminterval opties",
      "option": "Optie",
      "option3Months": "3 maanden",
      "option3MonthsDesc": "Concertvleugels, intensief gebruik",
      "option6Months": "6 maanden",
      "option6MonthsDesc": "Standaard voor de meeste piano's",
      "optionYearly": "12 maanden",
      "optionYearlyDesc": "Recreatief gebruik, hobby",
      "optionCustomer": "Klant neemt contact op",
      "optionCustomerDesc": "Geen automatische herinneringen",
      "safetyFeature": "Veiligheidsfeature",
      "safetyFeatureText": "Het systeem voorkomt dat je per ongeluk meerdere uitnodigingen naar dezelfde klant stuurt binnen een korte periode.",
      "varBookingLink": "{{bookingLink}}",
      "varDaysSince": "{{daysSinceLastTuning}}",
      "varInterval": "{{serviceInterval}}",
      "varLastTuning": "{{lastTuningDate}}",
      "varMonthsSince": "{{monthsSinceLastTuning}}",
      "variables": "Beschikbare variabelen voor uitnodigingen",
      "whenToUse": "Wanneer uitnodigingen versturen?",
      "whenToUseText": "Het beste moment is 2-4 weken voordat de piano aan een stembeurt toe is. Zo heeft de klant tijd om te reageren en kun jij plannen.",
      "autoTip": "Liever automatisch?",
      "autoTipText": "Wilt u niet elke keer handmatig een uitnodiging sturen? PianoPlanner kan dit ook automatisch doen! Lees meer in het volgende hoofdstuk: Automatische Stemherinneringen."
    },
    "bookingLink": {
      "title": "Je boekingslink delen",
      "intro": "Elke PianoPlanner-gebruiker heeft een unieke boekingslink. Deel deze met potentiële klanten zodat ze zelf een afspraak kunnen boeken.",
      "findingTitle": "Je link vinden",
      "findingText": "Ga naar Instellingen → Boekingspagina. Hier zie je je persoonlijke boekings-URL. Je kunt deze kopiëren of delen.",
      "whereToShareTitle": "Waar delen?",
      "share1": "Je website - Voeg een \"Boek afspraak\" knop toe",
      "share2": "E-mail handtekening - Voeg de link toe aan elke e-mail",
      "share3": "Visitekaartjes - Print een QR-code van je link",
      "share4": "Google Mijn Bedrijf - Voeg toe als boekingslink",
      "share5": "Social media - Deel in je bio of posts",
      "customizingTitle": "Aanpassen",
      "customizingText": "In de instellingen kun je je boekingspagina aanpassen:",
      "customize1": "Logo toevoegen - Je bedrijfslogo bovenaan de pagina",
      "customize2": "Welkomsttekst - Een persoonlijke begroeting voor klanten",
      "customize3": "Diensten kiezen - Welke diensten kunnen geboekt worden",
      "customize4": "Maximale vooruitboeken - Hoever vooruit klanten kunnen boeken",
      "tipText": "Maak het zo makkelijk mogelijk voor klanten. Hoe minder klikken naar een boeking, hoe meer afspraken je krijgt.",
      "addToWebsite": "Toevoegen aan je website",
      "addToWebsiteText": "Kopieer deze code en plak hem op je website waar je de boekingsknop wilt tonen.",
      "asButton": "Als knop",
      "asSimpleLink": "Als simpele link",
      "shareEverywhere": "Deel overal",
      "step1Title": "1. Ga naar Instellingen",
      "step1Text": "Open het instellingenmenu via het tandwiel ⚙️.",
      "step2Title": "2. Klik op Boekingspagina",
      "step2Text": "Vind de sectie 'Boekingspagina' of 'Online Boeken'.",
      "step3Title": "3. Kopieer je link",
      "step3Text": "Je ziet je persoonlijke boekingslink. Klik op 'Kopiëren'.",
      "step4Title": "4. Pas de pagina aan (optioneel)",
      "step4Text": "Voeg je logo toe, pas de welkomsttekst aan en kies welke diensten zichtbaar zijn.",
      "step5Title": "5. Stel beschikbaarheid in",
      "step5Text": "Bepaal hoe ver vooruit klanten kunnen boeken.",
      "step6Title": "6. Activeer",
      "step6Text": "Zet de boekingspagina aan zodat klanten kunnen boeken.",
      "stepByStep": "Stap voor stap",
      "tipQrCode": "QR-code tip",
      "tipQrCodeText": "Genereer een QR-code van je boekingslink voor op visitekaartjes of flyers. Klanten kunnen dan direct scannen en boeken!",
      "use1": "Je website - 'Boek nu' knop",
      "use2": "E-mail handtekening",
      "use3": "Visitekaartjes (als QR-code)",
      "use4": "Social media bio",
      "use5": "Google Mijn Bedrijf",
      "use6": "WhatsApp status",
      "whereToUse": "Waar kun je de link gebruiken?",
      "whyUse": "Waarom een boekingslink?",
      "whyUseText": "Met je eigen boekingslink kunnen klanten 24/7 een afspraak maken, zonder dat je de telefoon hoeft op te nemen. Je krijgt automatisch een bevestiging en de afspraak staat direct in je agenda."
    },
    "customerLink": {
      "title": "Persoonlijke links voor vaste klanten",
      "intro": "Vaste klanten hoeven hun gegevens niet elke keer in te vullen. Elke klant in PianoPlanner heeft een unieke link met vooringevulde gegevens.",
      "perfectFor": "Perfect voor:",
      "perfectForText": "Vaste klanten die regelmatig terugkomen, klanten met meerdere piano's, theaters en bedrijven met complexe boekingen.",
      "howItWorksTitle": "Hoe werkt het?",
      "howItWorksText": "Wanneer een klant hun persoonlijke link opent, zien ze:",
      "sees1": "Hun naam en adres al ingevuld",
      "sees2": "Hun piano('s) om uit te kiezen",
      "sees3": "Slimme tijdsuggesties gebaseerd op hun locatie",
      "sees4": "Alleen relevante diensten",
      "sees5": "Direct kunnen boeken zonder account",
      "findingTitle": "De link vinden",
      "step1Title": "1. Ga naar Klanten",
      "step1Text": "Open de klantlijst.",
      "step2Title": "2. Klik op een klant",
      "step2Text": "Open de klantdetails.",
      "step3Title": "3. Zie \"Boekingslink\"",
      "step3Text": "Kopieer de persoonlijke link van deze klant.",
      "step4Title": "4. Deel de link",
      "step4Text": "Stuur de link via e-mail of bewaar hem voor later gebruik.",
      "needNewLinkTitle": "Nieuwe link nodig?",
      "needNewLinkText": "Als een link niet meer werkt of je wilt hem resetten, kun je in de klantdetails een nieuwe link genereren.",
      "realExampleTitle": "Praktijkvoorbeeld",
      "realExampleText": "Je stuurt mevr. Jansen elk jaar een herinnering. In plaats van \"bel me voor een afspraak\" stuur je haar persoonlijke link. Ze klikt, kiest een tijd, en klaar. Geen telefoontjes, geen gedoe.",
      "defaultService": "Standaard dienst instellen",
      "defaultServiceText": "Je kunt per klant een standaard dienst instellen zodat die automatisch geselecteerd is bij het openen van hun link.",
      "defaultStep1Title": "1. Ga naar de klant",
      "defaultStep1Text": "Open de klantdetails.",
      "defaultStep2Title": "2. Klik op Bewerken",
      "defaultStep2Text": "Open het bewerkingsformulier.",
      "defaultStep3Title": "3. Selecteer standaard dienst",
      "defaultStep3Text": "Kies de dienst die deze klant meestal boekt.",
      "defaultStep4Title": "4. Opslaan",
      "defaultStep4Text": "De dienst wordt nu automatisch geselecteerd bij hun boekingslink.",
      "needNewLink": "Nieuwe link nodig?",
      "realExample": "Praktijkvoorbeeld",
      "step5Title": "5. Kopieer of deel",
      "step5Text": "Kopieer de link of deel hem direct via e-mail of WhatsApp.",
      "stepByStep": "Stap voor stap: Link vinden en delen",
      "whatCustomerSees": "Wat ziet de klant?",
      "whenOpensLink": "Wanneer de klant de link opent:"
    },
    "smartSuggestions": {
      "title": "Slimme boekingssuggesties",
      "intro": "Wanneer klanten via hun persoonlijke link boeken, zien ze automatisch slimme tijdsuggesties. Het systeem analyseert je bestaande afspraken en suggereert de meest efficiënte tijdslots.",
      "howDoesItWork": "Hoe werkt het?",
      "howDoesItWorkText": "In plaats van handmatig een datum en tijd te kiezen, ziet de klant een lijst met aanbevolen tijden. Deze worden berekend op basis van:",
      "factor1": "Bestaande afspraken - Slots net voor of na andere afspraken in de buurt",
      "factor2": "Locatie - Minimale reistijd tussen afspraken",
      "factor3": "Werkuren - Alleen binnen je beschikbare tijden",
      "factor4": "Theater uren - Aparte uren voor theaters indien ingesteld",
      "benefits": "Voordelen",
      "benefitsText": "• Efficiëntere routeplanning - minder kilometers rijden\n• Klanten kiezen sneller - geen twijfel over beschikbaarheid\n• Betere planning - afspraken clusteren in hetzelfde gebied",
      "whatCustomerSees": "Wat ziet de klant?",
      "afterSelecting": "Na het selecteren van een dienst verschijnen tot 10 optimale tijdslots, gesorteerd met de beste keuze bovenaan:",
      "recommended": "Aanbevolen - De meest efficiënte tijd (groene badge)",
      "alternative": "Alternatief - Goede opties op andere dagen, gesorteerd op datum",
      "pickAnother": "De klant kan ook \"Kies een andere tijd\" kiezen om handmatig een datum en tijd te selecteren.",
      "distantCustomersTitle": "Klanten op afstand",
      "distantCustomersText": "Voor klanten buiten je normale werkgebied zoekt het systeem automatisch verder vooruit (tot 6 maanden) om de beste opties te vinden. In plaats van verre klanten te blokkeren, krijgen langere reistijden een iets lagere score - maar goede opties worden altijd getoond. Het systeem blijft zoeken tot er minimaal 10 suggesties zijn.",
      "trafficAwareTitle": "Verkeersafhankelijke suggesties",
      "trafficAwareText": "Wanneer Verkeersprognose is ingeschakeld in je instellingen, houden slimme suggesties rekening met spitsuur en typische verkeerspatronen."
    },
    "routeAnalysis": {
      "title": "Route Analyse",
      "intro": "Route Analyse helpt je te zien hoe efficiënt je dagplanning is. Bekijk afstanden tussen afspraken, krijg een efficiëntiescore en ontvang suggesties om je route te optimaliseren.",
      "availableFor": "Beschikbaar voor Solo & Pro",
      "availableForText": "Route Analyse is inbegrepen in Solo en Pro abonnementen. Free gebruikers kunnen upgraden om deze krachtige functie te ontgrendelen.",
      "howToAccessTitle": "Hoe te openen",
      "step1Title": "1. Open het Dashboard",
      "step1Text": "Ga naar je agenda/kalenderweergave in PianoPlanner.",
      "step2Title": "2. Klik op \"Analyse\"",
      "step2Text": "Vind de 📊 Analyse knop in de toolbar, naast Route en Sync.",
      "step3Title": "3. Kies Dag of Week",
      "step3Text": "Wissel tussen dagweergave (gedetailleerd) en weekweergave (overzicht).",
      "dayAnalysisTitle": "Dag Analyse",
      "dayAnalysisIntro": "De dagweergave toont:",
      "dayFeature1": "📊 Efficiëntiescore (A-F cijfer) - Hoe goed je route is geoptimaliseerd",
      "dayFeature2": "🚗 Totale Afstand - Som van alle ritten tussen afspraken",
      "dayFeature3": "⏱️ Reistijd - Geschatte rijtijd voor alle ritten",
      "dayFeature4": "📍 Rittenlijst - Elke reis met start, bestemming, km en minuten",
      "weekAnalysisTitle": "Week Analyse",
      "weekAnalysisIntro": "De weekweergave geeft een breder perspectief:",
      "weekFeature1": "📅 Dagscores - Zie welke dagen efficiënte vs inefficiënte routes hebben",
      "weekFeature2": "📈 Weekgemiddelde - Overall efficiëntiepercentage",
      "weekFeature3": "⚡ Cross-Day Kansen - Suggesties om afspraken tussen dagen te verplaatsen",
      "efficiencyScoresTitle": "Efficiëntiescores begrijpen",
      "gradeHeader": "Cijfer",
      "scoreHeader": "Score",
      "meaningHeader": "Wat het betekent",
      "gradeA": "Uitstekend! Je route is zeer goed geoptimaliseerd.",
      "gradeB": "Goede route met kleine verbetermogelijkheden.",
      "gradeC": "Acceptabel, maar overweeg de suggesties.",
      "gradeD": "Inefficiënte route - volg de optimalisatietips.",
      "gradeF": "Zeer inefficiënt - significante optimalisatie nodig.",
      "optimizationTitle": "1-Click Optimalisatie",
      "optimizationIntro": "Wanneer het systeem optimalisatiekansen vindt, zie je suggesties met een \"Doorvoeren\" knop. Klikken zal:",
      "optStep1": "Controleren op conflicten met bestaande afspraken",
      "optStep2": "Een bevestiging tonen met de voorgestelde wijziging",
      "optStep3": "De afspraak verplaatsen als je bevestigt",
      "urgencyTitle": "Urgentie Indicatoren",
      "urgencyIntro": "Elke suggestie heeft een gekleurde urgentie-level:",
      "urgencyWhen": "Wanneer",
      "urgencyAction": "Actie",
      "urgencyCritical": "Je komt te laat!",
      "urgencyCriticalAction": "Direct handelen",
      "urgencyHigh": "Risico op te laat (<10 min marge)",
      "urgencyHighAction": "Vandaag fixen",
      "urgencyMedium": "Lange rit (>30km) of zigzag",
      "urgencyMediumAction": "Overweeg",
      "urgencyLow": "Optimalisatie mogelijkheid",
      "urgencyLowAction": "Nice to have",
      "economicTitle": "Economische Impact",
      "economicText": "Elke suggestie toont de potentiële besparing in km, minuten en brandstofkosten. Bijvoorbeeld: '42 km rit = ~€9 brandstofkosten' helpt je de werkelijke kosten van inefficiënte routes begrijpen.",
      "tipsTitle": "Tips voor betere routes",
      "tipsText": "Voeg adressen toe aan alle klanten voor nauwkeurige afstandsberekeningen\nGebruik Slimme Suggesties bij het boeken van nieuwe afspraken\nBekijk de weekanalyse om dagen te vinden die het reorganiseren waard zijn\nOverweeg afspraken te verplaatsen op dagen met een D of F score\nGebruik de Stroomlijn-knop om je schema automatisch strakker te maken"
    },
    "theaterAvailability": {
      "title": "Theater beschikbaarheid",
      "intro": "Theaters, concertzalen en andere locaties hebben vaak andere beschikbaarheid dan particuliere klanten. Ze zijn vooral beschikbaar 's avonds en in het weekend - precies wanneer jij normaal vrij bent! Met Theater Beschikbaarheid kun je aparte werkuren instellen voor deze speciale klanten.",
      "whyTitle": "Waarom Theater Uren?",
      "whyText": "Het probleem: Theaters hebben overdag repetities en voorstellingen. Ze kunnen je alleen binnenlaten voor opening (ochtend) of na sluiting (avond). De oplossing: Stel andere uren in voor theaterklanten. Zij zien alleen avond/weekend slots. Particuliere klanten zien alleen dagslots. Iedereen boekt op het juiste moment!",
      "benefitsTitle": "Voordelen van Theater Mode",
      "benefit1": "🎭 Aparte beschikbaarheid - Theaters zien je 9-5 particuliere slots niet",
      "benefit2": "⚡ Last-minute boekingen - Theaters kunnen tot 2 uur van tevoren boeken (je stelt dit zelf in)",
      "benefit3": "📅 Korter boekingsvenster - Theaters kunnen vaak niet ver vooruit plannen",
      "benefit4": "🎹 Concert-ready stemmen - Ze boeken wanneer nodig, voor voorstellingen",
      "benefit5": "💼 Extra inkomsten - Vul je avonden met goedbetaald theaterwerk",
      "setupTitle": "Stap-voor-stap: Theater uren instellen",
      "step1Title": "1. Ga naar Instellingen → Bedrijf",
      "step1Text": "Klik op het tandwiel ⚙️ en scroll naar \"Bedrijfsinstellingen\"",
      "step2Title": "2. Vind \"Theater Beschikbaarheid\"",
      "step2Text": "Scroll voorbij je normale werkuren. Je ziet een aparte sectie voor theaters.",
      "step3Title": "3. Zet het AAN",
      "step3Text": "Klik op de schakelaar om theater uren in te schakelen. Hij wordt groen.",
      "step4Title": "4. Stel de tijden per dag in",
      "step4Text": "Stel per dag in wanneer je beschikbaar bent voor theaters:\nVoorbeeld:\n• Maandag-vrijdag: 18:00 - 22:00 (na je gewone werk)\n• Zaterdag: 10:00 - 18:00 (hele dag beschikbaar)\n• Zondag: UIT",
      "step5Title": "5. Opslaan",
      "step5Text": "Klik op Opslaan onderaan de pagina.",
      "markingTitle": "Een klant als \"Theater\" markeren",
      "markingIntro": "Vertel PianoPlanner nu welke klanten theater uren moeten gebruiken:",
      "markStep1Title": "1. Ga naar Klanten",
      "markStep1Text": "Open je klantenlijst en vind het theater/de locatie.",
      "markStep2Title": "2. Bewerk de klant",
      "markStep2Text": "Klik op hun naam en dan op Bewerken.",
      "markStep3Title": "3. Vink \"Gebruik theater beschikbaarheid\" aan",
      "markStep3Text": "Je ziet een checkbox ☑️ onderaan. Vink deze aan!",
      "markStep4Title": "4. Opslaan",
      "markStep4Text": "Klik op Klant Opslaan. Klaar!",
      "realExample": "Praktijkvoorbeeld",
      "realExampleText": "Je normale werkuren:\nMaandag - Vrijdag: 09:00 - 17:00\n\nJe theater uren:\nMaandag - Vrijdag: 18:00 - 22:00\nZaterdag: 10:00 - 18:00\n\nResultaat:\n• Mevr. Jansen (particulier) → ziet ma-vr 09:00-17:00 slots\n• Theater \"De Schouwburg\" → ziet ma-vr 18:00-22:00 + zaterdag slots\n\nGeen overlap, geen verwarring, perfecte scheiding!",
      "bookingWindowTitle": "Theater boekingsvenster",
      "bookingWindowIntro": "Theaters moeten vaak op korte termijn boeken - een piano moet misschien gestemd worden voor het concert van vanavond! Je kunt instellen hoe ver vooruit theaters moeten/kunnen boeken:",
      "minAdvanceTitle": "Minimale vooraf tijd",
      "minAdvanceText": "Hoe ver van tevoren moeten theaters minimaal boeken?\nOpties: Geen minimum, 2 uur, 4 uur, 1 dag, 2 dagen\nAanbevolen: 2 uur - staat last-minute noodgevallen toe",
      "maxAdvanceTitle": "Maximale vooraf tijd",
      "maxAdvanceText": "Hoe ver vooruit kunnen theaters boeken?\nOpties: 1 week, 2 weken, 1 maand, 2 maanden, 3 maanden, 6 maanden\nAanbevolen: 1 maand - theaters plannen zelden verder vooruit",
      "comparisonTitle": "Vergelijking: Normaal vs Theater Boeken",
      "comparisonText": "Normale klanten:\n• Moeten 2 dagen van tevoren boeken (je hebt planningstijd)\n• Kunnen tot 3 maanden vooruit boeken\n\nTheater klanten:\n• Kunnen tot 2 uur van tevoren boeken (noodstemmingen!)\n• Kunnen tot 1 maand vooruit boeken\n\nTheaters krijgen flexibiliteit voor urgente behoeften, terwijl particuliere klanten je planningstijd geven."
    },
    "pianoService": {
      "title": "Piano servicehistorie & stemintervallen",
      "intro": "PianoPlanner volgt automatisch de servicehistorie van elke piano. Dit helpt je onthouden wanneer piano's gestemd moeten worden - geen klanten meer vergeten of raden wanneer je voor het laatst langs was!",
      "whyTrackTitle": "Waarom service-intervallen bijhouden?",
      "whyTrackText": "Zonder bijhouden: Je bent afhankelijk van klanten die jou bellen, of je vergeet wie service nodig heeft.\nMet PianoPlanner: Je ziet precies welke piano's aan een stembeurt toe zijn. Stuur een herinnering, boek de afspraak, houd klanten tevreden. Meer terugkerende business, minder moeite!",
      "howItWorksTitle": "Hoe werkt het (automatisch!)",
      "howItWorksIntro": "PianoPlanner werkt \"Laatste stemming\" automatisch bij op basis van:",
      "source1": "✅ Voltooide afspraken - Wanneer je een stemming afrondt, wordt het piano-record bijgewerkt",
      "source2": "✅ Service records - Notities die je toevoegt aan de piano's historie",
      "source3": "✅ Handmatige datuminvoer - Als je zelf een eerdere stemdatum invoert",
      "automatic": "Je hoeft niets te doen! Rond gewoon je afspraken af en PianoPlanner houdt alles bij.",
      "statusColorsTitle": "De statuskleuren begrijpen",
      "statusColorsIntro": "Elke piano toont een status zodat je in één oogopslag ziet wie aandacht nodig heeft:",
      "tableHeader1": "Wat je ziet",
      "tableHeader2": "Wat het betekent",
      "statusGreen": "Laatste: 15 jan 2026",
      "statusGreenMeaning": "✅ Recent gestemd - nog geen actie nodig",
      "statusOrange": "Over 14 dagen",
      "statusOrangeMeaning": "⚠️ Service komt eraan - tijd om klant te contacteren!",
      "statusRed": "30 dagen over tijd",
      "statusRedMeaning": "🔴 Over de datum - zeker tijd om te bellen!",
      "statusGray": "Nog niet gestemd",
      "statusGrayMeaning": "ℹ️ Nieuwe piano - nog geen historie vastgelegd",
      "intervalTitle": "Het juiste steminterval instellen",
      "intervalIntro": "Verschillende piano's hebben verschillende zorg nodig. Een concertvleugel in een theater moet elke paar maanden gestemd worden, terwijl een hobby-piano thuis misschien alleen jaarlijks service nodig heeft. Je stelt het interval per piano in!",
      "recommendedTitle": "Aanbevolen intervallen",
      "recommendedText": "3-4 maanden: Concertvleugels, conservatorium piano's, muziekscholen\n6 maanden: Kerken, professionele musici, serieuze hobbyisten (standaard)\n12 maanden: Huispiano's, incidentele spelers\n18-24 maanden: Zelden gebruikte piano's, vakantiehuizen",
      "changeIntervalTitle": "Stap-voor-stap: Piano's interval wijzigen",
      "changeStep1Title": "1. Ga naar de piano",
      "changeStep1Text": "Open Klanten → klik op een klant → klik op hun piano",
      "changeStep2Title": "2. Klik op Bewerken",
      "changeStep2Text": "Klik op de Bewerk knop (potlood icoon ✏️)",
      "changeStep3Title": "3. Vind \"Service interval\"",
      "changeStep3Text": "Zoek de dropdown die zegt \"Service interval (maanden)\"",
      "changeStep4Title": "4. Kies het interval",
      "changeStep4Text": "Selecteer hoeveel maanden tussen stemmingen:\n3, 4, 6, 9, 12, 18, of 24 maanden",
      "changeStep5Title": "5. Opslaan",
      "changeStep5Text": "Klik op Piano Opslaan. De status wordt nu berekend vanaf dit interval!",
      "proTipTitle": "Pro tip: Piano's vinden die service nodig hebben",
      "proTipText": "Ga naar Piano's in het menu. Je ziet alle piano's gesorteerd op status. Oranje en rode piano's verschijnen eerst - dit zijn je kansen!\nBekijk deze lijst elke week en stuur herinneringen naar klanten met achterstallige piano's. Makkelijke manier om je agenda te vullen! 📅",
      "manualRecordTitle": "Handmatig een eerdere stemming vastleggen",
      "manualRecordIntro": "Heb je een piano gestemd voordat je PianoPlanner gebruikte? Je kunt de datum handmatig invoeren:",
      "manualStep1Title": "1. Bewerk de piano",
      "manualStep1Text": "Ga naar de piano en klik op Bewerken",
      "manualStep2Title": "2. Vind \"Laatste service datum\"",
      "manualStep2Text": "Zoek het datumkiezer veld",
      "manualStep3Title": "3. Voer de datum in",
      "manualStep3Text": "Klik op het veld en selecteer de datum van de laatste stemming",
      "manualStep4Title": "4. Opslaan",
      "manualStep4Text": "De piano's status wordt nu correct berekend!"
    },
    "slotDuration": {
      "title": "Kalender tijdslot duur",
      "intro": "Je kunt aanpassen hoe de kalender tijdslots weergeeft. Kies tussen 1-uur slots of 1,5-uur slots afhankelijk van je typische afspraakduur.",
      "changingTitle": "Slot duur wijzigen",
      "step1Title": "Ga naar het Dashboard",
      "step1Text": "Open je kalenderweergave.",
      "step2Title": "Vind de slot selector",
      "step2Text": "In de werkbalk naast de weergave-selector (Dag/Week/Maand) zie je een dropdown.",
      "step3Title": "Kies je duur",
      "step3Text": "Selecteer \"1 uur\" of \"1½ uur\" uit de dropdown.",
      "whenToUseTitle": "Wanneer welke gebruiken?",
      "whenToUseText": "1 uur slots: Standaard stem-afspraken, snelle services\n1,5 uur slots: Regulatie, intoneren, of wanneer stemmingen typisch langer duren",
      "savedAutomatically": "Je voorkeur wordt automatisch opgeslagen en onthouden voor je volgende bezoek."
    },
    "importData": {
      "title": "Data importeren",
      "intro": "Overstappen van een ander pianostembeheersysteem? De Import Hub van PianoPlanner maakt het eenvoudig om je bestaande gegevens over te zetten — klanten, piano's, afspraken en servicegeschiedenis.",
      "whatCanImportTitle": "Wat kun je importeren?",
      "importCustomers": "Klanten - Namen, adressen, telefoonnummers, e-mailadressen",
      "importPianos": "Piano's - Merk, model, serienummer, jaar, type, locatie",
      "importHistory": "Servicehistorie - Laatste stemdatums worden behouden",
      "importOrderTip": "Importeer altijd eerst klanten, dan piano's. Zo worden piano's automatisch gekoppeld aan de juiste klant.",
      "howToImportTitle": "Hoe importeren",
      "step1Title": "Exporteer uit je huidige systeem",
      "step1Text": "Exporteer je klanten en/of piano's als CSV-bestanden uit je huidige software.",
      "step2Title": "Ga naar Import",
      "step2Text": "Navigeer naar Instellingen → Data Importeren of ga direct naar de importpagina.",
      "step3Title": "Selecteer wat je wilt importeren",
      "step3Text": "Kies of je Klanten of Piano's wilt importeren.",
      "step4Title": "Upload het CSV-bestand",
      "step4Text": "Sleep je bestand of klik om te bladeren. Het systeem detecteert automatisch de kolommen.",
      "step5Title": "Bekijk preview en configureer",
      "step5Text": "Controleer de preview tabel en stel opties in zoals \"Duplicaten overslaan\" of \"Alleen actieve klanten\".",
      "step6Title": "Start import",
      "step6Text": "Klik op \"Start Import\" en wacht tot het proces voltooid is.",
      "optionsTitle": "Import opties",
      "optionHeader": "Optie",
      "whatDoesItDoHeader": "Wat doet het?",
      "activeOnly": "Alleen actief",
      "activeOnlyDesc": "Importeer alleen klanten/piano's die als actief gemarkeerd zijn",
      "skipDuplicates": "Duplicaten overslaan",
      "skipDuplicatesDesc": "Sla klanten over die al bestaan (gebaseerd op e-mail)",
      "includeCompany": "Bedrijfsnaam opnemen",
      "includeCompanyDesc": "Voeg bedrijfsnaam toe aan klantnaam",
      "undoImportTitle": "Import ongedaan maken",
      "undoImportText": "Foutje gemaakt? Na het importeren zie je een \"Import Ongedaan Maken\" knop waarmee je alle records van die import-batch in één keer kunt verwijderen.",
      "otherFormatsTitle": "Andere importformaten",
      "otherFormatsText": "Naast CSV ondersteunt PianoPlanner ook de volgende importformaten:",
      "gazelleTitle": "Gazelle Import",
      "gazelleDesc": "Stap je over van Gazelle (piano managementsoftware)? Gebruik de speciale Gazelle Import Wizard onder Instellingen → Import → Gazelle. Deze herkent automatisch het Gazelle-exportformaat.",
      "vcardTitle": "vCard (.vcf) Import",
      "vcardDesc": "Importeer contacten direct vanuit je telefoon of e-mailprogramma. Exporteer je contacten als .vcf-bestand en upload dit in PianoPlanner.",
      "icsTitle": "Agenda (.ics) Import",
      "icsDesc": "Importeer afspraken vanuit je bestaande agenda (Google, Apple, Outlook). Exporteer als .ics-bestand en upload het om bestaande afspraken over te nemen.",
      "importHubTitle": "Import Hub",
      "importHubText": "Ga naar Instellingen → Import om de Import Hub te openen. Kies hier de importmethode die bij jouw situatie past:",
      "methodHeader": "Methode",
      "bestForHeader": "Geschikt voor",
      "whatItImportsHeader": "Wat het importeert",
      "gazelleBestFor": "Overstappen van Gazelle",
      "gazelleImports": "Klanten, piano's, servicegeschiedenis — alles in één begeleide workflow met automatische veldtoewijzing",
      "contactsTitle": "Contacten importeren",
      "contactsBestFor": "Telefooncontacten, vCard-bestanden, CSV",
      "contactsImports": "Klanten — namen, adressen, telefoonnummers, e-mails uit .vcf of .csv bestanden",
      "calendarTitle": "Agenda importeren",
      "calendarBestFor": "Overstappen van een andere agenda",
      "calendarImports": "Afspraken uit .ics kalenderbestanden — datums, tijden, beschrijvingen",
      "genericCsvTitle": "Generiek CSV",
      "genericCsvBestFor": "Elk ander systeem",
      "genericCsvImports": "Klanten en piano's uit CSV met automatische kolomdetectie (binnenkort beschikbaar)",
      "gazelleWizardTitle": "Gazelle Wizard",
      "gazelleWizardText": "De Gazelle wizard is een stapsgewijze gids speciaal voor Gazelle-gebruikers. Exporteer je gegevens uit Gazelle als CSV-bestanden en upload ze in de wizard. PianoPlanner herkent automatisch de Gazelle-velden — klanten, piano's en servicegeschiedenis worden in één keer geïmporteerd.",
      "contactsImportTitle": "Contacten importeren",
      "contactsImportText": "Importeer klanten vanuit je telefooncontacten of een vCard (.vcf) bestand. Je kunt ook een CSV-bestand met klantgegevens uploaden. Namen, adressen, telefoonnummers en e-mailadressen worden automatisch geïmporteerd.",
      "calendarImportTitle": "Agenda importeren",
      "calendarImportText": "Upload een .ics bestand geëxporteerd uit Apple Agenda, Google Agenda, Outlook of een andere agenda-app. Afspraken worden aangemaakt met de originele datums, tijden en beschrijvingen."
    },
    "privateAppointments": {
      "title": "Privé Afspraken",
      "intro": "Wil je persoonlijke ritten apart bijhouden van zakelijke afspraken? Markeer afspraken als privé om ze gescheiden te houden in je kilometerregistratie en synchroniseer ze naar externe agenda's zonder details te onthullen.",
      "howToTitle": "Een privé afspraak aanmaken",
      "step1Title": "Maak of bewerk een afspraak",
      "step1Text": "Open het afspraakformulier op het dashboard.",
      "step2Title": "Schakel \"Privé afspraak\" in",
      "step2Text": "Zet de paarse toggle aan om dit als privé rit te markeren.",
      "step3Title": "Voeg een doel toe (optioneel)",
      "step3Text": "Voer een omschrijving in zoals \"Dokter\", \"Boodschappen\" of \"Familiebezoek\".",
      "visualTitle": "Visueel onderscheid",
      "visualText": "Privé afspraken verschijnen paars met een 🔒 icoon in je agenda, waardoor ze makkelijk te onderscheiden zijn van zakelijke afspraken.",
      "syncTitle": "Agenda synchronisatie",
      "syncText": "Bij synchronisatie naar Google, Apple of Microsoft agenda's verschijnen privé afspraken als \"Bezet\" zonder details, locatie of omschrijving te tonen. Je privacy is beschermd!",
      "taxTip": "Privé kilometers worden apart bijgehouden en kunnen worden geëxporteerd voor belastingdoeleinden. Dit helpt een duidelijke splitsing te behouden tussen zakelijk en privé reizen."
    },
    "mileageTracking": {
      "title": "Kilometerregistratie",
      "intro": "PianoPlanner houdt automatisch je gereden kilometers bij op basis van afspraaklocaties. Bekijk een compleet overzicht opgesplitst naar zakelijke en privé ritten.",
      "introNew": "Houd een fiscus-proof km-administratie bij. PianoPlanner registreert automatisch kilometers van afspraken, en je kunt handmatige ritten toevoegen, kilometerstanden invoeren en alles exporteren voor je belastingaangifte.",
      "proFeature": "Pro functie",
      "proFeatureText": "Kilometerregistratie is beschikbaar met het Pro-abonnement (€39,50/maand) en hoger.",
      "accessTitle": "Waar vind je het",
      "accessDashboard": "Dashboard — De km-widget in het rechterpaneel toont je huidige maand en laat je snel ritten toevoegen",
      "accessSettings": "Instellingen → Bedrijf → Km-registratie — Volledig overzicht met voertuiginfo, kilometerstanden, grafiek en exports",
      "accessTravelReport": "Reiskosten — Gedetailleerde rittenlijst met route-informatie en CSV-export",
      "accessText": "Ga naar Instellingen → Bedrijf → Kilometerregistratie om je kilometeroverzicht te bekijken.",
      "vehicleTitle": "Voertuig instellen",
      "vehicleText": "Ga naar Instellingen → Bedrijf → Km-registratie en vul je kenteken en voertuignaam in. Dit verschijnt op je kilometerrapportages en PDF-exports.",
      "odometerTitle": "Kilometerstanden",
      "odometerText": "Registreer je kilometerstanden periodiek (bijv. begin en eind van het jaar). Dit dient als bewijs voor de Belastingdienst en helpt je rittenregistratie te verifiëren.",
      "autoTrackTitle": "Automatische registratie",
      "autoTrackText": "Elke afspraak met een klantadres genereert automatisch een ritrecord. Het systeem berekent de afstand van je bedrijfsadres naar de klantlocatie.",
      "featuresTitle": "Functies",
      "feature1": "Jaaroverzicht met maandelijkse staafgrafiek",
      "feature2": "Aparte totalen voor zakelijk (groen) en privé (paars) ritten",
      "feature3": "Slimme retour-berekening: echte km van laatste klant terug naar huis via Google Maps",
      "feature4": "Exporteer naar CSV voor boekhouding of belastingaangifte",
      "smartCalcTitle": "Slimme retour-berekening",
      "smartCalcText": "Het systeem bepaalt automatisch of een rit enkel of retour is:",
      "oneWay": "Andere afspraken die dag → Alleen heenreis (je rijdt door naar de volgende locatie)",
      "roundTrip": "Laatste afspraak van de dag → Retour (echte km naar huis via Google Maps)",
      "manualTitle": "Handmatige ritten",
      "manualText": "Voor ritten die niet aan een afspraak gekoppeld zijn (bijv. onderdelen ophalen, leverancier bezoeken), voeg handmatige ritten toe via de dashboard km-widget of via Instellingen.",
      "manualStep1Title": "Snelle methode: Dashboard widget",
      "manualStep1Text": "Voer km in, doel en klik op +. Vink 'Privé' aan voor niet-zakelijke ritten, 'Retour' om de afstand te verdubbelen.",
      "manualStep2Title": "Uitgebreide methode: Instellingen",
      "manualStep2Text": "Ga naar Instellingen → Km-registratie → Handmatige rit formulier. Hier kun je ook de exacte datum, van/naar locaties instellen en ritten verwijderen.",
      "exportTitle": "Export & rapportages",
      "exportCSV": "CSV export — Download alle ritten als spreadsheet voor je boekhouder",
      "exportPDF": "PDF export — Genereer een fiscus-proof rapport met voertuiggegevens, kilometerstanden en rittenlijst",
      "exportChart": "Maandgrafiek — Visueel overzicht van zakelijke vs. privé km per maand",
      "taxTip": "De Belastingdienst vereist een complete rittenadministratie als je zakelijke reiskosten claimt. Registreer je kilometerstanden minstens aan het begin en eind van elk jaar.",
      "exportTip": "Exporteer je kilometerdata als CSV aan het eind van elk jaar voor je belastingaangifte. De export bevat datum, type, locatie, enkele afstand, retour-indicator en totale kilometers."
    },
    "travelReport": {
      "title": "Reiskosten rapport",
      "intro": "Het reiskostenrapport geeft je een gedetailleerd overzicht van al je ritten over elke periode. Filter op datumbereik, bekijk totalen en exporteer een complete declaratie.",
      "howToTitle": "Hoe te gebruiken",
      "step1Title": "Open Reiskosten",
      "step1Text": "Klik op \"Reiskosten\" in het navigatiemenu (auto-icoon).",
      "step2Title": "Stel het datumbereik in",
      "step2Text": "Gebruik de 'Van' en 'Tot' datumpickers om de periode te selecteren. Het rapport wordt automatisch bijgewerkt.",
      "step3Title": "Bekijk de samenvatting",
      "step3Text": "Bovenaan zie je totalen: aantal ritten, totaal km, gemiddelde km per rit, reistijd en declaratiebedrag.",
      "step4Title": "Exporteer naar CSV",
      "step4Text": "Klik op de CSV-knop om het volledige rapport te downloaden als spreadsheet voor je administratie of boekhouder.",
      "columnsTitle": "Rapportkolommen",
      "columnHeader": "Kolom",
      "descriptionHeader": "Beschrijving",
      "colDate": "Datum",
      "colDateDesc": "Datum van de afspraak",
      "colCustomer": "Klant",
      "colCustomerDesc": "Klantnaam met link naar detailpagina",
      "colLocation": "Locatie",
      "colLocationDesc": "Adres van de afspraak",
      "colRoute": "Route",
      "colRouteDesc": "Open in Google Maps voor navigatie",
      "colDistance": "Afstand",
      "colDistanceDesc": "Enkele afstand in km",
      "colTravelTime": "Reistijd",
      "colTravelTimeDesc": "Geschatte rijtijd",
      "tip": "Gebruik het zoekveld om ritten te filteren op klantnaam of locatie. Combineer dit met een datumbereik om specifieke ritten snel te vinden."
    },
    "workshop": {
      "title": "Werkplaats Planning",
      "intro": "PianoPlanner ondersteunt eigen werkplaats-tijdslots voor werk in je eigen werkplaats. Stel je werkplaats-beschikbaarheid in en deze worden automatisch geblokkeerd in de online boekingsagenda.",
      "setupTitle": "Werkplaatsuren instellen",
      "setupText": "Ga naar Instellingen → Werkplaats om je werkplaats-beschikbaarheid te configureren. Je kunt per dag van de week verschillende uren instellen, net als je reguliere werkuren.",
      "featuresTitle": "Functies",
      "feature1": "Werkplaats beschikbaarheid per dag van de week instellen",
      "feature2": "Werkplaatsuren worden automatisch geblokkeerd voor online boekingen",
      "feature3": "Smart Pick respecteert werkplaatsuren — geen overlappende suggesties",
      "feature4": "Werkplaatsafspraken zichtbaar in je agenda met een eigen icoon",
      "feature5": "Werkplaats statistieken in je dashboard rapporten",
      "smartPickTitle": "Smart Pick integratie",
      "smartPickText": "Wanneer je Smart Pick gebruikt om afspraaktijden voor te stellen, worden je werkplaatsuren automatisch vermeden. Zo krijgen klanten nooit een tijdslot aangeboden dat conflicteert met je werkplaatsplanning.",
      "tip": "Gebruik werkplaats planning voor terugkerend intern werk zoals piano-restauraties, intonatie of instrumentreparaties. Dit houdt je buitendienstplanning schoon en je werkplaatstijd georganiseerd."
    },
    "walkIn": {
      "title": "Inloop Afspraken & Taken",
      "intro": "Niet elke afspraak heeft een klantrecord nodig. Met PianoPlanner maak je snel inloop-afspraken en interne werkplaats-taken direct vanuit je dashboard.",
      "walkInTitle": "Inloop afspraken",
      "walkInText": "Wanneer een klant onverwacht langskomt, gebruik je de snelle inloop-knop op je dashboard. Vul een naam en dienst in — geen volledig klantrecord nodig.",
      "tasksTitle": "Taken zonder klant",
      "tasksText": "Wil je tijd blokkeren voor intern werk? Maak een taak aan zonder koppeling aan een klant. Perfect voor werkplaatsonderhoud, administratief werk of persoonlijke tijdblokken.",
      "howToTitle": "Hoe maak je ze aan",
      "howTo1": "Vanuit het dashboard: tik op de + knop en kies 'Inloop' of 'Taak'",
      "howTo2": "Inloop: vul een naam in, kies een dienst en prik een tijd",
      "howTo3": "Taak: voeg een omschrijving en tijd toe — geen klant nodig",
      "howTo4": "Beide typen verschijnen in je agenda en respecteren je beschikbaarheid",
      "tip": "Inloop-afspraken kunnen later worden omgezet naar volledige klantrecords. Als een inloop-klant terugkomt, kun je een volledig klantprofiel aanmaken en de eerdere afspraak koppelen."
    },
    "projectPlanner": {
      "title": "Workshop Projectplanner",
      "intro": "De Workshop Projectplanner helpt je bij het beheren van grotere werkplaatsklussen — piano-restauraties, revisies of elk project met meerdere stappen. Volg taken, uren, deadlines en koppel projecten aan klanten en piano's.",
      "businessOnly": "Zakelijk-abonnement",
      "businessOnlyText": "De Projectplanner is exclusief beschikbaar met het Zakelijk-abonnement (€89,50/maand). Upgrade via Instellingen → Abonnement om deze functie te ontgrendelen.",
      "createTitle": "Een project aanmaken",
      "createText": "Ga naar Projecten in het hoofdmenu en klik op 'Nieuw project'. Geef het een titel, koppel optioneel een klant en piano, stel een prioriteit en deadline in, en schat het totale aantal uren.",
      "tasksTitle": "Taken beheren",
      "tasksText": "Elk project kan meerdere taken bevatten. Voeg snel taken toe met het invoerveld onderaan de takenlijst, of klik op een taak om details zoals geschatte/werkelijke uren en vervaldatums te bewerken.",
      "task1": "Klik op de cirkel om de status te wisselen: Te doen → Bezig → Klaar",
      "task2": "Sleep taken via het handvat om de volgorde te wijzigen",
      "task3": "Houd geschatte vs. werkelijke uren per taak bij",
      "task4": "Stel vervaldatums in — te laat taken worden rood gemarkeerd",
      "capacityTitle": "Capaciteitsoverzicht",
      "capacityText": "De capaciteitsbalk op het projectenoverzicht toont hoeveel werkplaatsuren je deze week hebt gebruikt vs. beschikbaar. Dit is gebaseerd op je werkplaatsuren in Instellingen → Werkplaats.",
      "featuresTitle": "Functies",
      "feature1": "Koppel projecten aan klanten en piano's",
      "feature2": "Prioriteitsniveaus: Laag, Normaal, Hoog, Urgent",
      "feature3": "Statusbeheer: Planning → Actief → Gepauzeerd → Afgerond",
      "feature4": "Visuele voortgangsbalk op basis van afgeronde taken",
      "feature5": "Wekelijks capaciteitsoverzicht op basis van je werkplaatsuren",
      "feature6": "Filter en zoek door al je projecten",
      "quoteTitle": "Offertes & Prijzen",
      "quoteIntro": "Maak van je takenlijst een professionele offerte. Elke taak kan prijsinformatie bevatten die automatisch wordt berekend en klaar is om te delen met je klant.",
      "excelEditTitle": "Excel-stijl bewerken",
      "excelEditText": "De takenlijst werkt als een spreadsheet. Klik op een cel om inline te bewerken. Wijzigingen worden automatisch opgeslagen terwijl je typt. Druk op Enter om naar de volgende rij te gaan, of Tab om naar de volgende kolom te gaan.",
      "taskTypesTitle": "Taaktypen",
      "taskTypeLabor": "<strong>Arbeid</strong> — Werkuren gefactureerd tegen je uurtarief (in te stellen via Instellingen → Werkplaats)",
      "taskTypeMaterial": "<strong>Materiaal</strong> — Onderdelen, snaren, vilt, etc. Registreer kostprijs voor margeberekening",
      "taskTypeOther": "<strong>Overig</strong> — Transport, afvoer, huurkosten",
      "costOverviewTitle": "Kostenoverzicht",
      "costOverviewText": "Het kostenoverzicht onderaan toont real-time totalen voor arbeid, materialen en overige kosten. Alleen taken gemarkeerd als \"factureerbaar\" (groen vinkje) worden meegenomen in de offerte. Zet factureerbaar uit voor interne taken die je niet wilt doorberekenen.",
      "exportQuoteTitle": "Offerte exporteren",
      "exportQuoteText": "Klik op \"Kopieer offerte\" om een tekstversie naar je klembord te kopiëren (ideaal voor in e-mails), of klik op \"PDF\" om een professioneel opgemaakte offerte te openen, klaar om te printen of op te slaan als PDF.",
      "quoteTip": "Stel je uurtarief in via Instellingen → Werkplaats. Nieuwe arbeidstaken gebruiken automatisch dit tarief. Voor materialen kun je zowel de kostprijs (wat jij betaalt) als de verkoopprijs invullen om je marge te volgen.",
      "tip": "Gebruik projecten voor elke meerdaagse werkplaatsklus: volledige restauraties, mechaniekrevisies, klankbordherstellingen, of zelfs coördinatie van instrumenttransport. De takenlijst houdt je op koers en het urenoverzicht helpt bij het offreren van toekomstige vergelijkbare klussen."
    },
    "invoicing": {
      "setupTitle": "Facturering instellen",
      "setupIntro": "Voordat je je eerste factuur maakt, stel je de factuurinstellingen in. Ga naar Facturen en klik op het ⚙️ instellingen-icoon in de bovenste balk.",
      "numberingTitle": "Factuurnummering",
      "prefixStep": "Prefix",
      "prefixText": "Stel een prefix in voor je factuurnummers (bijv. \"F2026-\" of \"INV-\"). Je facturen worden genummerd als prefix + volgnummer, bijv. F2026-001, F2026-002, etc.",
      "nextNumberStep": "Volgend nummer",
      "nextNumberText": "Stel het volgende factuurnummer in. Handig als je halverwege het jaar overstapt vanuit een ander pakket — vul gewoon het nummer in waar je gebleven was. De teller loopt automatisch door bij elke nieuwe factuur.",
      "bankStep": "Bankgegevens",
      "bankText": "Vul je IBAN, banknaam en BIC-code in. Deze verschijnen op je facturen zodat klanten weten waar ze moeten betalen.",
      "footerStep": "Voettekst",
      "footerText": "Voeg je KvK-nummer, BTW-nummer of andere juridische tekst toe die onderaan elke factuur moet staan.",
      "setupTip": "Je kunt ook je eigen briefpapier uploaden (JPG/PNG) zodat je facturen bij je huisstijl passen. Als je briefpapier al je bedrijfsgegevens bevat, vink dan \"Verberg bedrijfsgegevens op factuur\" aan.",
      "createTitle": "Facturen aanmaken",
      "createIntro": "Er zijn twee manieren om een factuur te maken: vanuit de agenda of handmatig.",
      "fromAgendaTitle": "Vanuit de agenda (aanbevolen)",
      "fromAgendaText": "Na het afronden van een afspraak kun je direct een factuur aanmaken vanuit de agenda. Klik op de afspraak → kies \"Factuur maken\". De factuur wordt automatisch ingevuld met:",
      "prefill1": "Klantnaam en gegevens",
      "prefill2": "Dienstomschrijving met instrument (bijv. \"Stemmen — Steinway & Sons D\")",
      "prefill3": "Afspraakdatum in de omschrijving",
      "prefill4": "Dienstprijs uit je dienstenconfiguratie",
      "prefill5": "Opmerkingen van de klant (als aparte tekstregel)",
      "manualTitle": "Handmatige factuur",
      "manualText": "Ga naar Facturen → Nieuwe factuur. Zoek en selecteer een klant en voeg vervolgens factuurregels handmatig toe. Je kunt gewone regels met prijzen toevoegen, of tekstregels voor extra notities.",
      "sendTitle": "Facturen versturen",
      "sendText": "Als je factuur klaar is, sla deze op als \"Verzonden\". Je kunt hem vervolgens direct per e-mail naar de klant sturen met een PDF-bijlage. Als je Mollie hebt ingesteld, wordt automatisch een betaallink toegevoegd.",
      "createTip": "Je kunt 'Standaard diensten' in de factuurinstellingen gebruiken om veelgebruikte diensten snel aan elke factuur toe te voegen.",
      "mobileTitle": "Factureren op je telefoon",
      "mobileIntro": "Met PianoPlanner op je homescreen kun je facturen aanmaken en versturen direct vanaf je telefoon — zelfs terwijl je nog bij de klant bent.",
      "mobileFromCustomerTitle": "Vanuit een klantprofiel",
      "mobileFromCustomerText": "Open een klant in de PWA, scroll naar beneden en tik op \"Factuur aanmaken\". Er verschijnt een bottom sheet waar je kunt:",
      "mobilePrefill1": "Een dienst selecteren — de prijs wordt automatisch ingevuld",
      "mobilePrefill2": "Een omschrijving of notitie toevoegen",
      "mobilePrefill3": "De factuurstatus kiezen (concept, verzonden, betaald)",
      "mobilePrefill4": "Versturen met betaallink — de klant kan direct via iDEAL / Wero betalen",
      "mobileWorkflowTitle": "Typische mobiele workflow",
      "mobileStep1": "Rond de stembeurt af",
      "mobileStep1Text": "Voltooi de afspraak zoals gebruikelijk.",
      "mobileStep2": "Open klant → Factuur aanmaken",
      "mobileStep2Text": "Tik op de klant en druk op \"Factuur aanmaken\". Dienst en prijs worden automatisch ingevuld.",
      "mobileStep3": "Verstuur met betaallink",
      "mobileStep3Text": "Sla op en verstuur. De klant ontvangt een e-mail met een PDF-factuur en een iDEAL / Wero betaallink.",
      "mobileTip": "De pianostemmer is nog bij de klant thuis en de factuur is al verstuurd — met betaallink. Geen boekhoudprogramma nodig, geen handwerk aan het einde van de dag.",
      "btwTitle": "BTW afhandeling",
      "btwIntro": "PianoPlanner verwerkt BTW automatisch op basis van het klanttype. Dit wordt bepaald door het klanttype dat in het klantprofiel is ingesteld.",
      "btwPrivateTitle": "Particuliere klanten",
      "btwPrivateLabel": "Prijs = INCLUSIEF BTW",
      "btwPrivateText": "Voor particuliere klanten is de dienstprijs het totaalbedrag dat ze betalen, inclusief BTW. Voorbeeld: je dienst kost €125. De factuur toont: Subtotaal: €103,31 — BTW 21%: €21,69 — Totaal: €125,00",
      "btwBusinessTitle": "Zakelijk / Instellingen",
      "btwBusinessLabel": "Prijs = EXCLUSIEF BTW",
      "btwBusinessText": "Voor bedrijven, scholen, kerken en theaters is de dienstprijs exclusief BTW. BTW wordt erbij opgeteld. Voorbeeld: je dienst kost €125 excl. De factuur toont: Subtotaal: €125,00 — BTW 21%: €26,25 — Totaal: €151,25",
      "btwCustomerTypeTitle": "Klanttype instellen",
      "btwCustomerTypeText": "Om de juiste BTW-afhandeling te garanderen, stel je het klanttype in bij elk klantprofiel:",
      "typePrivate": "Particulier",
      "typePrivateDesc": "Prijs inclusief BTW",
      "typeBusiness": "Zakelijk",
      "typeBusinessDesc": "Prijs exclusief BTW",
      "typeSchool": "School",
      "typeSchoolDesc": "Prijs exclusief BTW",
      "typeChurch": "Kerk",
      "typeChurchDesc": "Prijs exclusief BTW",
      "typeTheater": "Theater",
      "typeTheaterDesc": "Prijs exclusief BTW",
      "btwTip": "Het standaard klanttype is 'Particulier'. Als je geen type instelt, wordt de prijs behandeld als inclusief BTW. Je kunt de prijs op de factuur altijd handmatig aanpassen."
    },
    "needHelp": {
      "title": "Hulp nodig?",
      "text": "Kom je er niet uit? Neem gerust contact met ons op.",
      "contactButton": "Contact Support"
    },
    "autoReminders": {
      "title": "Automatische Stemherinneringen",
      "intro": "PianoPlanner kan automatisch stemherinneringen versturen naar klanten wanneer hun piano toe is aan een stembeurt. U hoeft er niets voor te doen — het systeem bekijkt per piano wanneer de laatste stembeurt was, telt het steminterval erbij op, en stuurt op het juiste moment een herinnering. Bij geen reactie volgen er automatische follow-ups.",
      "whatIsIt": "Wat is het verschil met handmatige uitnodigingen?",
      "whatIsItText": "Handmatige uitnodiging: U klikt zelf bij elke klant op het e-mail icoontje om een uitnodiging te sturen. Automatische herinnering: PianoPlanner doet dit voor u. U stelt een keer in hoe het moet werken, en daarna worden alle klanten automatisch op het juiste moment herinnerd. Inclusief follow-ups als ze niet reageren.",
      "howItWorks": "Hoe werkt het?",
      "step1": "1. Piano heeft een steminterval",
      "step1Text": "Herinneringen worden alleen verstuurd voor piano's waarbij een steminterval is ingesteld (3, 6 of 12 maanden). Piano's op \"Neemt zelf contact op\" (steminterval 0) worden overgeslagen.",
      "step2": "2. Eerste herinnering gaat uit",
      "step2Text": "Stel, een piano heeft steminterval 6 maanden en de laatste stembeurt was op 1 januari. Dan is de volgende stembeurt rond 1 juli. Bij de standaardinstelling (30 dagen vooruit) ontvangt de klant de eerste herinnering rond 1 juni.",
      "step3": "3. Follow-up bij geen reactie",
      "step3Text": "Als de klant niet reageert (geen afspraak boekt), volgt na 14 dagen automatisch een tweede herinnering. Daarna volgt elke maand een volgende herinnering, tot het maximum is bereikt (standaard 4 herinneringen per cyclus).",
      "step4": "4. Cyclus stopt automatisch",
      "step4Text": "De herinneringen stoppen vanzelf zodra de klant een afspraak boekt, het maximum aantal herinneringen is bereikt, of de klant zich uitschrijft via de link onderaan de e-mail.",
      "setupTitle": "Instellen — Stap voor Stap",
      "setup1": "1. Ga naar Instellingen",
      "setup1Text": "Open Instellingen en scroll naar het kaartje \"Automatische Stemherinneringen\" (met het bel-icoontje). Klik erop om het open te klappen.",
      "setup2": "2. Schakel de functie in",
      "setup2Text": "Zet de schakelaar aan bij \"Automatische herinneringen inschakelen\". Er verschijnen nu extra opties.",
      "setup3": "3. Stel het schema in",
      "setup3Text": "Pas de volgende instellingen aan naar uw voorkeur:",
      "setting": "Instelling",
      "settingDefault": "Standaard",
      "settingExplanation": "Uitleg",
      "settingAdvance": "Hoeveel dagen voor de stembeurt de eerste e-mail wordt verstuurd. Bijvoorbeeld: 30 dagen = circa 1 maand van tevoren.",
      "settingFollowup": "Hoeveel dagen er zitten tussen de eerste en tweede herinnering. Daarna wordt het maandelijks.",
      "settingMax": "Maximaal aantal e-mails per piano per stemcyclus. Na dit aantal stopt het systeem, ook als de klant niet reageert.",
      "settingTime": "Rond welk tijdstip de e-mails worden verstuurd. Kies een tijdstip waarop uw klanten waarschijnlijk online zijn.",
      "setup4": "4. Verstuur een test",
      "setup4Text": "Klik op \"Test versturen\" om een voorbeeld-herinnering naar uw eigen e-mailadres te sturen. Zo ziet u precies hoe de e-mail eruitziet voor uw klanten.",
      "setup5": "5. Klik op Opslaan",
      "setup5Text": "Vergeet niet op \"Opslaan\" te klikken! Vanaf nu worden uw klanten automatisch herinnerd.",
      "templateTitle": "E-mail Sjabloon Aanpassen",
      "templateText": "De automatische herinneringen gebruiken hetzelfde sjabloon als de handmatige stembeurt-uitnodigingen. U kunt dit sjabloon aanpassen via:",
      "template1": "Via Instellingen",
      "template1Text": "Klik op \"Sjabloon bewerken\" bij de stemherinnering-instellingen. U wordt doorgestuurd naar de Template Editor.",
      "template2": "Extra variabelen",
      "template2Text": "Naast de standaard variabelen (klantnaam, piano, etc.) zijn er twee extra variabelen beschikbaar voor automatische herinneringen:",
      "varReminderNumber": "Het volgnummer van de herinnering (1, 2, 3...). Handig om in de tekst te vermelden.",
      "varUnsubscribeLink": "Een link waarmee de klant zich kan uitschrijven voor herinneringen. Deze wordt automatisch onderaan de e-mail geplaatst.",
      "unsubscribeTitle": "Uitschrijven door Klanten",
      "unsubscribeText": "Onderaan elke automatische herinnering staat een uitschrijflink. Als een klant hierop klikt, komt er een nette pagina met de bevestiging dat ze zijn uitgeschreven. Ze ontvangen dan geen herinneringen meer van u.",
      "unsubscribeStats": "In de statistieken bij de instellingen ziet u hoeveel klanten zich hebben uitgeschreven. Wilt u een klant opnieuw aanmelden? Neem dan contact op met de helpdesk.",
      "dashboardTitle": "Dashboard Widget",
      "dashboardText": "Zodra u automatische herinneringen inschakelt, verschijnt er een widget op uw dashboard met drie cijfers: het totaal aantal verstuurde herinneringen, het aantal van deze maand, en het aantal uitgeschreven klanten.",
      "prereqTitle": "Voorwaarden",
      "prereqCalloutTitle": "Belangrijk om te weten",
      "prereqCalloutText": "Automatische herinneringen worden alleen verstuurd als aan alle voorwaarden is voldaan: de functie is ingeschakeld, de piano heeft een steminterval (3, 6 of 12 maanden), de piano heeft een bekende datum van laatste stembeurt, de klant heeft een e-mailadres, en de klant heeft zich niet uitgeschreven.",
      "tipTitle": "Tip: Controleer uw klantgegevens",
      "tipText": "Voordat u de automatische herinneringen inschakelt, controleer of uw klanten een e-mailadres hebben en of de piano's een steminterval en laatste stembeurt-datum hebben ingevuld."
    },
    "accountingIntegration": {
      "title": "Boekhoudkoppeling",
      "intro": "PianoPlanner kan je facturen direct synchroniseren met je boekhoudsoftware, zodat je geen handmatige invoer meer hoeft te doen. Ga naar <strong>Instellingen → Integraties</strong> om je boekhoudpakket te koppelen.",
      "availableTitle": "Beschikbare integraties",
      "availableText": "Momenteel zijn drie integraties volledig operationeel. Er worden meer integraties ontwikkeld om pianotechnici in Nederland, België en Duitsland te ondersteunen.",
      "jorttTitle": "Jortt (Nederland)",
      "jorttIntro": "Jortt is een populair Nederlands boekhoudpakket ontworpen voor zzp'ers en kleine bedrijven. PianoPlanner verbindt via OAuth2 voor veilige, automatische factuursynchronisatie.",
      "jorttStep1Title": "API-gegevens ophalen",
      "jorttStep1Text": "Log in op je Jortt-account en ga naar <strong>Instellingen → API</strong>. Maak een nieuwe API-client aan om je Client ID en Client Secret te ontvangen.",
      "jorttStep2Title": "Koppelen in PianoPlanner",
      "jorttStep2Text": "Ga naar <strong>Instellingen → Integraties</strong>, zoek de Jortt-kaart, vul je Client ID en Client Secret in, en klik op <strong>Koppelen</strong>.",
      "jorttStep3Title": "Synchronisatie instellen",
      "jorttStep3Text": "Kies of je facturen automatisch wilt synchroniseren bij aanmaak, of handmatig via de sync-knop. Je kunt ook automatische synchronisatie inschakelen wanneer een factuur als verzonden wordt gemarkeerd.",
      "odooTitle": "Odoo (Internationaal)",
      "odooIntro": "Odoo is een internationaal open-source ERP-systeem met een krachtige boekhoudmodule. PianoPlanner verbindt via de JSON-RPC API van Odoo.",
      "odooWarning": "Odoo API-toegang vereist een Custom of Enterprise abonnement. Het gratis Odoo Online abonnement bevat geen externe API-toegang.",
      "odooStep1Title": "Odoo-gegevens verzamelen",
      "odooStep1Text": "Je hebt vier dingen nodig: je Odoo URL (bijv. https://mijnbedrijf.odoo.com), je databasenaam, je gebruikersnaam (e-mail) en een API-sleutel. Genereer een API-sleutel in Odoo via <strong>Instellingen → Gebruikers → API-sleutels</strong>.",
      "odooStep2Title": "Koppelen in PianoPlanner",
      "odooStep2Text": "Ga naar <strong>Instellingen → Integraties</strong>, zoek de Odoo-kaart, vul alle vier velden in en klik op <strong>Koppelen</strong>. PianoPlanner verifieert je gegevens direct.",
      "odooStep3Title": "Facturen synchroniseren",
      "odooStep3Text": "Eenmaal gekoppeld kun je de <strong>Sync</strong>-knop gebruiken om facturen naar Odoo te sturen. Elke factuur maakt een klantfactuur (account.move) aan in Odoo, en ontbrekende contacten worden automatisch aangemaakt.",
      "syncLogTitle": "Synchronisatielog",
      "syncLogText": "Elke synchronisatieactie wordt gelogd. Je kunt de synchronisatiegeschiedenis bekijken in de integratie-instellingen om te zien welke facturen succesvol zijn verstuurd en welke fouten zijn opgetreden. Dit helpt je snel problemen te herkennen en op te lossen.",
      "moneybirdTitle": "Moneybird (Nederland/België)",
      "moneybirdIntro": "Moneybird is een populair Nederlands online boekhoudpakket. PianoPlanner verbindt via de Moneybird API voor automatische factuursynchronisatie.",
      "moneybirdStep1Title": "API-token ophalen",
      "moneybirdStep1Text": "Log in op je Moneybird-account en ga naar Instellingen → Ontwikkelaars → Persoonlijke API-tokens. Maak een nieuw token aan.",
      "moneybirdStep2Title": "Koppelen in PianoPlanner",
      "moneybirdStep2Text": "Ga naar Instellingen → Integraties → Moneybird. Vul je API-token en administratie-ID in en klik op Koppelen.",
      "moneybirdStep3Title": "Facturen synchroniseren",
      "moneybirdStep3Text": "Eenmaal gekoppeld kun je facturen direct naar Moneybird sturen. Klanten worden automatisch aangemaakt als ze nog niet bestaan.",
      "comingSoonTitle": "Binnenkort beschikbaar",
      "comingSoonText": "We werken actief aan integraties met meer boekhoudpakketten die worden gebruikt door pianotechnici in heel Europa:",
      "comingSoonEboekhouden": "Nederlandse cloud boekhouding",
      "comingSoonExact": "Nederlands/internationaal ERP-systeem",
      "comingSoonDatev": "Duitse marktleider voor belastingadviseurs",
      "comingSoonLexoffice": "Populaire Duitse cloud boekhouding",
      "comingSoonSevdesk": "Duitse online boekhouding voor zzp'ers",
      "comingSoonYuki": "Nederlands/Belgische boekhouding met documentverwerking",
      "comingSoonBillit": "Belgisch facturatieplatform",
      "tip": "Mis je jouw boekhoudpakket? Laat het ons weten via support en we geven het prioriteit. Alle gegevens worden versleuteld en veilig opgeslagen — je API-sleutels zijn na opslaan nooit meer zichtbaar."
    },
    "dismiss": "Verbergen",
    "smartFill": {
      "title": "Route Vullen",
      "intro": "Heb je een gaatje in je agenda in een bepaald gebied? Route Vullen helpt je klanten in de buurt te vinden die aan een stembeurt toe zijn en laat je ze met één klik een uitnodiging sturen.",
      "howItWorksTitle": "Hoe werkt het?",
      "step1Title": "1. Open Route Vullen",
      "step1Text": "Ga naar Klanten en klik op de groene \"Route Vullen\" knop rechtsboven.",
      "step2Title": "2. Voer een locatie in",
      "step2Text": "Typ een plaatsnaam of postcode en kies een zoekstraal (10-50 km). Klik op Zoeken.",
      "step3Title": "3. Bekijk de resultaten",
      "step3Text": "Je ziet een lijst met klanten gesorteerd op urgentie. Elke klant toont afstand, laatste stembeurt en een urgentie-badge.",
      "step4Title": "4. Selecteer en verstuur",
      "step4Text": "Selecteer de klanten die je wilt uitnodigen en klik op \"Uitnodigingen versturen\". Ze ontvangen een stemuitnodiging met jouw boekingslink.",
      "urgencyTitle": "Urgentie-badges",
      "urgencyIntro": "Elke klant krijgt een gekleurde badge op basis van de laatste stembeurt:",
      "urgencyOverdue": "🔴 Te laat — Voorbij het steminterval",
      "urgencyDue": "🟠 Aan de beurt — Binnen één maand van het interval",
      "urgencySoon": "🟡 Bijna — Binnen drie maanden van het interval",
      "urgencyOk": "🟢 Op schema — Nog niet aan de beurt",
      "benefitsTitle": "Waarom Route Vullen gebruiken?",
      "benefitsText": "• Vul gaten in je agenda proactief\n• Combineer meerdere afspraken in hetzelfde gebied\n• Klanten waarderen de persoonlijke herinnering\n• Minder rijden, meer verdienen",
      "tip": "Alleen klanten met een ingesteld steminterval en een e-mailadres verschijnen in de resultaten. Zorg dat je klantgegevens up-to-date zijn voor de beste resultaten."
    },
    "servicesConfig": {
      "title": "Diensten",
      "intro": "Diensten bepalen wat je klanten aanbiedt — zoals stemmen, regulatie of reparatie. Elke dienst heeft een eigen duur, prijs en agendakleur. Klanten zien deze bij het online boeken.",
      "howToTitle": "Diensten instellen",
      "step1Title": "Ga naar Instellingen → Diensten",
      "step1Text": "Hier vind je een overzicht van al je diensten. Klik op \"Dienst toevoegen\" om een nieuwe aan te maken.",
      "step2Title": "Vul de gegevens in",
      "step2Text": "Naam, duur (in minuten), prijs, en optioneel een beschrijving die klanten op de boekingspagina zien.",
      "step3Title": "Stel buffertijden in",
      "step3Text": "Voeg buffertijd toe voor en/of na de afspraak. Dit geeft je reistijd of voorbereidingstijd tussen afspraken.",
      "step4Title": "Kies een agendakleur",
      "step4Text": "Elke dienst kan een eigen kleur hebben. Deze kleur verschijnt in je PianoPlanner-agenda en wordt gesynchroniseerd met Google Agenda. Zo zie je in één oogopslag welk type afspraak je hebt.",
      "step5Title": "Activeren of deactiveren",
      "step5Text": "Alleen actieve diensten verschijnen op de boekingspagina. Deactiveer een dienst om deze tijdelijk te verbergen zonder te verwijderen.",
      "colorTitle": "Agendakleuren",
      "colorText": "Dienstkleuren helpen je visueel onderscheid te maken tussen afspraaktypes in je agenda. Kies uit vooraf ingestelde kleuren zoals blauw, groen, rood, paars, enz. De kleur wordt ook gebruikt bij synchronisatie met Google Agenda.",
      "tip": "Maak verschillende diensten voor verschillende duren. Bijvoorbeeld: \"Piano stemmen\" (90 min), \"Vleugel stemmen\" (120 min) en \"Quick check\" (45 min). Zo boeken klanten altijd de juiste hoeveelheid tijd."
    },
    "reschedule": {
      "title": "Afspraak verplaatsen (Herplannen)",
      "intro": "Klanten kunnen hun eigen afspraak verplaatsen via een beveiligde link in de bevestigingsmail. Geen telefoontje of e-mail nodig — ze kiezen een nieuw tijdstip uit slimme suggesties en bevestigen met één klik.",
      "howItWorksTitle": "Hoe werkt het?",
      "step1Title": "Klant ontvangt bevestigingsmail",
      "step1Text": "Elke boekingsbevestiging bevat een \"Afspraak verplaatsen\" knop met een unieke, beveiligde link.",
      "step2Title": "Klant klikt op de link",
      "step2Text": "Ze zien hun huidige afspraak en een lijst met beschikbare alternatieve tijden, aangedreven door Slimme Suggesties met route-optimalisatie.",
      "step3Title": "Klant kiest een nieuw tijdstip",
      "step3Text": "Ze kiezen een nieuw tijdslot en bevestigen. De afspraak wordt automatisch verplaatst.",
      "step4Title": "Beide partijen worden geïnformeerd",
      "step4Text": "De klant ontvangt een bevestigingsmail met het nieuwe tijdstip. Jij (de technicus) ontvangt ook een notificatie dat de afspraak is verplaatst.",
      "rulesTitle": "Regels",
      "rule1": "Herplannen is alleen mogelijk tot 24 uur voor de afspraak",
      "rule2": "Afspraken in het verleden kunnen niet worden herplannen",
      "rule3": "De link is uniek per afspraak en werkt slechts één keer",
      "rule4": "Agendasynchronisatie (Google/Apple/Microsoft) wordt automatisch geactiveerd",
      "tip": "De herplanpagina gebruikt dezelfde Slimme Suggesties-engine als de boekingspagina — de huidige afspraak wordt uitgesloten en alleen tijden die passen in je schema en route worden getoond."
    },
    "routeOptimizer": {
      "title": "Route Optimalisatie",
      "intro": "De Route Optimizer gebruikt Google Maps om de meest efficiënte volgorde voor je afspraken te berekenen. Het kan automatisch je dag herordenen om de totale reistijd te verminderen.",
      "step1Title": "Open de optimizer",
      "step1Text": "Op het dashboard, klik op het route-icoon bij een dag met meerdere afspraken. De optimizer opent met een kaartweergave.",
      "step2Title": "Bekijk de voorgestelde volgorde",
      "step2Text": "Je ziet je afspraken uitgezet op de kaart met de geoptimaliseerde route. De totale reistijdbesparing wordt getoond.",
      "step3Title": "Toepassen met één klik",
      "step3Text": "Klik op \"Geoptimaliseerde route toepassen\" om je afspraken automatisch te herordenen. Agendasynchronisatie wordt automatisch bijgewerkt.",
      "tip": "De optimizer werkt het best wanneer je klanten nauwkeurige adressen hebben. Gebruik Google Maps suggesties bij het toevoegen van klantadressen."
    },
    "qrCode": {
      "title": "QR Code",
      "intro": "PianoPlanner heeft een ingebouwde QR-code generator voor je boekingspagina. Print het op visitekaartjes, flyers of plaats het in je werkplaats — klanten scannen het en gaan direct naar je boekingspagina.",
      "step1Title": "Ga naar de QR-code pagina",
      "step1Text": "Navigeer naar Instellingen → Boekingslink en klik op de QR-code knop, of open de QR-pagina direct.",
      "step2Title": "Downloaden of printen",
      "step2Text": "De QR-code linkt naar je persoonlijke boekingspagina. Download het als afbeelding en gebruik het op je marketingmateriaal."
    },
    "pwaInstall": {
      "title": "Mobiele App (PWA)",
      "intro": "PianoPlanner werkt als Progressive Web App (PWA) — je kunt het installeren op je telefoon of tablet en het gebruiken als een native app. Geen App Store nodig.",
      "iosTitle": "Installeren op iPhone / iPad",
      "iosStep1Title": "Open PianoPlanner in Safari",
      "iosStep1Text": "Ga naar pianoplanner.com en log in. Zorg dat je Safari gebruikt (niet Chrome of Firefox).",
      "iosStep2Title": "Tik op de Deel-knop",
      "iosStep2Text": "Tik op het deel-icoon (vierkant met pijl) onderaan het scherm.",
      "iosStep3Title": "Kies \"Zet op beginscherm\"",
      "iosStep3Text": "Scroll naar beneden en tik op \"Zet op beginscherm\". PianoPlanner verschijnt nu als app-icoon op je beginscherm.",
      "androidTitle": "Installeren op Android",
      "androidStep1Title": "Open PianoPlanner in Chrome",
      "androidStep1Text": "Ga naar pianoplanner.com en log in via Chrome.",
      "androidStep2Title": "Tik op \"Installeren\" of het menu",
      "androidStep2Text": "Je ziet mogelijk een \"Installeren\" banner onderaan. Anders tik op de drie puntjes (⋮) en kies \"App installeren\" of \"Toevoegen aan startscherm\".",
      "featuresTitle": "Wat krijg je op mobiel",
      "feature1": "Volledige agendaweergave geoptimaliseerd voor touch",
      "feature2": "Snel klanten en piano's opzoeken",
      "feature3": "Afspraken maken en bewerken onderweg",
      "feature4": "Facturen maken en versturen vanaf je telefoon",
      "feature5": "Push-notificaties voor nieuwe boekingen",
      "navigationTitle": "Navigatie",
      "navigationText": "De mobiele app heeft een navigatiebalk onderaan met 5 tabs: Agenda, Klanten, Piano's, Facturen en Slim Plannen. Je kunt snel van sectie wisselen met één tik."
    },
    "pushNotifications": {
      "title": "Push-notificaties",
      "intro": "Ontvang direct push-notificaties wanneer een klant online een afspraak boekt. Werkt op desktop en mobiel (wanneer de PWA is geïnstalleerd).",
      "step1Title": "Notificaties inschakelen",
      "step1Text": "Ga naar Instellingen → Notificaties en schakel push-notificaties in. Je browser vraagt om toestemming — klik op \"Toestaan\".",
      "step2Title": "Testen",
      "step2Text": "Klik op \"Test-notificatie versturen\" om te controleren of het werkt. Je zou binnen enkele seconden een notificatie moeten zien.",
      "tip": "Voor de beste ervaring, installeer de PWA op je telefoon en schakel notificaties in. Zo word je direct geïnformeerd wanneer een klant boekt, zelfs wanneer je PianoPlanner niet actief gebruikt."
    },
    "molliePayments": {
      "title": "Online Betalingen (Mollie)",
      "intro": "Accepteer iDEAL-, creditcard- en Wero-betalingen direct op je facturen via Mollie. Klanten klikken op de betaallink in de factuurmail en betalen direct.",
      "setupTitle": "Mollie instellen",
      "step1Title": "Maak een Mollie-account aan",
      "step1Text": "Ga naar mollie.com en maak een gratis account aan. Voltooi het verificatieproces (identiteitscontrole en bankrekening).",
      "step2Title": "Haal je API-sleutel op",
      "step2Text": "In je Mollie-dashboard, ga naar Ontwikkelaars → API-sleutels. Kopieer je Live API-sleutel.",
      "step3Title": "Koppelen in PianoPlanner",
      "step3Text": "Ga naar Instellingen → Integraties → Mollie. Plak je API-sleutel en klik op Verbinden. PianoPlanner verifieert de verbinding.",
      "step4Title": "Verstuur facturen met betaallink",
      "step4Text": "Wanneer je een factuur per e-mail verstuurt, wordt automatisch een betaallink toegevoegd. Klanten kunnen direct betalen via iDEAL, creditcard of Wero.",
      "tip": "Mollie rekent geen maandelijks kosten — je betaalt alleen per transactie (bijv. €0,29 per iDEAL-betaling). De factuurstatus wordt automatisch bijgewerkt wanneer de klant betaalt."
    },
    "subscription": {
      "title": "Abonnement & Facturering",
      "intro": "PianoPlanner biedt flexibele abonnementsplannen die bij je behoeften passen. Beheer je abonnement, upgrade, downgrade of werk je betalingsgegevens bij op elk moment.",
      "plansTitle": "Beschikbare plannen",
      "planHeader": "Plan",
      "priceHeader": "Prijs",
      "featuresHeader": "Belangrijkste functies",
      "starterPrice": "Gratis",
      "starterFeatures": "Basis planning, maximaal 25 klanten, 50 afspraken/jaar, agenda-export, e-mailbevestigingen",
      "soloFeatures": "Onbeperkt klanten & afspraken, route-optimalisatie, Smart Suggestions, eigen SMTP, data-import",
      "proFeatures": "Alles in Solo + tweeweg agendasync, facturatie, kilometerregistratie, boekhoudkoppelingen",
      "teamsFeatures": "Alles in Pro + teamdashboard, planning voor meerdere stemmers, team-boekingspagina, projectplanner (max 5 stemmers, +€15/extra)",
      "businessFeatures": "Alles in Teams + voorraadbeheer, showroombatches (max 10 stemmers)",
      "manageTitle": "Abonnement beheren",
      "step1Title": "Ga naar Facturering",
      "step1Text": "Klik op je profielicoon → Facturering, of ga direct naar de factureringspagina.",
      "step2Title": "Upgraden of downgraden",
      "step2Text": "Klik op \"Plan wijzigen\" om tussen plannen te wisselen. Wijzigingen gaan in op je volgende factuurdatum. Upgraden geeft direct toegang tot nieuwe functies.",
      "step3Title": "Betalingsbeheer",
      "step3Text": "Klik op \"Betaling beheren\" om je creditcard bij te werken, facturen te bekijken of je abonnement op te zeggen via het Stripe klantenportaal."
    },
    "teams": {
      "title": "Teams",
      "intro": "Werk je met meerdere technici? De Teams-functie laat je een gedeelde klantendatabase, gecoördineerde planning en team-boekingspagina's beheren.",
      "availabilityNote": "Teams is beschikbaar in het Teams-plan (€49,50/mnd). Functies zijn onder andere: teamliduitnodigingen, gedeelde klanten- en pianodatabase, gecoördineerde agenda, iCal-feeds per stemmer en een team-boekingspagina waar klanten een technicus kunnen kiezen of Smart Pick de beste match laat bepalen.",
      "setupTitle": "Aan de slag met Teams",
      "step1Title": "Maak een team aan",
      "step1Text": "Ga naar Instellingen → Teams en klik op \"Team aanmaken\". Geef je team een naam en stel het in.",
      "step2Title": "Nodig leden uit",
      "step2Text": "Nodig technici uit per e-mail. Ze ontvangen een uitnodiging om lid te worden van je team.",
      "step3Title": "Deel de team-boekingspagina",
      "step3Text": "Je team krijgt een gedeelde boekingspagina waar klanten hun voorkeurstechnicus kunnen kiezen, of het systeem de beste match laat bepalen op basis van beschikbaarheid en locatie."
    },
    "streamlineDay": {
      "title": "Dag stroomlijnen",
      "intro": "Heb je gaten tussen je afspraken die tijd verspillen? De Stroomlijn-knop maakt je schema automatisch strakker door afspraaktijden te herberekenen op basis van echte reistijden.",
      "availableFor": "Beschikbaar voor Solo & Pro",
      "availableForText": "Dag stroomlijnen is beschikbaar bij Solo- en Pro-abonnementen. Het gebruikt realtime reisberekeningen via Google Maps.",
      "howItWorksTitle": "Hoe werkt het?",
      "step1Title": "1. Open Route Analyse",
      "step1Text": "Ga naar het Dashboard en klik op de Analyse knop in de werkbalk.",
      "step2Title": "2. Klik op Stroomlijnen",
      "step2Text": "Klik in de daganalyse op de Stroomlijnen knop. Het systeem berekent echte reistijden tussen alle afspraken.",
      "step3Title": "3. Bekijk de voorvertoning",
      "step3Text": "Een voorvertoning toont het huidige vs. voorgestelde schema. Je ziet precies hoe elke afspraak verschuift, inclusief de bespaarde tijd.",
      "step4Title": "4. Toepassen of annuleren",
      "step4Text": "Klik op Toepassen om alle afspraaktijden bij te werken, of sluit de voorvertoning om je huidige schema te behouden.",
      "whatItDoesTitle": "Wat berekent Stroomlijnen?",
      "calc1": "Echte reistijd van je bedrijfsadres naar de eerste afspraak",
      "calc2": "Echte reistijd tussen elke opeenvolgende afspraak",
      "calc3": "Je ingestelde buffertijd wordt na elke reistijd toegevoegd",
      "calc4": "De eerste afspraak begint op je werkuren start + reistijd",
      "previewTitle": "De voorvertoning begrijpen",
      "previewText": "De voorvertoning toont elke afspraak met de huidige en voorgestelde nieuwe tijd. Afspraken die verschuiven worden gemarkeerd, en je ziet de totale besparing bovenaan de voorvertoning.",
      "benefitsTitle": "Voordelen",
      "benefitsText": "Elimineert onnodige gaten tussen afspraken\nGebruikt echte Google Maps reistijden - geen schattingen\nMaakt tijd vrij aan het einde van je dag\nEen klik om je hele schema te optimaliseren",
      "noteTitle": "Goed om te weten",
      "noteText": "Stroomlijnen past alleen afspraken aan die nog niet door de klant zijn bevestigd. Prive-afspraken en geblokkeerde tijdslots blijven op hun plaats. Bekijk altijd de voorvertoning voordat je toepast."
    },
    "trafficPrediction": {
      "title": "Verkeersprognose",
      "intro": "PianoPlanner kan rekening houden met echte verkeerscondities bij het berekenen van reistijden. In plaats van alleen de standaard rijtijd te gebruiken, kijkt het systeem naar de verwachte verkeersdrukte voor de specifieke dag en het tijdstip van elke afspraak.",
      "howItWorksTitle": "Hoe werkt het?",
      "howItWorksText": "Wanneer verkeersprognose is ingeschakeld, houdt elke reistijdberekening rekening met het verwachte vertrekmoment. Een rit op maandagochtend in de spits laat een langere reistijd zien dan dezelfde rit op een rustige zondagmiddag.",
      "whereUsedTitle": "Waar wordt het gebruikt?",
      "usage1": "Slimme Suggesties - Boekingssuggesties houden rekening met spitsverkeer",
      "usage2": "Routekleuren - Agendakleuren weerspiegelen realistische reistijden",
      "usage3": "Route Analyse - Analyse gebruikt verkeersbewuste reistijden",
      "usage4": "Stroomlijnen - Geoptimaliseerde schema's houden rekening met verkeerspatronen",
      "enableTitle": "Hoe in te schakelen",
      "step1Title": "1. Ga naar Instellingen",
      "step1Text": "Navigeer naar Instellingen - Reistijd.",
      "step2Title": "2. Schakel Verkeersprognose in",
      "step2Text": "Zet Verkeersprognose aan. Reistijden houden nu rekening met typische verkeerspatronen voor het tijdstip van de dag.",
      "exampleTitle": "Voorbeeld",
      "exampleText": "Een rit van Tilburg naar Amsterdam duurt normaal 89 minuten. Met verkeersprognose ingeschakeld, toont PianoPlanner mogelijk 91 minuten voor een vertrek op maandagochtend - zodat je niet te laat komt door de spits.",
      "noteTitle": "Goed om te weten",
      "noteText": "Verkeersprognoses zijn gebaseerd op historische verkeersdata van Google Maps. Ze weerspiegelen typische omstandigheden voor die dag en dat tijdstip, niet live verkeersincidenten. De reistijdcache wordt elke 2 uur vernieuwd om actueel te blijven."
    },
    "invoiceBookingLink": {
      "title": "Boekingslink in facturen",
      "intro": "Voeg een persoonlijke boekingslink toe aan je factuur-e-mails zodat klanten direct hun volgende stembeurt kunnen plannen. De link gebruikt het unieke boekingstoken van elke klant en stelt automatisch het juiste tijdframe voor op basis van het steminterval van hun piano.",
      "whyTitle": "Waarom gebruiken?",
      "whyText": "Na het stemmen van een piano ontvangt de klant je factuur. Direct onder de betaalknop zien ze een knop \"Plan je volgende afspraak\". Als de piano een steminterval van 6 maanden heeft en vandaag is gestemd, opent de kalender automatisch bij de juiste maand — moeiteloos vooruit plannen.",
      "howTitle": "Hoe het werkt",
      "step1Title": "1. Schakel de toggle in",
      "step1Text": "Ga naar Facturen → Instellingen (⚙️) en schakel \"Boekingslink opnemen in factuur-e-mails\" in. Dit voegt een boekingsknop toe aan elke factuur-e-mail die je verstuurt.",
      "step2Title": "2. Verstuur een factuur",
      "step2Text": "Wanneer je een factuur per e-mail verstuurt, verschijnt er een donkere \"Plan je volgende afspraak\" knop onder de betaalknop. Elke klant krijgt zijn eigen persoonlijke link.",
      "step3Title": "3. Klant klikt op de link",
      "step3Text": "De link opent de persoonlijke boekingspagina van de klant. Als de piano een steminterval heeft (bijv. 6 maanden), opent de kalender automatisch bij de voorgestelde maand. Slimme Suggesties tonen de beste beschikbare tijden rond die periode. De klant kan ook een eerdere datum kiezen.",
      "smartDateTitle": "Slimme datumberekening",
      "smartDateText": "De voorgestelde startdatum wordt automatisch berekend: laatste stemdatum + steminterval. Als een klant meerdere piano's heeft, kiest PianoPlanner de vroegste volgende stemdatum. Bijvoorbeeld: een piano gestemd op 9 april met een interval van 6 maanden stelt 9 oktober voor als startpunt.",
      "tip": "Klanten met een steminterval van 0 (\"klant neemt zelf contact op\") zien geen boekingslink. Zorg ervoor dat je piano's een steminterval en laatste stemdatum hebben ingesteld voor de beste ervaring.",
      "tipExisting": "De boekingslink verschijnt alleen als de klant een boekingstoken heeft. Alle klanten krijgen automatisch een token bij aanmaak. Bestaande klanten die zijn geïmporteerd moeten mogelijk eenmalig hun detailpagina bezoeken om een token te genereren."
    },
    "inventory": {
      "title": "Magazijnbeheer",
      "intro": "Beheer je pianovoorraad — showroomvoorraad, werkplaatsinstrumenten en verkochte piano's. Volg elk instrument van binnenkomst tot verkoop en plan showroom-stembatches efficiënt.",
      "businessOnly": "Business-functie",
      "businessOnlyText": "Magazijnbeheer is beschikbaar in het Business-abonnement (€89,50/mnd).",
      "addTitle": "Piano's toevoegen",
      "addText": "Ga naar Magazijn in het hoofdmenu. Klik op 'Piano toevoegen' om merk, model, serienummer, type (staand, vleugel, digitaal) en interne locatie in te voeren. Je kunt ook piano's in bulk importeren via CSV.",
      "locationsTitle": "Locaties & Status",
      "locationsText": "Elke piano heeft een locatie (showroom, werkplaats of overig) en een status (op voorraad of verkocht). Filter en zoek in je voorraad om elk instrument snel te vinden.",
      "batchTitle": "Showroom Batch Planning",
      "batchText": "Selecteer meerdere piano's en klik op 'Maak Showroom Batch' om een stemsessie voor allemaal tegelijk in te plannen. Stel de locatie in, de geschatte duur per piano, en kies een datum — of gebruik Slimme Suggesties om het beste moment te vinden.",
      "featuresTitle": "Functies",
      "feature1": "Volg piano's op merk, model, serienummer en type",
      "feature2": "Locatiebadges: Showroom, Werkplaats, Overig",
      "feature3": "Statusbijhouding: Op Voorraad → Verkocht",
      "feature4": "Meerdere piano's selecteren voor showroom batch-stemming",
      "feature5": "Slimme Suggesties-integratie voor batchplanning",
      "feature6": "CSV-import voor bulkvoorraadbeheer",
      "tip": "Gebruik showroom batch planning om alle showroompiano's in één efficiënte sessie te stemmen — geen reistijd nodig. Perfect voor muziekwinkels met 10+ instrumenten in de showroom."
    },
    "blockedDays": {
      "title": "Geblokkeerde dagen & Vakanties",
      "intro": "Op vakantie of een vrije dag nodig? Blokkeer dagen in je agenda zodat klanten geen afspraken kunnen boeken. Geblokkeerde dagen worden ook overgeslagen door Slimme Suggesties.",
      "howToTitle": "Dagen blokkeren",
      "howToText": "Er zijn twee manieren om dagen te blokkeren:",
      "dashboardMethodTitle": "Vanuit het Dashboard",
      "dashStep1": "Klik op een dag in de agenda",
      "dashStep1Text": "Het actiemenu verschijnt met diverse opties.",
      "dashStep2": "Kies \"Niet beschikbaar\"",
      "dashStep2Text": "Selecteer de rode \"Niet beschikbaar\" optie uit het actiemenu.",
      "dashStep3": "Stel datums en reden in",
      "dashStep3Text": "Kies een begin- en einddatum, voeg optioneel een reden toe (bijv. \"Vakantie\", \"Cursus\"). Klik op opslaan.",
      "settingsMethodTitle": "Vanuit Instellingen",
      "settingsMethodText": "Ga naar Instellingen → Geblokkeerde dagen om al je geblokkeerde periodes in één overzicht te zien. Voeg nieuwe toe, bewerk bestaande of verwijder ze. Opeenvolgende dagen met dezelfde titel worden gegroepeerd.",
      "effectsTitle": "Wat gebeurt er als dagen geblokkeerd zijn?",
      "effect1": "Online boeken is uitgeschakeld voor die dagen — klanten zien ze als niet beschikbaar",
      "effect2": "Slimme Suggesties slaat geblokkeerde dagen over bij het aanbevelen van afspraaktijden",
      "effect3": "Geblokkeerde dagen verschijnen in je agenda met een herkenbare visuele stijl",
      "effect4": "Agendasynchronisatie respecteert geblokkeerde dagen — ze verschijnen als \"Bezet\" in externe agenda's",
      "tip": "Plan je vakanties vooruit. Geblokkeerde dagen zijn meteen zichtbaar voor klanten die proberen te boeken, waardoor conflicten voorkomen worden terwijl je weg bent."
    },
    "ubl": {
      "title": "UBL / e-Facturatie",
      "intro": "PianoPlanner kan machineleesbare UBL 2.1 XML-facturen genereren naast je PDF-facturen. Deze e-facturen voldoen aan Europese standaarden en worden automatisch bijgevoegd bij het e-mailen van facturen.",
      "standardsTitle": "Ondersteunde standaarden",
      "standardHeader": "Standaard",
      "countryHeader": "Land",
      "descHeader": "Beschrijving",
      "nlciusDesc": "Nederlandse implementatie van de EU e-facturatiestandaard",
      "xrechnungDesc": "Duitse e-facturatiestandaard, verplicht voor B2G-facturen",
      "peppolDesc": "Pan-Europese e-facturatiestandaard voor grensoverschrijdende facturen",
      "howItWorksTitle": "Hoe werkt het",
      "howItWorksText": "Ga naar Facturen → Instellingen en zoek de UBL-schakelaar. Indien ingeschakeld, bevat elke factuur-e-mail automatisch een UBL XML-bijlage naast de PDF. De juiste standaard wordt gekozen op basis van het land van je klant.",
      "optionsTitle": "Opties",
      "option1": "<strong>Auto (standaard)</strong> — UBL is ingeschakeld voor EU-klanten, uitgeschakeld voor niet-EU",
      "option2": "<strong>Altijd aan</strong> — UBL XML bij elke factuur-e-mail",
      "option3": "<strong>Uit</strong> — Geen UBL XML, alleen PDF",
      "tip": "UBL e-facturen worden steeds vaker verplicht voor B2G-facturatie (overheid) in Europa. Zelfs als het nog niet verplicht is voor jouw klanten, bereid je je voor op de toekomst."
    },
    "language": {
      "title": "Taalinstellingen",
      "intro": "PianoPlanner is beschikbaar in 9 talen. Wijzig je interfacetaal op elk moment — alle menu's, labels, e-mails en factuursjablonen passen zich aan.",
      "howToTitle": "Taal wijzigen",
      "step1Title": "Ga naar Instellingen",
      "step1Text": "Navigeer naar Instellingen → Taal.",
      "step2Title": "Selecteer je taal",
      "step2Text": "Kies uit de dropdown: English, English (US), Nederlands, Deutsch, Deutsch (Österreich), Deutsch (Schweiz), Français, Español of Italiano.",
      "step3Title": "Automatische update",
      "step3Text": "De interface wordt direct bijgewerkt. Geen herlaadactie nodig — alle labels, menu's en meldingen schakelen over naar je gekozen taal.",
      "whatChangesTitle": "Wat verandert er met je taalinstelling?",
      "change1": "Alle menu's, labels en knoppen in de interface",
      "change2": "E-mailsjablonen die naar je klanten worden gestuurd",
      "change3": "Factuurlabels en opmaak",
      "change4": "Boekingspagina's die je klanten zien",
      "change5": "Datum- en getalnotatie",
      "tip": "Je taalinstelling beïnvloedt ook e-mails naar klanten. Als je internationale klanten bedient, overweeg dan je taal in te stellen op die van je belangrijkste klantengroep."
    },
    "tunerPortal": {
      "title": "Stemmersportaal",
      "intro": "Het Stemmersportaal geeft teamleden een eenvoudig, alleen-lezen overzicht van hun toegewezen afspraken zonder een volledig PianoPlanner-account. Toegang via een veilige magic link verstuurd door de teameigenaar.",
      "teamsOnly": "Teams-functie",
      "teamsOnlyText": "Het Stemmersportaal is beschikbaar in het Teams-abonnement (€49,50/mnd) en hoger.",
      "sendLinkTitle": "Een magic link versturen",
      "step1Title": "Ga naar Teams",
      "step1Text": "Open je teaminstellingen en zoek het teamlid dat je portaaltoegang wilt geven.",
      "step2Title": "Verstuur Magic Link",
      "step2Text": "Klik op \"Verstuur Magic Link\" naast de naam van het teamlid. Er wordt een e-mail met een veilige inloglink gestuurd naar hun e-mailadres.",
      "step3Title": "Stemmer opent de link",
      "step3Text": "De stemmer klikt op de link en wordt automatisch ingelogd — geen wachtwoord nodig.",
      "featuresTitle": "Portaalfuncties",
      "feature1": "Bekijk de afspraken van vandaag en deze week",
      "feature2": "Werk afspraakstatus bij: Bevestigd, Onderweg, Afgerond",
      "feature3": "Voeg notities toe aan afspraken",
      "feature4": "Mobielvriendelijk ontwerp — werkt op elke telefoon of tablet",
      "tip": "Magic links zijn tijdelijk geldig voor de veiligheid. Als de link van een stemmer is verlopen, stuur eenvoudig een nieuwe vanuit de teaminstellingen."
    },
    "leads": {
      "title": "Leads beheren",
      "intro": "Wanneer een potentiële klant het boekingsproces start maar niet afrondt, worden de contactgegevens opgeslagen als lead. Zo verlies je nooit een potentiële klant, zelfs als ze halverwege afhaken.",
      "howItWorks": "Hoe werkt het?",
      "howItWorksText": "• Een bezoeker opent je boekingspagina en vult naam, email en telefoonnummer in\n• Deze gegevens worden direct opgeslagen als lead\n• Als de bezoeker de boeking afrondt, wordt de lead automatisch omgezet naar klant\n• Als ze afhaken voor de bevestiging, heb je toch hun contactgegevens om op te volgen",
      "managingLeads": "Je leads beheren",
      "managingLeadsText": "Ga naar Leads in het zijbalkmenu (onder Planning). Hier zie je al je leads met filteropties.",
      "step1Title": "1. Filter op status",
      "step1Text": "Gebruik de filtertabs bovenaan om leads te bekijken per status: Alle, Nieuw, Gecontacteerd, Geconverteerd of Afgewezen.",
      "step2Title": "2. Zoek leads",
      "step2Text": "Gebruik de zoekbalk om snel een lead te vinden op naam, email, telefoonnummer of locatie.",
      "step3Title": "3. Status bijwerken",
      "step3Text": "Wijzig de status van een lead via de dropdown op elke kaart. Markeer bijvoorbeeld als \"Gecontacteerd\" nadat je gebeld hebt.",
      "step4Title": "4. Leads verwijderen",
      "step4Text": "Niet meer relevant? Klik op de verwijderknop op een leadkaart. Je wordt gevraagd te bevestigen voordat het permanent wordt verwijderd.",
      "statusOverview": "Status overzicht",
      "statusNew": "Nieuw — Net binnengekomen, nog niet gecontacteerd",
      "statusContacted": "Gecontacteerd — Je hebt contact opgenomen",
      "statusConverted": "Geconverteerd — Ze zijn klant geworden (afspraak geboekt)",
      "statusDismissed": "Afgewezen — Niet geïnteresseerd of niet relevant",
      "tipFollowUp": "Tip: Volg snel op",
      "tipFollowUpText": "Een lead die het boekingsproces heeft afgebroken was duidelijk geïnteresseerd in je diensten. Bel of mail ze binnen 24 uur — je zult verrast zijn hoeveel er alsnog boeken!",
      "followUpEmailTitle": "Stuur een follow-up e-mail",
      "followUpEmailText": "Zie je een nieuwe lead met een e-mailadres? Stuur met één klik een follow-up e-mail! De e-mail bevat een link naar je boekingspagina met hun gegevens al ingevuld — zodat ze de boeking kunnen afronden zonder iets opnieuw in te vullen.",
      "followUpStep1Title": "1. Zoek de lead",
      "followUpStep1Text": "Ga naar Leads en zoek de lead waarmee je contact wilt opnemen.",
      "followUpStep2Title": "2. Klik op de verzendknop",
      "followUpStep2Text": "Klik op het vliegtuigje-icoon ✈️ naast de lead. Er wordt direct een follow-up e-mail verstuurd.",
      "followUpStep3Title": "3. Status wordt automatisch bijgewerkt",
      "followUpStep3Text": "De status van de lead verandert naar \"Gecontacteerd\" na het verzenden. De e-mail bevat een boekingslink met naam, e-mail, telefoon en adres al ingevuld.",
      "contactRequestTitle": "Contactverzoeken",
      "contactRequestText": "Wanneer een klant geen passend moment kan vinden op je boekingspagina, kan hij \"Neem direct contact op\" klikken. Je ontvangt een e-mail met hun gegevens zodat je kunt bellen en samen een moment kunt vinden. Zo gaat geen potentiële klant verloren — ook niet als de beschikbare tijdsloten niet passen."
    }
  },
  "travelReport": {
    "title": "Reiskosten Declaratie - PianoPlanner",
    "heading": "Reiskosten",
    "subtitle": "Overzicht van alle reisafstanden voor facturering",
    "startDate": "Van",
    "endDate": "Tot",
    "customerFilter": "Klant (optioneel)",
    "searchPlaceholder": "Zoek klant...",
    "generate": "Rapport Genereren",
    "export": "CSV",
    "totalAppointments": "Ritten",
    "totalKm": "Kilometers",
    "avgKm": "Gem. km",
    "totalTime": "Reistijd",
    "costLabel": "Declaratie",
    "loading": "Laden...",
    "emptyState": "Selecteer een periode",
    "emptyHint": "Het rapport wordt automatisch gegenereerd",
    "date": "Datum",
    "time": "Tijd",
    "customer": "Klant",
    "location": "Locatie",
    "route": "Route",
    "service": "Dienst",
    "distance": "Afstand",
    "travelTime": "Reistijd",
    "notes": "Notities",
    "noDataFound": "Geen reisgegevens gevonden",
    "errorLoading": "Kon rapport niet laden",
    "errorExport": "Genereer eerst een rapport",
    "selectDates": "Selecteer een start- en einddatum"
  },
  "onboarding": {
    "welcome": "Welkom bij PianoPlanner",
    "subtitle": "Laten we je account configureren in een paar stappen",
    "companyTitle": "Bedrijfsgegevens",
    "companyDescription": "Vul je bedrijfsinformatie in. Dit wordt gebruikt voor facturen en klantcommunicatie.",
    "companyName": "Bedrijfsnaam *",
    "companyNamePlaceholder": "Bijv. Piano Service Amsterdam",
    "findAddress": "Adres zoeken",
    "findAddressPlaceholder": "Bijv. Keizersgracht 123, Amsterdam",
    "addressAutoFill": "Adres wordt automatisch ingevuld via Google",
    "street": "Straat en huisnummer",
    "postalCode": "Postcode",
    "city": "Plaats",
    "country": "Land",
    "postalCodePlaceholder": "1234 AB",
    "cityPlaceholder": "Amsterdam",
    "stepCompany": "Bedrijf",
    "stepServices": "Diensten",
    "stepTravel": "Reistijd",
    "stepCalendar": "Agenda",
    "stepTest": "Test",
    "stepDone": "Klaar!",
    "next": "Volgende",
    "previous": "Vorige",
    "skip": "Overslaan en later configureren",
    "skipConfirm": "Weet je zeker dat je de setup wilt overslaan? Je kunt deze instellingen later alsnog aanpassen in Instellingen.",
    "calendarTitle": "Agenda Koppelen",
    "calendarDescription": "Koppel je bestaande agenda zodat PianoPlanner weet wanneer je al bezet bent. Zo voorkomt de slimme planning dubbele afspraken.",
    "calendarWhyTitle": "Waarom je agenda koppelen?",
    "calendarWhy1": "PianoPlanner ziet wanneer je al een afspraak hebt",
    "calendarWhy2": "De slimme planner stelt alleen vrije tijdsloten voor",
    "calendarWhy3": "Klanten kunnen niet boeken op momenten dat je bezet bent",
    "calendarOptionGoogle": "Google Calendar",
    "calendarOptionGoogleDesc": "Beste keuze als je Gmail of een Google-account gebruikt. Volledige twee-weg synchronisatie.",
    "calendarOptionGoogleBtn": "Koppel Google Calendar",
    "calendarOptionApple": "Apple Calendar (iCloud)",
    "calendarOptionAppleDesc": "Ideaal als je een iPhone of Mac gebruikt. Twee-weg synchronisatie via iCloud.",
    "calendarOptionAppleBtn": "Koppel Apple Calendar",
    "calendarOptionOutlook": "Microsoft Outlook",
    "calendarOptionOutlookDesc": "Voor gebruikers van Outlook, Hotmail of een Microsoft 365 werkaccount.",
    "calendarOptionOutlookBtn": "Koppel Outlook",
    "calendarOptionIcal": "Andere agenda (iCal)",
    "calendarOptionIcalDesc": "Werkt met Samsung Agenda, Thunderbird en elke andere app die iCal ondersteunt. Alleen-lezen.",
    "calendarOptionIcalBtn": "Bekijk iCal instructies",
    "calendarIcalWhat": "Wat is iCal?",
    "calendarIcalTitle": "Uw stemafspraken in uw eigen vertrouwde agenda",
    "calendarIcalIntro": "Wilt u uw stemafspraken automatisch terugzien in de agenda die u al op uw telefoon of computer gebruikt (zoals die van Samsung, Google of Outlook)? Dat kan heel eenvoudig door de agenda's met elkaar te verbinden.",
    "calendarIcalHow": "Hoe werkt het?",
    "calendarIcalHowText": "U kopieert een speciale 'digitale sleutel' (een link). Deze plakt u éénmalig in uw eigen agenda-app. Daarna worden al uw afspraken automatisch gesynchroniseerd.",
    "calendarIcalExplain": "iCal is een universeel formaat waarmee agenda-apps met elkaar kunnen praten. Je krijgt van PianoPlanner een speciale link (URL) die je in je eigen agenda-app plakt. Je afspraken verschijnen dan automatisch in je agenda.",
    "calendarIcalStep1Title": "Kopieer de link",
    "calendarIcalStep1": "Na de setup vindt u in Instellingen → Integraties een knop om de agendalink te kopiëren.",
    "calendarIcalStep2Title": "Plak de link in uw eigen agenda",
    "calendarIcalStep2": "Open uw agenda-app en zoek naar de optie om een agenda toe te voegen.",
    "calendarIcalStep3": "Open je agenda-app en zoek 'Agenda toevoegen' of 'Abonneren'",
    "calendarIcalStep4": "Plak de URL en sla op — je afspraken verschijnen binnen een uur",
    "calendarIcalTipGoogle": "Ga (liefst op de computer) naar 'Agenda toevoegen' en kies 'Via URL'.",
    "calendarIcalTipOutlook": "Kies 'Nieuwe agenda' en kies daarna 'Op het netwerk' of 'Uit internet'.",
    "calendarIcalGoodToKnow": "Goed om te weten",
    "calendarIcalNote1": "Alleen kijken — u ziet uw afspraken in uw eigen agenda, maar wijzigingen maakt u in PianoPlanner.",
    "calendarIcalNote2": "Automatisch — zodra u een afspraak inplant, verschijnt deze vanzelf in uw andere agenda.",
    "calendarSkip": "Sla over, ik doe dit later",
    "calendarConnected": "Agenda gekoppeld!",
    "calendarSkipNote": "Agenda-knoppen openen in een nieuw tabblad — je kunt ze later afmaken. Klik hieronder op \"Volgende\" om door te gaan.",
    "finishBtn": "Start PianoPlanner",
    "servicesTitle": "Diensten Configureren",
    "servicesDescription": "Configureer de diensten die je aanbiedt. Je kunt later altijd meer toevoegen.",
    "addService": "Dienst toevoegen",
    "noServices": "Nog geen diensten. Voeg er een toe!",
    "modalAddService": "Dienst toevoegen",
    "modalEditService": "Dienst bewerken",
    "serviceName": "Naam *",
    "serviceNamePlaceholder": "Bijv. Stemmen",
    "serviceDuration": "Duur (minuten) *",
    "serviceDescription": "Beschrijving",
    "serviceOptional": "Optioneel",
    "servicePrice": "Prijs (€)",
    "cancel": "Annuleren",
    "save": "Opslaan",
    "travelTitle": "Reistijd & Voorkeuren",
    "travelDescription": "Stel je reistijd voorkeuren in voor de slimme planning.",
    "maxTravelTime": "Max. reistijd tussen afspraken (minuten)",
    "maxTravelTimeHint": "Smart Appointment geeft voorrang aan afspraken binnen dit bereik.",
    "maxBookingTravelTime": "Max. reistijd voor boekingen (minuten)",
    "maxBookingTravelTimeHint": "Klanten buiten dit bereik zien een contactbericht.",
    "minutes10": "10 minuten",
    "minutes15": "15 minuten",
    "minutes20": "20 minuten",
    "minutes25": "25 minuten",
    "minutes30": "30 minuten",
    "minutes35": "35 minuten",
    "minutes40": "40 minuten",
    "minutes45": "45 minuten",
    "hour1": "1 uur",
    "hours1_5": "1,5 uur",
    "hours2": "2 uur",
    "testTitle": "Probeer het uit",
    "testDescription": "Maak een testklant aan om de app te verkennen.",
    "testCardTitle": "Testklant aanmaken",
    "testCardDescription": "We maken een voorbeeldklant \"Test Klant\" aan met een piano \"Yamaha U1\". Zo kun je direct zien hoe alles werkt!",
    "testButton": "Maak testklant aan",
    "testResult": "✅ Testklant en piano aangemaakt!",
    "doneTitle": "Je bent klaar!",
    "doneDescription": "Hier zijn een paar tips om te beginnen:",
    "tipGreenTitle": "Groene datums",
    "tipGreenText": "Een piano moet binnenkort gestemd worden en past goed in je schema.",
    "tipRedTitle": "Rode datums",
    "tipRedText": "Een piano is al te lang niet gestemd - urgent om in te plannen!",
    "tipSmartTitle": "Smart Appointment",
    "tipSmartText": "Krijg automatisch de beste afspraaksuggesties gebaseerd op locatie en urgentie.",
    "errorSaving": "Er ging iets mis bij het opslaan. Probeer het opnieuw.",
    "errorCompanyName": "Vul een bedrijfsnaam in.",
    "errorServiceSave": "Kon dienst niet opslaan.",
    "errorServiceDelete": "Kon dienst niet verwijderen.",
    "errorGeneric": "Er ging iets mis.",
    "confirmDeleteService": "Weet je zeker dat je deze dienst wilt verwijderen?",
    "pleaseWait": "Even geduld...",
    "creating": "Aanmaken...",
    "created": "Aangemaakt!",
    "tryAgain": "Probeer opnieuw",
    "phone": "Telefoonnummer",
    "phonePlaceholder": "+31 6 12345678",
    "pageTitle": "Welkom bij PianoPlanner — Setup Wizard",
    "goToDashboardCta": "Naar je dashboard",
    "goToDashboardHint": "Lees eerst de tips hieronder als je wilt.",
    "streetPlaceholder": "Keizersgracht 123"
  },
  "projects": {
    "title": "Projecten",
    "detailTitle": "Project - PianoPlanner",
    "subtitle": "Workshop projectplanner",
    "newProject": "Nieuw project",
    "noProjects": "Nog geen projecten",
    "noProjectsText": "Begin met je eerste project door op 'Nieuw project' te klikken.",
    "backToProjects": "Terug naar projecten",
    "notFound": "Project niet gevonden",
    "statusPlanning": "Planning",
    "statusActive": "Actief",
    "statusPaused": "Gepauzeerd",
    "statusCompleted": "Afgerond",
    "statusCancelled": "Geannuleerd",
    "priorityLow": "Laag",
    "priorityNormal": "Normaal",
    "priorityHigh": "Hoog",
    "priorityUrgent": "Urgent",
    "filterAll": "Alle",
    "filterActive": "Actief",
    "filterPlanning": "Planning",
    "filterCompleted": "Afgerond",
    "searchPlaceholder": "Zoek projecten...",
    "projectTitle": "Projecttitel",
    "description": "Omschrijving",
    "customer": "Klant",
    "noCustomer": "-- Geen klant --",
    "selectCustomer": "Selecteer klant",
    "piano": "Piano",
    "noPiano": "-- Geen piano --",
    "selectPiano": "Selecteer piano",
    "selectCustomerFirst": "Selecteer eerst een klant",
    "priority": "Prioriteit",
    "status": "Status",
    "estimatedHours": "Geschatte uren",
    "actualHours": "Werkelijke uren",
    "deadline": "Deadline",
    "notes": "Notities",
    "capacity": "Capaciteit deze week",
    "hoursUsed": "uur gebruikt",
    "hoursAvailable": "beschikbaar",
    "tasks": "Taken",
    "tasksCompleted": "Taken klaar",
    "hoursWorked": "Uren gewerkt",
    "hoursPlanned": "Gepland",
    "hoursEstimated": "Geschat",
    "progress": "Voortgang",
    "addTask": "Toevoegen",
    "addTaskPlaceholder": "Nieuwe taak toevoegen...",
    "editTask": "Taak bewerken",
    "taskTitle": "Taak",
    "taskDescription": "Omschrijving",
    "taskTodo": "Te doen",
    "taskInProgress": "Bezig",
    "taskDone": "Klaar",
    "completedTasks": "Afgerond",
    "dueDate": "Vervaldatum",
    "taskTitleRequired": "Taak titel is verplicht",
    "taskAdded": "Taak toegevoegd",
    "taskUpdated": "Taak bijgewerkt",
    "taskDeleted": "Taak verwijderd",
    "projectSaved": "Project opgeslagen",
    "projectCreated": "Project aangemaakt",
    "projectUpdated": "Project bijgewerkt",
    "projectDeleted": "Project verwijderd",
    "duplicate": "Dupliceer",
    "duplicating": "Project dupliceren...",
    "projectDuplicated": "Project gedupliceerd",
    "duplicateError": "Kon project niet dupliceren",
    "titleRequired": "Projecttitel is verplicht",
    "confirmDelete": "Project verwijderen?",
    "confirmDeleteText": "Dit verwijdert het project en alle taken. Dit kan niet ongedaan worden.",
    "confirmDeleteTask": "Taak verwijderen?",
    "confirmDeleteTaskText": "Deze actie kan niet ongedaan worden.",
    "upgradeTitle": "Workshop Projectplanner",
    "upgradeText": "De projectplanner is beschikbaar in het Zakelijk-abonnement. Upgrade om projecten en taken te beheren.",
    "upgradeBtn": "Upgrade naar Zakelijk",
    "runningProjects": "Lopende projecten",
    "viewAll": "Bekijk alle",
    "viewAgenda": "Bekijk agenda",
    "overbookedWarning": "Let op: {hours} uur overboekt deze week!",
    "weekCapacity": "Weekcapaciteit",
    "weekFull": "Week is volledig ingepland",
    "hoursAvailableWeek": "uur beschikbaar deze week",
    "noProjectsFilter": "Geen projecten met deze filter",
    "noProjectsHint": "Maak je eerste werkplaatsproject aan.",
    "editProject": "Project bewerken",
    "titlePlaceholder": "Bijv. Restauratie Steinway B",
    "descriptionPlaceholder": "Omschrijving...",
    "upgradeCta": "Upgrade naar Zakelijk",
    "dayMon": "Ma",
    "dayTue": "Di",
    "dayWed": "Wo",
    "dayThu": "Do",
    "dayFri": "Vr",
    "daySat": "Za",
    "daySun": "Zo",
    "workHistory": "Werkgeschiedenis",
    "noWorkHistory": "Nog geen werkplaatsafspraken gekoppeld",
    "hours": "uur",
    "howToUse": "Hoe werkt het?",
    "guideTitle": "Werkplaats Projectplanner - Handleiding",
    "guideCreate": "Project aanmaken",
    "guideCreateDesc": "Klik op 'Nieuw project' om een werkplaatsklus aan te maken. Geef een titel, koppel optioneel een klant/piano, en stel een geschatte urenbegroting in.",
    "guideTasks": "Taken beheren",
    "guideTasksDesc": "Voeg taken toe als checklist: materialen bestellen, onderdelen ophalen, bellen met klant, etc. Vink af wat klaar is om voortgang bij te houden.",
    "guideLink": "Afspraken koppelen",
    "guideLinkDesc": "Maak werkplaatsafspraken in de agenda en kies bij 'Werkplaats' het project. De gewerkte uren worden automatisch bijgehouden en van de begroting afgetrokken.",
    "guideProgress": "Voortgang volgen",
    "guideProgressDesc": "Zie in één oogopslag: taken klaar, uren gewerkt vs. gepland, en resterende budget. De weekcapaciteit toont hoeveel ruimte je nog hebt.",
    "guideTheater": "Theaters & vaste klanten",
    "guideTheaterDesc": "Theaters en vaste klanten krijgen een persoonlijke boekingslink. Hiermee kunnen zij hun eigen afspraken inzien (lopend + historie) en direct nieuwe afspraken inplannen. Vind de link in het klantprofiel.",
    "guideTip": "<strong>Tip:</strong> Gebruik de statusfilters om focus te houden. Zet afgeronde projecten op 'Afgerond' zodat je overzicht schoon blijft. Projecten met deadline worden rood als ze dichtbij komen!",
    "viewGrid": "Kaarten",
    "viewTimeline": "Tijdlijn",
    "timelineTitle": "Project Tijdlijn",
    "project": "Project",
    "appointment": "Afspraak",
    "itemType": "Type",
    "typeLabor": "Arbeid",
    "typeMaterial": "Materiaal",
    "typeOther": "Overig",
    "pricing": "Prijsinformatie",
    "quantity": "Aantal",
    "unit": "Eenheid",
    "unitHour": "Uur",
    "unitPiece": "Stuk",
    "unitSet": "Set",
    "unitMeter": "Meter",
    "unitLiter": "Liter",
    "unitPrice": "Prijs",
    "costPrice": "Inkoopprijs",
    "isBillable": "Factureerbaar",
    "lineTotal": "Totaal",
    "quoteSummary": "Kostenoverzicht",
    "copyQuote": "Kopieer offerte",
    "quoteCopied": "Offerte gekopieerd naar klembord",
    "totalToBill": "Te factureren",
    "materialsCatalog": "Materiale catalogus",
    "selectFromCatalog": "Kies uit catalogus",
    "addMaterial": "Materiaal toevoegen",
    "materialName": "Naam",
    "materialCategory": "Categorie",
    "materialSupplier": "Leverancier",
    "materialArticleNumber": "Artikelnummer",
    "materialDefaultPrice": "Standaard verkoopprijs",
    "materialCostPrice": "Inkoopprijs",
    "materialSaved": "Materiaal opgeslagen",
    "materialDeleted": "Materiaal verwijderd",
    "workshopHourlyRate": "Werkplaats uurtarief",
    "duplicateTitle": "Dupliceer project",
    "pdf": "PDF",
    "notesPlaceholder": "Interne notities...",
    "colType": "Type",
    "colDescription": "Omschrijving",
    "colQty": "Aantal",
    "colUnit": "Eenheid",
    "colPrice": "Prijs",
    "colTotal": "Totaal",
    "newRowPlaceholder": "+ Nieuwe regel...",
    "addTitle": "Toevoegen",
    "completed": "Afgerond",
    "actualHoursTitle": "Gewerkte uren",
    "deleteTitle": "Verwijderen",
    "changeStatus": "Status wijzigen",
    "hourAbbr": "uur",
    "hoursToPlan": "uur te plannen",
    "margin": "Marge",
    "loadError": "Fout bij laden project",
    "addRowError": "Kon regel niet toevoegen",
    "updateError": "Fout bij bijwerken taak",
    "saveError": "Fout bij opslaan taak",
    "deleteError": "Fout bij verwijderen",
    "unknownCustomer": "Onbekend",
    "quoteHeader": "OFFERTE",
    "quoteCustomer": "Klant",
    "quotePiano": "Piano",
    "quoteDate": "Datum",
    "quoteLaborSection": "WERKZAAMHEDEN",
    "quoteSubtotalLabor": "Subtotaal arbeid",
    "quoteMaterialsSection": "MATERIALEN",
    "quoteSubtotalMaterials": "Subtotaal materialen",
    "quoteOtherSection": "OVERIG",
    "quoteSubtotalOther": "Subtotaal overig",
    "quoteTotal": "TOTAAL",
    "pdfProject": "Project",
    "pdfRate": "Tarief",
    "pdfAmount": "Bedrag",
    "pdfTotalExclVat": "Totaalbedrag excl. BTW",
    "pdfFooter": "Offerte gegenereerd met PianoPlanner",
    "placeholders": {
      "taskExample": "bijv. Snaren vervangen, Hamerset, etc.",
      "quoteNotes": "Extra notities voor offerte..."
    }
  },
  "privacy": {
    "title": "Privacyverklaring",
    "subtitle": "Hoe wij uw gegevens verzamelen, gebruiken en beschermen",
    "h1": "1. Welke gegevens verzamelen wij?",
    "p1": "Wij verwerken gegevens in twee categorieën:",
    "h2": "2. Doel van de gegevensverwerking",
    "p2": "Wij verwerken deze gegevens uitsluitend om:",
    "h3": "3. Delen van gegevens en Synchronisatie",
    "p3a": "<strong>3.1. Externe Agendadiensten:</strong> Indien u de twee-weg synchronisatie activeert, worden afspraakgegevens uitgewisseld met externe partijen zoals Google (Google Calendar), Apple (iCloud) of Microsoft (Outlook). Wij hebben geen controle over het privacybeleid van deze derden.",
    "p3b": "<strong>3.2. Verwerkers:</strong> Wij maken gebruik van vertrouwde sub-verwerkers voor hosting (cloud-infrastructuur), e-mailverzending en betalingen. Met deze partijen zijn verwerkersovereenkomsten gesloten die voldoen aan de AVG.",
    "p3c": "<strong>3.3. Geen verkoop:</strong> Wij zullen uw gegevens of die van uw klanten nooit verkopen of verhuren aan derden voor marketingdoeleinden.",
    "h4": "4. Beveiliging en Opslag",
    "p4a": "<strong>4.1. Beveiliging:</strong> Wij nemen passende technische en organisatorische maatregelen om gegevens te beschermen tegen verlies of onrechtmatige verwerking, waaronder SSL-encryptie en beveiligde databases.",
    "p4b": "<strong>4.2. Lokale opslag (PWA):</strong> Bij gebruik van de Progressive Web App kunnen bepaalde gegevens lokaal op uw apparaat worden opgeslagen om offline gebruik en snelle synchronisatie mogelijk te maken. U bent zelf verantwoordelijk voor de fysieke beveiliging van uw apparaten.",
    "h5": "5. Bewaartermijn",
    "p5": "Wij bewaren uw gegevens zolang uw account actief is. Na beëindiging van uw abonnement bewaren wij uw gegevens nog maximaal 30 dagen om export mogelijk te maken. Daarna worden alle klantgegevens definitief verwijderd, tenzij wettelijke bewaarplichten (zoals voor de facturatieadministratie) ons verplichten deze langer te bewaren.",
    "h6": "6. Uw rechten",
    "p6": "Conform de AVG heeft u de volgende rechten met betrekking tot uw persoonsgegevens:",
    "p6outro": "U kunt deze rechten uitoefenen via de instellingen in uw account of door contact met ons op te nemen via info@pianoplanner.com.",
    "h7": "7. Contactgegevens",
    "lastUpdated": "Laatst bijgewerkt: 23 februari 2026",
    "tldr": "Wij verkopen uw data nooit. Uw gegevens staan veilig op Europese servers. U bent en blijft eigenaar van uw klantgegevens.",
    "toc1": "Gegevens",
    "toc2": "Doel",
    "toc3": "Delen",
    "toc4": "Beveiliging",
    "toc5": "Bewaartermijn",
    "toc6": "Uw rechten",
    "toc7": "Contact",
    "intro": "Introductie",
    "catA": "Categorie A",
    "catA1": "Voor- en achternaam",
    "catA2": "Adresgegevens",
    "catA3": "Telefoonnummer",
    "catB": "Categorie B",
    "catB1": "E-mailadres",
    "catB2": "IP-adres",
    "catB3": "Browserinformatie",
    "p2a": "Leveren producten/diensten",
    "p2b": "Klantenservice",
    "p2c": "Verbeteren website",
    "p2d": "Wettelijke verplichtingen",
    "p6a": "Recht op inzage",
    "p6b": "Recht op correctie",
    "p6c": "Recht op verwijdering"
  },
  "terms": {
    "title": "Algemene Voorwaarden",
    "subtitle": "Voorwaarden voor het gebruik van PianoPlanner",
    "h1": "1. Identiteit van de ondernemer",
    "p1": "PianoPlanner is een dienst van Edward Meijer, handelend onder de naam Edan Creative (tevens handelend als Edward Meijer Piano- & Vleugelonderhoud). Gevestigd te Tilburg, Nederland. KvK: 18073263.",
    "p1b": "Door het aanmaken van een account of het gebruik van PianoPlanner gaat u akkoord met deze algemene voorwaarden.",
    "h2": "2. Beschrijving van de Dienst",
    "p2": "PianoPlanner is een online planning- en klantbeheerdienst (SaaS) voor pianotechnici, beschikbaar via een webbrowser en als Progressive Web App (PWA). De dienst omvat agenda, klantbeheer, instrumentregistratie, facturatie en optionele twee-weg synchronisatie met externe agendadiensten.",
    "h3": "3. Intellectueel Eigendom",
    "p3a": "<strong>3.1. Eigendom:</strong> De dienst PianoPlanner, inclusief de broncode, het ontwerp, de algoritmes, grafische elementen en alle content, is het exclusieve intellectuele eigendom van Edward Meijer.",
    "p3b": "<strong>3.2. Merkenrecht:</strong> De naam \"PianoPlanner\" en de bijbehorende logo's zijn beschermde merken (in aanvraag/geregistreerd bij het BOIP). Het is niet toegestaan deze tekens te gebruiken zonder voorafgaande schriftelijke toestemming.",
    "p3c": "<strong>3.3. Gebruiksrecht:</strong> Gebruikers verkrijgen een niet-exclusief, niet-overdraagbaar recht om de software te gebruiken voor de duur van het abonnement. Het is verboden de software te kopiëren, te decompileren of te verkopen aan derden.",
    "h4": "4. Gebruik van de Dienst en PWA",
    "p4a": "<strong>4.1. Account:</strong> De gebruiker is verantwoordelijk voor het geheimhouden van inloggegevens en voor alle activiteiten onder zijn account.",
    "p4b": "<strong>4.2. Synchronisatie:</strong> PianoPlanner maakt gebruik van technologie voor twee-weg synchronisatie tussen apparaten en externe agendadiensten. De gebruiker is verantwoordelijk voor de juiste browserinstellingen en internetverbinding om deze synchronisatie mogelijk te maken.",
    "p4c": "<strong>4.3. Acceptabel gebruik:</strong> Het is verboden de dienst te gebruiken voor illegale doeleinden of op een wijze die de integriteit van de systemen schaadt.",
    "h5": "5. Abonnementen en Betaling",
    "p5a": "<strong>5.1. Tarieven:</strong> De actuele prijzen voor de verschillende pakketten (Solo, Pro, Zakelijk) staan vermeld op de website.",
    "p5b": "<strong>5.2. Betaling:</strong> Betalingen worden verwerkt via Mollie. Abonnementen worden automatisch verlengd tenzij deze voor het einde van de factuurperiode worden opgezegd.",
    "p5c": "<strong>5.3. Opzegging:</strong> Na opzegging behoudt de gebruiker toegang tot de data tot het einde van de betaalde periode.",
    "h6": "6. Gegevens en Privacy",
    "p6a": "<strong>6.1. Eigendom Data:</strong> De gebruiker blijft eigenaar van alle ingevoerde klant- en instrumentgegevens.",
    "p6b": "<strong>6.2. Verwerking:</strong> Wij verwerken persoonsgegevens conform ons Privacybeleid en de AVG/GDPR.",
    "p6c": "<strong>6.3. Export:</strong> Na beëindiging van de dienst heeft de gebruiker 30 dagen de tijd om gegevens te exporteren, waarna deze definitief kunnen worden verwijderd.",
    "h7": "7. Beperking van Aansprakelijkheid",
    "p7a": "<strong>7.1. Beschikbaarheid:</strong> Wij streven naar een hoge beschikbaarheid maar garanderen geen 100% uptime.",
    "p7b": "<strong>7.2. Externe diensten:</strong> Wij zijn niet aansprakelijk voor storingen of wijzigingen in gekoppelde externe diensten (Google, Apple, Microsoft).",
    "p7c": "<strong>7.3. Dataverlies:</strong> Hoewel wij dagelijks back-ups maken, aanvaarden wij geen aansprakelijkheid voor dataverlies buiten onze directe schuld.",
    "p7d": "<strong>7.4. Maximale aansprakelijkheid:</strong> Onze totale aansprakelijkheid is beperkt tot het bedrag dat de gebruiker in de 12 maanden voorafgaand aan het schadevoorval heeft betaald.",
    "h8": "8. Onderhoud en Back-up",
    "p8a": "<strong>8.1. Onderhoud:</strong> Wij mogen de dienst tijdelijk onderbreken voor noodzakelijk onderhoud.",
    "p8b": "<strong>8.2. Back-up:</strong> Hoewel wij dagelijks back-ups maken, adviseren wij gebruikers om regelmatig eigen exportbestanden te maken van kritieke bedrijfsgegevens.",
    "h9": "9. Wijzigingen en Toepasselijk Recht",
    "p9a": "<strong>9.1. Wijzigingen:</strong> Wij kunnen deze voorwaarden wijzigen. Grote wijzigingen worden minimaal 30 dagen van tevoren gecommuniceerd.",
    "p9b": "<strong>9.2. Recht:</strong> Op deze voorwaarden is uitsluitend Nederlands recht van toepassing.",
    "p9c": "<strong>9.3. Geschillen:</strong> Eventuele geschillen worden voorgelegd aan de bevoegde rechter te Breda.",
    "lastUpdated": "Laatst bijgewerkt: 23 februari 2026",
    "tldr": "U blijft eigenaar van uw data. Opzeggen kan altijd — u behoudt toegang tot het einde van de betaalperiode. Na opzegging heeft u 30 dagen om uw gegevens te exporteren. Nederlands recht is van toepassing.",
    "toc1": "Identiteit",
    "toc2": "Dienst",
    "toc3": "Eigendom",
    "toc4": "Gebruik & PWA",
    "toc5": "Betaling",
    "toc6": "Privacy",
    "toc7": "Aansprakelijkheid",
    "toc8": "Onderhoud",
    "toc9": "Wijzigingen"
  },
  "travelV2": {
    "pageTitle": "Ritten & Reiskosten - PianoPlanner",
    "heading": "Ritten & Reiskosten",
    "tabOverview": "Overzicht",
    "tabTrips": "Rittenlijst",
    "tabVehicle": "Voertuig",
    "year": "Jaar:",
    "totalKm": "Totaal km",
    "businessKm": "Zakelijk km",
    "privateKm": "Privé km",
    "declaration": "Declaratie",
    "manualTrips": "Handmatig",
    "odometerDiff": "Km-stand verschil",
    "monthlyChart": "Maandoverzicht",
    "business": "Zakelijk",
    "private": "Privé",
    "filterAll": "Alle",
    "filterBusiness": "Zakelijk",
    "filterPrivate": "Privé",
    "filterManual": "Handmatig",
    "searchTrips": "Zoek rit...",
    "addTrip": "Rit toevoegen",
    "colDate": "Datum",
    "colPurpose": "Ritdoel",
    "colRoute": "Route",
    "colType": "Type",
    "colSource": "Bron",
    "colDistance": "Afstand",
    "noTrips": "Geen ritten gevonden",
    "noTripsHint": "Selecteer een ander jaar of wijzig het filter",
    "loading": "Laden...",
    "purposePlaceholder": "Ritdoel",
    "fromPlaceholder": "Van",
    "toPlaceholder": "Naar",
    "roundTrip": "Retour",
    "vehicleInfo": "Voertuig informatie",
    "licensePlate": "Kenteken",
    "vehicleName": "Voertuig naam",
    "save": "Opslaan",
    "odometerTitle": "Kilometerstanden",
    "odometerDate": "Datum",
    "odometerReading": "Stand (km)",
    "period": "Periode:",
    "periodWeek": "Week",
    "periodMonth": "Maand",
    "periodQuarter": "Kwartaal",
    "periodYear": "Jaar",
    "periodCustom": "Zelf kiezen",
    "periodTo": "t/m",
    "tripsCount": "{count} ritten",
    "exportCsv": "CSV",
    "exportPdf": "PDF",
    "exportCsvTitle": "Exporteer als CSV",
    "exportPdfTitle": "Exporteer als PDF",
    "refreshTitle": "Vernieuwen",
    "prevTitle": "Vorige",
    "nextTitle": "Volgende",
    "kmPlaceholder": "km",
    "odometerPlaceholder": "bijv. 45230",
    "monthJan": "Jan",
    "monthFeb": "Feb",
    "monthMar": "Mrt",
    "monthApr": "Apr",
    "monthMay": "Mei",
    "monthJun": "Jun",
    "monthJul": "Jul",
    "monthAug": "Aug",
    "monthSep": "Sep",
    "monthOct": "Okt",
    "monthNov": "Nov",
    "monthDec": "Dec",
    "trips": "ritten",
    "loadError": "Fout bij laden gegevens",
    "typeBusiness": "Zakelijk",
    "typePrivate": "Privé",
    "typeManual": "Handmatig",
    "sourceManual": "Handmatig",
    "sourceAppointment": "Afspraak",
    "home": "Thuis",
    "manuallyAdjusted": "Handmatig aangepast",
    "editTitle": "Bewerken",
    "deleteTitle": "Verwijderen",
    "overrideKmTitle": "Km aanpassen",
    "totalLabel": "Totaal",
    "roundTripLabel": "Retour",
    "fillDateDistance": "Vul datum en afstand in",
    "defaultPurpose": "Handmatige rit",
    "tripAdded": "Rit toegevoegd",
    "tripSaveError": "Fout bij opslaan rit",
    "tripUpdated": "Rit bijgewerkt",
    "tripUpdateError": "Fout bij bijwerken rit",
    "confirmDeleteTrip": "Weet je zeker dat je deze rit wilt verwijderen?",
    "tripDeleted": "Rit verwijderd",
    "deleteError": "Fout bij verwijderen",
    "currentDistance": "Huidige afstand",
    "enterNewDistance": "Voer nieuwe afstand in (km):",
    "invalidValue": "Ongeldige waarde",
    "kmOverridden": "Km aangepast",
    "kmOverrideError": "Fout bij aanpassen km",
    "vehicleSaved": "Voertuig opgeslagen",
    "vehicleSaveError": "Fout bij opslaan voertuig",
    "noOdometerReadings": "Nog geen standen vastgelegd",
    "fillDateReading": "Vul datum en stand in",
    "odometerAdded": "Kilometerstand toegevoegd",
    "odometerSaveError": "Fout bij opslaan stand",
    "confirmDeleteOdometer": "Kilometerstand verwijderen?",
    "odometerDeleted": "Stand verwijderd",
    "noDataExport": "Geen data om te exporteren",
    "csvHeader": "Datum,Ritdoel,Van,Naar,Type,Bron,Afstand (km),Retour",
    "csvDownloaded": "CSV gedownload",
    "pdfDownloaded": "PDF gedownload",
    "pdfError": "Fout bij PDF export",
    "kmRate": "Kilometervergoeding",
    "kmRatePlaceholder": "0,23"
  },
  "reminders": {
    "pageTitle": "Stemherinneringen - PianoPlanner",
    "title": "Stemherinneringen",
    "sendTest": "Test versturen",
    "editTemplate": "Sjabloon",
    "tabOverview": "Overzicht",
    "tabUpcoming": "Wachtrij",
    "tabHistory": "Geschiedenis",
    "tabSettings": "Instellingen",
    "statTotal": "Totaal verstuurd",
    "statMonth": "Deze maand",
    "statQueue": "In wachtrij",
    "statOptout": "Uitgeschreven",
    "toggleTitle": "Automatische herinneringen",
    "toggleDesc": "Klanten worden automatisch herinnerd wanneer hun piano toe is aan een stembeurt",
    "toggleDescActive": "Actief — herinneringen worden automatisch verstuurd",
    "confirmTitle": "Bevestiging vereist",
    "confirmActivate": "Ja, activeren",
    "reviewFirst": "Eerst bekijken",
    "cancel": "Annuleren",
    "confirmNoPianos": "Er zijn op dit moment <strong>geen piano's</strong> die een herinnering zouden krijgen. Je kunt veilig activeren — er worden geen emails verstuurd totdat er piano's toe zijn aan een stembeurt.",
    "confirmActivateIntro": "Als je activeert, worden er herinneringen ingepland voor",
    "confirmOf": "van",
    "confirmCustomers": "klant(en)",
    "confirmSkipped": "worden overgeslagen (hebben al een afspraak).",
    "confirmOptedOut": "klant(en) hebben zich uitgeschreven.",
    "confirmEmailTiming": "Emails worden niet direct verstuurd maar pas op het ingestelde tijdstip",
    "confirmReviewHint": "Klik op \"Eerst bekijken\" om de volledige lijst te zien.",
    "howTitle": "Hoe werkt het?",
    "how1": "Herinneringen worden alleen verstuurd voor piano's met een ingesteld steminterval (> 0 maanden)",
    "how2": "De eerste herinnering gaat uit X dagen vóór de geplande stembeurt",
    "how3": "Bij geen reactie worden follow-ups verstuurd op het ingestelde interval",
    "how4": "De cyclus stopt automatisch als de klant een afspraak boekt of zich uitschrijft",
    "how5": "Piano's met een toekomstige afspraak worden automatisch overgeslagen",
    "how6": "Maximaal 50 emails per dag (spambeveiliging)",
    "upcomingTitle": "Piano's die een herinnering ontvangen",
    "loadingUpcoming": "Laden...",
    "upcomingEmpty": "Geen piano's die momenteel een herinnering nodig hebben",
    "historyTitle": "Verstuurde herinneringen",
    "loadingHistory": "Laden...",
    "historyEmpty": "Nog geen herinneringen verstuurd",
    "settingsTitle": "Herinneringsinstellingen",
    "setAdvanceDays": "Eerste herinnering versturen",
    "optDays7": "7 dagen",
    "optDays14": "14 dagen",
    "optDays21": "21 dagen",
    "optDays30": "30 dagen",
    "optDays45": "45 dagen",
    "optDays60": "60 dagen",
    "optDays90": "90 dagen",
    "beforeDue": "vóór stembeurt",
    "setFollowup": "Follow-up interval",
    "betweenFollowups": "tussen follow-ups",
    "setMax": "Max herinneringen per cyclus",
    "setHour": "Verzendtijdstip",
    "save": "Opslaan",
    "daysShort": "d",
    "overdue": "te laat",
    "andMoreOthers": "en nog",
    "others": "andere",
    "previewLoadFailed": "Kon de preview niet laden. Probeer het opnieuw.",
    "toastActivated": "Herinneringen geactiveerd",
    "toastDeactivated": "Herinneringen uitgeschakeld",
    "toastSaveError": "Fout bij opslaan",
    "toastSettingsSaved": "Instellingen opgeslagen",
    "toastSaveFailed": "Opslaan mislukt",
    "toastTestSent": "Test herinnering verstuurd naar uw email",
    "toastTestFailed": "Kon test niet versturen",
    "toastSendError": "Fout bij versturen",
    "thCustomer": "Klant",
    "thPiano": "Piano",
    "thLastTuning": "Laatste stembeurt",
    "thStatus": "Status",
    "thReminders": "Herinneringen",
    "statusOptedOut": "Uitgeschreven",
    "statusScheduled": "Afspraak",
    "statusDueSoon": "Binnenkort",
    "sent": "verstuurd",
    "sentNone": "Nog geen",
    "loadError": "Kon gegevens niet laden",
    "unknownCustomer": "Onbekend",
    "reminderNumber": "Herinnering",
    "historyLoadError": "Kon geschiedenis niet laden",
    "bounceTitle": "E-mailbescherming actief",
    "bounce1": "Ongeldige e-mailadressen worden automatisch overgeslagen na herhaalde bounces",
    "bounce2": "Als te veel e-mails falen, stopt de batch automatisch ter bescherming van je afzenderreputatie",
    "bounce3": "Tip: controleer regelmatig de e-mailadressen van je klanten en verwijder ongeldige",
    "bounce4": "Verstuur je naar 100+ klanten? Stel je eigen SMTP-server in voor betere aflevering",
    "bounce4Link": "Instellingen"
  },
  "invoices": {
    "pageTitle": "Facturen - PianoPlanner",
    "title": "Facturen",
    "settings": "Instellingen",
    "newInvoice": "Nieuwe factuur",
    "openTasks": "Te factureren",
    "itemsSelected": "{count} item(s) geselecteerd",
    "multiCustomerSelected": "{count} items van {customers} klanten geselecteerd",
    "createFromTasks": "📄 Maak factuur",
    "markPaid": "Markeer betaald",
    "dismissTask": "✕ Afgehandeld",
    "confirmDismiss": "{count} item(s) markeren als afgehandeld? Ze verdwijnen uit de lijst.",
    "dismissedSuccess": "Item(s) gemarkeerd als afgehandeld",
    "dismissError": "Fout bij afhandelen",
    "confirmMarkPaid": "{count} item(s) als betaald markeren?",
    "paymentMarkedPaid": "Betaling(en) gemarkeerd als betaald",
    "markPaidError": "Fout bij markeren als betaald",
    "multiCustomerInvoice": "Je hebt items van meerdere klanten geselecteerd. Er wordt één factuur per klant aangemaakt. Doorgaan?",
    "totalInvoices": "Totaal",
    "drafts": "Concepten",
    "outstanding": "Openstaand",
    "paid": "Betaald",
    "overdue": "Verlopen",
    "searchPlaceholder": "Zoek op nummer of klant...",
    "loading": "Laden...",
    "noInvoices": "Nog geen facturen. Maak je eerste factuur aan!",
    "createFirst": "Eerste factuur aanmaken",
    "colNumber": "Nummer",
    "colCustomer": "Klant",
    "colDate": "Datum",
    "colDueDate": "Vervaldatum",
    "colAmount": "Bedrag",
    "colStatus": "Status",
    "settingsTitle": "Factuurinstellingen",
    "numbering": "Nummering",
    "prefix": "Factuurprefix",
    "nextNumber": "Volgend nummer",
    "nextInvoicePreview": "Volgende factuur:",
    "defaultVat": "Standaard BTW %",
    "layout": "Lay-out",
    "paymentTermsDays": "Betalingstermijn (dagen)",
    "vatRegion": "BTW-regio",
    "bankDetails": "Bankgegevens",
    "bankName": "Banknaam",
    "footerText": "Voettekst factuur",
    "contactPosition": "Klantgegevens positie",
    "contactLeft": "Links (standaard)",
    "contactRight": "Rechts",
    "hideCompanyInfo": "Verberg bedrijfsgegevens op factuur (al op briefpapier)",
    "letterhead": "Briefpapier",
    "serviceTemplates": "Standaard diensten",
    "cancel": "Annuleren",
    "save": "Opslaan",
    "statusDraft": "Concept",
    "statusSent": "Verzonden",
    "statusPaid": "Betaald",
    "statusOverdue": "Verlopen",
    "statusCancelled": "Geannuleerd",
    "statusCredited": "Gecrediteerd",
    "statusConfirmed": "Bevestigd",
    "editInvoice": "Bewerken",
    "viewPdf": "PDF bekijken",
    "duplicate": "Dupliceren",
    "markSent": "Markeer verzonden",
    "markConfirmed": "Bevestigen zonder e-mail",
    "confirmNoEmail": "Bevestigen zonder e-mail",
    "invoiceConfirmed": "Factuur bevestigd (zonder e-mail)",
    "delete": "Verwijderen",
    "creditNote": "Creditnota",
    "creditForRef": "Betreft",
    "creditedBy": "Gecrediteerd met",
    "confirmDelete": "Weet je zeker dat je deze concept-factuur wilt verwijderen?",
    "confirmCredit": "Weet je zeker dat je een creditnota wilt aanmaken?",
    "savedMsg": "Instellingen opgeslagen",
    "deletedMsg": "Factuur verwijderd",
    "statusUpdated": "Status bijgewerkt",
    "duplicatedMsg": "Factuur gedupliceerd",
    "creditCreated": "Creditnota aangemaakt",
    "errorStatus": "Fout bij status wijzigen",
    "errorDuplicate": "Fout bij dupliceren",
    "errorCredit": "Fout bij creditnota",
    "invoiceSaved": "Factuur opgeslagen",
    "changesSaved": "Wijzigingen opgeslagen",
    "selectCustomerError": "Selecteer een klant",
    "issueDateError": "Vul een factuurdatum in",
    "addLineError": "Voeg minstens één regel toe",
    "alreadyCredited": "Deze factuur is al gecrediteerd",
    "internalNotes": "Interne notities",
    "internalNotesPlaceholder": "Alleen zichtbaar voor jou, niet op de factuur...",
    "letterheadUploaded": "Briefpapier geüpload",
    "letterheadHint": "Alleen JPG of PNG. PDF wordt niet ondersteund.",
    "letterheadNoPdf": "PDF wordt niet ondersteund als briefpapier. Gebruik JPG of PNG.",
    "letterheadOnlyImages": "Alleen JPG of PNG bestanden zijn toegestaan.",
    "deleteLetterheadConfirm": "Briefpapier verwijderen?",
    "letterheadDeleted": "Briefpapier verwijderd",
    "selectFileFirst": "Selecteer eerst een bestand",
    "serviceAdded": "Dienst toegevoegd",
    "serviceDeleted": "Dienst verwijderd",
    "invoiceDetail": "Factuur",
    "customer": "Klant",
    "selectCustomer": "Selecteer klant...",
    "invoiceNumber": "Factuurnummer",
    "numberOnSend": "Factuurnummer wordt automatisch toegekend bij verzending",
    "issueDate": "Factuurdatum",
    "dueDate": "Vervaldatum",
    "paymentTerms": "Betalingstermijn",
    "paymentTermsCash": "Contant / Pin",
    "paymentTerms7": "7 dagen",
    "paymentTerms14": "14 dagen",
    "paymentTerms30": "30 dagen",
    "savePaymentTermsToCustomer": "Betalingstermijn \"{terms}\" opslaan bij {name}?",
    "paymentTermsSaved": "Betalingstermijn opgeslagen bij klant",
    "days": "dagen",
    "notes": "Opmerkingen",
    "addLine": "Regel toevoegen",
    "addTextLine": "Tekstregel",
    "fromPiano": "Piano toevoegen...",
    "searchPiano": "Zoek piano...",
    "description": "Omschrijving",
    "quantity": "Aantal",
    "unitPrice": "Prijs",
    "vatRate": "BTW %",
    "lineTotal": "Totaal",
    "subtotal": "Subtotaal",
    "vatAmount": "BTW",
    "total": "Totaal",
    "saveDraft": "📝 Concept opslaan",
    "saveAndSend": "✉️ Opslaan & verzenden",
    "backToList": "Terug naar overzicht",
    "fromTemplate": "Vanuit dienst",
    "sendEmail": "E-mail versturen",
    "sendEmailTitle": "Factuur versturen",
    "emailSubject": "Onderwerp",
    "emailBcc": "BCC (kopie naar)",
    "emailTo": "Aan",
    "emailMessage": "Bericht",
    "attachmentHint": "De factuur wordt als bijlage meegestuurd",
    "includePaymentLink": "Betaallink toevoegen",
    "paymentLinkHint": "Voegt een betaalknop toe aan de e-mail (via Mollie of Stripe)",
    "emailSent": "Factuur verzonden per e-mail",
    "noCustomerEmail": "Klant heeft geen e-mailadres",
    "sendError": "Fout bij verzenden factuur",
    "errorLoading": "Fout bij laden factuur",
    "onlinePayment": "Online betalen",
    "mollieApiKey": "Mollie API key",
    "mollieHint": "Vul je Mollie Live API key in om iDEAL-betaallinks op facturen te activeren.",
    "stripeApiKey": "Stripe API key",
    "stripeHint": "Alternatief: vul je Stripe Secret key in voor betaallinks via Stripe Checkout.",
    "eInvoicing": "E-facturatie",
    "ublAttach": "UBL XML bijlage meesturen",
    "ublHint": "Stuurt een machineleesbare e-factuur (UBL 2.1) mee als bijlage naast de PDF. Standaard aan voor EU-landen.",
    "ublEuNote": "E-facturatie is standaard of verplicht in uw land.",
    "ublNonEuNote": "E-facturatie is niet vereist voor uw land. U kunt het optioneel inschakelen.",
    "downloadUbl": "UBL XML",
    "layoutEditor": "Factuur Layout Editor",
    "companyLogo": "Bedrijfslogo",
    "noLogo": "Nog geen logo geüpload",
    "logoPosition": "Logo positie",
    "posLeft": "Links",
    "posCenter": "Midden",
    "posRight": "Rechts",
    "logoUploaded": "Logo geüpload",
    "logoDeleted": "Logo verwijderd",
    "confirmDeleteLogo": "Weet je zeker dat je het logo wilt verwijderen?",
    "contactBlock": "Bedrijfsgegevens contactblok",
    "contactBlockHint": "Gebruik variabelen om je gegevens automatisch in te vullen. Laat leeg voor standaard opmaak.",
    "resetToDefault": "Reset naar standaard",
    "preview": "Preview",
    "noLetterhead": "Nog geen briefpapier",
    "desktopHint": "Layout-details zoals logo positie, lettergroottes en marges pas je aan op desktop met de live preview.",
    "logoScale": "Logo grootte",
    "marginSize": "Paginamarge",
    "companyBlockPosition": "Bedrijfsgegevens positie",
    "metaPosition": "Factuurgegevens positie",
    "customerPosition": "Klantgegevens positie",
    "customerOffsetX": "Klantadres horizontaal (mm)",
    "customerOffsetY": "Klantadres verticaal (mm)",
    "emailTemplate": "Begeleidende e-mail",
    "emailTemplateHint": "Stel je standaard e-mailtekst in. Variabelen worden automatisch ingevuld per factuur.",
    "emailSubjectTemplate": "Onderwerp",
    "emailBodyTemplate": "Bericht",
    "defaultSubject": "Factuur {{invoiceNumber}}",
    "defaultBody": "Beste {{firstName}},\n\nHierbij stuur ik u factuur {{invoiceNumber}} voor de verleende diensten.\nHet totaalbedrag is {{amount}}.\n\nGelieve deze factuur te betalen voor {{dueDate}}.\n\nDe factuur vindt u in de bijlage.\n\nMet vriendelijke groet",
    "defaultCreditSubject": "Creditnota {{invoiceNumber}}",
    "defaultCreditBody": "Beste {{firstName}},\n\nHierbij stuur ik u creditnota {{invoiceNumber}}.\nHet totaalbedrag is {{amount}}.\n\nDe creditnota vindt u in de bijlage.\n\nMet vriendelijke groet",
    "howToUse": "Hoe werkt het?",
    "guideTitle": "Facturen - Handleiding",
    "guideCreate": "Factuur aanmaken",
    "guideCreateDesc": "Klik op + om een nieuwe factuur te maken. Kies een klant, voeg regels toe met omschrijving en bedrag. Het factuurnummer wordt automatisch opgehoogd.",
    "guideSend": "Versturen per e-mail",
    "guideSendDesc": "Verstuur facturen als PDF per e-mail rechtstreeks vanuit PianoPlanner. Pas het e-mailtemplate aan in de instellingen met variabelen zoals klant en bedrag.",
    "guidePayment": "Online betalen",
    "guidePaymentDesc": "Koppel je Mollie API key in de instellingen om iDEAL-betaallinks toe te voegen aan factuur-e-mails. Betalingen worden automatisch verwerkt.",
    "guideLayout": "Layout aanpassen",
    "guideLayoutDesc": "Open de instellingen om je factuur-layout aan te passen: logo, bedrijfsgegevens, lettergroottes en kleur. De live preview toont direct het resultaat.",
    "guideStatus": "Status bijhouden",
    "guideStatusDesc": "Volg facturen via statuskaarten: Concept, Openstaand, Betaald en Verlopen. Klik op een kaart om te filteren. Verlopen facturen worden rood gemarkeerd.",
    "guideVat": "BTW berekening",
    "guideVatDesc": "Bij particuliere klanten is de dienstprijs <strong>inclusief BTW</strong> — de BTW wordt uit het bedrag berekend. Bij zakelijke klanten is de prijs <strong>exclusief BTW</strong> — de BTW wordt bovenop het bedrag berekend.",
    "guideTip": "<strong>Tip:</strong> Gebruik de zoekbalk om snel een factuur te vinden op nummer of klantnaam. Download facturen als PDF of verstuur ze direct — alles vanuit één scherm.",
    "fontSizes": "Lettergroottes",
    "fsBedrijfsnaam": "Bedrijfsnaam",
    "fsBedrijfsinfo": "Bedrijfsinfo",
    "fsFactuurtitel": "Factuurtitel",
    "fsKlantnaam": "Klantnaam",
    "fsTabelkop": "Tabelkop",
    "fsTabelinhoud": "Tabelinhoud",
    "fsTotalen": "Totalen",
    "fsVoettekst": "Voettekst",
    "senderAlign": "Uitlijning afzender",
    "sampleLine1": "1 x Stembeurt vleugelpiano",
    "sampleLine2": "1 x Voorrijkosten",
    "sampleCompany": "Mijn Bedrijf",
    "vatExempt": "Vrijgesteld",
    "errorDeleting": "Fout bij verwijderen",
    "draft": "Concept",
    "errorLoadingInvoices": "Fout bij laden facturen",
    "oneService": "1 dienst",
    "services": "diensten",
    "serviceDefault": "Dienst",
    "billingRedirectNote": "Factuur gaat naar administratie i.p.v. klant",
    "molliePaymentLinkError": "Mollie betaallink kon niet worden aangemaakt",
    "unknownError": "Onbekende fout",
    "errorSaving": "Fout bij opslaan",
    "uploadFailed": "Upload mislukt",
    "errorDeletingLogo": "Fout bij verwijderen logo",
    "noServicesYet": "Nog geen diensten ingesteld",
    "serviceNamePrompt": "Dienstnaam:",
    "servicePricePrompt": "Standaard prijs (excl. BTW):",
    "errorAddingService": "Fout bij toevoegen dienst",
    "errorGeneric": "Fout",
    "mollieKeyConfigured": "Mollie API key geconfigureerd",
    "mollieKeyNotSet": "Geen Mollie key ingesteld",
    "stripeKeyConfigured": "Stripe API key geconfigureerd",
    "stripeKeyNotSet": "Geen Stripe key ingesteld",
    "connectingMollie": "Verbinden met Mollie...",
    "mollieKeyValid": "Mollie key is geldig — betaalmethoden:",
    "keyInvalid": "Key is ongeldig",
    "mollieConnectFailed": "Kon niet verbinden met Mollie",
    "connectingStripe": "Verbinden met Stripe...",
    "stripeKeyValid": "Stripe key is geldig — account:",
    "stripeConnectFailed": "Kon niet verbinden met Stripe",
    "mollieKeyVerified": "Mollie API key geverifieerd en opgeslagen",
    "stripeKeyVerified": "Stripe API key geverifieerd en opgeslagen",
    "phoneLabel": "Telefoon:",
    "emailLabel": "E-mail:",
    "kvkLabel": "KVK:",
    "vatLabel": "Btw:",
    "newInvoiceTitle": "Nieuwe factuur",
    "deleteLogoTitle": "Logo verwijderen",
    "deleteLetterheadTitle": "Briefpapier verwijderen",
    "testMollieTitle": "Test de huidige of nieuwe Mollie key",
    "testStripeTitle": "Test de Stripe key",
    "testBtn": "Test",
    "upload": "Upload",
    "footerPlaceholder": "Bijv. KvK-nummer, BTW-nummer, voorwaarden",
    "bccPlaceholder": "email@voorbeeld.nl",
    "emailSubjectPlaceholder": "Factuur {{invoiceNumber}}",
    "emailBodyPlaceholder": "Beste {{firstName}},\n\nHierbij stuur ik u factuur {{invoiceNumber}} voor de verleende diensten.\nHet totaalbedrag is {{amount}}.\n\nGelieve deze factuur te betalen voor {{dueDate}}.\n\nDe factuur vindt u in de bijlage.\n\nMet vriendelijke groet",
    "pushToAccounting": "Push naar",
    "confirmPushAccounting": "Deze factuur naar {provider} pushen?",
    "pushingToAccounting": "Pushen naar {provider}...",
    "pushedToAccounting": "Factuur gepusht naar {provider}",
    "pushFailed": "Push mislukt",
    "bookingLinkSection": "Boekingslink",
    "includeBookingLink": "Boekingslink toevoegen aan factuurmails",
    "bookingLinkHint": "Voegt een persoonlijke boekingsknop toe aan factuurmails zodat klanten hun volgende afspraak kunnen inplannen. De kalender opent bij de voorgestelde maand op basis van het steminterval.",
    "includeBookingLinkEmail": "Boekingslink toevoegen",
    "bookingLinkEmailHint": "Voegt een \"Plan je volgende afspraak\" knop toe aan de e-mail",
    "confirmResend": "Deze factuur is zojuist verstuurd. Toch opnieuw verzenden?",
    "emailRetryQueued": "Verzenden mislukt, maar we proberen het automatisch opnieuw over een paar minuten. Je hoeft niks te doen.",
    "placeholders": {
      "invoiceNotes": "Opmerkingen voor op de factuur..."
    },
    "layoutHint": "Pas posities en marges aan — de live preview rechts updatet automatisch.",
    "vatRegionHint": "Bepaalt valuta, factuurtaal, BTW-tarieven en het e-facturatie-profiel (UBL).",
    "paymentTermsHint": "Standaard voor nieuwe facturen — per factuur aanpasbaar.",
    "onlinePaymentHint": "Mollie ondersteunt iDEAL, Bancontact en kaarten in heel de EU en het VK. Stripe verwerkt creditcards wereldwijd. Je hebt er maar één nodig — gebruik beide voor maximale keuze.",
    "hideCompanyInfoHint": "Alleen aanvinken als je briefpapier al je bedrijfsnaam en adres bevat.",
    "varCustomerNameTip": "Volledige klantnaam",
    "varFirstNameTip": "Voornaam klant",
    "varInvoiceNumberTip": "Factuurnummer",
    "varAmountTip": "Totaalbedrag incl. BTW",
    "varDueDateTip": "Vervaldatum (geformatteerd)",
    "varCompanyNameTip": "Jouw bedrijfsnaam"
  },
  "importCalendar": {
    "googleTitle": "Google Agenda Importeren",
    "googleDesc": "Importeer afspraken rechtstreeks vanuit je Google Agenda — tot 3 jaar terug.",
    "googleNotConnected": "Je Google Agenda is nog niet gekoppeld. Ga naar Instellingen → Agenda Sync om je Google account te verbinden.",
    "googlePeriod": "Periode:",
    "googleFoundInGoogle": "Gevonden in Google Agenda:",
    "googleAlreadyImported": "Al geïmporteerd:",
    "googleNewEvents": "Nieuw te importeren:",
    "googlePreviewBtn": "🔍 Bekijk wat er beschikbaar is",
    "googleImportBtn": "📥 Importeer afspraken",
    "googleImporting": "Importeren...",
    "googleViewAgenda": "Bekijk agenda",
    "uploadTitle": "Upload je agenda-bestand",
    "microsoftTitle": "Microsoft / Outlook Importeren",
    "microsoftDesc": "Importeer afspraken rechtstreeks vanuit je Microsoft 365 / Outlook agenda — tot 3 jaar terug.",
    "microsoftNotConnected": "Je Microsoft agenda is nog niet gekoppeld. Ga naar Instellingen → Agenda Sync om je Microsoft account te verbinden.",
    "microsoftPeriod": "Periode:",
    "microsoftFoundInMs": "Gevonden in Microsoft:",
    "microsoftAlreadyImported": "Al geïmporteerd:",
    "microsoftNewEvents": "Nieuw te importeren:",
    "microsoftPreviewBtn": "🔍 Bekijk wat er beschikbaar is",
    "microsoftImportBtn": "📥 Importeer afspraken",
    "microsoftImporting": "Importeren...",
    "microsoftViewAgenda": "Bekijk agenda",
    "appleTitle": "Apple Agenda",
    "appleExplanation": "Apple biedt geen open API aan voor agenda-toegang, in tegenstelling tot Google en Microsoft. Daarom is een directe import niet mogelijk.",
    "appleHowTo": "Je kunt je Apple Agenda wél importeren via een .ics bestand:",
    "appleStep1": "Open Agenda op je Mac",
    "appleStep2": "Selecteer je agenda in de zijbalk",
    "appleStep3": "Ga naar Archief → Exporteer → Exporteer...",
    "appleStep4": "Sla op als .ics bestand en upload het hieronder ↓",
    "googleSessionExpired": "Je Google sessie is verlopen. Ga naar Instellingen om opnieuw te verbinden.",
    "microsoftSessionExpired": "Je Microsoft sessie is verlopen. Ga naar Instellingen om opnieuw te verbinden.",
    "previewFailed": "Preview mislukt",
    "importFailed": "Import mislukt",
    "error": "Fout",
    "importError": "Fout bij importeren",
    "processing": "Verwerken...",
    "errors": "fouten",
    "googleConfirmImport": "{count} afspraken importeren uit Google Agenda? Dit kan niet ongedaan worden gemaakt.",
    "microsoftConfirmImport": "{count} afspraken importeren uit Microsoft? Dit kan niet ongedaan worden gemaakt.",
    "googleFetching": "Afspraken ophalen uit Google...",
    "microsoftFetching": "Afspraken ophalen uit Microsoft...",
    "importedCount": "{count} afspraken geïmporteerd!",
    "skippedCount": "{count} overgeslagen (al aanwezig)",
    "noEventsToImport": "Geen afspraken om te importeren",
    "backToSettings": "Terug naar instellingen",
    "calendarImportTitle": "Agenda Importeren",
    "calendarImportDesc": "Importeer afspraken uit Apple Agenda, Google Agenda, Outlook of andere apps",
    "importManagerTitle": "Import Beheer",
    "importManagerDesc": "Hier kun je eerder geïmporteerde gegevens per batch verwijderen.",
    "loadingBatches": "Import batches laden...",
    "noImportedData": "Geen geïmporteerde gegevens gevonden.",
    "howItWorks": "Hoe werkt het?",
    "howToExport": "Hoe exporteer ik mijn agenda?",
    "appleExportStep": "Open Agenda → Selecteer je agenda in de zijbalk → Archief → Exporteer → Exporteer... → Bewaar als .ics bestand",
    "googleExportStep": "Ga naar calendar.google.com → Klik ⚙️ → Instellingen → Importeren en exporteren → Exporteren → Kies je agenda",
    "outlookExportStep": "Open Agenda → Bestand → Agenda opslaan → Kies datumbereik → Bewaar als .ics",
    "iphoneExportStep": "Ga via iCloud: ga naar icloud.com/calendar → Klik 📤 (deel) naast je agenda → Openbare agenda → Kopieer link en download",
    "importWarning": "Geïmporteerde afspraken worden aangemaakt zonder klant gekoppeld. Je kunt achteraf handmatig een klant aan de afspraak toevoegen via de agenda.",
    "importCompleted": "Import voltooid!",
    "filterAll": "Alles",
    "andMore": "... en {count} meer",
    "importCount": "Importeer {count} afspraken",
    "deleteBatch": "Verwijderen",
    "batchLoadError": "Fout bij laden van import batches.",
    "confirmDeleteBatch": "Weet je zeker dat je deze import wilt verwijderen?\n\nDit verwijdert {count} items permanent.",
    "deletedResult": "Verwijderd:\n• {customers} klanten\n• {pianos} piano's\n• {appointments} afspraken",
    "deleteError": "Fout bij verwijderen: ",
    "unknownError": "Onbekende fout",
    "fileReadError": "Fout bij het lezen van het bestand: ",
    "months6": "6 maanden",
    "months12": "1 jaar",
    "months24": "2 jaar",
    "months36": "3 jaar",
    "importOf": "Import van",
    "batchCustomers": "klanten",
    "batchPianos": "piano's",
    "batchAppointments": "afspraken",
    "dropZoneText": "Sleep je .ics bestand hierheen",
    "dropZoneHint": "of klik om te bladeren",
    "defaultService": "Standaard service voor geïmporteerde afspraken:",
    "noService": "Geen service (alleen afspraak)",
    "selectAppointments": "Selecteer afspraken om te importeren",
    "totalFound": "Totaal gevonden",
    "future": "Toekomstig",
    "past": "In verleden",
    "filterFuture": "Alleen toekomstige",
    "filterMonth": "Afgelopen maand + toekomst",
    "unknownDate": "Onbekende datum",
    "invalidFileType": "Upload een .ics of .ical bestand"
  },
  "importContactsPage": {
    "backToSettings": "Terug naar instellingen",
    "contactsImportTitle": "Contacten Importeren",
    "contactsImportDesc": "Importeer je klanten vanuit Apple Contacten, Google, Outlook of andere apps",
    "importManagerTitle": "Import Beheer",
    "importManagerDesc": "Hier kun je eerder geïmporteerde data per batch verwijderen.",
    "loadingBatches": "Import batches laden...",
    "noImportedData": "Geen geïmporteerde data gevonden.",
    "step1Title": "Stap 1: Kies je bron",
    "vcardName": "vCard (.vcf)",
    "vcardDesc": "iPhone, Mac, Google",
    "csvName": "CSV / Excel",
    "csvDesc": "Excel, Numbers, andere",
    "howToExportContacts": "Hoe exporteer ik mijn contacten?",
    "iphoneExportStep": "Ga naar iCloud.com → Contacten → Selecteer alle contacten (⌘A) → Klik op het tandwiel ⚙️ → Exporteer vCard",
    "macExportStep": "Open Contacten → Selecteer contacten → Archief → Exporteer → Exporteer vCard",
    "googleExportStep": "Ga naar contacts.google.com → Klik links op Exporteren → Kies \"vCard\" → Exporteren",
    "outlookExportStep": "Open Contacten → Selecteer contacten → Bestand → Exporteren → vCard-bestand",
    "howToCreateCsv": "Hoe maak ik een CSV bestand?",
    "excelStep": "Maak kolommen: Naam, Email, Telefoon, Adres, Stad, Postcode → Bestand → Opslaan als → CSV",
    "googleSheetsStep": "Bestand → Downloaden → CSV (.csv)",
    "numbersStep": "Archief → Exporteer naar → CSV",
    "step2Title": "Stap 2: Upload je bestand",
    "dropZoneText": "Sleep je bestand hierheen",
    "dropZoneHint": "of klik om te bladeren (.vcf of .csv)",
    "step3Title": "Stap 3: Controleer en importeer",
    "contactsFound": "Contacten gevonden",
    "newToAdd": "Nieuw toe te voegen",
    "alreadyExisting": "Al bestaand",
    "skipDuplicates": "Duplicaten overslaan",
    "skipDuplicatesDesc": "Contacten met bestaand email-adres niet importeren",
    "duplicate": "Duplicaat",
    "new": "Nieuw",
    "andMore": "... en {count} meer",
    "importCount": "Importeer {count} contacten",
    "importCompleted": "Import voltooid!",
    "importedResult": "{imported} contacten geïmporteerd",
    "errors": "fouten",
    "noContactsToImport": "Geen contacten om te importeren",
    "invalidFileType": "Upload een .vcf of .csv bestand",
    "fileReadError": "Fout bij het lezen van het bestand: ",
    "importOf": "Import van",
    "batchCustomers": "klanten",
    "batchPianos": "piano's",
    "batchAppointments": "afspraken",
    "deleteBatch": "Verwijderen",
    "batchLoadError": "Fout bij laden van import batches.",
    "confirmDeleteBatch": "Weet je zeker dat je deze import wilt verwijderen?\n\nDit verwijdert {count} items permanent.",
    "deletedResult": "Verwijderd:\n• {customers} klanten\n• {pianos} piano's\n• {appointments} afspraken",
    "deleteError": "Fout bij verwijderen: ",
    "unknownError": "Onbekende fout",
    "unknownDate": "Onbekende datum"
  },
  "accounting": {
    "title": "Boekhoudkoppeling",
    "subtitle": "Koppel PianoPlanner met je boekhoudsoftware om facturen automatisch te synchroniseren.",
    "connected": "Verbonden",
    "notConnected": "Niet verbonden",
    "comingSoon": "Binnenkort",
    "connect": "Verbinden",
    "connecting": "Verbinden...",
    "disconnect": "Ontkoppelen",
    "disconnected": "Ontkoppeld",
    "testConnection": "Test verbinding",
    "connectionOk": "Verbinding OK",
    "connectionFailed": "Verbinding mislukt",
    "syncNow": "Nu synchroniseren",
    "syncing": "Synchronisatie gestart...",
    "syncingPayments": "Betalingsstatus ophalen...",
    "noNewPayments": "Geen nieuwe betalingen gevonden",
    "syncFailed": "Synchronisatie mislukt",
    "fillBothFields": "Vul zowel Client ID als Client Secret in",
    "connectFailed": "Verbinding mislukt",
    "networkError": "Netwerkfout — probeer opnieuw",
    "confirmDisconnect": "Weet je zeker dat je wilt ontkoppelen? Bestaande synchronisaties blijven behouden.",
    "disconnectFailed": "Ontkoppelen mislukt",
    "jorttConnected": "Jortt succesvol verbonden!",
    "lastSyncAt": "Laatste sync:",
    "administration": "Administratie:",
    "neverSynced": "Nog niet gesynchroniseerd",
    "syncSettings": "Synchronisatie-instellingen",
    "syncInvoices": "Facturen synchroniseren",
    "syncContacts": "Klanten synchroniseren",
    "autoSync": "Automatisch synchroniseren (dagelijks)",
    "syncLog": "Synchronisatie-log",
    "syncLogDesc": "Overzicht van de laatste synchronisaties",
    "logDate": "Datum",
    "logInvoice": "Factuur",
    "logProvider": "Pakket",
    "logStatus": "Status",
    "noSyncHistory": "Nog geen synchronisaties uitgevoerd",
    "loadFailed": "Laden mislukt",
    "invoicesSynced": "facturen gesynchroniseerd",
    "fetchFailed": "Ophalen mislukt",
    "colNumber": "Nummer",
    "colCustomer": "Klant",
    "colDate": "Datum",
    "colAmount": "Bedrag",
    "colStatus": "Status",
    "statusSent": "Verzonden",
    "statusPaid": "Betaald",
    "statusDraft": "Concept",
    "comingSoonText": "Deze integratie wordt binnenkort beschikbaar. Neem contact op als je dit wilt gebruiken.",
    "country": {
      "nl": "Nederland",
      "be": "België",
      "de": "Duitsland",
      "intl": "Internationaal"
    },
    "requestSection": "Staat je pakket er niet bij?",
    "requestTitle": "Ander boekhoudpakket aanvragen",
    "requestDesc": "Gebruik je een ander boekhoudpakket? Laat het ons weten! We bekijken of we een koppeling kunnen toevoegen.",
    "requestCountry": "Land",
    "requestPackageName": "Naam boekhoudpakket *",
    "requestPackageUrl": "Website (optioneel)",
    "requestNotes": "Toelichting (optioneel)",
    "requestSubmit": "Aanvraag versturen",
    "requestSending": "Verzenden...",
    "requestSent": "Bedankt! Je aanvraag is verzonden. We bekijken de mogelijkheden en nemen contact op.",
    "requestSentShort": "Aanvraag verzonden!",
    "requestFillName": "Vul de naam van het boekhoudpakket in",
    "requestFailed": "Aanvraag mislukt",
    "jortt": {
      "desc": "Online boekhouden, facturen en btw-aangifte voor zzp'ers en mkb",
      "apiInfo": "Verbind je Jortt account via de API. Je hebt een Client ID en Client Secret nodig van het Jortt Developer Portal.",
      "step1Title": "Ga naar het Jortt Developer Portal",
      "step1Text": "Log in met je Jortt account",
      "step2Title": "Maak een nieuwe API-koppeling aan",
      "step2Text": "Klik op \"Nieuwe koppeling\" en geef deze de naam \"PianoPlanner\"",
      "step3Title": "Kopieer de credentials",
      "step3Text": "Kopieer het Client ID en Client Secret en plak ze hieronder",
      "clientId": "Client ID",
      "clientSecret": "Client Secret",
      "credentialHint": "Je credentials worden versleuteld opgeslagen.",
      "viewInvoices": "Facturen in Jortt",
      "syncPayments": "Betalingen ophalen",
      "noInvoices": "Geen facturen gevonden in Jortt",
      "goToSetup": "Koppeling instellen",
      "manage": "Beheren"
    },
    "moneybird": {
      "desc": "Populaire Nederlandse boekhoudsoftware voor zzp en mkb",
      "apiInfo": "Verbind je Moneybird account via een Personal Access Token. Je hebt een token en je administratie-ID nodig.",
      "step1Title": "Maak een Personal Access Token aan",
      "step1Text": "Maak een nieuw token aan met de naam \"PianoPlanner\"",
      "step2Title": "Vind je Administratie-ID",
      "step2Text": "Ga naar je administratie in Moneybird. Het ID staat in de URL: moneybird.com/{administratie-id}/...",
      "step3Title": "Vul de gegevens hieronder in",
      "step3Text": "Plak je token en administratie-ID hieronder",
      "token": "Personal Access Token",
      "adminId": "Administratie-ID",
      "credentialHint": "Je token wordt versleuteld opgeslagen.",
      "fillBothFields": "Vul zowel het token als het administratie-ID in",
      "syncContacts": "Klanten synchroniseren",
      "syncInvoices": "Facturen synchroniseren",
      "syncPayments": "Betalingen ophalen",
      "goToSetup": "Koppeling instellen",
      "connectedTitle": "Moneybird is verbonden",
      "manage": "Beheren"
    },
    "eboekhouden": {
      "desc": "Eenvoudig en betaalbaar online boekhouden",
      "apiInfo": "Verbind je e-Boekhouden account via een API Token. Ga naar e-Boekhouden → Beheer → Koppelingen → API om je token aan te maken.",
      "step1Title": "Log in op e-Boekhouden",
      "step1Text": "ga naar Beheer → Koppelingen → API",
      "step2Title": "Maak een API Token aan",
      "step2Text": "Klik op \"Nieuw token\" en kopieer het gegenereerde token",
      "step3Title": "Plak het token hieronder",
      "step3Text": "Je token wordt versleuteld opgeslagen",
      "apiToken": "API Token",
      "credentialHint": "Je token wordt versleuteld opgeslagen.",
      "goToSetup": "Koppeling instellen",
      "manage": "Beheren",
      "syncPayments": "Betalingen ophalen",
      "connected": "e-Boekhouden succesvol verbonden!",
      "tokenRequired": "Vul je API Token in"
    },
    "exact": {
      "desc": "Uitgebreide bedrijfssoftware voor boekhouding en ERP"
    },
    "odooConnected": "Odoo succesvol verbonden!",
    "odoo": {
      "desc": "Open-source ERP en boekhouding — populair in België en internationaal",
      "apiInfo": "Verbind je Odoo account via de External API. Je hebt je Odoo URL, databasenaam, gebruikersnaam en een API-key nodig.",
      "planNote": "Let op:",
      "planNoteText": "De Odoo External API is alleen beschikbaar op Custom/Enterprise plannen. Standaard en One App Free plannen worden niet ondersteund.",
      "step1Title": "Noteer je Odoo URL en database",
      "step1Text": "Bijvoorbeeld https://mijnbedrijf.odoo.com — de databasenaam is meestal je bedrijfsnaam",
      "step2Title": "Maak een API-key aan",
      "step2Text": "Ga naar Voorkeuren → Account Beveiliging → Nieuwe API-key. Bewaar de key goed!",
      "step3Title": "Vul de gegevens hieronder in",
      "step3Text": "Je URL, databasenaam, e-mailadres en API-key",
      "url": "Odoo URL",
      "dbName": "Database naam",
      "username": "Gebruikersnaam (e-mail)",
      "apiKey": "API Key",
      "credentialHint": "Je credentials worden versleuteld opgeslagen. De API-key is gelijk aan een wachtwoord.",
      "fillAllFields": "Vul alle velden in: URL, database, gebruikersnaam en API-key",
      "goToSetup": "Koppeling instellen",
      "manage": "Beheren"
    },
    "datev": {
      "desc": "Dé standaard voor Duitse Steuerberater en bedrijven — marktleider in Duitsland"
    },
    "lexoffice": {
      "desc": "Populairste cloud-boekhouding in Duitsland — van Haufe/Lexware"
    },
    "sevdesk": {
      "desc": "Slimme online boekhouding met uitstekende API — snelgroeiend in Duitsland"
    },
    "yuki": {
      "desc": "Automatische boekhouding voor accountants — populair in België en Nederland"
    },
    "billit": {
      "desc": "Belgisch facturatieplatform met e-invoicing en boekhouding"
    },
    "quickbooks": {
      "desc": "Wereldwijd populaire boekhoudsoftware van Intuit — marktleider in de VS en VK",
      "apiInfo": "Verbind je QuickBooks Online account via de API. Je hebt een Access Token en je Company ID (Realm ID) nodig uit het Intuit Developer Portal.",
      "step1Title": "Ga naar het Intuit Developer Portal",
      "step1Text": "Log in met je Intuit account",
      "step2Title": "Maak een app aan en genereer tokens",
      "step2Text": "Maak een OAuth 2.0 app aan en gebruik de API Explorer om een Access Token te genereren",
      "step3Title": "Vind je Company ID (Realm ID)",
      "step3Text": "Je Company ID staat in de URL van je QuickBooks account: app.qbo.intuit.com/app/homepage?companyId={ID}",
      "realmId": "Company ID (Realm ID)",
      "token": "Access Token",
      "credentialHint": "Je token wordt versleuteld opgeslagen.",
      "fillBothFields": "Vul zowel de Company ID als het Access Token in"
    },
    "quickbooksConnected": "QuickBooks succesvol verbonden!",
    "zoho": {
      "desc": "Complete cloud-boekhouding van Zoho — populair in India, VS, VK en wereldwijd",
      "apiInfo": "Verbind je Zoho Books account via OAuth. Je hebt een OAuth Token en je Organization ID nodig uit de Zoho API Console.",
      "step1Title": "Ga naar de Zoho API Console",
      "step1Text": "Maak een Self Client aan voor OAuth tokens",
      "step2Title": "Genereer een OAuth Token",
      "step2Text": "Gebruik scope ZohoBooks.fullaccess.all en genereer een token via de Self Client",
      "step3Title": "Vind je Organization ID",
      "step3Text": "Ga naar Zoho Books → Instellingen → Organisatie → het ID staat bovenaan",
      "regionLabel": "Zoho Regio",
      "orgId": "Organization ID",
      "token": "OAuth Token",
      "credentialHint": "Je token wordt versleuteld opgeslagen.",
      "fillBothFields": "Vul zowel de Organization ID als het OAuth Token in"
    },
    "zohoConnected": "Zoho Books succesvol verbonden!",
    "fiken": {
      "desc": "Superenkelt regnskapsprogram voor Noorse bedrijven — facturen, boekhouding en BTW",
      "apiInfo": "Verbind je Fiken account met een Personal API Token en je Company Slug. De API kost 99 NOK/maand in Fiken.",
      "step1Title": "Log in op Fiken",
      "step1Text": "Ga naar Rediger konto → API → Personlige API-nøkler",
      "step2Title": "Maak een Personal API Token",
      "step2Text": "Klik op 'Lag ny nøkkel' en kopieer het token",
      "step3Title": "Vind je Company Slug",
      "step3Text": "Je Company Slug staat in de URL: fiken.no/foretak/jouw-bedrijf-slug",
      "companySlug": "Company Slug",
      "token": "Personal API Token",
      "credentialHint": "Je token wordt versleuteld opgeslagen.",
      "fillBothFields": "Vul zowel de Company Slug als het API Token in"
    },
    "fikenConnected": "Fiken succesvol verbonden!",
    "visma": {
      "desc": "Skandinavisch boekhoudplatform — Visma eAccounting, e-conomic, Netvisor en meer"
    },
    "vipps": {
      "desc": "Mobiele betalingen in Scandinavië — factureer en ontvang betalingen via Vipps direct op de telefoon"
    },
    "region": {
      "europa": "Europa",
      "international": "Internationaal",
      "payments": "Betalingen"
    },
    "moneybirdConnected": "Moneybird succesvol verbonden!",
    "statusConfirmed": "Bevestigd",
    "syncAsDraft": "Synchroniseer als concept",
    "syncAsDraftHint": "Facturen worden als concept gesynchroniseerd zodat je ze kunt controleren en verzenden vanuit je boekhoudsoftware."
  },
  "dpa": {
    "title": "Verwerkersovereenkomst",
    "subtitle": "Data Processing Agreement conform de AVG",
    "intro": "Deze Verwerkersovereenkomst maakt integraal onderdeel uit van de Algemene Voorwaarden van PianoPlanner en regelt de verwerking van persoonsgegevens door Edward Meijer (Edan Creative), hierna te noemen ‘Verwerker’, ten behoeve van de gebruiker van de software, hierna te noemen ‘Verantwoordelijke’.",
    "h1": "1. Onderwerp van de verwerking",
    "p1a": "1.1. Verwerker verbindt zich onder de voorwaarden van deze overeenkomst in opdracht van Verantwoordelijke persoonsgegevens te verwerken.",
    "p1b": "1.2. De verwerking heeft uitsluitend betrekking op de gegevens van klanten van Verantwoordelijke (zoals naam, adres, instrumentgegevens en afspraakhistorie) die worden ingevoerd in de PianoPlanner-software ten behoeve van planning en administratie.",
    "h2": "2. Verplichtingen van Verwerker",
    "p2a": "2.1. Verwerker verwerkt de persoonsgegevens uitsluitend op basis van schriftelijke instructies van Verantwoordelijke, waaronder begrepen de instructies die voortvloeien uit het normale gebruik van de software.",
    "p2b": "2.2. Verwerker zal de gegevens niet voor eigen doeleinden gebruiken of aan derden verstrekken, tenzij op basis van een wettelijke verplichting.",
    "p2c": "2.3. Verwerker garandeert dat personen die gemachtigd zijn om de persoonsgegevens te verwerken, zich tot vertrouwelijkheid hebben verbonden.",
    "h3": "3. Beveiliging en Synchronisatie",
    "p3a": "3.1. Verwerker neemt passende technische en organisatorische maatregelen om de persoonsgegevens te beveiligen tegen verlies of enige vorm van onrechtmatige verwerking.",
    "p3b": "3.2. Deze maatregelen omvatten onder meer SSL-encryptie, veilige opslag in de cloud en monitoring van systeemintegriteit.",
    "p3c": "3.3. Verantwoordelijke erkent dat bij activering van twee-weg synchronisatie (zoals met Google of iCloud) gegevens buiten de directe controle van Verwerker worden gebracht. Verwerker is niet verantwoordelijk voor de verwerking door deze externe partijen.",
    "h4": "4. Sub-verwerkers",
    "p4a": "4.1. Verantwoordelijke verleent hierbij toestemming aan Verwerker om bij de verwerking gebruik te maken van sub-verwerkers (zoals hostingproviders en betalingsverwerkers).",
    "p4b": "4.2. Verwerker zorgt ervoor dat met deze sub-verwerkers minimaal gelijke verplichtingen worden overeengekomen als opgenomen in deze overeenkomst.",
    "h5": "5. Rechten van betrokkenen",
    "p5a": "5.1. Indien een eindklant van Verantwoordelijke een verzoek indient om inzage, correctie of verwijdering van zijn persoonsgegevens, zal Verwerker dit verzoek doorsturen naar Verantwoordelijke.",
    "p5b": "5.2. Verwerker zal Verantwoordelijke, voor zover redelijkerwijs mogelijk, ondersteunen bij het voldoen aan de verplichtingen rondom de rechten van betrokkenen.",
    "h6": "6. Duur en Beëindiging",
    "p6a": "6.1. Deze overeenkomst duurt voort zolang het abonnement op PianoPlanner actief is.",
    "p6b": "6.2. Na beëindiging van de dienstverlening zal Verwerker de persoonsgegevens binnen 30 dagen verwijderen, tenzij er een wettelijke plicht bestaat tot bewaring.",
    "lastUpdated": "Laatst bijgewerkt: 23 februari 2026",
    "tldr": "Wij verwerken uw klantgegevens uitsluitend in uw opdracht. Uw data wordt versleuteld opgeslagen in Europa en nooit gedeeld met derden.",
    "toc1": "Onderwerp",
    "toc2": "Verplichtingen",
    "toc3": "Beveiliging",
    "toc4": "Sub-verwerkers",
    "toc5": "Rechten",
    "toc6": "Duur"
  },
  "smartFill": {
    "badgeNew": "Nieuw",
    "buttonLabel": "Route Vullen",
    "title": "Route Vullen",
    "description": "Vul een plaatsnaam of postcode in om klanten in de buurt te vinden die aan een stembeurt toe zijn.",
    "locationLabel": "Plaats of postcode",
    "radiusLabel": "Straal (km)",
    "searchBtn": "Zoeken",
    "searching": "Klanten zoeken in de buurt...",
    "errorEmpty": "Voer een plaatsnaam of postcode in",
    "noResults": "Geen klanten gevonden in deze omgeving met een openstaande stembeurt.",
    "customersFound": "klanten gevonden nabij",
    "selectAll": "Alle selecteren",
    "changeLocation": "Andere locatie",
    "selected": "geselecteerd",
    "sendInvitations": "Uitnodigingen versturen",
    "sending": "Versturen...",
    "successTitle": "Uitnodigingen verstuurd!",
    "successMessage": "{count} uitnodigingen succesvol verstuurd.",
    "close": "Sluiten",
    "urgencyOverdue": "Te laat",
    "urgencyDue": "Aan de beurt",
    "urgencySoon": "Bijna",
    "urgencyOk": "Op schema",
    "urgencyUnknown": "Onbekend",
    "noCoordinates": "Geen coördinaten",
    "neverTuned": "Nooit gestemd",
    "monthsOverdue": "mnd over",
    "monthsLeft": "mnd te gaan",
    "invitationsSent": "uitnodigingen verstuurd!",
    "neverVisited": "Nog nooit bezocht",
    "monthsAgo": "mnd geleden",
    "lastVisited": "Laatst bezocht"
  },
  "reschedule": {
    "pageTitle": "Afspraak verplaatsen",
    "loading": "Afspraak laden...",
    "title": "Afspraak verplaatsen",
    "currentAppointment": "Huidige afspraak",
    "currentLabel": "Huidige afspraak",
    "suggestionsTitle": "Beschikbare momenten",
    "loadingSuggestions": "Optimale momenten zoeken...",
    "noSuggestionsTitle": "Geen momenten beschikbaar",
    "noSuggestionsText": "Er zijn helaas geen beschikbare momenten gevonden in de komende periode. Neem contact op om een ander moment af te spreken.",
    "recommended": "Aanbevolen",
    "bestChoice": "Beste keuze",
    "routeOptimized": "Route-geoptimaliseerd",
    "nearby": "Dichtbij",
    "confirmButton": "Afspraak verplaatsen",
    "keepCurrent": "Huidige afspraak behouden",
    "confirmDialogTitle": "Afspraak verplaatsen?",
    "confirmDialogText": "Uw afspraak wordt verplaatst naar:",
    "confirmCancel": "Annuleren",
    "confirmSubmit": "Bevestigen",
    "processing": "Verplaatsen...",
    "keptTitle": "Afspraak behouden",
    "keptText": "Uw huidige afspraak blijft ongewijzigd.",
    "successTitle": "Afspraak verplaatst!",
    "successText": "Uw afspraak is succesvol verplaatst. U ontvangt een bevestiging per e-mail.",
    "errorTitle": "Oeps!",
    "errorGeneric": "Er is iets misgegaan.",
    "expiredTitle": "Link verlopen",
    "expiredText": "Deze herplanningslink is niet meer geldig. De afspraak is mogelijk al geweest of geannuleerd.",
    "invalidLink": "Ongeldige link",
    "chooseNewDate": "Kies een nieuwe datum",
    "chooseNewTime": "Kies een nieuw tijdstip",
    "newAppointment": "Nieuw tijdstip",
    "noSlots": "Geen beschikbare tijden op deze dag. Kies een andere datum.",
    "loadingTimes": "Tijden laden...",
    "until": "tot"
  },
  "invoiceApi": {
    "invoiceNotFound": "Factuur niet gevonden",
    "invoiceLoadError": "Kon factuur niet laden",
    "invoicesLoadError": "Kon facturen niet laden",
    "invoiceCreateError": "Kon factuur niet aanmaken",
    "invoiceUpdateError": "Kon factuur niet bijwerken",
    "invoiceDeleteError": "Kon factuur niet verwijderen",
    "invoiceDuplicateError": "Kon factuur niet dupliceren",
    "invoiceSent": "Factuur verzonden per e-mail",
    "invoiceSendError": "Fout bij verzenden factuur",
    "invoice": "Factuur",
    "creditNote": "Creditnota",
    "creditNoteFor": "Creditnota voor",
    "creditNoteCreateError": "Kon creditnota niet aanmaken",
    "alreadyCredited": "Deze factuur is al gecrediteerd",
    "deleteOnlyDraft": "Alleen concept- en geannuleerde facturen kunnen verwijderd worden. Maak eerst een creditnota aan.",
    "invalidStatus": "Ongeldige status",
    "statusChangeError": "Kon status niet wijzigen",
    "notesUpdated": "Notities en factuurnummer bijgewerkt",
    "settingsLoadError": "Kon instellingen niet laden",
    "settingsSaveError": "Kon instellingen niet opslaan",
    "mollieNoKey": "Geen Mollie API key ingesteld. Vul een key in die begint met live_",
    "mollieKeyFormat": "Key moet beginnen met live_ (productie) of test_ (test)",
    "mollieKeyInvalid": "Ongeldige Mollie API key. De key moet beginnen met live_ (productie) of test_ (test).",
    "mollieKeyVerifyFailed": "Mollie API key is ongeldig",
    "stripeNoKey": "Geen Stripe API key ingesteld. Vul een key in die begint met sk_live_ of sk_test_",
    "stripeKeyFormat": "Key moet beginnen met sk_live_ (productie) of sk_test_ (test)",
    "stripeKeyInvalid": "Ongeldige Stripe API key. De key moet beginnen met sk_live_ of sk_test_.",
    "stripeKeyVerifyFailed": "Stripe API key is ongeldig",
    "keyInvalid": "Key is ongeldig",
    "internalTestError": "Interne fout bij testen",
    "noFileUploaded": "Geen bestand geüpload",
    "letterheadUploadError": "Kon briefpapier niet uploaden",
    "letterheadDeleteError": "Kon briefpapier niet verwijderen",
    "servicesLoadError": "Kon diensten niet laden",
    "serviceNotFound": "Dienst niet gevonden",
    "serviceCreateError": "Kon dienst niet aanmaken",
    "serviceUpdateError": "Kon dienst niet bijwerken",
    "serviceDeleteError": "Kon dienst niet verwijderen",
    "nameRequired": "Naam is verplicht",
    "openTasksError": "Kon openstaande taken niet ophalen",
    "pdfGenerateError": "Kon PDF niet genereren",
    "ublGenerateError": "Kon UBL XML niet genereren",
    "numberAssignError": "Kon factuurnummer niet toekennen",
    "customerNotFound": "Klant niet gevonden",
    "customerNoEmail": "Klant heeft geen e-mailadres",
    "adminNoEmail": "Administratie heeft geen e-mailadres",
    "emailSendFailed": "E-mail kon niet worden verzonden",
    "invoiceRecentlySent": "Deze factuur is minder dan een minuut geleden al verstuurd. Weet je zeker dat je deze opnieuw wilt verzenden?"
  },
  "sidebar": {
    "planning": "Planning",
    "agenda": "Agenda",
    "myAgenda": "Mijn Agenda",
    "customers": "Klanten",
    "pianos": "Piano's",
    "reminders": "Herinneringen",
    "work": "Werk",
    "projects": "Projecten",
    "travel": "Ritten",
    "invoices": "Facturen",
    "management": "Beheer",
    "settings": "Instellingen",
    "emailTemplates": "E-mailtemplates",
    "accounting": "Boekhouding",
    "import": "Importeren",
    "billing": "Abonnement",
    "teams": "Teams",
    "inventory": "Magazijn",
    "help": "Hulp",
    "guide": "Handleiding",
    "support": "Support",
    "logout": "Uitloggen",
    "forceRefresh": "Klik om te verversen",
    "logoutConfirm": "Weet je zeker dat je wilt uitloggen?",
    "menuToggle": "Menu",
    "emailQuota": "Email tegoed",
    "googleExpired": "Je Google Agenda-koppeling is verlopen.",
    "reconnect": "Opnieuw koppelen",
    "aiSearch": "AI Zoeken",
    "leads": "Leads"
  },
  "contact": {
    "about": "Over ons",
    "businessDetails": "Bedrijfsgegevens",
    "companyName": "Bedrijf",
    "companyTitle": "Over ons",
    "email": "E-mail",
    "emailField": "E-mail",
    "error": "Er is iets misgegaan. Probeer het later opnieuw.",
    "formDesc": "Vul het onderstaande formulier in en we nemen binnen 24 uur contact met je op.",
    "formTitle": "Stuur ons een bericht",
    "heroDesc": "Heb je vragen over PianoPlanner? We horen graag van je. Stuur ons een bericht en we reageren zo snel mogelijk.",
    "heroTitle": "Neem contact op",
    "kvk": "Kamer van Koophandel (KvK)",
    "location": "Locatie",
    "login": "Inloggen",
    "message": "Bericht",
    "name": "Naam",
    "selectSubject": "Selecteer een onderwerp...",
    "send": "Bericht versturen",
    "sending": "Versturen...",
    "subject": "Onderwerp",
    "subjectBilling": "Facturatie & Abonnement",
    "subjectFeature": "Functieverzoek",
    "subjectFeedback": "Feedback",
    "subjectGeneral": "Algemene vraag",
    "subjectOther": "Overig",
    "subjectSupport": "Technische ondersteuning",
    "success": "Je bericht is succesvol verzonden!",
    "vat": "BTW-nummer"
  },
  "teamDashboard": {
    "pageTitle": "Team Dashboard - PianoPlanner",
    "teamLoading": "Team laden...",
    "today": "Vandaag",
    "smartAppointment": "Slimme Afspraak",
    "dayView": "Dag",
    "weekView": "Week",
    "teamView": "Team",
    "loading": "Laden...",
    "bookingLink": "Boekingslink",
    "bookingLinkTitle": "Kopieer publieke boekingslink",
    "invitations": "Uitnodigingen",
    "invitationsTitle": "Stuur stemuitnodigingen via Teams",
    "teamMembers": "Teamleden",
    "workload": "Werkdruk deze week",
    "unassigned": "Niet toegewezen",
    "everyone": "Iedereen",
    "none": "Geen",
    "previous": "Vorige",
    "next": "Volgende",
    "icalFeeds": "iCal Feeds",
    "icalHowItWorks": "Hoe werkt het?",
    "icalCopyLink": "Kopieer de iCal-link en voeg toe als abonnement in:",
    "icalApple": "Apple Calendar: Archief → Nieuw agenda-abonnement",
    "icalGoogle": "Google Calendar: Instellingen → Andere agenda → Via URL",
    "icalOutlook": "Outlook: Agenda toevoegen → Abonneren via web",
    "selectPiano": "Piano selecteren of toevoegen",
    "selectPianoDesc": "Kies een bestaande piano of registreer een nieuwe",
    "customerPianos": "Piano's van deze klant",
    "selectCustomerFirst": "Selecteer eerst een klant",
    "or": "of",
    "addNewPiano": "Nieuwe piano toevoegen",
    "brand": "Merk",
    "brandPlaceholder": "bijv. Steinway, Yamaha",
    "model": "Model",
    "modelPlaceholder": "bijv. Model D, U1",
    "type": "Type",
    "upright": "Piano",
    "grand": "Vleugel",
    "buildYear": "Bouwjaar",
    "buildYearPlaceholder": "bijv. 1985",
    "savePiano": "Piano opslaan",
    "aiSuggestions": "AI Suggesties",
    "aiSuggestionsDesc": "Slimme aanbevelingen op basis van locatie en agenda",
    "customer": "Klant",
    "piano": "Piano",
    "selectService": "Service kiezen",
    "selectServicePlaceholder": "-- Selecteer service --",
    "smartestMoments": "Slimste momenten",
    "smartMomentsDesc": "Automatisch berekend op basis van je agenda en reistijd",
    "smartMomentsLoading": "We zijn voor u aan het kijken...",
    "smartMomentsEmpty": "Selecteer een service om de slimste momenten te zien",
    "loadMoreOptions": "Meer opties laden",
    "chosenMoment": "Gekozen moment",
    "assignMember": "Teamlid toewijzen",
    "assignMemberDesc": "Wie gaat deze afspraak uitvoeren?",
    "assignTo": "Toewijzen aan",
    "moment": "Moment",
    "chooseMember": "Kies een teamlid",
    "chooseMemberDesc": "Gesorteerd op slimme score (beschikbaarheid, locatie, werklast)",
    "chooseMemberLoading": "Beste teamlid berekenen...",
    "sendConfirmation": "Bevestigingsmail sturen",
    "createAndAssign": "Afspraak aanmaken & toewijzen",
    "prevStep": "Vorige",
    "nextStep": "Volgende",
    "assign": "Toewijzen",
    "removeAssignment": "Verwijder toewijzing",
    "cancel": "Annuleren",
    "sendInvitations": "Stemuitnodigingen versturen",
    "searchCustomer": "Zoek klant op naam of email...",
    "selected": "geselecteerd",
    "selectAll": "Alles selecteren",
    "deselectAll": "Alles deselecteren",
    "customersLoading": "Klanten laden...",
    "customersSelected": "klant(en) geselecteerd",
    "sendInvitationsBtn": "Verstuur uitnodigingen",
    "errorLoadingTeams": "Fout bij laden teams",
    "bookingLinkCopied": "Boekingslink gekopieerd!",
    "errorLoadingCalendar": "Fout bij laden teamagenda",
    "selectMember": "Selecteer een teamlid",
    "assignmentSaved": "Toewijzing opgeslagen",
    "errorAssigning": "Fout bij toewijzen",
    "assignmentRemoved": "Toewijzing verwijderd",
    "errorRemovingAssignment": "Fout bij verwijderen toewijzing",
    "selectTeamFirst": "Selecteer eerst een team",
    "selectPianoFirst": "Selecteer eerst een piano",
    "selectTimeslotFirst": "Selecteer eerst een tijdslot",
    "noPastDates": "Je kunt geen afspraken in het verleden aanmaken",
    "selectProjectFirst": "Selecteer een project voor werkplaatswerk",
    "enterName": "Vul een naam in",
    "errorSavingCustomer": "Fout bij opslaan van klant",
    "enterBrand": "Vul het merk in",
    "errorSavingPiano": "Fout bij opslaan van piano",
    "selectAllFieldsAndMember": "Selecteer alle velden en een teamlid",
    "confirmCreateAnyway": "Wil je deze afspraak toch aanmaken?",
    "appointmentCreated": "Afspraak aangemaakt en toegewezen aan {name}",
    "errorCreatingAppointment": "Fout bij aanmaken afspraak",
    "invitationsSent": "{count} teamuitnodiging(en) verstuurd",
    "noTeams": "Geen teams — maak er een aan",
    "noTeamsTitle": "Geen teams",
    "noTeamsDesc": "Ga naar Team Management om een team aan te maken.",
    "copied": "Gekopieerd!",
    "copy": "Kopieer",
    "clickToCopy": "Klik om te kopiëren",
    "noTeamMembers": "Geen teamleden",
    "members": "leden",
    "copyThisLink": "Kopieer deze link:",
    "stepCustomer": "Klant",
    "stepPiano": "Piano",
    "stepAppointment": "Afspraak",
    "stepMember": "Teamlid",
    "selectCustomer": "Klant selecteren of toevoegen",
    "selectCustomerDesc": "Zoek een bestaande klant of maak een nieuwe aan",
    "searchExistingCustomer": "Bestaande klant zoeken",
    "searchCustomerInputPlaceholder": "Typ naam, email of telefoonnummer...",
    "searchCustomerPlaceholder": "Zoek klant op naam of email...",
    "createNewCustomer": "Nieuwe klant aanmaken",
    "nameLabel": "Naam",
    "emailLabel": "Email",
    "phoneLabel": "Telefoon",
    "addressLabel": "Adres",
    "postalCodeLabel": "Postcode",
    "cityLabel": "Plaats",
    "fullNamePlaceholder": "Volledige naam",
    "emailPlaceholder": "email@voorbeeld.nl",
    "phonePlaceholder": "+31 6 12345678",
    "addressPlaceholder": "Straat en huisnummer",
    "postalCodePlaceholder": "1234 AB",
    "cityPlaceholder": "Stad",
    "saveCustomer": "Klant opslaan",
    "noAddressKnown": "Geen adres bekend",
    "noCustomersFound": "Geen klanten gevonden",
    "loadingPianos": "Piano's laden...",
    "noPianosYet": "Deze klant heeft nog geen piano's. Voeg er een toe!",
    "monthsAgoTuned": "mnd geleden gestemd",
    "noTuningKnown": "Geen stembeurt bekend",
    "noTuningKnownPiano": "Geen stembeurt bekend voor deze piano.",
    "pianoOverdue": "Deze piano is al",
    "months": "maanden",
    "errorLoadingPianos": "Fout bij laden van piano's",
    "noAvailableMoments": "Geen beschikbare momenten gevonden.",
    "errorSearchingMoments": "Fout bij zoeken naar beschikbare momenten.",
    "saved": "bespaard",
    "bestChoice": "Beste keuze",
    "preferOther": "Liever een ander moment?",
    "alternativesAvailable": "alternatieven beschikbaar",
    "preferOtherChoose": "Liever een ander moment? Kies zelf",
    "backToBest": "Terug naar beste keuze",
    "recommended": "Aanbevolen",
    "available": "Beschikbaar",
    "noActiveMembersAvailable": "Geen actieve teamleden beschikbaar",
    "noActiveMembers": "Geen actieve teamleden",
    "activateMembersVia": "Activeer teamleden via",
    "teamManagement": "Team Management",
    "noTeamsCreate": "om een team aan te maken.",
    "errorLoadingMembers": "Fout bij laden van teamleden",
    "busy": "Bezig...",
    "appointment": "Afspraak",
    "createAnyway": "Wil je deze afspraak toch aanmaken?",
    "sendConfirmationTo": "Bevestigingsmail sturen naar",
    "confirmationSentTo": "Bevestigingsmail verstuurd naar",
    "appointmentCreatedAssigned": "Afspraak aangemaakt en toegewezen aan",
    "loadingCustomers": "Klanten laden...",
    "errorLoadingCustomers": "Fout bij laden klanten",
    "noCustomersWithEmail": "Geen klanten met e-mail gevonden",
    "unnamed": "Naamloos",
    "sending": "Versturen...",
    "sendingFailed": "Versturen mislukt",
    "teamInvitationsSent": "teamuitnodiging(en) verstuurd",
    "viaTeamBookingLink": "Via team boekingslink",
    "skipped": "overgeslagen",
    "sent": "verstuurd",
    "done": "Klaar",
    "error": "Fout",
    "timelineView": "Tijdlijn",
    "titleLabel": "Titel",
    "titlePlaceholder": "Titel",
    "customerLabel": "Klant",
    "pianoLabel": "Piano('s)",
    "serviceLabel": "Service",
    "noServiceOption": "— Geen service —",
    "startLabel": "Start",
    "endLabel": "Eind",
    "locationLabel": "Locatie",
    "addressPlaceholderShort": "Adres",
    "tunerLabel": "Stemmer",
    "statusLabel": "Status",
    "statusScheduled": "Gepland",
    "statusConfirmed": "Bevestigd",
    "statusCompleted": "Voltooid",
    "statusCancelled": "Geannuleerd",
    "notesLabel": "Notities",
    "notesPlaceholder": "Notities...",
    "deleteButton": "Verwijderen",
    "cancelButton": "Annuleren",
    "saveButton": "Opslaan",
    "teamAppointmentTitle": "Team Afspraak",
    "orChooseFromInventory": "of kies uit voorraad",
    "inventoryTitle": "Voorraad piano's",
    "inventorySearchPlaceholder": "Zoek op merk, model of serienummer...",
    "smartScheduling": "Slim inplannen",
    "manualScheduling": "Handmatig plannen",
    "selectServiceV4": "-- Kies een service --",
    "searchRange": "Zoekbereik",
    "autoEndDateHelp": "Laat einddatum leeg voor automatisch 30 dagen",
    "findBestMatch": "Zoek beste match",
    "v4LoadingMessage": "Bezig met combineren van agenda's, reistijden en werkbelasting...",
    "myAgenda": "Mijn Agenda",
    "summaryCustomerLabel": "Klant",
    "summaryPianoLabel": "Piano",
    "errorLoadingAppointment": "Fout bij laden afspraak",
    "editAppointmentTitle": "Afspraak bewerken",
    "appointmentSaved": "Afspraak opgeslagen",
    "errorSaving": "Fout bij opslaan",
    "saveFailed": "Opslaan mislukt",
    "confirmDelete": "Weet je zeker dat je deze afspraak wilt verwijderen?",
    "deleteFailed": "Verwijderen mislukt",
    "appointmentDeleted": "Afspraak verwijderd",
    "errorDeleting": "Fout bij verwijderen",
    "movedTo": "Verplaatst naar",
    "errorMoving": "Fout bij verplaatsen",
    "selectCustomerOrInventory": "Selecteer een klant of een voorraad piano",
    "selectServiceFirst": "Kies eerst een service",
    "selectStartDate": "Kies een startdatum",
    "noCustomerSelected": "Geen klant geselecteerd",
    "noMatchesFound": "Geen beschikbare matches gevonden. Probeer een breder zoekbereik.",
    "errorSearching": "Er ging iets mis bij het zoeken. Probeer het opnieuw.",
    "inventoryNoCustomer": "Voorraad — geen klant",
    "inventoryLabel": "Voorraad",
    "noPianosFound": "Geen piano's gevonden",
    "selectedColon": "Geselecteerd:",
    "noStockPianos": "Geen piano's in voorraad",
    "errorLoadingStock": "Kon voorraad niet laden",
    "lastTuningLabel": "Laatste stembeurt:",
    "monthsAgo": "maanden geleden",
    "pianosInInventory": "piano's in voorraad",
    "ofPianos": "van",
    "fromHome": "vanuit huis",
    "travelTimeLbl": "reistijd",
    "toHome": "naar huis",
    "noAppointmentsToday": "Geen afspraken vandaag",
    "absent": "Afwezig",
    "membersScanned": "leden gescand",
    "daysSearched": "dagen doorzocht",
    "grandPiano": "Vleugel",
    "uprightPiano": "Piano",
    "digitalPiano": "Digitaal",
    "showroomBadge": "Showroom",
    "workshopBadge": "Werkplaats",
    "unknownLocation": "onbekend",
    "appointmentsLabel": "afspraken",
    "routeOptimized": "Route-geoptimaliseerd",
    "preferredLabel": "Voorkeur",
    "appointmentMoved": "Afspraak verplaatst",
    "newAppointment": "Nieuwe afspraak",
    "createAppointment": "Afspraak aanmaken",
    "smartSuggestion": "Suggestie",
    "createFailed": "Aanmaken mislukt",
    "errorCreating": "Fout bij aanmaken",
    "noMember": "Geen",
    "smartPlanTitle": "Slim inplannen",
    "smartSelectService": "Selecteer een klant en service om slimme suggesties te zien",
    "smartSelectServiceWorkshop": "Selecteer een service om slimme suggesties te zien",
    "smartSearching": "Beste momenten zoeken...",
    "noSmartSuggestions": "Geen slimme suggesties beschikbaar",
    "smartError": "Kon geen suggesties laden",
    "backToSmart": "Terug naar slimme suggesties ▴",
    "planManually": "Liever handmatig inplannen? ▾",
    "locationTypeLabel": "Type afspraak",
    "atCustomer": "Bij klant",
    "workshop": "Werkplaats",
    "projectLabel": "Project",
    "noProject": "— Geen project (losse uren) —",
    "remaining": "Resterend",
    "hours": "uur",
    "hoursLeft": "uur over",
    "deadline": "Deadline",
    "daysOverdue": "dagen over deadline!",
    "deadlineToday": "vandaag!",
    "daysRemaining": "nog {{n}} dagen",
    "selectSuggestionOrManual": "Kies een suggestie of plan handmatig",
    "wizardCustomer": "Klant",
    "wizardServiceTime": "Service & Tijd",
    "wizardDetails": "Details",
    "searchHint": "Zoek op naam, of",
    "addNewCustomer": "maak nieuwe klant aan",
    "newCustomer": "Nieuwe klant",
    "nameRequired": "Naam *",
    "phone": "Telefoon",
    "streetHouseNr": "Straat + huisnr.",
    "postalCode": "Postcode",
    "city": "Plaats",
    "addCustomer": "Klant toevoegen",
    "titleHint": "Laat leeg voor automatische titel op basis van klant + service",
    "customerCreated": "Klant toegevoegd",
    "errorCreatingCustomer": "Fout bij het aanmaken van klant",
    "atWorkshop": "Werkplaats",
    "allDay": "Hele dag",
    "privateAppointment": "Privé afspraak",
    "privatePurposePlaceholder": "bijv. Boodschappen, dokter, familie..."
  },
  "notifications": {
    "updated": "bijgewerkt",
    "pinPaid": "Pin betaald",
    "cashPaid": "Contant betaald",
    "invoiceLater": "Later factureren",
    "appointmentCompleted": "Afspraak voltooid"
  },
  "legal": {
    "tldrLabel": "In het kort",
    "tocTitle": "Inhoudsopgave"
  },
  "about": {
    "heroTitle": "Software voor pianostemmers,<br>gebouwd door een pianostemmer.",
    "heroSubtitle": "Na 46 jaar praktijkervaring weet ik wat u nodig heeft. Ik bouwde de app die ik zelf altijd wilde hebben.",
    "storyOriginTitle": "Van kaartenbak naar code",
    "storyOriginP1": "Die liefde voor technologie begon vroeg. Als tiener programmeerde ik 's avonds laat BASIC op een ZX Spectrum. Later, gewapend met mijn eerste Tulip PC, schreef ik mijn eerste 'echte' software: een digitale klantendatabase voor mijn vader.",
    "storyOriginP2": "In mijn jeugdige enthousiasme gooide ik vervolgens zijn fysieke kaartenbak weg — tot grote schrik van mijn vader! Uiteindelijk heb ik alles netjes voor hem uitgeprint op de matrixprinter, maar de toon was gezet: ik wilde dingen efficiënter, sneller en beter organiseren.",
    "storyFrustrationTitle": "Wat ik allemaal probeerde",
    "storyFrustrationP1": "Elke ochtend hetzelfde ritueel: Google Calendar checken, klantadressen opzoeken, Google Maps openen, uitrekenen of er nog een afspraak tussen twee andere past... En 's avonds: handmatig bevestigingsmails sturen, mijn Excel-sheet updaten met serienummers, noteren wanneer elke piano weer gestemd moet worden.",
    "storyFrustrationP2": "Na jaren denken \"dit moet toch beter kunnen\" besloot ik het zelf te bouwen.",
    "triedExcel": "Geen herinneringen",
    "triedGCal": "Geen klantinfo",
    "triedGazelle": "Prijzig, servers in VS",
    "triedCalendly": "Niet voor ons vak",
    "triedServiceP": "Voor CV-monteurs",
    "triedPaperName": "Papieren agenda",
    "triedPaper": "Geen backup, sync",
    "storyTeamTitle": "De samenwerking",
    "storyTeamP1": "In mijn eigen praktijk liep ik jarenlang tegen muren aan. Ik werkte met Amerikaanse software die onze markt niet helemaal begreep, of ik jongleerde met drie verschillende apps voor agenda, facturering en routes. Ik dacht: \"Dit moet slimmer kunnen.\"",
    "storyTeamP2": "Ik heb grote interesse in alles rondom bedrijfscijfers — we weten allemaal hoe complex de margeregeling kan zijn. Ik wilde software die niet alleen plant, maar ook meedenkt met mijn bedrijfsvoering.",
    "storyTeamP3": "Toen ik besloot de ultieme agenda zelf te bouwen, stond ik er niet alleen voor. Ik ging aan de slag met mijn vaardigheden en het advies van mijn kinderen en stiefkinderen. Eén is afgestudeerd als IT-specialist aan de HAN. De ander als Game Developer & Sound Designer aan de HKU. Met mijn ervaring uit de praktijk en hun kennis van de nieuwste technologie en AI hebben we samen PianoPlanner ontwikkeld.",
    "storySmartTitle": "Slimme afspraken",
    "storySmartP1": "De kern van PianoPlanner is simpel: ik wil in één oogopslag zien of ik geld verdien of tijd verspil. Ik wil ook niet te veel in de auto zitten en mijn tijd effectief gebruiken. Daarom ontwikkelden we Smart Appointments — elke afspraak krijgt automatisch een kleur op basis van reistijd:",
    "colorGreen": "Past perfect in je route",
    "colorOrange": "Let op je reistijd",
    "colorRed": "Inefficiënt, kost je tijd",
    "storyNLTitle": "Trots Nederlands",
    "storyNLP1": "Anders dan de grote Amerikaanse partijen geloof ik in lokale kracht. PianoPlanner is een onafhankelijk initiatief. Je data wordt veilig en versleuteld opgeslagen op Europese servers, volledig conform de AVG-privacywetgeving.",
    "storyNLP2": "Ik ben trots op wat we gebouwd hebben. Een systeem voor pianostemmers, door een pianostemmer.",
    "compareTitle": "PianoPlanner vs Gazelle",
    "compareSubtitle": "Twee platforms voor pianotechnici — welke past bij jouw werkwijze?",
    "ppOrigin": "🇳🇱 Nederland · Gemaakt door een pianostemmer",
    "pp1": "Automatische routeclustering met Smart Suggestions",
    "pp2": "Google + Microsoft + Apple calendar sync (two-way)",
    "pp3": "Online boekingslinks voor klanten",
    "pp4": "Europese servers — AVG/GDPR compliant",
    "pp5": "4 talen: NL, EN, DE, FR",
    "gzOrigin": "🇺🇸 USA · Opgericht in 2015",
    "gz1": "Native iOS & Android apps",
    "gz2": "Facturatie met QuickBooks integratie",
    "gz3": "Condition Reports (PDF piano-rapporten)",
    "gz4": "Groot bestaand klantenbestand in de VS",
    "gz5": "Meerdere talen beschikbaar",
    "thFeature": "Functie",
    "catPlanning": "📅 Planning & Route",
    "fRouteOpt": "Route-optimalisatie",
    "fRouteOptPP": "✅ Smart Suggestions — AI kiest automatisch het beste tijdslot op basis van reistijd + bestaande afspraken",
    "fRouteOptGZ": "Handmatig plannen met kaartweergave + routing-algoritme",
    "fRouteFill": "Route Vullen",
    "fRouteFillPP": "✅ Zoek klanten nabij bestaande afspraken die aan een stembeurt toe zijn. Verstuur uitnodigingen.",
    "fCustAnalysis": "Klantenbestand Analyse",
    "fCustAnalysisPP": "✅ Scan je klantenbestand, bereken afstanden, ontvang optimale reistijdaanbeveling — in één klik",
    "fTheater": "Theater modus",
    "fTheaterPP": "✅ Aparte uren voor theaters & concertzalen",
    "catCalendar": "📆 Agenda & Synchronisatie",
    "fGooglePP": "✅ Two-way sync (real-time)",
    "fGoogleGZ": "One-way sync",
    "catBooking": "🌐 Online Boeken",
    "fBookingLink": "Publieke boekingslink",
    "fBookingLinkPP": "✅ pianoplanner.com/book/jouw-naam",
    "fSmartSugg": "Smart Suggestions",
    "fSmartSuggPP": "✅ 3 strategieën: route, gap-filler, proximity",
    "fConfirm": "Bevestiging",
    "fConfirmPP": "✅ Direct bevestigd — klant weet meteen",
    "fConfirmGZ": "Goedkeuring vereist",
    "catPianos": "🎹 Piano's & Klanten",
    "fPhotos": "Foto's per piano",
    "fPhotosPP": "✅ Tot 5 foto's per piano — geoptimaliseerd met thumbnails",
    "fPhotosGZ": "✅ Foto's bij piano + condition reports",
    "fWorkshop": "Werkplaats projectplanner",
    "fWorkshopPP": "✅ Projecten, taken, urenbegroting, voortgang",
    "catBilling": "💰 Facturatie",
    "fInvoicing": "Facturatie",
    "fInvoicingPP": "✅ Inbegrepen",
    "fInvoicingGZ": "Betaalde add-on",
    "fAccounting": "Boekhouding integratie",
    "fAccountingPP": "✅ Moneybird, Jortt, e-Boekhouden, Exact Online",
    "fAccountingGZ": "QuickBooks / Xero (VS-gericht)",
    "fMileage": "Kilometerregistratie",
    "fMileagePP": "✅ Automatisch per afspraak op basis van route",
    "catTechnical": "⚙️ Technisch",
    "fPrivacy": "Privacy & data",
    "fPrivacyPP": "✅ EU/NL servers · AVG/GDPR compliant",
    "fPrivacyGZ": "US servers",
    "fSmtp": "Eigen e-mail domein",
    "fSmtpPP": "✅ Eigen SMTP + aanpasbare templates",
    "fLanguages": "Talen",
    "fLanguagesPP": "✅ NL, EN, DE, FR, IT, ES",
    "fLanguagesGZ": "EN + meerdere talen",
    "catPricing": "💳 Prijzen",
    "fFree": "Gratis versie",
    "fFreePP": "✅ Permanent — tot 25 klanten",
    "fFreeGZ": "30 dagen proefperiode",
    "fStartPrice": "Startprijs",
    "fStartPricePP": "Vanaf €24,50/maand (onbeperkt)",
    "fStartPriceGZ": "€67/mnd (250 piano's) · €89 (350) · €115 (500)",
    "fLimits": "Limieten",
    "fLimitsPP": "✅ Onbeperkt klanten & piano's",
    "fLimitsGZ": "Per 50 piano's bijbetalen + extra kosten",
    "catTeams": "👥 Teams",
    "fTeams": "Teams versie",
    "fTeamsPP": "✅ Meerdere stemmers per bedrijf · gedeelde agenda · Smart Pick · iCal per stemmer · €49,50/maand",
    "honestTitle": "🤝 Eerlijk: waar Gazelle sterker is",
    "honest1": "<strong>Condition Reports</strong> — Stuur klanten gedetailleerde PDF-rapporten over de staat van hun piano. Dit heeft PianoPlanner (nog) niet.",
    "honest2": "<strong>Native apps</strong> — De iOS/Android apps van Gazelle kunnen soepeler aanvoelen dan een PWA, vooral op oudere toestellen.",
    "honest3": "<strong>Marktpositie VS</strong> — Gazelle is langer actief en heeft een groot netwerk in Noord-Amerika.",
    "diffTitle": "Het wezenlijke verschil",
    "diffSubtitle": "Waarom stemmers overstappen naar PianoPlanner",
    "diffSmartTitle": "Automatisch slim plannen",
    "diffSmartDesc": "Smart Suggestions analyseert je agenda, berekent reistijden en stelt automatisch de meest efficiënte tijdslots voor. Het systeem clustert vanzelf.",
    "diffSyncTitle": "Triple calendar sync",
    "diffSyncDesc": "Als enige piano-platform synchroniseert PianoPlanner two-way met Google Calendar, Microsoft 365 én Apple Calendar.",
    "diffBookingTitle": "Klanten boeken zelf",
    "diffBookingDesc": "Elke klant krijgt een persoonlijke boekingslink. Ze zien hun piano's, eerdere afspraken en kiezen direct een nieuw tijdslot.",
    "diffPrivacyTitle": "Europese privacy",
    "diffPrivacyDesc": "Alle data staat op Nederlandse servers. Volledig AVG/GDPR compliant. Geen data naar de VS. Ideaal voor Europese technici.",
    "priceTitle": "Prijsvergelijking",
    "priceSubtitle": "Wat betaal je per maand?",
    "priceAmountPP": "€0 – €89,50",
    "pricePerMonth": "per maand",
    "pricePP1": "Starter: gratis (tot 25 klanten)",
    "pricePP2": "Start: €24,50/maand — onbeperkt",
    "pricePP3": "Pro: €39,50/maand — met kalender sync + facturatie",
    "pricePP4": "Geen limiet op piano's of klanten",
    "pricePP5": "1 maand gratis proberen",
    "priceAmountGZ": "€67 – €115+",
    "priceSubGZ": "per maand (250–500 piano's, alleen basispakket)",
    "priceGZ1": "30 dagen gratis proefperiode",
    "priceGZ2": "250 piano's = €67/mnd · 350 = €89 · 500 = €115",
    "priceGZ3": "Prijs per 50 actieve piano's — schaalt snel op",
    "priceGZ4": "Herinneringen, facturatie, SMS kosten extra",
    "priceGZ5": "QuickBooks integratie (add-on)",
    "migTitle": "Overstappen? Dat kan in 5 minuten.",
    "migSubtitle": "Exporteer je klanten, piano's en afspraken uit Gazelle als CSV. Upload in PianoPlanner — klaar.",
    "migStep1": "1. Exporteer uit Gazelle",
    "migStep2": "2. Upload in PianoPlanner",
    "migStep3": "3. Klaar!",
    "signatureGreeting": "Ik nodig je van harte uit om het zelf te ervaren.",
    "signatureTitle": "Pianotechnicus & Maker van PianoPlanner",
    "ctaTitle": "Klaar om slimmer te werken?",
    "ctaDesc": "Start gratis met maximaal 25 klanten. Geen creditcard nodig.",
    "ctaBtn": "Gratis starten →"
  },
  "seo": {
    "homeTitle": "PianoPlanner — Slimme Planning voor Pianotechnici",
    "homeDescription": "De slimste bedrijfssoftware voor pianotechnici. AI-gestuurde planning, route-optimalisatie, facturatie en een boekingspagina waar uw klanten van houden.",
    "pricingTitle": "Prijzen — PianoPlanner",
    "pricingDescription": "Eenvoudige prijzen voor pianotechnici. Start gratis met maximaal 25 klanten. Geen creditcard nodig.",
    "aboutTitle": "Over PianoPlanner — Gemaakt door een Pianotechnicus",
    "aboutDescription": "Het verhaal achter PianoPlanner. Gemaakt door pianotechnicus Edward Meijer om vakgenoten slimmer te laten werken.",
    "contactTitle": "Contact — PianoPlanner",
    "contactDescription": "Neem contact op met het PianoPlanner-team. Vragen, feedback of samenwerkingsverzoeken — we horen graag van u.",
    "guideTitle": "Aan de slag — PianoPlanner",
    "guideDescription": "Leer hoe u aan de slag gaat met PianoPlanner. Stel uw account in, importeer klanten en plan uw eerste afspraak.",
    "bookTitle": "Demo boeken — PianoPlanner",
    "bookDescription": "Boek een gratis demo van PianoPlanner. Ontdek hoe slimme planning uw pianostembedrijf kan transformeren.",
    "teamsInfoTitle": "PianoPlanner Teams — De complete operatie onder controle",
    "teamsInfoDescription": "AI-gestuurde routeplanning, mobiele stemmer-app en waterdichte beveiliging. PianoPlanner Teams automatiseert de logistiek van uw piano-servicebedrijf.",
    "compareTitle": "PianoPlanner vs Gazelle — Eerlijke vergelijking voor pianostemmers (2026)",
    "compareDescription": "Overweeg je Gazelle of zoek je een alternatief? Vergelijk PianoPlanner en Gazelle: routeplanning, agenda-sync, facturatie, privacy en prijs. Inclusief migratiegids."
  },
  "languagePicker": {
    "chooseLanguage": "Kies je taal",
    "searchLanguage": "Zoek taal..."
  },
  "portal": {
    "pageTitle": "Mijn Route — PianoPlanner",
    "title": "Mijn Route",
    "logout": "Uitloggen",
    "loading": "Planning ophalen...",
    "noAppointments": "Geen afspraken",
    "noAppointmentsDesc": "Je hebt vandaag geen stemafspraken.",
    "completeTitle": "Afspraak afronden",
    "updateTuning": "Stemming bijwerken",
    "updateTuningDesc": "Laatste stemdatum → vandaag",
    "payment": "Betaling",
    "customerPreference": "Voorkeur van deze klant",
    "paidByCard": "Betaald per pin",
    "paidByCash": "Contant betaald",
    "createInvoice": "Factuur maken",
    "invoiceLater": "Later factureren",
    "noPayment": "Geen betaling",
    "notes": "Notities",
    "optionalNote": "Optionele notitie...",
    "cancel": "Annuleren",
    "complete": "Afronden",
    "navigate": "Navigeer",
    "note": "Notitie",
    "history": "Historie",
    "done": "Klaar",
    "save": "Opslaan",
    "loadingText": "Laden...",
    "noCustomerNotes": "Nog geen notities voor deze klant.",
    "loadError": "Kon historie niet laden.",
    "unknownCustomer": "Onbekende klant",
    "notePlaceholder": "Notitie over deze stembeurt...",
    "appointmentCompleted": "Afspraak afgerond",
    "pianoUpdated": "piano bijgewerkt",
    "cardPaid": "Pin betaald",
    "cashPaid": "Contant betaald",
    "invoiceRequested": "Factuur aangevraagd",
    "connectionError": "Verbindingsfout",
    "couldNotComplete": "Kon niet afronden",
    "saved": "Opgeslagen",
    "dayMon": "Ma",
    "dayTue": "Di",
    "dayWed": "Wo",
    "dayThu": "Do",
    "dayFri": "Vr",
    "daySat": "Za",
    "daySun": "Zo",
    "statusPending": "Gepland",
    "statusConfirmed": "Bevestigd",
    "statusEnRoute": "Onderweg",
    "statusCompleted": "Voltooid",
    "expiredTitle": "Sessie Verlopen",
    "expiredHeading": "Link is verlopen",
    "expiredMessage": "Deze beveiligde toegangslink is niet meer geldig of je sessie is beëindigd. Vraag je planner om je een nieuwe link te sturen.",
    "workshopTasks": "Werkplaats",
    "estimated": "geschat",
    "actual": "gewerkt",
    "taskCompleted": "Taak voltooid",
    "reportAbsence": "Vrij melden",
    "startDate": "Startdatum",
    "endDate": "Einddatum",
    "reason": "Reden (optioneel)",
    "reasonPlaceholder": "Bijv. vakantie, ziek...",
    "send": "Verzenden",
    "datesRequired": "Vul start- en einddatum in",
    "endAfterStart": "Einddatum moet na startdatum liggen",
    "absenceRegistered": "Afwezigheid gemeld",
    "allDay": "Hele dag",
    "unavailable": "Niet beschikbaar"
  },
  "teamsInfo": {
    "heroTitle": "PianoPlanner Teams: De complete operatie onder controle",
    "heroSubtitle": "Het beheren van een team pianostemmers is een complexe logistieke puzzel. Hoe voorkom je dat twee stemmers elkaar kruisen op de snelweg? Hoe geef je medewerkers toegang tot hun route, zonder dat ze de financiële bedrijfsgegevens zien? PianoPlanner Teams is specifiek gebouwd om deze uitdagingen volledig te automatiseren.",
    "smartTitle": "AI-gestuurde routeplanning",
    "smartIntro": "Stop met het handmatig vergelijken van vijf verschillende agenda's. De ingebouwde algoritmes doen het rekenwerk in milliseconden.",
    "smartLocationLabel": "Locatie-eerst",
    "smartLocationDesc": "Heb je een klant aan de lijn? Vul de postcode in en het systeem scant direct alle agenda's van het hele team.",
    "smartMatchLabel": "De perfecte match",
    "smartMatchDesc": "Je krijgt een ranglijst van de beste stemmers voor die klus. Het algoritme berekent de reistijd vanaf hun vorige afspraak en houdt rekening met een eerlijke werkverdeling.",
    "smartSpeedLabel": "Tijdwinst",
    "smartSpeedDesc": "Wat een menselijke planner tien minuten puzzelen kost, doet PianoPlanner in één klik.",
    "appTitle": "De mobiele stemmer-app",
    "appIntro": "Elke pianostemmer krijgt een eigen, afgeschermd portaal voor onderweg — geoptimaliseerd voor de mobiele telefoon.",
    "appMagicLabel": "Magic Links",
    "appMagicDesc": "Geen gedoe met vergeten wachtwoorden. Je stuurt je stemmer een veilige login-link per e-mail. Eén klik en ze zijn ingelogd op hun eigen telefoon.",
    "appFocusLabel": "Focus op de dag",
    "appFocusDesc": "De stemmer ziet een overzichtelijke tijdlijn: waar moet ik heen, wat is het type piano, en wat zijn de klantspecifieke notities — inclusief directe navigatieknop.",
    "appRealtimeLabel": "Real-time afronden",
    "appRealtimeDesc": "Zodra de stemmer een klus afvinkt, wordt dit direct bijgewerkt in het centrale hoofddashboard.",
    "securityTitle": "Waterdichte beveiliging en privacy",
    "securityIntro": "Als eigenaar wil je je team faciliteren, maar financiële en strategische data afschermen. PianoPlanner hanteert het need-to-know principe.",
    "securitySepLabel": "Strikte datascheiding",
    "securitySepDesc": "Een stemmer ziet alléén eigen afspraken. Agenda's van collega's, omzetten, facturen en de algemene klantendatabase zijn absoluut onzichtbaar.",
    "securityRevokeLabel": "De noodrem",
    "securityRevokeDesc": "Verlaat een medewerker het bedrijf? Met één druk op de knop vervalt hun toegang onmiddellijk — zelfs als ze op dat moment zijn ingelogd. Je data is en blijft van jou.",
    "bookingTitle": "Slimme boekingswidget voor klanten",
    "bookingIntro": "Laat je online boekingssysteem voor je werken, in plaats van tegen je.",
    "bookingRouteLabel": "Route-geoptimaliseerd boeken",
    "bookingRouteDesc": "Klanten vullen online hun adres in. Het systeem toont volautomatisch alleen de tijden die voor jouw team de kortste reistijd opleveren. De klant kiest een tijd, het systeem kiest de stemmer.",
    "bookingFixedLabel": "De vaste-stemmer-link",
    "bookingFixedDesc": "Heeft een klant een vaste relatie met één specifieke stemmer? Stuur ze een persoonlijke link. Het systeem geeft die stemmer voorrang, tenzij deze wekenlang vol zit — dan worden collega's slim voorgesteld als alternatief.",
    "summary": "Met PianoPlanner Teams minimaliseer je reistijd, elimineer je planningsfouten en geef je zowel klanten als medewerkers een ultra-professionele ervaring. Het systeem neemt het zware logistieke denkwerk over, zodat jij je kunt focussen op de groei van het bedrijf.",
    "ctaTry": "Gratis proberen",
    "ctaPricing": "Bekijk prijzen"
  },
  "inventory": {
    "pageTitle": "Magazijn & Voorraad - PianoPlanner",
    "title": "Magazijn & Voorraad",
    "description": "Beheer showroom voorraad, importeer piano's via CSV en plan batch-stemafspraken voor al je piano's op één locatie.",
    "showroomInventory": "Showroom voorraad",
    "csvImport": "CSV import",
    "batchPlanning": "Batch-planning",
    "salesTracking": "Piano verkoop-tracking",
    "upgradeButton": "Upgrade naar Business",
    "availableFrom": "Beschikbaar vanaf het Business abonnement (€89,50/maand)",
    "importCsv": "Importeer CSV",
    "addPiano": "Piano toevoegen",
    "inStock": "In voorraad",
    "sold": "Verkocht",
    "locations": "Locaties",
    "selectAll": "Alles selecteren",
    "brandAndModel": "Merk & Model",
    "type": "Type",
    "serialNumber": "Serienummer",
    "location": "Locatie",
    "status": "Status",
    "added": "Toegevoegd",
    "selectedPianos": "Je hebt <strong>{{count}}</strong> piano's geselecteerd",
    "createBatch": "Maak Showroom Batch",
    "deselectAll": "Deselecteer alles",
    "planBatch": "Showroom Batch plannen",
    "pianosSelected": "piano's geselecteerd",
    "locationLabel": "Locatie (winkel/werkplaats)",
    "locationPlaceholder": "bijv. Showroom Amsterdam",
    "dateLabel": "Datum",
    "startTimeLabel": "Starttijd",
    "durationLabel": "Geschatte duur per piano (min)",
    "duration20": "20 minuten",
    "duration30": "30 minuten",
    "duration45": "45 minuten",
    "duration60": "60 minuten",
    "notesOptional": "Notities (optioneel)",
    "notesPlaceholder": "bijv. Alle vleugels op showroom-verdieping",
    "cancelButton": "Annuleer",
    "scheduleButton": "Inplannen",
    "csvImportTitle": "CSV Importeren",
    "csvImportDesc": "Upload een CSV-bestand met kolommen: Merk, Model, Serienummer, Interne Locatie",
    "selectCsvFile": "Selecteer CSV-bestand",
    "closeButton": "Sluiten",
    "importButton": "Importeren",
    "addPianoTitle": "Showroom piano toevoegen",
    "addPianoDesc": "Voeg een piano toe aan je voorraad",
    "brandLabel": "Merk",
    "brandPlaceholder": "bijv. Yamaha",
    "modelLabel": "Model",
    "modelPlaceholder": "bijv. C3",
    "serialNumberLabel": "Serienummer",
    "serialPlaceholder": "bijv. YAM-12345",
    "typeLabel": "Type",
    "uprightPiano": "Staande piano",
    "grandPiano": "Vleugel",
    "digitalPiano": "Digitale piano",
    "internalLocation": "Interne locatie",
    "internalLocationPlaceholder": "bijv. Showroom A, Werkplaats",
    "addButton": "Toevoegen",
    "loading": "Laden...",
    "errorLoadingInventory": "Fout bij laden van voorraad",
    "noInventoryYet": "Nog geen piano's in voorraad",
    "noInventoryDesc": "Importeer een CSV-bestand of voeg piano's handmatig toe om te beginnen.",
    "importCsvButton": "Importeer CSV",
    "grandLabel": "Vleugel",
    "digitalLabel": "Digitaal",
    "uprightLabel": "Staand",
    "soldStatus": "Verkocht",
    "inStockStatus": "Voorraad",
    "unknownLocation": "Onbekend",
    "selectCsvFirst": "Selecteer eerst een CSV-bestand",
    "importFailed": "Import mislukt",
    "pianosImported": "piano's geïmporteerd",
    "pianosSkipped": "overgeslagen",
    "warnings": "waarschuwing(en)",
    "brandRequired": "Merk is verplicht",
    "addFailed": "Toevoegen mislukt",
    "pianoAdded": "Piano toegevoegd",
    "selectPianosFirst": "Selecteer eerst piano's",
    "enterLocation": "Vul een locatie in",
    "chooseDate": "Kies een datum",
    "chooseStartTime": "Kies een starttijd",
    "showroomTuningRound": "Showroom stemronde",
    "tuningShowroomBatch": "Stemmen (showroom batch)",
    "batchScheduled": "Batch ingepland: {{count}} piano's op {{date}}",
    "smartPlanTitle": "Slim inplannen",
    "smartFillLocation": "Vul een locatie in om slimme suggesties te zien",
    "manualPlan": "Liever handmatig inplannen? ▾",
    "backToSmart": "Terug naar slimme suggesties ▴",
    "findingBestMoment": "Beste moment zoeken...",
    "smartError": "Kon geen suggesties laden",
    "noSmartSuggestions": "Geen slimme suggesties beschikbaar",
    "bestChoice": "Beste keuze",
    "routeOptimized": "Route",
    "selectSlotFirst": "Kies een suggestie of plan handmatig",
    "tunerLabel": "Stemmer"
  },
  "api": {
    "auth": {
      "notLoggedIn": "Niet ingelogd",
      "emailPasswordRequired": "Email en wachtwoord zijn verplicht",
      "invalidEmailFormat": "Ongeldig email formaat",
      "registrationFailed": "Registratie mislukt",
      "sessionError": "Sessiefout",
      "loginFailed": "Inloggen mislukt",
      "emailRequired": "Email is verplicht",
      "errorOccurred": "Er is een fout opgetreden",
      "tokenMissing": "Token ontbreekt",
      "tokenVerificationFailed": "Kon token niet verifiëren",
      "tokenPasswordRequired": "Token en wachtwoord zijn verplicht",
      "passwordMinLength": "Wachtwoord moet minimaal 8 tekens zijn",
      "passwordResetFailed": "Kon wachtwoord niet resetten",
      "usernamePasswordRequired": "Gebruikersnaam en wachtwoord zijn verplicht",
      "invalidCredentials": "Ongeldige gebruikersnaam of wachtwoord",
      "noChanges": "Geen wijzigingen opgegeven",
      "newPasswordRequired": "Nieuw wachtwoord is verplicht",
      "passwordsDoNotMatch": "Wachtwoorden komen niet overeen",
      "currentNewPasswordRequired": "Huidig en nieuw wachtwoord zijn verplicht",
      "newPasswordsDoNotMatch": "Nieuwe wachtwoorden komen niet overeen",
      "userNotFound": "Gebruiker niet gevonden",
      "passwordRequired": "Wachtwoord is verplicht",
      "verifyEmailTitle": "E-mail verifiëren — PianoPlanner",
      "verifyEmailSent": "Controleer je e-mail om je account te verifiëren.",
      "verifyEmailSubject": "Verifieer je e-mailadres",
      "emailVerified": "E-mail geverifieerd!",
      "emailVerifiedDesc": "Je e-mailadres is geverifieerd. Je kunt nu inloggen.",
      "alreadyVerified": "Al geverifieerd",
      "alreadyVerifiedDesc": "Je e-mailadres is al geverifieerd. Je kunt inloggen.",
      "verificationExpired": "Link verlopen",
      "verificationExpiredDesc": "Deze verificatielink is verlopen. Vul je e-mail in om een nieuwe te ontvangen.",
      "invalidToken": "Ongeldige link",
      "invalidTokenDesc": "Deze verificatielink is ongeldig of al gebruikt. Je kunt een nieuwe aanvragen.",
      "resendVerification": "Verificatie-email opnieuw versturen",
      "verificationResent": "E-mail verstuurd!",
      "verificationResentDesc": "Als dit e-mailadres geregistreerd is, is er een nieuwe verificatielink verstuurd. Controleer je inbox.",
      "goToLogin": "Ga naar inloggen",
      "emailNotVerified": "Je e-mailadres is nog niet geverifieerd.",
      "verificationSentBtn": "Verificatie verstuurd!"
    },
    "subscription": {
      "checkFailed": "Kon abonnement niet controleren",
      "featureCheckFailed": "Kon feature niet controleren",
      "limitCheckFailed": "Kon limiet niet controleren",
      "cancelled": "Abonnement geannuleerd",
      "planChanged": "Plan gewijzigd"
    },
    "email": {
      "quotaCheckFailed": "Quota check mislukt",
      "noAddress": "Geen e-mailadres opgegeven",
      "settingsUpdated": "E-mailinstellingen bijgewerkt",
      "notConfigured": "Email niet geconfigureerd",
      "confirmationSent": "Bevestigingse-mail verzonden",
      "reminderSent": "Herinneringse-mail verzonden",
      "customerIdRequired": "customerId is verplicht",
      "invitationSent": "Uitnodiging verzonden",
      "customerPianoIdRequired": "customerId en pianoId zijn verplicht",
      "logLoadFailed": "Kon e-mail log niet laden",
      "noneSelected": "Geen e-mails geselecteerd",
      "invalidIds": "Ongeldige IDs",
      "deleteFailed": "Kon e-mails niet verwijderen"
    },
    "appointments": {
      "notFound": "Afspraak niet gevonden",
      "loadFailed": "Kon afspraken niet ophalen",
      "noneFound": "Geen afspraken gevonden",
      "duplicateDetectionFailed": "Kon duplicaten niet detecteren",
      "noDuplicatesFound": "Geen duplicaten gevonden",
      "cleanupFailed": "Opruimen mislukt",
      "noBrokenFound": "Geen kapotte afspraken gevonden",
      "pendingLoadFailed": "Kon af te werken afspraken niet ophalen",
      "paymentLoadFailed": "Kon openstaande betalingen niet ophalen",
      "missingAddressesLoadFailed": "Kon ontbrekende adressen niet ophalen",
      "titleRequired": "Titel is verplicht",
      "startEndTimeRequired": "Start en eind tijd zijn verplicht",
      "createFailed": "Kon afspraak niet aanmaken",
      "updateFailed": "Kon afspraak niet bijwerken",
      "deleteFailed": "Kon afspraak niet verwijderen",
      "completeFailed": "Kon afspraak niet afronden",
      "cancelFailed": "Kon afspraak niet annuleren",
      "statsLoadFailed": "Kon statistieken niet ophalen",
      "dateRequired": "Datum is verplicht",
      "routeOptimizationFailed": "Kon route niet optimaliseren",
      "noScheduleProvided": "Geen schema opgegeven",
      "routeApplyFailed": "Kon geoptimaliseerde route niet toepassen",
      "duplicateRemovalFailed": "Kon duplicaten niet verwijderen",
      "workshopStatsLoadFailed": "Kon workshop statistieken niet ophalen",
      "paymentMarkedAsPaid": "Betaling gemarkeerd als betaald",
      "paymentMarkFailed": "Kon betaling niet markeren",
      "markedAsCompleted": "Afspraak gemarkeerd als afgehandeld",
      "taskCompleteFailed": "Kon taak niet afhandelen",
      "timeSlotOverlap": "Dit tijdslot overlapt met een bestaande afspraak: \"{conflictWith}\". Kies een ander moment.",
      "duplicateExists": "Er bestaat al een afspraak \"{title}\" op dit tijdstip.",
      "multiCreateFailed": "Kon afspraak {num}/{total} niet aanmaken",
      "bulkNoIds": "Geen afspraak-IDs opgegeven",
      "bulkTooMany": "Maximaal 200 afspraken tegelijk",
      "bulkCompleteFailed": "Bulksgewijs afronden mislukt"
    },
    "customers": {
      "noEmail": "Klant heeft geen e-mailadres",
      "notFound": "Klant niet gevonden",
      "loadFailed": "Kon klanten niet ophalen",
      "namesLoadFailed": "Kon klant namen niet ophalen",
      "searchFailed": "Zoeken mislukt",
      "duplicatesLoadFailed": "Kon duplicaten niet ophalen",
      "targetSourceIdRequired": "Target en source ID zijn verplicht",
      "mergeFailed": "Samenvoegen mislukt",
      "targetSourceIdsRequired": "Target ID en source IDs zijn verplicht",
      "notesCleanFailed": "Kon notities niet opschonen",
      "mapDataLoadFailed": "Kon kaartdata niet ophalen",
      "geocodingFailed": "Geocoding mislukt",
      "nameRequired": "Naam is verplicht",
      "createFailed": "Kon klant niet aanmaken",
      "updateFailed": "Kon klant niet bijwerken",
      "deleted": "Klant verwijderd",
      "deleteFailed": "Kon klant niet verwijderen",
      "tokenRegenFailed": "Kon token niet regenereren",
      "locationRequired": "Voer een plaats, postcode of adres in",
      "locationNotFound": "Locatie niet gevonden. Probeer een andere plaatsnaam of postcode.",
      "noneWithInterval": "Geen klanten met steminterval gevonden",
      "selectAtLeastOne": "Selecteer minstens één klant",
      "maxInvitationsExceeded": "Maximaal 20 uitnodigingen per keer",
      "invitationsSendFailed": "Uitnodigingen versturen mislukt",
      "noAddress": "Klant heeft geen adres",
      "geocodeFailed": "Kon adres niet geocoden",
      "notesLoadFailed": "Kon notities niet laden",
      "noteRequired": "Notitie is verplicht",
      "noteSaveFailed": "Kon notitie niet opslaan",
      "noteDeleteFailed": "Kon notitie niet verwijderen"
    },
    "pianos": {
      "notFound": "Piano niet gevonden",
      "loadFailed": "Kon piano's niet ophalen",
      "invitationStatusLoadFailed": "Kon uitnodigingsstatus niet ophalen",
      "servicesLoadFailed": "Kon services niet ophalen",
      "brandRequired": "Merk is verplicht",
      "createFailed": "Kon piano niet aanmaken",
      "idsArrayRequired": "pianoIds array is vereist",
      "updatesObjectRequired": "updates object is vereist",
      "noValidFieldsToUpdate": "Geen geldige velden om bij te werken",
      "updateFailed": "Kon piano niet bijwerken",
      "deleteFailed": "Kon piano niet verwijderen",
      "serviceAddFailed": "Kon service niet toevoegen",
      "serviceRecordNotFound": "Service record niet gevonden",
      "serviceDeleteFailed": "Kon service niet verwijderen",
      "photoDeleted": "Foto verwijderd"
    },
    "calendar": {
      "tokenCheckFailed": "Kon tokens niet controleren",
      "loadFailed": "Kon agenda's niet ophalen",
      "eventsLoadFailed": "Kon events niet ophalen",
      "requiredFieldsMissing": "Titel, start en eind zijn verplicht",
      "eventCreateFailed": "Kon event niet aanmaken",
      "eventDeleteFailed": "Kon event niet verwijderen",
      "syncSettingsLoadFailed": "Kon sync instellingen niet ophalen",
      "syncSettingsSaveFailed": "Kon sync instellingen niet opslaan",
      "disconnectFailed": "Kon verbinding niet verbreken",
      "syncStatusLoadFailed": "Kon sync status niet ophalen",
      "syncNotEnabled": "Synchronisatie is niet ingeschakeld",
      "syncFailed": "Synchronisatie mislukt",
      "syncDisabledByAdmin": "Calendar sync is tijdelijk uitgeschakeld door de beheerder",
      "importFailed": "Import mislukt",
      "sessionExpired": "Google sessie verlopen",
      "previewFailed": "Preview mislukt",
      "forceSyncFailed": "Geforceerde sync mislukt",
      "statusLoadFailed": "Kon status niet ophalen",
      "notConnected": "Agenda niet verbonden",
      "urlRequired": "Calendar URL is verplicht",
      "invalidUrl": "Ongeldige calendar URL",
      "eventUrlRequired": "Event URL is verplicht",
      "noneSelected": "Geen agenda geselecteerd",
      "invalidUrlInSettings": "Ongeldige calendar URL in instellingen",
      "syncQueueLoadFailed": "Kon sync queue niet ophalen",
      "syncVerifyFailed": "Kon sync niet verifiëren",
      "orphanedEventsFindFailed": "Kon verweesde events niet vinden",
      "missingSyncsFindFailed": "Kon ontbrekende syncs niet vinden"
    },
    "settings": {
      "loadFailed": "Kon instellingen niet ophalen",
      "saveFailed": "Kon instellingen niet opslaan",
      "noVatNumber": "Geen BTW-nummer opgegeven",
      "vatValidationFailed": "Kon BTW-nummer niet valideren",
      "vatInfoLoadFailed": "Kon BTW-info niet ophalen",
      "servicesLoadFailed": "Kon diensten niet ophalen",
      "serviceNotFound": "Dienst niet gevonden",
      "serviceLoadFailed": "Kon dienst niet ophalen",
      "nameRequired": "Naam is verplicht",
      "serviceCreateFailed": "Kon dienst niet aanmaken",
      "serviceUpdateFailed": "Kon dienst niet bijwerken",
      "serviceDeleteFailed": "Kon dienst niet verwijderen",
      "serviceActivateFailed": "Kon dienst niet activeren",
      "bookingSettingsLoadFailed": "Kon boekingsinstellingen niet ophalen",
      "bookingSettingsSaveFailed": "Kon boekingsinstellingen niet opslaan",
      "travelSettingsLoadFailed": "Kon reisinstellingen niet ophalen",
      "travelSettingsSaveFailed": "Kon reisinstellingen niet opslaan",
      "analysisFailed": "Kon klantenbestand niet analyseren",
      "languageNotSupported": "Taal niet ondersteund",
      "languageSaveFailed": "Kon taalinstelling niet opslaan",
      "confirmationTextIncorrect": "Bevestigingstekst is onjuist",
      "resetFailed": "Kon data niet resetten",
      "accountDeleted": "Account succesvol verwijderd",
      "accountDeleteFailed": "Kon account niet verwijderen",
      "exportFailed": "Kon data niet exporteren",
      "previewLoadFailed": "Kon preview niet ophalen",
      "testSendFailed": "Kon test niet versturen",
      "testReminderFailed": "Kon test herinnering niet versturen",
      "historyLoadFailed": "Kon geschiedenis niet ophalen",
      "upcomingRemindersLoadFailed": "Kon aankomende herinneringen niet ophalen"
    },
    "notification": {
      "invalidSubscription": "Ongeldige subscription",
      "subscriptionSaveFailed": "Opslaan subscription mislukt",
      "unsubscribeFailed": "Uitschrijven mislukt",
      "settingsUpdateFailed": "Instellingen bijwerken mislukt",
      "settingsGetFailed": "Instellingen ophalen mislukt",
      "testSent": "Testnotificatie verzonden",
      "sendFailed": "Kon notificatie niet versturen",
      "testSendFailed": "Testnotificatie versturen mislukt",
      "testReminderSent": "Test herinnering verstuurd naar uw eigen emailadres"
    },
    "mileage": {
      "vehicleLoadFailed": "Kon voertuig niet ophalen",
      "vehicleSaveFailed": "Kon voertuig niet opslaan",
      "loadFailed": "Kon kilometerstanden niet ophalen",
      "dateAndMileageRequired": "Datum en kilometerstand zijn vereist",
      "invalidMileage": "Ongeldige kilometerstand",
      "saveFailed": "Kon niet opslaan",
      "notFound": "Niet gevonden",
      "deleteFailed": "Kon niet verwijderen",
      "tripsLoadFailed": "Kon ritten niet ophalen",
      "dateAndDistanceRequired": "Datum en afstand zijn vereist",
      "updateFailed": "Kon niet bijwerken",
      "noChanges": "Geen wijzigingen opgegeven",
      "adjustFailed": "Kon km niet aanpassen",
      "auditLogLoadFailed": "Kon audit log niet ophalen",
      "reportGenerationFailed": "Kon km-rapport niet genereren",
      "summaryLoadFailed": "Kon samenvatting niet ophalen",
      "travelTimeCalculationFailed": "Kon reistijden niet berekenen"
    },
    "booking": {
      "linkInvalid": "Ongeldige boekingslink",
      "dataLoadFailed": "Kon boekingsgegevens niet laden",
      "serviceDateTimeRequired": "Service, datum en tijd zijn verplicht",
      "invalidService": "Ongeldige service",
      "invalidPianoSelection": "Ongeldige piano selectie",
      "syncProblem": "Kon afspraak niet aanmaken vanwege sync probleem. Probeer het opnieuw.",
      "createFailed": "Kon afspraak niet aanmaken",
      "serviceRequired": "Dienst is verplicht",
      "suggestionGenerationFailed": "Fout bij genereren suggesties",
      "serviceIdRequired": "Service ID is verplicht",
      "availableDaysLoadFailed": "Kon beschikbare dagen niet ophalen",
      "dateServiceIdRequired": "Datum en service ID zijn verplicht",
      "availableTimesLoadFailed": "Kon beschikbare tijden niet ophalen",
      "firstAvailableTimeLoadFailed": "Kon eerste beschikbare tijd niet ophalen",
      "placeIdRequired": "Place ID is verplicht",
      "addressDataLoadFailed": "Kon adresgegevens niet ophalen",
      "unauthorized": "Geen toegang",
      "leadsFetchFailed": "Kon leads niet ophalen",
      "invalidStatus": "Ongeldige status",
      "leadUpdateFailed": "Kon lead niet bijwerken",
      "pageNotFound": "Boekingspagina niet gevonden",
      "pageNotAvailable": "Boekingspagina niet beschikbaar",
      "errorOccurred": "Er is een fout opgetreden",
      "dateServiceRequired": "Datum en dienst zijn verplicht",
      "notFound": "Niet gevonden",
      "notAvailable": "Niet beschikbaar",
      "serviceNotFound": "Dienst niet gevonden",
      "dateTooEarly": "Datum is te vroeg",
      "dateTooFar": "Datum is te ver in de toekomst",
      "closedOnThisDay": "Gesloten op deze dag",
      "timeSlotsLoadError": "Fout bij ophalen tijdslots",
      "allFieldsRequired": "Alle velden zijn verplicht",
      "nameRequired": "Naam is verplicht",
      "emailRequired": "Email is verplicht",
      "phoneRequired": "Telefoon is verplicht",
      "noLink": "Klant heeft geen boekingslink. Genereer eerst een link.",
      "slotLockedByOther": "Dit tijdslot wordt momenteel door iemand anders geboekt. Probeer het nogmaals.",
      "slotTakenByAppointment": "Dit tijdslot is al bezet door een andere afspraak. Kies een ander moment.",
      "slotTakenByCalendar": "Dit tijdslot is bezet in uw externe agenda. Kies een ander moment.",
      "slotNoLongerAvailable": "Dit tijdslot is niet meer beschikbaar. Kies een ander moment.",
      "noAvailableTimesInPeriod": "Geen beschikbare tijden gevonden in de komende periode",
      "noAvailableTimesFound": "Geen beschikbare tijden gevonden",
      "noAvailableTimes": "Geen beschikbare tijden",
      "notAWorkday": "Geen werkdag",
      "invalidRescheduleLink": "Ongeldige of verlopen herplanningslink",
      "appointmentAlreadyPassed": "Deze afspraak is al geweest en kan niet meer worden herplannen",
      "rescheduleMinimum24h": "Herplannen is alleen mogelijk tot 24 uur voor de afspraak",
      "somethingWentWrong": "Er is iets misgegaan",
      "followsPreviousNearby": "Sluit aan op vorige afspraak in de buurt",
      "firstSlotOfDay": "Eerste slot van de dag",
      "appointmentAlreadyExists": "Deze afspraak bestaat al",
      "bookingError": "Er is een fout opgetreden bij het boeken",
      "contactForFarLocations": "Voor locaties verder weg kunt u contact opnemen om een afspraak te plannen.",
      "missingFields": "Service, datum en tijd zijn verplicht",
      "success": "Afspraak succesvol geboekt!",
      "multiPianoSuccess": "Afspraken succesvol geboekt!",
      "optimalTimesFound": "Optimale tijden gevonden",
      "sameLocationAsPrevious": "Zelfde locatie als vorige afspraak",
      "shortestTravelTime": "Kortste reistijd",
      "timesAvailable": "Tijden beschikbaar",
      "arrivalTimesNote": "Tijden zijn aankomsttijden bij u",
      "createdViaOnlineBooking": "Aangemaakt via online boeking",
      "firstAvailable": "Eerste beschikbare tijd",
      "rescheduleSuccess": "Afspraak succesvol verzet",
      "rescheduleError": "Er ging iets mis bij het verzetten",
      "dateTimeRequired": "Datum en tijd zijn verplicht",
      "appointmentNotFound": "Afspraak niet gevonden"
    },
    "accounting": {
      "noInvoicesToSync": "Geen facturen om te synchroniseren",
      "jorttApiError": "Jortt API fout",
      "noCustomersToSync": "Geen klanten om te synchroniseren",
      "noOutstandingInvoices": "Geen openstaande gesynchroniseerde facturen gevonden",
      "requestReceived": "Aanvraag ontvangen",
      "dbNameNotUrl": "De databasenaam mag geen URL zijn. Vul de Odoo databasenaam in (bijv. \"mijn-bedrijf-main-12345\"), niet de website-URL.",
      "eboekhoudenAuthFailed": "e-Boekhouden authenticatie mislukt. Controleer je API Token.",
      "eboekhoudenConnected": "Succesvol verbonden met e-Boekhouden"
    },
    "team": {
      "loadFailed": "Kon teams niet laden",
      "nameRequired": "Teamnaam is verplicht",
      "createFailed": "Kon team niet aanmaken",
      "accessDenied": "Geen toegang",
      "updateFailed": "Kon team niet bijwerken",
      "noFileUploaded": "Geen bestand geüpload",
      "logoUploadFailed": "Kon logo niet uploaden",
      "logoDeleteFailed": "Kon logo niet verwijderen",
      "bookingEnableFailed": "Kon team booking niet inschakelen",
      "bookingDisableFailed": "Kon team booking niet uitschakelen",
      "membersLoadFailed": "Kon teamleden niet laden",
      "nameEmailRequired": "Naam en email zijn verplicht",
      "memberLimitExceeded": "Teamlid limiet bereikt",
      "memberAddFailed": "Kon teamlid niet toevoegen",
      "memberNotFound": "Teamlid niet gevonden",
      "memberUpdateFailed": "Kon teamlid niet bijwerken",
      "memberRemoveFailed": "Kon teamlid niet verwijderen",
      "paramsRequired": "Start en eind parameters zijn verplicht",
      "calendarLoadFailed": "Kon team agenda niet laden",
      "appointmentAssignFailed": "Kon afspraak niet toewijzen",
      "unassignedLoadFailed": "Kon niet-toegewezen afspraken niet laden",
      "suggestionsFailed": "Kon suggesties niet ophalen",
      "selectAtLeastOneCustomer": "Selecteer minimaal één klant",
      "maxInvitationsExceeded": "Maximaal 50 uitnodigingen per keer",
      "bookingNotEnabled": "Team booking is niet ingeschakeld",
      "noCustomersFound": "Geen klanten gevonden",
      "invitationsSendFailed": "Kon uitnodigingen niet versturen",
      "absencesLoadFailed": "Kon afwezigheden niet laden",
      "datesRequired": "Start- en einddatum zijn verplicht",
      "endAfterStart": "Einddatum moet na startdatum liggen",
      "absenceAddFailed": "Kon afwezigheid niet toevoegen",
      "absenceDeleteFailed": "Kon afwezigheid niet verwijderen",
      "memberNoEmail": "Dit teamlid heeft geen e-mailadres",
      "magicLinkSent": "Magic link succesvol verzonden",
      "linkGenerationFailed": "Er ging iets mis bij het genereren van de link",
      "requiredParamsMissing": "Verplichte parameters ontbreken",
      "smartMatchesFailed": "Kon slimme matches niet genereren",
      "notFound": "Team niet gevonden",
      "notFoundOrDisabled": "Team niet gevonden of booking uitgeschakeld",
      "ownerNotFound": "Team eigenaar niet gevonden",
      "serviceNotFound": "Dienst niet gevonden",
      "noSlotsInComingWeeks": "Geen beschikbare tijdslots gevonden in de komende weken",
      "noAvailableSlotsOnDate": "Geen beschikbare tijdslots op deze datum",
      "noAvailableMembers": "Geen teamleden beschikbaar voor deze boeking",
      "slotNoLongerAvailable": "Dit tijdslot is net geboekt. Kies een andere tijd.",
      "appointmentAlreadyExists": "Deze afspraak bestaat al",
      "appointmentBooked": "Afspraak succesvol geboekt",
      "memberNotFoundOrInactive": "Teamlid niet gevonden of inactief",
      "failedToLoadInfo": "Kon teaminformatie niet laden. Probeer het later opnieuw.",
      "failedToCreateBooking": "Kon boeking niet aanmaken. Probeer het later opnieuw.",
      "failedToGetSlots": "Kon beschikbare tijdslots niet ophalen. Probeer het later opnieuw.",
      "failedToFindSlots": "Kon beschikbare slots niet vinden.",
      "tooManyRequests": "Te veel verzoeken. Even geduld.",
      "startDateRequired": "startDate is verplicht",
      "bookingLinkDisabled": "Deze boekingslink bestaat niet of is uitgeschakeld.",
      "notAcceptingBookings": "Dit team accepteert momenteel geen boekingen.",
      "missingRequiredFields": "Verplichte velden ontbreken",
      "bookingFieldsRequired": "Teamlid, tijdslot, dienst, naam en email zijn verplicht.",
      "failedToGetPianos": "Kon piano's niet ophalen",
      "dateServiceRequired": "Datum en dienst zijn verplicht",
      "monthServiceRequired": "Maand en service ID zijn verplicht",
      "serverError": "Serverfout"
    },
    "smtp": {
      "settingsSaved": "SMTP instellingen opgeslagen",
      "notConfigured": "Geen SMTP instellingen gevonden",
      "diagnosisFailed": "Diagnose mislukt",
      "settingsDeleted": "SMTP instellingen verwijderd",
      "connectionFailed": "Kon geen verbinding maken",
      "invalidCredentials": "Ongeldige inloggegevens. Tips:\n• Gebruik je volledige e-mailadres als gebruikersnaam\n• Gebruik een App-wachtwoord (NIET je normale wachtwoord)\n• Kopieer het app-wachtwoord ZONDER spaties (16 tekens)\n• Zorg dat 2-factor authenticatie AAN staat",
      "connectionRefused": "Verbinding geweigerd. De SMTP poort is waarschijnlijk geblokkeerd op de server. Neem contact op met support.",
      "sslError": "SSL/TLS certificaat probleem. Probeer een andere poort.",
      "connectionTimeout": "Verbinding timeout — de SMTP poort is waarschijnlijk geblokkeerd op de server. Gmail-tip: we hebben automatisch poort 465 (SSL) geprobeerd. Neem contact op als het niet lukt.",
      "serverNotFound": "SMTP server niet gevonden. Controleer de hostnaam.",
      "authFailed": "Authenticatie mislukt. Controleer:\n• App-wachtwoord zonder spaties\n• 2FA moet aan staan\n• Juiste e-mailadres als gebruikersnaam"
    },
    "inventory": {
      "pianoMarkedAsSold": "Piano gemarkeerd als verkocht",
      "subtaskUpdated": "Subtaak bijgewerkt",
      "fetchShowroomPianosFailed": "Kon showroom piano's niet ophalen",
      "brandRequired": "Merk is verplicht",
      "addPianoFailed": "Kon piano niet toevoegen",
      "customerIdRequired": "Klant-ID is verplicht",
      "showroomPianoNotFound": "Showroom piano niet gevonden",
      "customerNotFound": "Klant niet gevonden",
      "markAsSoldFailed": "Kon piano niet als verkocht markeren",
      "locationRequired": "Locatie is verplicht",
      "startEndTimeRequired": "Start- en eindtijd zijn verplicht",
      "selectAtLeastOnePiano": "Selecteer minstens één piano",
      "batchCreated": "Batch afspraak aangemaakt",
      "createBatchFailed": "Kon batch afspraak niet aanmaken",
      "batchNotFound": "Batch afspraak niet gevonden",
      "fetchBatchFailed": "Kon batch afspraak niet ophalen",
      "invalidStatus": "Ongeldige status",
      "noUpdatesProvided": "Geen updates opgegeven",
      "subtaskNotFound": "Subtaak niet gevonden",
      "updateSubtaskFailed": "Kon subtaak niet bijwerken",
      "noCsvFileReceived": "Geen CSV-bestand ontvangen",
      "csvFileEmpty": "CSV-bestand is leeg",
      "requiredColumnMissing": "Verplichte kolom \"Merk\" (of \"Brand\") ontbreekt in CSV headers",
      "importFailed": "Import mislukt"
    },
    "upload": {
      "logoDeleted": "Logo verwijderd"
    },
    "support": {
      "requestSubmitted": "Supportverzoek ingediend"
    },
    "onboarding": {
      "welcome": "Welkom bij PianoPlanner!",
      "statusFailed": "Kon onboarding status niet ophalen",
      "companyLoadFailed": "Kon bedrijfsgegevens niet ophalen",
      "servicesLoadFailed": "Kon diensten niet ophalen",
      "nameAndDurationRequired": "Naam en duur zijn verplicht",
      "serviceCreateFailed": "Kon dienst niet aanmaken",
      "serviceNotFound": "Dienst niet gevonden",
      "serviceUpdateFailed": "Kon dienst niet bijwerken",
      "serviceDeleteFailed": "Kon dienst niet verwijderen",
      "settingsLoadFailed": "Kon instellingen niet ophalen",
      "settingsSaveFailed": "Kon instellingen niet opslaan"
    },
    "admin": {
      "noRights": "Geen admin rechten",
      "notConfigured": "Admin login is niet geconfigureerd",
      "cannotDeleteSelf": "Admins kunnen hun account niet zelf verwijderen",
      "settingsLoadFailed": "Kon instellingen niet ophalen",
      "invalidSetting": "Ongeldige instelling",
      "settingSaveFailed": "Kon instelling niet opslaan",
      "statsLoadFailed": "Kon statistieken niet ophalen",
      "noBrokenAppointments": "Geen kapotte afspraken gevonden",
      "cleanupFailed": "Opruimen mislukt",
      "dashboardStatsLoadFailed": "Kon dashboard statistieken niet ophalen",
      "signupTrendLoadFailed": "Kon aanmeldingstrend niet ophalen",
      "auditLogsLoadFailed": "Kon audit logs niet ophalen",
      "securityAlertsLoadFailed": "Kon beveiligingsmeldingen niet ophalen",
      "errorLogsLoadFailed": "Kon foutlogs niet ophalen",
      "errorStatsLoadFailed": "Kon foutstatistieken niet ophalen",
      "errorResolveFailed": "Kon fout niet oplossen",
      "announcementCreateFailed": "Kon aankondiging niet aanmaken",
      "announcementUpdateFailed": "Kon aankondiging niet bijwerken",
      "announcementNotFound": "Aankondiging niet gevonden",
      "announcementToggleFailed": "Kon aankondiging niet schakelen",
      "announcementDeleteFailed": "Kon aankondiging niet verwijderen",
      "defaultTemplatesLoadFailed": "Kon standaardtemplates niet ophalen",
      "invalidSection": "Ongeldige sectie",
      "defaultsSaveFailed": "Kon standaarden niet opslaan",
      "defaultsUpdateFailed": "Kon standaardtemplates niet bijwerken",
      "defaultsResetFailed": "Kon standaarden niet resetten",
      "backupStatusFailed": "Kon backup status niet ophalen",
      "backupKeyRequired": "Backup sleutel is verplicht",
      "invalidBackupKey": "Ongeldige backup sleutel",
      "backupDownloadFailed": "Kon backup niet downloaden",
      "logoLoadFailed": "Kon logo niet ophalen",
      "noFileUploaded": "Geen bestand geüpload",
      "uploadFailed": "Upload mislukt",
      "logoDeleted": "Platform logo verwijderd",
      "logoDeleteFailed": "Kon logo niet verwijderen",
      "logoNotFound": "Logo niet gevonden",
      "invoiceQueueLoadFailed": "Kon factuur-wachtrij niet ophalen",
      "invalidQueueStatus": "Ongeldige status",
      "queueItemNotFound": "Wachtrij-item niet gevonden",
      "queueItemUpdateFailed": "Kon wachtrij-item niet bijwerken",
      "emailLogsLoadFailed": "Kon e-mail logs niet laden",
      "emailLogNotFound": "Email log niet gevonden",
      "onlyFailedCanBeResent": "Alleen gefaalde e-mails kunnen opnieuw verstuurd worden",
      "alreadyInRetryQueue": "Email staat al in de retry wachtrij",
      "emailRequeued": "Email opnieuw in wachtrij gezet",
      "emailRequeueFailed": "Kon email niet in wachtrij zetten",
      "emailLogDeleted": "Email log verwijderd",
      "cacheCleared": "Cache geleegd",
      "queueProcessed": "Wachtrij verwerkt",
      "itemRemovedFromQueue": "Item verwijderd uit wachtrij",
      "testReportSent": "Testrapport verzonden",
      "usersLoadFailed": "Kon gebruikers niet ophalen",
      "pendingUsersLoadFailed": "Kon wachtende gebruikers niet ophalen",
      "userApproved": "Gebruiker goedgekeurd",
      "userApproveFailed": "Kon gebruiker niet goedkeuren",
      "userNotFound": "Gebruiker niet gevonden",
      "welcomeEmailSent": "Welkomstmail verstuurd",
      "welcomeEmailSendFailed": "Kon welkomstmail niet versturen",
      "userRejected": "Gebruiker afgewezen",
      "userRejectFailed": "Kon gebruiker niet afwijzen",
      "invalidTier": "Ongeldige tier",
      "tierChangeFailed": "Kon tier niet wijzigen",
      "userDeleted": "Gebruiker verwijderd",
      "userDeleteFailed": "Kon gebruiker niet verwijderen",
      "planRequired": "Plan is verplicht",
      "planSet": "Plan ingesteld",
      "planSetFailed": "Kon plan niet instellen",
      "emailPasswordRequired": "Email en wachtwoord zijn verplicht",
      "userEmailExists": "Een gebruiker met dit email adres bestaat al",
      "userCreated": "Gebruiker aangemaakt",
      "userCreateFailed": "Kon gebruiker niet aanmaken",
      "anotherUserEmailExists": "Een andere gebruiker met dit email adres bestaat al",
      "userUpdated": "Gebruiker bijgewerkt",
      "userUpdateFailed": "Kon gebruiker niet bijwerken",
      "userLoadFailed": "Kon gebruiker niet ophalen",
      "userDetailsLoadFailed": "Kon gebruikergegevens niet ophalen",
      "bookingSlugRequired": "Booking slug is verplicht",
      "slugMinLength": "Slug moet minimaal 3 tekens bevatten",
      "slugInUse": "Deze slug is al in gebruik",
      "bookingSlugUpdateFailed": "Kon booking slug niet bijwerken",
      "impersonateFailed": "Kon niet inloggen als gebruiker",
      "notImpersonating": "Niet ingelogd als andere gebruiker",
      "impersonationStopFailed": "Kon imitatie niet stoppen",
      "noUsersSpecified": "Geen gebruikers opgegeven",
      "bulkDeleteFailed": "Bulk verwijdering mislukt",
      "bulkPlanSetFailed": "Bulk plan instellen mislukt",
      "notificationsSendFailed": "Kon notificaties niet versturen"
    },
    "common": {
      "serverError": "Serverfout",
      "placeIdRequired": "Place ID is verplicht",
      "failed": "Mislukt"
    },
    "teamBooking": {
      "teamNotFound": "Team niet gevonden",
      "teamNotFoundOrDisabled": "Team niet gevonden of boeking uitgeschakeld",
      "bookingLinkNotFound": "Deze boekingslink bestaat niet of is uitgeschakeld.",
      "placeIdRequired": "Plaats-ID is vereist",
      "failed": "Mislukt",
      "serviceIdRequired": "Service-ID is vereist",
      "monthServiceIdRequired": "Maand en service-ID zijn vereist",
      "missingFields": "Verplichte velden ontbreken",
      "dateServiceRequired": "Datum en service zijn verplicht.",
      "bookingFieldsRequired": "Lid, tijdslot, service, naam en e-mail zijn verplicht.",
      "tooManyRequests": "Te veel verzoeken. Even geduld a.u.b.",
      "startDateRequired": "Startdatum is vereist",
      "outOfZone": "Dit adres valt helaas buiten ons werkgebied."
    },
    "photos": {
      "deleteFailed": "Kon foto niet verwijderen",
      "deleted": "Foto verwijderd",
      "fetchError": "Kon foto's niet ophalen",
      "maxPhotos": "Maximaal {max} foto's per piano. Je hebt er al {current}.",
      "noFilesUploaded": "Geen bestanden geüpload",
      "photoNotFound": "Foto niet gevonden",
      "pianoNotFound": "Piano niet gevonden",
      "uploadSuccess": "{count} foto('s) geüpload",
      "uploadFailed": "Upload mislukt"
    },
    "apple": {
      "calendarUrlRequired": "Calendar URL is verplicht",
      "configIncomplete": "Apple Calendar configuratie is onvolledig",
      "connectError": "Kon geen verbinding maken met Apple Calendar",
      "connected": "Apple Calendar verbonden",
      "connectionFailed": "Verbinding met Apple Calendar mislukt",
      "connectionWorks": "Verbinding werkt! Agenda's ophalen...",
      "createEventFailed": "Kon event niet aanmaken",
      "credentialsHint": "Gebruik een app-specifiek wachtwoord, geen iCloud-wachtwoord",
      "credentialsRequired": "Apple ID en app-specifiek wachtwoord zijn verplicht",
      "deleteEventFailed": "Kon event niet verwijderen",
      "disconnectFailed": "Kon verbinding niet verbreken",
      "disconnected": "Apple Calendar losgekoppeld",
      "eventFieldsRequired": "Titel, start en eind zijn verplicht",
      "eventUrlRequired": "Event URL is verplicht",
      "fetchCalendarsFailed": "Kon agenda's niet ophalen",
      "fetchEventsFailed": "Kon events niet ophalen",
      "fetchSettingsFailed": "Kon instellingen niet ophalen",
      "invalidAppleId": "Ongeldig Apple ID formaat",
      "invalidCalendarUrl": "Ongeldige calendar URL",
      "invalidCredentials": "Ongeldige Apple ID credentials",
      "invalidSettingsUrl": "Ongeldige calendar URL in instellingen",
      "noCalendarSelected": "Geen agenda geselecteerd",
      "notConnected": "Apple Calendar is niet verbonden",
      "notConnectedMsg": "Apple Calendar is niet verbonden. Ga naar Instellingen om te verbinden.",
      "providerConflict": "Je hebt al een actieve synchronisatie met een andere agenda-provider. Koppel die eerst los.",
      "providerConflictSync": "Je hebt al een actieve synchronisatie met een andere agenda-provider. Je kunt maar één agenda-provider tegelijk gebruiken.",
      "saveSettingsFailed": "Kon instellingen niet opslaan",
      "statusFailed": "Kon status niet ophalen",
      "syncFailed": "Apple Calendar synchronisatie mislukt",
      "syncNotEnabled": "Apple Calendar synchronisatie is niet ingeschakeld",
      "testFailed": "Apple Calendar verbindingstest mislukt",
      "testAuth401": "Authenticatie mislukt - controleer je Apple ID en app-specifiek wachtwoord",
      "testAuth403": "Toegang geweigerd (403) - het app-specifiek wachtwoord is mogelijk verlopen",
      "testAuthHint": "Maak een nieuw app-specifiek wachtwoord aan op appleid.apple.com",
      "calendarAccessible": "Agenda toegankelijk",
      "calendarNotAccessible": "Agenda niet toegankelijk"
    },
    "microsoft": {
      "deleteDuplicatesFailed": "Kon duplicaten niet verwijderen",
      "fetchEventsFailed": "Kon events niet ophalen",
      "importFailed": "Import mislukt",
      "notConnected": "Microsoft Calendar is niet verbonden",
      "notConnectedReauth": "Microsoft Calendar is niet verbonden. Maak opnieuw verbinding.",
      "previewFailed": "Preview mislukt",
      "rateLimited": "API limiet bereikt. Probeer het later opnieuw.",
      "sessionExpired": "Microsoft sessie verlopen. Log opnieuw in.",
      "syncFailed": "Microsoft Calendar synchronisatie mislukt",
      "syncNotEnabled": "Microsoft Calendar synchronisatie is niet ingeschakeld",
      "tokenExpired": "Token verlopen. Maak opnieuw verbinding.",
      "singleProviderLimit": "Je hebt al een actieve sync met {provider}. Ontkoppel eerst {provider} voordat je Microsoft Calendar sync kunt inschakelen."
    },
    "notifications": {
      "appointment": "afspraak",
      "cancelledBody": "{name} heeft geannuleerd",
      "cancelledTitle": "❌ Afspraak geannuleerd",
      "customer": "Klant",
      "newBookingTitle": "📅 Nieuwe boeking!",
      "on": "op",
      "oneHourTitle": "📅 Afspraak over 1 uur",
      "reminderTitle": "⏰ Afspraak om {time}",
      "service": "Dienst",
      "soon": "binnenkort"
    },
    "portal": {
      "rateLimitExceeded": "Te veel pogingen. Probeer het over een minuut opnieuw.",
      "fetchScheduleFailed": "Kon de planning niet ophalen.",
      "fetchWeekScheduleFailed": "Kon de weekplanning niet ophalen.",
      "invalidStatus": "Ongeldige status.",
      "appointmentNotFound": "Afspraak niet gevonden.",
      "updateStatusFailed": "Kon status niet bijwerken.",
      "noteRequired": "Notitie is verplicht.",
      "saveNoteFailed": "Kon notitie niet opslaan.",
      "fetchHistoryFailed": "Kon historie niet laden.",
      "profileNotFound": "Profiel niet gevonden.",
      "fetchProfileFailed": "Kon profiel niet ophalen.",
      "completeAppointmentFailed": "Kon afspraak niet afronden.",
      "batchAppointmentNotFound": "Batch-afspraak niet gevonden.",
      "pianoNotFoundInBatch": "Piano niet gevonden in deze batch.",
      "fetchTasksFailed": "Kon taken niet ophalen.",
      "taskNotFound": "Taak niet gevonden.",
      "invalidHours": "Ongeldig aantal uren.",
      "updateHoursFailed": "Kon uren niet bijwerken."
    },
    "uploads": {
      "noFileUploaded": "Geen bestand geüpload",
      "logoUploaded": "Logo succesvol geüpload",
      "uploadFailed": "Upload mislukt",
      "logoDeleted": "Logo verwijderd",
      "deleteFailed": "Verwijderen mislukt",
      "invalidFilename": "Ongeldige bestandsnaam",
      "logoNotFound": "Logo niet gevonden"
    },
    "services": {
      "loadFailed": "Kon diensten niet ophalen",
      "notFound": "Dienst niet gevonden",
      "loadOneFailed": "Kon dienst niet ophalen",
      "nameAndDurationRequired": "Naam en duur zijn verplicht",
      "createFailed": "Kon dienst niet aanmaken",
      "updateFailed": "Kon dienst niet bijwerken",
      "deleteFailed": "Kon dienst niet verwijderen"
    }
  },
  "api.teamBooking.teamNotFound": "Team niet gevonden",
  "api.teamBooking.searchFailed": "Zoeken mislukt",
  "api.teamBooking.placeIdRequired": "placeId is vereist",
  "api.teamBooking.placeDetailsFailed": "Kan plaatsgegevens niet ophalen",
  "api.teamBooking.customerNotFound": "Klant niet gevonden",
  "api.teamBooking.pianosFailed": "Kan piano's niet ophalen",
  "api.teamBooking.linkNotExist": "Deze boekingslink bestaat niet of is uitgeschakeld.",
  "api.teamBooking.bookingDisabled": "Boekingen uitgeschakeld",
  "api.teamBooking.notAcceptingBookings": "Dit team accepteert momenteel geen boekingen.",
  "api.teamBooking.ownerNotFound": "Eigenaar niet gevonden",
  "api.teamBooking.ownerAccountNotFound": "Account van teameigenaar niet gevonden.",
  "api.teamBooking.loadInfoFailed": "Kan teaminformatie niet laden. Probeer het later opnieuw.",
  "api.teamBooking.serviceIdRequired": "serviceId is vereist",
  "api.teamBooking.teamNotFoundOrDisabled": "Team niet gevonden of boekingen uitgeschakeld",
  "api.teamBooking.serviceNotFound": "Dienst niet gevonden",
  "api.teamBooking.noSlotsInComingWeeks": "Geen beschikbare tijdslots gevonden in de komende weken.",
  "api.teamBooking.bestMatchFailed": "Serverfout",
  "api.teamBooking.dateRequired": "datum parameter is vereist",
  "api.teamBooking.missingFields": "Verplichte velden ontbreken",
  "api.teamBooking.dateServiceRequired": "Datum en dienst zijn vereist.",
  "api.teamBooking.noSlotsOnDate": "Geen beschikbare tijdslots op deze datum",
  "api.teamBooking.noAvailableMembers": "Geen beschikbare leden",
  "api.teamBooking.noMembersAvailableMessage": "Er zijn geen teamleden beschikbaar op deze datum. Probeer een andere datum.",
  "api.teamBooking.slotsFailed": "Kan beschikbare tijdslots niet ophalen. Probeer het opnieuw.",
  "api.teamBooking.slotNoLongerAvailable": "Tijdslot niet meer beschikbaar",
  "api.teamBooking.slotJustBooked": "Dit tijdslot is zojuist geboekt door een andere klant. Kies een ander tijdstip.",
  "api.teamBooking.appointmentExists": "Deze afspraak bestaat al.",
  "api.teamBooking.bookedSuccessfully": "Afspraak succesvol geboekt",
  "api.teamBooking.bookingFailed": "Kan boeking niet aanmaken. Probeer het opnieuw.",
  "api.teamBooking.onlineBookingSource": "Online boeking",
  "api.teamBooking.bookedViaTeam": "Geboekt via teampagina",
  "api.teamBooking.tooManyRequests": "Te veel verzoeken. Wacht even.",
  "api.teamBooking.startDateRequired": "startDate is vereist",
  "api.teamBooking.findSlotsFailed": "Kan geen beschikbare tijdslots vinden.",
  "api.teamBooking.serverError": "Serverfout",
  "api.teamBooking.memberNotFoundOrInactive": "Lid niet gevonden of inactief",
  "api.auth.emailPasswordRequired": "Email en wachtwoord zijn verplicht",
  "api.auth.invalidEmailFormat": "Ongeldig email formaat",
  "api.auth.accountCreatedCanLogin": "Je account is aangemaakt! Je kunt nu inloggen.",
  "api.auth.accountCreatedAwaitApproval": "Je account is aangemaakt! Je ontvangt bericht zodra een beheerder je account heeft goedgekeurd.",
  "api.auth.registrationFailed": "Registratie mislukt",
  "api.auth.sessionError": "Sessiefout",
  "api.auth.loginSuccess": "Succesvol ingelogd",
  "api.auth.loginFailed": "Inloggen mislukt",
  "api.auth.emailRequired": "Email is verplicht",
  "api.auth.resetLinkSentIfKnown": "Als dit emailadres bij ons bekend is, ontvang je een reset link.",
  "api.auth.errorOccurred": "Er is een fout opgetreden",
  "api.auth.tokenMissing": "Token ontbreekt",
  "api.auth.tokenVerifyFailed": "Kon token niet verifiëren",
  "api.auth.tokenPasswordRequired": "Token en wachtwoord zijn verplicht",
  "api.auth.passwordMinLength": "Wachtwoord moet minimaal 8 tekens zijn",
  "api.auth.passwordResetSuccess": "Wachtwoord succesvol gewijzigd. Je kunt nu inloggen.",
  "api.auth.passwordResetFailed": "Kon wachtwoord niet resetten",
  "api.auth.adminNotConfigured": "Admin login is niet geconfigureerd. Stel ADMIN_USERNAME en ADMIN_PASSWORD in als environment variables.",
  "api.auth.usernamePasswordRequired": "Gebruikersnaam en wachtwoord zijn verplicht",
  "api.auth.loggedInAsAdmin": "Ingelogd als admin",
  "api.auth.invalidCredentials": "Ongeldige gebruikersnaam of wachtwoord",
  "api.auth.notLoggedIn": "Niet ingelogd",
  "api.auth.noChangesSpecified": "Geen wijzigingen opgegeven",
  "api.auth.profileUpdated": "Profiel bijgewerkt",
  "api.auth.userNotFound": "Gebruiker niet gevonden",
  "api.auth.newPasswordRequired": "Nieuw wachtwoord is verplicht",
  "api.auth.passwordsDoNotMatch": "Wachtwoorden komen niet overeen",
  "api.auth.passwordSetCanLogin": "Wachtwoord ingesteld! Je kunt nu ook inloggen met email en wachtwoord.",
  "api.auth.currentAndNewPasswordRequired": "Huidig en nieuw wachtwoord zijn verplicht",
  "api.auth.newPasswordsDoNotMatch": "Nieuwe wachtwoorden komen niet overeen",
  "api.auth.passwordChanged": "Wachtwoord succesvol gewijzigd",
  "api.subscription.notLoggedIn": "Niet ingelogd",
  "api.subscription.noActiveSubscription": "Geen actief abonnement",
  "api.subscription.checkFailed": "Kon abonnement niet controleren",
  "api.subscription.paidRequired": "Betaald abonnement vereist",
  "api.subscription.proRequired": "Pro abonnement vereist voor deze functie",
  "api.subscription.businessRequired": "Zakelijk abonnement vereist voor werkplaats projectplanner",
  "api.subscription.featureCheckFailed": "Kon feature niet controleren",
  "api.subscription.customerLimitReached": "Klantenlimiet bereikt",
  "api.subscription.customerLimitMessage": "Je hebt {current} van {limit} klanten. Upgrade naar Solo of Pro voor onbeperkte klanten.",
  "api.subscription.limitCheckFailed": "Kon limiet niet controleren",
  "api.subscription.appointmentLimitReached": "Afsprakenlimiet bereikt",
  "api.subscription.appointmentLimitMessage": "Je hebt {current} van {limit} afspraken dit jaar. Upgrade naar Solo of Pro voor onbeperkte afspraken.",
  "api.subscription.featureProOnly": "{feature} is alleen beschikbaar met Pro abonnement",
  "api.mollie.paymentsNotConfigured": "Betalingen zijn nog niet geconfigureerd",
  "api.mollie.statusFetchFailed": "Kon status niet ophalen",
  "api.mollie.invalidPlan": "Ongeldig plan. Kies solo, pro of business.",
  "api.mollie.paymentStartFailed": "Kon betaling niet starten",
  "api.mollie.noActiveSubscription": "Geen actief abonnement gevonden",
  "api.mollie.subscriptionCancelled": "Abonnement geannuleerd",
  "api.mollie.cancelFailed": "Kon abonnement niet annuleren",
  "api.mollie.invalidPlanSimple": "Ongeldig plan",
  "api.mollie.planChanged": "Plan gewijzigd naar {plan}",
  "api.mollie.changeFailed": "Kon plan niet wijzigen",
  "api.mollie.firstPaymentDesc": "eerste betaling",
  "api.stripe.invalidPlan": "Ongeldig plan. Kies solo, pro, teams of business.",
  "api.stripe.createSessionFailed": "Kon checkout sessie niet aanmaken",
  "api.stripe.noActiveSubscription": "Geen actief Stripe abonnement gevonden",
  "api.stripe.subscriptionCancelled": "Abonnement geannuleerd. Toegang tot einde facturatieperiode.",
  "api.stripe.cancelFailed": "Kon abonnement niet annuleren",
  "api.stripe.portalFailed": "Kon facturatieportaal niet openen",
  "api.stripe.statusFetchFailed": "Kon abonnementsstatus niet ophalen",
  "api.stripe.notConfigured": "Stripe is niet geconfigureerd",
  "api.customers.loadFailed": "Kon klanten niet laden",
  "api.customers.nameRequired": "Naam is verplicht",
  "api.customers.createFailed": "Kon klant niet aanmaken",
  "api.customers.notFound": "Klant niet gevonden",
  "api.customers.updateFailed": "Kon klant niet bijwerken",
  "api.customers.deleteFailed": "Kon klant niet verwijderen",
  "api.customers.deleted": "Klant verwijderd",
  "api.customers.searchFailed": "Zoeken mislukt",
  "api.customers.importFailed": "Import mislukt",
  "api.customers.noFileUploaded": "Geen bestand geüpload",
  "api.customers.mergeFailed": "Kon klanten niet samenvoegen",
  "api.customers.merged": "Klanten succesvol samengevoegd",
  "api.pianos.loadFailed": "Kon piano's niet laden",
  "api.pianos.brandRequired": "Merk is verplicht",
  "api.pianos.createFailed": "Kon piano niet aanmaken",
  "api.pianos.notFound": "Piano niet gevonden",
  "api.pianos.updateFailed": "Kon piano niet bijwerken",
  "api.pianos.deleteFailed": "Kon piano niet verwijderen",
  "api.pianos.deleted": "Piano verwijderd",
  "api.common.notLoggedIn": "Niet ingelogd",
  "api.common.userNotFound": "Gebruiker niet gevonden",
  "api.common.serverError": "Serverfout",
  "api.common.invalidRequest": "Ongeldig verzoek",
  "api.common.accessDenied": "Toegang geweigerd",
  "api.common.notFound": "Niet gevonden",
  "api.common.saveFailed": "Kon wijzigingen niet opslaan",
  "api.common.saved": "Wijzigingen opgeslagen",
  "api.settings.loadFailed": "Kon instellingen niet ophalen",
  "api.settings.saveFailed": "Kon instellingen niet opslaan",
  "api.settings.vatNoNumber": "Geen BTW-nummer opgegeven",
  "api.settings.vatValidationFailed": "Kon BTW-nummer niet valideren",
  "api.settings.vatInfoFailed": "Kon BTW-info niet ophalen",
  "api.settings.servicesLoadFailed": "Kon diensten niet ophalen",
  "api.settings.serviceNotFound": "Dienst niet gevonden",
  "api.settings.serviceLoadFailed": "Kon dienst niet ophalen",
  "api.settings.serviceNameRequired": "Naam is verplicht",
  "api.settings.serviceCreateFailed": "Kon dienst niet aanmaken",
  "api.settings.serviceUpdateFailed": "Kon dienst niet bijwerken",
  "api.settings.serviceDeleteFailed": "Kon dienst niet verwijderen",
  "api.settings.serviceActivateFailed": "Kon dienst niet activeren",
  "api.settings.bookingLoadFailed": "Kon boekingsinstellingen niet ophalen",
  "api.settings.bookingSaveFailed": "Kon boekingsinstellingen niet opslaan",
  "api.settings.travelLoadFailed": "Kon reisinstellingen niet ophalen",
  "api.settings.travelSaveFailed": "Kon reisinstellingen niet opslaan",
  "api.settings.travelAnalyzeFailed": "Kon klantenbestand niet analyseren",
  "api.settings.languageNotSupported": "Taal niet ondersteund",
  "api.settings.languageSaveFailed": "Kon taalinstelling niet opslaan",
  "api.settings.resetConfirmWrong": "Bevestigingstekst is onjuist",
  "api.settings.resetSuccess": "Alle data is gewist. Je instellingen en account zijn bewaard.",
  "api.settings.resetFailed": "Kon data niet resetten",
  "api.settings.deletePasswordRequired": "Wachtwoord is verplicht",
  "api.settings.deleteAdminDenied": "Admins kunnen hun account niet zelf verwijderen",
  "api.settings.deleteSuccess": "Account succesvol verwijderd",
  "api.settings.deleteFailed": "Kon account niet verwijderen",
  "api.settings.syncStatusFailed": "Kon synchronisatiestatus niet ophalen",
  "api.settings.syncQueueFailed": "Kon synchronisatiewachtrij niet ophalen",
  "api.settings.syncVerifyFailed": "Kon synchronisatie niet verifiëren",
  "api.settings.syncOrphansFailed": "Kon verweesde evenementen niet vinden",
  "api.settings.syncMissingFailed": "Kon ontbrekende synchronisaties niet vinden",
  "api.settings.exportFailed": "Kon gegevens niet exporteren",
  "api.settings.previewFailed": "Kon preview niet ophalen",
  "api.settings.testReminderSuccess": "Test herinnering verstuurd naar uw eigen emailadres",
  "api.settings.testReminderSendFailed": "Kon test niet versturen",
  "api.settings.testReminderError": "Kon test herinnering niet versturen",
  "api.settings.historyFailed": "Kon geschiedenis niet ophalen",
  "api.settings.upcomingFailed": "Kon aankomende herinneringen niet ophalen",
  "api.calendar.noGoogleConnection": "Geen Google verbinding",
  "api.calendar.tokenCheckFailed": "Kon tokens niet controleren",
  "api.calendar.loginWithGoogle": "Log in met Google",
  "api.calendar.calendarsLoadFailed": "Kon agenda's niet ophalen",
  "api.calendar.eventsLoadFailed": "Kon events niet ophalen",
  "api.calendar.eventFieldsRequired": "Titel, start en eind zijn verplicht",
  "api.calendar.eventCreateFailed": "Kon event niet aanmaken",
  "api.calendar.eventDeleteFailed": "Kon event niet verwijderen",
  "api.calendar.syncSettingsLoadFailed": "Kon sync instellingen niet ophalen",
  "api.calendar.singleProviderLimit": "Je hebt al een actieve sync met {provider}. Ontkoppel eerst {provider} voordat je Google Calendar kunt inschakelen.",
  "api.calendar.syncSettingsSaveFailed": "Kon sync instellingen niet opslaan",
  "api.calendar.disconnectFailed": "Kon verbinding niet verbreken",
  "api.calendar.disconnected": "Google Calendar verbinding verbroken",
  "api.calendar.sessionExpired": "Google sessie verlopen",
  "api.calendar.reconnectGoogle": "Log opnieuw in met Google om de verbinding te herstellen",
  "api.calendar.syncStatusLoadFailed": "Kon sync status niet ophalen",
  "api.calendar.syncDisabledByAdmin": "Calendar sync is tijdelijk uitgeschakeld door de beheerder",
  "api.calendar.contactSupport": "Neem contact op met support als dit onverwacht is",
  "api.calendar.syncRateLimit": "Je kunt maximaal 1x per 15 minuten synchroniseren",
  "api.calendar.syncRateLimitHint": "Probeer het over {minutes} {minuteWord} opnieuw",
  "api.calendar.minuteSingular": "minuut",
  "api.calendar.minutePlural": "minuten",
  "api.calendar.syncInProgress": "Synchronisatie is al bezig",
  "api.calendar.syncInProgressHint": "Wacht tot de huidige sync is afgerond",
  "api.calendar.noValidGoogleConnection": "Geen geldige Google-verbinding",
  "api.calendar.syncNotEnabled": "Synchronisatie is niet ingeschakeld",
  "api.calendar.maxEventsReached": "Maximum aantal afspraken bereikt ({max})",
  "api.calendar.maxEventsHint": "Verwijder oude afspraken om weer te kunnen synchroniseren",
  "api.calendar.googleApiLimit": "Google API limiet bereikt",
  "api.calendar.waitAndRetry": "Wacht een paar minuten en probeer opnieuw",
  "api.calendar.noGoogleAccess": "Geen toegang tot Google Calendar",
  "api.calendar.reauthorizeGoogle": "Geef PianoPlanner opnieuw toestemming voor je agenda",
  "api.calendar.syncFailed": "Synchronisatie mislukt",
  "api.calendar.importFailed": "Import mislukt",
  "api.calendar.previewFailed": "Preview mislukt",
  "api.calendar.forceSyncFailed": "Force sync mislukt",
  "api.calendar.allSynced": "Alle agenda's zijn gesynchroniseerd",
  "api.calendar.refreshTokenMissing": "Google Calendar: refresh token ontbreekt - log opnieuw in via Instellingen",
  "api.calendar.googleExpired": "Google Calendar koppeling verlopen",
  "api.calendar.appleNotConnected": "Apple Calendar niet verbonden",
  "api.calendar.syncsPending": "{count} sync(s) in wachtrij",
  "api.calendar.microsoftNotConnected": "Microsoft Calendar niet verbonden",
  "api.calendar.syncsPermanentlyFailed": "{count} sync(s) permanent mislukt",
  "api.customers.fetchError": "Kon klanten niet ophalen",
  "api.customers.fetchNamesError": "Kon klant namen niet ophalen",
  "api.customers.fetchDuplicatesError": "Kon duplicaten niet ophalen",
  "api.customers.mergeIdsRequired": "Target en source ID zijn verplicht",
  "api.customers.mergeSuccess": "Klanten succesvol samengevoegd",
  "api.customers.mergeAdvancedIdsRequired": "Target ID en source IDs zijn verplicht",
  "api.customers.cleanNotesFailed": "Kon notities niet opschonen",
  "api.customers.mapDataError": "Kon kaartdata niet ophalen",
  "api.customers.allAlreadyGeocoded": "Alle klanten hebben al coördinaten",
  "api.customers.geocodeBatchPartial": "{processed} klanten verwerkt, nog {remaining} te gaan. Voer opnieuw uit.",
  "api.customers.geocodeBatchDone": "{processed} klanten verwerkt.",
  "api.customers.geocodingFailed": "Geocoding mislukt",
  "api.customers.fetchOneError": "Kon klant niet ophalen",
  "api.customers.createError": "Kon klant niet aanmaken",
  "api.customers.updateError": "Kon klant niet bijwerken",
  "api.customers.deleteError": "Kon klant niet verwijderen",
  "api.customers.tokenRegenerated": "Nieuwe boekingslink gegenereerd",
  "api.customers.tokenRegenerateError": "Kon token niet regenereren",
  "api.customers.smartFillLocationRequired": "Voer een plaats, postcode of adres in",
  "api.customers.smartFillLocationNotFound": "Locatie niet gevonden. Probeer een andere plaatsnaam of postcode.",
  "api.customers.smartFillNoResults": "Geen klanten met steminterval gevonden",
  "api.customers.smartFillSearchFailed": "Zoeken mislukt",
  "api.customers.smartFillSelectAtLeastOne": "Selecteer minstens één klant",
  "api.customers.smartFillMaxInvitations": "Maximaal 20 uitnodigingen per keer",
  "api.customers.smartFillCustomerNotFound": "Klant/piano niet gevonden of geen email",
  "api.customers.smartFillNoInterval": "Steminterval is 0",
  "api.customers.smartFillInviteFailed": "Uitnodigingen versturen mislukt",
  "api.customers.noAddress": "Klant heeft geen adres",
  "api.customers.geocodeAddressFailed": "Kon adres niet geocoden",
  "api.customers.notesFetchError": "Kon notities niet laden",
  "api.customers.noteRequired": "Notitie is verplicht",
  "api.customers.noteSaveError": "Kon notitie niet opslaan",
  "api.customers.noteDeleteError": "Kon notitie niet verwijderen",
  "api.pianos.fetchError": "Kon piano's niet ophalen",
  "api.pianos.invitationStatusError": "Kon uitnodigingsstatus niet ophalen",
  "api.pianos.servicesFetchError": "Kon services niet ophalen",
  "api.pianos.fetchSingleError": "Kon piano niet ophalen",
  "api.pianos.created": "Piano toegevoegd",
  "api.pianos.createError": "Kon piano niet aanmaken",
  "api.pianos.pianoIdsRequired": "pianoIds array is vereist",
  "api.pianos.updatesRequired": "updates object is vereist",
  "api.pianos.noValidFields": "Geen geldige velden om bij te werken",
  "api.pianos.bulkUpdated": "{count} piano's bijgewerkt",
  "api.pianos.bulkUpdateError": "Kon piano's niet bijwerken",
  "api.pianos.updated": "Piano bijgewerkt",
  "api.pianos.updateError": "Kon piano niet bijwerken",
  "api.pianos.deleteError": "Kon piano niet verwijderen",
  "api.pianos.serviceAdded": "Service record toegevoegd",
  "api.pianos.serviceAddError": "Kon service niet toevoegen",
  "api.pianos.serviceNotFound": "Service record niet gevonden",
  "api.pianos.serviceDeleted": "Service record verwijderd",
  "api.pianos.serviceDeleteError": "Kon service niet verwijderen",
  "api.appointments.fetchFailed": "Kon afspraken niet ophalen",
  "api.appointments.noneFound": "Geen afspraken gevonden",
  "api.appointments.travelTimeCalcFailed": "Kon reistijden niet berekenen",
  "api.appointments.duplicateDetectFailed": "Kon duplicaten niet detecteren",
  "api.appointments.noDuplicatesFound": "Geen duplicaten gevonden",
  "api.appointments.pendingFetchFailed": "Kon af te werken afspraken niet ophalen",
  "api.appointments.pendingPaymentsFetchFailed": "Kon openstaande betalingen niet ophalen",
  "api.appointments.missingAddressesFetchFailed": "Kon ontbrekende adressen niet ophalen",
  "api.appointments.notFound": "Afspraak niet gevonden",
  "api.appointments.fetchOneFailed": "Kon afspraak niet ophalen",
  "api.appointments.titleRequired": "Titel is verplicht",
  "api.appointments.startEndRequired": "Start en eind tijd zijn verplicht",
  "api.appointments.createSyncFailed": "Kon afspraak niet aanmaken",
  "api.appointments.createFailed": "Kon afspraak niet aanmaken",
  "api.appointments.updateFailed": "Kon afspraak niet bijwerken",
  "api.appointments.deleteFailed": "Kon afspraak niet verwijderen",
  "api.appointments.completeFailed": "Kon afspraak niet afronden",
  "api.appointments.cancelFailed": "Kon afspraak niet annuleren",
  "api.appointments.statsFetchFailed": "Kon statistieken niet ophalen",
  "api.appointments.dateRequired": "Datum is verplicht",
  "api.appointments.minTwoForRoute": "Minimaal 2 afspraken met locatie nodig voor route optimalisatie",
  "api.appointments.routeOptimizeFailed": "Kon route niet optimaliseren",
  "api.appointments.noScheduleProvided": "Geen schema opgegeven",
  "api.appointments.routeApplyFailed": "Kon geoptimaliseerde route niet toepassen",
  "api.appointments.duplicateDeleteFailed": "Kon duplicaten niet verwijderen",
  "api.appointments.cleanupFailed": "Opschonen mislukt",
  "api.appointments.noBrokenFound": "Geen kapotte afspraken gevonden",
  "api.appointments.missingRequiredFields": "Verplichte velden ontbreken",
  "api.appointments.invalidDateFormat": "Ongeldig datumformaat",
  "api.appointments.invalidTimeFormat": "Ongeldig tijdformaat",
  "api.appointments.timeSlotUnavailable": "Tijdslot niet beschikbaar",
  "api.appointments.conflictExists": "Er is al een afspraak gepland: {conflictWith}",
  "api.appointments.rescheduleFailed": "Herplannen van afspraak mislukt",
  "api.appointments.rescheduled": "Afspraak succesvol verplaatst",
  "api.appointments.workshopStatsFailed": "Kon werkplaatsstatistieken niet ophalen",
  "api.appointments.mileageSummaryFailed": "Kon kilometeroverzicht niet ophalen",
  "api.appointments.paymentMarkedPaid": "Betaling gemarkeerd als betaald",
  "api.appointments.paymentMarkFailed": "Kon betaling niet markeren",
  "api.appointments.markedCompleted": "Afspraak gemarkeerd als afgehandeld",
  "api.appointments.taskCompleteFailed": "Kon taak niet afhandelen",
  "api.appointments.defaultTitle": "Afspraak",
  "api.appointments.hintDateTimeFormat": "Geef newDate (JJJJ-MM-DD) en newTime (UU:MM) op",
  "api.appointments.hintDateFormat": "Gebruik JJJJ-MM-DD formaat",
  "api.appointments.hintTimeFormat": "Gebruik UU:MM formaat",
  "api.appointments.rescheduleEmailTitle": "Wijziging tijdstip afspraak",
  "api.appointments.customerFallback": "klant",
  "api.appointments.rescheduleEmailBody": "Uw afspraak is verplaatst naar een nieuw tijdstip:",
  "api.appointments.rescheduleFrom": "Van",
  "api.appointments.rescheduleTo": "Naar",
  "api.appointments.labelAppointment": "Afspraak",
  "api.appointments.labelLocation": "Locatie",
  "api.appointments.rescheduleContactNote": "Mocht dit nieuwe tijdstip niet uitkomen, neem dan gerust contact met ons op.",
  "api.appointments.kindRegards": "Met vriendelijke groet,",
  "api.appointments.rescheduleEmailSubject": "Wijziging tijdstip: {title} - {date}",
  "api.appointments.duplicatesDeleted": "{count} duplicaten verwijderd",
  "api.appointments.noCompanyAddress": "Geen bedrijfsadres ingesteld. Stel eerst een bedrijfsadres in bij instellingen.",
  "api.appointments.routeApplyMessage": "{count} afspraken bijgewerkt met geoptimaliseerde tijden",
  "api.email.quotaCheckFailed": "Quota check mislukt",
  "api.email.emailNotConfigured": "Email niet geconfigureerd",
  "api.email.smtpEnvRequired": "SMTP_USER en SMTP_PASS omgevingsvariabelen zijn vereist",
  "api.email.noEmailProvided": "Geen e-mailadres opgegeven",
  "api.email.testEmailSent": "Test e-mail verzonden naar {email}",
  "api.email.testEmailFailed": "Kon test e-mail niet versturen",
  "api.email.settingsUpdated": "E-mailinstellingen bijgewerkt",
  "api.email.confirmationSent": "Bevestigingse-mail verzonden",
  "api.email.appointmentNotFound": "Afspraak niet gevonden",
  "api.email.customerNoEmail": "Klant heeft geen e-mailadres",
  "api.email.reminderSent": "Herinneringse-mail verzonden",
  "api.email.customerIdRequired": "customerId is verplicht",
  "api.email.customerNotFound": "Klant niet gevonden",
  "api.email.noBookingLink": "Klant heeft geen boekingslink. Genereer eerst een link.",
  "api.email.invitationSent": "Uitnodiging verzonden",
  "api.email.invitationFailed": "Kon uitnodiging niet versturen",
  "api.email.customerAndPianoRequired": "customerId en pianoId zijn verplicht",
  "api.email.pianoNotFound": "Piano niet gevonden",
  "api.email.pianoSelfContact": "Deze piano staat op \"Neemt zelf contact op\". Wijzig eerst het steminterval om uitnodigingen te kunnen versturen.",
  "api.email.logLoadFailed": "Kon e-mail log niet laden",
  "api.email.noEmailsSelected": "Geen e-mails geselecteerd",
  "api.email.invalidIds": "Ongeldige IDs",
  "api.email.deleteEmailsFailed": "Kon e-mails niet verwijderen",
  "api.smtp.settingsSaved": "SMTP instellingen opgeslagen",
  "api.smtp.settingsNotFound": "E-mail instellingen niet gevonden",
  "api.smtp.saveSettingsFirst": "Sla eerst je e-mail instellingen op",
  "api.smtp.noSmtpSettings": "Geen SMTP instellingen gevonden",
  "api.smtp.smtpSettingsTip": "Sla eerst SMTP instellingen op via Instellingen > E-mail",
  "api.smtp.diagnoseFailed": "Diagnose mislukt",
  "api.smtp.settingsDeleted": "SMTP instellingen verwijderd",
  "api.notifications.invalidSubscription": "Ongeldig abonnement",
  "api.notifications.saveSubscriptionFailed": "Kon abonnement niet opslaan",
  "api.notifications.unsubscribeFailed": "Kon niet uitschrijven",
  "api.notifications.updateSettingsFailed": "Kon instellingen niet bijwerken",
  "api.notifications.getSettingsFailed": "Kon instellingen niet ophalen",
  "api.notifications.testSent": "Testmelding verzonden",
  "api.notifications.testFailed": "Kon melding niet versturen",
  "api.notifications.testSendFailed": "Kon testmelding niet versturen",
  "api.mileage.vehicleFetchFailed": "Kon voertuig niet ophalen",
  "api.mileage.vehicleSaveFailed": "Kon voertuig niet opslaan",
  "api.mileage.readingsFetchFailed": "Kon kilometerstanden niet ophalen",
  "api.mileage.dateAndReadingRequired": "Datum en kilometerstand zijn vereist",
  "api.mileage.invalidReading": "Ongeldige kilometerstand",
  "api.mileage.readingSaveFailed": "Kon kilometerstand niet opslaan",
  "api.mileage.readingNotFound": "Kilometerstand niet gevonden",
  "api.mileage.readingDeleteFailed": "Kon kilometerstand niet verwijderen",
  "api.mileage.tripsFetchFailed": "Kon ritten niet ophalen",
  "api.mileage.dateAndDistanceRequired": "Datum en afstand zijn vereist",
  "api.mileage.tripSaveFailed": "Kon rit niet opslaan",
  "api.mileage.tripNotFound": "Rit niet gevonden",
  "api.mileage.tripUpdateFailed": "Kon rit niet bijwerken",
  "api.mileage.tripDeleteFailed": "Kon rit niet verwijderen",
  "api.mileage.appointmentNotFound": "Afspraak niet gevonden",
  "api.mileage.noChangesProvided": "Geen wijzigingen opgegeven",
  "api.mileage.adjustFailed": "Kon km niet aanpassen",
  "api.mileage.auditLogFailed": "Kon audit log niet ophalen",
  "api.mileage.reportFailed": "Kon km-rapport niet genereren",
  "api.mileage.summaryFailed": "Kon km-overzicht niet ophalen",
  "api.projects.fetchFailed": "Kon projecten niet ophalen",
  "api.projects.statsFetchFailed": "Kon statistieken niet ophalen",
  "api.projects.capacityFetchFailed": "Kon capaciteit niet ophalen",
  "api.projects.notFound": "Project niet gevonden",
  "api.projects.fetchOneFailed": "Kon project niet ophalen",
  "api.projects.titleRequired": "Titel is verplicht",
  "api.projects.createFailed": "Kon project niet aanmaken",
  "api.projects.updateFailed": "Kon project niet bijwerken",
  "api.projects.deleteFailed": "Kon project niet verwijderen",
  "api.projects.duplicateFailed": "Kon project niet dupliceren",
  "api.projects.appointmentsFetchFailed": "Kon afspraken niet ophalen",
  "api.projects.tasksFetchFailed": "Kon taken niet ophalen",
  "api.projects.taskTitleRequired": "Taak titel is verplicht",
  "api.projects.taskCreateFailed": "Kon taak niet aanmaken",
  "api.projects.taskNotFound": "Taak niet gevonden",
  "api.projects.taskUpdateFailed": "Kon taak niet bijwerken",
  "api.projects.taskDeleteFailed": "Kon taak niet verwijderen",
  "api.projects.taskIdsMustBeArray": "taskIds moet een array zijn",
  "api.projects.taskReorderFailed": "Kon taken niet herordenen",
  "api.projects.quoteFetchFailed": "Kon offerte niet ophalen",
  "api.projects.materialsFetchFailed": "Kon materialen niet ophalen",
  "api.projects.categoriesFetchFailed": "Kon categorieën niet ophalen",
  "api.projects.materialNotFound": "Materiaal niet gevonden",
  "api.projects.materialFetchFailed": "Kon materiaal niet ophalen",
  "api.projects.materialNameRequired": "Naam is verplicht",
  "api.projects.materialCreateFailed": "Kon materiaal niet aanmaken",
  "api.projects.materialUpdateFailed": "Kon materiaal niet bijwerken",
  "api.projects.materialDeleteFailed": "Kon materiaal niet verwijderen",
  "api.accounting.settingsLoadFailed": "Kon instellingen niet laden",
  "api.accounting.settingsSaveFailed": "Kon instellingen niet opslaan",
  "api.accounting.clientIdSecretRequired": "Client ID en Client Secret zijn verplicht",
  "api.accounting.connectedSuccess": "{provider} succesvol verbonden!",
  "api.accounting.disconnectFailed": "Kon {provider} niet ontkoppelen",
  "api.accounting.noInvoicesToSync": "Geen facturen om te synchroniseren",
  "api.accounting.customersFetchFailed": "Kon klanten niet ophalen",
  "api.accounting.invoicesFetchFailed": "Kon facturen niet ophalen",
  "api.accounting.orgFetchFailed": "Kon organisatie niet ophalen",
  "api.accounting.allFieldsRequired": "Alle velden zijn verplicht: URL, database, gebruikersnaam en API-key",
  "api.accounting.tokenAndIdRequired": "Personal Access Token en Administratie-ID zijn verplicht",
  "api.accounting.authFailed": "{provider} authenticatie mislukt. Controleer je token en instellingen.",
  "api.accounting.connectFailed": "Kon niet verbinden met {provider}",
  "api.accounting.loadingCustomers": "Klanten ophalen uit PianoPlanner...",
  "api.accounting.noCustomersFound": "Geen klanten gevonden",
  "api.accounting.rateLimitSkipped": "Overgeslagen wegens rate limit",
  "api.accounting.updateFailed": "Update mislukt",
  "api.accounting.noCustomersToSync": "Geen klanten om te synchroniseren",
  "api.accounting.noOpenInvoices": "Geen openstaande gesynchroniseerde facturen gevonden",
  "api.accounting.accessTokenAndIdRequired": "Access Token en Company ID (Realm ID) zijn verplicht",
  "api.accounting.oauthTokenAndIdRequired": "OAuth Token en Organization ID zijn verplicht",
  "api.accounting.apiTokenAndSlugRequired": "API Token en Company Slug zijn verplicht",
  "api.accounting.syncLogFailed": "Kon sync-log niet laden",
  "api.accounting.providerNameRequired": "Naam van boekhoudpakket is verplicht",
  "api.accounting.requestReceived": "Aanvraag ontvangen",
  "api.accounting.requestSendFailed": "Aanvraag kon niet worden verstuurd",
  "api.team.loadFailed": "Teams konden niet worden geladen",
  "api.team.nameRequired": "Teamnaam is verplicht",
  "api.team.createFailed": "Team kon niet worden aangemaakt",
  "api.team.accessDenied": "Geen toegang",
  "api.team.updateFailed": "Team kon niet worden bijgewerkt",
  "api.team.noFileUploaded": "Geen bestand geüpload",
  "api.team.logoUploadFailed": "Logo kon niet worden geüpload",
  "api.team.logoDeleteFailed": "Logo kon niet worden verwijderd",
  "api.team.bookingEnableFailed": "Team booking kon niet worden ingeschakeld",
  "api.team.bookingDisableFailed": "Team booking kon niet worden uitgeschakeld",
  "api.team.memberLoadFailed": "Teamleden konden niet worden geladen",
  "api.team.nameEmailRequired": "Naam en e-mail zijn verplicht",
  "api.team.memberNotFound": "Teamlid niet gevonden",
  "api.team.memberUpdateFailed": "Teamlid kon niet worden bijgewerkt",
  "api.team.memberRemoved": "Teamlid verwijderd",
  "api.team.memberRemoveFailed": "Teamlid kon niet worden verwijderd",
  "api.team.startEndRequired": "start en end query parameters zijn verplicht",
  "api.team.calendarLoadFailed": "Teamagenda kon niet worden geladen",
  "api.team.appointmentNotFound": "Afspraak niet gevonden",
  "api.team.teamMemberNotFound": "Teamlid niet gevonden",
  "api.team.assignFailed": "Toewijzing mislukt",
  "api.team.unassignedLoadFailed": "Niet-toegewezen afspraken konden niet worden geladen",
  "api.team.suggestionsFailed": "Suggesties konden niet worden opgehaald",
  "api.team.selectAtLeastOneCustomer": "Selecteer minimaal één klant",
  "api.team.maxInvitations": "Maximaal 50 uitnodigingen per keer",
  "api.team.bookingNotEnabled": "Team booking is niet ingeschakeld",
  "api.team.noCustomersFound": "Geen klanten gevonden",
  "api.team.invitationsFailed": "Kon uitnodigingen niet versturen",
  "api.team.absencesLoadFailed": "Afwezigheden konden niet worden geladen",
  "api.team.absenceMemberNotFound": "Teamlid niet gevonden",
  "api.team.startEndDateRequired": "Start- en einddatum zijn verplicht",
  "api.team.endAfterStart": "Einddatum moet na startdatum liggen",
  "api.team.absenceAddFailed": "Afwezigheid kon niet worden toegevoegd",
  "api.team.absenceDeleteFailed": "Afwezigheid kon niet worden verwijderd",
  "api.team.memberNotFoundForLink": "Teamlid niet gevonden.",
  "api.team.memberNoEmail": "Dit teamlid heeft geen e-mailadres.",
  "api.team.magicLinkSent": "Magic link succesvol verzonden.",
  "api.team.magicLinkFailed": "Er ging iets mis bij het genereren van de link.",
  "api.team.teamIdStartDateRequired": "teamId en startDate zijn verplicht",
  "api.team.smartMatchFailed": "Smart matches konden niet worden gegenereerd",
  "api.team.invalidFileType": "Alleen JPG, PNG, SVG of WebP toegestaan",
  "api.team.memberLimitReached": "Je kunt maximaal {max} teamleden toevoegen in je huidige abonnement",
  "api.team.memberAddFailed": "Teamlid kon niet worden toegevoegd",
  "api.team.invitationsSent": "{count} uitnodiging(en) verstuurd",
  "api.accounting.jorttInvalidCredentials": "Ongeldige Jortt credentials — controleer Client ID en Client Secret",
  "api.accounting.jorttTokenError": "Jortt token fout: HTTP {status}",
  "api.accounting.jorttNotConnected": "Jortt niet verbonden — stel eerst Client ID en Client Secret in",
  "api.accounting.jorttApiError": "Jortt API fout: HTTP {status}",
  "api.accounting.odooAuthFailed": "Authenticatie mislukt — controleer je URL, database, gebruikersnaam en API-key",
  "api.accounting.odooNotConnected": "Odoo niet verbonden",
  "api.accounting.moneybirdNotConnected": "Moneybird niet verbonden",
  "api.accounting.moneybirdAuthFailed": "Moneybird authenticatie mislukt. Controleer je token en administratie-ID.",
  "api.accounting.invalidToken": "Ongeldige token",
  "api.accounting.quickbooksNotConnected": "QuickBooks niet verbonden",
  "api.accounting.quickbooksAuthFailed": "QuickBooks authenticatie mislukt. Controleer je Access Token en Company ID.",
  "api.accounting.invalidOrExpiredToken": "Ongeldige of verlopen token",
  "api.accounting.zohoNotConnected": "Zoho Books niet verbonden",
  "api.accounting.zohoAuthFailed": "Zoho authenticatie mislukt. Controleer je OAuth Token en regio.",
  "api.accounting.fikenNotConnected": "Fiken niet verbonden",
  "api.accounting.fikenAuthFailed": "Fiken authenticatie mislukt. Controleer je API Token en Company Slug.",
  "api.accounting.invalidApiToken": "Ongeldige API token",
  "api.accounting.fikenCompanyNotFound": "Company slug niet gevonden",
  "api.accounting.syncFailed": "Synchronisatie mislukt",
  "api.accounting.invoicesSynced": "{count} factuur/facturen gesynchroniseerd naar {provider}",
  "api.accounting.customersSynced": "{synced} klant(en) gesynchroniseerd naar {provider}",
  "api.accounting.customerSyncFailed": "Klanten synchronisatie mislukt",
  "api.accounting.invoicesMarkedPaid": "{count} factuur/facturen als betaald gemarkeerd vanuit {provider}",
  "api.accounting.noNewPaymentsFound": "{count} facturen gecontroleerd, geen nieuwe betalingen gevonden",
  "api.accounting.paymentSyncFailed": "Betalingssynchronisatie mislukt",
  "api.accounting.sseCustomersFound": "{count} klanten gevonden. Bestaande {provider} contacten ophalen...",
  "api.accounting.sseContactsFetched": "{count} {provider} contacten opgehaald (pagina {page})...",
  "api.accounting.sseContactsFetchFailed": "Kon bestaande contacten niet ophalen: {error}",
  "api.accounting.sseSyncStarting": "{existing} bestaande contacten. Start synchronisatie van {total} klanten...",
  "api.accounting.logInvoiceSynced": "Factuur gesynchroniseerd naar {provider}",
  "api.accounting.logInvoicesSynced": "{count} facturen gesynchroniseerd",
  "api.accounting.logSyncPartial": "{synced} gesynchroniseerd, {failed} mislukt",
  "api.accounting.logCustomerSynced": "Klant gesynchroniseerd naar {provider}",
  "api.accounting.logCustomersSynced": "{synced} klanten gesynchroniseerd",
  "api.accounting.logInvoicesMarkedPaid": "{count} factuur/facturen als betaald gemarkeerd",
  "api.accounting.logNoNewPayments": "Geen nieuwe betalingen gevonden",
  "api.accounting.contactUpdateFailed": "Update mislukt: {error}",
  "dashboard.syncConnectCalendarFirst": "Verbind eerst een kalender in Instellingen",
  "dashboard.syncPartiallyFailed": "Sync gedeeltelijk mislukt",
  "dashboard.syncCompleted": "Sync voltooid",
  "dashboard.syncUpToDate": "Kalenders zijn up-to-date ✓",
  "dashboard.syncNetworkError": "Sync mislukt: netwerkfout",
  "dashboard.travelTimesCalculated": "Reistijden berekend voor {count} afspraken",
  "dashboard.travelTimeCalcFailed": "Reistijd berekening mislukt",
  "dashboard.selectDate": "Selecteer een datum",
  "dashboard.endDateBeforeStart": "Einddatum kan niet voor startdatum liggen",
  "dashboard.blockedDaysFailed": "{count} dag(en) konden niet geblokkeerd worden",
  "dashboard.cannotIdentifyAppointment": "Kan afspraak niet identificeren",
  "dashboard.rescheduledTo": "{name} verplaatst naar {time}",
  "dashboard.rescheduleFailed": "Verplaatsen mislukt",
  "dashboard.somethingWentWrong": "Er ging iets mis",
  "dashboard.searchingAlternatives": "Alternatieve tijden zoeken...",
  "dashboard.noAlternativesFound": "Geen alternatieve tijden gevonden voor vandaag",
  "dashboard.couldNotLoadAlternatives": "Kon alternatieve tijden niet laden",
  "dashboard.noAppointmentsToMove": "Geen afspraken om te verplaatsen",
  "dashboard.appointmentsMarkedForMove": "{count} afspraken gemarkeerd voor verplaatsing. Gebruik de agenda om de exacte tijden te kiezen.",
  "dashboard.confirmReschedule": "Wil je \"{name}\" verplaatsen?\n\nVan: {from}\nNaar: {to}\n\nDit geeft je meer tijd om daar te komen.",
  "dashboard.confirmMoveOptimization": "Wil je {count} afspraak(en) verplaatsen van {from} naar {to}?",
  "dashboard.notLoggedIn": "Niet ingelogd",
  "smartReason": {
    "sameLocation": "Zelfde locatie - geen reistijd",
    "afterNearby": "Direct na afspraak in buurt",
    "afterPrevious": "Na vorige afspraak",
    "remoteAvailable": "Beschikbaar voor remote afspraak",
    "adjacentWorkshop": "Aansluitend werkplaats",
    "beforeNearby": "Direct voor afspraak in buurt",
    "beforeNext": "Voor volgende afspraak",
    "beforeWorkshop": "Voor werkplaats-afspraak",
    "availableSlot": "Beschikbaar tijdslot",
    "workshopAvailable": "Beschikbaar in werkplaats",
    "fartherAway": "(verder weg)",
    "regionDay": "(regio-dag)",
    "noMembers": "Geen teamleden beschikbaar",
    "noSlots": "Geen beschikbare tijdslots"
  },
  "customerDetail": {
    "customerDataUnavailable": "Klantdata niet beschikbaar",
    "customerCreated": "Klant aangemaakt",
    "couldNotSaveCustomer": "Kon klant niet opslaan",
    "confirmDeleteCustomer": "Weet je zeker dat je deze klant wilt verwijderen? Dit kan niet ongedaan worden gemaakt.",
    "customerDeleted": "Klant verwijderd",
    "couldNotDeleteCustomer": "Kon klant niet verwijderen",
    "pianoNotFound": "Piano niet gevonden",
    "confirmDeletePiano": "Weet je zeker dat je ",
    "pianoDeleted": "Piano verwijderd",
    "couldNotDeletePiano": "Kon piano niet verwijderen",
    "linkCopied": "Link gekopieerd!",
    "emailStatusFailed": "Mislukt",
    "emailStatusSent": "Verzonden",
    "emailTypeConfirmation": "Bevestiging",
    "emailTypeReminder": "Herinnering",
    "emailTypeCancellation": "Annulering",
    "emailTypeBooking": "Boeking",
    "emailTypeInvitation": "Stemuitnodiging",
    "emailTypeWelcome": "Welkomstmail",
    "emailTypeReschedule": "Verplaatsing",
    "noSubject": "(geen onderwerp)",
    "emailLoadError": "Fout bij laden e-mail log",
    "projectStatusPlanning": "Planning",
    "projectStatusActive": "Actief",
    "projectStatusPaused": "Gepauzeerd",
    "projectStatusCompleted": "Afgerond",
    "projectStatusCancelled": "Geannuleerd"
  },
  "dashboard.today": "Vandaag",
  "dashboard.yesterday": "Gisteren",
  "dashboard.payStatusInvoiced": "Factuur verstuurd",
  "time.allDay": "Hele dag",
  "importHub": {
    "pageTitle": "Gegevens importeren - PianoPlanner",
    "title": "Gegevens importeren",
    "description": "Breng je bestaande data over naar PianoPlanner. Kies de methode die past bij je huidige systeem.",
    "popular": "Populair",
    "comingSoon": "Binnenkort",
    "gazelleTitle": "Gazelle Import Wizard",
    "gazelleDesc": "Migreer je volledige Gazelle-historie — klanten, piano's, afspraken en diensten — in enkele minuten.",
    "contactsTitle": "Contacten importeren",
    "contactsDesc": "Importeer je klantenlijst vanuit je telefoon, e-mail of een vCard/CSV-bestand.",
    "calendarTitle": "Agenda importeren",
    "calendarDesc": "Synchroniseer je agenda vanuit Google Calendar, Microsoft 365, of importeer .ics-bestanden.",
    "genericTitle": "Generieke CSV Import",
    "genericDesc": "Koppel kolommen uit elke spreadsheet of software-export aan PianoPlanner-velden. Jobber, Housecall Pro, Excel en meer.",
    "formatCustomers": "Klanten",
    "formatPianos": "Piano's",
    "formatAppointments": "Afspraken",
    "formatServices": "Diensten",
    "openImporter": "Open importeur",
    "downloadTemplate": "📥 Voorbeeldbestand downloaden",
    "templatesTitle": "CSV-sjablonen",
    "templatesDesc": "Download een sjabloon, vul het in je spreadsheet in en upload het via de bijbehorende importer.",
    "templatesOther": "Kom je uit een ander systeem? Exporteer naar CSV en pas de kolomnamen aan volgens onze sjablonen.",
    "templateCustomers": "Klanten",
    "templatePianos": "Piano's",
    "templateAppointments": "Afspraken",
    "timezoneHint": "Afspraaktijden zonder tijdzone (bijv. <code>2026-05-15 10:00</code>) worden geïnterpreteerd in jouw account-tijdzone. Gebruik ISO-formaat met offset (<code>2026-05-15T10:00:00+02:00</code>) om te overschrijven."
  },
  "leads": {
    "pageTitle": "Leads - PianoPlanner",
    "title": "Booking Leads",
    "all": "Alle",
    "new": "Nieuw",
    "contacted": "Gecontacteerd",
    "converted": "Omgezet",
    "dismissed": "Afgewezen",
    "searchPlaceholder": "Zoek naam, e-mail, telefoon...",
    "noLeads": "Geen leads gevonden",
    "noLeadsDesc": "Leads verschijnen hier wanneer klanten een boeking starten maar niet afronden.",
    "total": "Totaal",
    "changeStatus": "Status wijzigen",
    "statusUpdated": "Status bijgewerkt",
    "updateError": "Kon lead niet bijwerken",
    "delete": "Verwijderen",
    "deleteConfirmTitle": "Lead verwijderen?",
    "deleteConfirmMsg": "Dit verwijdert permanent de lead voor",
    "deleted": "Lead verwijderd",
    "deleteError": "Kon lead niet verwijderen",
    "loadError": "Kon leads niet laden",
    "justNow": "zojuist",
    "sendFollowUp": "Opvolgmail versturen",
    "followUpSent": "Opvolgmail verstuurd",
    "followUpError": "Kon opvolgmail niet versturen"
  },
  "smartWizard.before": "Vóór",
  "smartWizard.aiAssigned": "AI toegewezen"
}
