{
  "healthConsent": {
    "title": "Toestemming voor je gezondheidsgegevens",
    "body": "Je herstel (slaap, energie, stemming) en lichaamsmetingen zoals gewicht gelden als gezondheidsgegevens. Die verwerken we alleen met jouw toestemming, zodat we je belasting, herstel en ontwikkeling kunnen volgen.",
    "point1": "Bijzondere persoonsgegevens (art. 9 AVG). Alleen voor jou en de coaches met wie je zelf deelt.",
    "point2": "Je vult ze vrijwillig in. Stoppen kan op elk moment.",
    "point3": "Je kunt je gegevens altijd verwijderen.",
    "accept": "Ik geef toestemming",
    "once": "Je bevestigt dit één keer. Het geldt voor al je gezondheidsgegevens in JudoLytics.",
    "readMore": "Lees onze privacyverklaring"
  },
  "save": "Opslaan",
  "cancel": "Annuleren",
  "delete": "Verwijderen",
  "edit": "Bewerken",
  "back": "Terug",
  "editedAgo": "Bewerkt {{time}}",
  "lastUpdatedAgo": "Laatst bijgewerkt {{time}}",
  "more": "Meer",
  "settings": "Instellingen",
  "signOut": "Uitloggen",
  "copy": {
    "button": "Kopiëren",
    "copied": "Gekopieerd",
    "success": "Gekopieerd naar klembord",
    "failed": "Kopiëren mislukt"
  },
  "actions": {
    "save": "Opslaan",
    "cancel": "Annuleren",
    "delete": "Verwijderen",
    "edit": "Bewerken",
    "add": "Toevoegen",
    "close": "Sluiten",
    "confirm": "Bevestigen",
    "back": "Terug",
    "next": "Volgende",
    "search": "Zoeken",
    "filter": "Filteren",
    "export": "Exporteren",
    "import": "Importeren",
    "retry": "Opnieuw proberen",
    "changeLanguage": "Taal wijzigen",
    "exportCsv": "CSV exporteren",
    "menu": "Acties",
    "clearSearch": "Zoekopdracht wissen",
    "undo": "Ongedaan maken"
  },
  "errors": {
    "generic": "Er is iets misgegaan",
    "unauthorized": "Geen toegang"
  },
  "error": {
    "title": "Er ging iets mis",
    "profileLoad": "Je profiel kon niet geladen worden. Probeer het opnieuw.",
    "retry": "Opnieuw proberen"
  },
  "roles": {
    "coach": "Coach",
    "judoka": "Judoka",
    "beheerder": "Beheerder"
  },
  "status": {
    "loading": "Laden...",
    "saving": "Opslaan...",
    "deleting": "Verwijderen...",
    "noResults": "Geen resultaten gevonden",
    "error": "Er is iets misgegaan",
    "success": "Succesvol opgeslagen",
    "unexpectedError": "Er is een onverwachte fout opgetreden",
    "errorRetry": "Er is een fout opgetreden. Probeer het opnieuw.",
    "noConnection": "Geen internetverbinding. Probeer het opnieuw zodra je weer online bent."
  },
  "nav": {
    "dashboard": "Dashboard",
    "home": "Home",
    "new": "Nieuw",
    "newAnalysis": "Wedstrijd toevoegen",
    "myMatches": "Mijn wedstrijden",
    "matches": "Wedstrijden",
    "import": "Importeren",
    "opponents": "Tegenstanders",
    "tournaments": "Toernooien",
    "stats": "Statistieken",
    "training": "Trainingen",
    "loadMonitor": "Belasting",
    "tracking": "Metingen",
    "developmentPlan": "Ontwikkelingsplan",
    "myClubs": "Clubs",
    "referral": "Verdien een gratis maand",
    "settings": "Instellingen",
    "settingsProfile": "Profiel",
    "settingsSecurity": "Beveiliging",
    "settingsBilling": "Abonnement",
    "settingsNotifications": "Meldingen",
    "settingsApp": "App-voorkeuren",
    "settingsModules": "Modules",
    "settingsPrivacy": "Privacy & delen",
    "settingsData": "Mijn data",
    "dataIntegrity": "Datacontrole",
    "adminCockpit": "Admin Cockpit",
    "usersAndSubs": "Gebruikers & Abo's",
    "tournamentsAdmin": "Toernooibeheer",
    "manageClubs": "Clubs beheren",
    "feedback": "Feedback",
    "analytics": "Platform analytics",
    "emailAdmin": "E-mailbeheer",
    "stripeInsights": "Stripe-inzichten",
    "helpOffline": "Hulp — Offline modus",
    "helpMfa": "Hulp — Tweestapsverificatie",
    "systemHealth": "Systeemstatus",
    "badges": "Badges",
    "pushNotifications": "Pushmeldingen",
    "adminOnboarding": "Onboarding beheer",
    "freePlan": "Gratis",
    "tierRequired": "{{tier}} nodig voor {{feature}}",
    "personal": "Persoonlijk",
    "personalDesc": "Je persoonlijke dashboard",
    "clubOverview": "Overzicht",
    "clubMembers": "Leden",
    "clubGroups": "Groepen",
    "clubStats": "Statistieken",
    "clubPrivacy": "Privacy",
    "coachCockpit": "Cockpit",
    "coachTeamSessions": "Trainingsoverzicht",
    "coachPlanner": "Weekplanner",
    "coachLoad": "Belasting",
    "coachTracking": "Metingen",
    "coachDevelopment": "Ontwikkeling",
    "clubSettings": "Instellingen",
    "clubSubscription": "Abonnement",
    "sections": {
      "matches": "Wedstrijden",
      "training": "Training",
      "development": "Ontwikkeling",
      "insights": "Inzichten",
      "more": "Meer",
      "admin": "Beheer",
      "coach": "Coach",
      "personal": "Persoonlijk",
      "general": "Algemeen",
      "clubCore": "Algemeen",
      "clubs": "Mijn clubs",
      "account": "Account"
    },
    "searchPlaceholder": "Zoeken in menu...",
    "searchEmpty": "Geen pagina's gevonden",
    "searchClear": "Zoekopdracht wissen",
    "tabs": {
      "personal": "Persoonlijk",
      "clubs": "Clubs",
      "admin": "Beheer"
    },
    "menu": {
      "title": "Menu",
      "a11yDescription": "Navigatie naar pagina's, clubs en instellingen",
      "settings": "Instellingen",
      "notifications": "Meldingen",
      "logout": "Uitloggen",
      "search": "Zoek wedstrijden, tegenstanders, meer…",
      "sections": {
        "today": "Vandaag"
      },
      "smartTile": {
        "recovery": "Recovery",
        "trainingNow": "Training · {{time}}",
        "matchTomorrow": "Wedstrijd morgen",
        "matchTomorrowSub": "{{name}}",
        "popDue": "POP-review",
        "reflection": "Reflectie"
      },
      "clubsub": {
        "core": "Algemeen",
        "coach": "Coach",
        "admin": "Beheer"
      }
    },
    "adminOpponents": "Tegenstanders (admin)",
    "autoOptimization": "Auto-optimalisatie"
  },
  "validation": {
    "required": "Dit veld is verplicht",
    "invalidEmail": "Ongeldig e-mailadres",
    "tooShort": "Moet minimaal {{min}} tekens zijn",
    "tooLong": "Mag maximaal {{max}} tekens zijn"
  },
  "confirm": {
    "deleteTitle": "Weet je het zeker?",
    "deleteMessage": "Deze actie kan niet ongedaan worden gemaakt.",
    "deleteConfirm": "Ja, verwijderen",
    "deleteCancel": "Annuleren"
  },
  "select": {
    "placeholder": "Selecteer...",
    "searchPlaceholder": "Zoeken...",
    "selectAll": "Selecteer alles",
    "selected": "{{count}} geselecteerd",
    "country": "Selecteer land...",
    "searchCountry": "Zoek land...",
    "noCountryFound": "Geen land gevonden.",
    "opponent": "Selecteer tegenstander...",
    "searchOpponent": "Zoek tegenstander...",
    "noOpponentFound": "Geen tegenstander gevonden",
    "addNew": "Nieuwe toevoegen",
    "addNewOpponent": "Nieuwe tegenstander toevoegen",
    "weightCategory": "Selecteer gewichtsklasse",
    "countryAIN": "Individueel neutraal (AIN)",
    "countryEOR": "Vluchtelingenteam (EOR)"
  },
  "gender": {
    "male": "Man",
    "female": "Vrouw",
    "prefer_not_to_say": "Zeg ik liever niet"
  },
  "weightClass": {
    "label": "Gewichtsklasse",
    "nonStandard": "Afwijkende klasse",
    "otherCategories": "Andere categorieën",
    "otherGender": "Ander geslacht",
    "kg": "{{weight}} kg"
  },
  "command": {
    "searchPlaceholder": "Zoek pagina's, wedstrijden, tegenstanders...",
    "navigation": "Navigatie",
    "actions": "Acties",
    "addNewMatch": "Nieuwe wedstrijd toevoegen",
    "signOut": "Uitloggen",
    "admin": "Beheer",
    "adminCockpit": "Admin Cockpit",
    "adminUsers": "Gebruikers & Abonnementen",
    "adminTournaments": "Toernooibeheer",
    "adminFeedback": "Feedback",
    "adminClubs": "Clubbeheer",
    "adminAnalytics": "Analytics",
    "adminEmail": "E-mailbeheer",
    "adminSystemHealth": "Systeemstatus",
    "adminBadges": "Badgebeheer",
    "searching": "Zoeken...",
    "groups": {
      "matches": "Wedstrijden",
      "opponents": "Tegenstanders",
      "trainings": "Trainingen",
      "goals": "Doelen",
      "members": "Clubleden",
      "recent": "Recent"
    },
    "search": {
      "vs": "vs."
    },
    "removeRecentSearch": "Recente zoekopdracht verwijderen"
  },
  "withdrawalWaiver": {
    "title": "Directe toegang tot JudoLytics",
    "description": "Je vraagt om directe levering van een digitale dienst. Daarvoor hebben we je uitdrukkelijke instemming nodig.",
    "checkboxLabel": "Ik ga uitdrukkelijk akkoord met directe levering en bevestig dat ik daarmee afstand doe van mijn wettelijke herroepingsrecht van 14 dagen (art. 6:230p lid 1 sub e BW). Opzeggen kan daarna op elk moment tegen het einde van de lopende periode.",
    "termsLink": "Lees meer over het herroepingsrecht in onze Algemene Voorwaarden",
    "confirm": "Doorgaan naar betalen"
  },
  "paywall": {
    "availableFrom": "Beschikbaar vanaf {{tier}}",
    "upgrade": "Upgraden",
    "upgradeTo": "Upgrade naar {{tier}}",
    "availableIn": "Onderdeel van {{tier}}.",
    "from": "vanaf",
    "perMonth": "/maand",
    "changeTo": "Wijzig naar {{tier}}",
    "subscribeTo": "Abonneer op {{tier}}",
    "loading": "Laden...",
    "viewAllPlans": "Bekijk alle abonnementen",
    "monthly": "Maandelijks",
    "yearly": "Jaarlijks",
    "discount": "Korting",
    "mostChosen": "Meest gekozen",
    "yourPlan": "Jouw plan",
    "perYear": "/jaar gefactureerd",
    "savePerYear": "Bespaar €{{amount}}/jaar",
    "yearlyBadge": "2+ mnd gratis",
    "tryFree": "Probeer {{plan}} gratis",
    "currentPlan": "Huidig plan",
    "payAfterTrial": "Je betaalt pas na je proefperiode",
    "lessFeatures": "Minder functies",
    "moreFeatures": "+ {{count}} meer functies",
    "subscriptionExpired": "Je abonnement is verlopen. Vernieuw je abonnement om wijzigingen door te voeren.",
    "allOfPlanPlus": "Alles van {{plan}}, plus:",
    "bestValue": "Beste waarde",
    "compareAll": "Vergelijk alle functies",
    "hideComparison": "Vergelijking verbergen",
    "includedFeatures": "Inbegrepen functies",
    "states": {
      "neverTrialedDescription": "{{days}} dagen volledige toegang. Geen creditcard nodig.",
      "postTrialDescription": "Je data blijft bewaard. Kies een abonnement om door te gaan.",
      "paidLowerDescription": "Deze functie hoort bij {{tier}}. Upgrade wanneer je er klaar voor bent."
    },
    "cta": {
      "viewPlans": "Bekijk abonnementen",
      "comparePlans": "Vergelijk abonnementen",
      "managePlan": "Beheer abonnement"
    },
    "featurePreview": {
      "intro": "Wat je krijgt in je proefperiode:"
    },
    "dataSummary": {
      "matches_one": "wedstrijd",
      "matches_other": "wedstrijden",
      "opponents_one": "tegenstander",
      "opponents_other": "tegenstanders",
      "trainings_one": "training",
      "trainings_other": "trainingen",
      "retention": "Alles blijft bewaard. Upgrade om er weer mee te werken."
    }
  },
  "plans": {
    "basis": {
      "description": "Log je wedstrijden, volg je voortgang en leer je tegenstanders kennen"
    },
    "pro": {
      "description": "Ontdek patronen in je judo, voorkom overtraining en groei gericht als judoka"
    },
    "max": {
      "description": "Volledige controle: coach-dashboards, tactische plannen en binnenkort AI-inzichten"
    }
  },
  "tierNames": {
    "free": "Gratis",
    "basis": "Starter",
    "pro": "Pro",
    "max": "Elite"
  },
  "featureGroups": {
    "basic": "Basis",
    "analysis": "Analyse & Reflectie",
    "clubSocial": "Club & Social",
    "advanced": "Geavanceerd",
    "limits": "Limieten",
    "matches": "Wedstrijden & Tegenstanders",
    "stats": "Statistieken & Analyse",
    "training": "Training & Belasting",
    "development": "Ontwikkeling & Reflectie",
    "tracking": "Metingen & Club"
  },
  "featureNames": {
    "matches_add": "Leg elke wedstrijd vast",
    "matches_view": "Bekijk je resultaten en progressie",
    "stats_basic": "Zie je win/verlies-ratio",
    "opponents_simple": "Ken je tegenstanders",
    "reflections": "Bouw je persoonlijk leerboek",
    "data_integrity": "Houd je data op orde",
    "club_membership": "Train samen met je club",
    "match_plans": "Plan + leerpunten per tegenstander",
    "grip_tracking": "Verbeter je kumi kata",
    "tracking_basic": "Volg je lichaamsmetingen",
    "tracking_full": "Zie trends in je metingen",
    "pop_basic": "Stel je ontwikkelingsdoelen",
    "pop_full": "Koppel doelen aan resultaten",
    "pop_coach": "Begeleid je judoka's gericht",
    "training_basic": "Log je trainingen",
    "training_load": "Voorkom overtraining",
    "training_coach": "Monitor al je judoka's",
    "stats_advanced": "Ontdek patronen in je judo",
    "stats_explorer": "Analyseer al je data op jouw manier",
    "coach_cockpit": "Teamoverzicht-dashboard"
  },
  "featureDescriptions": {
    "matches_add": "Leg elke wedstrijd vast met worp, score en tegenstander",
    "matches_view": "Bekijk je resultaten, winstpercentages en progressie per toernooi",
    "stats_basic": "Overzicht van je winst/verlies-ratio per toernooi en periode",
    "stats_advanced": "Ontdek patronen in je worpen, ne-waza en shido's over tijd",
    "stats_explorer": "Filter, combineer en analyseer al je wedstrijddata precies zoals jij wilt",
    "opponents_simple": "Noteer sterktes, zwaktes en stijl van je tegenstanders",
    "reflections": "Schrijf leerpunten na elke wedstrijd en bouw een persoonlijk leerboek op",
    "data_integrity": "Automatisch meldingen bij ontbrekende of tegenstrijdige wedstrijdgegevens",
    "club_membership": "Word lid van een judoclub en deel data met je team",
    "match_plans": "Schrijf je aanpak vóór de partij. Leg achteraf je leerpunten vast. Deelbaar met je club of coaches.",
    "grip_tracking": "Registreer en analyseer je kumi kata per wedstrijd",
    "tracking_basic": "Houd je gewicht, lengte en andere metingen bij",
    "tracking_full": "Volg trends in je metingen met grafieken en vergelijkingen",
    "pop_basic": "Stel ontwikkelingsdoelen en werk er stap voor stap naartoe",
    "pop_full": "Zie direct hoe je doelen zich verhouden tot je wedstrijdresultaten",
    "pop_coach": "Bekijk de voortgang en doelen van je judoka's op een centrale plek",
    "training_basic": "Log je trainingen met duur, intensiteit en type",
    "training_load": "Voorkom overtraining door belasting vs. herstel bij te houden",
    "training_coach": "Bekijk trainingsbelasting en voortgang van al je judoka's",
    "coach_cockpit": "Eén dashboard met KPI's, rode vlaggen en monitoring van al je judoka's"
  },
  "limitNames": {
    "max_clubs": "Clublidmaatschappen",
    "max_matches_per_month": "Max wedstrijden per maand",
    "max_matches_total": "Max wedstrijden totaal",
    "max_opponents": "Max tegenstanders",
    "max_training_logs_per_month": "Max trainingen per maand",
    "max_pop_goals": "Max POP-doelen"
  },
  "limitValues": {
    "unlimited": "Onbeperkt"
  },
  "comingSoon": {
    "badge": "Binnenkort",
    "statsExplorer": "Analyseer al je data op jouw manier",
    "statsExplorerDescription": "Filter, combineer en analyseer al je wedstrijddata precies zoals jij wilt",
    "customReports": "Bouw je eigen rapporten",
    "customReportsDescription": "Kies je data, periode en grafiektype, totale vrijheid om inzichten te ontdekken",
    "aiInsights": "AI-gedreven inzichten",
    "aiInsightsDescription": "Laat AI patronen ontdekken die je zelf misschien mist"
  },
  "limits": {
    "atLimitTitle": "Limiet bereikt",
    "atLimitDescription": "Je hebt het maximum van {{max}} voor {{limit}} bereikt ({{current}}/{{max}}). Upgrade je abonnement om meer toe te voegen.",
    "approachingTitle": "Bijna aan je limiet",
    "approachingDescription": "Je hebt {{current}} van {{max}} gebruikt voor {{limit}}. Je kunt nog {{remaining}} toevoegen."
  },
  "freeLimit": {
    "freeTitle": "Probeer JudoLytics met {{max}} gratis wedstrijden",
    "freeDescription": "Voer tot {{max}} wedstrijden in en ontdek wat JudoLytics voor je kan doen.",
    "matchProgress": "{{current}} van {{max}} gratis wedstrijden",
    "matchesRemaining": "Nog {{remaining}} gratis wedstrijden",
    "limitReached": "Je hebt al {{max}} gratis wedstrijden ingevoerd",
    "limitReachedDescription": "Start een proefperiode om onbeperkt wedstrijden in te voeren.",
    "addFirstMatch": "Voer je eerste wedstrijd in",
    "freeMatches": "{{max}} gratis wedstrijden · geen creditcard nodig",
    "continueMatches": "Of voer nog een gratis wedstrijd in ({{remaining}} over)"
  },
  "loading": "Laden...",
  "feedback": {
    "toast": {
      "notLoggedIn": "Niet ingelogd",
      "thankYou": "Bedankt voor je feedback!",
      "sendError": "Feedback verzenden mislukt",
      "submitted": "We bekijken je melding zo snel mogelijk.",
      "tryAgainLater": "Probeer het later opnieuw."
    },
    "giveFeedback": "Feedback geven",
    "types": {
      "bug": "Bug",
      "feature": "Idee",
      "other": "Overig"
    },
    "dialog": {
      "whatToReport": "Wat wil je melden?",
      "describeLabel": "Beschrijf je feedback",
      "placeholder": "Wees zo specifiek mogelijk. Wat verwachtte je? Wat gebeurde er?",
      "minChars": "Minimaal {{min}} tekens (nog {{remaining}})",
      "autoInfo": "We sturen automatisch je pagina, browser en account-info mee",
      "screenshotLabel": "Screenshot (optioneel)",
      "dropzoneText": "Sleep een afbeelding, plak (Ctrl+V) of klik om te uploaden",
      "sending": "Verzenden...",
      "submit": "Verstuur feedback",
      "helpImprove": "Help ons JudoLytics te verbeteren"
    }
  },
  "invitations": {
    "toast": {
      "sent": "Uitnodiging verstuurd",
      "sendError": "Uitnodiging mislukt",
      "joined": "Je bent nu lid van {{club}}!",
      "acceptError": "Kon uitnodiging niet accepteren",
      "revoked": "Uitnodiging ingetrokken",
      "revokeError": "Kon uitnodiging niet intrekken",
      "emailFailed": "E-mail niet verzonden",
      "emailFailedDescription": "De uitnodiging is aangemaakt maar de e-mail kon niet worden verzonden. Controleer de e-mailconfiguratie."
    },
    "status": {
      "pending": "In afwachting",
      "accepted": "Geaccepteerd",
      "expired": "Verlopen",
      "revoked": "Ingetrokken"
    },
    "invalidEmail": "Voer een geldig e-mailadres in",
    "emailPlaceholder": "naam@voorbeeld.nl",
    "send": "Verstuur",
    "sentInvitations": "Verzonden uitnodigingen",
    "revoke": "Intrekken",
    "showMore": "Toon nog {{count}}"
  },
  "layout": {
    "shortcutsTooltip": "Sneltoetsen (?)",
    "logout": "Uitloggen",
    "loggingOut": "Uitloggen...",
    "logoHome": "Naar dashboard",
    "searchTrigger": {
      "placeholder": "Zoek wedstrijden, tegenstanders, meer…",
      "ariaLabel": "Open zoekfunctie ({{shortcut}})"
    },
    "roleBadge": {
      "admin": "Admin",
      "support": "Support"
    },
    "planLabel": "{{tier}} plan",
    "menu": "Menu",
    "userMenu": {
      "trigger": "Account menu",
      "settings": "Instellingen",
      "language": "Taal",
      "help": "Help & uitleg",
      "feedback": "Feedback geven",
      "logout": "Uitloggen",
      "loggingOut": "Uitloggen..."
    },
    "sidebar": {
      "collapse": "Inklappen",
      "expand": "Uitklappen"
    },
    "shortcuts": {
      "label": "Sneltoetsen",
      "toggle": "Toon/verberg sneltoetsen",
      "newMatch": "Nieuwe wedstrijd",
      "goToDashboard": "Ga naar Dashboard",
      "goToMatches": "Ga naar Wedstrijden",
      "goToStats": "Ga naar Statistieken",
      "goToOpponents": "Ga naar Tegenstanders",
      "search": "Zoeken (indien beschikbaar)",
      "closeDialog": "Sluit dialoog",
      "pressToOpen": "Druk op ? om dit venster te openen"
    }
  },
  "quickCreate": {
    "trigger": "Snel toevoegen",
    "title": "Wat wil je toevoegen?",
    "description": "Kies wat je wilt registreren.",
    "match": "Wedstrijd",
    "matchDescription": "Nieuwe wedstrijd analyseren",
    "training": "Training",
    "trainingDescription": "Trainingssessie loggen",
    "measurement": "Meting",
    "measurementDescription": "Lichaamsmeting of test",
    "recovery": "Recovery",
    "recoveryDescription": "Herstel-check invullen",
    "coachSection": "Voor je groep",
    "personalSection": "Voor jezelf"
  },
  "notifications": {
    "toast": {
      "paymentFailed": "Betaling mislukt",
      "subscriptionCanceling": "Abonnement wordt opgezegd",
      "clubInvite": "Je bent uitgenodigd als {{role}} voor club {{name}}.",
      "freeAccount": "Gratis account"
    },
    "trialEnding": "Proefperiode eindigt over {{count}} dag",
    "trialEnding_other": "Proefperiode eindigt over {{count}} dagen",
    "trialEndingDescription": "Na je proefperiode wordt je eerste betaling verwerkt.",
    "trialExpired": "Je proefperiode is verlopen",
    "trialExpiredDescription": "Kies een abonnement om premium functies te behouden.",
    "pastDueDescription": "Werk je betaalgegevens bij om toegang te behouden.",
    "cancelPendingDescription": "Je abonnement stopt op {{date}}.",
    "planChangeScheduled": "Planwijziging gepland",
    "planChangeDescription": "Je plan wordt gewijzigd naar {{plan}} op {{date}}.",
    "clubInviteTitle": "Uitnodiging voor {{name}}",
    "freeAccountDescription": "Upgrade naar een betaald abonnement voor alle functies.",
    "title": "Meldingen",
    "typeWarning": "Waarschuwing",
    "typeAction": "Actie",
    "typeInfo": "Info",
    "actionsRequired": "{{count}} actie vereist",
    "actionsRequired_other": "{{count}} acties vereist",
    "noActions": "Geen openstaande acties",
    "empty": "Geen meldingen",
    "emptyTitle": "Je bent helemaal bij",
    "emptyDescription": "Er zijn geen nieuwe meldingen. We laten het je weten als er iets is.",
    "manageSettings": "Meldingsinstellingen",
    "markAllRead": "Alles gelezen",
    "dismiss": "Verwijderen",
    "timeJustNow": "Zojuist",
    "timeMinutes": "{{count}} min geleden",
    "timeHours": "{{count}} uur geleden",
    "timeDays": "{{count}} dag geleden",
    "timeDays_other": "{{count}} dagen geleden",
    "groupToday": "Vandaag",
    "groupYesterday": "Gisteren",
    "groupEarlier": "Eerder",
    "orphanedPushHint": "Pushmeldingen staan aan, maar geen apparaat is verbonden. Opnieuw inschakelen"
  },
  "referral": {
    "extendedTrial": "Je krijgt {{days}} dagen gratis proefperiode (normaal 7 dagen)",
    "welcomeBanner": "{{name}} heeft je uitgenodigd voor JudoLytics!"
  },
  "trial": {
    "startButton": "Start gratis proefperiode ({{days}} dagen)",
    "startTitle": "Probeer JudoLytics Pro gratis",
    "startDescription": "{{days}} dagen gratis toegang tot alle Pro-functies. Geen creditcard nodig.",
    "skipButton": "Later beslissen",
    "noCreditCard": "Geen creditcard nodig",
    "startedTitle": "Proefperiode gestart!",
    "startedDescription": "Je hebt {{days}} dagen Pro-toegang.",
    "errorNotLoggedIn": "Log in om een proefperiode te starten.",
    "features": {
      "matches": "Wedstrijden analyseren",
      "opponents": "Tegenstanders bijhouden",
      "stats": "Statistieken & inzichten",
      "training": "Training bijhouden"
    },
    "freeTitle": "Probeer alle functies",
    "freeDescription": "Start een gratis proefperiode en ontdek wat JudoLytics voor je kan doen.",
    "postTrialTitle": "Je proefperiode is voorbij",
    "postTrialDescription": "Je data blijft bewaard. Kies een abonnement om door te gaan.",
    "upgradeButton": "Bekijk abonnementen",
    "bannerDays": "Je proefperiode loopt nog {{count}} dag",
    "bannerDays_other": "Je proefperiode loopt nog {{count}} dagen",
    "bannerUrgent": "Je proefperiode verloopt over {{hours}} uur!",
    "subscribeNow": "Nu abonneren",
    "bannerPayAfter": "Abonneer nu, betaal pas na je proefperiode",
    "waitlistBonusTitle": "Wachtlijstbonus",
    "waitlistBonusDescription": "Je hebt extra proefdagen ontvangen omdat je je via de wachtlijst hebt aangemeld!",
    "notNowExplore": "Nu niet, ik kijk eerst rond"
  },
  "subscriptionStatus": {
    "noSubscription": "Geen abonnement"
  },
  "not_found": {
    "message": "Oeps! Pagina niet gevonden",
    "return_home": "Terug naar home"
  },
  "errorPages": {
    "notFound": {
      "title": "Pagina niet gevonden",
      "code": "404",
      "subtitle": "De pagina die je zoekt bestaat niet of is verplaatst.",
      "subtitleDashboard": "Deze pagina bestaat niet. Controleer de URL of ga terug.",
      "goHome": "Ga naar home",
      "goDashboard": "Ga naar dashboard",
      "goBack": "Ga terug",
      "viewMatches": "Bekijk wedstrijden",
      "viewOpponents": "Bekijk tegenstanders"
    },
    "serverError": {
      "title": "Er is iets misgegaan",
      "code": "500",
      "subtitle": "Er is een onverwachte fout opgetreden. Probeer het later opnieuw.",
      "reportProblem": "Meld een probleem",
      "retry": "Opnieuw proberen",
      "reloadPage": "Pagina herladen"
    },
    "accessDenied": {
      "title": "Geen toegang",
      "code": "403",
      "subtitle": "Je hebt geen toegang tot deze pagina.",
      "requiredRole": "Deze pagina is alleen beschikbaar voor {{role}}.",
      "contactAdmin": "Neem contact op met je clubbeheerder",
      "upgradePlan": "Upgrade je abonnement",
      "goBack": "Ga terug",
      "goDashboard": "Ga naar dashboard"
    },
    "roleTimeout": {
      "title": "Verbinding traag",
      "subtitle": "Je rol kon niet worden geverifieerd door een trage of ontbrekende verbinding. Probeer het opnieuw.",
      "retry": "Opnieuw proberen"
    },
    "maintenance": {
      "title": "We zijn bezig met een update",
      "subtitle": "JudoLytics is tijdelijk niet beschikbaar vanwege gepland onderhoud. We zijn zo snel mogelijk weer online.",
      "estimatedReturn": "Verwacht weer online: {{time}}",
      "statusPage": "Bekijk statuspagina",
      "contactUs": "Neem contact op"
    }
  },
  "externalLinks": {
    "viewMatchOnJudoTV": "Bekijk deze wedstrijd op JudoTV",
    "viewVideosOnJudoTV": "Bekijk video's op JudoTV",
    "viewMatchDataOnJudobase": "Bekijk wedstrijddata op Judobase",
    "viewCompetitionOnIJF": "Bekijk competitie op IJF.org",
    "opponentLabel": "Tegenstander",
    "viewOpponentOnIJF": "Bekijk tegenstander op IJF.org",
    "viewCompetitionOnJM": "Bekijk competitie op JudoManager",
    "viewProfileOnJudobase": "Bekijk profiel op Judobase",
    "ijfProfileLabel": "IJF profiel",
    "viewProfileOnIJF": "Bekijk profiel op IJF.org",
    "viewProfileOnJM": "Bekijk profiel op JudoManager",
    "viewAltProfileOnJM": "Bekijk alternatief JudoManager profiel"
  },
  "offlineBanner": {
    "title": {
      "offline": "Je bent offline",
      "slow": "Trage verbinding"
    },
    "lastSynced": "Laatst gesynchroniseerd {{relativeTime}}",
    "noCache": "Geen lokale gegevens. Verbind met internet om te laden.",
    "helpLink": "Wat betekent dit?",
    "dataAge": {
      "updatedAt": "Data voor het laatst bijgewerkt om {{time}}"
    }
  },
  "offline": {
    "prepare": {
      "button": "Klaar voor offline",
      "preparing": "Bezig met voorbereiden...",
      "done": "Klaar — {{n}} items lokaal opgeslagen",
      "partial": "Klaar — {{n}} van {{total}} gelukt",
      "skippedSlowConnection": "Overgeslagen — verbinding te traag voor prefetch",
      "error": "Voorbereiding mislukt. Probeer het opnieuw met een betere verbinding."
    },
    "storage": {
      "nearlyFull": "Lokale opslag bijna vol ({{usageMB}} / {{quotaMB}} MB). Oudere cache wordt opgeruimd."
    },
    "queued": {
      "message": "Wordt verzonden zodra je weer verbinding hebt"
    },
    "permanentFail": {
      "description": "Wijziging kon niet worden opgeslagen: {{reason}}",
      "discard": "Verwijderen"
    },
    "pending": {
      "badge": "{{count}} wachten op verbinding",
      "badgeOne": "1 wijziging wacht op verbinding",
      "title": "Niet-verzonden wijzigingen",
      "empty": "Alle wijzigingen zijn gesynchroniseerd",
      "retry": "Probeer opnieuw",
      "retrying": "Bezig met opnieuw verzenden…",
      "remove": "Verwijderen uit wachtrij",
      "statusPending": "Wacht op verbinding",
      "statusSyncing": "Bezig met verzenden",
      "statusFailed": "Mislukt",
      "statusConflict": "Conflict"
    },
    "reloginRequired": {
      "title": "Sessie verlopen",
      "description": "Je hebt {{count}} niet-verzonden wijzigingen. Log opnieuw in om ze te bewaren.",
      "descriptionOne": "Je hebt 1 niet-verzonden wijziging. Log opnieuw in om hem te bewaren.",
      "loginButton": "Opnieuw inloggen",
      "later": "Later"
    },
    "label": {
      "recoveryUpsert": "Herstel-check {{date}}",
      "measurementInsert": "Meting {{metric}}",
      "measurementDelete": "Meting verwijderen",
      "opponentNoteInsert": "Notitie bij tegenstander",
      "opponentNoteUpdate": "Notitie bijwerken",
      "opponentInsert": "Tegenstander {{name}}",
      "tournamentInsert": "Toernooi {{name}}",
      "matchInsert": "Wedstrijd opslaan",
      "matchUpdate": "Wedstrijd bijwerken",
      "matchDelete": "Wedstrijd verwijderen",
      "matchFields": "Wedstrijdvelden bijwerken",
      "matchPlanInsert": "Wedstrijdplan opslaan",
      "matchPlanUpdate": "Wedstrijdplan bijwerken",
      "matchPlanDelete": "Wedstrijdplan verwijderen",
      "matchReflectionUpsert": "Wedstrijdreflectie opslaan",
      "reflectionInsert": "Reflectie opslaan",
      "reflectionUpdate": "Reflectie bijwerken",
      "measurementSessionInsert": "Meet-sessie opslaan",
      "measurementSessionUpdate": "Meet-sessie bijwerken",
      "measurementSessionDelete": "Meet-sessie verwijderen",
      "trainingSessionInsert": "Training opslaan",
      "trainingSessionUpdate": "Training bijwerken",
      "trainingSessionDelete": "Training verwijderen",
      "trainingSeriesDelete": "Trainingsreeks verwijderen",
      "trainingSeriesTruncate": "Trainingsreeks inkorten",
      "popIndicatorUpdate": "POP-indicator bijwerken",
      "scoreInsert": "Score toevoegen",
      "scoreDelete": "Score verwijderen"
    },
    "swUpdate": {
      "title": "App-update beschikbaar",
      "description": "Je hebt {{count}} niet-gesynchroniseerde wijzigingen. Tik om bij te werken zodra ze gesynchroniseerd zijn.",
      "applyNow": "Nu bijwerken"
    },
    "help": {
      "title": "Offline werken in JudoLytics",
      "intro": "JudoLytics werkt ook zonder internet. Handig in dōjō's en toernooihallen waar wifi vaak slecht is. Hieronder leggen we uit hoe je herkent of je offline bent, wat er werkt en hoe je je gegevens beheert.",
      "statusIcons": {
        "heading": "Wat betekenen de status-icons?",
        "online": {
          "title": "Online — alles wordt direct opgeslagen",
          "body": "Geen banner zichtbaar. Wijzigingen gaan rechtstreeks naar de server."
        },
        "offline": {
          "title": "Offline — je wijzigingen wachten in een lokale wachtrij",
          "body": "Een gele banner verschijnt bovenin. Je kunt gewoon wedstrijden invoeren, trainingen loggen en metingen toevoegen. Alles wordt automatisch verzonden zodra de verbinding terugkomt."
        },
        "pending": {
          "title": "Niet-verzonden wijzigingen",
          "body": "Een badge in de header toont hoeveel wijzigingen wachten. Tik erop voor de lijst en de optie om handmatig te synchroniseren."
        },
        "stale": {
          "title": "Wijzigingen ouder dan 3-5 dagen",
          "body": "Een rode waarschuwing verschijnt als je langer offline bent dan iOS toelaat (3 dagen) of dan onze veiligheidsmarge (5 dagen). Synchroniseer zo snel mogelijk om dataverlies te voorkomen."
        }
      },
      "worksOffline": {
        "heading": "Wat werkt er offline?",
        "items": [
          "Wedstrijden invoeren via de match-wizard (alle 5 stappen)",
          "Trainingen loggen en bewerken",
          "Metingen toevoegen of verwijderen",
          "Recovery-check (herstel) invullen",
          "Tegenstanders aanmaken en notities toevoegen",
          "Wedstrijdplannen schrijven en bewerken",
          "POP-indicatoren bijwerken en reflecties opslaan",
          "Eerder gesynchroniseerde data bekijken (lijsten, statistieken, profiel)"
        ],
        "note": "Niet offline: betalingen, club-uitnodigingen, instellingen voor pushmeldingen en andere acties die direct met de server moeten communiceren."
      },
      "faq": {
        "heading": "Veelgestelde vragen",
        "q1": {
          "question": "Hoe weet ik of mijn training is opgeslagen?",
          "answer": "Een groene toast bevestigt dat de wijziging is gesynchroniseerd. Bij offline gebruik zie je in plaats daarvan een 'Wordt verzonden zodra je weer verbinding hebt'-toast en verschijnt de wijziging in de pending-badge in de header. Zodra de verbinding terugkomt, synchroniseert JudoLytics automatisch en verdwijnt de badge."
        },
        "q2": {
          "question": "Wat gebeurt er als ik mijn telefoon afsluit terwijl er nog wijzigingen wachten?",
          "answer": "Je wijzigingen blijven veilig opgeslagen in de lokale opslag van je apparaat. Als je JudoLytics opnieuw opent, hervat de app de synchronisatie zodra je internet hebt. Op iOS adviseren we de PWA niet langer dan 3 dagen offline te gebruiken. Safari kan dan zelf de opslag wissen."
        },
        "q3": {
          "question": "Wat als ik per ongeluk de PWA wegswipe tijdens een toernooi?",
          "answer": "Geen paniek. Je laatste match-wizard-concept wordt bewaard: als je de wizard opnieuw opent, sta je automatisch weer op de stap waar je was. Eerder ingevoerde wedstrijden die nog wachten op synchronisatie blijven ook behouden."
        },
        "q4": {
          "question": "Mijn coach ziet mijn wijzigingen niet. Wat nu?",
          "answer": "Check de pending-badge in je header. Als er een getal staat, wachten je wijzigingen nog op verbinding. Tik op het bliksem-icoon om handmatig te synchroniseren. Werkt dat niet, controleer dan of je echt online bent (banner verdwenen?) en log eventueel uit en weer in."
        },
        "q5": {
          "question": "Hoeveel ruimte gebruikt JudoLytics op mijn apparaat?",
          "answer": "De PWA cachet ongeveer 7-10 MB voor de app zelf, plus jouw eigen data. Op iOS is het maximum 50 MB voor PWA's. JudoLytics waarschuwt automatisch wanneer de opslag bijna vol is en ruimt oudere cache op."
        },
        "q6": {
          "question": "Een pagina blijft leeg of toont een laad-indicator terwijl ik offline ben. Hoe komt dat?",
          "answer": "Offline kunnen we alleen pagina's tonen die je eerder online geopend hebt. Bij een verse install of een pagina die je nog nooit zonder netwerk bezocht hebt, blijft hij leeg tot de verbinding terug is. Tip: open vóór een toernooi of training even alle pagina's die je verwacht nodig te hebben (wedstrijden, metingen, tegenstanders). Dan blijven ze beschikbaar in de hal."
        }
      },
      "clearData": {
        "heading": "Lokale gegevens wissen",
        "body": "Wil je je apparaat overdragen of een schone start maken? Wis dan je lokale offline-cache. Heb je nog niet-gesynchroniseerde wijzigingen, dan waarschuwen we je voordat ze verdwijnen.",
        "cta": "Open privacy-instellingen"
      }
    },
    "stale": {
      "title": "Niet-gesynchroniseerde wijzigingen",
      "description": "Je hebt {{count}} wijzigingen die {{oldestAgeDays}} dagen oud zijn. Verbind met internet om ze te bewaren, anders kunnen ze verloren gaan.",
      "syncNow": "Nu synchroniseren"
    },
    "clearData": {
      "trigger": "Wis lokaal opgeslagen gegevens",
      "title": "Lokale gegevens wissen?",
      "description": "Dit verwijdert offline cache en alle pagina's die zonder verbinding zichtbaar waren.",
      "warningPending": "Je hebt {{count}} niet-gesynchroniseerde wijzigingen die hierdoor verloren gaan. Synchroniseer eerst als je ze wilt bewaren.",
      "confirm": "Wissen",
      "cancel": "Annuleren",
      "success": "Lokale gegevens gewist",
      "error": "Lokale gegevens konden niet worden gewist. Probeer het opnieuw."
    },
    "fallback": {
      "title": "Geen lokale gegevens om te tonen",
      "titleForPage": "Nog geen {{page}} lokaal opgeslagen",
      "bodyOffline": "Deze pagina heb je nog niet eerder online geopend, dus er is niets om offline te tonen. Verbind met internet om de inhoud te laden. Zodra de pagina geladen is, blijft hij ook zonder netwerk beschikbaar.",
      "bodyOnline": "We zijn nog bezig je gegevens op te halen. Dit duurt soms iets langer op een trage verbinding.",
      "retry": "Opnieuw proberen",
      "learnMore": "Hoe werkt offline?"
    },
    "audit": {
      "loading": "Audit-log laden…",
      "heading": "Door anderen overschreven correcties",
      "intro": "Wanneer iemand offline een wijziging maakt op een rij die jij ondertussen online hebt aangepast, kan diegene via de conflict-resolver kiezen om jouw versie te overschrijven. Hieronder zie je om welke correcties het gaat.",
      "rowDescription": "Rij {{rowId}}",
      "partOfBatch": "(onderdeel van bulk-keuze)",
      "retentionNotice": "Audit-records worden 90 dagen bewaard en daarna automatisch verwijderd.",
      "tables": {
        "matches": "Wedstrijd",
        "match_plans": "Wedstrijdplan",
        "opponent_notes": "Tegenstander-notitie",
        "opponents": "Tegenstander",
        "measurements": "Meting",
        "measurement_sessions": "Meet-sessie",
        "training_sessions": "Training",
        "goal_check_ins": "Reflectie",
        "goal_indicators": "POP-indicator",
        "recovery_checkins": "Herstel-check"
      }
    },
    "lww": {
      "title": "Wijziging is teruggedraaid",
      "description": "Iemand had {{domain}} al online bijgewerkt. De online versie staat nu weer in beeld.",
      "undo": "Toch mijn versie houden",
      "undoApplied": "Jouw versie is teruggezet",
      "undoFailed": "Terugzetten lukte niet. Probeer het opnieuw.",
      "domain": {
        "recovery": "je herstel-check",
        "measurements": "deze meting",
        "measurementSessions": "deze meet-sessie",
        "opponentNotes": "deze tegenstander-notitie",
        "opponents": "deze tegenstander",
        "matches": "deze wedstrijd",
        "matchPlans": "dit wedstrijdplan",
        "reflections": "deze reflectie",
        "training": "deze training",
        "pop": "dit POP-onderdeel"
      }
    },
    "conflict": {
      "title": "Wijziging botst met een andere update",
      "description_one": "Er is {{count}} conflict te bekijken",
      "description_other": "Er zijn {{count}} conflicten te bekijken",
      "description": "Er zijn {{count}} conflicten te bekijken",
      "empty": "Alle conflicten opgelost",
      "queueProgress": "{{current}} van {{total}}",
      "resolve": "Bekijken",
      "serverHeading": "Online versie:",
      "localHeading": "Jouw versie:",
      "editedBy": "Aangepast door {{name}}, {{time}} geleden",
      "fields": {
        "local": "Mijn offline wijziging",
        "server": "Huidige online versie"
      },
      "fieldNotes": "notitie",
      "fieldReflection": "reflectie",
      "matchPlanFields": {
        "strategy_notes": "Strategie",
        "strengths_to_exploit": "Sterke punten",
        "risks_to_avoid": "Risico's"
      },
      "reflectionFields": {
        "reflection_good": "Wat ging er goed?",
        "reflection_improve": "Wat kan er beter?",
        "reflection_actions": "Actiepunten & learnings"
      },
      "merge": {
        "fieldChooser": "Welke versie voor {{field}}?"
      },
      "actions": {
        "keepLocal": "Mijn versie",
        "keepLocalHint": "Gemaakt {{time}} geleden ({{device}})",
        "keepServer": "Online versie",
        "keepServerHint": "Aangepast door {{name}}, {{time}} geleden",
        "merge": "Samenvoegen",
        "saveMerge": "Samengevoegde versie opslaan",
        "cancel": "Annuleren",
        "someoneElse": "iemand anders"
      },
      "batch": {
        "heading": "{{count}} conflicten in de wachtrij",
        "description": "Los ze tegelijk op of behandel één voor één.",
        "keepAllLocal": "Houd al mijn wijzigingen ({{count}})",
        "keepAllServer": "Houd alle online versies ({{count}})"
      },
      "resolveFailed": "Opslaan van je keuze is mislukt. Het item staat in de wachtrij als mislukt. Probeer het later opnieuw.",
      "batchPartialFail": "{{resolved}} opgelost, {{failed}} mislukt. Mislukte items staan in de wachtrij.",
      "resolveRetryLater": "Opslaan van je keuze is nog niet gelukt (netwerkprobleem). Het conflict blijft staan. Probeer het later opnieuw.",
      "unknownDomain": "Onbekend domein: {{domain}}"
    }
  },
  "voiceInput": {
    "startAriaLabel": "Start spraakdictee",
    "stopAriaLabel": "Stop spraakdictee",
    "consentTitle": "Spraakdictee gebruiken?",
    "consentDescription": "Je microfoon wordt geactiveerd en audio wordt verwerkt door de spraakherkenning van je browser (Apple/Google). JudoLytics ziet de ruwe audio nooit. Doorgaan?",
    "consentAccept": "Inschakelen",
    "consentCancel": "Annuleren",
    "interimPrefix": "Aan het luisteren…",
    "errors": {
      "permissionDenied": "Microfoon-toegang geweigerd. Sta het toe in je browser-instellingen en probeer opnieuw.",
      "noMicrophone": "Geen microfoon gevonden op dit apparaat.",
      "network": "Spraakherkenning vereist een internetverbinding.",
      "langUnsupported": "Spraakdictee is nog niet beschikbaar in jouw taal.",
      "unsupported": "Je browser ondersteunt geen spraakdictee. Probeer Chrome of Safari.",
      "insecureContext": "Spraakdictee werkt alleen via een beveiligde verbinding (HTTPS).",
      "startFailed": "Kon spraakdictee niet starten. Probeer het opnieuw.",
      "generic": "Spraakdictee is onverwacht gestopt."
    }
  },
  "errorBoundary": {
    "networkTitle": "Netwerkprobleem",
    "networkDescription": "Er is een probleem met de netwerkverbinding. Controleer je internetverbinding en probeer het opnieuw.",
    "autoRetried": "Automatisch opnieuw geprobeerd: {{count}}/{{max}}",
    "retry": "Opnieuw proberen",
    "updateTitle": "Update beschikbaar",
    "updateDescription": "Er is een nieuwe versie van de applicatie beschikbaar. Herlaad de pagina om de laatste versie te gebruiken.",
    "reloadPage": "Pagina herladen",
    "generalTitle": "Er is iets misgegaan",
    "generalDescription": "Er is een onverwachte fout opgetreden. Probeer de pagina te herladen of neem contact op met ondersteuning als het probleem aanhoudt.",
    "goToDashboard": "Ga naar dashboard",
    "showDetails": "Technische details tonen"
  },
  "videoPlayer": {
    "ijfLocked": "IJF-video (abonnement vereist)",
    "externalVideo": "Externe video",
    "open": "Openen"
  },
  "badges": {
    "title": "Badges",
    "newBadgeEarned": "Nieuwe badge verdiend!",
    "newBadgeEarned_one": "Nieuwe badge verdiend!",
    "newBadgeEarned_other": "{{count}} nieuwe badges verdiend!",
    "names": {
      "first_match": "Eerste wedstrijd",
      "profile_complete": "Profiel compleet",
      "first_club_join": "Clublid",
      "match_10": "10 wedstrijden",
      "match_50": "50 wedstrijden",
      "match_100": "100 wedstrijden",
      "match_250": "250 wedstrijden",
      "streak_7": "7 dagen streak",
      "streak_30": "30 dagen streak",
      "streak_100": "100 dagen streak",
      "recovery_streak_7": "Herstel-reeks: 7 dagen",
      "recovery_streak_14": "Herstel-reeks: 14 dagen",
      "recovery_streak_30": "Herstel-reeks: 30 dagen",
      "recovery_streak_60": "Herstel-reeks: 60 dagen",
      "recovery_streak_100": "Herstel-reeks: 100 dagen",
      "technique_variety": "Techniekmeester",
      "opponent_variety": "Veelzijdige judoka",
      "first_reflection": "Eerste leerpunt",
      "reflection_10": "Zelfkenner",
      "team_player": "Teamspeler",
      "mentor": "Mentor",
      "growing_club": "Groeiende club",
      "thriving_club": "Bloeiende club",
      "powerhouse": "Krachtcentrale",
      "recruiter": "Recruiter",
      "ambassador": "Ambassadeur"
    },
    "descriptions": {
      "first_match": "Je eerste wedstrijd geregistreerd",
      "profile_complete": "Je profiel is volledig ingevuld",
      "first_club_join": "Lid geworden van je eerste club",
      "match_10": "10 wedstrijden geregistreerd",
      "match_50": "50 wedstrijden geregistreerd",
      "match_100": "100 wedstrijden geregistreerd",
      "match_250": "250 wedstrijden geregistreerd",
      "streak_7": "7 dagen achter elkaar gelogd",
      "streak_30": "30 dagen achter elkaar gelogd",
      "streak_100": "100 dagen achter elkaar gelogd",
      "recovery_streak_7": "7 dagen op rij je herstelcheck ingevuld",
      "recovery_streak_14": "14 dagen op rij je herstelcheck ingevuld",
      "recovery_streak_30": "30 dagen op rij je herstelcheck ingevuld",
      "recovery_streak_60": "60 dagen op rij je herstelcheck ingevuld",
      "recovery_streak_100": "100 dagen op rij je herstelcheck ingevuld",
      "technique_variety": "10 verschillende worpen gebruikt",
      "opponent_variety": "Tegen 20 verschillende tegenstanders gevochten",
      "first_reflection": "Je eerste leerpunt vastgelegd",
      "reflection_10": "10 leerpunten vastgelegd",
      "team_player": "Actief bijgedragen aan je club",
      "mentor": "Data gedeeld met je team",
      "growing_club": "Club heeft 10+ leden",
      "thriving_club": "Club heeft 25+ leden",
      "powerhouse": "Club heeft 50+ leden",
      "recruiter": "5 succesvolle referrals",
      "ambassador": "10 succesvolle referrals"
    },
    "categories": {
      "onboarding": "Onboarding",
      "activity": "Activiteit",
      "streak": "Streaks",
      "diversity": "Diversiteit",
      "reflection": "Reflectie",
      "community": "Community",
      "club": "Club",
      "referral": "Referral"
    },
    "progressLabel": "{{earned}} van {{total}} badges verdiend",
    "categoryProgressLabel": "Voortgang badge: {{current}} van {{target}}"
  },
  "streaks": {
    "title": "Streaks",
    "types": {
      "match_logging": "Wedstrijden loggen",
      "training_logging": "Training loggen",
      "reflection": "Leerpunten schrijven",
      "recovery_checkin": "Herstelcheck doen"
    },
    "days": "dagen",
    "best": "Record: {{count}} dagen"
  },
  "gamification": {
    "dashboardTitle": "Prestaties",
    "recentBadges": "Recente badges",
    "almostEarned": "Bijna verdiend",
    "viewAll": "Alle badges bekijken",
    "freshSealLabel": "NEW",
    "freshSealSublabel": "BADGE",
    "overallProgressLabel": "Totale voortgang badges: {{pct}}%",
    "badgeProgressLabel": "Voortgang naar badge {{name}}"
  },
  "edgeErrors": {
    "RATE_LIMIT": "Te veel verzoeken. Probeer het later opnieuw.",
    "AUTH_FAILED": "Authenticatie mislukt. Log opnieuw in en probeer het nog eens.",
    "NOT_AUTHORIZED": "Je hebt geen rechten voor deze actie.",
    "INTERNAL_ERROR": "Er is een interne fout opgetreden. Probeer het later opnieuw.",
    "ALREADY_SUBSCRIBED": "Je hebt al een actief abonnement. Gebruik het klantportaal om je abonnement te wijzigen.",
    "INVALID_PRICE": "Ongeldige prijs. Neem contact op met support.",
    "NO_SUBSCRIPTION": "Je hebt nog geen abonnement afgesloten. Start eerst een abonnement via de prijzenpagina.",
    "NO_SCHEDULED_CHANGE": "Er is geen geplande wijziging om te annuleren.",
    "CANCEL_SCHEDULE_FAILED": "Fout bij annuleren van de geplande wijziging. Probeer het opnieuw.",
    "TRIAL_ALREADY_USED": "Je hebt al eerder een proefperiode gehad.",
    "EMAIL_NOT_VERIFIED": "Bevestig eerst je e-mailadres voordat je een proefperiode kunt starten.",
    "EMAIL_ALREADY_VERIFIED": "Je e-mailadres is al geverifieerd.",
    "VERIFICATION_TOKEN_INVALID": "Deze verificatielink is ongeldig of verlopen.",
    "TRIAL_START_FAILED": "Kon proefperiode niet starten. Probeer het opnieuw.",
    "SUBSCRIPTION_UPDATE_FAILED": "Abonnement bijwerken mislukt.",
    "SYNC_FAILED": "Fout bij synchroniseren. Probeer het opnieuw.",
    "UNKNOWN_STRIPE_PRODUCT": "Onbekend Stripe-product.",
    "NO_STRIPE_PRODUCTS": "Stripe-abonnement heeft geen producten.",
    "FETCH_SUBSCRIPTION_FAILED": "Fout bij ophalen abonnement.",
    "CAPTCHA_REQUIRED": "CAPTCHA-verificatie vereist. Vernieuw de pagina en probeer het opnieuw.",
    "CAPTCHA_FAILED": "CAPTCHA-verificatie mislukt. Probeer het opnieuw.",
    "EMAIL_ALREADY_REGISTERED": "Dit e-mailadres is al geregistreerd.",
    "REGISTRATION_FAILED": "Registratie mislukt. Probeer het opnieuw.",
    "PROFILE_CREATION_FAILED": "Registratie mislukt: profiel kon niet worden aangemaakt.",
    "USER_CREATION_FAILED": "Gebruiker aanmaken mislukt. Controleer de gegevens en probeer het opnieuw.",
    "CANNOT_INVITE_SELF": "Je kunt jezelf niet uitnodigen.",
    "NO_INVITE_PERMISSION": "Je hebt geen rechten om leden uit te nodigen voor deze club.",
    "CLUB_NOT_FOUND": "Club niet gevonden.",
    "ALREADY_CLUB_MEMBER": "Deze persoon heeft al een account en is al lid van deze club.",
    "ALREADY_HAS_ACCOUNT": "Deze persoon heeft al een JudoLytics-account.",
    "INVITATION_CREATE_FAILED": "Kon uitnodiging niet aanmaken.",
    "INVITATION_NOT_FOUND": "Uitnodiging niet gevonden.",
    "INVITATION_NOT_FOR_YOU": "Deze uitnodiging is niet voor jouw account.",
    "MAX_INVITATIONS_TODAY": "Je hebt het maximum aantal uitnodigingen voor vandaag bereikt. Probeer het morgen opnieuw.",
    "PROFILE_UPDATE_FAILED": "Profiel bijwerken mislukt.",
    "EMAIL_UPDATE_FAILED": "E-mail bijwerken mislukt.",
    "PASSWORD_UPDATE_FAILED": "Wachtwoord bijwerken mislukt.",
    "ROLE_UPDATE_FAILED": "Rol bijwerken mislukt.",
    "USER_DELETE_FAILED": "Gebruiker verwijderen mislukt.",
    "SUBSCRIPTION_SETTING_FAILED": "Abonnement bijwerken mislukt.",
    "FREE_ACCOUNT_FAILED": "Gratis account instellen mislukt.",
    "MAX_CLUBS_REACHED": "Je bent al lid van het maximale aantal clubs voor je abonnement. Upgrade je abonnement of verlaat eerst een club.",
    "MEMBERSHIP_ACTIVATION_FAILED": "Kon lidmaatschap niet activeren.",
    "MEMBERSHIP_CREATION_FAILED": "Kon lidmaatschap niet aanmaken.",
    "INVITATION_UPDATE_FAILED": "Kon uitnodiging niet bijwerken.",
    "INVALID_OR_EXPIRED_LINK": "Ongeldige of verlopen link.",
    "PREFERENCES_SAVE_FAILED": "Kon voorkeuren niet opslaan.",
    "PREFERENCES_FETCH_FAILED": "Kon voorkeuren niet ophalen.",
    "MISSING_REQUIRED_FIELDS": "Niet alle verplichte velden zijn ingevuld."
  },
  "reactivation": {
    "banner": "Je account wordt over {{days}} dagen verwijderd. Heractiveer je account om dit te voorkomen.",
    "banner_0": "Je account wordt vandaag verwijderd. Heractiveer je account om dit te voorkomen.",
    "reactivate": "Heractiveren",
    "reactivating": "Heractiveren...",
    "success": "Je account is succesvol geheractiveerd!",
    "error": "Heractivering mislukt. Probeer het opnieuw."
  },
  "tosReconsent": {
    "title": "Onze voorwaarden zijn bijgewerkt",
    "description": "Bekijk de bijgewerkte",
    "tosLink": "Algemene Voorwaarden",
    "and": "en",
    "privacyLink": "Privacybeleid",
    "accept": "Akkoord",
    "accepting": "Bezig...",
    "accepted": "Bedankt! Je hebt de bijgewerkte voorwaarden geaccepteerd.",
    "error": "Kon voorwaarden niet accepteren. Probeer het opnieuw."
  },
  "pushPrimer": {
    "title": "Blijf op de hoogte",
    "description": "Ontvang meldingen zodat je niets mist van je judo-voortgang.",
    "benefitReminders": "Herinnering om je wedstrijden in te voeren na een toernooi",
    "benefitLoad": "Waarschuwing wanneer je trainingsbelasting te hoog wordt",
    "benefitMotivation": "Motivatie bij nieuwe persoonlijke records en streaks",
    "enable": "Meldingen inschakelen",
    "notNow": "Niet nu",
    "contextual": {
      "settings": {
        "title": "Check-in-herinneringen werken via push",
        "description": "Zet pushmeldingen aan om elke ochtend een seintje voor je check-in te krijgen, ook als de app dicht is."
      },
      "tournament": {
        "title": "Herinnering na je toernooi?",
        "description": "Krijg de dag na het toernooi een melding om je wedstrijden in te voeren, zolang alles nog vers is."
      },
      "training": {
        "title": "Weten hoe je training ging?",
        "description": "Krijg na elke geplande training een korte melding om vast te leggen hoe het ging."
      },
      "club": {
        "title": "Blijf op de hoogte van je club",
        "description": "Krijg een melding zodra je verzoek is goedgekeurd en wanneer je coach feedback geeft."
      },
      "standalone": {
        "title": "Maak je app compleet",
        "description": "Zet meldingen aan zodat herinneringen en coach-feedback je direct bereiken op dit apparaat."
      }
    }
  },
  "pushBanner": {
    "title": "Mis geen herinnering",
    "description": "Schakel meldingen in om herinneringen en updates te ontvangen.",
    "benefitMatches": "Wedstrijdherinneringen",
    "benefitLoad": "Trainingsherinneringen",
    "enable": "Inschakelen",
    "later": "Later"
  },
  "progress": {
    "percentage": "{{value}}% voortgang"
  },
  "pwaInstall": {
    "bannerTitle": "Installeer JudoLytics op je apparaat",
    "bannerDescription": "Voeg JudoLytics toe aan je startscherm voor de beste ervaring.",
    "benefitFast": "Sneller laden",
    "benefitNotifications": "Pushmeldingen",
    "benefitOffline": "Werkt offline",
    "benefitHomeScreen": "Eigen app-icoon",
    "installButton": "Installeren",
    "later": "Later",
    "iosTitle": "Installeer JudoLytics",
    "iosDescription": "Voeg JudoLytics toe aan je startscherm in drie stappen. Het werkt dan als een echte app.",
    "iosStep1Title": "Tik op het Deel-icoon",
    "iosStep1Desc": "Het vierkante icoontje met het pijltje omhoog in de balk onderaan je scherm.",
    "iosStep2Title": "Kies 'Zet op beginscherm'",
    "iosStep2Desc": "Scroll in het deelmenu naar beneden en tik op 'Zet op beginscherm'.",
    "iosStep3Title": "Bevestig met 'Voeg toe'",
    "iosStep3Desc": "Tik rechtsboven op 'Voeg toe'. JudoLytics verschijnt nu op je startscherm.",
    "iosShareLabel": "Deel",
    "iosAddLabel": "Zet op beginscherm",
    "iosDoneHint": "Na installatie opent JudoLytics als een volwaardige app, met pushmeldingen en offline toegang.",
    "openInAppTitle": "JudoLytics app is geïnstalleerd",
    "openInAppDescription": "Open de app voor de beste ervaring met pushmeldingen en offline toegang.",
    "openApp": "Open app"
  },
  "table": {
    "sortBy": "Sorteer op {{column}}",
    "sortedAscending": "Oplopend gesorteerd",
    "sortedDescending": "Aflopend gesorteerd",
    "notSorted": "Niet gesorteerd"
  },
  "optionalFields": {
    "show_one": "+ {{count}} veld tonen",
    "show_other": "+ {{count}} velden tonen",
    "hide": "Minder tonen",
    "seenInlineToast": "Wil je dit veld vaker zien?",
    "seenInlineAction": "Altijd tonen"
  },
  "forms": {
    "draftRestored": {
      "text": "Niet-opgeslagen concept hersteld.",
      "discard": "Leegmaken"
    }
  },
  "sharing": {
    "title": "Wie kan dit zien?",
    "change": "wijzig",
    "changeAria": "Wijzig wie dit kan zien",
    "shareWithClubs": "Delen met clubs",
    "privateOnlyHint": "Alleen voor jou zichtbaar",
    "saveAsDefault": "Maak dit mijn standaard",
    "updateDefault": "Standaard bijwerken",
    "saveAsDefaultHint": "Gebruik deze keuze standaard voor nieuwe items",
    "saveDefaultSuccess": "Deel-standaard opgeslagen",
    "saveDefaultError": "Deel-standaard niet opgeslagen",
    "applyChange": "Toepassen",
    "defaultScopeHint": "Dit is je standaard voor dit type. Wijzigen geldt voor al je items hiervan.",
    "advancedPerClub": "Per club instellen",
    "clearDefault": "Steeds opnieuw vragen",
    "clearDefaultSuccess": "Deel-standaard verwijderd",
    "overrideLabel": "aangepast",
    "overrideTooltip": "Wijkt af van jouw standaard",
    "scopes": {
      "private": {
        "label": "Alleen ik",
        "description": "Alleen jij ziet dit. Coaches en clubgenoten zien dit niet."
      },
      "coaches": {
        "label": "Coaches",
        "description": "Coaches van de geselecteerde clubs zien dit. Clubgenoten niet."
      },
      "club": {
        "label": "Club",
        "description": "Coaches en clubgenoten van de geselecteerde clubs zien dit."
      }
    },
    "summary": {
      "private": "Alleen voor jou zichtbaar",
      "coachesWith": "Gedeeld met coaches bij {{clubs}}",
      "clubWith": "Gedeeld met {{clubs}}",
      "popCoaches": "Zichtbaar voor je coaches",
      "popClubMembers": "Zichtbaar voor coaches en clubgenoten",
      "noClubs": "geen clubs geselecteerd",
      "clubsCount": "{{first}} +{{count}} meer"
    },
    "pop": {
      "visibleToCoaches": "Coaches",
      "visibleToCoachesHint": "Je coaches kunnen je doelen en feedback lezen.",
      "visibleToMembers": "Clubgenoten",
      "visibleToMembersHint": "Andere clubleden kunnen je doelen zien."
    },
    "measurements": {
      "all": "Alle clubs",
      "none": "Alleen ik",
      "allHint": "Nieuwe metingen worden automatisch gedeeld met al je actieve clubs.",
      "noneHint": "Nieuwe metingen blijven privé. Je coaches zien ze niet.",
      "selectedHint": "Nieuwe metingen worden alleen gedeeld met de clubs die je hieronder kiest."
    },
    "settings": {
      "title": "Deel-voorkeuren",
      "description": "Stel één keer in hoe je nieuwe items wilt delen. Je kunt het per item nog steeds aanpassen.",
      "domains": {
        "matches": "Wedstrijdplannen",
        "opponents": "Tegenstander-notities",
        "pop": "Ontwikkelingsplan (POP)",
        "measurements": "Metingen"
      },
      "noClubs": "Word lid van een club of maak er één aan om items met coaches en clubgenoten te delen.",
      "notSetYet": "Nog niet ingesteld. De standaardwaarde wordt gebruikt.",
      "resetButton": "Steeds opnieuw vragen",
      "trackedSummary": "Nu: {{summary}}"
    },
    "visibilityPrefix": "Zichtbaarheid",
    "variesPerClub": "Verschilt per club"
  },
  "subscription": {
    "source": {
      "personal": "Persoonlijk",
      "club": "Via {{clubName}}",
      "adminGrant": "Toegekend",
      "none": "—"
    },
    "lifecycle": {
      "active": "Actief",
      "trial": "Proefperiode",
      "pastDue": "Achterstallig",
      "canceledActive": "Stopt op {{date}}",
      "expired": "Verlopen",
      "none": "Inactief"
    },
    "trial": {
      "daysLeft": "{{count}} d.",
      "hoursLeft": "{{count}} u.",
      "hoursLeftLastHour": "<1 u."
    },
    "paymentMode": {
      "stripe": "Stripe",
      "manual": "Handmatig"
    }
  },
  "wizard": {
    "progressAriaLabel": "Wizard-voortgang"
  },
  "a11y": {
    "refresh": "Vernieuwen",
    "close": "Sluiten",
    "toggleSidebar": "Navigatiebalk in-/uitklappen",
    "breadcrumb": "Kruimelpad"
  },
  "brand": {
    "logoAltText": "JudoLytics home"
  }
}
