{
  "common": {
    "appName": "CannaManage",
    "loading": "Laden...",
    "save": "Speichern",
    "cancel": "Abbrechen",
    "delete": "Löschen",
    "edit": "Bearbeiten",
    "create": "Erstellen",
    "search": "Suchen",
    "filter": "Filtern",
    "export": "Exportieren",
    "back": "Zurück",
    "next": "Weiter",
    "confirm": "Bestätigen",
    "yes": "Ja",
    "no": "Nein",
    "noData": "Keine Daten vorhanden"
  },
  "nav": {
    "dashboard": "Dashboard",
    "members": "Mitglieder",
    "stock": "Bestand",
    "distributions": "Ausgaben",
    "compliance": "Compliance",
    "reports": "Berichte",
    "settings": "Einstellungen",
    "staff": "Personal",
    "portal": "Mitgliederportal"
  },
  "auth": {
    "login": "Anmelden",
    "logout": "Abmelden",
    "email": "E-Mail-Adresse",
    "password": "Passwort",
    "forgotPassword": "Passwort vergessen?",
    "resetPassword": "Passwort zurücksetzen",
    "loginButton": "Anmelden",
    "loggingIn": "Wird angemeldet...",
    "loginSubtitle": "Melde dich bei deinem Anbauverein an",
    "invalidCredentials": "Ungültige E-Mail-Adresse oder Passwort.",
    "networkError": "Verbindungsfehler. Bitte versuche es erneut.",
    "sessionExpired": "Deine Sitzung ist abgelaufen. Bitte melde dich erneut an.",
    "emailInvalid": "Bitte gib eine gültige E-Mail-Adresse ein.",
    "passwordRequired": "Bitte gib dein Passwort ein.",
    "passwordTooShort": "Passwort muss mindestens 8 Zeichen lang sein.",
    "footerText": "Sichere Verwaltung für deinen Cannabis-Anbauverein"
  },
  "dashboard": {
    "title": "Dashboard",
    "activeMembers": "Aktive Mitglieder",
    "distributionsToday": "Ausgaben heute",
    "stockLevel": "Lagerbestand",
    "monthlyQuota": "Monatliches Kontingent",
    "quickActions": "Schnellaktionen",
    "newDistribution": "Neue Ausgabe",
    "addMember": "Mitglied hinzufügen",
    "recentDistributions": "Letzte Ausgaben",
    "stockByStrain": "Bestand nach Sorte",
    "date": "Datum",
    "member": "Mitglied",
    "strain": "Sorte",
    "amount": "Menge (g)",
    "staff": "Personal",
    "grams": "g",
    "today": "Heute",
    "trend": "+{value}% ggü. Vormonat",
    "quotaUsed": "{value}% verbraucht",
    "distributionCount": "{count} Ausgaben, {grams}g"
  },
  "members": {
    "title": "Mitgliederverwaltung",
    "addMember": "Mitglied hinzufügen",
    "name": "Name",
    "email": "E-Mail",
    "status": "Status",
    "memberSince": "Mitglied seit",
    "quota": "Kontingent",
    "actions": "Aktionen",
    "edit": "Bearbeiten",
    "active": "Aktiv",
    "suspended": "Gesperrt",
    "expelled": "Ausgeschlossen",
    "back": "Zurück zur Liste",
    "save": "Speichern",
    "create": "Mitglied anlegen",
    "firstName": "Vorname",
    "lastName": "Nachname",
    "dateOfBirth": "Geburtsdatum",
    "phone": "Telefon",
    "memberNumber": "Mitgliedsnummer",
    "joinedAt": "Beitrittsdatum",
    "notes": "Notizen",
    "notesPlaceholder": "Optionale Anmerkungen zum Mitglied...",
    "under21Warning": "Unter 21 — reduziertes Kontingent (30g/Monat)",
    "ageError": "Mitglieder müssen mindestens 18 Jahre alt sein.",
    "saved": "Änderungen gespeichert.",
    "created": "Mitglied erfolgreich angelegt.",
    "search": "Name oder E-Mail suchen...",
    "perPage": "Pro Seite",
    "showing": "{from}–{to} von {total}",
    "previous": "Zurück",
    "next": "Weiter",
    "noResults": "Keine Mitglieder gefunden.",
    "notFound": "Mitglied nicht gefunden.",
    "personalInfo": "Persönliche Daten",
    "membershipInfo": "Mitgliedschaft"
  },
  "stock": {
    "title": "Lager & Chargen",
    "newBatch": "Neue Charge",
    "stockOverview": "Bestandsübersicht",
    "batchId": "Chargen-ID",
    "strain": "Sorte",
    "thc": "THC %",
    "cbd": "CBD %",
    "status": "Status",
    "available": "Verfügbar",
    "availableGrams": "Verfügbar (g)",
    "receivedAt": "Eingangsdatum",
    "actions": "Aktionen",
    "statusAvailable": "Verfügbar",
    "statusRecalled": "Rückruf",
    "statusDepleted": "Aufgebraucht",
    "recall": "Rückruf",
    "recallConfirm": "Charge wirklich zurückrufen? Alle offenen Ausgaben mit dieser Charge werden blockiert.",
    "recallTitle": "Charge zurückrufen",
    "recallSuccess": "Charge zurückgerufen.",
    "totalBatches": "Chargen gesamt",
    "availableStock": "Verfügbarer Bestand",
    "recalledBatches": "Zurückgerufene Chargen",
    "strainCount": "Sorten",
    "filterAll": "Alle",
    "filterAvailable": "Nur verfügbar",
    "filterRecalled": "Nur Rückrufe",
    "addBatch": "Charge anlegen",
    "strainName": "Sortenname",
    "amount": "Menge (g)",
    "supplier": "Lieferant / Herkunft",
    "harvestDate": "Erntedatum",
    "notes": "Notizen",
    "notesPlaceholder": "Optionale Bemerkungen zur Charge...",
    "created": "Charge erfolgreich angelegt.",
    "grams": "g",
    "confirmRecall": "Rückruf bestätigen",
    "lowStock": "Niedrig"
  },
  "distributions": {
    "title": "Ausgaben",
    "newDistribution": "Neue Ausgabe",
    "todaySummary": "Heute: {count} Ausgaben, {grams}g verteilt",
    "dateTime": "Datum/Uhrzeit",
    "member": "Mitglied",
    "strain": "Sorte",
    "amount": "Menge (g)",
    "staff": "Personal",
    "status": "Status",
    "completed": "Abgeschlossen",
    "locked": "Gesperrt (unveränderbar)",
    "filterToday": "Heute",
    "filterWeek": "Diese Woche",
    "filterMonth": "Diesen Monat",
    "searchMember": "Mitglied suchen...",
    "step1": "Mitglied auswählen",
    "step2": "Kontingent prüfen",
    "step3": "Sorte & Menge",
    "step4": "Bestätigung",
    "selectMember": "Mitglied suchen (Name oder Nummer)...",
    "memberBlocked": "Mitglied ist gesperrt — keine Ausgabe möglich.",
    "under21Info": "Reduziertes Kontingent: 30g/Monat (unter 21)",
    "dailyRemaining": "Tagesrest",
    "monthlyRemaining": "Monatsrest",
    "selectBatch": "Charge auswählen",
    "available": "verfügbar",
    "amountLabel": "Menge in Gramm",
    "exceedsDaily": "Überschreitet das Tageslimit ({limit}g).",
    "exceedsMonthly": "Überschreitet das Monatslimit ({limit}g).",
    "exceedsBatch": "Nicht genügend Bestand in dieser Charge.",
    "confirm": "Ausgabe bestätigen",
    "summary": "Zusammenfassung",
    "success": "Ausgabe erfolgreich erfasst.",
    "grams": "g",
    "date": "Datum",
    "monthlyQuota": "Monatsquote",
    "remaining": "Verbleibend"
  },
  "reports": {
    "title": "Berichte",
    "monthly": "Monatsbericht",
    "monthlyDesc": "Übersicht aller Ausgaben im gewählten Monat, inkl. Mitglieder-Kontingente und Lagerveränderungen.",
    "memberList": "Mitgliederliste",
    "memberListDesc": "Vollständige Mitgliederliste mit Status, Kontingent-Auslastung und Kontaktdaten.",
    "recall": "Rückruf-Bericht",
    "recallDesc": "Alle Chargen mit Rückruf-Status und betroffene Ausgaben für Behörden-Meldung.",
    "downloadPdf": "Als PDF herunterladen",
    "downloadCsv": "Als CSV herunterladen",
    "preview": "Vorschau anzeigen",
    "generating": "Bericht wird generiert...",
    "downloaded": "{name} heruntergeladen.",
    "selectMonth": "Monat wählen",
    "selectStatus": "Status filtern",
    "allStatuses": "Alle",
    "activeOnly": "Aktiv",
    "suspendedOnly": "Gesperrt",
    "dateFrom": "Von",
    "dateTo": "Bis",
    "previewTitle": "Berichts-Vorschau",
    "totalDistributions": "Ausgaben gesamt",
    "totalGrams": "Gramm gesamt",
    "uniqueMembers": "Verschiedene Mitglieder",
    "averagePerMember": "Ø pro Mitglied",
    "topStrains": "Top-Sorten",
    "affectedDistributions": "Betroffene Ausgaben",
    "affectedMembers": "Betroffene Mitglieder",
    "recalledBatches": "Zurückgerufene Chargen",
    "close": "Schließen",
    "complianceNote": "Dieser Bericht ist für die Vorlage bei der zuständigen Behörde geeignet.",
    "complianceBadge": "§19 KCanG konform",
    "auditTrail": "Alle Berichte werden mit Zeitstempel generiert. Die zugrunde liegenden Ausgabe-Daten sind unveränderbar (Audit-Trail).",
    "memberNumber": "Nr.",
    "name": "Name",
    "status": "Status",
    "joinedAt": "Beitritt",
    "usage": "Verbrauch",
    "strain": "Sorte",
    "grams": "Gramm",
    "percent": "Anteil",
    "batchId": "Chargen-ID",
    "recalledAt": "Rückruf am",
    "reason": "Grund",
    "distributed": "Verteilt",
    "original": "Original"
  },
  "portal": {
    "title": "Mein Bereich",
    "login": "Mitglieder-Login",
    "loginSubtitle": "Melde dich im Mitgliederportal an",
    "email": "E-Mail-Adresse",
    "password": "Passwort",
    "loginButton": "Anmelden",
    "loggingIn": "Wird angemeldet...",
    "invalidCredentials": "Ungültige E-Mail-Adresse oder Passwort.",
    "networkError": "Verbindungsfehler. Bitte versuche es erneut.",
    "welcome": "Willkommen zurück, {name}!",
    "dashboard": "Übersicht",
    "infoBoard": "Ankündigungen",
    "events": "Termine",
    "forum": "Forum",
    "quota": "Mein Kontingent",
    "history": "Ausgabe-Verlauf",
    "profile": "Profil",
    "settings": "Einstellungen",
    "logout": "Abmelden",
    "dailyQuota": "Tageskontingent",
    "monthlyQuota": "Monatskontingent",
    "remaining": "verbleibend",
    "used": "verbraucht",
    "of": "von",
    "lastDistribution": "Letzte Ausgabe",
    "noDistributions": "Noch keine Ausgaben in diesem Monat.",
    "memberSince": "Mitglied seit",
    "memberNumber": "Mitgliedsnummer",
    "nextAvailable": "Nächste Verfügbarkeit",
    "nextAvailableTomorrow": "Morgen ab 00:00 Uhr",
    "changePassword": "Passwort ändern",
    "currentPassword": "Aktuelles Passwort",
    "newPassword": "Neues Passwort",
    "confirmPassword": "Passwort bestätigen",
    "passwordChanged": "Passwort erfolgreich geändert.",
    "passwordMismatch": "Passwörter stimmen nicht überein.",
    "club": "Mein Verein",
    "quotaWarning": "Achtung: Du hast bereits {percent}% deines Monatskontingents verbraucht.",
    "under21Notice": "Für Mitglieder unter 21: Reduziertes Kontingent von 30g/Monat (§19 Abs. 3 KCanG).",
    "grams": "g",
    "date": "Datum",
    "strain": "Sorte",
    "amount": "Menge",
    "recordedBy": "Ausgegeben von",
    "noHistory": "Noch keine Ausgaben vorhanden.",
    "personalInfo": "Persönliche Daten",
    "language": "Sprache",
    "theme": "Design",
    "themeLight": "Hell",
    "themeDark": "Dunkel",
    "themeSystem": "System",
    "german": "Deutsch",
    "english": "Englisch",
    "quickInfo": "Kurzinfo",
    "todayAvailable": "Heute noch verfügbar",
    "monthAvailable": "Diesen Monat noch verfügbar",
    "limitReached": "Limit erreicht",
    "pagination": "{from}–{to} von {total}",
    "previous": "Zurück",
    "next": "Weiter",
    "allMonths": "Alle Monate",
    "footerText": "Cannabis-Anbauverein — Sichere Mitgliederverwaltung",
    "adminLogin": "Zum Admin-Login"
  },
  "staff": {
    "title": "Personal",
    "invite": "Neues Mitglied einladen",
    "name": "Name",
    "email": "E-Mail",
    "role": "Rolle",
    "permissions": "Berechtigungen",
    "status": "Status",
    "actions": "Aktionen",
    "active": "Aktiv",
    "revoked": "Widerrufen",
    "invited": "Eingeladen",
    "editPermissions": "Berechtigungen bearbeiten",
    "revokeAccess": "Zugang widerrufen",
    "revokeConfirm": "Zugang für {name} wirklich widerrufen? Der Mitarbeiter kann sich nicht mehr anmelden.",
    "revokeSuccess": "Zugang widerrufen.",
    "inviteTitle": "Mitarbeiter einladen",
    "inviteDesc": "Neues Teammitglied per E-Mail einladen und Berechtigungen zuweisen.",
    "inviteEmail": "E-Mail-Adresse",
    "inviteRole": "Rollenvorlage",
    "roleAusgabe": "Ausgabe",
    "roleLager": "Lager",
    "roleVorstand": "Vorstand",
    "roleCustom": "Benutzerdefiniert",
    "inviteSend": "Einladung senden",
    "inviteSuccess": "Einladung an {email} gesendet.",
    "permRecordDistribution": "Ausgabe erfassen",
    "permViewMemberList": "Mitgliederliste einsehen",
    "permViewMemberQuota": "Kontingent einsehen",
    "permAddMember": "Mitglieder anlegen",
    "permViewStock": "Lager einsehen",
    "permRecordStockIn": "Wareneingang",
    "permViewComplianceReport": "Berichte einsehen",
    "permManageGrowCalendar": "Anbaukalender verwalten",
    "savePermissions": "Speichern",
    "permissionsSaved": "Berechtigungen aktualisiert.",
    "cancel": "Abbrechen",
    "noStaff": "Noch keine Mitarbeiter vorhanden."
  },
  "api": {
    "loading": "Wird geladen...",
    "error": "Fehler beim Laden der Daten.",
    "retry": "Erneut versuchen",
    "offline": "Keine Verbindung zum Server — Daten könnten veraltet sein.",
    "networkError": "Netzwerkfehler. Bitte prüfe deine Verbindung.",
    "unauthorized": "Sitzung abgelaufen. Bitte erneut anmelden.",
    "forbidden": "Keine Berechtigung für diese Aktion.",
    "notFound": "Ressource nicht gefunden.",
    "quotaExceeded": "Kontingent überschritten.",
    "serverError": "Serverfehler. Bitte versuche es später erneut."
  },
  "consent": {
    "title": "Datenschutz-Einwilligung",
    "dataProcessing": "Datenverarbeitung",
    "dataProcessingDesc": "Ich willige ein, dass meine personenbezogenen Daten (Name, E-Mail, Geburtsdatum, Ausgabe-Historie) zum Zweck der Vereinsverwaltung verarbeitet werden. Rechtsgrundlage: Art. 6 Abs. 1 lit. a DSGVO.",
    "marketing": "Marketing-Benachrichtigungen",
    "marketingDesc": "Ich möchte über neue Funktionen und Angebote informiert werden.",
    "accept": "Ich stimme zu",
    "reject": "Ablehnen und Konto löschen",
    "required": "Erforderlich",
    "revoke": "Einwilligung widerrufen",
    "revokeWarning": "Ohne Einwilligung zur Datenverarbeitung kann der Dienst nicht genutzt werden.",
    "granted": "Erteilt am",
    "revoked": "Widerrufen"
  },
  "dsgvo": {
    "title": "Datenschutz",
    "export": "Meine Daten exportieren",
    "exportDesc": "Laden Sie alle über Sie gespeicherten Daten als JSON-Datei herunter (Art. 15 DSGVO).",
    "exportButton": "Daten herunterladen",
    "exporting": "Daten werden zusammengestellt...",
    "exported": "Datenexport heruntergeladen.",
    "delete": "Konto und Daten löschen",
    "deleteDesc": "Alle personenbezogenen Daten werden unwiderruflich gelöscht oder anonymisiert (Art. 17 DSGVO). Ausgabe-Daten bleiben anonymisiert erhalten (gesetzliche Aufbewahrungspflicht).",
    "deleteButton": "Konto endgültig löschen",
    "deleteConfirm": "Bist du sicher? Diese Aktion kann nicht rückgängig gemacht werden.",
    "deleteSuccess": "Dein Konto wurde gelöscht. Du wirst jetzt abgemeldet."
  },
  "billing": {
    "title": "Plan & Abrechnung",
    "currentPlan": "Aktueller Plan",
    "trial": "Testphase",
    "starter": "Starter",
    "pro": "Pro",
    "enterprise": "Enterprise",
    "trialEnds": "Testphase endet am {date}",
    "trialExpired": "Deine Testphase ist abgelaufen. Wähle einen Plan, um fortzufahren.",
    "trialDaysLeft": "{days} Tage verbleibend",
    "memberLimit": "Mitglieder-Limit",
    "membersUsed": "{used} / {limit} Mitglieder",
    "price": "{price}/Monat",
    "nextBilling": "Nächste Abrechnung",
    "upgrade": "Plan upgraden",
    "manageBilling": "Zahlungsdetails verwalten",
    "invoices": "Rechnungen",
    "noInvoices": "Noch keine Rechnungen.",
    "starterDesc": "Für kleine Vereine bis 30 Mitglieder",
    "proDesc": "Für wachsende Vereine bis 100 Mitglieder",
    "enterpriseDesc": "Für große Vereine — unbegrenzte Mitglieder",
    "starterPrice": "€19",
    "proPrice": "€49",
    "enterprisePrice": "Auf Anfrage",
    "selectPlan": "Plan wählen",
    "active": "Aktiv",
    "pastDue": "Zahlung ausstehend",
    "canceled": "Gekündigt"
  },
  "audit": {
    "title": "Audit-Protokoll",
    "subtitle": "Unveränderliches Protokoll aller Vorgänge (10 Jahre Aufbewahrung)",
    "timestamp": "Zeitstempel",
    "type": "Typ",
    "description": "Beschreibung",
    "actor": "Akteur",
    "entity": "Objekt",
    "filterType": "Ereignistyp filtern",
    "filterDateFrom": "Von",
    "filterDateTo": "Bis",
    "filterActor": "Akteur suchen",
    "exportPdf": "Als PDF exportieren",
    "exporting": "PDF wird generiert...",
    "exported": "Audit-Protokoll exportiert.",
    "allTypes": "Alle Typen",
    "immutable": "Unveränderbar",
    "timezone": "Europe/Berlin",
    "retentionNote": "Aufbewahrungsfrist: 10 Jahre (KCanG-konform)",
    "types": {
      "DISTRIBUTION_RECORDED": "Ausgabe erfasst",
      "DISTRIBUTION_VOIDED": "Ausgabe storniert",
      "MEMBER_CREATED": "Mitglied angelegt",
      "MEMBER_UPDATED": "Mitglied aktualisiert",
      "MEMBER_SUSPENDED": "Mitglied gesperrt",
      "MEMBER_EXPELLED": "Mitglied ausgeschlossen",
      "BATCH_CREATED": "Charge angelegt",
      "BATCH_RECALLED": "Charge zurückgerufen",
      "LOGIN_SUCCESS": "Anmeldung",
      "LOGIN_FAILED": "Fehlgeschlagene Anmeldung",
      "LOGOUT": "Abmeldung",
      "PASSWORD_CHANGED": "Passwort geändert",
      "STAFF_INVITED": "Mitarbeiter eingeladen",
      "STAFF_PERMISSIONS_CHANGED": "Berechtigungen geändert",
      "STAFF_REVOKED": "Zugang entzogen",
      "CONSENT_GRANTED": "Einwilligung erteilt",
      "CONSENT_REVOKED": "Einwilligung widerrufen",
      "DATA_EXPORTED": "Daten exportiert",
      "DATA_DELETED": "Daten gelöscht",
      "SUBSCRIPTION_STARTED": "Abo gestartet",
      "SUBSCRIPTION_CANCELED": "Abo gekündigt",
      "PAYMENT_RECEIVED": "Zahlung erhalten",
      "PAYMENT_FAILED": "Zahlung fehlgeschlagen"
    }
  },
  "grow": {
    "title": "Anbau-Kalender",
    "newGrow": "Neuen Anbau starten",
    "name": "Anbau-Name",
    "strain": "Sorte",
    "stage": "Phase",
    "startedAt": "Gestartet am",
    "expectedHarvest": "Erwartete Ernte",
    "daysInStage": "Tage in Phase",
    "stages": {
      "SEEDLING": "Sämling",
      "VEGETATIVE": "Vegetativ",
      "FLOWERING": "Blüte",
      "HARVEST": "Ernte",
      "DRYING": "Trocknung",
      "CURING": "Fermentierung",
      "COMPLETE": "Abgeschlossen"
    },
    "advanceStage": "Nächste Phase",
    "completeHarvest": "Ernte abschließen",
    "harvestGrams": "Erntemenge (g)",
    "linkBatch": "Mit Charge verknüpfen",
    "sensors": "Sensordaten",
    "addReading": "Messwert hinzufügen",
    "temperature": "Temperatur",
    "humidity": "Luftfeuchtigkeit",
    "co2": "CO₂",
    "ph": "pH-Wert",
    "ec": "EC-Wert",
    "photos": "Fotos",
    "addPhoto": "Foto hinzufügen",
    "caption": "Beschriftung",
    "feeding": "Düngung",
    "addFeeding": "Düngung hinzufügen",
    "nutrient": "Nährstoff",
    "amountMl": "Menge (ml)",
    "waterLiters": "Wasser (L)",
    "phAfter": "pH danach",
    "ecAfter": "EC danach",
    "timeline": "Verlauf",
    "noGrows": "Noch keine Anbau-Einträge.",
    "created": "Anbau gestartet.",
    "stageAdvanced": "Phase gewechselt zu {stage}.",
    "harvestComplete": "Ernte abgeschlossen — {grams}g verknüpft mit Charge."
  },
  "notifications": {
    "title": "Benachrichtigungen",
    "markAllRead": "Alle als gelesen markieren",
    "noNotifications": "Keine Benachrichtigungen",
    "unread": "{count} ungelesen",
    "types": {
      "QUOTA_WARNING": "Kontingent-Warnung",
      "BATCH_RECALLED": "Chargen-Rückruf",
      "DISTRIBUTION_RECORDED": "Ausgabe erfasst",
      "SUBSCRIPTION_EXPIRING": "Abo läuft bald ab",
      "ADMIN_MESSAGE": "Vereins-Nachricht",
      "INFO_BOARD_POST": "Neuer Aushang",
      "FORUM_REPLY": "Forum-Antwort",
      "FORUM_MENTION": "Forum-Erwähnung"
    },
    "compose": {
      "title": "Benachrichtigung verfassen",
      "titleField": "Titel",
      "messageField": "Nachricht",
      "linkField": "Link (optional)",
      "targetAll": "Alle Mitglieder",
      "targetSelected": "Ausgewählte Mitglieder",
      "selectMembers": "Mitglieder auswählen",
      "send": "Senden",
      "sending": "Wird gesendet...",
      "sent": "Benachrichtigung gesendet an {count} Mitglieder",
      "history": "Verlauf",
      "sentAt": "Gesendet am",
      "recipients": "Empfänger",
      "readCount": "Gelesen"
    },
    "preferences": {
      "title": "Benachrichtigungs-Einstellungen",
      "inApp": "In-App (immer aktiv)",
      "email": "E-Mail",
      "webPush": "Browser Push-Benachrichtigungen",
      "mobilePush": "Mobile Push-Benachrichtigungen",
      "enabled": "Aktiviert",
      "disabled": "Deaktiviert"
    },
    "push": {
      "promptTitle": "Push-Benachrichtigungen aktivieren?",
      "promptBody": "Erhalte Benachrichtigungen über Ausgaben, Events und Vereins-News direkt auf dein Gerät.",
      "accept": "Aktivieren",
      "decline": "Nicht jetzt",
      "granted": "Push-Benachrichtigungen aktiviert",
      "denied": "Push-Benachrichtigungen abgelehnt"
    },
    "devices": {
      "title": "Registrierte Geräte",
      "noDevices": "Keine Geräte registriert",
      "remove": "Entfernen",
      "web": "Web-Browser",
      "ios": "iPhone/iPad",
      "android": "Android-Gerät"
    }
  },
  "pwa": {
    "install": "Als App installieren",
    "installDesc": "Für schnelleren Zugriff CannaManage auf dem Startbildschirm hinzufügen.",
    "offline": "Keine Internetverbindung",
    "offlineDesc": "Die App funktioniert eingeschränkt im Offline-Modus.",
    "retry": "Erneut verbinden"
  },
  "marketing": {
    "pricing": {
      "title": "Einfache, transparente Preise",
      "subtitle": "Starte kostenlos und wachse mit deinem Verein. Keine versteckten Kosten, jederzeit kündbar.",
      "trialBadge": "3 Monate kostenlos testen",
      "popular": "Beliebt",
      "perMonth": "Monat",
      "contactUs": "Auf Anfrage",
      "startTrial": "Kostenlos starten",
      "contactSales": "Kontakt aufnehmen",
      "comparisonTitle": "Funktionsvergleich",
      "feature": "Funktion",
      "faqTitle": "Häufig gestellte Fragen",
      "ctaTitle": "Bereit für die digitale Vereinsverwaltung?",
      "ctaSubtitle": "Starte jetzt mit 3 Monaten kostenloser Testphase. Keine Kreditkarte erforderlich.",
      "ctaButton": "Jetzt kostenlos starten",
      "plans": {
        "starter": {
          "name": "Starter",
          "description": "Für kleine Anbauvereine mit bis zu 30 Mitgliedern.",
          "memberNote": "Bis zu {limit} Mitglieder"
        },
        "pro": {
          "name": "Pro",
          "description": "Für wachsende Vereine mit erweiterten Anforderungen.",
          "memberNote": "Bis zu {limit} Mitglieder"
        },
        "enterprise": {
          "name": "Enterprise",
          "description": "Für große Vereine und Verbände mit individuellen Anforderungen.",
          "memberNote": "Unbegrenzte Mitglieder"
        }
      },
      "features": {
        "memberManagement": "Mitgliederverwaltung",
        "distributionTracking": "Ausgabenverfolgung mit THC-Tracking",
        "complianceReports": "Compliance-Berichte (PDF & CSV)",
        "quotaMonitoring": "Kontingent-Überwachung (25g/Tag, 50g/Monat)",
        "memberPortal": "Mitgliederportal (Selbstauskunft)",
        "emailSupport": "E-Mail-Support",
        "allStarter": "Alles aus Starter",
        "growCalendar": "Anbaukalender mit Sensordaten",
        "staffManagement": "Personalverwaltung & Rollen",
        "advancedReports": "Erweiterte Berichte & Statistiken",
        "pdfExport": "PDF-Dokumentenexport",
        "apiAccess": "API-Zugang",
        "prioritySupport": "Prioritäts-Support",
        "allPro": "Alles aus Pro",
        "unlimitedMembers": "Unbegrenzte Mitglieder",
        "multiClub": "Multi-Club-Verwaltung",
        "customIntegrations": "Individuelle Integrationen",
        "sla": "SLA-Garantie (99,9% Uptime)",
        "dedicatedSupport": "Dedizierter Ansprechpartner",
        "onboarding": "Persönliches Onboarding"
      },
      "comparison": {
        "compMembers": {
          "label": "Mitglieder",
          "starter": "Bis 30",
          "pro": "Bis 100",
          "enterprise": "Unbegrenzt"
        },
        "compDistributions": {
          "label": "Ausgaben-Tracking",
          "starter": "✓",
          "pro": "✓",
          "enterprise": "✓"
        },
        "compReports": {
          "label": "Berichte (PDF/CSV)",
          "starter": "Standard",
          "pro": "Erweitert",
          "enterprise": "Individuell"
        },
        "compGrow": {
          "label": "Anbaukalender",
          "starter": "—",
          "pro": "✓",
          "enterprise": "✓"
        },
        "compStaff": {
          "label": "Personalverwaltung",
          "starter": "—",
          "pro": "✓",
          "enterprise": "✓"
        },
        "compApi": {
          "label": "API-Zugang",
          "starter": "—",
          "pro": "✓",
          "enterprise": "✓"
        },
        "compMultiClub": {
          "label": "Multi-Club",
          "starter": "—",
          "pro": "—",
          "enterprise": "✓"
        },
        "compSupport": {
          "label": "Support",
          "starter": "E-Mail",
          "pro": "Priorität",
          "enterprise": "Dediziert"
        }
      },
      "faq": {
        "trial": {
          "question": "Wie funktioniert die kostenlose Testphase?",
          "answer": "Du kannst CannaManage 3 Monate lang kostenlos und unverbindlich testen. Alle Funktionen deines gewählten Plans stehen dir sofort zur Verfügung. Nach Ablauf der Testphase wählst du, ob du weitermachen möchtest."
        },
        "payment": {
          "question": "Welche Zahlungsmethoden werden akzeptiert?",
          "answer": "Wir akzeptieren SEPA-Lastschrift, Kreditkarte (Visa, Mastercard) und PayPal. Die Abrechnung erfolgt monatlich über unseren Zahlungspartner Stripe."
        },
        "cancel": {
          "question": "Kann ich jederzeit kündigen?",
          "answer": "Ja, du kannst dein Abonnement jederzeit zum Ende des aktuellen Abrechnungszeitraums kündigen. Es gibt keine Mindestvertragslaufzeit."
        },
        "data": {
          "question": "Was passiert mit meinen Daten nach der Kündigung?",
          "answer": "Nach der Kündigung hast du 30 Tage Zeit, deine Daten zu exportieren. Danach werden alle personenbezogenen Daten gemäß DSGVO gelöscht. Aufbewahrungspflichtige Daten bleiben gesetzeskonform gespeichert."
        },
        "migration": {
          "question": "Kann ich den Plan später wechseln?",
          "answer": "Ja, du kannst jederzeit zwischen Starter und Pro wechseln. Ein Upgrade wird sofort wirksam, ein Downgrade zum nächsten Abrechnungszeitraum."
        }
      }
    },
    "impressum": {
      "title": "Impressum",
      "section1Title": "Angaben gemäß § 5 TMG",
      "section1Content": "[Firmenname / Vor- und Nachname]\n[Straße Hausnummer]\n[PLZ Ort]\n[Land]",
      "contactTitle": "Kontakt",
      "contactContent": "Telefon: [Telefonnummer]\nE-Mail: [E-Mail-Adresse]\nWebsite: cannamanage.plate-software.de",
      "vatTitle": "Umsatzsteuer-ID",
      "vatContent": "Umsatzsteuer-Identifikationsnummer gemäß § 27 a Umsatzsteuergesetz: [USt-IdNr.]",
      "responsibleTitle": "Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV",
      "responsibleContent": "[Vor- und Nachname]\n[Straße Hausnummer]\n[PLZ Ort]",
      "disputeTitle": "EU-Streitschlichtung",
      "disputeContent": "Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit: https://ec.europa.eu/consumers/odr/. Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen."
    },
    "datenschutz": {
      "title": "Datenschutzerklärung",
      "lastUpdated": "Stand: [Datum einfügen]",
      "s1Title": "1. Verantwortlicher",
      "s1Content": "[Firmenname / Vor- und Nachname]\n[Adresse]\nE-Mail: [E-Mail-Adresse]\nTelefon: [Telefonnummer]",
      "s2Title": "2. Erhebung und Speicherung personenbezogener Daten",
      "s2Content": "Bei der Nutzung von CannaManage erheben wir folgende personenbezogene Daten: Name, E-Mail-Adresse, Mitgliedsnummer, Ausgabehistorie, sowie technische Daten wie IP-Adresse und Browser-Informationen. Diese Daten sind für die Vertragserfüllung und den Betrieb der Plattform erforderlich.",
      "s3Title": "3. Zweck der Datenverarbeitung",
      "s3Content": "Die Verarbeitung Ihrer Daten erfolgt zur Bereitstellung der Vereinsverwaltungssoftware, zur Einhaltung gesetzlicher Dokumentationspflichten nach KCanG (§ 26 CanG), zur Kontingentüberwachung und Compliance-Sicherstellung sowie zur Kommunikation im Rahmen des Vertragsverhältnisses.",
      "s4Title": "4. Rechtsgrundlage",
      "s4Content": "Die Verarbeitung erfolgt auf Grundlage von Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung), Art. 6 Abs. 1 lit. c DSGVO (rechtliche Verpflichtung) sowie Art. 6 Abs. 1 lit. a DSGVO (Einwilligung) für optionale Funktionen wie das Mitgliederportal.",
      "s5Title": "5. Weitergabe an Dritte",
      "s5Content": "Eine Weitergabe personenbezogener Daten an Dritte erfolgt nur, soweit dies zur Vertragserfüllung erforderlich ist (z.B. Zahlungsabwicklung über Stripe) oder eine gesetzliche Verpflichtung besteht. Eine Übermittlung in Drittländer findet nicht statt.",
      "s6Title": "6. Auftragsverarbeitung",
      "s6Content": "Für die Zahlungsabwicklung nutzen wir Stripe (Stripe Technology Europe, Ltd., Dublin, Irland). Mit Stripe besteht ein Auftragsverarbeitungsvertrag (AVV) gemäß Art. 28 DSGVO. Stripe verarbeitet Zahlungsdaten ausschließlich innerhalb der EU/EWR.",
      "s7Title": "7. Speicherdauer",
      "s7Content": "Personenbezogene Daten werden gelöscht, sobald der Zweck der Verarbeitung entfällt und keine gesetzlichen Aufbewahrungspflichten entgegenstehen. Handelsrechtliche Aufbewahrungsfristen (6-10 Jahre) bleiben unberührt. Nach Kündigung werden Daten innerhalb von 30 Tagen gelöscht, sofern keine Aufbewahrungspflicht besteht.",
      "s8Title": "8. Betroffenenrechte",
      "s8Content": "Sie haben das Recht auf Auskunft (Art. 15 DSGVO), Berichtigung (Art. 16 DSGVO), Löschung (Art. 17 DSGVO), Einschränkung der Verarbeitung (Art. 18 DSGVO), Datenübertragbarkeit (Art. 20 DSGVO) und Widerspruch (Art. 21 DSGVO). Zur Ausübung Ihrer Rechte wenden Sie sich an die oben genannte E-Mail-Adresse.",
      "s9Title": "9. Datensicherheit",
      "s9Content": "Wir setzen technische und organisatorische Maßnahmen zum Schutz Ihrer Daten ein: TLS-Verschlüsselung, rollenbasierte Zugriffskontrolle, regelmäßige Backups, Audit-Logging aller Datenzugriffe sowie regelmäßige Sicherheitsprüfungen.",
      "s10Title": "10. Hosting",
      "s10Content": "Die Plattform wird auf Servern der IONOS SE (Montabaur, Deutschland) betrieben. Alle Daten werden ausschließlich in deutschen Rechenzentren gespeichert. Ein Auftragsverarbeitungsvertrag mit IONOS liegt vor."
    },
    "agb": {
      "title": "Allgemeine Geschäftsbedingungen (AGB)",
      "lastUpdated": "Stand: [Datum einfügen]",
      "s1Title": "§ 1 Geltungsbereich",
      "s1Content": "Diese Allgemeinen Geschäftsbedingungen gelten für die Nutzung der Software CannaManage (nachfolgend 'Dienst'), bereitgestellt von [Firmenname] (nachfolgend 'Anbieter'). Mit der Registrierung erkennt der Nutzer diese AGB an.",
      "s2Title": "§ 2 Vertragsgegenstand",
      "s2Content": "Der Anbieter stellt dem Nutzer eine webbasierte Software zur Verwaltung von Cannabis-Anbauvereinigungen als Software-as-a-Service (SaaS) zur Verfügung. Der Funktionsumfang richtet sich nach dem gewählten Tarif (Starter, Pro oder Enterprise).",
      "s3Title": "§ 3 Registrierung und Nutzerkonto",
      "s3Content": "Die Registrierung erfordert wahrheitsgemäße Angaben. Der Nutzer ist für die Sicherheit seiner Zugangsdaten verantwortlich. Bei Verdacht auf Missbrauch ist der Anbieter unverzüglich zu informieren. Pro Anbauverein wird ein Administratorkonto eingerichtet.",
      "s4Title": "§ 4 Preise und Zahlung",
      "s4Content": "Die Preise ergeben sich aus der aktuellen Preisliste. Alle Preise verstehen sich inklusive der gesetzlichen Mehrwertsteuer. Die Abrechnung erfolgt monatlich im Voraus. Zahlungen werden über den Zahlungsdienstleister Stripe abgewickelt (SEPA-Lastschrift, Kreditkarte oder PayPal).",
      "s5Title": "§ 5 Kostenlose Testphase",
      "s5Content": "Neukunden erhalten eine kostenlose Testphase von 3 Monaten. Während der Testphase stehen alle Funktionen des gewählten Tarifs zur Verfügung. Nach Ablauf der Testphase geht das Abonnement in ein kostenpflichtiges Abonnement über, sofern nicht vorher gekündigt wird.",
      "s6Title": "§ 6 Kündigung",
      "s6Content": "Das Abonnement kann jederzeit zum Ende des laufenden Abrechnungszeitraums gekündigt werden. Die Kündigung erfolgt über die Kontoeinstellungen oder per E-Mail an den Anbieter. Nach Kündigung bleibt der Zugang bis zum Ende des bezahlten Zeitraums bestehen.",
      "s7Title": "§ 7 Verfügbarkeit",
      "s7Content": "Der Anbieter bemüht sich um eine Verfügbarkeit von 99,5% im Jahresmittel (bezogen auf Enterprise-Tarif mit SLA). Geplante Wartungsarbeiten werden mindestens 48 Stunden im Voraus angekündigt. Höhere Gewalt und geplante Wartung sind von der Verfügbarkeitsgarantie ausgenommen.",
      "s8Title": "§ 8 Haftung",
      "s8Content": "Der Anbieter haftet unbeschränkt für Vorsatz und grobe Fahrlässigkeit. Bei leichter Fahrlässigkeit haftet der Anbieter nur bei Verletzung wesentlicher Vertragspflichten (Kardinalpflichten), begrenzt auf den vorhersehbaren, vertragstypischen Schaden. Die Haftung für Datenverluste ist auf den typischen Wiederherstellungsaufwand begrenzt, der bei regelmäßiger Datensicherung entstanden wäre.",
      "s9Title": "§ 9 Datenschutz",
      "s9Content": "Der Anbieter verarbeitet personenbezogene Daten gemäß der Datenschutzerklärung und den Bestimmungen der DSGVO. Soweit der Anbieter Daten im Auftrag des Nutzers verarbeitet, wird ein gesonderter Auftragsverarbeitungsvertrag geschlossen.",
      "s10Title": "§ 10 Schlussbestimmungen",
      "s10Content": "Es gilt das Recht der Bundesrepublik Deutschland. Gerichtsstand ist, soweit gesetzlich zulässig, der Sitz des Anbieters. Sollten einzelne Bestimmungen dieser AGB unwirksam sein, bleibt die Wirksamkeit der übrigen Bestimmungen unberührt. Änderungen der AGB werden dem Nutzer rechtzeitig mitgeteilt."
    }
  },
  "infoBoard": {
    "title": "Schwarzes Brett",
    "description": "Neuigkeiten und Ankündigungen für alle Mitglieder",
    "createPost": "Beitrag erstellen",
    "postTitle": "Titel",
    "postTitlePlaceholder": "Titel des Beitrags...",
    "postContent": "Inhalt",
    "postContentPlaceholder": "Schreibe deinen Beitrag...",
    "category": "Kategorie",
    "categories": {
      "GENERAL": "Allgemein",
      "EVENT": "Veranstaltung",
      "RULE": "Regelung",
      "MAINTENANCE": "Wartung"
    },
    "pinPost": "Anheften",
    "archive": "Archivieren",
    "delete": "Löschen",
    "publish": "Veröffentlichen",
    "creating": "Wird erstellt...",
    "cancel": "Abbrechen",
    "allCategories": "Alle Kategorien",
    "showArchived": "Archiviert",
    "archived": "Archiviert",
    "loading": "Beiträge werden geladen...",
    "noPosts": "Noch keine Beiträge vorhanden. Erstelle den ersten Beitrag!",
    "confirmDelete": "Möchtest du diesen Beitrag wirklich löschen?",
    "unreadCount": "{count} ungelesen"
  },
  "events": {
    "title": "Kalender",
    "description": "Veranstaltungen und Termine des Vereins",
    "portalTitle": "Veranstaltungen",
    "portalDescription": "Kommende Termine und Events deines Vereins",
    "createEvent": "Veranstaltung erstellen",
    "upcomingEvents": "Nächste Termine",
    "noUpcomingEvents": "Keine anstehenden Veranstaltungen",
    "noEventsOnDay": "Keine Veranstaltungen an diesem Tag",
    "cancel": "Absagen",
    "full": "Ausgebucht",
    "form": {
      "title": "Titel",
      "type": "Art",
      "start": "Beginn",
      "end": "Ende",
      "location": "Ort",
      "description": "Beschreibung",
      "maxAttendees": "Max. Teilnehmer",
      "recurring": "Wiederkehrend",
      "recurrenceRule": "Wiederholung",
      "recurrenceEnd": "Enddatum"
    },
    "rsvp": {
      "accept": "Zusage",
      "decline": "Absage",
      "maybe": "Vielleicht"
    },
    "types": {
      "MEETING": "Mitgliederversammlung",
      "HARVEST_FESTIVAL": "Erntefest",
      "BOARD_MEETING": "Vorstandssitzung",
      "WORKSHOP": "Workshop",
      "OTHER": "Sonstiges"
    }
  },
  "forum": {
    "title": "Forum",
    "description": "Vereinsinternes Diskussionsforum",
    "newTopic": "Neues Thema",
    "topicTitlePlaceholder": "Titel des Themas...",
    "topicContentPlaceholder": "Beschreibe dein Thema...",
    "creating": "Wird erstellt...",
    "create": "Erstellen",
    "cancel": "Abbrechen",
    "loading": "Wird geladen...",
    "noTopics": "Noch keine Themen vorhanden. Erstelle das erste!",
    "replies": "Antworten",
    "lastReply": "Letzte Antwort",
    "openReports": "offene Meldungen",
    "pin": "Anheften",
    "unpin": "Lösen",
    "lock": "Sperren",
    "unlock": "Entsperren",
    "delete": "Löschen",
    "deleteReason": "Grund für die Löschung (optional):",
    "replyPlaceholder": "Schreibe eine Antwort...",
    "sending": "Wird gesendet...",
    "reply": "Antworten",
    "edited": "bearbeitet",
    "topicLocked": "Dieses Thema ist gesperrt. Neue Antworten sind nicht möglich.",
    "reportReason": "Grund der Meldung:",
    "backToTopics": "Zurück zur Übersicht"
  },
  "finance": {
    "title": "Vereinsfinanzen",
    "subtitle": "Übersicht über Einnahmen, Ausgaben und Mitgliedsbeiträge",
    "totalBalance": "Gesamtsaldo",
    "incomeThisMonth": "Einnahmen (Monat)",
    "expensesThisMonth": "Ausgaben (Monat)",
    "outstandingMembers": "Offene Beiträge",
    "outstandingTitle": "Säumige Mitglieder",
    "monthsOverdue": "Monate überfällig",
    "noOutstanding": "Keine offenen Beiträge",
    "recentTransactions": "Letzte Buchungen",
    "noTransactions": "Keine Buchungen vorhanden",
    "recordPayment": "Zahlung erfassen",
    "recordExpense": "Ausgabe erfassen",
    "payments": "Zahlungen",
    "kassenbuch": "Kassenbuch",
    "feeSchedules": "Beitragsordnung",
    "reports": "Berichte",
    "exportCsv": "CSV exportieren",
    "from": "Von",
    "to": "Bis",
    "date": "Datum",
    "type": "Typ",
    "description": "Beschreibung",
    "income": "Einnahme",
    "expense": "Ausgabe",
    "balance": "Saldo",
    "incomeLabel": "Einnahme",
    "expenseLabel": "Ausgabe",
    "loading": "Laden...",
    "previous": "Zurück",
    "next": "Weiter",
    "member": "Mitglied",
    "amount": "Betrag",
    "period": "Zeitraum",
    "paymentMethod": "Zahlungsart",
    "actions": "Aktionen",
    "filterByStatus": "Nach Status filtern",
    "allStatuses": "Alle",
    "noPayments": "Keine Zahlungen vorhanden",
    "voidReason": "Grund für die Stornierung:",
    "memberIdPlaceholder": "Mitglieds-ID eingeben",
    "periodFrom": "Zeitraum von",
    "periodTo": "Zeitraum bis",
    "reference": "Referenz",
    "referencePlaceholder": "z.B. Überweisungsreferenz",
    "expenseReferencePlaceholder": "z.B. Rechnungsnummer",
    "saving": "Wird gespeichert...",
    "category": "Kategorie",
    "descriptionPlaceholder": "z.B. Stromrechnung Juni",
    "bankTransfer": "Überweisung",
    "cash": "Bar",
    "sepa": "SEPA-Lastschrift",
    "card": "Kartenzahlung",
    "createFeeSchedule": "Beitragssatz erstellen",
    "scheduleName": "Bezeichnung",
    "scheduleNamePlaceholder": "z.B. Monatsbeitrag Standard",
    "intervalLabel": "Intervall",
    "scheduleDescPlaceholder": "Optionale Beschreibung",
    "default": "Standard",
    "deactivate": "Deaktivieren",
    "noFeeSchedules": "Keine Beitragssätze vorhanden",
    "annualReport": "Jahresabschluss",
    "annualReportDescription": "Vollständiger Finanzbericht mit Einnahmen, Ausgaben und Mitgliederbeiträgen.",
    "auditorReport": "Kassenprüfbericht",
    "auditorReportDescription": "Bericht für den Kassenprüfer mit allen Transaktionsdetails.",
    "downloadPdf": "PDF herunterladen",
    "comingSoon": "Demnächst verfügbar",
    "status": {
      "label": "Status",
      "paid": "Bezahlt",
      "pending": "Ausstehend",
      "overdue": "Überfällig",
      "voided": "Storniert"
    },
    "method": {
      "BANK_TRANSFER": "Überweisung",
      "CASH": "Bar",
      "SEPA": "SEPA-Lastschrift",
      "CARD": "Kartenzahlung"
    },
    "interval": {
      "MONTHLY": "Monatlich",
      "QUARTERLY": "Vierteljährlich",
      "YEARLY": "Jährlich",
      "ONE_TIME": "Einmalig"
    },
    "categories": {
      "rent": "Miete",
      "utilities": "Nebenkosten",
      "equipment": "Ausstattung",
      "seeds": "Saatgut",
      "supplies": "Verbrauchsmaterial",
      "insurance": "Versicherung",
      "legal": "Rechtsberatung",
      "other": "Sonstiges"
    },
    "portal": {
      "title": "Meine Zahlungen",
      "currentBalance": "Aktueller Saldo",
      "allPaid": "Alle Beiträge bezahlt",
      "paymentDue": "Zahlung fällig",
      "noFeeAssigned": "Kein Beitragssatz zugewiesen",
      "feeSchedule": "Beitragssatz",
      "noFee": "Keiner",
      "lastPayment": "Letzte Zahlung",
      "paymentHistory": "Zahlungshistorie",
      "noPayments": "Noch keine Zahlungen vorhanden"
    }
  }
}
