{
  "healthConsent": {
    "title": "Einwilligung in deine Gesundheitsdaten",
    "body": "Deine Erholung (Schlaf, Energie, Stimmung) und Körpermessungen wie das Gewicht gelten als Gesundheitsdaten. Diese verarbeiten wir nur mit deiner Einwilligung, damit wir deine Belastung, Erholung und Entwicklung verfolgen können.",
    "point1": "Besondere personenbezogene Daten (Art. 9 DSGVO). Nur für dich und die Trainer, mit denen du sie selbst teilst.",
    "point2": "Du füllst sie freiwillig aus. Aufhören kannst du jederzeit.",
    "point3": "Du kannst deine Daten jederzeit löschen.",
    "accept": "Ich stimme zu",
    "once": "Du bestätigst dies einmal. Es gilt für alle deine Gesundheitsdaten in JudoLytics.",
    "readMore": "Lies unsere Datenschutzerklärung"
  },
  "save": "Speichern",
  "cancel": "Abbrechen",
  "delete": "Löschen",
  "edit": "Bearbeiten",
  "back": "Zurück",
  "editedAgo": "Bearbeitet {{time}}",
  "lastUpdatedAgo": "Zuletzt aktualisiert {{time}}",
  "more": "Mehr",
  "settings": "Einstellungen",
  "signOut": "Abmelden",
  "copy": {
    "button": "Kopieren",
    "copied": "Kopiert",
    "success": "In die Zwischenablage kopiert",
    "failed": "Kopieren fehlgeschlagen"
  },
  "actions": {
    "save": "Speichern",
    "cancel": "Abbrechen",
    "delete": "Löschen",
    "edit": "Bearbeiten",
    "add": "Hinzufügen",
    "close": "Schließen",
    "confirm": "Bestätigen",
    "back": "Zurück",
    "next": "Weiter",
    "search": "Suchen",
    "filter": "Filtern",
    "export": "Exportieren",
    "import": "Importieren",
    "retry": "Erneut versuchen",
    "changeLanguage": "Sprache ändern",
    "exportCsv": "CSV exportieren",
    "menu": "Aktionen",
    "clearSearch": "Suche zurücksetzen",
    "undo": "Rückgängig machen"
  },
  "errors": {
    "generic": "Etwas ist schiefgelaufen",
    "unauthorized": "Kein Zugriff"
  },
  "error": {
    "title": "Etwas ist schiefgelaufen",
    "profileLoad": "Dein Profil konnte nicht geladen werden. Versuch es erneut.",
    "retry": "Erneut versuchen"
  },
  "roles": {
    "coach": "Trainer",
    "judoka": "Judoka",
    "beheerder": "Administrator"
  },
  "status": {
    "loading": "Lädt …",
    "saving": "Speichern …",
    "deleting": "Löschen …",
    "noResults": "Keine Ergebnisse gefunden",
    "error": "Etwas ist schiefgelaufen",
    "success": "Erfolgreich gespeichert",
    "unexpectedError": "Ein unerwarteter Fehler ist aufgetreten",
    "errorRetry": "Ein Fehler ist aufgetreten. Versuch es erneut.",
    "noConnection": "Keine Internetverbindung. Versuch es erneut, sobald du wieder online bist."
  },
  "nav": {
    "dashboard": "Dashboard",
    "home": "Start",
    "new": "Neu",
    "newAnalysis": "Kampf hinzufügen",
    "myMatches": "Meine Kämpfe",
    "matches": "Kämpfe",
    "import": "Importieren",
    "opponents": "Gegner",
    "tournaments": "Turniere",
    "stats": "Statistiken",
    "training": "Training",
    "loadMonitor": "Belastung",
    "tracking": "Messungen",
    "developmentPlan": "Entwicklungsplan",
    "myClubs": "Vereine",
    "referral": "Verdiene einen Gratismonat",
    "settings": "Einstellungen",
    "settingsProfile": "Profil",
    "settingsSecurity": "Sicherheit",
    "settingsBilling": "Abonnement",
    "settingsNotifications": "Benachrichtigungen",
    "settingsApp": "App-Einstellungen",
    "settingsModules": "Module",
    "settingsPrivacy": "Privatsphäre & Teilen",
    "settingsData": "Meine Daten",
    "dataIntegrity": "Datenprüfung",
    "adminCockpit": "Admin-Cockpit",
    "usersAndSubs": "Nutzer & Abos",
    "tournamentsAdmin": "Turnierverwaltung",
    "manageClubs": "Vereine verwalten",
    "feedback": "Feedback",
    "analytics": "Plattform-Analytics",
    "emailAdmin": "E-Mail-Verwaltung",
    "stripeInsights": "Stripe-Einblicke",
    "helpOffline": "Hilfe — Offline-Modus",
    "helpMfa": "Hilfe — Zwei-Faktor-Authentifizierung",
    "systemHealth": "Systemstatus",
    "badges": "Abzeichen",
    "pushNotifications": "Push-Benachrichtigungen",
    "adminOnboarding": "Onboarding-Verwaltung",
    "freePlan": "Gratis",
    "tierRequired": "{{tier}} nötig für {{feature}}",
    "personal": "Persönlich",
    "personalDesc": "Dein persönliches Dashboard",
    "clubOverview": "Übersicht",
    "clubMembers": "Mitglieder",
    "clubGroups": "Gruppen",
    "clubStats": "Statistiken",
    "clubPrivacy": "Privatsphäre",
    "coachCockpit": "Cockpit",
    "coachTeamSessions": "Trainingsübersicht",
    "coachPlanner": "Wochenplaner",
    "coachLoad": "Belastung",
    "coachTracking": "Messungen",
    "coachDevelopment": "Entwicklung",
    "clubSettings": "Einstellungen",
    "clubSubscription": "Abonnement",
    "sections": {
      "matches": "Kämpfe",
      "training": "Training",
      "development": "Entwicklung",
      "insights": "Einblicke",
      "more": "Mehr",
      "admin": "Verwaltung",
      "coach": "Trainer",
      "personal": "Persönlich",
      "general": "Allgemein",
      "clubCore": "Allgemein",
      "clubs": "Meine Vereine",
      "account": "Konto"
    },
    "searchPlaceholder": "Im Menü suchen …",
    "searchEmpty": "Keine Seiten gefunden",
    "searchClear": "Suche zurücksetzen",
    "tabs": {
      "personal": "Persönlich",
      "clubs": "Vereine",
      "admin": "Verwaltung"
    },
    "menu": {
      "title": "Menü",
      "a11yDescription": "Navigation zu Seiten, Vereinen und Einstellungen",
      "settings": "Einstellungen",
      "notifications": "Benachrichtigungen",
      "logout": "Abmelden",
      "search": "Kämpfe, Gegner und mehr suchen …",
      "sections": {
        "today": "Heute"
      },
      "smartTile": {
        "recovery": "Erholung",
        "trainingNow": "Training · {{time}}",
        "matchTomorrow": "Kampf morgen",
        "matchTomorrowSub": "{{name}}",
        "popDue": "POP-Review",
        "reflection": "Reflexion"
      },
      "clubsub": {
        "core": "Allgemein",
        "coach": "Trainer",
        "admin": "Verwaltung"
      }
    },
    "adminOpponents": "Gegner (Admin)",
    "autoOptimization": "Auto-Optimierung"
  },
  "validation": {
    "required": "Dieses Feld ist erforderlich",
    "invalidEmail": "Ungültige E-Mail-Adresse",
    "tooShort": "Muss mindestens {{min}} Zeichen lang sein",
    "tooLong": "Darf höchstens {{max}} Zeichen lang sein"
  },
  "confirm": {
    "deleteTitle": "Bist du sicher?",
    "deleteMessage": "Diese Aktion kann nicht rückgängig gemacht werden.",
    "deleteConfirm": "Ja, löschen",
    "deleteCancel": "Abbrechen"
  },
  "select": {
    "placeholder": "Auswählen …",
    "searchPlaceholder": "Suchen …",
    "selectAll": "Alle auswählen",
    "selected": "{{count}} ausgewählt",
    "country": "Land auswählen …",
    "searchCountry": "Land suchen …",
    "noCountryFound": "Kein Land gefunden.",
    "opponent": "Gegner auswählen …",
    "searchOpponent": "Gegner suchen …",
    "noOpponentFound": "Kein Gegner gefunden",
    "addNew": "Neu hinzufügen",
    "addNewOpponent": "Neuen Gegner hinzufügen",
    "weightCategory": "Gewichtsklasse auswählen",
    "countryAIN": "Einzelne neutrale Athleten (AIN)",
    "countryEOR": "Flüchtlingsteam (EOR)"
  },
  "gender": {
    "male": "Männlich",
    "female": "Weiblich",
    "prefer_not_to_say": "Keine Angabe"
  },
  "weightClass": {
    "label": "Gewichtsklasse",
    "nonStandard": "Abweichende Klasse",
    "otherCategories": "Andere Kategorien",
    "otherGender": "Anderes Geschlecht",
    "kg": "{{weight}} kg"
  },
  "command": {
    "searchPlaceholder": "Seiten, Kämpfe, Gegner suchen …",
    "navigation": "Navigation",
    "actions": "Aktionen",
    "addNewMatch": "Neuen Kampf hinzufügen",
    "signOut": "Abmelden",
    "admin": "Verwaltung",
    "adminCockpit": "Admin-Cockpit",
    "adminUsers": "Nutzer & Abonnements",
    "adminTournaments": "Turnierverwaltung",
    "adminFeedback": "Feedback",
    "adminClubs": "Vereinsverwaltung",
    "adminAnalytics": "Analytics",
    "adminEmail": "E-Mail-Verwaltung",
    "adminSystemHealth": "Systemstatus",
    "adminBadges": "Abzeichen-Verwaltung",
    "searching": "Suchen …",
    "groups": {
      "matches": "Kämpfe",
      "opponents": "Gegner",
      "trainings": "Trainingseinheiten",
      "goals": "Ziele",
      "members": "Vereinsmitglieder",
      "recent": "Zuletzt verwendet"
    },
    "search": {
      "vs": "gegen"
    },
    "removeRecentSearch": "Letzte Suche entfernen"
  },
  "withdrawalWaiver": {
    "title": "Direkter Zugang zu JudoLytics",
    "description": "Du verlangst die sofortige Bereitstellung einer digitalen Dienstleistung. Dafür brauchen wir deine ausdrückliche Zustimmung.",
    "checkboxLabel": "Ich stimme der sofortigen Bereitstellung ausdrücklich zu und bestätige, dass ich damit auf mein gesetzliches 14-tägiges Widerrufsrecht verzichte. Kündigen kannst du danach jederzeit zum Ende des laufenden Zeitraums.",
    "termsLink": "Mehr zum Widerrufsrecht in unseren Allgemeinen Geschäftsbedingungen",
    "confirm": "Weiter zur Zahlung"
  },
  "paywall": {
    "availableFrom": "Verfügbar ab {{tier}}",
    "upgrade": "Upgraden",
    "upgradeTo": "Upgrade auf {{tier}}",
    "availableIn": "Teil von {{tier}}.",
    "from": "ab",
    "perMonth": "/Monat",
    "changeTo": "Zu {{tier}} wechseln",
    "subscribeTo": "{{tier}} abonnieren",
    "loading": "Lädt …",
    "viewAllPlans": "Alle Abonnements ansehen",
    "monthly": "Monatlich",
    "yearly": "Jährlich",
    "discount": "Rabatt",
    "mostChosen": "Am häufigsten gewählt",
    "yourPlan": "Dein Plan",
    "perYear": "/Jahr abgerechnet",
    "savePerYear": "Spare {{amount}} €/Jahr",
    "yearlyBadge": "2+ Monate gratis",
    "tryFree": "{{plan}} gratis testen",
    "currentPlan": "Aktueller Plan",
    "payAfterTrial": "Du zahlst erst nach deiner Testphase",
    "lessFeatures": "Weniger Funktionen",
    "moreFeatures": "+ {{count}} weitere Funktionen",
    "subscriptionExpired": "Dein Abonnement ist abgelaufen. Erneuere dein Abonnement, um Änderungen vorzunehmen.",
    "allOfPlanPlus": "Alles aus {{plan}}, plus:",
    "bestValue": "Bestes Preis-Leistungs-Verhältnis",
    "compareAll": "Alle Funktionen vergleichen",
    "hideComparison": "Vergleich ausblenden",
    "includedFeatures": "Enthaltene Funktionen",
    "states": {
      "neverTrialedDescription": "{{days}} Tage voller Zugriff. Keine Kreditkarte nötig.",
      "postTrialDescription": "Deine Daten bleiben erhalten. Wähle ein Abonnement, um weiterzumachen.",
      "paidLowerDescription": "Diese Funktion gehört zu {{tier}}. Upgrade, wenn du bereit dafür bist."
    },
    "cta": {
      "viewPlans": "Abonnements ansehen",
      "comparePlans": "Abonnements vergleichen",
      "managePlan": "Abonnement verwalten"
    },
    "featurePreview": {
      "intro": "Was du in deiner Testphase bekommst:"
    },
    "dataSummary": {
      "matches_one": "Kampf",
      "matches_other": "Kämpfe",
      "opponents_one": "Gegner",
      "opponents_other": "Gegner",
      "trainings_one": "Trainingseinheit",
      "trainings_other": "Trainingseinheiten",
      "retention": "Alles bleibt erhalten. Upgrade, um wieder damit zu arbeiten."
    }
  },
  "plans": {
    "basis": {
      "description": "Erfasse deine Kämpfe, verfolge deinen Fortschritt und lerne deine Gegner kennen"
    },
    "pro": {
      "description": "Entdecke Muster in deinem Judo, vermeide Übertraining und wachse gezielt als Judoka"
    },
    "max": {
      "description": "Volle Kontrolle: Trainer-Dashboards, taktische Pläne und bald KI-Einblicke"
    }
  },
  "tierNames": {
    "free": "Gratis",
    "basis": "Starter",
    "pro": "Pro",
    "max": "Elite"
  },
  "featureGroups": {
    "basic": "Basis",
    "analysis": "Analyse & Reflexion",
    "clubSocial": "Verein & Social",
    "advanced": "Erweitert",
    "limits": "Limits",
    "matches": "Kämpfe & Gegner",
    "stats": "Statistiken & Analyse",
    "training": "Training & Belastung",
    "development": "Entwicklung & Reflexion",
    "tracking": "Messungen & Verein"
  },
  "featureNames": {
    "matches_add": "Halte jeden Kampf fest",
    "matches_view": "Sieh deine Ergebnisse und Fortschritte",
    "stats_basic": "Sieh deine Sieg-Niederlage-Quote",
    "opponents_simple": "Kenne deine Gegner",
    "reflections": "Baue dein persönliches Lernbuch auf",
    "data_integrity": "Halte deine Daten in Ordnung",
    "club_membership": "Trainiere zusammen mit deinem Verein",
    "match_plans": "Plan + Lernpunkte pro Gegner",
    "grip_tracking": "Verbessere dein kumi-kata",
    "tracking_basic": "Verfolge deine Körpermessungen",
    "tracking_full": "Sieh Trends in deinen Messungen",
    "pop_basic": "Setze deine Entwicklungsziele",
    "pop_full": "Verknüpfe Ziele mit Ergebnissen",
    "pop_coach": "Begleite deine Judokas gezielt",
    "training_basic": "Erfasse deine Trainingseinheiten",
    "training_load": "Vermeide Übertraining",
    "training_coach": "Überwache alle deine Judokas",
    "stats_advanced": "Entdecke Muster in deinem Judo",
    "stats_explorer": "Analysiere all deine Daten auf deine Weise",
    "coach_cockpit": "Teamübersicht-Dashboard"
  },
  "featureDescriptions": {
    "matches_add": "Halte jeden Kampf mit Wurf, Wertung und Gegner fest",
    "matches_view": "Sieh deine Ergebnisse, Siegquoten und Fortschritte pro Turnier",
    "stats_basic": "Übersicht deiner Sieg-Niederlage-Quote pro Turnier und Zeitraum",
    "stats_advanced": "Entdecke Muster in deinen Würfen, deinem ne-waza und deinen shidos über die Zeit",
    "stats_explorer": "Filtere, kombiniere und analysiere all deine Kampfdaten genau so, wie du willst",
    "opponents_simple": "Notiere Stärken, Schwächen und den Stil deiner Gegner",
    "reflections": "Schreibe nach jedem Kampf Lernpunkte auf und baue ein persönliches Lernbuch auf",
    "data_integrity": "Automatische Hinweise bei fehlenden oder widersprüchlichen Kampfdaten",
    "club_membership": "Werde Mitglied in einem Judoverein und teile Daten mit deinem Team",
    "match_plans": "Schreib deinen Ansatz vor dem Kampf auf. Halte danach deine Lernpunkte fest. Teilbar mit deinem Verein oder deinen Trainern.",
    "grip_tracking": "Erfasse und analysiere dein kumi-kata pro Kampf",
    "tracking_basic": "Verfolge dein Gewicht, deine Größe und andere Messungen",
    "tracking_full": "Verfolge Trends in deinen Messungen mit Diagrammen und Vergleichen",
    "pop_basic": "Setze Entwicklungsziele und arbeite Schritt für Schritt darauf hin",
    "pop_full": "Sieh direkt, wie deine Ziele mit deinen Kampfergebnissen zusammenhängen",
    "pop_coach": "Sieh den Fortschritt und die Ziele deiner Judokas an einem zentralen Ort",
    "training_basic": "Erfasse deine Trainingseinheiten mit Dauer, Intensität und Typ",
    "training_load": "Vermeide Übertraining, indem du Belastung und Erholung im Blick behältst",
    "training_coach": "Sieh die Trainingsbelastung und den Fortschritt all deiner Judokas",
    "coach_cockpit": "Ein Dashboard mit KPIs, roten Flaggen und Monitoring all deiner Judokas"
  },
  "limitNames": {
    "max_clubs": "Vereinsmitgliedschaften",
    "max_matches_per_month": "Max. Kämpfe pro Monat",
    "max_matches_total": "Max. Kämpfe insgesamt",
    "max_opponents": "Max. Gegner",
    "max_training_logs_per_month": "Max. Trainingseinheiten pro Monat",
    "max_pop_goals": "Max. POP-Ziele"
  },
  "limitValues": {
    "unlimited": "Unbegrenzt"
  },
  "comingSoon": {
    "badge": "Demnächst",
    "statsExplorer": "Analysiere all deine Daten auf deine Weise",
    "statsExplorerDescription": "Filtere, kombiniere und analysiere all deine Kampfdaten genau so, wie du willst",
    "customReports": "Erstelle deine eigenen Berichte",
    "customReportsDescription": "Wähle deine Daten, deinen Zeitraum und deinen Diagrammtyp, völlige Freiheit, um Einblicke zu entdecken",
    "aiInsights": "KI-gestützte Einblicke",
    "aiInsightsDescription": "Lass die KI Muster entdecken, die dir selbst vielleicht entgehen"
  },
  "limits": {
    "atLimitTitle": "Limit erreicht",
    "atLimitDescription": "Du hast das Maximum von {{max}} für {{limit}} erreicht ({{current}}/{{max}}). Upgrade dein Abonnement, um mehr hinzuzufügen.",
    "approachingTitle": "Fast am Limit",
    "approachingDescription": "Du hast {{current}} von {{max}} für {{limit}} verwendet. Du kannst noch {{remaining}} hinzufügen."
  },
  "freeLimit": {
    "freeTitle": "Teste JudoLytics mit {{max}} kostenlosen Kämpfen",
    "freeDescription": "Trage bis zu {{max}} Kämpfe ein und entdecke, was JudoLytics für dich tun kann.",
    "matchProgress": "{{current}} von {{max}} kostenlosen Kämpfen",
    "matchesRemaining": "Noch {{remaining}} kostenlose Kämpfe",
    "limitReached": "Du hast bereits {{max}} kostenlose Kämpfe eingetragen",
    "limitReachedDescription": "Starte eine Testphase, um unbegrenzt Kämpfe einzutragen.",
    "addFirstMatch": "Trage deinen ersten Kampf ein",
    "freeMatches": "{{max}} kostenlose Kämpfe · keine Kreditkarte nötig",
    "continueMatches": "Oder trage noch einen kostenlosen Kampf ein ({{remaining}} übrig)"
  },
  "loading": "Lädt …",
  "feedback": {
    "toast": {
      "notLoggedIn": "Nicht angemeldet",
      "thankYou": "Danke für dein Feedback!",
      "sendError": "Feedback senden fehlgeschlagen",
      "submitted": "Wir sehen uns deine Meldung so schnell wie möglich an.",
      "tryAgainLater": "Versuch es später erneut."
    },
    "giveFeedback": "Feedback geben",
    "types": {
      "bug": "Bug",
      "feature": "Idee",
      "other": "Sonstiges"
    },
    "dialog": {
      "whatToReport": "Was möchtest du melden?",
      "describeLabel": "Beschreibe dein Feedback",
      "placeholder": "Sei so genau wie möglich. Was hast du erwartet? Was ist passiert?",
      "minChars": "Mindestens {{min}} Zeichen (noch {{remaining}})",
      "autoInfo": "Wir senden automatisch deine Seite, deinen Browser und deine Konto-Infos mit",
      "screenshotLabel": "Screenshot (optional)",
      "dropzoneText": "Zieh ein Bild hierher, füge es ein (Strg+V) oder klicke zum Hochladen",
      "sending": "Senden …",
      "submit": "Feedback senden",
      "helpImprove": "Hilf uns, JudoLytics zu verbessern"
    }
  },
  "invitations": {
    "toast": {
      "sent": "Einladung gesendet",
      "sendError": "Einladung fehlgeschlagen",
      "joined": "Du bist jetzt Mitglied von {{club}}!",
      "acceptError": "Einladung konnte nicht angenommen werden",
      "revoked": "Einladung zurückgezogen",
      "revokeError": "Einladung konnte nicht zurückgezogen werden",
      "emailFailed": "E-Mail nicht gesendet",
      "emailFailedDescription": "Die Einladung wurde erstellt, aber die E-Mail konnte nicht gesendet werden. Prüf die E-Mail-Konfiguration."
    },
    "status": {
      "pending": "Ausstehend",
      "accepted": "Angenommen",
      "expired": "Abgelaufen",
      "revoked": "Zurückgezogen"
    },
    "invalidEmail": "Gib eine gültige E-Mail-Adresse ein",
    "emailPlaceholder": "name@beispiel.de",
    "send": "Senden",
    "sentInvitations": "Gesendete Einladungen",
    "revoke": "Zurückziehen",
    "showMore": "Noch {{count}} anzeigen"
  },
  "layout": {
    "shortcutsTooltip": "Tastenkürzel (?)",
    "logout": "Abmelden",
    "loggingOut": "Abmelden …",
    "logoHome": "Zum Dashboard",
    "searchTrigger": {
      "placeholder": "Kämpfe, Gegner und mehr suchen …",
      "ariaLabel": "Suche öffnen ({{shortcut}})"
    },
    "roleBadge": {
      "admin": "Admin",
      "support": "Support"
    },
    "planLabel": "{{tier}}-Plan",
    "menu": "Menü",
    "userMenu": {
      "trigger": "Kontomenü",
      "settings": "Einstellungen",
      "language": "Sprache",
      "help": "Hilfe & Erklärung",
      "feedback": "Feedback geben",
      "logout": "Abmelden",
      "loggingOut": "Abmelden …"
    },
    "sidebar": {
      "collapse": "Einklappen",
      "expand": "Ausklappen"
    },
    "shortcuts": {
      "label": "Tastenkürzel",
      "toggle": "Tastenkürzel ein-/ausblenden",
      "newMatch": "Neuer Kampf",
      "goToDashboard": "Zum Dashboard",
      "goToMatches": "Zu den Kämpfen",
      "goToStats": "Zu den Statistiken",
      "goToOpponents": "Zu den Gegnern",
      "search": "Suchen (falls verfügbar)",
      "closeDialog": "Dialog schließen",
      "pressToOpen": "Drücke ?, um dieses Fenster zu öffnen"
    }
  },
  "quickCreate": {
    "trigger": "Schnell hinzufügen",
    "title": "Was möchtest du hinzufügen?",
    "description": "Wähle, was du erfassen möchtest.",
    "match": "Kampf",
    "matchDescription": "Neuen Kampf analysieren",
    "training": "Training",
    "trainingDescription": "Trainingseinheit erfassen",
    "measurement": "Messung",
    "measurementDescription": "Körpermessung oder Test",
    "recovery": "Erholung",
    "recoveryDescription": "Erholungs-Check ausfüllen",
    "coachSection": "Für deine Gruppe",
    "personalSection": "Für dich selbst"
  },
  "notifications": {
    "toast": {
      "paymentFailed": "Zahlung fehlgeschlagen",
      "subscriptionCanceling": "Abonnement wird gekündigt",
      "clubInvite": "Du wurdest als {{role}} in den Verein {{name}} eingeladen.",
      "freeAccount": "Gratis-Konto"
    },
    "trialEnding": "Testphase endet in {{count}} Tag",
    "trialEnding_other": "Testphase endet in {{count}} Tagen",
    "trialEndingDescription": "Nach deiner Testphase wird deine erste Zahlung verarbeitet.",
    "trialExpired": "Deine Testphase ist abgelaufen",
    "trialExpiredDescription": "Wähle ein Abonnement, um die Premium-Funktionen zu behalten.",
    "pastDueDescription": "Aktualisiere deine Zahlungsdaten, um den Zugriff zu behalten.",
    "cancelPendingDescription": "Dein Abonnement endet am {{date}}.",
    "planChangeScheduled": "Planänderung geplant",
    "planChangeDescription": "Dein Plan wird am {{date}} auf {{plan}} geändert.",
    "clubInviteTitle": "Einladung zu {{name}}",
    "freeAccountDescription": "Upgrade auf ein kostenpflichtiges Abonnement für alle Funktionen.",
    "title": "Benachrichtigungen",
    "typeWarning": "Warnung",
    "typeAction": "Aktion",
    "typeInfo": "Info",
    "actionsRequired": "{{count}} Aktion erforderlich",
    "actionsRequired_other": "{{count}} Aktionen erforderlich",
    "noActions": "Keine offenen Aktionen",
    "empty": "Keine Benachrichtigungen",
    "emptyTitle": "Du bist auf dem neuesten Stand",
    "emptyDescription": "Es gibt keine neuen Benachrichtigungen. Wir sagen dir Bescheid, wenn es etwas gibt.",
    "manageSettings": "Benachrichtigungseinstellungen",
    "markAllRead": "Alle als gelesen",
    "dismiss": "Entfernen",
    "timeJustNow": "Gerade eben",
    "timeMinutes": "vor {{count}} Min.",
    "timeHours": "vor {{count}} Std.",
    "timeDays": "vor {{count}} Tag",
    "timeDays_other": "vor {{count}} Tagen",
    "groupToday": "Heute",
    "groupYesterday": "Gestern",
    "groupEarlier": "Früher",
    "orphanedPushHint": "Push-Benachrichtigungen sind aktiv, aber kein Gerät ist verbunden. Erneut aktivieren"
  },
  "referral": {
    "extendedTrial": "Du erhältst {{days}} Tage kostenlose Testphase (normal 7 Tage)",
    "welcomeBanner": "{{name}} hat dich zu JudoLytics eingeladen!"
  },
  "trial": {
    "startButton": "Kostenlose Testphase starten ({{days}} Tage)",
    "startTitle": "Teste JudoLytics Pro gratis",
    "startDescription": "{{days}} Tage kostenloser Zugriff auf alle Pro-Funktionen. Keine Kreditkarte nötig.",
    "skipButton": "Später entscheiden",
    "noCreditCard": "Keine Kreditkarte nötig",
    "startedTitle": "Testphase gestartet!",
    "startedDescription": "Du hast {{days}} Tage Pro-Zugriff.",
    "errorNotLoggedIn": "Melde dich an, um eine Testphase zu starten.",
    "features": {
      "matches": "Kämpfe analysieren",
      "opponents": "Gegner verfolgen",
      "stats": "Statistiken & Einblicke",
      "training": "Training verfolgen"
    },
    "freeTitle": "Teste alle Funktionen",
    "freeDescription": "Starte eine kostenlose Testphase und entdecke, was JudoLytics für dich tun kann.",
    "postTrialTitle": "Deine Testphase ist vorbei",
    "postTrialDescription": "Deine Daten bleiben erhalten. Wähle ein Abonnement, um weiterzumachen.",
    "upgradeButton": "Abonnements ansehen",
    "bannerDays": "Deine Testphase läuft noch {{count}} Tag",
    "bannerDays_other": "Deine Testphase läuft noch {{count}} Tage",
    "bannerUrgent": "Deine Testphase läuft in {{hours}} Stunden ab!",
    "subscribeNow": "Jetzt abonnieren",
    "bannerPayAfter": "Jetzt abonnieren, erst nach deiner Testphase zahlen",
    "waitlistBonusTitle": "Wartelisten-Bonus",
    "waitlistBonusDescription": "Du hast zusätzliche Testtage erhalten, weil du dich über die Warteliste angemeldet hast!",
    "notNowExplore": "Jetzt nicht, ich schaue mich erst um"
  },
  "subscriptionStatus": {
    "noSubscription": "Kein Abonnement"
  },
  "not_found": {
    "message": "Hoppla! Seite nicht gefunden",
    "return_home": "Zurück zur Startseite"
  },
  "errorPages": {
    "notFound": {
      "title": "Seite nicht gefunden",
      "code": "404",
      "subtitle": "Die Seite, die du suchst, existiert nicht oder wurde verschoben.",
      "subtitleDashboard": "Diese Seite existiert nicht. Prüf die URL oder geh zurück.",
      "goHome": "Zur Startseite",
      "goDashboard": "Zum Dashboard",
      "goBack": "Zurück",
      "viewMatches": "Kämpfe ansehen",
      "viewOpponents": "Gegner ansehen"
    },
    "serverError": {
      "title": "Etwas ist schiefgelaufen",
      "code": "500",
      "subtitle": "Ein unerwarteter Fehler ist aufgetreten. Versuch es später erneut.",
      "reportProblem": "Problem melden",
      "retry": "Erneut versuchen",
      "reloadPage": "Seite neu laden"
    },
    "accessDenied": {
      "title": "Kein Zugriff",
      "code": "403",
      "subtitle": "Du hast keinen Zugriff auf diese Seite.",
      "requiredRole": "Diese Seite ist nur für {{role}} verfügbar.",
      "contactAdmin": "Wende dich an deinen Vereinsadministrator",
      "upgradePlan": "Upgrade dein Abonnement",
      "goBack": "Zurück",
      "goDashboard": "Zum Dashboard"
    },
    "roleTimeout": {
      "title": "Verbindung langsam",
      "subtitle": "Deine Rolle konnte wegen einer langsamen oder fehlenden Verbindung nicht überprüft werden. Versuch es erneut.",
      "retry": "Erneut versuchen"
    },
    "maintenance": {
      "title": "Wir arbeiten an einem Update",
      "subtitle": "JudoLytics ist wegen geplanter Wartung vorübergehend nicht verfügbar. Wir sind so schnell wie möglich wieder online.",
      "estimatedReturn": "Voraussichtlich wieder online: {{time}}",
      "statusPage": "Statusseite ansehen",
      "contactUs": "Kontakt aufnehmen"
    }
  },
  "externalLinks": {
    "viewMatchOnJudoTV": "Diesen Kampf auf JudoTV ansehen",
    "viewVideosOnJudoTV": "Videos auf JudoTV ansehen",
    "viewMatchDataOnJudobase": "Kampfdaten auf Judobase ansehen",
    "viewCompetitionOnIJF": "Wettkampf auf IJF.org ansehen",
    "opponentLabel": "Gegner",
    "viewOpponentOnIJF": "Gegner auf IJF.org ansehen",
    "viewCompetitionOnJM": "Wettkampf auf JudoManager ansehen",
    "viewProfileOnJudobase": "Profil auf Judobase ansehen",
    "ijfProfileLabel": "IJF-Profil",
    "viewProfileOnIJF": "Profil auf IJF.org ansehen",
    "viewProfileOnJM": "Profil auf JudoManager ansehen",
    "viewAltProfileOnJM": "Alternatives JudoManager-Profil ansehen"
  },
  "offlineBanner": {
    "title": {
      "offline": "Du bist offline",
      "slow": "Langsame Verbindung"
    },
    "lastSynced": "Zuletzt synchronisiert {{relativeTime}}",
    "noCache": "Keine lokalen Daten. Verbinde dich mit dem Internet, um zu laden.",
    "helpLink": "Was bedeutet das?",
    "dataAge": {
      "updatedAt": "Daten zuletzt aktualisiert um {{time}}"
    }
  },
  "offline": {
    "prepare": {
      "button": "Bereit für offline",
      "preparing": "Wird vorbereitet …",
      "done": "Fertig — {{n}} Elemente lokal gespeichert",
      "partial": "Fertig — {{n}} von {{total}} geklappt",
      "skippedSlowConnection": "Übersprungen — Verbindung zu langsam zum Vorladen",
      "error": "Vorbereitung fehlgeschlagen. Versuch es mit einer besseren Verbindung erneut."
    },
    "storage": {
      "nearlyFull": "Lokaler Speicher fast voll ({{usageMB}} / {{quotaMB}} MB). Ältere Cache-Daten werden aufgeräumt."
    },
    "queued": {
      "message": "Wird gesendet, sobald du wieder eine Verbindung hast"
    },
    "permanentFail": {
      "description": "Änderung konnte nicht gespeichert werden: {{reason}}",
      "discard": "Entfernen"
    },
    "pending": {
      "badge": "{{count}} warten auf Verbindung",
      "badgeOne": "1 Änderung wartet auf Verbindung",
      "title": "Nicht gesendete Änderungen",
      "empty": "Alle Änderungen sind synchronisiert",
      "retry": "Erneut versuchen",
      "retrying": "Wird erneut gesendet …",
      "remove": "Aus der Warteschlange entfernen",
      "statusPending": "Wartet auf Verbindung",
      "statusSyncing": "Wird gesendet",
      "statusFailed": "Fehlgeschlagen",
      "statusConflict": "Konflikt"
    },
    "reloginRequired": {
      "title": "Sitzung abgelaufen",
      "description": "Du hast {{count}} nicht gesendete Änderungen. Melde dich erneut an, um sie zu behalten.",
      "descriptionOne": "Du hast 1 nicht gesendete Änderung. Melde dich erneut an, um sie zu behalten.",
      "loginButton": "Erneut anmelden",
      "later": "Später"
    },
    "label": {
      "recoveryUpsert": "Erholungs-Check {{date}}",
      "measurementInsert": "Messung {{metric}}",
      "measurementDelete": "Messung löschen",
      "opponentNoteInsert": "Notiz zum Gegner",
      "opponentNoteUpdate": "Notiz aktualisieren",
      "opponentInsert": "Gegner {{name}}",
      "tournamentInsert": "Turnier {{name}}",
      "matchInsert": "Kampf speichern",
      "matchUpdate": "Kampf aktualisieren",
      "matchDelete": "Kampf löschen",
      "matchFields": "Kampffelder aktualisieren",
      "matchPlanInsert": "Kampfplan speichern",
      "matchPlanUpdate": "Kampfplan aktualisieren",
      "matchPlanDelete": "Kampfplan löschen",
      "matchReflectionUpsert": "Kampfreflexion speichern",
      "reflectionInsert": "Reflexion speichern",
      "reflectionUpdate": "Reflexion aktualisieren",
      "measurementSessionInsert": "Mess-Sitzung speichern",
      "measurementSessionUpdate": "Mess-Sitzung aktualisieren",
      "measurementSessionDelete": "Mess-Sitzung löschen",
      "trainingSessionInsert": "Training speichern",
      "trainingSessionUpdate": "Training aktualisieren",
      "trainingSessionDelete": "Training löschen",
      "trainingSeriesDelete": "Trainingsreihe löschen",
      "trainingSeriesTruncate": "Trainingsreihe kürzen",
      "popIndicatorUpdate": "POP-Indikator aktualisieren",
      "scoreInsert": "Wertung hinzufügen",
      "scoreDelete": "Wertung löschen"
    },
    "swUpdate": {
      "title": "App-Update verfügbar",
      "description": "Du hast {{count}} nicht synchronisierte Änderungen. Tippe, um zu aktualisieren, sobald sie synchronisiert sind.",
      "applyNow": "Jetzt aktualisieren"
    },
    "help": {
      "title": "Offline arbeiten in JudoLytics",
      "intro": "JudoLytics funktioniert auch ohne Internet. Praktisch in dojos und Turnierhallen, wo das WLAN oft schlecht ist. Unten erklären wir, wie du erkennst, ob du offline bist, was funktioniert und wie du deine Daten verwaltest.",
      "statusIcons": {
        "heading": "Was bedeuten die Status-Icons?",
        "online": {
          "title": "Online — alles wird sofort gespeichert",
          "body": "Kein Banner sichtbar. Änderungen gehen direkt an den Server."
        },
        "offline": {
          "title": "Offline — deine Änderungen warten in einer lokalen Warteschlange",
          "body": "Oben erscheint ein gelbes Banner. Du kannst ganz normal Kämpfe eintragen, Trainingseinheiten erfassen und Messungen hinzufügen. Alles wird automatisch gesendet, sobald die Verbindung zurück ist."
        },
        "pending": {
          "title": "Nicht gesendete Änderungen",
          "body": "Ein Badge im Header zeigt, wie viele Änderungen warten. Tippe darauf, um die Liste und die Option zum manuellen Synchronisieren zu sehen."
        },
        "stale": {
          "title": "Änderungen älter als 3-5 Tage",
          "body": "Eine rote Warnung erscheint, wenn du länger offline bist, als iOS zulässt (3 Tage) oder als unsere Sicherheitsmarge (5 Tage). Synchronisiere so schnell wie möglich, um Datenverlust zu vermeiden."
        }
      },
      "worksOffline": {
        "heading": "Was funktioniert offline?",
        "items": [
          "Kämpfe über den Match-Wizard eintragen (alle 5 Schritte)",
          "Trainingseinheiten erfassen und bearbeiten",
          "Messungen hinzufügen oder löschen",
          "Erholungs-Check ausfüllen",
          "Gegner anlegen und Notizen hinzufügen",
          "Kampfpläne schreiben und bearbeiten",
          "POP-Indikatoren aktualisieren und Reflexionen speichern",
          "Zuvor synchronisierte Daten ansehen (Listen, Statistiken, Profil)"
        ],
        "note": "Nicht offline: Zahlungen, Vereinseinladungen, Einstellungen für Push-Benachrichtigungen und andere Aktionen, die direkt mit dem Server kommunizieren müssen."
      },
      "faq": {
        "heading": "Häufig gestellte Fragen",
        "q1": {
          "question": "Woher weiß ich, ob mein Training gespeichert ist?",
          "answer": "Ein grüner Toast bestätigt, dass die Änderung synchronisiert ist. Bei Offline-Nutzung siehst du stattdessen einen Toast „Wird gesendet, sobald du wieder eine Verbindung hast“ und die Änderung erscheint im Pending-Badge im Header. Sobald die Verbindung zurück ist, synchronisiert JudoLytics automatisch und das Badge verschwindet."
        },
        "q2": {
          "question": "Was passiert, wenn ich mein Telefon ausschalte, während noch Änderungen warten?",
          "answer": "Deine Änderungen bleiben sicher im lokalen Speicher deines Geräts. Wenn du JudoLytics erneut öffnest, setzt die App die Synchronisierung fort, sobald du Internet hast. Auf iOS empfehlen wir, die PWA nicht länger als 3 Tage offline zu nutzen. Safari kann den Speicher sonst selbst löschen."
        },
        "q3": {
          "question": "Was, wenn ich die PWA während eines Turniers versehentlich wegwische?",
          "answer": "Keine Panik. Dein letzter Match-Wizard-Entwurf wird bewahrt: Wenn du den Wizard erneut öffnest, stehst du automatisch wieder bei dem Schritt, bei dem du warst. Zuvor eingetragene Kämpfe, die noch auf Synchronisierung warten, bleiben ebenfalls erhalten."
        },
        "q4": {
          "question": "Mein Trainer sieht meine Änderungen nicht. Was nun?",
          "answer": "Prüf das Pending-Badge in deinem Header. Steht dort eine Zahl, warten deine Änderungen noch auf eine Verbindung. Tippe auf das Blitz-Symbol, um manuell zu synchronisieren. Klappt das nicht, prüf, ob du wirklich online bist (Banner verschwunden?) und melde dich gegebenenfalls ab und wieder an."
        },
        "q5": {
          "question": "Wie viel Platz braucht JudoLytics auf meinem Gerät?",
          "answer": "Die PWA cached etwa 7-10 MB für die App selbst, plus deine eigenen Daten. Auf iOS liegt das Maximum bei 50 MB für PWAs. JudoLytics warnt automatisch, wenn der Speicher fast voll ist, und räumt ältere Cache-Daten auf."
        },
        "q6": {
          "question": "Eine Seite bleibt leer oder zeigt einen Lade-Indikator, während ich offline bin. Woran liegt das?",
          "answer": "Offline können wir nur Seiten anzeigen, die du zuvor online geöffnet hast. Bei einer frischen Installation oder einer Seite, die du noch nie ohne Netzwerk besucht hast, bleibt sie leer, bis die Verbindung zurück ist. Tipp: Öffne vor einem Turnier oder Training kurz alle Seiten, die du voraussichtlich brauchst (Kämpfe, Messungen, Gegner). Dann bleiben sie in der Halle verfügbar."
        }
      },
      "clearData": {
        "heading": "Lokale Daten löschen",
        "body": "Willst du dein Gerät weitergeben oder einen sauberen Neustart machen? Dann lösche deinen lokalen Offline-Cache. Hast du noch nicht synchronisierte Änderungen, warnen wir dich, bevor sie verschwinden.",
        "cta": "Datenschutz-Einstellungen öffnen"
      }
    },
    "stale": {
      "title": "Nicht synchronisierte Änderungen",
      "description": "Du hast {{count}} Änderungen, die {{oldestAgeDays}} Tage alt sind. Verbinde dich mit dem Internet, um sie zu behalten, sonst können sie verloren gehen.",
      "syncNow": "Jetzt synchronisieren"
    },
    "clearData": {
      "trigger": "Lokal gespeicherte Daten löschen",
      "title": "Lokale Daten löschen?",
      "description": "Dies entfernt den Offline-Cache und alle Seiten, die ohne Verbindung sichtbar waren.",
      "warningPending": "Du hast {{count}} nicht synchronisierte Änderungen, die dadurch verloren gehen. Synchronisiere zuerst, wenn du sie behalten willst.",
      "confirm": "Löschen",
      "cancel": "Abbrechen",
      "success": "Lokale Daten gelöscht",
      "error": "Lokale Daten konnten nicht gelöscht werden. Versuch es erneut."
    },
    "fallback": {
      "title": "Keine lokalen Daten zum Anzeigen",
      "titleForPage": "Noch keine {{page}} lokal gespeichert",
      "bodyOffline": "Diese Seite hast du zuvor noch nicht online geöffnet, deshalb gibt es nichts, was offline angezeigt werden könnte. Verbinde dich mit dem Internet, um den Inhalt zu laden. Sobald die Seite geladen ist, bleibt sie auch ohne Netzwerk verfügbar.",
      "bodyOnline": "Wir holen deine Daten gerade noch. Das dauert bei einer langsamen Verbindung manchmal etwas länger.",
      "retry": "Erneut versuchen",
      "learnMore": "Wie funktioniert offline?"
    },
    "audit": {
      "loading": "Audit-Log lädt …",
      "heading": "Von anderen überschriebene Korrekturen",
      "intro": "Wenn jemand offline eine Änderung an einer Zeile macht, die du inzwischen online angepasst hast, kann diese Person über den Konflikt-Resolver wählen, deine Version zu überschreiben. Unten siehst du, um welche Korrekturen es geht.",
      "rowDescription": "Zeile {{rowId}}",
      "partOfBatch": "(Teil einer Mehrfachauswahl)",
      "retentionNotice": "Audit-Datensätze werden 90 Tage aufbewahrt und danach automatisch gelöscht.",
      "tables": {
        "matches": "Kampf",
        "match_plans": "Kampfplan",
        "opponent_notes": "Gegner-Notiz",
        "opponents": "Gegner",
        "measurements": "Messung",
        "measurement_sessions": "Mess-Sitzung",
        "training_sessions": "Training",
        "goal_check_ins": "Reflexion",
        "goal_indicators": "POP-Indikator",
        "recovery_checkins": "Erholungs-Check"
      }
    },
    "lww": {
      "title": "Änderung wurde zurückgesetzt",
      "description": "Jemand hatte {{domain}} bereits online aktualisiert. Die Online-Version ist jetzt wieder zu sehen.",
      "undo": "Trotzdem meine Version behalten",
      "undoApplied": "Deine Version wurde wiederhergestellt",
      "undoFailed": "Wiederherstellen hat nicht geklappt. Versuch es erneut.",
      "domain": {
        "recovery": "deinen Erholungs-Check",
        "measurements": "diese Messung",
        "measurementSessions": "diese Mess-Sitzung",
        "opponentNotes": "diese Gegner-Notiz",
        "opponents": "diesen Gegner",
        "matches": "diesen Kampf",
        "matchPlans": "diesen Kampfplan",
        "reflections": "diese Reflexion",
        "training": "dieses Training",
        "pop": "diesen POP-Teil"
      }
    },
    "conflict": {
      "title": "Änderung kollidiert mit einem anderen Update",
      "description_one": "Es gibt {{count}} Konflikt zu prüfen",
      "description_other": "Es gibt {{count}} Konflikte zu prüfen",
      "description": "Es gibt {{count}} Konflikte zu prüfen",
      "empty": "Alle Konflikte gelöst",
      "queueProgress": "{{current}} von {{total}}",
      "resolve": "Prüfen",
      "serverHeading": "Online-Version:",
      "localHeading": "Deine Version:",
      "editedBy": "Angepasst von {{name}}, vor {{time}}",
      "fields": {
        "local": "Meine Offline-Änderung",
        "server": "Aktuelle Online-Version"
      },
      "fieldNotes": "Notiz",
      "fieldReflection": "Reflexion",
      "matchPlanFields": {
        "strategy_notes": "Strategie",
        "strengths_to_exploit": "Stärken",
        "risks_to_avoid": "Risiken"
      },
      "reflectionFields": {
        "reflection_good": "Was lief gut?",
        "reflection_improve": "Was kann besser werden?",
        "reflection_actions": "Aktionspunkte & Erkenntnisse"
      },
      "merge": {
        "fieldChooser": "Welche Version für {{field}}?"
      },
      "actions": {
        "keepLocal": "Meine Version",
        "keepLocalHint": "Erstellt vor {{time}} ({{device}})",
        "keepServer": "Online-Version",
        "keepServerHint": "Angepasst von {{name}}, vor {{time}}",
        "merge": "Zusammenführen",
        "saveMerge": "Zusammengeführte Version speichern",
        "cancel": "Abbrechen",
        "someoneElse": "jemand anderes"
      },
      "batch": {
        "heading": "{{count}} Konflikte in der Warteschlange",
        "description": "Löse sie gleichzeitig oder bearbeite sie einzeln.",
        "keepAllLocal": "Alle meine Änderungen behalten ({{count}})",
        "keepAllServer": "Alle Online-Versionen behalten ({{count}})"
      },
      "resolveFailed": "Deine Auswahl konnte nicht gespeichert werden. Das Element steht als fehlgeschlagen in der Warteschlange. Versuch es später erneut.",
      "batchPartialFail": "{{resolved}} gelöst, {{failed}} fehlgeschlagen. Fehlgeschlagene Elemente stehen in der Warteschlange.",
      "resolveRetryLater": "Deine Auswahl konnte noch nicht gespeichert werden (Netzwerkproblem). Der Konflikt bleibt bestehen. Versuch es später erneut.",
      "unknownDomain": "Unbekannte Domain: {{domain}}"
    }
  },
  "voiceInput": {
    "startAriaLabel": "Sprachdiktat starten",
    "stopAriaLabel": "Sprachdiktat stoppen",
    "consentTitle": "Sprachdiktat verwenden?",
    "consentDescription": "Dein Mikrofon wird aktiviert und das Audio wird von der Spracherkennung deines Browsers (Apple/Google) verarbeitet. JudoLytics sieht das rohe Audio nie. Fortfahren?",
    "consentAccept": "Aktivieren",
    "consentCancel": "Abbrechen",
    "interimPrefix": "Hört zu …",
    "errors": {
      "permissionDenied": "Mikrofon-Zugriff verweigert. Erlaube ihn in deinen Browser-Einstellungen und versuch es erneut.",
      "noMicrophone": "Kein Mikrofon auf diesem Gerät gefunden.",
      "network": "Spracherkennung erfordert eine Internetverbindung.",
      "langUnsupported": "Sprachdiktat ist in deiner Sprache noch nicht verfügbar.",
      "unsupported": "Dein Browser unterstützt kein Sprachdiktat. Probier Chrome oder Safari.",
      "insecureContext": "Sprachdiktat funktioniert nur über eine sichere Verbindung (HTTPS).",
      "startFailed": "Sprachdiktat konnte nicht gestartet werden. Versuch es erneut.",
      "generic": "Sprachdiktat wurde unerwartet beendet."
    }
  },
  "errorBoundary": {
    "networkTitle": "Netzwerkproblem",
    "networkDescription": "Es gibt ein Problem mit der Netzwerkverbindung. Prüf deine Internetverbindung und versuch es erneut.",
    "autoRetried": "Automatisch erneut versucht: {{count}}/{{max}}",
    "retry": "Erneut versuchen",
    "updateTitle": "Update verfügbar",
    "updateDescription": "Eine neue Version der Anwendung ist verfügbar. Lade die Seite neu, um die neueste Version zu verwenden.",
    "reloadPage": "Seite neu laden",
    "generalTitle": "Etwas ist schiefgelaufen",
    "generalDescription": "Ein unerwarteter Fehler ist aufgetreten. Versuch, die Seite neu zu laden, oder wende dich an den Support, wenn das Problem bestehen bleibt.",
    "goToDashboard": "Zum Dashboard",
    "showDetails": "Technische Details anzeigen"
  },
  "videoPlayer": {
    "ijfLocked": "IJF-Video (Abonnement erforderlich)",
    "externalVideo": "Externes Video",
    "open": "Öffnen"
  },
  "badges": {
    "title": "Abzeichen",
    "newBadgeEarned": "Neues Abzeichen verdient!",
    "newBadgeEarned_one": "{{count}} neues Abzeichen verdient!",
    "newBadgeEarned_other": "{{count}} neue Abzeichen verdient!",
    "names": {
      "first_match": "Erster Kampf",
      "profile_complete": "Profil vollständig",
      "first_club_join": "Vereinsmitglied",
      "match_10": "10 Kämpfe",
      "match_50": "50 Kämpfe",
      "match_100": "100 Kämpfe",
      "match_250": "250 Kämpfe",
      "streak_7": "7 Tage Serie",
      "streak_30": "30 Tage Serie",
      "streak_100": "100 Tage Serie",
      "recovery_streak_7": "Erholungs-Serie: 7 Tage",
      "recovery_streak_14": "Erholungs-Serie: 14 Tage",
      "recovery_streak_30": "Erholungs-Serie: 30 Tage",
      "recovery_streak_60": "Erholungs-Serie: 60 Tage",
      "recovery_streak_100": "Erholungs-Serie: 100 Tage",
      "technique_variety": "Technikmeister",
      "opponent_variety": "Vielseitiger Judoka",
      "first_reflection": "Erster Lernpunkt",
      "reflection_10": "Selbstkenner",
      "team_player": "Teamplayer",
      "mentor": "Mentor",
      "growing_club": "Wachsender Verein",
      "thriving_club": "Blühender Verein",
      "powerhouse": "Kraftzentrum",
      "recruiter": "Anwerber",
      "ambassador": "Botschafter"
    },
    "descriptions": {
      "first_match": "Deinen ersten Kampf erfasst",
      "profile_complete": "Dein Profil ist vollständig ausgefüllt",
      "first_club_join": "Mitglied deines ersten Vereins geworden",
      "match_10": "10 Kämpfe erfasst",
      "match_50": "50 Kämpfe erfasst",
      "match_100": "100 Kämpfe erfasst",
      "match_250": "250 Kämpfe erfasst",
      "streak_7": "7 Tage in Folge erfasst",
      "streak_30": "30 Tage in Folge erfasst",
      "streak_100": "100 Tage in Folge erfasst",
      "recovery_streak_7": "7 Tage in Folge deinen Erholungs-Check ausgefüllt",
      "recovery_streak_14": "14 Tage in Folge deinen Erholungs-Check ausgefüllt",
      "recovery_streak_30": "30 Tage in Folge deinen Erholungs-Check ausgefüllt",
      "recovery_streak_60": "60 Tage in Folge deinen Erholungs-Check ausgefüllt",
      "recovery_streak_100": "100 Tage in Folge deinen Erholungs-Check ausgefüllt",
      "technique_variety": "10 verschiedene Würfe verwendet",
      "opponent_variety": "Gegen 20 verschiedene Gegner gekämpft",
      "first_reflection": "Deinen ersten Lernpunkt festgehalten",
      "reflection_10": "10 Lernpunkte festgehalten",
      "team_player": "Aktiv zu deinem Verein beigetragen",
      "mentor": "Daten mit deinem Team geteilt",
      "growing_club": "Verein hat 10+ Mitglieder",
      "thriving_club": "Verein hat 25+ Mitglieder",
      "powerhouse": "Verein hat 50+ Mitglieder",
      "recruiter": "5 erfolgreiche Empfehlungen",
      "ambassador": "10 erfolgreiche Empfehlungen"
    },
    "categories": {
      "onboarding": "Onboarding",
      "activity": "Aktivität",
      "streak": "Serien",
      "diversity": "Vielfalt",
      "reflection": "Reflexion",
      "community": "Community",
      "club": "Verein",
      "referral": "Empfehlung"
    },
    "progressLabel": "{{earned}} von {{total}} Abzeichen verdient",
    "categoryProgressLabel": "Fortschritt Abzeichen: {{current}} von {{target}}"
  },
  "streaks": {
    "title": "Serien",
    "types": {
      "match_logging": "Kämpfe erfassen",
      "training_logging": "Training erfassen",
      "reflection": "Lernpunkte schreiben",
      "recovery_checkin": "Erholungs-Check machen"
    },
    "days": "Tage",
    "best": "Rekord: {{count}} Tage"
  },
  "gamification": {
    "dashboardTitle": "Erfolge",
    "recentBadges": "Neueste Abzeichen",
    "almostEarned": "Fast verdient",
    "viewAll": "Alle Abzeichen ansehen",
    "freshSealLabel": "NEU",
    "freshSealSublabel": "ABZEICHEN",
    "overallProgressLabel": "Gesamtfortschritt Abzeichen: {{pct}} %",
    "badgeProgressLabel": "Fortschritt zum Abzeichen {{name}}"
  },
  "edgeErrors": {
    "RATE_LIMIT": "Zu viele Anfragen. Versuch es später erneut.",
    "AUTH_FAILED": "Authentifizierung fehlgeschlagen. Melde dich erneut an und versuch es noch einmal.",
    "NOT_AUTHORIZED": "Du hast keine Berechtigung für diese Aktion.",
    "INTERNAL_ERROR": "Ein interner Fehler ist aufgetreten. Versuch es später erneut.",
    "ALREADY_SUBSCRIBED": "Du hast bereits ein aktives Abonnement. Nutze das Kundenportal, um dein Abonnement zu ändern.",
    "INVALID_PRICE": "Ungültiger Preis. Wende dich an den Support.",
    "NO_SUBSCRIPTION": "Du hast noch kein Abonnement abgeschlossen. Starte zuerst ein Abonnement über die Preisseite.",
    "NO_SCHEDULED_CHANGE": "Es gibt keine geplante Änderung zum Abbrechen.",
    "CANCEL_SCHEDULE_FAILED": "Fehler beim Abbrechen der geplanten Änderung. Versuch es erneut.",
    "TRIAL_ALREADY_USED": "Du hattest bereits eine Testphase.",
    "EMAIL_NOT_VERIFIED": "Bestätige zuerst deine E-Mail-Adresse, bevor du eine Testphase starten kannst.",
    "EMAIL_ALREADY_VERIFIED": "Deine E-Mail-Adresse ist bereits verifiziert.",
    "VERIFICATION_TOKEN_INVALID": "Dieser Verifizierungslink ist ungültig oder abgelaufen.",
    "TRIAL_START_FAILED": "Testphase konnte nicht gestartet werden. Versuch es erneut.",
    "SUBSCRIPTION_UPDATE_FAILED": "Abonnement aktualisieren fehlgeschlagen.",
    "SYNC_FAILED": "Fehler beim Synchronisieren. Versuch es erneut.",
    "UNKNOWN_STRIPE_PRODUCT": "Unbekanntes Stripe-Produkt.",
    "NO_STRIPE_PRODUCTS": "Das Stripe-Abonnement hat keine Produkte.",
    "FETCH_SUBSCRIPTION_FAILED": "Fehler beim Abrufen des Abonnements.",
    "CAPTCHA_REQUIRED": "CAPTCHA-Verifizierung erforderlich. Aktualisiere die Seite und versuch es erneut.",
    "CAPTCHA_FAILED": "CAPTCHA-Verifizierung fehlgeschlagen. Versuch es erneut.",
    "EMAIL_ALREADY_REGISTERED": "Diese E-Mail-Adresse ist bereits registriert.",
    "REGISTRATION_FAILED": "Registrierung fehlgeschlagen. Versuch es erneut.",
    "PROFILE_CREATION_FAILED": "Registrierung fehlgeschlagen: Profil konnte nicht angelegt werden.",
    "USER_CREATION_FAILED": "Nutzer anlegen fehlgeschlagen. Prüf die Daten und versuch es erneut.",
    "CANNOT_INVITE_SELF": "Du kannst dich nicht selbst einladen.",
    "NO_INVITE_PERMISSION": "Du hast keine Berechtigung, Mitglieder in diesen Verein einzuladen.",
    "CLUB_NOT_FOUND": "Verein nicht gefunden.",
    "ALREADY_CLUB_MEMBER": "Diese Person hat bereits ein Konto und ist schon Mitglied in diesem Verein.",
    "ALREADY_HAS_ACCOUNT": "Diese Person hat bereits ein JudoLytics-Konto.",
    "INVITATION_CREATE_FAILED": "Einladung konnte nicht erstellt werden.",
    "INVITATION_NOT_FOUND": "Einladung nicht gefunden.",
    "INVITATION_NOT_FOR_YOU": "Diese Einladung ist nicht für dein Konto.",
    "MAX_INVITATIONS_TODAY": "Du hast die maximale Anzahl an Einladungen für heute erreicht. Versuch es morgen erneut.",
    "PROFILE_UPDATE_FAILED": "Profil aktualisieren fehlgeschlagen.",
    "EMAIL_UPDATE_FAILED": "E-Mail aktualisieren fehlgeschlagen.",
    "PASSWORD_UPDATE_FAILED": "Passwort aktualisieren fehlgeschlagen.",
    "ROLE_UPDATE_FAILED": "Rolle aktualisieren fehlgeschlagen.",
    "USER_DELETE_FAILED": "Nutzer löschen fehlgeschlagen.",
    "SUBSCRIPTION_SETTING_FAILED": "Abonnement aktualisieren fehlgeschlagen.",
    "FREE_ACCOUNT_FAILED": "Gratis-Konto einrichten fehlgeschlagen.",
    "MAX_CLUBS_REACHED": "Du bist bereits in der maximalen Anzahl an Vereinen für dein Abonnement. Upgrade dein Abonnement oder verlasse zuerst einen Verein.",
    "MEMBERSHIP_ACTIVATION_FAILED": "Mitgliedschaft konnte nicht aktiviert werden.",
    "MEMBERSHIP_CREATION_FAILED": "Mitgliedschaft konnte nicht angelegt werden.",
    "INVITATION_UPDATE_FAILED": "Einladung konnte nicht aktualisiert werden.",
    "INVALID_OR_EXPIRED_LINK": "Ungültiger oder abgelaufener Link.",
    "PREFERENCES_SAVE_FAILED": "Einstellungen konnten nicht gespeichert werden.",
    "PREFERENCES_FETCH_FAILED": "Einstellungen konnten nicht abgerufen werden.",
    "MISSING_REQUIRED_FIELDS": "Nicht alle erforderlichen Felder sind ausgefüllt."
  },
  "reactivation": {
    "banner": "Dein Konto wird in {{days}} Tagen gelöscht. Reaktiviere dein Konto, um das zu verhindern.",
    "banner_0": "Dein Konto wird heute gelöscht. Reaktiviere dein Konto, um das zu verhindern.",
    "reactivate": "Reaktivieren",
    "reactivating": "Reaktivieren …",
    "success": "Dein Konto wurde erfolgreich reaktiviert!",
    "error": "Reaktivierung fehlgeschlagen. Versuch es erneut."
  },
  "tosReconsent": {
    "title": "Unsere Bedingungen wurden aktualisiert",
    "description": "Sieh dir die aktualisierten",
    "tosLink": "Allgemeinen Geschäftsbedingungen",
    "and": "und",
    "privacyLink": "Datenschutzrichtlinie",
    "accept": "Einverstanden",
    "accepting": "Bitte warten …",
    "accepted": "Danke! Du hast die aktualisierten Bedingungen akzeptiert.",
    "error": "Bedingungen konnten nicht akzeptiert werden. Versuch es erneut."
  },
  "pushPrimer": {
    "title": "Bleib auf dem Laufenden",
    "description": "Erhalte Benachrichtigungen, damit du nichts von deinem Judo-Fortschritt verpasst.",
    "benefitReminders": "Erinnerung, deine Kämpfe nach einem Turnier einzutragen",
    "benefitLoad": "Warnung, wenn deine Trainingsbelastung zu hoch wird",
    "benefitMotivation": "Motivation bei neuen persönlichen Rekorden und Serien",
    "enable": "Benachrichtigungen aktivieren",
    "notNow": "Nicht jetzt",
    "contextual": {
      "settings": {
        "title": "Check-in-Erinnerungen laufen über Push",
        "description": "Aktiviere Push-Benachrichtigungen, um jeden Morgen einen Hinweis für deinen Check-in zu bekommen, auch wenn die App geschlossen ist."
      },
      "tournament": {
        "title": "Erinnerung nach deinem Turnier?",
        "description": "Bekomme am Tag nach dem Turnier eine Benachrichtigung, um deine Kämpfe einzutragen, solange alles noch frisch ist."
      },
      "training": {
        "title": "Wissen, wie dein Training lief?",
        "description": "Bekomme nach jedem geplanten Training eine kurze Benachrichtigung, um festzuhalten, wie es lief."
      },
      "club": {
        "title": "Bleib über deinen Verein auf dem Laufenden",
        "description": "Bekomme eine Benachrichtigung, sobald deine Anfrage genehmigt wurde und wenn dein Trainer Feedback gibt."
      },
      "standalone": {
        "title": "Mach deine App komplett",
        "description": "Aktiviere Benachrichtigungen, damit Erinnerungen und Trainer-Feedback dich direkt auf diesem Gerät erreichen."
      }
    }
  },
  "pushBanner": {
    "title": "Verpass keine Erinnerung",
    "description": "Aktiviere Benachrichtigungen, um Erinnerungen und Updates zu erhalten.",
    "benefitMatches": "Kampferinnerungen",
    "benefitLoad": "Trainingserinnerungen",
    "enable": "Aktivieren",
    "later": "Später"
  },
  "progress": {
    "percentage": "{{value}} % Fortschritt"
  },
  "pwaInstall": {
    "bannerTitle": "Installiere JudoLytics auf deinem Gerät",
    "bannerDescription": "Füge JudoLytics zu deinem Startbildschirm hinzu, für das beste Erlebnis.",
    "benefitFast": "Schnelleres Laden",
    "benefitNotifications": "Push-Benachrichtigungen",
    "benefitOffline": "Funktioniert offline",
    "benefitHomeScreen": "Eigenes App-Symbol",
    "installButton": "Installieren",
    "later": "Später",
    "iosTitle": "Installiere JudoLytics",
    "iosDescription": "Füge JudoLytics in drei Schritten zu deinem Startbildschirm hinzu. Es funktioniert dann wie eine echte App.",
    "iosStep1Title": "Tippe auf das Teilen-Symbol",
    "iosStep1Desc": "Das quadratische Symbol mit dem Pfeil nach oben in der Leiste unten auf deinem Bildschirm.",
    "iosStep2Title": "Wähle „Zum Home-Bildschirm“",
    "iosStep2Desc": "Scrolle im Teilen-Menü nach unten und tippe auf „Zum Home-Bildschirm“.",
    "iosStep3Title": "Bestätige mit „Hinzufügen“",
    "iosStep3Desc": "Tippe oben rechts auf „Hinzufügen“. JudoLytics erscheint nun auf deinem Startbildschirm.",
    "iosShareLabel": "Teilen",
    "iosAddLabel": "Zum Home-Bildschirm",
    "iosDoneHint": "Nach der Installation öffnet sich JudoLytics als vollwertige App, mit Push-Benachrichtigungen und Offline-Zugriff.",
    "openInAppTitle": "Die JudoLytics-App ist installiert",
    "openInAppDescription": "Öffne die App für das beste Erlebnis mit Push-Benachrichtigungen und Offline-Zugriff.",
    "openApp": "App öffnen"
  },
  "table": {
    "sortBy": "Sortieren nach {{column}}",
    "sortedAscending": "Aufsteigend sortiert",
    "sortedDescending": "Absteigend sortiert",
    "notSorted": "Nicht sortiert"
  },
  "optionalFields": {
    "show_one": "+ {{count}} Feld anzeigen",
    "show_other": "+ {{count}} Felder anzeigen",
    "hide": "Weniger anzeigen",
    "seenInlineToast": "Möchtest du dieses Feld öfter sehen?",
    "seenInlineAction": "Immer anzeigen"
  },
  "forms": {
    "draftRestored": {
      "text": "Nicht gespeicherter Entwurf wiederhergestellt.",
      "discard": "Leeren"
    }
  },
  "sharing": {
    "title": "Wer kann das sehen?",
    "change": "ändern",
    "changeAria": "Ändere, wer das sehen kann",
    "shareWithClubs": "Mit Vereinen teilen",
    "privateOnlyHint": "Nur für dich sichtbar",
    "saveAsDefault": "Als meinen Standard festlegen",
    "updateDefault": "Standard aktualisieren",
    "saveAsDefaultHint": "Verwende diese Auswahl standardmäßig für neue Elemente",
    "saveDefaultSuccess": "Teilen-Standard gespeichert",
    "saveDefaultError": "Teilen-Standard nicht gespeichert",
    "applyChange": "Anwenden",
    "defaultScopeHint": "Das ist dein Standard für diesen Typ. Eine Änderung gilt für all deine Elemente dieser Art.",
    "advancedPerClub": "Pro Verein festlegen",
    "clearDefault": "Jedes Mal erneut fragen",
    "clearDefaultSuccess": "Teilen-Standard entfernt",
    "overrideLabel": "angepasst",
    "overrideTooltip": "Weicht von deinem Standard ab",
    "scopes": {
      "private": {
        "label": "Nur ich",
        "description": "Nur du siehst das. Trainer und Vereinskollegen sehen das nicht."
      },
      "coaches": {
        "label": "Trainer",
        "description": "Trainer der ausgewählten Vereine sehen das. Vereinskollegen nicht."
      },
      "club": {
        "label": "Verein",
        "description": "Trainer und Vereinskollegen der ausgewählten Vereine sehen das."
      }
    },
    "summary": {
      "private": "Nur für dich sichtbar",
      "coachesWith": "Geteilt mit Trainern bei {{clubs}}",
      "clubWith": "Geteilt mit {{clubs}}",
      "popCoaches": "Sichtbar für deine Trainer",
      "popClubMembers": "Sichtbar für Trainer und Vereinskollegen",
      "noClubs": "keine Vereine ausgewählt",
      "clubsCount": "{{first}} +{{count}} weitere"
    },
    "pop": {
      "visibleToCoaches": "Trainer",
      "visibleToCoachesHint": "Deine Trainer können deine Ziele und dein Feedback lesen.",
      "visibleToMembers": "Vereinskollegen",
      "visibleToMembersHint": "Andere Vereinsmitglieder können deine Ziele sehen."
    },
    "measurements": {
      "all": "Alle Vereine",
      "none": "Nur ich",
      "allHint": "Neue Messungen werden automatisch mit all deinen aktiven Vereinen geteilt.",
      "noneHint": "Neue Messungen bleiben privat. Deine Trainer sehen sie nicht.",
      "selectedHint": "Neue Messungen werden nur mit den Vereinen geteilt, die du unten auswählst."
    },
    "settings": {
      "title": "Teilen-Einstellungen",
      "description": "Lege einmal fest, wie du neue Elemente teilen möchtest. Du kannst es pro Element trotzdem noch anpassen.",
      "domains": {
        "matches": "Kampfpläne",
        "opponents": "Gegner-Notizen",
        "pop": "Entwicklungsplan (POP)",
        "measurements": "Messungen"
      },
      "noClubs": "Werde Mitglied in einem Verein oder erstelle einen, um Elemente mit Trainern und Vereinskollegen zu teilen.",
      "notSetYet": "Noch nicht festgelegt. Der Standardwert wird verwendet.",
      "resetButton": "Jedes Mal erneut fragen",
      "trackedSummary": "Jetzt: {{summary}}"
    },
    "visibilityPrefix": "Sichtbarkeit",
    "variesPerClub": "Unterscheidet sich pro Verein"
  },
  "subscription": {
    "source": {
      "personal": "Persönlich",
      "club": "Über {{clubName}}",
      "adminGrant": "Zugewiesen",
      "none": "—"
    },
    "lifecycle": {
      "active": "Aktiv",
      "trial": "Testphase",
      "pastDue": "Überfällig",
      "canceledActive": "Endet am {{date}}",
      "expired": "Abgelaufen",
      "none": "Inaktiv"
    },
    "trial": {
      "daysLeft": "{{count}} T.",
      "hoursLeft": "{{count}} Std.",
      "hoursLeftLastHour": "<1 Std."
    },
    "paymentMode": {
      "stripe": "Stripe",
      "manual": "Manuell"
    }
  },
  "wizard": {
    "progressAriaLabel": "Wizard-Fortschritt"
  },
  "a11y": {
    "refresh": "Aktualisieren",
    "close": "Schließen",
    "toggleSidebar": "Navigationsleiste ein-/ausklappen",
    "breadcrumb": "Brotkrümel-Navigation"
  },
  "brand": {
    "logoAltText": "JudoLytics Startseite"
  }
}
