{
  "app": {
    "title": "Partyservice Mues"
  },
  "common": {
    "save": "Speichern",
    "loading": "Wird geladen …",
    "cancel": "Abbrechen",
    "delete": "Löschen",
    "back": "Zurück",
    "ok": "OK",
    "understood": "Verstanden",
    "error": {
      "network": "Keine Verbindung zum Server. Bitte prüfen Sie Ihre Internetverbindung und versuchen Sie es erneut.",
      "server": "Auf dem Server ist ein Problem aufgetreten. Bitte versuchen Sie es später erneut.",
      "unexpected": "Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut."
    },
    "saving": "Wird gespeichert …",
    "opensInNewTab": "öffnet in neuem Tab"
  },
  "children": {
    "title": "Meine Kinder",
    "subtitle": "Verwalten Sie, für wen Sie bestellen.",
    "add": "Kind hinzufügen",
    "empty": "Sie haben noch keine Kinder angelegt.",
    "loadError": "Ihre Kinder konnten nicht geladen werden.",
    "edit": "Bearbeiten",
    "remove": "Entfernen",
    "withoutGroupLabel": "Ohne Gruppe",
    "sheet": {
      "addTitle": "Kind hinzufügen",
      "editTitle": "Kind bearbeiten",
      "stepOf": "Schritt {{current}} von {{total}}",
      "step1Title": "Name des Kindes",
      "step2Title": "Einrichtung wählen",
      "step3Title": "Klasse / Gruppe wählen",
      "firstNameLabel": "Vorname",
      "lastNameLabel": "Nachname",
      "searchLabel": "Einrichtung suchen",
      "searchPlaceholder": "Name, Adresse oder Kennungsnummer",
      "institutionsError": "Einrichtungen konnten nicht geladen werden.",
      "noResults": "Keine Einrichtung gefunden.",
      "noGroups": "Diese Einrichtung hat keine Klassen/Gruppen – Sie können ohne fortfahren.",
      "withoutGroup": "Ohne Gruppe",
      "next": "Weiter",
      "back": "Zurück",
      "saveChanges": "Änderungen speichern",
      "remove": "Kind entfernen",
      "saveError": "Speichern fehlgeschlagen. Bitte versuchen Sie es erneut.",
      "searchPrompt": "Suchen Sie nach dem Namen, der Adresse oder der Kennungsnummer Ihrer Einrichtung.",
      "searchTooShort": "Bitte geben Sie mindestens {{min}} Zeichen für die Suche nach Name oder Adresse ein – oder die vollständige Kennungsnummer.",
      "searchingInstitutions": "Einrichtungen werden gesucht …",
      "resultCount": "{{count}} Einrichtungen gefunden",
      "numberShort": "Nr. {{number}}"
    },
    "delete": {
      "title": "Kind entfernen?",
      "message": "Möchten Sie {{name}} wirklich entfernen? Dies kann nicht rückgängig gemacht werden.",
      "confirm": "Entfernen",
      "error": "Entfernen fehlgeschlagen. Bitte versuchen Sie es erneut."
    },
    "validation": {
      "firstNameRequired": "Vorname ist erforderlich",
      "lastNameRequired": "Nachname ist erforderlich"
    }
  },
  "ui": {
    "input": {
      "showPassword": "Passwort anzeigen",
      "hidePassword": "Passwort verbergen",
      "clear": "Eingabe löschen",
      "increment": "Betrag erhöhen",
      "decrement": "Betrag verringern"
    },
    "select": {
      "placeholder": "Bitte wählen …"
    },
    "dialog": {
      "close": "Dialog schließen",
      "exampleTitle": "Bestellung stornieren?",
      "exampleMessage": "Möchten Sie die Bestellung für {{day}} wirklich stornieren? Die Frist endet um {{time}} Uhr.",
      "exampleConfirm": "Stornieren",
      "unsaved": {
        "title": "Änderungen speichern?",
        "message": "Sie haben Änderungen vorgenommen, die noch nicht gespeichert sind.",
        "save": "Speichern",
        "discard": "Verwerfen",
        "stay": "Auf der Seite bleiben"
      }
    },
    "searchSelect": {
      "placeholder": "Suchen …",
      "clear": "Auswahl aufheben",
      "loading": "Suche läuft …",
      "noResults": "Keine Treffer",
      "resultCount": "{{count}} Treffer"
    },
    "timeSelect": {
      "none": "Keine Angabe",
      "option": "{{time}} Uhr"
    }
  },
  "auth": {
    "back": "Zurück",
    "brand": {
      "name": "Partyservice Mues",
      "portal": {
        "subtitle": "Verwaltungsportal"
      }
    },
    "login": {
      "title": "Anmelden",
      "subtitle": "Melden Sie sich mit Ihrem Portal-Zugang an.",
      "emailLabel": "E-Mail",
      "passwordLabel": "Passwort",
      "submit": "Anmelden",
      "forgotLink": "Passwort vergessen?",
      "register": "Konto erstellen",
      "error": {
        "invalidCredentials": "Unbekannte Zugangsdaten. Bitte prüfen Sie E-Mail und Passwort."
      },
      "busy": "Anmeldung läuft …"
    },
    "forgot": {
      "title": "Passwort zurücksetzen",
      "subtitle": "Geben Sie Ihre E-Mail-Adresse ein. Sie erhalten einen Link zum Zurücksetzen Ihres Passworts.",
      "emailLabel": "E-Mail-Adresse",
      "submit": "Link senden",
      "back": "Zurück zur Anmeldung",
      "sentTitle": "E-Mail versendet",
      "sentBody": "Falls ein Konto für {{email}} existiert, erhalten Sie in Kürze einen Link zum Zurücksetzen Ihres Passworts."
    },
    "setNew": {
      "title": "Neues Passwort vergeben",
      "subtitle": "Wählen Sie ein neues Passwort für Ihr Konto.",
      "newPasswordLabel": "Neues Passwort",
      "confirmLabel": "Passwort bestätigen",
      "submit": "Passwort speichern",
      "successTitle": "Passwort geändert",
      "successBody": "Ihr Passwort wurde geändert. Sie können sich jetzt anmelden.",
      "toLogin": "Zur Anmeldung",
      "error": {
        "mismatch": "Die Passwörter stimmen nicht überein.",
        "invalidToken": "Der Link ist ungültig oder abgelaufen. Bitte fordern Sie einen neuen an."
      }
    },
    "register": {
      "title": "Konto erstellen",
      "subtitle": "Registrieren Sie sich, um Ihre Kinder zu verwalten, Guthaben aufzuladen und Bestellungen aufzugeben.",
      "firstNameLabel": "Vorname",
      "lastNameLabel": "Nachname",
      "emailLabel": "E-Mail",
      "passwordLabel": "Passwort",
      "confirmLabel": "Passwort bestätigen",
      "submit": "Registrieren",
      "toLogin": "Sie haben bereits ein Konto? Anmelden",
      "success": "Registrierung abgeschlossen. Sie können sich jetzt anmelden.",
      "error": {
        "firstName": "Vorname ist erforderlich",
        "lastName": "Nachname ist erforderlich"
      }
    },
    "verifyEmail": {
      "verifyingTitle": "E-Mail wird bestätigt …",
      "verifyingBody": "Einen Moment bitte, wir bestätigen Ihre E-Mail-Adresse.",
      "successTitle": "E-Mail bestätigt",
      "successBody": "Vielen Dank. Sie können jetzt Guthaben aufladen und Bestellungen aufgeben.",
      "toHome": "Los geht's",
      "errorTitle": "Bestätigung fehlgeschlagen",
      "errorBody": "Der Bestätigungslink ist ungültig oder abgelaufen. Bitte fordern Sie einen neuen an.",
      "resend": "Bestätigungs-E-Mail erneut senden",
      "resent": "Wir haben Ihnen eine neue Bestätigungs-E-Mail gesendet.",
      "toLogin": "Zur Anmeldung"
    },
    "home": {
      "logout": "Abmelden",
      "verifyBanner": {
        "message": "Bitte bestätigen Sie Ihre E-Mail-Adresse, um bestellen und aufladen zu können.",
        "resend": "Erneut senden",
        "resent": "E-Mail gesendet"
      }
    },
    "password": {
      "requirements": "Passwortanforderungen",
      "mismatch": "Die Passwörter stimmen nicht überein.",
      "rule": {
        "length": "Mindestens 8 Zeichen",
        "lowercase": "Ein Kleinbuchstabe",
        "uppercase": "Ein Großbuchstabe",
        "digit": "Eine Ziffer",
        "symbol": "Ein Sonderzeichen"
      }
    },
    "validation": {
      "emailRequired": "E-Mail ist erforderlich",
      "emailInvalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein.",
      "passwordRequired": "Passwort ist erforderlich"
    },
    "logout": {
      "busy": "Wird abgemeldet …"
    },
    "roleGate": {
      "parentRequired": "Sie sind nicht als Elternteil registriert — Sie wurden zum Verwaltungsportal weitergeleitet."
    }
  },
  "portal": {
    "nav": {
      "label": "Hauptnavigation",
      "orders": "Lieferungen & Bestellungen",
      "menus": "Menüpläne",
      "institutions": "Einrichtungen",
      "cities": "Städte & Kommunen",
      "families": "Eltern & Guthaben",
      "paymentHistory": "Zahlungsverlauf",
      "users": "Benutzerverwaltung",
      "collapse": "Menü einklappen",
      "expand": "Menü ausklappen"
    },
    "switchToClient": "Zur Eltern-App",
    "logout": "Abmelden"
  },
  "balance": {
    "label": "Guthaben",
    "sharedForMany": "Gemeinsames Guthaben für {{count}} Kinder",
    "pendingBanner": "Aufladung über {{amount}} unterwegs – wird nach Zahlungseingang gutgeschrieben.",
    "lowBanner": "Guthaben niedrig — bitte aufladen.",
    "emptyBanner": "Kein Guthaben — bitte aufladen.",
    "negativeBannerTitle": "Guthaben negativ.",
    "negativeBanner": "Eine Zahlung wurde von Ihrer Bank zurückgebucht, bereits gelieferte Essen konnten nicht storniert werden. Bitte laden Sie Guthaben auf — Bestellen ist bis dahin nicht möglich.",
    "history": {
      "topUp": "Aufladung",
      "payout": "Auszahlung",
      "manual": "Bargeld",
      "pending": "Ausstehend",
      "disputed": "Rückbuchung offen",
      "chargedBack": "Zurückgebucht"
    }
  },
  "families": {
    "list": {
      "title": "Eltern & Guthaben",
      "infoLabel": "Info",
      "info": "Eltern registrieren sich selbst, wählen ihre Einrichtung und legen ihre Kinder an. Bar erhaltenes Geld tragen Sie hier als Guthaben ein. <b>Alle Kinder eines Accounts nutzen dasselbe Guthaben</b> — auch über mehrere Einrichtungen und Klassen / Gruppen hinweg.",
      "searchLabel": "Eltern suchen",
      "searchPlaceholder": "Eltern, Kind oder E-Mail suchen",
      "matchedChild": "Suchtreffer",
      "accounts": "{{count}} Accounts",
      "colAccount": "Account",
      "colEmail": "E-Mail",
      "colChildren": "Kinder",
      "colBalance": "Guthaben",
      "colActions": "Aktionen",
      "details": "Details",
      "empty": "Kein Account gefunden.",
      "loadError": "Die Eltern konnten nicht geladen werden."
    },
    "detail": {
      "back": "Eltern & Guthaben",
      "account": "Account",
      "notFound": "Dieses Elternteil gehört nicht zu Ihren Einrichtungen.",
      "sharedFor": "Gemeinsames Guthaben aller Kinder dieses Accounts.",
      "children": "Kinder & Einrichtungen",
      "noChildren": "Keine Kinder hinterlegt.",
      "history": "Aufladungen",
      "noHistory": "Noch keine Gutschriften.",
      "notVerified": "E-Mail nicht bestätigt – Gutschrift erst nach Bestätigung möglich.",
      "historyTitle": "Verlauf",
      "spend": "Ausgabe",
      "saveError": "Änderung konnte nicht gespeichert werden. Bitte versuchen Sie es erneut.",
      "topupTitle": "Guthaben aufgeladen",
      "payoutTitle": "Auszahlung",
      "chargebackTitle": "Rückbuchung",
      "chargebackReleasedTitle": "Rückbuchung freigegeben",
      "cancelled": "Storniert",
      "subsidized": "Bezuschusst",
      "filter": {
        "all": "Alle",
        "credits": "Aufladungen",
        "spends": "Ausgaben"
      },
      "subsidy": {
        "label": "Zuständige Stadt/Kommune",
        "toggle": "Bezuschusst",
        "unassigned": "Nicht zugeordnet",
        "addNewCity": "+ Neue Stadt/Kommune anlegen"
      },
      "noCreditWhileDeleting": "Für dieses Konto wurde die Löschung angefordert — Aufladungen sind nicht mehr möglich.",
      "dietaryNotes": {
        "label": "Ernährungshinweise",
        "none": "Keine",
        "editAria": "Ernährungshinweise von {{name}} bearbeiten"
      },
      "fromInstitutionBack": "Zurück zu {{name}}"
    },
    "credit": {
      "open": "Guthaben eintragen",
      "title": "Guthaben eintragen",
      "subtitle": "Bargeld für {{name}} erfassen. Der Betrag wird dem Guthaben sofort gutgeschrieben.",
      "amountLabel": "Betrag in €",
      "chooseAmount": "Betrag wählen",
      "submit": "{{amount}} eintragen",
      "confirm": {
        "warning": "Hoher Betrag: {{amount}}. Bitte bestätigen Sie die Gutschrift.",
        "submit": "{{amount}} bestätigen"
      },
      "error": {
        "amountRange": "Bitte geben Sie einen positiven Betrag mit höchstens zwei Nachkommastellen ein.",
        "notVerified": "Die E-Mail-Adresse dieses Elternteils ist nicht bestätigt. Eine Gutschrift ist erst nach der Bestätigung möglich."
      },
      "busy": "Guthaben wird gebucht …"
    },
    "deletion": {
      "pending": "Löschung angefordert",
      "title": "Löschung angefordert",
      "hint": "{{name}} hat die Löschung des Kontos beantragt. Sobald das Restguthaben ausgezahlt ist, werden die persönlichen Daten gelöscht."
    }
  },
  "topup": {
    "open": "Guthaben aufladen",
    "needsChild": "Legen Sie zuerst ein Kind an, um Guthaben aufzuladen.",
    "needsVerification": "Bestätigen Sie Ihre E-Mail-Adresse, um Guthaben aufzuladen.",
    "title": "Guthaben aufladen",
    "amountLabel": "Betrag in €",
    "methodLabel": "Zahlungsart",
    "recommended": "Empfohlen",
    "pay": "{{amount}} bezahlen",
    "chooseAmount": "Betrag wählen",
    "stripeFooter": "Sichere Zahlung über Stripe.",
    "asyncWarning": "Diese Zahlart kann einige Tage dauern und ist möglicherweise nicht vor dem nächsten Bestellschluss verbucht.",
    "method": {
      "bankTransfer": {
        "label": "Überweisung",
        "note": "Standard · Gutschrift nach Zahlungseingang (1–2 Werktage)"
      },
      "instantTransfer": {
        "label": "Sofortüberweisung",
        "note": "Sofortige Gutschrift"
      },
      "card": {
        "label": "Kreditkarte",
        "note": "Sofortige Gutschrift"
      }
    },
    "error": {
      "amountRange": "Bitte geben Sie einen Betrag zwischen 5 € und 200 € ein.",
      "generic": "Die Aufladung konnte nicht gestartet werden. Bitte versuchen Sie es später erneut."
    },
    "return": {
      "pendingTitle": "Aufladung eingeleitet",
      "pendingBody": "Ihre Zahlung wird verarbeitet. Das Guthaben wird gutgeschrieben, sobald der Zahlungseingang bestätigt ist – bei Überweisungen kann das einige Tage dauern.",
      "cancelTitle": "Aufladung abgebrochen",
      "cancelBody": "Die Zahlung wurde abgebrochen. Es wurde kein Betrag abgebucht.",
      "backHome": "Zurück zur Startseite"
    },
    "busy": "Weiterleitung zu Stripe …"
  },
  "payout": {
    "open": "Auszahlung des Guthabens beantragen",
    "title": "Auszahlung beantragen",
    "body": "Ihr Restguthaben von <b class=\"text-ink-900\">{{amount}}</b> wird an Sie zurücküberwiesen.",
    "bodyManual": "Der Caterer wird per E-Mail informiert und führt die Überweisung manuell aus. Das kann einige Tage dauern.",
    "submit": "Jetzt beantragen",
    "requested": "Auszahlung beantragt — der Caterer meldet sich.",
    "withdraw": "Anfrage zurückziehen",
    "toast": {
      "requested": "Auszahlung beantragt — der Caterer wurde informiert",
      "withdrawn": "Auszahlungsanfrage zurückgezogen",
      "confirmed": "Auszahlung über {{amount}} bestätigt",
      "rejected": "Auszahlungsanfrage abgelehnt"
    },
    "banner": {
      "title": "Auszahlung beantragt",
      "body": "{{name}} hat die Auszahlung des Restguthabens von {{amount}} beantragt. Aktuelles Guthaben: {{balance}}.",
      "confirm": "Auszahlung bestätigen",
      "reject": "Anfrage ablehnen"
    },
    "confirm": {
      "title": "Auszahlung bestätigen",
      "message": "Bestätigen Sie erst, wenn Sie {{amount}} an {{name}} überwiesen haben. Der Betrag wird sofort vom Guthaben abgebucht — das lässt sich nicht rückgängig machen.",
      "submit": "Auszahlung bestätigen"
    },
    "reject": {
      "title": "Anfrage ablehnen",
      "message": "Die Auszahlungsanfrage von {{name}} wird geschlossen. Das Guthaben bleibt unverändert und {{name}} wird per E-Mail informiert.",
      "submit": "Anfrage ablehnen"
    },
    "error": {
      "topUpPending": "Eine Aufladung ist noch unterwegs. Eine Auszahlung ist erst möglich, wenn sie verbucht ist.",
      "balanceNegative": "Das Guthaben ist negativ. Eine Auszahlung ist nicht möglich.",
      "disputeOpen": "Zu einer Aufladung ist eine Rückbuchung offen. Eine Auszahlung ist erst nach der Klärung möglich.",
      "nothingToPayOut": "Es ist kein Guthaben vorhanden, das ausgezahlt werden kann.",
      "alreadyRequested": "Es liegt bereits eine offene Auszahlungsanfrage vor.",
      "noOpenRequest": "Es liegt keine offene Auszahlungsanfrage vor. Die Ansicht wurde aktualisiert.",
      "generic": "Die Auszahlung konnte nicht bearbeitet werden. Bitte versuchen Sie es später erneut."
    },
    "busy": "Auszahlung wird beantragt …",
    "busyWithdraw": "Anfrage wird zurückgezogen …"
  },
  "staff": {
    "title": "Benutzerverwaltung",
    "subtitle": "Mitarbeiter einladen und Zugänge verwalten.",
    "searchLabel": "Suchen",
    "searchPlaceholder": "Name oder E-Mail suchen",
    "count": "{{count}} Benutzer",
    "loadError": "Benutzer konnten nicht geladen werden.",
    "empty": "Noch keine Benutzer. Laden Sie Ihren ersten Mitarbeiter ein.",
    "invitePending": "Einladung ausstehend",
    "anonymised": "Konto gelöscht",
    "col": {
      "user": "Benutzer",
      "status": "Status",
      "invited": "Eingeladen",
      "actions": "Aktionen"
    },
    "status": {
      "active": "Aktiv",
      "invited": "Eingeladen",
      "deactivated": "Deaktiviert"
    },
    "action": {
      "resend": "Erneut senden",
      "deactivate": "Deaktivieren",
      "reactivate": "Reaktivieren",
      "withdrawInvite": "Einladung zurückziehen"
    },
    "invite": {
      "action": "Mitarbeiter einladen",
      "title": "Mitarbeiter einladen",
      "description": "Der Mitarbeiter erhält eine E-Mail mit einem Aktivierungslink und legt beim ersten Anmelden Namen und Passwort fest.",
      "emailLabel": "E-Mail-Adresse",
      "emailPlaceholder": "name@partyservice-mues.de",
      "submit": "Einladung senden",
      "emailRequired": "E-Mail ist erforderlich",
      "emailInvalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein.",
      "emailInUse": "Diese E-Mail-Adresse wird bereits für ein Mitarbeiterkonto verwendet.",
      "pendingDeletion": "Für diese E-Mail-Adresse läuft die Löschung eines Elternkontos. Sobald die Löschung abgeschlossen ist, kann die Adresse wieder eingeladen werden."
    },
    "deactivate": {
      "title": "Benutzer deaktivieren?",
      "message": "Möchten Sie {{name}} wirklich deaktivieren? Der Zugang zum Verwaltungsportal wird sofort gesperrt.",
      "confirm": "Deaktivieren",
      "errorSelf": "Sie können Ihr eigenes Konto nicht deaktivieren.",
      "errorLastAdmin": "Der letzte aktive Administrator kann nicht deaktiviert werden.",
      "errorInvited": "Diese Einladung wurde noch nicht angenommen. Ziehen Sie sie stattdessen zurück."
    },
    "withdraw": {
      "title": "Einladung zurückziehen?",
      "message": "Möchten Sie die Einladung für {{email}} wirklich zurückziehen? Der Eintrag wird gelöscht und der bereits versendete Aktivierungslink wird ungültig.",
      "note": "Das lässt sich nicht rückgängig machen. Sie können die E-Mail-Adresse danach jederzeit erneut einladen.",
      "confirm": "Zurückziehen",
      "errorActivated": "Dieses Konto wurde inzwischen aktiviert. Deaktivieren Sie es stattdessen."
    },
    "reactivate": {
      "errorDeletedParent": "Für dieses Konto läuft die Löschung eines Elternkontos. Es kann nicht mehr reaktiviert werden; laden Sie die Person nach Abschluss der Löschung neu ein."
    },
    "toast": {
      "inviteResent": "Einladung erneut gesendet an {{email}}.",
      "actionError": "Aktion fehlgeschlagen. Bitte versuchen Sie es erneut."
    },
    "activate": {
      "title": "Konto aktivieren",
      "subtitle": "Legen Sie Ihren Namen und ein Passwort fest, um Ihr Konto zu aktivieren.",
      "firstNameLabel": "Vorname",
      "lastNameLabel": "Nachname",
      "passwordLabel": "Passwort",
      "confirmLabel": "Passwort bestätigen",
      "submit": "Konto aktivieren",
      "firstNameRequired": "Bitte geben Sie Ihren Vornamen ein.",
      "lastNameRequired": "Bitte geben Sie Ihren Nachnamen ein.",
      "invalidToken": "Der Aktivierungslink ist ungültig oder abgelaufen. Bitte fordern Sie eine neue Einladung an.",
      "successTitle": "Konto aktiviert",
      "successBody": "Ihr Konto wurde aktiviert. Sie können sich jetzt anmelden.",
      "toLogin": "Zur Anmeldung"
    }
  },
  "catalog": {
    "title": "Gerichte",
    "subtitle": "Gerichtekatalog – Gerichte einmal anlegen und in beliebigen Menüplänen verwenden.",
    "new": "Neues Gericht",
    "searchLabel": "Gericht suchen",
    "searchPlaceholder": "Gericht suchen",
    "count": "{{count}} Gerichte",
    "loadError": "Die Gerichte konnten nicht geladen werden.",
    "empty": "Noch keine Gerichte angelegt.",
    "col": {
      "dish": "Gericht",
      "labels": "Kennzeichnung",
      "allergens": "Allergene",
      "actions": "Aktionen"
    },
    "action": {
      "edit": "Bearbeiten",
      "deleteAria": "Gericht „{{name}}“ löschen"
    },
    "delete": {
      "title": "Gericht löschen",
      "message": "„{{name}}“ endgültig löschen?",
      "inUse": "„{{name}}“ wird noch in Menüplänen oder Bestellungen verwendet und kann nicht gelöscht werden."
    },
    "editor": {
      "createTitle": "Neues Gericht anlegen",
      "editTitle": "Gericht bearbeiten",
      "nameLabel": "Gerichtsname",
      "namePlaceholder": "z. B. Gemüse-Lasagne",
      "nameRequired": "Ein Gerichtsname ist erforderlich.",
      "allergensLabel": "Allergene",
      "labelsLabel": "Kennzeichnung",
      "saveError": "Das Gericht konnte nicht gespeichert werden.",
      "componentsLabel": "Komponenten",
      "componentNameLabel": "Name der Komponente",
      "componentNamePlaceholder": "z. B. Nudeln",
      "componentNameRequired": "Ein Name für die Komponente ist erforderlich.",
      "componentNameDuplicate": "Jede Komponente braucht einen eigenen Namen.",
      "componentUnnamed": "Ohne Namen",
      "componentInvalid": "unvollständig",
      "addComponent": "Komponente hinzufügen",
      "removeComponentAria": "Komponente „{{name}}“ entfernen",
      "removeComponentBlocked": "Ein Gericht braucht mindestens eine Komponente.",
      "moveComponentUp": "Komponente „{{name}}“ nach vorne schieben",
      "moveComponentDown": "Komponente „{{name}}“ nach hinten schieben",
      "staleLegend": "Die Legende hat sich zwischenzeitlich geändert. Bitte laden Sie die Seite neu.",
      "addComponentBlocked": "Bitte benennen Sie zuerst die aktuelle Komponente.",
      "removeComponentConfirmTitle": "Komponente entfernen?",
      "removeComponentConfirmMessage": "„{{name}}“ wird mit allen zugewiesenen Allergenen und Kennzeichnungen entfernt."
    },
    "allergens": {
      "title": "Allergen-Legende",
      "editAria": "Allergene bearbeiten",
      "editTitle": "Allergene bearbeiten",
      "editSubtitle": "Kürzel und Bezeichnung der Allergene. Änderungen gelten überall im Portal.",
      "empty": "Noch keine Allergene angelegt.",
      "codeLabel": "Kürzel",
      "codePlaceholder": "A",
      "nameLabel": "Bezeichnung",
      "namePlaceholder": "z. B. Glutenhaltiges Getreide",
      "addRow": "Allergen hinzufügen",
      "removeRowAria": "Allergen entfernen",
      "incomplete": "Bitte für jedes Allergen ein Kürzel und eine Bezeichnung angeben.",
      "duplicate": "Jedes Kürzel darf nur einmal vorkommen.",
      "removeInUse": "{{count}} Allergen(e) werden aus Gerichten entfernt, in denen sie noch verwendet werden. Fortfahren?",
      "saveError": "Die Allergen-Legende konnte nicht gespeichert werden."
    },
    "labels": {
      "title": "Kennzeichnungen",
      "editAria": "Kennzeichnungen bearbeiten",
      "editTitle": "Kennzeichnungen bearbeiten",
      "editSubtitle": "Kennzeichnungen für Gerichte (z. B. Vegetarisch, Vegan). Änderungen gelten überall im Portal.",
      "empty": "Noch keine Kennzeichnungen angelegt.",
      "nameLabel": "Bezeichnung",
      "namePlaceholder": "z. B. Vegetarisch",
      "addRow": "Kennzeichnung hinzufügen",
      "removeRowAria": "Kennzeichnung entfernen",
      "incomplete": "Bitte für jede Kennzeichnung eine Bezeichnung angeben.",
      "duplicate": "Jede Bezeichnung darf nur einmal vorkommen.",
      "removeInUse": "{{count}} Kennzeichnung(en) werden aus Gerichten entfernt, in denen sie noch verwendet werden. Fortfahren?",
      "saveError": "Die Kennzeichnungen konnten nicht gespeichert werden."
    },
    "removeConfirmTitle": "Änderungen speichern"
  },
  "institutions": {
    "title": "Einrichtungen",
    "subtitle": "Schulen und Kindergärten anlegen, bearbeiten und ansehen.",
    "searchLabel": "Suchen",
    "searchPlaceholder": "Einrichtung, Nummer, Typ oder Adresse suchen",
    "count": "{{count}} Einrichtungen",
    "loadError": "Einrichtungen konnten nicht geladen werden.",
    "empty": "Noch keine Einrichtung angelegt.",
    "col": {
      "name": "Einrichtung",
      "type": "Typ",
      "address": "Adresse",
      "price": "Preis",
      "persons": "Personen",
      "actions": "Aktionen",
      "number": "Nr."
    },
    "type": {
      "kiga": "Kiga",
      "school": "Schule"
    },
    "action": {
      "details": "Details",
      "edit": "Bearbeiten"
    },
    "create": {
      "action": "Einrichtung anlegen",
      "title": "Einrichtung anlegen"
    },
    "edit": {
      "title": "Einrichtung bearbeiten"
    },
    "form": {
      "nameLabel": "Name",
      "namePlaceholder": "Kiga Sonnenschein",
      "nameRequired": "Name ist erforderlich",
      "typeLabel": "Typ",
      "mealPriceLabel": "Essenspreis (€)",
      "mealPricePlaceholder": "3,80",
      "mealPriceInvalid": "Bitte einen gültigen Preis eingeben (z. B. 3,80).",
      "mealPriceTooLow": "Der Preis muss größer als 0 sein.",
      "mealPriceTooHigh": "Der Preis ist zu hoch.",
      "mealPriceDecimals": "Höchstens zwei Nachkommastellen.",
      "mealPriceHint": "Gilt ab sofort für alle Liefertage. Spätere Preisänderungen planen Sie auf der Detailseite mit einem Stichtag.",
      "streetLabel": "Straße und Hausnummer",
      "streetPlaceholder": "Lindenstraße 8",
      "streetRequired": "Straße ist erforderlich",
      "zipLabel": "PLZ",
      "zipRequired": "PLZ ist erforderlich",
      "cityLabel": "Ort",
      "cityRequired": "Ort ist erforderlich",
      "contactLabel": "Ansprechpartner",
      "deliveryTimeLabel": "Lieferzeit",
      "emailLabel": "E-Mail",
      "emailInvalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein.",
      "phoneLabel": "Telefon",
      "groupsLabel": "Klassen / Gruppen (mit Komma trennen)",
      "groupsPlaceholder": "Marienkäfer, Sonnenblumen",
      "orderCloseTimeLabel": "Bestellschluss (Uhr am Freitag)",
      "orderCloseTimeHint": "Gilt sofort — auch für bereits geöffnete Wochen.",
      "orderCloseTimeReset": "Standard (10:00)",
      "numberLabel": "Kennungsnummer",
      "numberPlaceholder": "z. B. GS10115",
      "numberInvalid": "Die Kennungsnummer muss mindestens ein Zeichen aus Buchstaben oder Zahlen enthalten.",
      "numberDuplicate": "Diese Kennungsnummer ist bereits für eine andere Einrichtung vergeben.",
      "numberTooLong": "Die Kennungsnummer darf höchstens 50 Zeichen aus Buchstaben und Zahlen enthalten."
    },
    "detail": {
      "back": "Zurück zu den Einrichtungen",
      "masterData": "Stammdaten",
      "address": "Adresse",
      "deliveryTime": "Lieferzeit",
      "mealPrice": "Essenspreis",
      "mealPriceSub": "Gilt für alle Gerichte an Liefertagen ab heute",
      "deliveryTimeValue": "{{time}} Uhr",
      "notSet": "—",
      "contact": "Ansprechpartner",
      "email": "E-Mail",
      "phone": "Telefon",
      "groupsTitle": "Klassen / Gruppen",
      "noGroups": "Noch keine Klassen / Gruppen angelegt.",
      "deliverySub": "{{persons}} Personen · {{groups}} Klassen / Gruppen",
      "planGroupsTitle": "Zugewiesener Plan & Gruppen",
      "planTitle": "Zugewiesener Menüplan",
      "planPending": "Menüpläne folgen in einem späteren Schritt.",
      "orderClose": "Bestellschluss",
      "orderCloseValue": "Freitag, {{time}} Uhr",
      "ordering": "Bestellannahme",
      "orderingOn": "Bestellungen möglich",
      "orderingOff": "Bestellstopp — diese Einrichtung nimmt keine Bestellungen an",
      "deadlineActive": "Bestellfrist aktiv",
      "deadlineActiveHint": "Ausgeschaltet können Eltern nachträglich bestellen — die Stornofrist bleibt unverändert.",
      "identificationNumber": "Kennungsnummer",
      "tabs": {
        "label": "Ansicht der Einrichtung",
        "stammdaten": "Stammdaten",
        "children": "Klassen & Kinder"
      },
      "notFound": "Diese Einrichtung gehört nicht zu Ihrem Betrieb."
    },
    "children": {
      "searchLabel": "Kind suchen",
      "searchPlaceholder": "Vor- oder Nachname des Kindes",
      "groupFilterLabel": "Klasse / Gruppe",
      "groupAll": "Alle",
      "groupNone": "Ohne Klasse / Gruppe",
      "listLabel": "Kinder dieser Einrichtung",
      "colChild": "Kind",
      "colGroup": "Klasse / Gruppe",
      "colDietaryNotes": "Ernährungshinweise",
      "colAccount": "Account",
      "account": "Account",
      "empty": "Noch keine Kinder in dieser Einrichtung.",
      "emptyFiltered": "Kein Kind gefunden.",
      "loadError": "Die Kinder konnten nicht geladen werden."
    },
    "delete": {
      "title": "Einrichtung löschen?",
      "message": "Möchten Sie {{name}} wirklich löschen? Dies kann nicht rückgängig gemacht werden.",
      "errorHasChildren": "Die Einrichtung kann nicht gelöscht werden, solange ihr Kinder zugeordnet sind."
    },
    "toast": {
      "actionError": "Aktion fehlgeschlagen. Bitte versuchen Sie es erneut.",
      "saveError": "Änderung konnte nicht gespeichert werden. Bitte versuchen Sie es erneut."
    },
    "badge": {
      "orderingOff": "Bestellstopp",
      "deadlineSuspended": "Frist ausgesetzt"
    },
    "priceSchedule": {
      "action": "Essenspreis ändern",
      "currentLabel": "Aktueller Preis",
      "title": "Essenspreis ändern",
      "pending": "ab {{date}}: {{price}}",
      "pendingInline": "{{price}} ({{date}})",
      "priceLabel": "Neuer Preis (€)",
      "priceUnchanged": "Der neue Preis entspricht dem aktuellen Preis.",
      "dateLabel": "Gültig ab (Liefertag)",
      "dateHint": "Der neue Preis gilt für alle Mahlzeiten, die ab diesem Tag geliefert werden.",
      "dateRequired": "Bitte ein Datum wählen.",
      "dateInPast": "Das Datum darf nicht in der Vergangenheit liegen.",
      "dateTooFar": "Das Datum liegt zu weit in der Zukunft (höchstens 5 Jahre).",
      "replaceTitle": "Geplante Preisänderung ersetzen?",
      "replaceMessage": "Für diese Einrichtung ist bereits eine Preisänderung ab {{date}} auf {{price}} geplant. Wenn Sie fortfahren, wird sie durch die neue ersetzt.",
      "warnTitle": "Bestellungen ab diesem Datum vorhanden",
      "warnMessageOne": "Für diese Einrichtung liegt ab {{date}} bereits 1 Bestellung vor. Sie behält den Preis, der bei der Bestellung galt — die Preisänderung wirkt sich für die betroffenen Eltern nicht aus.",
      "warnMessageMany": "Für diese Einrichtung liegen ab {{date}} bereits {{count}} Bestellungen vor. Sie behalten den Preis, der bei der Bestellung galt — die Preisänderung wirkt sich für die betroffenen Eltern nicht aus.",
      "warnConfirm": "Trotzdem speichern",
      "warnCancel": "Anderes Datum wählen",
      "revokeAction": "Geplante Änderung aufheben",
      "revokeTitle": "Geplante Preisänderung aufheben?",
      "revokeMessage": "Die für {{date}} geplante Änderung auf {{price}} wird verworfen. Es bleibt beim aktuellen Preis.",
      "revokeConfirm": "Aufheben",
      "revokeWarnOne": "Ab {{date}} liegt bereits 1 Bestellung vor. Sie behält den Preis, der bei der Bestellung galt; für alle noch nicht bestellten Tage gilt wieder der aktuelle Preis.",
      "revokeWarnMany": "Ab {{date}} liegen bereits {{count}} Bestellungen vor. Sie behalten den Preis, der bei der Bestellung galt; für alle noch nicht bestellten Tage gilt wieder der aktuelle Preis."
    }
  },
  "cities": {
    "title": "Städte & Kommunen",
    "subtitle": "Zuständigkeiten für die Abrechnung — Bestellungen ohne Guthaben trägt die jeweilige Kommune.",
    "loadError": "Städte & Kommunen konnten nicht geladen werden.",
    "empty": "Noch keine Städte / Kommunen angelegt.",
    "emptyFiltered": "Keine Stadt / Kommune gefunden.",
    "searchLabel": "Stadt / Kommune suchen",
    "searchPlaceholder": "Name suchen",
    "count": "{{count}} Städte / Kommunen",
    "childCountOne": "1 Kind",
    "childCountMany": "{{count}} Kinder",
    "col": {
      "name": "Stadt / Kommune",
      "children": "Zugewiesene Kinder",
      "actions": "Aktionen"
    },
    "action": {
      "details": "Details",
      "rename": "Umbenennen"
    },
    "create": {
      "action": "Stadt / Kommune anlegen",
      "title": "Stadt / Kommune anlegen",
      "description": "Die Zuordnung der Kinder erfolgt später in den Account-Details.",
      "submit": "Anlegen"
    },
    "rename": {
      "title": "Stadt / Kommune umbenennen"
    },
    "form": {
      "nameLabel": "Name",
      "namePlaceholder": "z. B. Stadt Meschede",
      "nameRequired": "Name ist erforderlich"
    },
    "detail": {
      "back": "Zurück zu Städte & Kommunen",
      "loadError": "Details konnten nicht geladen werden.",
      "subtitleOne": "1 zugewiesenes Kind mit Kostenübernahme",
      "subtitleMany": "{{count}} zugewiesene Kinder mit Kostenübernahme",
      "childrenTitle": "Kinder mit Kostenübernahme",
      "noChildren": "Dieser Kommune ist noch kein Kind zugewiesen.",
      "openAmount": {
        "label": "Offener Betrag (Bestellungen ohne Guthaben)",
        "pending": "Wird berechnet, sobald Bestelldaten vorliegen."
      },
      "orders": {
        "title": "Bestellungen ohne Guthaben",
        "pending": "Noch keine Bestelldaten verfügbar – diese Ansicht folgt in einem späteren Schritt."
      },
      "col": {
        "child": "Kind",
        "institution": "Einrichtung"
      }
    },
    "delete": {
      "title": "Stadt / Kommune löschen?",
      "message": "Möchten Sie {{name}} wirklich löschen? Dies kann nicht rückgängig gemacht werden.",
      "messageChildOne": "Möchten Sie {{name}} wirklich löschen? 1 zugewiesenes Kind verliert seine Zuordnung und ist danach „Nicht zugewiesen“.",
      "messageChildMany": "Möchten Sie {{name}} wirklich löschen? {{count}} zugewiesene Kinder verlieren ihre Zuordnung und sind danach „Nicht zugewiesen“.",
      "retentionNote": "Bereits abgerechnete Bestellungen bleiben im Zahlungsverlauf erhalten.",
      "error": "Löschen fehlgeschlagen. Bitte versuchen Sie es erneut.",
      "goneError": "Diese Stadt / Kommune wurde bereits gelöscht.",
      "offlineError": "Keine Verbindung zum Server. Bitte prüfen Sie Ihre Internetverbindung."
    }
  },
  "paymentHistory": {
    "title": "Zahlungsverlauf",
    "subtitle": "Aufladungen und Ausgaben — nachvollziehbar und schreibgeschützt.",
    "empty": "Keine Einträge für diesen Filter.",
    "loadError": "Der Zahlungsverlauf konnte nicht geladen werden.",
    "rangeInvalid": "Das Startdatum liegt nach dem Enddatum.",
    "filter": {
      "parent": "Elternkonto",
      "parentPlaceholder": "Eltern, Kind oder E-Mail suchen",
      "city": "Städte & Kommunen",
      "cityAll": "Alle Städte & Kommunen",
      "from": "Von",
      "to": "bis",
      "toLabel": "Enddatum",
      "clear": "Filter zurücksetzen",
      "categoryLabel": "Art der Bewegung",
      "debitGroup": "Ausgaben",
      "creditGroup": "Aufladungen",
      "methodLabel": "Zahlungsart der Aufladungen",
      "subsidyLabel": "Ausgaben mit oder ohne Guthaben",
      "cityDeletedSuffix": " (gelöscht)",
      "category": {
        "all": "Alle",
        "spending": "Ausgaben",
        "funding": "Aufladungen",
        "payouts": "Auszahlungen"
      },
      "method": {
        "all": "Alle",
        "stripe": "Stripe",
        "manual": "Bargeld"
      },
      "subsidy": {
        "all": "Alle",
        "external": "Ohne Guthaben"
      }
    },
    "col": {
      "entry": "Eintrag",
      "account": "Account",
      "type": "Typ",
      "method": "Zahlungsart",
      "date": "Datum",
      "amount": "Betrag"
    },
    "type": {
      "Topup": "Aufladung",
      "Spend": "Ausgabe",
      "Refund": "Rückerstattung",
      "ManualCredit": "Aufladung",
      "Payout": "Auszahlung",
      "DisputeClawback": "Rückbuchung",
      "DisputeRelease": "Freigabe"
    },
    "method": {
      "BankTransfer": "Stripe · SEPA-Überweisung",
      "InstantTransfer": "Stripe · Echtzeit-Überweisung",
      "Card": "Stripe · Kreditkarte",
      "manual": "Bargeld",
      "none": "Keine Zahlungsart"
    },
    "tag": {
      "external": "Ohne Guthaben",
      "disputed": "Rückbuchung offen",
      "chargedBack": "Zurückgebucht"
    },
    "city": {
      "hint": "Kostenübernahme durch die zuständige Stadt/Kommune",
      "unassigned": "Stadt/Kommune offen"
    },
    "amount": {
      "credit": "Plus {{amount}}",
      "debit": "Minus {{amount}}"
    }
  },
  "menus": {
    "title": "Menüpläne",
    "subtitle": "Terminierte Wochenpläne — aus Vorlagen erstellt, Einrichtungen zugewiesen und veröffentlicht.",
    "loadError": "Die Menüpläne konnten nicht geladen werden.",
    "manageDishes": "Gerichte verwalten",
    "manageTemplates": "Planvorlagen verwalten",
    "institutions": "Einrichtungen",
    "dishCount": "{{count}} Gerichte",
    "weekday": {
      "mo": "Montag",
      "di": "Dienstag",
      "mi": "Mittwoch",
      "do": "Donnerstag",
      "fr": "Freitag"
    },
    "status": {
      "published": "Veröffentlicht",
      "draft": "Entwurf"
    },
    "plans": {
      "new": "Neuer Menüplan",
      "empty": "Noch keine Menüpläne angelegt.",
      "publish": "Veröffentlichen",
      "unpublish": "Unveröffentlichen",
      "adjust": "Anpassen",
      "deleteAria": "Menüplan löschen",
      "noInstitutions": "Noch keine zugewiesen",
      "assignFirst": "Bitte zuerst mindestens eine Einrichtung zuweisen.",
      "hasOrders": "Für diesen Plan liegen bereits Bestellungen vor. Veröffentlichen Sie einen korrigierten oder zusätzlichen Plan.",
      "delete": {
        "title": "Menüplan löschen",
        "message": "„{{name}}“ wirklich löschen?",
        "institutionsOne": "1 Einrichtung verliert diesen veröffentlichten Plan — für sie werden in der Eltern-App in diesem Zeitraum keine Gerichte mehr angezeigt.",
        "institutionsMany": "{{count}} Einrichtungen verlieren diesen veröffentlichten Plan — für sie werden in der Eltern-App in diesem Zeitraum keine Gerichte mehr angezeigt."
      },
      "duplicate": "Duplizieren",
      "duplicateAria": "Menüplan duplizieren",
      "emptyBlocked": "Ein leerer Menüplan kann nicht veröffentlicht werden. Bitte fügen Sie zuerst Gerichte hinzu.",
      "assignedAndPublished": "Einrichtungen zugewiesen und Plan veröffentlicht.",
      "assignedNotPublished": "Die Zuweisung wurde gespeichert, der Plan konnte aber nicht veröffentlicht werden."
    },
    "templates": {
      "title": "Planvorlagen verwalten",
      "subtitle": "Vorlagen ohne festes Datum — einmal anlegen, beliebig oft terminieren.",
      "add": "Vorlage hinzufügen",
      "empty": "Noch keine Vorlagen angelegt.",
      "badge": "Vorlage",
      "updated": "zuletzt geändert {{date}}",
      "duplicate": "Duplizieren",
      "edit": "Bearbeiten",
      "deleteAria": "Vorlage „{{name}}“ löschen",
      "noInstitutions": "Keine zugewiesen",
      "delete": {
        "title": "Vorlage löschen",
        "message": "Vorlage „{{name}}“ wirklich löschen? Bereits terminierte Pläne bleiben erhalten."
      },
      "newName": "Neue Vorlage"
    },
    "addPlan": {
      "title": "Plan auswählen",
      "subtitle": "Wählen Sie eine Menüplan-Vorlage, vergeben Sie den Zeitraum und weisen Sie mindestens eine Einrichtung zu.",
      "templateLabel": "Plan auswählen",
      "templatePlaceholder": "Vorlage wählen (optional)",
      "periodLabel": "Zeitraum",
      "startLabel": "Von",
      "endLabel": "Bis",
      "to": "bis",
      "previewLabel": "Plan Vorschau",
      "institutionsLabel": "Einrichtungen",
      "manageInstitutions": "Zuweisungen verwalten",
      "noInstitutions": "Keine Einrichtungen zugewiesen",
      "submit": "Plan auswählen",
      "error": "Der Plan konnte nicht erstellt werden.",
      "noTemplateOption": "Ohne Vorlage (leerer Plan)"
    },
    "picker": {
      "title": "Zuweisungen verwalten",
      "searchLabel": "Einrichtung suchen",
      "searchPlaceholder": "Einrichtung suchen …",
      "empty": "Keine Einrichtung gefunden.",
      "loading": "Einrichtungen werden geladen …",
      "requireOne": "Mindestens eine Einrichtung ist erforderlich."
    },
    "dishPicker": {
      "title": "Gericht wählen · {{day}}",
      "subtitle": "Wählen Sie ein Gericht aus dem Katalog, um es dem {{day}} hinzuzufügen.",
      "searchLabel": "Gericht suchen",
      "searchPlaceholder": "Gericht suchen",
      "added": "Hinzugefügt",
      "add": "Hinzufügen",
      "empty": "Kein Gericht gefunden.",
      "createDish": "Neues Gericht anlegen",
      "done": "Fertig"
    },
    "editor": {
      "nameLabel": "Vorlagenname",
      "saveTemplate": "Vorlage speichern",
      "save": "Speichern",
      "saved": "Gespeichert",
      "saveError": "Speichern fehlgeschlagen. Bitte versuchen Sie es erneut.",
      "printAushang": "Aushang drucken",
      "publishedLock": "Dieser Plan ist veröffentlicht und gesperrt. Zum Ändern der Gerichte heben Sie die Veröffentlichung in der Übersicht auf.",
      "noInstitutions": "Keine zugewiesen",
      "removeDish": "Gericht entfernen",
      "addDish": "Gericht",
      "rename": "Vorlage umbenennen",
      "saveName": "Namen speichern",
      "emptyTemplateHint": "Fügen Sie mindestens ein Gericht hinzu, um die Vorlage zu speichern.",
      "dateRangeTooLong": "Der Zeitraum ist zu lang oder liegt zu weit in der Zukunft. Bitte wählen Sie ein früheres Enddatum.",
      "extendNotPublished": "Nur bei veröffentlichten Plänen kann der Zeitraum verlängert werden.",
      "endDateSaved": "Enddatum gespeichert",
      "endDateBeforeStart": "Das Enddatum darf nicht vor dem Beginn des Zeitraums liegen.",
      "endDateBeforeLastOrder": "Für spätere Tage liegen bereits Bestellungen vor.",
      "endDateBeforeLastOrderOn": "Frühestens {{date}} — für spätere Tage liegen bereits Bestellungen vor."
    },
    "aushang": {
      "title": "Menüplan-Aushang",
      "print": "Drucken",
      "heading": "Wochenplan-Aushang",
      "noMeal": "Kein Essen",
      "brand": "Partyservice Mues"
    },
    "backLabel": "Zurück"
  },
  "client": {
    "nav": {
      "label": "App-Navigation",
      "home": "Start",
      "plan": "Speiseplan",
      "history": "Verlauf"
    },
    "head": {
      "plan": "Speiseplan · Essen bestellen",
      "history": "Verlauf & Zahlungen",
      "menu": "Menü",
      "switchToPortal": "Zum Verwaltungsportal"
    },
    "home": {
      "greeting": "Hallo, Familie {{name}}",
      "subtitle": "Schön, dass Sie da sind.",
      "children": {
        "edit": "Bearbeiten/Hinzufügen",
        "done": "Fertig",
        "ordered": "Bestellt",
        "subsidised": "BuT",
        "todayOrdered": "Heute: {{dish}}",
        "todayCancelled": "Heute storniert",
        "todayNone": "Heute kein Essen bestellt",
        "toPlan": "{{name}}: zum Speiseplan",
        "editChild": "{{name}} bearbeiten"
      }
    }
  },
  "orders": {
    "title": "Lieferungen & Bestellungen",
    "subtitle": "Aggregierte Liefermengen je Einrichtung und Klasse / Gruppe.",
    "loadError": "Die Lieferungen konnten nicht geladen werden.",
    "empty": "Keine Einrichtungen vorhanden.",
    "mode": {
      "label": "Ansicht",
      "day": "Tagesansicht",
      "week": "Wochenansicht",
      "month": "Monatsansicht"
    },
    "filter": {
      "dayLabel": "Liefertag",
      "institution": "Einrichtung",
      "institutionAll": "Alle Einrichtungen"
    },
    "action": {
      "print": "Drucken",
      "printAria": "Lieferscheine für {{date}} drucken",
      "deliveryNote": "Lieferschein",
      "deliveryNoteAria": "Lieferschein für {{institution}}",
      "archive": "Vergangene Lieferungen",
      "deliveryNoteEmpty": "Keine Bestellungen — kein Lieferschein für diesen Tag",
      "deliveryNoteEmptyAria": "Lieferschein für {{institution}} nicht verfügbar — keine Bestellungen"
    },
    "day": {
      "col": {
        "dish": "Gericht",
        "total": "Gesamt"
      },
      "noGroup": "Ohne Gruppe",
      "totalRow": "Gesamt",
      "count": "{{count}}×",
      "none": "keine",
      "empty": "Keine Bestellungen für diesen Tag.",
      "deliveryTime": "Lieferung {{time}} Uhr"
    },
    "week": {
      "col": {
        "dish": "Gericht",
        "sum": "Σ"
      },
      "sumAria": "Summe",
      "totalRow": "Gesamt",
      "empty": "Keine Bestellungen diese Woche.",
      "tableLabel": "Liefermengen {{institution}}, {{range}}"
    },
    "month": {
      "gridLabel": "Liefermengen {{month}}",
      "prev": "Vorheriger Monat",
      "next": "Nächster Monat",
      "today": "Heute",
      "noDelivery": "Keine Lieferung",
      "summary": "Portionen · {{institutions}} Einr.",
      "cell": "{{date}}: {{portions}} Portionen in {{institutions}} Einrichtungen — zur Tagesansicht",
      "loadError": "Die Monatsübersicht konnte nicht geladen werden.",
      "empty": "Für diesen Monat liegen keine Bestellungen vor."
    },
    "archive": {
      "title": "Vergangene Lieferungen",
      "subtitle": "Bereits ausgelieferte und vergangene Lieferungen — archiviert.",
      "back": "Zurück zu Lieferungen & Bestellungen",
      "empty": "Noch keine vergangenen Lieferungen im Archiv.",
      "loadError": "Das Archiv konnte nicht geladen werden.",
      "more": "Weitere laden"
    },
    "note": {
      "titleOne": "Lieferschein",
      "titleMany": "Lieferscheine",
      "back": "Zurück zu Lieferungen & Bestellungen",
      "print": "Drucken",
      "loadError": "Der Lieferschein konnte nicht geladen werden.",
      "empty": "Für diesen Tag gibt es keine Lieferungen.",
      "sheetLabel": "Lieferschein {{institution}}, {{date}}",
      "deliveryAddress": "Lieferadresse",
      "contact": "Ansprechpartner: {{name}}",
      "deliveryTime": "Lieferung {{time}} Uhr",
      "totalPortions": "Portionen gesamt",
      "col": {
        "dish": "Gericht",
        "allergens": "Allergene",
        "amount": "Menge"
      },
      "amount": "{{count}}×",
      "totalRow": "Gesamt",
      "noOrders": "Keine Bestellungen für diesen Tag.",
      "childAssignment": "Zuordnung je Kind",
      "noGroup": "Ohne Gruppe",
      "signedDelivered": "Ausgeliefert (Datum, Unterschrift)",
      "signedReceived": "Empfangen (Einrichtung)"
    }
  },
  "ordering": {
    "title": "Speiseplan",
    "noChildren": "Legen Sie zuerst ein Kind an, um Essen zu bestellen.",
    "childPickerLabel": "Kind auswählen",
    "optionsLabel": "Gerichte an diesem Tag",
    "balance": "Guthaben: {{amount}}",
    "subsidised": "Bestellungen ohne Guthaben (BuT)",
    "priceSubsidised": "bezuschusst",
    "allergens": "Allergene",
    "loadError": "Der Speiseplan konnte nicht geladen werden.",
    "deadline": "Bestellfrist: {{when}} Uhr",
    "deadlineSuspended": "Bestellfrist aufgehoben",
    "state": {
      "booked": "Bestellt",
      "bookedLocked": "Bestellt · Abbestellfrist vorbei",
      "noDish": "Kein Essen an diesem Tag"
    },
    "blocked": {
      "OrderClosed": "Bestellfrist vorbei",
      "OrderingDisabled": "Bestellung derzeit nicht möglich",
      "InsufficientBalance": "Guthaben reicht nicht",
      "NegativeBalance": "Guthaben im Minus"
    },
    "cancel": {
      "action": "Stornieren",
      "title": "Essen stornieren?",
      "message": "{{dish}} wird storniert und der Betrag Ihrem Guthaben zurückgebucht.",
      "confirm": "Stornieren",
      "done": "Bestellung storniert.",
      "gone": "Diese Bestellung besteht nicht mehr."
    },
    "childRemoved": {
      "title": "{{name}} wurde entfernt",
      "switch": "Diese Ansicht wechselt zu {{next}}.",
      "none": "Sie haben keine Kinder mehr angelegt."
    },
    "legend": {
      "title": "Allergen-Legende",
      "allergens": "Allergene",
      "labels": "Kennzeichnungen",
      "none": "Keine Angaben für die angezeigten Gerichte.",
      "close": "Schließen",
      "scope": "Gilt für KW {{kw}}"
    },
    "error": {
      "insufficientBalance": "Ihr Guthaben reicht für dieses Gericht nicht aus. Bitte laden Sie auf.",
      "negativeBalance": "Ihr Guthaben ist im Minus. Bitte laden Sie auf, um wieder zu bestellen.",
      "alreadyOrdered": "Für diesen Tag ist bereits ein Essen bestellt.",
      "priceChanged": "Der Preis hat sich geändert. Der Speiseplan wurde neu geladen.",
      "notOrderable": "Dieses Gericht wird an diesem Tag nicht mehr angeboten.",
      "orderClosed": "Die Bestellfrist für diesen Tag ist vorbei.",
      "cancellationClosed": "Die Abbestellfrist für diesen Tag ist vorbei.",
      "orderingDisabled": "Für diese Einrichtung ist die Bestellung derzeit deaktiviert."
    },
    "today": "Heute",
    "addChild": "Kind hinzufügen",
    "noDishThatDay": "Kein Essen an diesem Tag.",
    "orderingDisabledBanner": "{{institution}} nimmt derzeit keine Bestellungen an. Bitte wenden Sie sich an die Einrichtung.",
    "busy": "Wird gebucht …",
    "busyCancel": "Wird storniert …",
    "detail": {
      "componentsLabel": "Komponenten",
      "allergensLabel": "Allergene",
      "none": "Keine Angaben",
      "noComponents": "Für dieses Gericht liegen keine Angaben zu den Komponenten vor.",
      "loadError": "Die Komponenten konnten nicht geladen werden.",
      "order": "Bestellen",
      "cancel": "Stornieren",
      "close": "Schließen",
      "open": "Details zu {{dish}}",
      "blocked": {
        "alreadyOrdered": "Für diesen Tag ist bereits ein Essen bestellt.",
        "notCancellable": "Die Frist zum Abbestellen ist für diesen Tag vorbei.",
        "notOfferedAnymore": "Dieses Gericht wird an diesem Tag nicht mehr angeboten."
      }
    },
    "week": {
      "current": "Diese Woche (KW {{kw}})",
      "next": "Nächste Woche (KW {{kw}})",
      "later": "KW {{kw}}",
      "other": "KW {{kw}}",
      "aria": "Kalenderwoche {{kw}}, {{year}}"
    },
    "weekNavLabel": "Kalenderwochen",
    "jump": {
      "loading": "Kalenderwoche {{kw}} wird geladen …",
      "done": "Kalenderwoche {{kw}} wird angezeigt.",
      "unavailable": "Kalenderwoche {{kw}} ist nicht mehr verfügbar."
    },
    "more": {
      "loading": "Weitere Wochen werden geladen …",
      "error": "Weitere Wochen konnten nicht geladen werden.",
      "retry": "Erneut versuchen",
      "end": "Weitere Wochen sind noch nicht veröffentlicht."
    },
    "weekNav": {
      "error": "Die Kalenderwochen konnten nicht geladen werden."
    },
    "dietaryNotesBanner": "Hinweis: Aufgrund von {{list}} können die Gerichte von der Beschreibung abweichen."
  },
  "history": {
    "title": "Verlauf",
    "subtitle": "Bestellungen und Aufladungen",
    "empty": "Noch keine Einträge.",
    "loadError": "Der Verlauf konnte nicht geladen werden.",
    "childFilterLabel": "Nach Kind filtern",
    "allChildren": "Alle",
    "subsidised": "bezuschusst",
    "kind": {
      "TopUp": "Guthaben aufgeladen",
      "ManualCredit": "Gutschrift",
      "Meal": "Essen",
      "Refund": "Storno erstattet",
      "Payout": "Guthaben ausgezahlt",
      "Chargeback": "Rückbuchung",
      "ChargebackReleased": "Rückbuchung geklärt"
    },
    "cancelledSuffix": "storniert",
    "butSuffix": "BuT"
  },
  "profile": {
    "title": "Mein Konto",
    "open": "Profil bearbeiten",
    "name": {
      "heading": "Name",
      "firstNameLabel": "Vorname",
      "lastNameLabel": "Nachname",
      "firstNameRequired": "Bitte geben Sie Ihren Vornamen ein.",
      "lastNameRequired": "Bitte geben Sie Ihren Nachnamen ein.",
      "saved": "Name gespeichert."
    },
    "password": {
      "heading": "Passwort",
      "hint": "Nach dem Speichern werden Ihre anderen Geräte abgemeldet.",
      "currentLabel": "Aktuelles Passwort",
      "currentRequired": "Bitte geben Sie Ihr aktuelles Passwort ein.",
      "newLabel": "Neues Passwort",
      "confirmLabel": "Neues Passwort bestätigen",
      "saved": "Passwort geändert.",
      "signedOut": "Passwort geändert — bitte neu anmelden.",
      "error": "Das Passwort konnte nicht geändert werden. Bitte prüfen Sie Ihr aktuelles Passwort.",
      "optional": "Leer lassen, wenn Sie Ihr Passwort nicht ändern möchten."
    },
    "saved": "Änderungen gespeichert."
  },
  "legal": {
    "impressum": {
      "title": "Impressum",
      "intro": "Angaben gemäß § 5 TMG:",
      "sections": {
        "anbieter": {
          "heading": "Anbieter",
          "body": "Partyservice Mues GmbH & Co. KG\nMarcus Mues\nCaller Straße 10\n59872 Meschede - Wallen"
        },
        "kontakt": {
          "heading": "Kontakt",
          "body": "Telefon: 02903 - 60 81\nE-Mail: info@partyservice-mues.de"
        },
        "umsatzsteuer": {
          "heading": "Umsatzsteuer-ID",
          "body": "Umsatzsteuer-Identifikationsnummer gemäß §27 a Umsatzsteuergesetz:",
          "body2": "DE 25 49 45 007"
        },
        "handelsregister": {
          "heading": "Registereintrag",
          "body": "Kommanditgesellschaft Sitz: Meschede\nAmtsgericht: Arnsberg - HRA 7956"
        },
        "komplementaerin": {
          "heading": "Persönlich haftende Gesellschafterin",
          "body": "Partyservice Mues Management GmbH\nSitz: Meschede\nAmtsgericht: Arnsberg - HRB 11612\nGeschäftsführer Marcus Mues"
        },
        "steuernummer": {
          "heading": "Steuernummer",
          "body": "334/5751/0569"
        },
        "verantwortlich": {
          "heading": "Inhaltlich verantwortlich gemäß § 6 MDStV",
          "body": "Marcus Mues"
        },
        "streitschlichtung": {
          "heading": "Streitschlichtung",
          "body": "Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit: https://ec.europa.eu/consumers/odr.",
          "body2": "Unsere E-Mail-Adresse finden Sie oben im Impressum.",
          "body3": "Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen."
        },
        "haftungInhalte": {
          "heading": "Haftung für Inhalte",
          "body": "Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.",
          "body2": "Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen."
        },
        "haftungLinks": {
          "heading": "Haftung für Links",
          "body": "Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar.",
          "body2": "Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen."
        },
        "urheberrecht": {
          "heading": "Urheberrecht",
          "body": "Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.",
          "body2": "Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen."
        }
      }
    },
    "datenschutz": {
      "title": "Datenschutz"
    },
    "agb": {
      "title": "AGB"
    },
    "navLabel": "Rechtliches",
    "loadError": "Der Text konnte nicht geladen werden.",
    "retry": "Erneut versuchen",
    "version": "Fassung {{version}}",
    "consent": {
      "required": "Bitte akzeptieren Sie die AGB und bestätigen Sie die Kenntnisnahme der Datenschutzerklärung.",
      "loadError": "Die Einwilligungserklärung konnte nicht geladen werden. Eine Registrierung ist ohne sie nicht möglich."
    }
  },
  "account": {
    "delete": {
      "title": "Konto löschen",
      "intro": "Ihr Konto wird sofort geschlossen. Sie können sich danach nicht mehr anmelden, und die Löschung kann nicht rückgängig gemacht werden.",
      "personalData": "Ihre persönlichen Daten und die Daten Ihrer Kinder werden gelöscht.",
      "history": "Ihre Bestell- und Zahlungshistorie bleibt beim Caterer erhalten — anonymisiert, ohne Ihren Namen und ohne die Namen Ihrer Kinder. Bereits bestellte Essen bleiben bestehen.",
      "refund": "Ein verbleibendes Guthaben wird Ihnen vom Caterer zurücküberwiesen. Bis die Rückzahlung abgeschlossen ist, bleiben Ihre Daten für den Caterer sichtbar.",
      "finePrint": "Die Löschung erfolgt gemäß DSGVO. Gesetzliche Aufbewahrungspflichten (z. B. Rechnungsdaten) bleiben unberührt.",
      "confirmLabel": "Ich möchte mein Konto endgültig löschen.",
      "confirm": "Konto endgültig löschen",
      "disabledHint": "Bitte bestätigen Sie zuerst das Kontrollkästchen.",
      "error": "Löschen fehlgeschlagen. Bitte versuchen Sie es erneut.",
      "errorStaffAccount": "Dieses Konto ist auch ein aktives Mitarbeiterkonto. Bitten Sie eine Administratorin oder einen Administrator, das Mitarbeiterkonto zu deaktivieren, und löschen Sie danach Ihr Elternkonto.",
      "banner": "Ihr Konto wurde gelöscht. Ein etwaiges Restguthaben wird Ihnen zurücküberwiesen."
    }
  },
  "deleted": {
    "parent": "Konto gelöscht",
    "child": "Gelöschtes Kind"
  },
  "dev": {
    "designSystem": {
      "toastSaved": "Änderungen gespeichert.",
      "menuPicked": "Menüeintrag gewählt: {{key}}",
      "busySaving": "Wird gespeichert …"
    }
  },
  "dietaryNotes": {
    "manage": "Ernährungshinweise verwalten",
    "editTitle": "Ernährungshinweise bearbeiten",
    "editSubtitle": "Ernährungshinweise für Kinder (z. B. Glutenunverträglichkeit). Sie werden einzelnen Kindern zugewiesen und erscheinen auf den Lieferscheinen.",
    "empty": "Noch keine Ernährungshinweise angelegt.",
    "nameLabel": "Bezeichnung",
    "namePlaceholder": "z. B. Glutenunverträglichkeit",
    "addRow": "Ernährungshinweis hinzufügen",
    "removeRowAria": "Ernährungshinweis entfernen",
    "duplicate": "Jede Bezeichnung darf nur einmal vorkommen.",
    "removeConfirmTitle": "Änderungen speichern",
    "removeInUse": "Der Hinweis wird bei {{count}} Kind(ern) entfernt, die ihn noch tragen. Die Küche erhält für diese Kinder ab sofort keine gesonderte Angabe mehr. Fortfahren?",
    "saveError": "Die Ernährungshinweise konnten nicht gespeichert werden.",
    "assign": {
      "title": "Ernährungshinweise zuweisen",
      "subtitle": "Welche Hinweise gelten für {{child}}?",
      "groupLabel": "Ernährungshinweise",
      "noneAvailable": "Noch keine Ernährungshinweise angelegt. Legen Sie zuerst welche an.",
      "staleNote": "Mindestens ein Ernährungshinweis existiert nicht mehr. Die Liste wurde aktualisiert – bitte erneut zuweisen."
    }
  }
}
