// i18n — Client-side internationalization for paliad // Supports DE (German) and EN (English) import { FIRM } from "../branding"; import type { I18nKey } from "../i18n-keys"; export type { I18nKey }; export type Lang = "de" | "en"; const STORAGE_KEY = "paliad-lang"; const LEGACY_STORAGE_KEY = "patholo-lang"; let currentLang: Lang = "de"; const changeCallbacks: Array<() => void> = []; const translations: Record> = { de: { // Navigation "nav.home": "Home", "nav.kostenrechner": "Kostenrechner", "nav.downloads": "Downloads", "nav.links": "Links", "nav.glossar": "Glossar", "nav.gebuehrentabellen": "Geb\u00fchrentabellen", "nav.checklisten": "Checklisten", "nav.submissions": "Schriftsätze", "nav.gerichte": "Gerichte", "nav.logout": "Abmelden", "nav.akten": "Akten", "nav.projekte": "Projekte", "nav.fristen": "Fristen", "nav.termine": "Termine", "nav.dashboard": "Dashboard", "nav.agenda": "Agenda", "nav.inbox": "Genehmigungen", "nav.paliadin": "Paliadin", "nav.team": "Team", "nav.group.uebersicht": "\u00dcbersicht", "nav.group.ansichten": "Ansichten", "nav.group.werkzeuge": "Werkzeuge", "nav.neuigkeiten": "Neuigkeiten", "nav.soon.tooltip": "Bald verf\u00fcgbar", // Theme toggle (m/paliad#2). The button cycles auto \u2192 light \u2192 dark // \u2192 auto. The "toggle." keys show the *current* pref next to // the icon; the "cycle." keys describe WHAT the next click will // do (read by aria-label / tooltip). "theme.toggle.auto": "Auto", "theme.toggle.light": "Hell", "theme.toggle.dark": "Dunkel", "theme.toggle.cycle.auto": "Auf Hell-Modus wechseln", "theme.toggle.cycle.light": "Auf Dunkel-Modus wechseln", "theme.toggle.cycle.dark": "Auf Auto wechseln (System)", // BottomNav (mobile) "bottomnav.add": "Anlegen", "bottomnav.menu": "Menü", "bottomnav.add.title": "Schnell anlegen", "bottomnav.add.deadline": "Frist anlegen", "bottomnav.add.deadline.sub": "Neue Frist mit Datum & Projekt", "bottomnav.add.appointment": "Termin anlegen", "bottomnav.add.appointment.sub": "Neuer Termin mit Uhrzeit & Ort", "bottomnav.add.project": "Projekt anlegen", "bottomnav.add.project.sub": "Neues Mandat / Verfahren / Patent", "bottomnav.add.cancel": "Abbrechen", "bottomnav.badge.deadlines": "{overdue} überfällig + {today} heute fällig", // Changelog (What's New) — t-paliad-027 "changelog.title": "Neuigkeiten — Paliad", "changelog.heading": "Neuigkeiten", "changelog.subtitle": "Was sich in Paliad in letzter Zeit getan hat.", "changelog.empty": "Noch keine Eintr\u00e4ge.", "changelog.tag.feature": "Neu", "changelog.tag.content": "Inhalt", "changelog.tag.fix": "Fix", // Footer "footer.text": "\u00a9 2026 Paliad \u2014 by", // Landing page "index.title": `Paliad \u2014 Patent Litigation f\u00fcr ${FIRM}`, "index.hero.accent": `f\u00fcr ${FIRM}`, "index.hero.sub": `Administration, Knowledge und Tools f\u00fcr das ${FIRM} Patent-Team.`, "index.guides.title": "Leitf\u00e4den", "index.guides.desc": "Praxisleitf\u00e4den zu Verfahren vor dem EPA, BPatG und UPC. Schritt-f\u00fcr-Schritt-Anleitungen f\u00fcr typische Workflows.", "index.templates.title": "Vorlagen", "index.templates.desc": `Standardisierte Vorlagen f\u00fcr Schrifts\u00e4tze, Korrespondenz und interne Dokumente. ${FIRM} Patents Style Guide.`, "index.documents.title": "Dokumente", "index.documents.desc": "Referenzmaterialien, Checklisten und Arbeitshilfen f\u00fcr den Praxisalltag im Patentrecht.", "index.tools": "Werkzeuge", "index.cost.title": "Kostenrechner", "index.cost.desc": "Sch\u00e4tzung der Verfahrenskosten f\u00fcr DE-Gerichte, UPC und EPA-Verfahren. Gerichts- und Anwaltskosten auf einen Blick.", "index.deadline.title": "Fristenrechner", "index.deadline.desc": "Berechnung von Verfahrensfristen f\u00fcr UPC-, deutsche und EPA-Verfahren mit Feiertags-Anpassung.", "index.glossar.title": "Patentglossar", "index.glossar.desc": "Zweisprachiges DE/EN-Glossar der wichtigsten Begriffe im Patentrecht. Durchsuchbar nach Kategorien.", "index.downloads": "Downloads", "index.style.title": `${FIRM} Patents Style`, "index.style.desc": `Word-Vorlage im ${FIRM} Patents Style. Formatierung, Schriftarten und Makros f\u00fcr standardisierte Schrifts\u00e4tze.`, "index.offices": "Standorte", "index.office.munich": "M\u00fcnchen", "index.office.duesseldorf": "D\u00fcsseldorf", "index.office.hamburg": "Hamburg", "index.office.amsterdam": "Amsterdam", "index.office.london": "London", "index.office.paris": "Paris", "index.office.milan": "Mailand", // Login "login.title": "Anmelden \u2014 Paliad", "login.tab.login": "Anmelden", "login.tab.register": "Registrieren", "login.email": "E-Mail", "login.password": "Passwort", "login.password.placeholder": "Passwort", "login.submit": "Anmelden", "login.confirm": "Passwort best\u00e4tigen", "login.confirm.placeholder": "Passwort wiederholen", "login.minchars": "Mind. 8 Zeichen", "login.register.submit": "Registrieren", "login.hint": `Nur f\u00fcr autorisierte ${FIRM}-E-Mail-Adressen.`, "login.error.connection": "Verbindungsfehler. Bitte versuchen Sie es erneut.", "login.error.mismatch": "Passw\u00f6rter stimmen nicht \u00fcberein.", "login.error.minlength": "Passwort muss mindestens 8 Zeichen lang sein.", "login.success.created": "Account erstellt. Bitte melden Sie sich an.", // Kostenrechner "kosten.title": "Prozesskostenrechner \u2014 Paliad", "kosten.heading": "Prozesskostenrechner", "kosten.subtitle": "Sch\u00e4tzung der Verfahrenskosten f\u00fcr Patentverletzungs-, Nichtigkeits- und EPA-Verfahren.", "kosten.streitwert": "Streitwert", "kosten.vat": "MwSt", "kosten.vat.foreign": "0% (Ausland)", "kosten.de.infringement": "DE Verletzungsverfahren", "kosten.de.nullity": "DE Nichtigkeitsverfahren", "kosten.upc": "UPC", "kosten.epa": "EPA", "kosten.inst.lg": "LG (Verletzung 1. Instanz)", "kosten.inst.olg": "OLG (Berufung)", "kosten.inst.bgh_nzb": "BGH (Nichtzulassungsbeschwerde)", "kosten.inst.bgh_rev": "BGH (Revision)", "kosten.inst.bpatg": "BPatG (Nichtigkeitsverfahren)", "kosten.inst.bgh_nullity": "BGH (Nichtigkeitsberufung)", "kosten.inst.upc_first": "UPC (1. Instanz)", "kosten.inst.upc_appeal": "UPC (Berufung)", "kosten.inst.epa_opposition": "Einspruch", "kosten.inst.epa_appeal": "Einspruchsbeschwerde", "kosten.fee.version": "Geb\u00fchrenversion:", "kosten.fee.schedule": "Geb\u00fchrenordnung:", "kosten.fee.from2026": "Ab 2026", "kosten.fee.pre2026": "Vor 2026", "kosten.fee.current": "Aktuell (2025)", "kosten.attorneys": "Rechtsanw\u00e4lte:", "kosten.patent.attorneys": "Patentanw\u00e4lte:", "kosten.clients": "Mandanten:", "kosten.oral.hearing": "M\u00fcndl. Verhandlung", "kosten.revocation": "Widerklage auf Nichtigkeit", "kosten.total": "Gesamtkosten", "kosten.empty": "W\u00e4hlen Sie mindestens eine Instanz.", "kosten.print": "Drucken", "kosten.court.fees": "Gerichtskosten", "kosten.attorney.fees": "Anwaltskosten (RA)", "kosten.patent.attorney.fees": "Patentanwaltskosten (PA)", "kosten.epa.fees": "EPA-Geb\u00fchren", "kosten.attorney.label": "Rechtsanwalt", "kosten.patent.attorney.label": "Patentanwalt", "kosten.detail.procedure": "Verfahrensgeb.", "kosten.detail.increase": "Erh\u00f6hung", "kosten.detail.hearing": "Terminsgeb.", "kosten.detail.lump": "Pauschale", "kosten.detail.vat": "MwSt", "kosten.detail.total": "Gesamt", "kosten.upc.fixed": "Festgeb\u00fchr", "kosten.upc.value": "Streitwertabh. Geb\u00fchr", "kosten.upc.court.total": "Gerichtskosten gesamt", "kosten.upc.sme": "KMU-Reduzierung", "kosten.upc.recoverable": "Erstattungsf\u00e4hige Kosten (Obergrenze)", "kosten.epa.official": "Amtsgeb\u00fchr", "kosten.epa.note": "Anwaltskosten nach Zeitaufwand (nicht RVG-basiert).", "kosten.share": "Link kopieren", "kosten.share.copied": "Link kopiert!", "kosten.compare": "Vergleichen", "kosten.compare.exit": "Vergleich beenden", "kosten.scenario.a": "Szenario A", "kosten.scenario.b": "Szenario B", "kosten.scenario.diff": "Differenz", "kosten.print.title": "Kostenberechnung", "kosten.print.date": "Datum", "kosten.print.streitwert": "Streitwert", "kosten.print.vat": "MwSt-Satz", "kosten.print.instances": "Instanzen", "kosten.print.disclaimer": "Dieses Dokument dient ausschlie\u00dflich der internen Verwendung und stellt keine Rechtsberatung dar. Alle Angaben ohne Gew\u00e4hr.", // Fristenrechner "deadlines.title": "Fristenrechner \u2014 Paliad", "deadlines.heading": "Fristenrechner", "deadlines.subtitle": "Berechnung von Verfahrensfristen f\u00fcr UPC-, deutsche und EPA-Verfahren.", // Unified procedural-events tool (m/paliad#151) "procedures.title": "Verfahren & Fristen \u2014 Paliad", "procedures.heading": "Verfahren & Fristen", "procedures.subtitle": "Verfahrensablauf, Fristenrechner und gef\u00fchrte Suche in einem Tool.", "procedures.filter.search.placeholder": "Klageerhebung, Hinweisbeschluss, oral hearing\u2026", "procedures.filter.axis.forum": "Forum:", "procedures.filter.axis.proc": "Verfahren:", "procedures.filter.axis.kind": "Ereignisart:", "procedures.filter.axis.party": "Partei:", "procedures.tab.proceeding": "Verfahren w\u00e4hlen", "procedures.tab.search": "Direkt suchen", "procedures.tab.wizard": "Gef\u00fchrt", "procedures.tab.akte": "Aus Akte", "procedures.panel.akte.placeholder": "Akten-Einstieg folgt in einem sp\u00e4teren Slice.", "nav.procedures": "Verfahren & Fristen", // Litigation Builder (m/paliad#153 B1+B2) "builder.subtitle": "Litigation Builder \u2014 Szenarien bauen, Verfahren stapeln, Fristen behalten.", "builder.header.scenario": "Szenario:", "builder.header.akte": "Akte:", "builder.header.stichtag": "Stichtag:", "builder.header.search": "Suche:", "builder.akte.none": "\u2014 ohne \u2014", "builder.akte.banner.prefix": "Aus Akte:", "builder.search.placeholder": "Ereignis, Szenario, Akte \u2026", "builder.action.rename": "Benennen", "builder.action.rename.prompt": "Name f\u00fcr dieses Szenario:", "builder.action.share": "Teilen", "builder.action.promote": "Als Projekt anlegen", "builder.mode.cold": "\u00dcbersicht", "builder.mode.event": "Ereignis", "builder.mode.akte": "Aus Akte", "builder.panel.title": "Meine Szenarien", "builder.panel.new": "+ Neues Szenario", "builder.panel.empty": "Noch keine Szenarien.", "builder.bucket.active": "Aktiv", "builder.empty.headline": "Noch kein Szenario ge\u00f6ffnet.", "builder.empty.hint": "Starte ein neues Szenario, w\u00e4hle aus deiner Liste oder \u00fcbernimm eine Akte (B4).", "builder.empty.cta": "Neues Szenario starten", "builder.empty.recent": "Zuletzt bearbeitet", "builder.picker.placeholder": "\u2014 Szenario w\u00e4hlen \u2014", "builder.picker.title": "Verfahren hinzuf\u00fcgen", "builder.picker.close": "Schlie\u00dfen", "builder.picker.aria": "Verfahren ausw\u00e4hlen", "builder.picker.axis.forum": "Forum:", "builder.picker.axis.proc": "Verfahren:", "builder.picker.empty": "Keine Verfahren verf\u00fcgbar.", "builder.picker.future_jurisdiction": "Andere Foren folgen sp\u00e4ter.", "builder.canvas.add_proceeding": "+ Verfahren hinzuf\u00fcgen", "builder.triplet.loading": "Berechne Fristen \u2026", "builder.triplet.unknown_proceeding": "Unbekannter Verfahrenstyp.", "builder.triplet.side.claimant": "Kl\u00e4ger-Sicht", "builder.triplet.side.defendant": "Beklagten-Sicht", "builder.triplet.flags.label": "Optionen:", "builder.triplet.perspective.label": "Perspektive:", "builder.triplet.perspective.none": "keine", "builder.triplet.perspective.claimant": "Kl\u00e4ger", "builder.triplet.perspective.defendant": "Beklagter", "builder.triplet.detailgrad.label": "Detailgrad:", "builder.triplet.detailgrad.selected": "Gew\u00e4hlt", "builder.triplet.detailgrad.all_options": "Alle Optionen", "builder.triplet.remove": "Entfernen", "builder.triplet.collapse": "Einklappen", "builder.triplet.expand": "Ausklappen", "builder.triplet.no_flags": "(keine Flags f\u00fcr diesen Verfahrenstyp)", "builder.event.state.planned": "geplant", "builder.event.state.filed": "eingereicht", "builder.event.state.skipped": "ausgelassen", "builder.event.action.file": "Einreichen", "builder.event.action.skip": "Auslassen", "builder.event.action.reset": "Zur\u00fcck zu geplant", "builder.event.actual_date.prompt": "Datum der Einreichung:", "builder.event.skip_reason.prompt": "Grund (optional):", "builder.event.horizon.label": "+{n} Optionen \u25be", "builder.event.horizon.hide": "Optionen ausblenden", "builder.save.idle": "\u00a0", "builder.save.saving": "Speichert \u2026", "builder.save.saved": "Gespeichert \u2713", "builder.save.error": "Speichern fehlgeschlagen", "builder.search.hint.start": "Tippe \u2026 z.\u202fB. \u201eKlageerwiderung\u201c, \u201eHinweis\u201c, \u201eHL-2024\u201c", "builder.search.hint.short": "Mindestens 2 Zeichen.", "builder.search.hint.loading": "Suche \u2026", "builder.search.hint.empty": "Keine Treffer.", "builder.search.hint.error": "Suche fehlgeschlagen. Erneut versuchen.", "builder.search.hint.akte_b4": "Akten-Modus folgt in B4.", "builder.search.group.events": "Ereignisse", "builder.search.group.scenarios": "Szenarien", "builder.search.group.projects": "Akten", "builder.search.summary.events.one": "{n} Ereignis", "builder.search.summary.events.other": "{n} Ereignisse", "builder.search.summary.scenarios.one": "{n} Szenario", "builder.search.summary.scenarios.other": "{n} Szenarien", "builder.search.summary.projects.one": "{n} Akte", "builder.search.summary.projects.other": "{n} Akten", "builder.search.anchor.divider": "\u2501\u2501\u2501\u2501 DU BIST HIER \u2501\u2501\u2501\u2501", // B5 \u2014 side-panel buckets, sharing, promote-to-project wizard. "builder.bucket.shared": "Geteilt mit mir", "builder.bucket.promoted": "Als Projekt angelegt", "builder.bucket.archived": "Archiviert", "builder.bucket.empty": "\u2014", "builder.readonly.watermark": "Geteilt von {owner} \u00b7 schreibgesch\u00fctzt", "builder.readonly.blocked": "Schreibgesch\u00fctzt \u2014 Bearbeiten ist nur f\u00fcr die Eigent\u00fcmer:in m\u00f6glich.", "builder.share.title": "Szenario teilen", "builder.share.subtitle": "Schreibgesch\u00fctzt mit HLC-Kolleg:innen teilen. Du bleibst alleinige Bearbeiter:in.", "builder.share.search.placeholder": "Name oder E-Mail suchen \u2026", "builder.share.button": "Schreibgesch\u00fctzt teilen", "builder.share.current.title": "Bereits geteilt mit:", "builder.share.current.empty": "Noch mit niemandem geteilt.", "builder.share.revoke": "Entfernen", "builder.share.close": "Schlie\u00dfen", "builder.share.no_results": "Keine Nutzer:innen gefunden.", "builder.share.error": "Teilen fehlgeschlagen. Erneut versuchen.", "builder.promote.title": "Als Projekt anlegen", "builder.promote.step1": "Best\u00e4tigen", "builder.promote.step2": "Parteien erg\u00e4nzen", "builder.promote.step3": "Akte-Metadaten", "builder.promote.next": "Weiter", "builder.promote.back": "Zur\u00fcck", "builder.promote.commit": "Anlegen", "builder.promote.cancel": "Abbrechen", "builder.promote.summary.heading": "Das wird angelegt:", "builder.promote.summary.proceeding": "Hauptverfahren", "builder.promote.summary.events_filed": "eingereichte Ereignisse", "builder.promote.summary.events_planned": "geplante Ereignisse", "builder.promote.summary.flags": "aktive Optionen", "builder.promote.summary.note_extra": "{n} weitere(s) eigenst\u00e4ndige(s) Verfahren bleibt im Szenario und wird nicht automatisch \u00fcbernommen.", "builder.promote.parties.hint": "Trage die echten Parteinamen ein \u2014 oder erg\u00e4nze sie sp\u00e4ter in der Akte.", "builder.promote.parties.add": "+ Partei hinzuf\u00fcgen", "builder.promote.parties.name": "Name", "builder.promote.parties.role": "Rolle (z. B. Kl\u00e4ger)", "builder.promote.parties.representative": "Vertreter:in", "builder.promote.parties.remove": "Entfernen", "builder.promote.parties.empty": "Noch keine Parteien.", "builder.promote.meta.title": "Aktentitel / Mandat", "builder.promote.meta.title.placeholder": "z. B. Becker ./. X \u2014 UPC Verletzung", "builder.promote.meta.reference": "Referenz (optional)", "builder.promote.meta.case_number": "Aktenzeichen (optional)", "builder.promote.meta.client_number": "Mandantennummer (optional)", "builder.promote.meta.our_side": "Unsere Seite", "builder.promote.meta.our_side.claimant": "Kl\u00e4ger", "builder.promote.meta.our_side.defendant": "Beklagter", "builder.promote.meta.our_side.none": "\u2014 offen \u2014", "builder.promote.meta.parent": "\u00dcbergeordnetes Verfahren (optional)", "builder.promote.meta.parent.none": "\u2014 keines \u2014", "builder.promote.meta.team": "Team (optional)", "builder.promote.meta.team.hint": "Du wirst automatisch als Lead hinzugef\u00fcgt.", "builder.promote.error.title_required": "Bitte einen Aktentitel eingeben.", "builder.promote.error.generic": "Anlegen fehlgeschlagen. Erneut versuchen.", "builder.promote.success": "Akte angelegt \u2014 Weiterleitung \u2026", "builder.mobile.blocked": "Auf gr\u00f6\u00dferem Bildschirm \u00f6ffnen, um zu bearbeiten.", "deadlines.step1": "Verfahrensart w\u00e4hlen", "deadlines.step2": "Ausgangsdatum eingeben", "deadlines.step2.perspective": "Perspektive und Datum", "deadlines.step3": "Ergebnis", "deadlines.upc": "UPC", "deadlines.de": "Deutsche Gerichte", "deadlines.epa": "EPA", "deadlines.dpma": "DPMA", "deadlines.dpma.opp.dpma": "Einspruch DPMA", "deadlines.dpma.appeal.bpatg": "Beschwerde BPatG (DPMA)", "deadlines.dpma.appeal.bgh": "Rechtsbeschwerde BGH", "deadlines.trigger.event": "Ausl\u00f6sendes Ereignis:", "deadlines.trigger.date": "Datum:", "deadlines.trigger.label": "Ausgangsdatum", "deadlines.priority.date": "Priorit\u00e4tstag (optional):", "deadlines.court.label": "Gericht:", "deadlines.flag.ccr": "Mit Widerklage auf Nichtigkeit", "deadlines.flag.inf_amend": "Mit Antrag auf Patentänderung (R.30)", "deadlines.flag.rev_amend": "Mit Antrag auf Patentänderung (R.49.2.a)", "deadlines.flag.rev_cci": "Mit Verletzungswiderklage (R.49.2.b)", "deadlines.calculate": "Fristen berechnen", "deadlines.print": "Drucken", "deadlines.reset": "\u2190 Neu berechnen", "deadlines.upc.inf.cfi": "Verletzungsverfahren", "deadlines.upc.rev.cfi": "Nichtigkeitsklage", "deadlines.upc.ccr.cfi": "Widerklage auf Nichtigkeit", "deadlines.upc.pi.cfi": "Einstw. Ma\u00dfnahmen", "deadlines.upc.apl.merits": "Berufung", "deadlines.upc.dmgs.cfi": "Schadensbemessung", "deadlines.upc.disc.cfi": "Bucheinsicht", "deadlines.upc.apl.cost": "Berufung Kosten", "deadlines.upc.apl.order": "Berufung Anordnungen", "deadlines.upc.apl.unified": "Berufung", "deadlines.appeal_target.label": "Worauf richtet sich die Berufung?", "deadlines.appeal_target.endentscheidung": "Endentscheidung", "deadlines.appeal_target.kostenentscheidung": "Kostenentscheidung", "deadlines.appeal_target.anordnung": "Anordnung", "deadlines.appeal_target.schadensbemessung": "Schadensbemessung", "deadlines.appeal_target.bucheinsicht": "Bucheinsicht", "deadlines.de.group.inf": "Verletzungsverfahren", "deadlines.de.group.null": "Nichtigkeitsverfahren", "deadlines.de.inf.lg": "LG (1. Instanz)", "deadlines.de.inf.olg": "OLG (Berufung)", "deadlines.de.inf.bgh": "BGH (Revision / NZB)", "deadlines.de.null.bpatg": "BPatG (1. Instanz)", "deadlines.de.null.bgh": "BGH (Berufung)", "deadlines.epa.opp.opd": "Einspruchsverfahren", "deadlines.epa.opp.boa": "Beschwerdeverfahren", "deadlines.epa.grant.exa": "EP-Erteilungsverfahren", "deadlines.party.both.label": "beide Seiten", "deadlines.court.set": "vom Gericht bestimmt", "deadlines.court.indirect": "unbestimmt", "deadlines.conditional.depends_on": "abhängig von {parent}", "deadlines.conditional.unset": "abhängig von vorgelagertem Ereignis", "deadlines.optional.badge": "auf Antrag", "deadlines.priority.mandatory": "Pflicht", "deadlines.priority.recommended": "empfohlen", "deadlines.priority.optional": "Kann (auf Antrag)", "deadlines.priority.informational": "Zur Kenntnis", "deadlines.priority.informational.notice_label": "Hinweis", "project.instance_level.first": "Erste Instanz", "project.instance_level.appeal": "Berufung", "project.instance_level.cassation": "Revision", "project.instance_level.unset": "(nicht gesetzt)", "verlauf.spawn.chip": "Spawnt:", "verlauf.spawn.cycle_warning": "Einige proceeding-übergreifende Spawn-Regeln wurden wegen eines Zyklus übersprungen.", "deadlines.proceeding.selected": "Verfahren:", "deadlines.proceeding.reselect": "Anderes Verfahren wählen", "deadlines.step1.heading": "Schritt 1 — Welche Akte?", "deadlines.step1.search.placeholder": "Akte suchen…", "deadlines.step1.search.empty": "Keine passende Akte gefunden.", "deadlines.step1.divider.new": "oder eine neue Akte", "deadlines.step1.divider.adhoc": "oder ad-hoc, ohne Akte", "deadlines.step1.new.cta": "+ Neue Akte anlegen", "deadlines.step1.adhoc.upc": "UPC-Verfahren", "deadlines.step1.adhoc.de": "DE-Verfahren", "deadlines.step1.adhoc.epa": "EPA-Verfahren", "deadlines.step1.adhoc.dpma": "DPMA-Verfahren", "deadlines.step1.selected": "Akte:", "deadlines.step1.reselect": "Andere Akte", "deadlines.step1.summary.adhoc.suffix": "ohne Akte (Erkundung)", "deadlines.step2.heading": "Schritt 2 — Was möchten Sie tun?", "deadlines.step2.file.title": "Etwas einreichen", "deadlines.step2.file.desc": "Outgoing — eine Frist tritt aus eigener Handlung ein.", "deadlines.step2.happened.title": "Etwas ist passiert", "deadlines.step2.happened.desc": "Incoming — ein Ereignis hat eine Frist ausgelöst.", "deadlines.step2.browse.title": "Verfahrensablauf einsehen", "deadlines.step2.browse.desc": "Browse / Learn — sehen, was wann passiert. Keine Frist eintragen.", "deadlines.save.cta.adhoc.hint": "Ad-hoc — kein Projekt, kein Speichern", "deadlines.step3a.heading": "Was möchten Sie einreichen?", "deadlines.step3a.back": "zurück zur Auswahl", "deadlines.step3a.file.title": "Schriftsatz einreichen", "deadlines.step3a.file.desc": "Verfahrensablauf laden — Frist berechnen und zur Akte hinzufügen.", "deadlines.step3a.draft.title": "Schriftsatz entwerfen", "deadlines.step3a.draft.desc": "Vorbereitung — später mit Drafting-Surface verknüpft.", "deadlines.step3a.enter.title": "Frist manuell erfassen", "deadlines.step3a.enter.desc": "Direkt eintragen — bereits bekanntes Datum / bekannter Typ.", "deadlines.step3a.soon": "kommt bald", "deadlines.date.edit.hint": "Datum bearbeiten — Folgefristen werden neu berechnet", "deadlines.view.label": "Ansicht:", "deadlines.view.timeline": "Zeitstrahl", "deadlines.view.columns": "Spalten", "deadlines.notes.show": "Hinweise anzeigen", "deadlines.durations.show": "Dauern anzeigen", "deadlines.col.ours": "Unsere Seite", "deadlines.col.court": "Gericht", "deadlines.col.opponent": "Gegnerseite", "deadlines.col.both": "Beide Parteien", "deadlines.col.proactive": "Proaktiv", "deadlines.col.reactive": "Reaktiv", // t-paliad-265 — per-event-card choice popover (Verfahrensablauf timeline) "choices.caret.title": "Optionen für dieses Ereignis", "choices.appellant.title": "Berufung durch …", "choices.appellant.claimant": "Klägerseite", "choices.appellant.defendant": "Beklagtenseite", "choices.appellant.both": "beide Parteien", "choices.appellant.none": "keine Berufung", "choices.include_ccr.title": "Nichtigkeitswiderklage einbeziehen", "choices.include_ccr.true": "Ja", "choices.include_ccr.false": "Nein", "choices.skip.title": "Für diese Akte überspringen", "choices.skip.true": "Überspringen", "choices.skip.false": "Einbeziehen", "choices.skipped.chip": "übersprungen", "choices.appellant.chip": "Berufung:", "choices.include_ccr.chip": "mit Nichtigkeitswiderklage", "choices.reset": "Auswahl zurücksetzen", "choices.commit.error": "Konnte Auswahl nicht speichern", // t-paliad-290 (m/paliad#122) — re-surface hidden optional cards. "choices.show_hidden.label": "Ausgeblendete anzeigen", "choices.show_hidden.count": "Ausgeblendete ({n})", "choices.unhide.chip": "Wieder einblenden", // t-paliad-293 \u2014 iconified state markers on the Verfahrensablauf // event cards. Tooltip-only text; the glyph is the primary signal. "state.optional.tooltip": "Optionales Ereignis", "state.hidden.tooltip": "Ausgeblendet \u2014 \u00fcber Optionen-Men\u00fc wieder einblenden", // Trigger-event mode (PR-2 \u2014 youpc-parity) "deadlines.mode.procedure": "Verfahrensablauf", "deadlines.mode.event": "Was kommt nach\u2026", "deadlines.event.step1": "Trigger-Ereignis w\u00e4hlen", "deadlines.event.step1.hint": "Welches Ereignis ist eingetreten? (z.B. Klageerhebung, Entscheidung des EPA, Zustellung einer Verf\u00fcgung)", "deadlines.event.step2": "Datum des Ereignisses", "deadlines.event.step3": "Folgefristen", "deadlines.event.search.label": "Trigger-Ereignis suchen", "deadlines.event.search.placeholder": "Tippe, um zu suchen\u2026", "deadlines.event.empty": "Keine passenden Ereignisse", "deadlines.event.loading": "L\u00e4dt\u2026", "deadlines.event.error": "Konnte Ereignisse nicht laden", "deadlines.event.selected": "Gew\u00e4hltes Ereignis:", "deadlines.event.date": "Eintrittsdatum:", "deadlines.event.calculate": "Folgefristen berechnen", "deadlines.event.noresults": "Keine Folgefristen f\u00fcr dieses Ereignis hinterlegt.", "deadlines.event.results.trigger": "Trigger:", "deadlines.event.results.date": "Datum:", "deadlines.event.adjusted": "Verschoben von", "deadlines.search.label": "Frist suchen", "deadlines.search.placeholder": "Klageerwiderung, RoP 23, § 82, Wiedereinsetzung…", "deadlines.search.chips.label": "Schnellzugriff:", "deadlines.search.empty": "Tippe einen Begriff oder wähle einen Schnellzugriff.", "deadlines.search.loading": "Sucht…", "deadlines.search.no_hits": "Keine passenden Fristen gefunden.", "deadlines.search.aliases": "Auch bekannt als:", "deadlines.search.pills.heading": "In folgenden Verfahren:", "deadlines.search.pills.cross_cutting": "Verfahrensübergreifend:", "deadlines.search.pill.duration": "Dauer:", "deadlines.search.party.claimant": "Kläger", "deadlines.search.party.defendant": "Beklagte", "deadlines.search.party.both": "beide Seiten", "deadlines.search.party.court": "Gericht", "deadlines.search.results.count": "{n} Treffer", "deadlines.search.results.count_one": "1 Treffer", "deadlines.search.clear": "Suche leeren", // Fristenrechner — card-click → calc panel → add-to-project (t-paliad-136 Phase B) "deadlines.card.calc.expand_hint": "Frist berechnen oder zu Akte hinzufügen", "deadlines.card.calc.close": "schließen", "deadlines.card.calc.pill_picker.label": "Welcher Kontext?", "deadlines.card.calc.pill_picker.locked_label": "Kontext:", "deadlines.card.calc.pill_picker.change": "ändern", "deadlines.card.calc.trigger.label": "Datum des auslösenden Ereignisses", "deadlines.card.calc.flags.label": "Bedingungen:", "deadlines.card.calc.flag.with_ccr": "Mit Nichtigkeitswiderklage", "deadlines.card.calc.flag.with_amend": "Mit Antrag auf Patentänderung", "deadlines.card.calc.flag.with_cci": "Mit Verletzungswiderklage", "deadlines.card.calc.result.due": "Frist:", "deadlines.card.calc.result.original_from": "ab", "deadlines.card.calc.result.from_trigger": "ab", "deadlines.card.calc.result.shifted_from": "Verschoben vom", "deadlines.card.calc.result.shifted_because": "wegen", "deadlines.card.calc.result.court_set": "Gericht-bestimmt — kein berechenbares Datum.", "deadlines.card.calc.result.calculating": "Berechne…", "deadlines.card.calc.result.error": "Berechnung fehlgeschlagen.", "deadlines.card.calc.add_to_project": "Zu Akte hinzufügen", "deadlines.card.calc.add_to_project.disabled": "Gerichtsbestimmt — manuell anlegen", "deadlines.pathway.fork.heading": "Was möchten Sie tun?", "deadlines.pathway.a.title": "Verfahrensablauf", "deadlines.pathway.a.desc": "Verfahrenstyp wählen und alle dazugehörigen Fristen auf einer Zeitleiste sehen.", "deadlines.pathway.b.title": "Frist eintragen aufgrund Ereignis", "deadlines.pathway.b.desc": "Ein Ereignis ist eingetreten — ich brauche die richtige Frist für meine Akte.", "deadlines.pathway.shortcut.label": "oder direkt zu einer Frist springen:", "deadlines.pathway.back": "zurück zur Auswahl", "deadlines.pathway.b.mode.tree": "Schritt-für-Schritt (Entscheidungsbaum)", "deadlines.pathway.b.mode.filter": "Filter / Suche", "deadlines.pathway.b.tree.coming_soon": "Der Entscheidungsbaum ist in Vorbereitung. Wechseln Sie zu „Filter / Suche\" oder kehren Sie zur Auswahl zurück.", "deadlines.pathway.b.tree.step.back": "Schritt zurück", "deadlines.pathway.b.tree.empty": "Keine Treffer für diesen Pfad.", "deadlines.pathway.b.tree.reset": "Neu starten", "deadlines.pathway.b.tree.start_question": "Was ist passiert?", "deadlines.row.mode.question": "Wie suchen?", "deadlines.row.edit": "ändern", "deadlines.row.prefilled.from_akte": "aus Akte", "deadlines.row.reset": "Pfad zurücksetzen", "deadlines.row.reset.title": "Pfad zurücksetzen — alle Cascade-Antworten verwerfen", "deadlines.row.search.link": "Direkt suchen", "deadlines.row.search.link.title": "Direkt nach einer Frist suchen — überspringt den Entscheidungsbaum", "deadlines.row.autowalk.tooltip": "Diese Schritte ergeben sich aus Ihrer Akte. Klicken Sie „ändern\", um eine Antwort manuell anzupassen.", "deadlines.row.autowalk.dismiss": "Hinweis schließen", "deadlines.row.search.panel.back": "Zurück zum Entscheidungsbaum", "deadlines.row.search.panel.back.title": "Inline-Suche schließen und zum Entscheidungsbaum zurückkehren", "deadlines.row.search.panel.placeholder": "Frist suchen — z. B. „Klageschrift\", „Posteingang Hinweisbeschluss\"…", "deadlines.row.search.panel.clear": "Eingabe leeren", "deadlines.inbox.label": "Wo kam es an?", "deadlines.inbox.cms.title": "UPC — über CMS", "deadlines.inbox.bea.title": "Nationale Verfahren — über beA", "deadlines.inbox.posteingang.title": "Nationale Verfahren — Postzustellung", "deadlines.inbox.posteingang": "Posteingang", "deadlines.inbox.all": "Alle", "deadlines.filter.forum.label": "Gericht / System:", "deadlines.filter.forum.upc_cfi": "UPC CFI", "deadlines.filter.forum.upc_coa": "UPC CoA", "deadlines.filter.forum.de_lg": "DE LG", "deadlines.filter.forum.de_olg": "DE OLG", "deadlines.filter.forum.de_bgh": "DE BGH", "deadlines.filter.forum.de_bpatg": "DE BPatG", "deadlines.filter.forum.epa_grant": "EPA Erteilung", "deadlines.filter.forum.epa_opp": "EPA Einspruchsabt.", "deadlines.filter.forum.epa_appeal": "EPA Beschwerdek.", "deadlines.filter.forum.dpma": "DPMA", "deadlines.perspective.label": "Ich vertrete:", "deadlines.perspective.claimant": "Klägerseite (Proactive)", "deadlines.perspective.defendant": "Beklagtenseite (Reactive)", "deadlines.perspective.claimant.short": "Kläger", "deadlines.perspective.defendant.short": "Beklagter", "deadlines.perspective.both.short": "Beide", "deadlines.perspective.claimant.title": "Klägerseite — versteckt typische Beklagten-Schriftsätze", "deadlines.perspective.defendant.title": "Beklagtenseite — versteckt typische Kläger-Schriftsätze", "deadlines.perspective.appeal_filed_by.label": "Berufung eingelegt durch:", "deadlines.perspective.predefined_hint": "vorgegeben durch Akte", "deadlines.side.label": "Seite:", "deadlines.side.claimant": "Klägerseite", "deadlines.side.defendant": "Beklagtenseite", "deadlines.side.undefined": "Nicht festgelegt", "deadlines.side.from_project": "Aus Akte:", "deadlines.side.override": "Andere Seite wählen", "deadlines.side.hint": "Wählen Sie eine Seite, um die Spalten zu fokussieren.", "deadlines.event.composite.label": "Zusammengesetzt:", "deadlines.event.unit.days.one": "Tag", "deadlines.event.unit.days.many": "Tage", "deadlines.event.unit.weeks.one": "Woche", "deadlines.event.unit.weeks.many": "Wochen", "deadlines.event.unit.months.one": "Monat", "deadlines.event.unit.months.many": "Monate", "deadlines.event.unit.working_days.one": "Arbeitstag", "deadlines.event.unit.working_days.many": "Arbeitstage", "deadlines.event.timing.before": "vor", "deadlines.event.timing.after": "nach", "deadlines.adjusted": "Verschoben", "deadlines.adjusted.reason": "Wochenende/Feiertag", "deadlines.adjusted.weekend": "Wochenende", "deadlines.adjusted.weekend.saturday": "Samstag", "deadlines.adjusted.weekend.sunday": "Sonntag", "deadlines.adjusted.holiday": "Feiertag ({name})", "deadlines.adjusted.vacation": "{name} ({span})", // Downloads "downloads.title": "Downloads \u2014 Paliad", "downloads.heading": "Downloads", "downloads.subtitle": `Dateien und Vorlagen f\u00fcr das ${FIRM} Patent-Team.`, "downloads.style.title": `${FIRM} Patents Style`, "downloads.style.desc": `Word-Vorlage im ${FIRM} Patents Style. Formatierung, Schriftarten und Makros f\u00fcr standardisierte Schrifts\u00e4tze.`, "downloads.btn": "Herunterladen", // Links "links.title": "Links \u2014 Paliad", "links.heading": "Links", "links.subtitle": "N\u00fctzliche externe Links f\u00fcr die t\u00e4gliche Patentpraxis.", "links.filter.all": "Alle", "links.search.placeholder": "Suchen nach Titel, Beschreibung...", "links.empty": "Keine Links in dieser Kategorie.", "links.suggest.btn": "Link vorschlagen", "links.suggest.title": "Link vorschlagen", "links.suggest.name": "Titel", "links.suggest.category": "Kategorie", "links.suggest.desc": "Beschreibung", "links.suggest.submit": "Absenden", "links.suggest.cancel": "Abbrechen", "links.suggest.success": "Danke! Ihr Vorschlag wird gepr\u00fcft.", "links.suggest.error": "Fehler beim Speichern. Bitte versuchen Sie es erneut.", "links.pending": "Vorschl\u00e4ge zur Pr\u00fcfung", "links.feedback.title": "Feedback", "links.feedback.type": "Art", "links.feedback.broken": "Link defekt", "links.feedback.outdated": "Veraltet", "links.feedback.update": "Aktualisierung n\u00f6tig", "links.feedback.other": "Sonstiges", "links.feedback.message": "Nachricht", "links.feedback.placeholder": "Was stimmt nicht? (z.B. Link defekt, veraltet...)", "links.feedback.submit": "Absenden", "links.feedback.success": "Danke f\u00fcr Ihr Feedback!", // Glossar "glossar.title": "Patentglossar \u2014 Paliad", "glossar.heading": "Patentglossar", "glossar.subtitle": "Zweisprachiges Glossar der wichtigsten Begriffe im Patentrecht.", "glossar.search.placeholder": "Suchen...", "glossar.filter.all": "Alle", "glossar.filter.litigation": "Streitsachen", "glossar.filter.prosecution": "Erteilungsverfahren", "glossar.filter.general": "Allgemein", "glossar.col.de": "Deutsch", "glossar.col.en": "English", "glossar.col.definition": "Definition", "glossar.empty": "Keine Treffer.", "glossar.suggest": "Begriff vorschlagen", "glossar.suggest.title": "Neuen Begriff vorschlagen", "glossar.suggest.de": "Deutscher Begriff", "glossar.suggest.en": "Englischer Begriff", "glossar.suggest.definition": "Definition (optional)", "glossar.suggest.category": "Kategorie", "glossar.suggest.cancel": "Abbrechen", "glossar.suggest.submit": "Absenden", "glossar.suggest.success": "Vorschlag eingereicht. Vielen Dank!", "glossar.suggest.error.required": "Bitte DE und EN Begriff eingeben.", "glossar.suggest.error.generic": "Fehler beim Senden. Bitte versuchen Sie es erneut.", "glossar.feedback.title": "Korrektur vorschlagen", "glossar.feedback.tooltip": "Korrektur vorschlagen", // Geb\u00fchrentabellen "gebuehren.title": "Geb\u00fchrentabellen \u2014 Paliad", "gebuehren.heading": "Geb\u00fchrentabellen", "gebuehren.subtitle": "Interaktive Geb\u00fchrentabellen f\u00fcr GKG, RVG, UPC, EPA und PatKostG.", "gebuehren.streitwert": "Streitwert (EUR)", "gebuehren.streitwert.placeholder": "z.B. 1.000.000", "gebuehren.lookup": "Nachschlagen", "gebuehren.current": "Aktuell", "gebuehren.col.streitwert": "Streitwert (EUR)", "gebuehren.col.fee": "1,0 Geb\u00fchr (EUR)", "gebuehren.col.maxvalue": "bis Streitwert (EUR)", "gebuehren.col.courtfee": "Gerichtsgeb\u00fchr (EUR)", "gebuehren.upc.valuebased": "Streitwertabh\u00e4ngige Geb\u00fchren", "gebuehren.upc.recoverable": "Erstattungsf\u00e4hige Kosten (Obergrenze)", "gebuehren.upc.ceiling": "Obergrenze (EUR)", "gebuehren.epa.proceeding": "Verfahren", "gebuehren.epa.fee": "Geb\u00fchr (EUR)", "gebuehren.epa.smefee": "KMU-Geb\u00fchr (EUR)", "gebuehren.multipliers.title": "Geb\u00fchren-Multiplikatoren", "gebuehren.multipliers.desc": "Faktoren f\u00fcr die Berechnung von Gerichts- und Anwaltskosten je Instanz.", "gebuehren.multipliers.instance": "Instanz", "gebuehren.multipliers.courtfee": "Gericht", "gebuehren.multipliers.factor": "Faktor", "gebuehren.multipliers.basis": "Grundlage", "gebuehren.patkostg.court": "Gerichtskosten (BPatG / BGH)", "gebuehren.patkostg.dpma": "DPMA-Geb\u00fchren", "gebuehren.patkostg.annual": "Jahresgeb\u00fchren (Patent)", "gebuehren.patkostg.year": "Patentjahr", "gebuehren.patkostg.note": "Hinweis", "gebuehren.patkostg.item": "Geb\u00fchrentatbestand", "gebuehren.feedback.btn": "Feedback", "gebuehren.feedback.title": "Feedback zur Geb\u00fchrentabelle", "gebuehren.feedback.type": "Art", "gebuehren.feedback.error": "Fehler gefunden", "gebuehren.feedback.missing": "Fehlende Daten", "gebuehren.feedback.suggestion": "Verbesserungsvorschlag", "gebuehren.feedback.other": "Sonstiges", "gebuehren.feedback.schedule": "Betrifft", "gebuehren.feedback.general": "Allgemein", "gebuehren.feedback.message": "Nachricht", "gebuehren.feedback.submit": "Absenden", "gebuehren.feedback.cancel": "Abbrechen", "gebuehren.feedback.success": "Danke f\u00fcr Ihr Feedback!", "gebuehren.feedback.error.required": "Bitte geben Sie eine Nachricht ein.", "gebuehren.feedback.error.generic": "Fehler beim Senden. Bitte versuchen Sie es erneut.", // Index — Geb\u00fchrentabellen card "index.gebuehren.title": "Geb\u00fchrentabellen", "index.gebuehren.desc": "Interaktive Geb\u00fchrentabellen f\u00fcr GKG, RVG, UPC, EPA und PatKostG. Streitwert eingeben, Geb\u00fchr ablesen.", // Checklisten "index.checklisten.title": "Checklisten", "index.checklisten.desc": "Interaktive Checklisten f\u00fcr UPC-, DE- und EPA-Verfahren. Pro Mandat beliebig viele Instanzen.", "checklisten.title": "Checklisten \u2014 Paliad", "checklisten.heading": "Checklisten", "checklisten.subtitle": "Interaktive Checklisten f\u00fcr typische Verfahrensschritte vor UPC, BPatG und EPA. Abhaken, ausdrucken, kein Punkt vergessen.", "checklisten.tab.templates": "Vorlagen", "checklisten.tab.mine": "Meine Vorlagen", "checklisten.tab.instances": "Vorhandene Instanzen", "checklisten.mine.empty": "Sie haben noch keine eigene Vorlage angelegt.", "checklisten.tab.gallery": "Geteilte Vorlagen", "checklisten.gallery.empty": "Noch keine geteilten Vorlagen sichtbar.", "checklisten.filter.other": "Sonstige", "checklisten.instance.outdated.badge": "Vorlage aktualisiert", "checklisten.instance.outdated.note": "Die zugrundeliegende Vorlage wurde seit dem Anlegen dieser Instanz aktualisiert (v{from} → v{to}).", "checklisten.instance.outdated.diff": "Änderungen anzeigen", "checklisten.instance.diff.title": "Geänderte Punkte", "checklisten.instance.diff.close": "Schließen", "checklisten.instance.diff.added": "Neu", "checklisten.instance.diff.removed": "Entfernt", "checklisten.instance.diff.changed": "Geändert", "checklisten.instance.diff.empty": "Keine inhaltlichen Unterschiede in den Punkten.", "checklisten.instance.diff.error": "Vergleich fehlgeschlagen.", "checklisten.mine.new": "Neue Vorlage", "checklisten.mine.loading": "Lädt…", "checklisten.mine.visibility.private": "Privat", "checklisten.mine.visibility.firm": "Firmenweit", "checklisten.mine.visibility.shared": "Geteilt", "checklisten.mine.visibility.global": "Im Katalog", "checklisten.mine.edit": "Bearbeiten", "checklisten.mine.delete": "Löschen", "checklisten.mine.delete.confirm": "Vorlage „{title}“ wirklich löschen? Bestehende Instanzen bleiben erhalten.", "checklisten.mine.delete.error": "Löschen fehlgeschlagen.", "checklisten.mine.origin.authored": "Eigene Vorlage", "checklisten.author.title": "Vorlage erstellen — Paliad", "checklisten.author.title.edit": "Vorlage bearbeiten — Paliad", "checklisten.author.heading.new": "Neue Checklisten-Vorlage", "checklisten.author.heading.edit": "Vorlage bearbeiten", "checklisten.author.subtitle": "Erstellen Sie eine eigene Checkliste mit Sektionen und Punkten. Sie können sie privat halten oder firmenweit verfügbar machen.", "checklisten.author.field.title": "Titel", "checklisten.author.field.title.hint": "z.B. „UPC SoC — interne Checkliste“.", "checklisten.author.field.description": "Kurzbeschreibung", "checklisten.author.field.regime": "Regime", "checklisten.author.field.court": "Gericht / Behörde", "checklisten.author.field.reference": "Rechtsgrundlage", "checklisten.author.field.deadline": "Deadline (optional)", "checklisten.author.field.lang": "Sprache", "checklisten.author.field.visibility": "Sichtbarkeit", "checklisten.author.visibility.private.hint": "Nur für Sie sichtbar.", "checklisten.author.visibility.firm.hint": "Für alle angemeldeten Kolleginnen und Kollegen sichtbar.", "checklisten.author.groups.heading": "Sektionen und Punkte", "checklisten.author.groups.add": "+ Sektion hinzufügen", "checklisten.author.group.title": "Sektionsname", "checklisten.author.group.remove": "Sektion löschen", "checklisten.author.item.add": "+ Punkt hinzufügen", "checklisten.author.item.label": "Punkt", "checklisten.author.item.note": "Notiz (optional)", "checklisten.author.item.rule": "Vorschrift (optional)", "checklisten.author.item.remove": "Punkt löschen", "checklisten.author.save": "Speichern", "checklisten.author.cancel": "Abbrechen", "checklisten.author.saving": "Speichert…", "checklisten.author.error.title": "Bitte geben Sie einen Titel ein.", "checklisten.author.error.no_groups": "Bitte mindestens eine Sektion mit einem Punkt anlegen.", "checklisten.author.error.generic": "Speichern fehlgeschlagen. Bitte erneut versuchen.", "checklisten.author.error.notfound": "Diese Vorlage existiert nicht oder Sie haben keine Berechtigung sie zu bearbeiten.", "checklisten.detail.edit": "Bearbeiten", "checklisten.detail.delete": "Löschen", "checklisten.detail.share": "Teilen", "checklisten.detail.promote": "Als Firmen-Vorlage hinterlegen", "checklisten.detail.demote": "Aus Katalog entfernen", "checklisten.detail.promote.confirm": "Diese Vorlage in den Firmen-Katalog übernehmen? Alle Kolleg:innen sehen sie dann unter Vorlagen.", "checklisten.detail.demote.confirm": "Vorlage aus dem Firmen-Katalog entfernen? Sie bleibt firmenweit sichtbar.", "checklisten.detail.promote.error": "Übernahme fehlgeschlagen.", "checklisten.detail.delete.confirm": "Vorlage „{title}\" wirklich löschen? Bestehende Instanzen bleiben erhalten.", "checklisten.detail.delete.error": "Löschen fehlgeschlagen.", "checklisten.detail.authored.by": "Erstellt von {author}", "checklisten.detail.visibility": "Sichtbarkeit: {state}", "checklisten.detail.visibility.set.firm": "Für Firma freigeben", "checklisten.detail.visibility.set.private": "Privat schalten", "checklisten.detail.visibility.error": "Sichtbarkeit konnte nicht geändert werden.", "checklisten.share.title": "Vorlage teilen", "checklisten.share.kind": "Empfängertyp", "checklisten.share.kind.user": "Kollege", "checklisten.share.kind.office": "Office", "checklisten.share.kind.partner_unit": "Dezernat", "checklisten.share.kind.project": "Projekt", "checklisten.share.pick": "— auswählen —", "checklisten.share.submit": "Freigeben", "checklisten.share.cancel": "Abbrechen", "checklisten.share.error.pick": "Bitte einen Empfänger auswählen.", "checklisten.share.error.generic": "Freigeben fehlgeschlagen.", "checklisten.share.success": "Freigegeben.", "checklisten.share.grants.heading": "Bestehende Freigaben", "checklisten.share.grants.empty": "Keine Freigaben.", "checklisten.share.grants.revoke": "Entfernen", "checklisten.share.grants.revoke.confirm": "Freigabe entfernen?", "checklisten.share.grants.revoke.error": "Entfernen fehlgeschlagen.", "checklisten.share.grants.recipient.user": "Kollege", "checklisten.share.grants.recipient.office": "Office", "checklisten.share.grants.recipient.partner_unit": "Dezernat", "checklisten.share.grants.recipient.project": "Projekt", "checklisten.instances.all.loading": "L\u00e4dt\u2026", "checklisten.instances.all.empty": "Noch keine Checklisten-Instanzen erfasst. Legen Sie eine \u00fcber den Vorlagen-Tab an.", "checklisten.instances.all.col.template": "Vorlage", "checklisten.instances.all.col.name": "Name", "checklisten.instances.all.col.project": "Projekt", "checklisten.instances.all.col.progress": "Fortschritt", "checklisten.instances.all.col.created": "Angelegt", "checklisten.instances.all.personal": "Pers\u00f6nlich", "checklisten.filter.all": "Alle", "checklisten.filter.de": "DE", "checklisten.empty": "Keine Checklisten in dieser Kategorie.", "checklisten.back": "Zur\u00fcck zur \u00dcbersicht", "checklisten.print": "Drucken", "checklisten.reset": "Zur\u00fccksetzen", "checklisten.reset.confirm": "Alle H\u00e4kchen dieser Instanz wirklich zur\u00fccksetzen?", "checklisten.reset.error": "Zur\u00fccksetzen fehlgeschlagen. Bitte erneut versuchen.", "checklisten.notfound": "Checkliste nicht gefunden.", "checklisten.newInstance": "Neue Instanz", "checklisten.newInstance.title": "Neue Checklisten-Instanz", "checklisten.newInstance.name": "Name", "checklisten.newInstance.name.hint": "z.B. \u201EM\u00fcller v. Schmidt \u2014 SoC\u201C.", "checklisten.newInstance.akte": "Akte (optional)", "checklisten.newInstance.akte.none": "\u2014 keine Akte \u2014", "checklisten.newInstance.akte.hint": "Wenn verkn\u00fcpft, sehen B\u00fcrokollegen die Instanz.", "checklisten.newInstance.cancel": "Abbrechen", "checklisten.newInstance.submit": "Anlegen", "checklisten.newInstance.error.name": "Bitte geben Sie einen Namen ein.", "checklisten.newInstance.error.generic": "Fehler beim Anlegen. Bitte erneut versuchen.", "checklisten.instances.heading": "Instanzen", "checklisten.instances.sub": "Jede Instanz hat ihren eigenen Fortschritt und kann optional an eine Akte geh\u00e4ngt werden.", "checklisten.instances.loading": "L\u00e4dt\u2026", "checklisten.instances.empty": "Noch keine Instanzen. Klicken Sie auf \u201eNeue Instanz\u201c, um zu beginnen.", "checklisten.instances.col.name": "Name", "checklisten.instances.col.progress": "Fortschritt", "checklisten.instances.col.akte": "Akte", "checklisten.instances.col.created": "Angelegt", "checklisten.instances.delete.confirm": "Instanz \u201E{name}\u201C wirklich l\u00f6schen?", "checklisten.instances.delete.error": "L\u00f6schen fehlgeschlagen.", "checklisten.instance.title": "Checklisten-Instanz \u2014 Paliad", "checklisten.instance.back": "Zur\u00fcck zur Vorlage", "checklisten.instance.loading": "L\u00e4dt\u2026", "checklisten.instance.notfound": "Instanz nicht gefunden oder keine Berechtigung.", "checklisten.instance.rename": "Umbenennen", "checklisten.instance.rename.save": "Speichern", "checklisten.instance.rename.error": "Umbenennen fehlgeschlagen.", "checklisten.instance.akte.open": "\u00d6ffnen", "checklisten.disclaimer": "Hinweis: Diese Checklisten dienen als Ged\u00e4chtnisst\u00fctze und ersetzen keine Pr\u00fcfung im Einzelfall. Ma\u00dfgeblich sind die jeweils geltenden Verfahrensregeln.", "checklisten.feedback.btn": "Feedback", "checklisten.feedback.title": "Feedback zur Checkliste", "checklisten.feedback.type": "Art", "checklisten.feedback.error": "Fehler gefunden", "checklisten.feedback.missing": "Fehlender Punkt", "checklisten.feedback.suggestion": "Verbesserungsvorschlag", "checklisten.feedback.other": "Sonstiges", "checklisten.feedback.message": "Nachricht", "checklisten.feedback.submit": "Absenden", "checklisten.feedback.cancel": "Abbrechen", "checklisten.feedback.success": "Danke f\u00fcr Ihr Feedback!", "checklisten.feedback.error.required": "Bitte geben Sie eine Nachricht ein.", "checklisten.feedback.error.generic": "Fehler beim Senden. Bitte versuchen Sie es erneut.", // Gerichte "gerichte.title": "Gerichtsverzeichnis \u2014 Paliad", "gerichte.heading": "Gerichtsverzeichnis", "gerichte.subtitle": "Kontaktdaten, Adressen und Einreichungshinweise f\u00fcr Gerichte, Kammern und \u00c4mter im Patentbereich.", "gerichte.search.placeholder": "Suchen nach Name, Stadt, Typ...", "gerichte.filter.type": "Typ:", "gerichte.filter.country": "Land:", "gerichte.filter.all": "Alle", "gerichte.filter.de": "Deutschland", "gerichte.filter.epa": "EPA", "gerichte.filter.national": "National", "gerichte.empty": "Keine Treffer.", "gerichte.field.address": "Adresse", "gerichte.field.contact": "Kontakt", "gerichte.field.fax": "Fax", "gerichte.field.filing": "Einreichung", "gerichte.field.notes": "Praktische Hinweise", "gerichte.field.hlContact": `${FIRM}-Ansprechpartner`, "gerichte.feedback.btn": "Korrektur vorschlagen", "gerichte.feedback.title": "Korrektur vorschlagen", "gerichte.feedback.court": "Gericht", "gerichte.feedback.type": "Art der Anmerkung", "gerichte.feedback.type.address": "Adresse / Kontaktdaten", "gerichte.feedback.type.filing": "Einreichungshinweise", "gerichte.feedback.type.notes": "Praktische Hinweise", "gerichte.feedback.type.missing": "Fehlendes Gericht", "gerichte.feedback.type.other": "Sonstiges", "gerichte.feedback.message": "Nachricht", "gerichte.feedback.cancel": "Abbrechen", "gerichte.feedback.submit": "Absenden", "gerichte.feedback.success": "Vielen Dank \u2014 Ihre R\u00fcckmeldung wurde gespeichert.", "gerichte.feedback.error.required": "Bitte geben Sie eine Nachricht ein.", "gerichte.feedback.error.generic": "Fehler beim Senden. Bitte versuchen Sie es erneut.", // Index \u2014 Gerichte card "index.gerichte.title": "Gerichtsverzeichnis", "index.gerichte.desc": "Gerichte, UPC-Kammern und Patent\u00e4mter auf einen Blick \u2014 mit Adressen, Einreichungshinweisen und Sprachen.", // Akten (matters) \u2014 list "projects.filter.office": "B\u00fcro", "projects.filter.office.all": "Alle B\u00fcros", "projects.filter.status.completed": "Abgeschlossen", "projects.status.active": "Aktiv", "projects.status.completed": "Abgeschlossen", "projects.status.archived": "Archiviert", "projects.col.ref": "Aktenzeichen", "projects.col.office": "B\u00fcro", "projects.onboarding.required": "Bitte schlie\u00dfen Sie das Onboarding ab, bevor Sie Akten anlegen.", // Akten \u2014 create form "projects.field.ref": "Aktenzeichen", "projects.field.ref.placeholder": `z.\u202fB. ${FIRM}-2026-0042`, "projects.field.office": "Federf\u00fchrendes B\u00fcro", "projects.field.courtRef": "Gerichtsaktenzeichen (optional)", "projects.field.akteType": "Verfahrensart (optional)", "projects.field.firmWide": "Firmenweit sichtbar", "projects.field.firmWide.hint": "Wenn aktiviert, sehen alle Lawyer diese Akte. Nur f\u00fcr Partner/Admin.", "projects.field.collaborators": "Weitere Bearbeiter (optional)", "projects.field.collaborators.placeholder": "Name oder E-Mail tippen\u2026", "projects.field.collaborators.hint": "Personen, die auch Zugriff erhalten sollen (auch b\u00fcro\u00fcbergreifend).", "projects.error.required": "Titel und Aktenzeichen sind Pflichtfelder.", "projects.error.generic": "Fehler beim Anlegen. Bitte erneut versuchen.", "projects.error.forbidden": "Nicht erlaubt. Pr\u00fcfen Sie Rolle und B\u00fcro.", // Akten \u2014 detail "projects.detail.firmwide.on": "Firmenweit sichtbar", "projects.detail.firmwide.off": "B\u00fcro-intern", "projects.detail.checklisten.hint": "Instanzen werden auf der Vorlagen-Seite unter \"Checklisten\" angelegt.", "projects.detail.verlauf.loadingMore": "L\u00e4dt \u2026", "projects.detail.parteien.remove": "Entfernen", "projects.detail.parteien.remove.confirm": "Diese Partei wirklich entfernen?", // Phase E — Fristen (persistent deadlines) "deadlines.list.title": "Fristen \u2014 Paliad", "deadlines.list.heading": "Fristen", "deadlines.list.subtitle": "Persistente Fristen f\u00fcr Ihre Akten. \u00dcberf\u00e4llig, heute, diese Woche, n\u00e4chste Woche \u2014 auf einen Blick.", "deadlines.list.new": "Neue Frist", "deadlines.summary.overdue": "\u00dcberf\u00e4llig", "deadlines.summary.today": "Heute", "deadlines.summary.thisweek": "Diese Woche", "deadlines.summary.nextweek": "N\u00e4chste Woche", "deadlines.summary.completed": "Erledigt", "deadlines.summary.later": "Später", "deadlines.filter.status": "Status", "deadlines.filter.akte": "Projekt", "deadlines.filter.all": "Alle (offen & erledigt)", "deadlines.filter.pending": "Alle offenen", "deadlines.filter.overdue": "\u00dcberf\u00e4llig", "deadlines.filter.today": "Heute", "deadlines.filter.thisweek": "Diese Woche", "deadlines.filter.nextweek": "N\u00e4chste Woche", "deadlines.filter.completed": "Erledigt", "deadlines.filter.later": "Später", "deadlines.filter.akte.all": "Alle Projekte", "deadlines.col.due": "F\u00e4llig", "deadlines.col.title": "Titel", "deadlines.col.akte": "Projekt", "deadlines.col.rule": "Regel", "deadlines.col.status": "Status", "deadlines.empty.title": "Keine Fristen vorhanden", "deadlines.empty.hint": "Sobald Fristen angelegt oder aus dem Fristenrechner \u00fcbernommen werden, erscheinen sie hier.", "deadlines.empty.filtered": "Keine Fristen mit diesen Filtern.", "deadlines.unavailable": "Fristenverwaltung zurzeit nicht verf\u00fcgbar \u2014 bitte Administrator kontaktieren.", "deadlines.status.pending": "Offen", "deadlines.status.completed": "Erledigt", "deadlines.status.cancelled": "Abgebrochen", "deadlines.status.waived": "Verzichtet", "deadlines.urgency.overdue": "\u00dcberf\u00e4llig", "deadlines.urgency.today": "Heute", "deadlines.urgency.soon": "In K\u00fcrze", "deadlines.urgency.later": "Sp\u00e4ter", "deadlines.complete.action": "Erledigen", "deadlines.complete.confirm": "Frist \u201e{title}\u201c wirklich als erledigt markieren?", // t-paliad-139 \u2014 subtree aggregation toggle and attribution chip "aggregation.toggle.subtree": "Inkl. Unterprojekte", "aggregation.toggle.direct_only": "Nur direkt", "aggregation.attribution.on": "auf", // t-paliad-139 Phase 2 \u2014 Team-tab subsections + Partner Units management "projects.team.section.from_descendants": "Aus Unterprojekten", "projects.team.section.from_descendants.hint": "Personen, die direkt auf einem Unterprojekt eingetragen sind und nicht auf diesem oder einem \u00dcbergeordneten.", "projects.team.section.derived": "Abgeleitet (Partner Unit)", "projects.team.section.derived.hint": "Mitglieder, die \u00fcber eine zugeordnete Partner Unit auf diesem Projekt aktiv sind.", "projects.team.section.units": "Partner Units", "projects.team.section.units.hint": "Partner Units, die auf diesem Projekt eingebunden sind. Mitglieder mit passenden Unit-Rollen werden automatisch abgeleitet.", "projects.team.derived.from": "\u00fcber", "projects.team.derived.visibility": "Sicht", "projects.team.derived.authority": "Sicht & 4-Augen", "projects.team.derived.authority.hint": "Stimmrecht: Abgeleitete Mitglieder z\u00e4hlen als Approver.", "projects.team.units.attach": "Partner Unit zuordnen", "projects.team.units.detach": "Entfernen", "projects.team.units.choose": "Bitte Unit w\u00e4hlen\u2026", "projects.team.units.select": "Unit", "projects.team.units.derive_roles": "Welche Unit-Rollen ableiten?", "projects.team.units.grants_authority": "Stimmrecht abgeben (4-Augen)", "projects.team.units.col.name": "Unit", "projects.team.units.col.derive_roles": "Abgeleitete Rollen", "projects.team.units.col.authority": "Authority", "projects.team.units.members": "Mitglieder", "projects.team.units.empty": "Keine Partner Units zugeordnet.", "projects.team.units.confirm_detach": "Partner Unit entfernen?", "unit_role.lead": "Lead", "unit_role.attorney": "Attorney", "unit_role.senior_pa": "Senior PA", "unit_role.pa": "PA", "unit_role.paralegal": "Paralegal", "deadlines.neu.title": "Neue Frist \u2014 Paliad", "deadlines.neu.heading": "Neue Frist anlegen", "deadlines.neu.subtitle": "Eine persistente Frist an einer Akte. Sichtbar f\u00fcr alle Personen, die die Akte sehen k\u00f6nnen.", "deadlines.neu.back": "\u2190 Zur\u00fcck zur \u00dcbersicht", "deadlines.neu.cancel": "Abbrechen", "deadlines.neu.submit": "Frist anlegen", "deadlines.field.akte": "Akte", "deadlines.field.akte.choose": "Bitte w\u00e4hlen\u2026", "deadlines.field.akte.empty": "Sie haben noch keine Akte. Bitte zuerst eine Akte anlegen.", "deadlines.field.akte.empty.link": "Akte anlegen", "deadlines.field.title": "Titel", "deadlines.field.title.placeholder": "z.\u202fB. Klageerwiderung einreichen", "deadlines.field.due": "F\u00e4lligkeitsdatum", "deadlines.field.rule": "Regel (optional)", "deadlines.field.rule.auto_badge": "Auto", "deadlines.field.rule.auto_no_match": "Keine Regel zur gewählten Verfahrenshandlung", "deadlines.field.rule.auto_pick_type": "Wählen Sie zuerst eine Verfahrenshandlung", "deadlines.field.rule.custom_badge": "Eigen", "deadlines.field.rule.custom_placeholder": "z.B. interner Review-Termin, Mandantengespräch", "deadlines.field.rule.mode.toggle_to_auto": "Zurück zu Auto", "deadlines.field.rule.mode.toggle_to_custom": "Eigene Regel eingeben", "deadlines.field.title.default_btn": "Standardtitel", "deadlines.field.title.default_fallback": "Neue Frist", "deadlines.field.notes": "Notizen (optional)", "deadlines.field.notes.placeholder": "Hinweise, Verweise, n\u00e4chste Schritte\u2026", "deadlines.error.required": "Akte, Titel und F\u00e4lligkeitsdatum sind Pflichtfelder.", "deadlines.error.generic": "Fehler beim Anlegen. Bitte erneut versuchen.", "deadlines.detail.title": "Frist \u2014 Paliad", "deadlines.detail.back": "\u2190 Zur\u00fcck zur Fristen\u00fcbersicht", "deadlines.detail.loading": "L\u00e4dt\u2026", "deadlines.detail.notfound": "Frist nicht gefunden oder keine Berechtigung.", "deadlines.detail.complete": "Als erledigt markieren", "deadlines.detail.completed.already": "Bereits erledigt", "deadlines.detail.reopen": "Wieder öffnen", "deadlines.action.reopen": "Wieder öffnen", "deadlines.detail.edit": "Bearbeiten", "deadlines.detail.save": "Speichern", "deadlines.detail.cancel": "Abbrechen", "deadlines.detail.delete": "Frist l\u00f6schen", "deadlines.detail.delete.confirm.title": "Frist wirklich l\u00f6schen?", "deadlines.detail.delete.confirm.body": "Die Frist wird endg\u00fcltig entfernt. Der Eintrag im Verlauf der Akte bleibt erhalten.", "deadlines.detail.delete.confirm.cancel": "Abbrechen", "deadlines.detail.delete.confirm.ok": "L\u00f6schen", "deadlines.detail.due": "F\u00e4lligkeitsdatum", "deadlines.detail.rule": "Regel", "deadlines.detail.source": "Quelle", "deadlines.detail.notes": "Notizen", "deadlines.detail.created": "Angelegt", "deadlines.detail.completed": "Erledigt am", "deadlines.source.manual": "Manuell", "deadlines.source.fristenrechner": "Fristenrechner", "deadlines.source.caldav": "CalDAV", "deadlines.source.imported": "Import", "cal.day.mon": "Mo", "cal.day.tue": "Di", "cal.day.wed": "Mi", "cal.day.thu": "Do", "cal.day.fri": "Fr", "cal.day.sat": "Sa", "cal.day.sun": "So", "cal.month.0": "Januar", "cal.month.1": "Februar", "cal.month.2": "M\u00e4rz", "cal.month.3": "April", "cal.month.4": "Mai", "cal.month.5": "Juni", "cal.month.6": "Juli", "cal.month.7": "August", "cal.month.8": "September", "cal.month.9": "Oktober", "cal.month.10": "November", "cal.month.11": "Dezember", "cal.view.month": "Monat", "cal.view.week": "Woche", "cal.view.day": "Tag", "cal.today": "Heute", "cal.month.prev": "Vorheriger Monat", "cal.month.next": "Nächster Monat", "cal.week.prev": "Vorherige Woche", "cal.week.next": "Nächste Woche", "cal.day.prev": "Vorheriger Tag", "cal.day.next": "Nächster Tag", "cal.day.back_to_month": "Zurück zum Monat", "cal.day.open_day": "Tagesansicht öffnen", "cal.day.no_entries": "Keine Einträge an diesem Tag.", // Akten detail — Fristen tab (Phase E) // Fristenrechner — save to Akte (Phase E) "deadlines.save.cta": "Als Frist(en) speichern", "deadlines.save.modal.title": "Fristen \u00fcbernehmen", "deadlines.save.modal.akte": "Akte", "deadlines.save.modal.akte.choose": "Bitte w\u00e4hlen\u2026", "deadlines.save.modal.choose": "Welche Fristen \u00fcbernommen werden sollen:", "deadlines.save.modal.cancel": "Abbrechen", "deadlines.save.modal.submit": "\u00dcbernehmen", "deadlines.save.modal.no_akten": "Sie haben noch keine Akte. Bitte zuerst eine Akte anlegen.", "deadlines.save.modal.no_akten.link": "Akte anlegen", "deadlines.save.success": "Fristen \u00fcbernommen.", "deadlines.save.success.link": "Zu den Fristen", "deadlines.save.error": "\u00dcbernahme fehlgeschlagen.", "deadlines.save.skip_court_set": "Gerichtsbestimmte Termine ohne Datum werden \u00fcbersprungen.", // Fristenrechner overhaul \u2014 shared result view (S2, design \u00a74). "deadlines.overhaul.loading": "Folge-Fristen werden geladen\u2026", "deadlines.overhaul.load_error": "Folge-Fristen konnten nicht geladen werden.", "deadlines.overhaul.empty": "Keine Folge-Fristen f\u00fcr dieses Ereignis hinterlegt.", "deadlines.overhaul.trigger.label": "Trigger-Ereignis", "deadlines.overhaul.trigger.date": "Trigger-Datum:", "deadlines.overhaul.followups.label": "Folge-Fristen", "deadlines.overhaul.group.mandatory": "Pflicht", "deadlines.overhaul.group.recommended": "Empfohlen", "deadlines.overhaul.group.optional": "Kann (auf Antrag)", "deadlines.overhaul.group.conditional": "Bedingt", "deadlines.overhaul.spawn.badge": "\u21f2 neues Verfahren", "deadlines.overhaul.spawn.tooltip": "Diese Regel leitet ein neues Verfahren ein.", "deadlines.detail.label": "Anzeige:", "deadlines.detail.mandatory_only": "Nur Pflicht", "deadlines.detail.selected": "Gewählt", "deadlines.detail.all_options": "Alle Optionen", "deadlines.detail.optional_unselected_hint": "Diese Regel ist optional und gehört nicht zum aktuellen Szenario.", "deadlines.detail.aufnehmen": "Aufnehmen", "deadlines.detail.entfernen": "Entfernen", "deadlines.overhaul.condition.badge": "Nur unter Bedingung", "deadlines.overhaul.crossparty.badge": "Gegenseitig", "deadlines.overhaul.crossparty.tooltip": "Diese Frist wird von der Gegenseite eingereicht. Sie erscheint nur zur Information und wird nicht in die Akte übernommen.", "deadlines.overhaul.notes.summary": "Hinweis", "deadlines.overhaul.edit_date.label": "\u270f Datum", "deadlines.overhaul.edit_date.title": "Datum manuell anpassen", "deadlines.overhaul.select_rule": "Frist ausw\u00e4hlen", "deadlines.overhaul.footer.count": "{n} Fristen ausgew\u00e4hlt", "deadlines.overhaul.footer.cta": "In Akte eintragen", "deadlines.overhaul.nudge.no_project": "Tipp: W\u00e4hle oben eine Akte, um diese Fristen einzutragen.", "deadlines.party.claimant": "Kl\u00e4gerseite", "deadlines.party.defendant": "Beklagtenseite", "deadlines.party.both": "Beide Seiten", "deadlines.party.court": "Gericht", // Fristenrechner overhaul Mode A \u2014 Direkt suchen (S3, design \u00a73.1). "deadlines.overhaul.modes.label": "Modus", "deadlines.overhaul.modes.search": "Direkt suchen", "deadlines.overhaul.modes.wizard": "Gef\u00fchrt", "deadlines.overhaul.wizard.coming_soon": "Gef\u00fchrter Modus kommt im n\u00e4chsten Slice.", "deadlines.overhaul.modea.filters.label": "Filter", "deadlines.overhaul.modea.filters.heading": "Filter (eingrenzen)", "deadlines.overhaul.modea.axis.forum": "Forum:", "deadlines.overhaul.modea.axis.proc": "Verfahren:", "deadlines.overhaul.modea.axis.kind": "Was passierte:", "deadlines.overhaul.modea.axis.party": "Partei:", "deadlines.overhaul.modea.axis.inbox": "Eingangsweg:", "deadlines.overhaul.modea.chip.all": "Alle", "deadlines.overhaul.modea.inbox.summary": "Erweitert: Eingangsweg", "deadlines.overhaul.modea.inbox.postal": "Postal", "deadlines.overhaul.modea.search.label": "Suche", "deadlines.overhaul.modea.search.placeholder": "Klageerhebung, Hinweisbeschluss, m\u00fcndliche Verhandlung\u2026", "deadlines.overhaul.modea.results.label": "Ergebnisse", "deadlines.overhaul.modea.results.heading": "Ergebnisse (klicken zum Einrasten als Trigger)", "deadlines.overhaul.modea.results.count": "{n} Treffer", "deadlines.overhaul.modea.row.followups": "{n} Folge-Fristen", "deadlines.overhaul.modea.loading": "Wird geladen\u2026", "deadlines.overhaul.modea.no_results": "Keine Treffer f\u00fcr diese Filter.", "deadlines.overhaul.modea.no_proceedings": "Keine Verfahren in diesem Forum.", "deadlines.overhaul.modea.search_error": "Suche fehlgeschlagen.", "deadlines.overhaul.kind.filing": "Eingereicht", "deadlines.overhaul.kind.hearing": "Termin", "deadlines.overhaul.kind.decision": "Entscheidung", "deadlines.overhaul.kind.order": "Verf\u00fcgung", "deadlines.overhaul.kind.missed": "Frist vers\u00e4umt", // Fristenrechner overhaul Mode B \u2014 gef\u00fchrter Wizard (S4, design \u00a73.2). "deadlines.overhaul.wizard.heading": "Gef\u00fchrter Modus", "deadlines.overhaul.wizard.hint": "Beantworte die Fragen oben nach unten \u2014 der Wizard landet auf einem Trigger-Ereignis und zeigt die Folge-Fristen.", "deadlines.overhaul.wizard.r1.label": "Was ist passiert?", "deadlines.overhaul.wizard.r2.label": "Vor welchem Gericht?", "deadlines.overhaul.wizard.r3.label": "In welchem Verfahren?", "deadlines.overhaul.wizard.r3.empty": "Kein Verfahren mit diesem Ereignistyp im gew\u00e4hlten Forum.", "deadlines.overhaul.wizard.r4.label": "Welches Schriftst\u00fcck / welcher Termin?", "deadlines.overhaul.wizard.r4.empty": "Keine Ereignisse zu dieser Auswahl.", "deadlines.overhaul.wizard.r5.label": "Welche Seite vertreten Sie?", "deadlines.overhaul.wizard.r5.probing": "Pr\u00fcfe, ob die Folge-Fristen seitenabh\u00e4ngig sind\u2026", "deadlines.overhaul.wizard.badge.filter": "Filter", "deadlines.overhaul.wizard.badge.qualifier": "Qualifier", "deadlines.overhaul.wizard.edit": "\u00e4ndern", "deadlines.overhaul.wizard.anno.from_project": "aus Akte", "deadlines.overhaul.wizard.anno.implicit": "implizit", // Office labels (shared) "office.munich": "M\u00fcnchen", "office.duesseldorf": "D\u00fcsseldorf", "office.hamburg": "Hamburg", "office.amsterdam": "Amsterdam", "office.london": "London", "office.paris": "Paris", "office.milan": "Mailand", // Dashboard (logged-in landing) "dashboard.title": "Dashboard \u2014 Paliad", "dashboard.greeting.prefix": "Guten Tag", "dashboard.unavailable": "Dashboard ben\u00f6tigt die Datenbank \u2014 bitte Administrator kontaktieren.", "dashboard.onboarding": "Bitte schlie\u00dfen Sie das Onboarding ab, damit Ihnen Fristen und Akten angezeigt werden k\u00f6nnen.", "dashboard.summary.heading": "Fristen auf einen Blick", "dashboard.summary.overdue": "\u00dcberf\u00e4llig", "dashboard.summary.today": "Heute", "dashboard.summary.this_week": "Diese Woche", "dashboard.summary.next_week": "N\u00e4chste Woche", "dashboard.summary.completed": "Erledigt", "dashboard.summary.later": "Später", "dashboard.appointment_summary.heading": "Termine auf einen Blick", "dashboard.matters.heading": "Meine Akten", "dashboard.matters.active": "Aktiv", "dashboard.matters.archived": "Archiviert", "dashboard.matters.total": "Gesamt", "dashboard.deadlines.heading": "Kommende Fristen", "dashboard.deadlines.empty": "Keine Fristen in den n\u00e4chsten 7 Tagen.", "dashboard.appointments.heading": "Kommende Termine", "dashboard.appointments.empty": "Keine Termine in den n\u00e4chsten 7 Tagen.", "dashboard.activity.heading": "Letzte Aktivit\u00e4t", "dashboard.activity.empty": "Noch keine Aktivit\u00e4t erfasst.", "dashboard.activity.system": "System", "dashboard.activity.event": "Ereignis", // Inline Agenda section on the dashboard (t-paliad-162). The // standalone /agenda page keeps its own copy under the agenda.* keys; // these are dashboard-scoped so the headline reads as a section // title rather than a page title. "dashboard.agenda.heading": "Agenda", "dashboard.agenda.empty": "Keine F\u00e4lligkeiten in den n\u00e4chsten 30 Tagen.", "dashboard.agenda.full_link": "Vollst\u00e4ndige Agenda \u00f6ffnen \u2192", // Inbox-approvals widget (t-paliad-219). "dashboard.inbox.heading": "Offene Freigaben", "dashboard.inbox.empty": "Keine offenen Freigaben.", "dashboard.inbox.full_link": "Vollst\u00e4ndigen Posteingang \u00f6ffnen \u2192", "dashboard.inbox.entity.deadline": "Frist", "dashboard.inbox.entity.appointment": "Termin", // Edit-mode chrome (t-paliad-219 Slice B). The toggle in the // dashboard header flips body.dashboard-editing; the keys below // power the in-page chrome (drag handle, \u2191/\u2193, hide, gear, picker, // reset) plus the autosave toast. "dashboard.edit.toggle": "Anpassen", "dashboard.edit.exit": "Fertig", "dashboard.edit.add_widget": "Widget hinzuf\u00fcgen", "dashboard.edit.reset": "Auf Standard zur\u00fccksetzen", "dashboard.edit.reset_confirm": "Layout auf Standard zur\u00fccksetzen? Diese Aktion kann nicht r\u00fcckg\u00e4ngig gemacht werden.", // Slice C: admin promote \u2014 visible only when global_role==global_admin. "dashboard.edit.promote": "Als Firmen-Standard speichern", "dashboard.edit.promote_confirm": "Dein aktuelles Layout als Firmen-Standard speichern? Neue Nutzer:innen und 'Auf Standard zur\u00fccksetzen' verwenden danach diese Vorlage.", "dashboard.edit.promoted": "Als Firmen-Standard gespeichert", // Slice C: pinned-projects widget (reuses PinService). "dashboard.pinned.heading": "Angepinnte Akten", "dashboard.pinned.empty": "Noch keine Akten angepinnt.", "dashboard.pinned.full_link": "Alle Akten \u00f6ffnen \u2192", // Slice C: quick-actions widget \u2014 pure UI affordances. "dashboard.quick.heading": "Schnellzugriff", "dashboard.quick.new_project": "+ Akte", "dashboard.quick.new_deadline": "+ Frist", "dashboard.quick.new_appointment": "+ Termin", "dashboard.edit.move_up": "Nach oben bewegen", "dashboard.edit.move_down": "Nach unten bewegen", "dashboard.edit.hide": "Ausblenden", "dashboard.edit.settings": "Einstellungen", "dashboard.edit.drag": "Ziehen, um neu zu ordnen", "dashboard.edit.saved": "Gespeichert", "dashboard.edit.save_failed": "Speichern fehlgeschlagen", "dashboard.edit.setting.count": "Anzahl", "dashboard.edit.setting.count.custom": "Eigener Wert (max. {n})", "dashboard.edit.setting.horizon": "Zeitraum", "dashboard.edit.setting.horizon.days": "{n} Tage", "dashboard.edit.setting.horizon.custom": "Eigener Wert in Tagen (max. {n})", "dashboard.edit.setting.view": "Ansicht", "dashboard.edit.setting.size": "Größe", "dashboard.edit.setting.position": "Position", "dashboard.edit.resize": "Größe ändern", "dashboard.picker.title": "Widget hinzuf\u00fcgen", "dashboard.picker.status.active": "Aktiv", "dashboard.picker.status.hidden": "Versteckt", "dashboard.picker.status.absent": "Nicht hinzugef\u00fcgt", "dashboard.picker.close": "Schlie\u00dfen", "dashboard.picker.empty": "Alle Widgets sind hinzugef\u00fcgt.", // Collapsible-section toggle a11y labels (t-paliad-162). Both states // are needed because the aria-label flips with the expanded state. "dashboard.section.collapse": "Abschnitt einklappen", "dashboard.section.expand": "Abschnitt ausklappen", "dashboard.urgency.overdue": "\u00dcberf\u00e4llig", "dashboard.urgency.today": "Heute", "dashboard.urgency.urgent": "Dringend", "dashboard.urgency.soon": "Bald", "dashboard.when.today": "heute", "dashboard.when.tomorrow": "morgen", // Short verb phrases for the dashboard activity feed. Rendered as the // bold summary line ("Matthias änderte Frist"); the full German // sentence ("Deadline „ok“ geändert") lives on a second // muted line via the project_events.description column. "dashboard.action.short.project_created": "legte Projekt an", "dashboard.action.short.project_archived": "archivierte Projekt", "dashboard.action.short.project_reparented": "ordnete Projekt neu zu", "dashboard.action.short.project_type_changed": "\u00e4nderte Projekt-Typ", "dashboard.action.short.status_changed": "\u00e4nderte Status", "dashboard.action.short.our_side_changed": "\u00e4nderte vertretene Seite", "dashboard.action.short.visibility_changed": "\u00e4nderte Sichtbarkeit", "dashboard.action.short.collaborators_updated": "aktualisierte Bearbeiter", "dashboard.action.short.note_created": "f\u00fcgte Notiz hinzu", "dashboard.action.short.deadline_created": "legte Frist an", "dashboard.action.short.deadline_updated": "\u00e4nderte Frist", "dashboard.action.short.deadline_completed": "erledigte Frist", "dashboard.action.short.deadline_reopened": "öffnete Frist wieder", "dashboard.action.short.deadline_deleted": "l\u00f6schte Frist", "dashboard.action.short.deadline_project_changed": "verschob Frist", "dashboard.action.short.deadlines_imported": "importierte Fristen", "dashboard.action.short.appointment_created": "legte Termin an", "dashboard.action.short.appointment_updated": "\u00e4nderte Termin", "dashboard.action.short.appointment_deleted": "l\u00f6schte Termin", "dashboard.action.short.appointment_project_changed": "verschob Termin", // Localized event-row title for the project Verlauf tab \u2014 full noun // phrase ("Frist ge\u00e4ndert") complementing the dashboard's verb form. "event.title.project_created": "Projekt angelegt", "event.title.project_archived": "Projekt archiviert", "event.title.project_reparented": "Projekt umstrukturiert", "event.title.project_type_changed": "Projekt-Typ ge\u00e4ndert", "event.title.status_changed": "Status ge\u00e4ndert", "event.title.our_side_changed": "Vertretene Seite ge\u00e4ndert", "event.title.note_created": "Notiz hinzugef\u00fcgt", "event.title.deadline_created": "Frist angelegt", "event.title.deadline_updated": "Frist ge\u00e4ndert", "event.title.deadline_completed": "Frist erledigt", "event.title.deadline_reopened": "Frist wiederer\u00f6ffnet", "event.title.deadline_deleted": "Frist gel\u00f6scht", "event.title.deadline_project_changed": "Frist verschoben", "event.title.deadlines_imported": "Fristen importiert", "event.title.appointment_created": "Termin angelegt", "event.title.appointment_updated": "Termin ge\u00e4ndert", "event.title.appointment_deleted": "Termin gel\u00f6scht", "event.title.appointment_project_changed": "Termin verschoben", // Umbrella audit kind + admin churn surfaced by the FilterBar // project_event_kind chip cluster (KnownProjectEventKinds). "event.title.approval_decided": "Genehmigung entschieden", "event.title.member_role_changed": "Teamrolle ge\u00e4ndert", // 4-eye approval lifecycle (t-paliad-138). Verlauf renders these as // a paired card with the original lifecycle event (e.g. // "Frist angelegt" + "Genehmigung erteilt von Bert"). "event.title.deadline_approval_requested": "Genehmigung beantragt", "event.title.deadline_approval_approved": "Genehmigung erteilt", "event.title.deadline_approval_rejected": "Genehmigung abgelehnt", "event.title.deadline_approval_revoked": "Anfrage zurückgezogen", "event.title.deadline_approval_changes_suggested": "Änderungen vorgeschlagen", "event.title.appointment_approval_requested": "Genehmigung beantragt", "event.title.appointment_approval_approved": "Genehmigung erteilt", "event.title.appointment_approval_rejected": "Genehmigung abgelehnt", "event.title.appointment_approval_revoked": "Anfrage zurückgezogen", "event.title.appointment_approval_changes_suggested": "Änderungen vorgeschlagen", "event.description.deadline_approval_requested": "4-Augen-Genehmigung für Frist beantragt", "event.description.deadline_approval_approved": "Genehmigung für Frist erteilt", "event.description.deadline_approval_rejected": "Genehmigung für Frist abgelehnt", "event.description.deadline_approval_revoked": "Genehmigungsanfrage für Frist zurückgezogen", "event.description.deadline_approval_changes_suggested": "Frist abgelehnt mit Gegenvorschlag", "event.description.appointment_approval_requested": "4-Augen-Genehmigung für Termin beantragt", "event.description.appointment_approval_approved": "Genehmigung für Termin erteilt", "event.description.appointment_approval_rejected": "Genehmigung für Termin abgelehnt", "event.description.appointment_approval_revoked": "Genehmigungsanfrage für Termin zurückgezogen", "event.description.appointment_approval_changes_suggested": "Termin abgelehnt mit Gegenvorschlag", "dashboard.action.short.deadline_approval_requested": "beantragte Genehmigung", "dashboard.action.short.deadline_approval_approved": "genehmigte Frist", "dashboard.action.short.deadline_approval_rejected": "lehnte Frist ab", "dashboard.action.short.deadline_approval_revoked": "zog Anfrage zurück", "dashboard.action.short.appointment_approval_requested": "beantragte Genehmigung", "dashboard.action.short.appointment_approval_approved": "genehmigte Termin", "dashboard.action.short.appointment_approval_rejected": "lehnte Termin ab", "dashboard.action.short.appointment_approval_revoked": "zog Anfrage zurück", "event.title.checklist_created": "Checkliste angelegt", "event.title.checklist_renamed": "Checkliste umbenannt", "event.title.checklist_linked": "Checkliste verkn\u00fcpft", "event.title.checklist_unlinked": "Checkliste getrennt", "event.title.checklist_reset": "Checkliste zur\u00fcckgesetzt", "event.title.checklist_deleted": "Checkliste gel\u00f6scht", // Note-parent slugs for note_created descriptions // ("Notiz zu Frist hinzugef\u00fcgt"). Used by translateEventDescription(). "event.note.parent.project": "Projekt", "event.note.parent.deadline": "Frist", "event.note.parent.appointment": "Termin", "event.note.added_to": "Notiz zu {parent} hinzugef\u00fcgt", // Localized full-sentence descriptions for the project Verlauf and the // dashboard activity feed. Stored descriptions carry just the variable // payload (title/count/slugs); the renderer interpolates here. "event.description.deadline_created": "Frist \u201e{title}\u201c angelegt", "event.description.deadline_updated": "Frist \u201e{title}\u201c ge\u00e4ndert", "event.description.deadline_completed": "Frist \u201e{title}\u201c als erledigt markiert", "event.description.deadline_reopened": "Frist \u201e{title}\u201c wieder ge\u00f6ffnet", "event.description.deadline_deleted": "Frist \u201e{title}\u201c gel\u00f6scht", "event.description.deadline_project_changed": "Frist \u201e{title}\u201c einer anderen Akte zugeordnet", "event.description.deadlines_imported": "{count} Fristen aus Fristenrechner \u00fcbernommen", "event.description.appointment_created": "Termin \u201e{title}\u201c angelegt", "event.description.appointment_updated": "Termin \u201e{title}\u201c ge\u00e4ndert", "event.description.appointment_deleted": "Termin \u201e{title}\u201c gel\u00f6scht", "event.description.appointment_project_changed": "Termin \u201e{title}\u201c einer anderen Akte zugeordnet", "dashboard.action.short.checklist_created": "legte Checkliste an", "dashboard.action.short.checklist_renamed": "benannte Checkliste um", "dashboard.action.short.checklist_unlinked": "trennte Checkliste", "dashboard.action.short.checklist_linked": "verkn\u00fcpfte Checkliste", "dashboard.action.short.checklist_reset": "setzte Checkliste zur\u00fcck", "dashboard.action.short.checklist_deleted": "l\u00f6schte Checkliste", "dashboard.action.short.partei_added": "f\u00fcgte Partei hinzu", "dashboard.action.short.partei_removed": "entfernte Partei", // Legacy event types kept so historical project_events rows render cleanly // (writes switched to English in t-paliad-037). "dashboard.action.short.akte_created": "legte Akte an", "dashboard.action.short.akte_archived": "archivierte Akte", "dashboard.action.short.projekt_created": "legte Akte an", "dashboard.action.short.projekt_archived": "archivierte Akte", "dashboard.action.short.projekt_reparented": "ordnete Akte neu zu", "dashboard.action.short.notiz_created": "f\u00fcgte Notiz hinzu", "dashboard.action.short.frist_created": "legte Frist an", "dashboard.action.short.frist_updated": "\u00e4nderte Frist", "dashboard.action.short.frist_completed": "erledigte Frist", "dashboard.action.short.frist_deleted": "l\u00f6schte Frist", "dashboard.action.short.fristen_imported": "importierte Fristen", "dashboard.action.short.termin_created": "legte Termin an", "dashboard.action.short.termin_updated": "\u00e4nderte Termin", "dashboard.action.short.termin_deleted": "l\u00f6schte Termin", "dashboard.action.short.checkliste_created": "legte Checkliste an", "dashboard.action.short.checkliste_renamed": "benannte Checkliste um", "dashboard.action.short.checkliste_unlinked": "trennte Checkliste", "dashboard.action.short.checkliste_linked": "verkn\u00fcpfte Checkliste", "dashboard.action.short.checkliste_reset": "setzte Checkliste zur\u00fcck", "dashboard.action.short.checkliste_deleted": "l\u00f6schte Checkliste", // Onboarding (first-login profile capture) "onboarding.title": "Willkommen \u2014 Paliad", "onboarding.heading": "Willkommen bei Paliad", "onboarding.lede": "Bitte vervollst\u00e4ndigen Sie Ihr Profil, damit Ihnen Akten, Fristen und Termine angezeigt werden k\u00f6nnen.", "onboarding.display_name": "Anzeigename", "onboarding.display_name.placeholder": "Vor- und Nachname", "onboarding.office": "B\u00fcro", "onboarding.office.placeholder": "Bitte ausw\u00e4hlen", "onboarding.job_title": "Berufsbezeichnung", "onboarding.job_title.placeholder": "z.B. Associate, Partner, Patentanwalt", "onboarding.profession": "Profession", "onboarding.profession.hint": "Strukturiertes Tier — steuert die 4-Augen-Genehmigung. Distinkt von der Berufsbezeichnung.", "onboarding.partner_unit": "Partner Unit", "onboarding.partner_unit.unassigned": "(noch keine Zuordnung)", "onboarding.optional": "(optional)", "onboarding.submit": "Profil anlegen", "onboarding.error.display_name": "Bitte Anzeigename eingeben.", "onboarding.error.office": "Bitte B\u00fcro ausw\u00e4hlen.", "onboarding.error.job_title": "Bitte Berufsbezeichnung eingeben.", "onboarding.error.generic": "Profil konnte nicht angelegt werden.", "onboarding.error.connection": "Verbindungsfehler. Bitte versuchen Sie es erneut.", // Termine + CalDAV (Phase F) "nav.group.einstellungen": "Einstellungen", "nav.einstellungen": "Einstellungen", "nav.caldav": "CalDAV", // Global search (t-paliad-026) "search.placeholder": "Suchen...", "search.no_results": "Keine Ergebnisse", "search.group.projects": "Projekte", "search.group.deadlines": "Fristen", "search.group.appointments": "Termine", "search.group.glossary": "Glossar", "search.group.courts": "Gerichte", "search.group.checklists": "Checklisten", "search.group.links": "Links", "search.group.users": "Kolleg:innen", // Command palette (t-paliad-044) "palette.section.actions": "Aktionen", "palette.action.nav.dashboard": "Gehe zu Dashboard", "palette.action.nav.projects": "Gehe zu Projekte", "palette.action.nav.deadlines": "Gehe zu Fristen", "palette.action.nav.appointments": "Gehe zu Termine", "palette.action.nav.agenda": "Gehe zu Agenda", "palette.action.nav.team": "Gehe zu Team", "palette.action.nav.glossary": "Gehe zu Glossar", "palette.action.nav.courts": "Gehe zu Gerichte", "palette.action.nav.links": "Gehe zu Links", "palette.action.nav.checklists": "Gehe zu Checklisten", "palette.action.nav.downloads": "Gehe zu Downloads", "palette.action.nav.settings": "Gehe zu Einstellungen", "palette.action.create.deadline": "Neue Frist anlegen", "palette.action.create.appointment": "Neuer Termin anlegen", "palette.action.create.project": "Neues Projekt anlegen", "palette.action.toggle.lang": "Sprache umschalten", "palette.action.toggle.pin": "Sidebar an-/abheften", "palette.action.app.invite": "Kolleg:in einladen", "palette.action.app.logout": "Abmelden", "palette.footer.navigate": "Navigieren", "palette.footer.open": "Öffnen", "palette.footer.close": "Schließen", "sidebar.resize.title": "Breite anpassen — ziehen, Doppelklick setzt zurück", // Settings page (t-paliad-022) "einstellungen.title": "Einstellungen \u2014 Paliad", "einstellungen.heading": "Einstellungen", "einstellungen.subtitle": "Profil, Benachrichtigungen und Kalendersynchronisation.", "einstellungen.loading": "L\u00e4dt\u2026", "einstellungen.optional": "(optional)", "einstellungen.save": "Speichern", "einstellungen.saved": "Gespeichert.", "einstellungen.error.generic": "Speichern fehlgeschlagen. Bitte sp\u00e4ter erneut versuchen.", "einstellungen.tab.profil": "Profil", "einstellungen.tab.benachrichtigungen": "Benachrichtigungen", "einstellungen.tab.caldav": "CalDAV", "einstellungen.tab.export": "Datenexport", "einstellungen.export.subtitle": "Laden Sie Ihre pers\u00f6nlichen Paliad-Daten als Excel- + JSON- + CSV-Paket herunter. Enthalten ist alles, was Sie aktuell sehen k\u00f6nnen \u2014 Ihre Projekte, Fristen, Termine, Notizen, Genehmigungen und Einstellungen.", "einstellungen.export.heading": "Pers\u00f6nlicher Datenexport", "einstellungen.export.what": "Das Paket enth\u00e4lt Ihre sichtbaren Daten in drei Formaten in einem .zip:", "einstellungen.export.bullet.xlsx": "paliad-export.xlsx \u2014 eine Excel-Mappe pro Entit\u00e4t.", "einstellungen.export.bullet.json": "paliad-export.json \u2014 maschinenlesbare Kopie f\u00fcr Skripte und Tools.", "einstellungen.export.bullet.csv": "csv/.csv \u2014 Tabellen einzeln als CSV (UTF-8 mit BOM).", "einstellungen.export.scope": "Umfang: alles, was Sie aktuell in Paliad sehen k\u00f6nnen (Sichtbarkeit zum Zeitpunkt des Exports). Passw\u00f6rter, CalDAV-Zugangsdaten und andere Geheimnisse werden nie exportiert.", "einstellungen.export.audit": "Jeder Export wird im Audit-Log protokolliert.", "einstellungen.export.button": "Daten exportieren", "einstellungen.export.started": "Download gestartet. Falls nichts passiert, pr\u00fcfen Sie Ihren Browser-Downloadordner.", "projects.title": "Projekte \u2014 Paliad", "projects.heading": "Projekte", "projects.subtitle": "Mandanten, Streitsachen, Patente und Verfahren \u2014 hierarchisch organisiert.", "projects.new": "Neues Projekt", "projects.search.placeholder": "Titel, Referenz oder ClientMatter...", "projects.filter.type": "Typ", "projects.filter.type.all": "Alle Typen", "projects.filter.status": "Status", "projects.filter.status.all": "Alle Status", "projects.filter.status.active": "Aktiv", "projects.filter.status.archived": "Archiviert", "projects.filter.status.closed": "Abgeschlossen", "projects.filter.view": "Ansicht", "projects.view.flat": "Flache Liste", "projects.view.roots": "Nur Wurzeln", "projects.unavailable": "Projektverwaltung zurzeit nicht verf\u00fcgbar \u2014 bitte Administrator kontaktieren.", "projects.col.title": "Titel", "projects.col.type": "Typ", "projects.col.reference": "Referenz", "projects.col.clientmatter": "ClientMatter", "projects.col.status": "Status", "projects.col.updated": "Zuletzt ge\u00e4ndert", "projects.empty.title": "Noch kein Projekt angelegt", "projects.empty.hint": "Starten Sie \u00fcber \u201eNeues Projekt\u201c \u2014 legen Sie zuerst einen Mandanten an, darunter Streitsachen, Patente und Verfahren.", "projects.empty.filtered": "Keine Treffer f\u00fcr diese Filter.", "projects.cancel": "Abbrechen", "projects.submit": "Projekt anlegen", "projects.neu.title": "Neues Projekt \u2014 Paliad", "projects.neu.heading": "Neues Projekt anlegen", "projects.neu.subtitle": "Mandant, Streitsache, Patent, Verfahren oder generisches Projekt \u2014 hierarchisch einordnen. Sichtbarkeit folgt dem Team (Sie werden als \u201eLeitung\u201c automatisch hinzugef\u00fcgt).", "projects.field.type": "Typ", "projects.field.type.choose": "Bitte w\u00e4hlen\u2026", "projects.field.parent": "\u00dcbergeordnetes Projekt", "projects.field.parent.placeholder": "Titel eingeben, um ein \u00dcberprojekt zu suchen...", "projects.field.parent.hint": "Leer lassen f\u00fcr ein Wurzel-Projekt (typisch: Mandant).", "projects.field.title": "Titel", "projects.field.title.placeholder": "z.B. Siemens AG | Siemens v. Huawei | EP 1 234 567", "projects.field.reference": "Interne Referenz (optional)", "projects.field.reference.placeholder": `z.B. ${FIRM}-2026-0042`, "projects.field.client_number": "Client-Nr. (6 Ziffern)", "projects.field.matter_number": "Matter-Nr. (6 Ziffern)", "projects.field.clientmatter.hint": `${FIRM}-Billing-Nummern. Format CCCCCC.MMMMMM. Client-Nr. wird an Unterprojekte vererbt (\u00fcberschreibbar).`, "projects.field.billing_reference": "Billing-Referenz (optional)", "projects.field.netdocuments_url": "netDocuments-URL (optional)", "projects.field.industry": "Branche", "projects.field.country": "Land (ISO-2)", "projects.field.description": "Notizen", "projects.field.description.placeholder": "Kurznotizen zum Projekt (optional)...", "projects.detail.description.heading": "Notizen", "projects.field.patent_number": "Patentnummer", "projects.field.filing_date": "Anmeldetag", "projects.field.grant_date": "Erteilungstag", "projects.field.court": "Gericht", "projects.field.case_number": "Aktenzeichen (Gericht)", "projects.field.proceeding_type_id": "Verfahrenstyp", "projects.field.proceeding_type": "Verfahrenstyp", "projects.field.proceeding_type.unset": "(nicht gesetzt)", "projects.field.proceeding_type.hint": "Bestimmt, welche Schriftsätze-Vorlagen für dieses Verfahren angezeigt werden.", "projects.field.our_side": "Wir vertreten", "projects.field.our_side.hint": "Bestimmt die Voreinstellung der Perspektive im Fristenrechner-Determinator. Lässt sich dort jederzeit überschreiben.", "projects.field.our_side.unset": "Unbekannt / nicht gesetzt", "projects.field.our_side.claimant": "Klägerseite", "projects.field.our_side.defendant": "Beklagtenseite", "projects.field.our_side.applicant": "Antragsteller", "projects.field.our_side.appellant": "Berufungsführer", "projects.field.our_side.respondent": "Antragsgegner", "projects.field.our_side.third_party": "Streithelfer / Dritter", "projects.field.our_side.other": "Sonstige Beteiligte", "projects.field.our_side.court": "Gericht / Tribunal", "projects.field.our_side.both": "Beide Seiten", "projects.field.our_side.none": "—", "projects.field.client_role": "Mandantenrolle", "projects.field.client_role.hint": "Bestimmt die Voreinstellung der Perspektive im Fristenrechner-Determinator: Aktiv → Klägerseite, Reaktiv → Beklagtenseite. Lässt sich dort jederzeit überschreiben.", "projects.field.client_role.unset": "Unbekannt", "projects.field.client_role.group.active": "Aktiv (wir greifen an)", "projects.field.client_role.group.reactive": "Reaktiv (wir verteidigen)", "projects.field.client_role.group.other": "Dritte / Sonstige", "projects.field.client_role.claimant": "Klägerseite", "projects.field.client_role.applicant": "Antragsteller", "projects.field.client_role.appellant": "Berufungsführer", "projects.field.client_role.defendant": "Beklagtenseite", "projects.field.client_role.respondent": "Antragsgegner", "projects.field.client_role.third_party": "Streithelfer / Dritter", "projects.field.client_role.other": "Sonstige Beteiligte", "projects.field.opponent_code": "Gegner-Kürzel", "projects.field.opponent_code.placeholder": "z.B. OPNT", "projects.field.opponent_code.hint": "Kurzes Kürzel der Gegenseite (Großbuchstaben, Ziffern, Bindestriche, max. 16 Zeichen). Wird als mittleres Segment in automatisch abgeleiteten Projekt-Codes verwendet (z.B. EXMPL.OPNT.567.INF.CFI).", "projects.field.status": "Status", "projects.error.title_required": "Titel erforderlich", "projects.detail.edit.type_change_warning.title": "Diese Felder werden geleert:", "projects.detail.title": "Projekt \u2014 Paliad", "projects.detail.back": "\u2190 Zur\u00fcck zur \u00dcbersicht", "projects.detail.loading": "L\u00e4dt\u2026", "projects.detail.notfound": "Projekt nicht gefunden oder keine Berechtigung.", "projects.detail.smarttimeline.open_chart": "Als Chart anzeigen \u2197", "projects.chart.title": "Projekt-Chart \u2014 Paliad", "projects.chart.back": "\u2190 Zur\u00fcck zum Verlauf", "projects.chart.loading": "L\u00e4dt\u2026", "projects.chart.notfound": "Projekt nicht gefunden oder keine Berechtigung.", "projects.chart.error.mount": "Chart konnte nicht initialisiert werden.", "projects.chart.control.layout.horizontal": "Layout: Horizontal", "projects.chart.control.columns.auto": "Spalten: Auto", "projects.chart.control.density.standard": "Dichte: Standard", "projects.chart.control.palette.default": "Palette: Standard", "projects.chart.control.export.soon": "Export \u2193 (Slice 2)", "projects.chart.control.palette.label": "Palette:", "projects.chart.palette.default": "Standard", "projects.chart.palette.kind_coded": "Nach Ereignistyp", "projects.chart.palette.track_coded": "Nach Spur", "projects.chart.palette.high_contrast": "Hoher Kontrast", "projects.chart.palette.print": "Druck (S/W)", "projects.chart.control.density.label": "Dichte:", "projects.chart.density.compact": "Kompakt", "projects.chart.density.standard": "Standard", "projects.chart.density.spacious": "Großzügig", "projects.chart.control.range.label": "Zeitraum:", "projects.chart.range.1y": "1 Jahr", "projects.chart.range.2y": "2 Jahre", "projects.chart.range.all": "Alles anzeigen", "projects.chart.range.custom": "Eigener Bereich…", "projects.chart.range.from": "Von:", "projects.chart.range.to": "Bis:", "projects.chart.permalink.copy": "🔗 Link kopieren", "projects.chart.permalink.title": "URL mit allen Filtern in die Zwischenablage kopieren", "nav.context.project_chart": "Als Chart anzeigen", "projects.chart.export.menu": "⇓ Export", "projects.chart.export.svg": "SVG (Vektorgrafik)", "projects.chart.export.png": "PNG (Bild, 2× HiDPI)", "projects.chart.export.print": "PDF (Drucken)", "projects.chart.export.csv": "CSV (Excel-Tabelle)", "projects.chart.export.json": "JSON (Rohdaten)", "projects.chart.export.ics": "iCal (.ics — Outlook / Apple)", "projects.detail.edit": "Bearbeiten", "projects.detail.edit.modal.title": "Projekt bearbeiten", "projects.detail.save": "Speichern", "projects.detail.tab.verlauf": "Verlauf", "projects.detail.tab.team": "Team", "projects.detail.tab.kinder": "Projektbaum", "projects.detail.tab.parteien": "Parteien", "projects.detail.tab.fristen": "Fristen", "projects.detail.tab.termine": "Termine", "projects.detail.tab.notizen": "Notizen", "projects.detail.tab.checklisten": "Checklisten", "projects.detail.tab.submissions": "Schriftsätze", "projects.detail.tab.settings": "Verwaltung", "projects.detail.export.button": "Daten exportieren", "projects.detail.export.tooltip": "Daten dieses Projekts (mit Unter-Projekten) als Excel + JSON + CSV herunterladen.", "projects.detail.settings.export.heading": "Daten exportieren", "projects.detail.settings.export.description": "Lade alle Daten dieses Projekts (inkl. Unter-Projekten) als Excel + JSON + CSV-Archiv herunter.", "projects.detail.settings.archive.heading": "Projekt archivieren", "projects.detail.settings.archive.description": "Archivieren erfolgt aus dem Bearbeiten-Dialog (Gefahrenbereich).", "projects.detail.settings.archive.cta": "Bearbeiten öffnen", "projects.detail.submissions.empty": "Es sind aktuell keine Schriftsatzvorlagen hinterlegt.", "projects.detail.submissions.empty.no_proceeding": "Für dieses Projekt ist noch kein Verfahrenstyp gesetzt — der Katalog unten zeigt trotzdem alle Vorlagen.", "projects.detail.submissions.empty.no_proceeding.cta": "Projekt bearbeiten", "projects.detail.submissions.col.name": "Schriftsatz", "projects.detail.submissions.col.party": "Partei", "projects.detail.submissions.col.source": "Rechtsgrundlage", "projects.detail.submissions.col.action": "", "projects.detail.submissions.action.generate": "Generieren", "projects.detail.submissions.action.no_template": "Keine Vorlage", "projects.detail.submissions.action.edit": "Bearbeiten", "projects.detail.submissions.hint": "Schriftsätze werden direkt aus dem Projekt heraus als .docx generiert. Anpassen, drucken, einreichen.", // t-paliad-238 — dedicated draft editor page. "submissions.draft.title": "Schriftsatz bearbeiten — Paliad", "submissions.draft.back": "← Zurück zum Projekt", "submissions.draft.loading": "Lädt…", "submissions.draft.notfound": "Schriftsatz nicht gefunden oder keine Berechtigung.", "submissions.draft.action.export": "Als .docx exportieren", "submissions.draft.action.new": "+ Neuer Entwurf", "submissions.draft.action.delete": "Löschen", "submissions.draft.switcher.label": "Entwurf", "submissions.draft.name.placeholder": "Name dieses Entwurfs", "submissions.draft.preview.title": "Vorschau", "submissions.draft.preview.hint": "Read-only Vorschau — finale Bearbeitung in Word.", // t-paliad-277 — import-from-project + party-picker. "submissions.draft.import.button": "Aus Projekt importieren", "submissions.draft.parties.title": "Parteien", "submissions.draft.parties.hint": "Wählen Sie die im Schriftsatz genannten Parteien oder fügen Sie pro Seite weitere hinzu.", // t-paliad-276 — DE/EN language toggle on the draft editor. "submissions.draft.language": "Sprache", "submissions.draft.language.de": "DE", "submissions.draft.language.en": "EN", "submissions.draft.language.fallback_notice": "Fallback: universelles Skelett (keine sprachspezifische Vorlage).", // t-paliad-313 (m/paliad#141) Composer Slice A — base picker + section list. "submissions.draft.base.label": "Vorlagenbasis", "submissions.draft.base.hint": "Steuert Schriftarten, Briefkopf und Abschnitts-Defaults.", "submissions.draft.sections.title": "Abschnitte", "submissions.draft.sections.hint": "Inhalt pro Abschnitt — Autosave nach 500 ms. Letztes Layout in Word.", // t-paliad-349 (m/paliad#157) docforge slice 6 — template authoring page. "templates.authoring.title": "Vorlagen — Paliad", "templates.authoring.heading": "Vorlagen", "templates.authoring.intro": "Lade eine Word-Vorlage hoch, markiere Stellen und setze Variablen ein.", "templates.authoring.upload.title": "Neue Vorlage hochladen", "templates.authoring.upload.file": "Word-Datei (.docx)", "templates.authoring.upload.name_de": "Name (DE)", "templates.authoring.upload.name_en": "Name (EN)", "templates.authoring.upload.firm": "Kanzlei (optional)", "templates.authoring.upload.submit": "Hochladen", "templates.authoring.list.title": "Vorhandene Vorlagen", "templates.authoring.workspace.hint": "Text markieren, dann eine Variable wählen, um einen Platzhalter zu setzen.", "templates.authoring.slots.title": "Platzhalter", // t-paliad-315 (m/paliad#141) Composer Slice C — building blocks admin. "admin.building_blocks.title": "Bausteine — Paliad", "admin.building_blocks.heading": "Bausteine", "admin.building_blocks.subtitle": "Wiederverwendbare Textbausteine für Composer-Abschnitte.", "admin.building_blocks.loading": "Lädt…", "admin.building_blocks.action.new": "+ Neuer Baustein", "admin.building_blocks.editor.empty": "Wählen Sie einen Baustein aus der Liste — oder erstellen Sie einen neuen.", // t-paliad-240 — global Schriftsätze drafts index page. "submissions.index.title": "Schriftsätze — Paliad", "submissions.index.heading": "Schriftsätze", "submissions.index.subtitle": "Ihre Schriftsatz-Entwürfe über alle sichtbaren Projekte.", "submissions.index.loading": "Lädt…", "submissions.index.empty": "Noch keine Entwürfe. Beginnen Sie mit einem neuen Entwurf — mit oder ohne Projekt.", "submissions.index.empty.cta": "+ Neuer Entwurf", "submissions.index.error": "Schriftsätze konnten nicht geladen werden.", "submissions.index.col.project": "Projekt", "submissions.index.col.submission": "Schriftsatz", "submissions.index.col.draft": "Entwurf", "submissions.index.col.updated": "Zuletzt geändert", "submissions.index.action.new": "+ Neuer Entwurf", // t-paliad-243 — global Schriftsatz picker (/submissions/new). "submissions.new.title": "Neuer Schriftsatz — Paliad", "submissions.new.back": "← Zurück zur Übersicht", "submissions.new.heading": "Neuer Schriftsatz", "submissions.new.subtitle": "Wählen Sie eine Vorlage. Optional verknüpfen Sie den Entwurf mit einem Projekt — sonst füllen Sie alle Variablen manuell.", "submissions.new.search.placeholder": "Suche nach Schriftsatz, Code oder Norm…", "submissions.new.loading": "Lädt…", "submissions.new.error": "Katalog konnte nicht geladen werden.", "submissions.new.col.name": "Schriftsatz", "submissions.new.col.party": "Partei", "submissions.new.col.source": "Rechtsgrundlage", "submissions.new.col.actions": "Entwurf starten", "submissions.new.empty.filtered": "Keine passenden Schriftsätze. Filter zurücksetzen.", "submissions.new.picker.title": "Projekt wählen", "submissions.new.picker.placeholder": "Projekt suchen (Titel oder Aktenzeichen)…", "submissions.new.picker.loading": "Lädt Projekte…", "submissions.new.picker.empty": "Keine sichtbaren Projekte.", "projects.detail.verlauf.empty": "Noch keine Ereignisse aufgezeichnet.", "projects.detail.verlauf.loadMore": "Mehr laden", // SmartTimeline (t-paliad-171, Slice 1). "projects.detail.smarttimeline.empty": "Noch keine Ereignisse erfasst.", "projects.detail.smarttimeline.today": "Heute", "projects.detail.smarttimeline.section.past": "Vergangenheit", "projects.detail.smarttimeline.section.future": "Zukunft", "projects.detail.smarttimeline.section.undated": "Ohne Datum", "projects.detail.smarttimeline.kind.deadline": "Frist", "projects.detail.smarttimeline.kind.appointment": "Termin", "projects.detail.smarttimeline.kind.milestone": "Meilenstein", "projects.detail.smarttimeline.kind.projected": "Vorhersage", "projects.detail.smarttimeline.status.done": "Erledigt", "projects.detail.smarttimeline.status.open": "Offen", "projects.detail.smarttimeline.status.overdue": "Überfällig", "projects.detail.smarttimeline.status.court_set": "Datum vom Gericht", "projects.detail.smarttimeline.status.predicted": "Voraussichtlich", "projects.detail.smarttimeline.status.off_script": "Eigener Eintrag", "projects.detail.smarttimeline.audit.toggle.show": "Audit-Log anzeigen", "projects.detail.smarttimeline.audit.toggle.hide": "Nur Timeline-Einträge", "projects.detail.smarttimeline.add.cta": "+ Eintrag", "projects.detail.smarttimeline.add.modal.title": "Neuer Eintrag im SmartTimeline", "projects.detail.smarttimeline.add.choice.deadline": "Frist anlegen", "projects.detail.smarttimeline.add.choice.appointment": "Termin anlegen", "projects.detail.smarttimeline.add.choice.counterclaim": "Widerklage (CCR)", "projects.detail.smarttimeline.add.choice.amend": "Antrag auf Änderung (R.30)", "projects.detail.smarttimeline.add.choice.milestone": "Eigener Meilenstein", "projects.detail.smarttimeline.add.choice.disabled": "Kommt mit Slice 3", "projects.detail.smarttimeline.add.cancel": "Abbrechen", "projects.detail.smarttimeline.add.submit": "Speichern", "projects.detail.smarttimeline.milestone.title": "Titel", "projects.detail.smarttimeline.milestone.date": "Datum (optional)", "projects.detail.smarttimeline.milestone.description": "Beschreibung (optional)", "projects.detail.smarttimeline.error.title_required": "Bitte einen Titel angeben.", "projects.detail.smarttimeline.error.generic": "Konnte den Eintrag nicht speichern.", "projects.detail.smarttimeline.status.predicted_overdue": "Überfällig (vorhergesagt)", "projects.detail.smarttimeline.lookahead.more": "+ Mehr anzeigen", "projects.detail.smarttimeline.lookahead.less": "− Weniger", "projects.detail.smarttimeline.depends_on.prefix": "Folgt aus", "projects.detail.smarttimeline.depends_on.date_open": "Datum offen", "projects.detail.smarttimeline.depends_on.show_path": "Pfad anzeigen", "projects.detail.smarttimeline.depends_on.hide_path": "Pfad verbergen", "projects.detail.smarttimeline.depends_on.path_hint": "Klicke die übergeordnete Zeile, um deren Abhängigkeit zu sehen.", "projects.detail.smarttimeline.anchor.set": "Datum setzen", "projects.detail.smarttimeline.anchor.save": "Speichern", "projects.detail.smarttimeline.anchor.cancel": "Abbrechen", "projects.detail.smarttimeline.anchor.saving": "Speichere …", "projects.detail.smarttimeline.anchor.saved": "Gespeichert.", "projects.detail.smarttimeline.anchor.error": "Konnte das Datum nicht setzen.", "projects.detail.smarttimeline.anchor.invalid_date": "Ungültiges Datum (YYYY-MM-DD).", "projects.detail.smarttimeline.track.label": "Track", "projects.detail.smarttimeline.track.both": "Beide", "projects.detail.smarttimeline.track.only.parent": "Nur Hauptverfahren", "projects.detail.smarttimeline.track.only.counterclaim": "Nur Widerklage", "projects.detail.smarttimeline.track.only.parent_context": "Nur Hauptverfahren (Kontext)", "projects.detail.smarttimeline.track.header.parent": "Hauptverfahren", "projects.detail.smarttimeline.track.header.counterclaim": "Widerklage (CCR)", "projects.detail.smarttimeline.track.header.parent_context": "Hauptverfahren (Kontext)", "projects.detail.smarttimeline.counterclaim.procedure": "Verfahrenstyp", "projects.detail.smarttimeline.counterclaim.title": "Titel (optional)", "projects.detail.smarttimeline.counterclaim.case_number": "CCR-Aktenzeichen (optional)", "projects.detail.smarttimeline.counterclaim.flip_override": "Unsere Seite NICHT umkehren (Stimmt nicht?)", "projects.detail.smarttimeline.counterclaim.flip_hint": "Im Standardfall (CCR-Nichtigkeit) kehrt sich unsere Seite um (Kläger ↔ Beklagter). Aktivieren bei R.49.2.b CCI.", "projects.detail.smarttimeline.counterclaim.submit": "Widerklage anlegen", "projects.detail.smarttimeline.counterclaim.saving": "Lege Widerklage an …", "projects.detail.smarttimeline.lane.empty": "Keine Einträge in dieser Spur.", "projects.detail.smarttimeline.lane.filter.label": "Spuren", "projects.detail.smarttimeline.lane.filter.all": "Alle", "projects.detail.smarttimeline.client.toggle.lanes": "Timeline-Ansicht", "projects.detail.smarttimeline.client.toggle.matter_list": "Mandatsliste", "projects.detail.smarttimeline.client.matter_list.heading": "Verfahren des Mandanten", "projects.detail.smarttimeline.client.matter_list.hint": "Klicke ein Verfahren an, um die Detail-Timeline zu öffnen, oder schalte oben auf „Timeline-Ansicht“.", "projects.detail.smarttimeline.client.matter_list.empty": "Noch keine Verfahren angelegt.", "projects.detail.smarttimeline.milestone.bubble_up": "In übergeordneten Akten anzeigen", "projects.detail.smarttimeline.milestone.bubble_up_hint": "Beim Aktivieren erscheint dieser Meilenstein auf Patent-, Verfahrens- und Mandantsicht.", "projects.detail.team.form.user": "Benutzer", "projects.detail.team.form.role": "Rolle", "projects.detail.team.form.responsibility": "Rolle im Projekt", "projects.detail.team.form.profession.label": "Profession", "projects.detail.team.form.profession.none": "Keine Profession gesetzt \u2014 kann keine 4-Augen-Genehmigungen erteilen.", "projects.detail.team.form.cancel": "Abbrechen", "projects.detail.team.form.submit": "Hinzuf\u00fcgen", "projects.detail.team.col.name": "Name", "projects.detail.team.col.role": "Rolle", "projects.detail.team.col.profession": "Profession", "projects.detail.team.col.responsibility": "Rolle im Projekt", "projects.detail.team.col.source": "Herkunft", "projects.detail.kinder.add": "Untervorhaben anlegen", "projects.detail.kinder.empty": "Keine untergeordneten Projekte.", "projects.detail.parteien.add": "Partei hinzuf\u00fcgen", "projects.detail.parteien.form.name": "Name", "projects.detail.parteien.form.role": "Rolle", "projects.detail.parteien.form.rep": "Vertreter (optional)", "projects.detail.parteien.form.cancel": "Abbrechen", "projects.detail.parteien.form.submit": "Hinzuf\u00fcgen", "projects.detail.parteien.role.claimant": "Kl\u00e4ger", "projects.detail.parteien.role.defendant": "Beklagter", "projects.detail.parteien.role.thirdparty": "Streitverk\u00fcndeter / Drittpartei", "projects.detail.parteien.col.name": "Name", "projects.detail.parteien.col.role": "Rolle", "projects.detail.parteien.col.rep": "Vertreter", "projects.detail.parteien.empty": "Noch keine Parteien eingetragen.", "projects.detail.deadlines.add": "Frist hinzuf\u00fcgen", "projects.detail.deadlines.empty": "F\u00fcr dieses Projekt sind noch keine Fristen erfasst.", "projects.detail.appointments.add": "Termin hinzuf\u00fcgen", "projects.detail.appointments.form.cancel": "Abbrechen", "projects.detail.appointments.form.submit": "Hinzuf\u00fcgen", "projects.detail.appointments.empty": "F\u00fcr dieses Projekt sind noch keine Termine erfasst.", "projects.detail.checklisten.empty": "F\u00fcr dieses Projekt sind noch keine Checklisten-Instanzen erfasst.", "projects.detail.checklisten.col.template": "Vorlage", "projects.detail.checklisten.col.name": "Name", "projects.detail.checklisten.col.progress": "Fortschritt", "projects.detail.checklisten.col.created": "Angelegt", "projects.detail.checklisten.hint.prefix": "Vorlagen werden auf der ", "projects.detail.checklisten.hint.link": "Checklisten", "projects.detail.checklisten.hint.suffix": "-Seite angelegt und bearbeitet.", "projects.detail.checklisten.add": "Checkliste hinzuf\u00fcgen", "projects.detail.checklisten.add.search": "Vorlage suchen\u2026", "projects.detail.checklisten.add.empty_pick": "Keine passenden Vorlagen gefunden.", "projects.detail.checklisten.add.created": "Checkliste hinzugef\u00fcgt.", "projects.detail.checklisten.add.error": "Checkliste konnte nicht angelegt werden.", "projects.detail.delete": "Projekt archivieren", "projects.detail.delete.confirm.title": "Projekt wirklich archivieren?", "projects.detail.delete.confirm.body": "Das Projekt wird archiviert. Es kann nicht direkt wiederhergestellt werden.", "projects.detail.delete.confirm.cancel": "Abbrechen", "projects.detail.delete.confirm.ok": "Archivieren", "projects.type.client": "Mandant", "projects.type.litigation": "Streitsache", "projects.type.patent": "Patent", "projects.type.case": "Verfahren", "projects.type.project": "Projekt", "projects.type.other": "Sonstiges", "projects.team.role.lead": "Leitung", "projects.team.role.associate": "Associate", "projects.team.role.pa": "PA", "projects.team.role.of_counsel": "Of Counsel", "projects.team.role.local_counsel": "Local Counsel", "projects.team.role.expert": "Experte", "projects.team.role.observer": "Beobachter", "projects.team.responsibility.admin": "Admin", "projects.team.responsibility.admin.hint": "Kann Team und Rollen auf diesem Projekt und Unterprojekten verwalten", "projects.team.responsibility.lead": "Leitung", "projects.team.responsibility.member": "Mitglied", "projects.team.responsibility.observer": "Beobachter", "projects.team.responsibility.external": "Extern", "projects.team.error.last_admin": "Mindestens ein Admin muss auf diesem Projekt oder einem übergeordneten verbleiben.", "projects.team.error.forbidden": "Diese Aktion ist nicht erlaubt.", "projects.team.error.generic": "Aktion fehlgeschlagen.", "projects.team.profession.partner": "Partner", "projects.team.profession.of_counsel": "Of Counsel", "projects.team.profession.associate": "Associate", "projects.team.profession.senior_pa": "Senior PA", "projects.team.profession.pa": "PA", "projects.team.profession.paralegal": "Paralegal", "projects.team.profession.none": "(extern)", "projects.team.profession.hint": "Profession \u2014 gesetzt im Firmenprofil", "projects.team.profession.none.hint": "Keine Profession gesetzt \u2014 keine 4-Augen-Befugnis", "projects.team.direct": "direkt", "projects.team.inherited.hint": "Vererbt vom \u00dcberprojekt", "projects.detail.team.add": "Mitglied hinzuf\u00fcgen", "projects.detail.team.remove": "Entfernen", "projects.detail.team.confirm_remove": "Mitglied entfernen?", "projects.detail.team.empty": "Noch keine Teammitglieder.", "projects.detail.team.error.user_required": "Benutzer ausw\u00e4hlen", "projects.detail.team.invite.hint": "Benutzer nicht gefunden?", "projects.detail.team.invite.hint_email": "Niemand mit dieser E-Mail.", "projects.detail.team.invite.cta": "Einladen", // t-paliad-231 — pure-client mailto: button on the Team tab. No // server call; opens the local mail client with every selected // member queued in the To: line. "projects.team.mailto.label": "Mail an Auswahl", "projects.team.mailto.empty": "Mindestens ein Mitglied auswählen", "projects.team.mailto.count": "{n} ausgewählt", "projects.team.mailto.select_all": "Alle sichtbaren auswählen", "projects.team.mailto.select_row": "Mitglied auswählen", "projects.view.tree": "Baumansicht", "projects.tree.toggle": "Aufklappen / Zuklappen", "projects.tree.loading": "Baum wird geladen\u2026", "projects.tree.error": "Baumansicht konnte nicht geladen werden.", "projects.tree.deadlines.overdue": "\u00dcberf\u00e4llige Fristen", "projects.tree.deadlines.open": "Offene Fristen", "projects.tree.deadlines.subtree.tooltip": "Inkl. Unterprojekte", "projects.tree.deadlines.direct.tooltip": "Nur direkt auf diesem Projekt", "projects.tree.pin": "Anpinnen", "projects.tree.unpin": "Pin entfernen", "projects.tree.inherited.context": "Sichtbar wegen Unterprojekt", "projects.toolbar.search.placeholder": "Suchen \u2014 Titel, Referenz, ClientMatter\u2026", "projects.toolbar.view.tree": "Baum", "projects.toolbar.view.cards": "Karten", "projects.toolbar.view.flat": "Liste", "projects.toolbar.subtree_counts": "Inkl. Unterprojekte z\u00e4hlen", "projects.chip.all": "Alle", "projects.chip.mine": "Nur meine", "projects.chip.pinned": "Angepinnt", "projects.chip.status": "Status", "projects.chip.type": "Typ", "projects.chip.has_open_deadlines": "Mit aktiven Fristen", "projects.chip.status.active": "Aktiv", "projects.chip.status.archived": "Archiviert", "projects.chip.status.closed": "Abgeschlossen", "projects.chip.type.client": "Mandant", "projects.chip.type.litigation": "Streitsache", "projects.chip.type.patent": "Patent", "projects.chip.type.case": "Verfahren", "projects.chip.type.project": "Projekt", "projects.chip.type.other": "Sonstiges", "projects.chip.multi.none": "Keine Auswahl", "projects.chip.multi.count": "{n} ausgew\u00e4hlt", "projects.empty.filtered.action": "Filter zur\u00fccksetzen", "projects.search.match.self": "Treffer", "projects.search.match.ancestor": "\u00dcber-Projekt eines Treffers", "projects.search.match.descendant": "Unterprojekt eines Treffers", "projects.cards.next_events": "N\u00e4chste Termine", "projects.cards.recent_verlauf": "Zuletzt", "projects.cards.no_next_events": "\u2014 keine bevorstehenden Termine", "projects.cards.no_recent": "\u2014 noch nichts passiert", "projects.cards.team": "Team", "projects.cards.deadline_open": "offen", "projects.cards.deadline_overdue": "\u00fcberf\u00e4llig", "projects.cards.show_all_levels": "Alle Ebenen anzeigen", "projects.cards.show_all_levels.hint": "Mandanten + Streitsachen als eigene Karten zeigen", "projects.cards.layout.label": "Ansicht", "projects.cards.layout.new": "Neue Ansicht", "projects.cards.layout.edit": "Bearbeiten", "projects.cards.layout.save": "Speichern", "projects.cards.layout.discard": "Verwerfen", "projects.cards.layout.set_default": "Als Standard festlegen", "projects.cards.layout.delete": "L\u00f6schen", "projects.cards.layout.rename": "Umbenennen", "projects.cards.layout.is_default": "Standard", "projects.cards.layout.new.prompt": "Name der neuen Ansicht", "projects.cards.layout.delete.confirm": "Diese Ansicht wirklich l\u00f6schen?", "projects.cards.layout.delete.default_blocked": "Die aktive Standardansicht kann nicht gel\u00f6scht werden \u2014 bitte zuerst eine andere Standardansicht w\u00e4hlen.", "projects.cards.layout.fact.title-row": "Titelzeile", "projects.cards.layout.fact.type-chip": "Typ-Badge", "projects.cards.layout.fact.status-chip": "Status-Badge", "projects.cards.layout.fact.client-matter": "ClientMatter", "projects.cards.layout.fact.parent-path": "Pfad zum \u00dcberprojekt", "projects.cards.layout.fact.deadline-counts": "Frist-Z\u00e4hler", "projects.cards.layout.fact.next-events": "N\u00e4chste Termine", "projects.cards.layout.fact.recent-verlauf": "Verlauf-Eintr\u00e4ge", "projects.cards.layout.fact.team-chips": "Team-Chips", "projects.cards.layout.fact.reference": "Referenz", "projects.cards.layout.fact.last-activity-at": "Letzte Aktivit\u00e4t", "projects.cards.layout.density": "Dichte", "projects.cards.layout.density.compact": "Kompakt", "projects.cards.layout.density.roomy": "Ger\u00e4umig", "projects.cards.layout.grid": "Spalten", "projects.cards.layout.grid.auto": "Auto", "projects.cards.layout.grid.2": "2", "projects.cards.layout.grid.3": "3", "projects.cards.layout.grid.4": "4", "projects.cards.layout.fact.toggle.hide": "Ausblenden", "projects.cards.layout.fact.toggle.show": "Anzeigen", "projects.cards.layout.fact.move_up": "Nach oben", "projects.cards.layout.fact.move_down": "Nach unten", "projects.cards.layout.fact.count": "Anzahl", "projects.cards.event.kind.deadline": "Frist", "projects.cards.event.kind.appointment": "Termin", "projects.cards.event.kind.project_event": "Verlauf", "projects.cards.empty": "Keine Projekte zum Anzeigen.", "projects.detail.clientmatter.inherited": "Vom \u00dcberprojekt vererbt", "einstellungen.profil.email": "E-Mail", "einstellungen.profil.email.hint": "E-Mail kann nicht ge\u00e4ndert werden.", "einstellungen.profil.display_name": "Anzeigename", "einstellungen.profil.display_name.placeholder": "Vor- und Nachname", "einstellungen.profil.office": "B\u00fcro", "einstellungen.profil.job_title": "Berufsbezeichnung", "einstellungen.profil.job_title.placeholder": "z.B. Associate, Partner, Patentanwalt", "einstellungen.profil.lang": "Sprache", "einstellungen.profil.lang.de": "Deutsch", "einstellungen.profil.lang.en": "English", "einstellungen.profil.lang.hint": "Wird f\u00fcr Oberfl\u00e4che und Benachrichtigungs-E-Mails verwendet.", "einstellungen.profil.error.display_name": "Bitte Anzeigename eingeben.", "einstellungen.profil.error.office": "Bitte B\u00fcro ausw\u00e4hlen.", "einstellungen.profil.error.job_title": "Bitte Berufsbezeichnung eingeben.", "einstellungen.prefs.reminders.heading": "Frist-Erinnerungen", "einstellungen.prefs.reminders.hint": "Paliad sendet Erinnerungen an Ihre E-Mail, wenn Fristen f\u00e4llig werden.", "einstellungen.prefs.reminders.master": "Frist-Erinnerungen aktiv", "einstellungen.prefs.reminders.overdue": "\u00dcberf\u00e4llige Fristen", "einstellungen.prefs.reminders.due_today": "Heute f\u00e4llig", "einstellungen.prefs.reminders.due_warning": "Vorwarnung (X Tage vorher)", "einstellungen.prefs.times.heading": "Zeitpunkte", "einstellungen.prefs.times.hint": "Erinnerungen werden zur gew\u00e4hlten Uhrzeit in Ihrer Zeitzone versendet.", "einstellungen.prefs.times.morning": "Morgen-Slot", "einstellungen.prefs.times.morning.hint": "Sammel-E-Mail mit \u00fcberf\u00e4lligen, heute f\u00e4lligen und kommenden Fristen.", "einstellungen.prefs.times.evening": "Abend-Slot (Eskalation)", "einstellungen.prefs.times.evening.hint": "Dringende Erinnerung an heute noch offene Fristen.", "einstellungen.prefs.times.timezone": "Zeitzone", "einstellungen.prefs.times.timezone.hint": "IANA-Zeitzonen-Name (z.B. Europe/Berlin, Europe/London).", "einstellungen.prefs.times.error.required": "Bitte beide Uhrzeiten ausw\u00e4hlen.", "einstellungen.prefs.warning_offset.label": "Vorwarnung (Tage vorher)", "einstellungen.prefs.warning_offset.hint": "Wir erinnern Sie diese viele Tage vor jeder Frist.", "einstellungen.prefs.warning_offset.error": "Vorwarnung muss zwischen 1 und 30 Tagen liegen.", "einstellungen.prefs.escalation.heading": "Eskalations-Kontakt", "einstellungen.prefs.escalation.hint": "Wer soll bei DRINGEND-Eskalation am Abend zusätzlich benachrichtigt werden? Standard: globale Admins.", "einstellungen.prefs.escalation.default_option": "— Standard (globale Admins) —", // Invitation modal (sidebar) "invite.button": "Kolleg:in einladen", "invite.modal.title": "Kolleg:in zu Paliad einladen", "invite.modal.body": `Senden Sie eine Einladung an eine ${FIRM}-E-Mail-Adresse. Die Empf\u00e4nger:in erh\u00e4lt einen Registrierungslink.`, "invite.modal.email": "E-Mail-Adresse", "invite.modal.message": "Pers\u00f6nliche Nachricht (optional)", "invite.modal.message.placeholder": "Hi, ich nutze Paliad f\u00fcr die Aktenverwaltung \u2014 schau es dir mal an.", "invite.modal.cancel": "Abbrechen", "invite.modal.send": "Einladung senden", "appointments.list.title": "Termine \u2014 Paliad", "appointments.list.heading": "Termine", "appointments.list.subtitle": "Verhandlungen, Besprechungen, Beratungen \u2014 pers\u00f6nlich oder aktenbezogen.", "appointments.list.new": "Neuer Termin", "appointments.summary.today": "Heute", "appointments.summary.thisweek": "Diese Woche", "appointments.summary.later": "Sp\u00e4ter", "appointments.filter.type": "Typ", "appointments.filter.type.all": "Alle Typen", "appointments.filter.akte": "Projekt", "appointments.filter.akte.all": "Alle Projekte & pers\u00f6nlich", "appointments.filter.akte.personal": "Nur pers\u00f6nliche", "appointments.filter.from": "Von", "appointments.filter.to": "Bis", "appointments.col.start": "Beginn", "appointments.col.title": "Titel", "appointments.col.akte": "Projekt", "appointments.col.location": "Ort", "appointments.col.type": "Typ", "appointments.empty.title": "Keine Termine vorhanden", "appointments.empty.hint": "Sobald Termine angelegt werden, erscheinen sie hier.", "appointments.empty.filtered": "Keine Termine mit diesen Filtern.", "appointments.unavailable": "Terminverwaltung zurzeit nicht verf\u00fcgbar \u2014 bitte Administrator kontaktieren.", "appointments.personal": "Pers\u00f6nlich", "appointments.type.hearing": "Verhandlung", "appointments.type.meeting": "Besprechung", "appointments.type.consultation": "Beratung", "appointments.type.deadline_hearing": "Fristverhandlung", "appointments.neu.title": "Neuer Termin \u2014 Paliad", "appointments.neu.heading": "Neuer Termin", "appointments.neu.subtitle": "Pers\u00f6nlich oder einer Akte zugeordnet. Bei aktiver CalDAV-Synchronisation erscheint der Termin auch im externen Kalender.", "appointments.neu.back": "\u2190 Zur\u00fcck zur \u00dcbersicht", "appointments.neu.cancel": "Abbrechen", "appointments.neu.submit": "Termin anlegen", "appointments.field.title": "Titel", "appointments.field.title.placeholder": "z.B. M\u00fcndliche Verhandlung", "appointments.field.start": "Beginn", "appointments.field.end": "Ende (optional)", "appointments.field.type": "Typ", "appointments.field.type.none": "Kein Typ", "appointments.field.akte": "Akte (optional)", "appointments.field.akte.none": "Pers\u00f6nlicher Termin", "appointments.field.location": "Ort (optional)", "appointments.field.location.placeholder": "z.B. UPC LD M\u00fcnchen", "appointments.field.description": "Beschreibung (optional)", "appointments.field.description.placeholder": "Hinweise, Tagesordnung, n\u00e4chste Schritte\u2026", "appointments.error.required": "Bitte Titel und Beginn ausf\u00fcllen.", "appointments.error.generic": "Speichern fehlgeschlagen. Bitte sp\u00e4ter erneut versuchen.", "appointments.detail.title": "Termin \u2014 Paliad", "appointments.detail.back": "\u2190 Zur\u00fcck zur \u00dcbersicht", "appointments.detail.loading": "L\u00e4dt\u2026", "appointments.detail.notfound": "Termin nicht gefunden", "appointments.detail.notfound.hint": "Der Termin existiert nicht oder Sie haben keine Berechtigung.", "appointments.detail.akte": "Akte:", "appointments.detail.save": "\u00c4nderungen speichern", "appointments.detail.saved": "Gespeichert.", "appointments.detail.delete": "Termin l\u00f6schen", "appointments.detail.delete.confirm": "Diesen Termin wirklich l\u00f6schen?", // t-paliad-110 \u2014 unified Events page (rendered on both /deadlines and // /appointments). The user-facing "Fristen" / "Termine" branding stays; // these keys cover the shared chrome (chip toggle, type chip per row, // generic Datum column header, etc). "events.toggle.deadline": "Fristen", "events.toggle.appointment": "Termine", "events.toggle.all": "Beides", "events.filter.status.all": "Alle (auch vergangene)", "events.filter.status.upcoming": "Ab heute", "events.summary.later": "Sp\u00e4ter", "events.col.date": "Datum", "events.col.location": "Ort", "events.col.appointment_type": "Termin-Typ", "events.row.type.deadline": "Frist", "events.row.type.appointment": "Termin", "events.empty.title": "Keine Eintr\u00e4ge vorhanden", "events.empty.hint": "Sobald Fristen oder Termine angelegt werden, erscheinen sie hier.", "events.empty.filtered": "Keine Eintr\u00e4ge mit diesen Filtern.", "events.unavailable": "Termin- und Fristenverwaltung zurzeit nicht verf\u00fcgbar \u2014 bitte Administrator kontaktieren.", "events.view.cards": "Karten", "events.view.list": "Liste", "events.view.calendar": "Kalender", "caldav.title": "CalDAV-Synchronisation \u2014 Paliad", "caldav.heading": "CalDAV-Synchronisation", "caldav.subtitle": "Synchronisieren Sie Ihre Paliad-Termine mit Ihrem externen Kalender (Nextcloud, iCloud, Outlook, mailcow\u2026). Das Passwort wird verschl\u00fcsselt gespeichert und nie zur\u00fcckgegeben.", "caldav.disabled": "CalDAV-Synchronisation derzeit nicht verf\u00fcgbar \u2014 bitte Administrator kontaktieren.", "caldav.never": "Noch nie", "caldav.field.url": "CalDAV-Server-URL", "caldav.field.url.placeholder": "https://cloud.example.com/remote.php/dav/calendars/user/personal/", "caldav.field.url.hint": "Vollst\u00e4ndige URL zu Ihrem Kalender (inkl. Pfad).", "caldav.field.username": "Benutzername", "caldav.field.password": "Passwort / App-Token", "caldav.field.password.hint": "Bei vorhandener Konfiguration leer lassen, um das gespeicherte Passwort zu behalten.", "caldav.field.calendar_path": "Kalenderpfad (optional)", "caldav.field.calendar_path.placeholder": "/calendars/user/personal/", "caldav.field.calendar_path.hint": "Falls die URL nur den Server zeigt, ist hier der Pfad zum konkreten Kalender einzutragen.", "caldav.field.enabled": "Synchronisation aktiv", "caldav.test": "Verbindung testen", "caldav.test.ok": "Verbindung erfolgreich.", "caldav.test.fail": "Verbindung fehlgeschlagen", "caldav.save": "Speichern", "caldav.saved": "Konfiguration gespeichert.", "caldav.delete": "Konfiguration l\u00f6schen", "caldav.delete.confirm": "Wirklich l\u00f6schen? Das gespeicherte Passwort wird unwiderruflich entfernt.", "caldav.delete.done": "Konfiguration gel\u00f6scht.", "caldav.error.required": "URL und Benutzername sind erforderlich.", "caldav.error.password_required": "Passwort ist beim ersten Speichern erforderlich.", "caldav.error.generic": "Speichern fehlgeschlagen.", "caldav.status.last_sync": "Letzte Synchronisation:", "caldav.status.last_error": "Letzter Fehler:", "caldav.log.heading": "Letzte Synchronisationen", "caldav.log.col.time": "Zeitpunkt", "caldav.log.col.pushed": "Gesendet", "caldav.log.col.pulled": "Empfangen", "caldav.log.col.duration": "Dauer", "caldav.log.col.error": "Fehler", "caldav.log.empty": "Noch keine Synchronisationen aufgezeichnet.", // CalDAV multi-calendar bindings (t-paliad-212 Slice 2b) "caldav.bindings.heading": "Kalender", "caldav.bindings.hint": "Verbinde mehrere Kalender mit Paliad — einen Master für alles oder eigene Kalender pro Projekt.", "caldav.bindings.add": "+ Kalender hinzufügen", "caldav.bindings.empty": "Noch keine Kalender konfiguriert.", "caldav.bindings.scope.all_visible": "Alles", "caldav.bindings.scope.personal_only": "Nur persönlich", "caldav.bindings.scope.project": "Projekt", "caldav.bindings.card.enabled": "Aktiv", "caldav.bindings.card.edit": "Bearbeiten", "caldav.bindings.card.remove": "Entfernen", "caldav.bindings.modal.add_title": "Kalender hinzufügen", "caldav.bindings.modal.edit_title": "Kalender bearbeiten", "caldav.bindings.modal.source": "Kalender", "caldav.bindings.modal.source.loading": "Lädt …", "caldav.bindings.modal.source.existing": "Vorhandenen Kalender wählen", "caldav.bindings.modal.source.create": "Neuen Kalender erstellen", "caldav.bindings.modal.source.custom": "Eigene URL eingeben", "caldav.bindings.modal.source.degrade": "Dieser Anbieter erlaubt das Erstellen neuer Kalender nicht via CalDAV. Erstelle den Kalender direkt in der Anbieter-Oberfläche und füge ihn hier per URL hinzu.", "caldav.bindings.modal.source.discover_failed": "Kalender konnten nicht ermittelt werden — eigene URL eingeben.", "caldav.bindings.modal.source.discover_empty": "Keine Kalender gefunden — eigene URL eingeben.", "caldav.bindings.modal.display_name": "Anzeigename (optional)", "caldav.bindings.modal.display_name.placeholder": "z.B. Projekt Acme v Bosch", "caldav.bindings.modal.scope": "Inhalt", "caldav.bindings.modal.scope.all_visible": "Alles, was ich sehe", "caldav.bindings.modal.scope.personal_only": "Nur persönliche Termine", "caldav.bindings.modal.scope.project": "Ein Projekt:", "caldav.bindings.modal.scope.project.loading": "Lädt …", "caldav.bindings.modal.submit_add": "Hinzufügen", "caldav.bindings.modal.submit_edit": "Speichern", "caldav.bindings.delete.confirm": "Diesen Kalender wirklich entfernen? Die zugehörigen Termine werden im externen Kalender gelöscht.", "caldav.bindings.delete.failed": "Entfernen fehlgeschlagen — bitte später erneut versuchen.", "caldav.bindings.error.scope": "Bitte einen Inhaltsbereich wählen.", "caldav.bindings.error.scope_project": "Bitte ein Projekt auswählen.", "caldav.bindings.error.path": "Bitte einen Kalender wählen oder eine URL eingeben.", "caldav.bindings.error.create_name_required": "Bitte einen Anzeigenamen eingeben.", "caldav.bindings.error.create_name_taken": "Name bereits vergeben — bitte einen anderen Anzeigenamen wählen.", "caldav.bindings.error.create_unsupported": "Dein Anbieter unterstützt das Erstellen neuer Kalender nicht. Bitte 'Eigene URL eingeben' verwenden.", // Notizen (polymorphic notes — Phase I) "notes.section.title": "Notizen", "notes.placeholder": "Notiz hinzuf\u00fcgen\u2026", "notes.shortcut.hint": "Strg+Enter (oder \u2318+Enter) zum Speichern", "notes.submit": "Hinzuf\u00fcgen", "notes.save": "Speichern", "notes.cancel": "Abbrechen", "notes.edit": "Bearbeiten", "notes.delete": "L\u00f6schen", "notes.delete.confirm": "Diese Notiz wirklich l\u00f6schen?", "notes.empty": "Noch keine Notizen.", "notes.edited": "bearbeitet", "notes.unknown_author": "Unbekannt", "notes.time.just_now": "gerade eben", "notes.error.empty": "Notiz darf nicht leer sein.", "notes.error.generic": "Aktion fehlgeschlagen. Bitte erneut versuchen.", // Agenda (t-paliad-030) — unified timeline across projects "agenda.title": "Agenda — Paliad", "agenda.heading": "Agenda", "agenda.subtitle": "Kommende Fristen und Termine über alle sichtbaren Akten, nach Tag gruppiert.", "agenda.unavailable": "Agenda zurzeit nicht verfügbar — bitte Administrator kontaktieren.", "agenda.loading": "Lädt …", "agenda.filter.type": "Ansicht", "agenda.filter.both": "Beides", "agenda.filter.deadlines": "Nur Fristen", "agenda.filter.appointments": "Nur Termine", "agenda.filter.range": "Zeitraum", "agenda.range.7": "7 Tage", "agenda.range.14": "14 Tage", "agenda.range.30": "30 Tage", "agenda.range.90": "90 Tage", "agenda.empty.title": "Keine Einträge im Zeitraum", "agenda.empty.hint": "Nichts Fälliges — erweitern Sie den Zeitraum oder legen Sie neue Fristen oder Termine an.", "agenda.label.deadline": "Frist", "agenda.label.appointment": "Termin", "agenda.appointment_type.hearing": "Verhandlung", "agenda.appointment_type.meeting": "Besprechung", "agenda.appointment_type.consultation": "Mandantentermin", "agenda.appointment_type.deadline_hearing": "Fristentermin", "agenda.day.today": "Heute", "agenda.day.tomorrow": "Morgen", "agenda.day.mo": "Mo", "agenda.day.di": "Di", "agenda.day.mi": "Mi", "agenda.day.do": "Do", "agenda.day.fr": "Fr", "agenda.day.sa": "Sa", "agenda.day.so": "So", "agenda.urgency.overdue": "Überfällig", "agenda.urgency.today": "Heute", "agenda.urgency.tomorrow": "Morgen", "agenda.urgency.this_week": "Diese Woche", "agenda.urgency.later": "Später", // Team directory (t-paliad-029) "team.title": "Team — Paliad", "team.heading": "Team", "team.subtitle": "Alle Paliad-Kolleg:innen, gruppiert nach Standort oder Partner Unit.", "team.search.placeholder": "Nach Name, Rolle, Büro suchen…", "team.group.office": "Nach Standort", "team.group.department": "Nach Partner Unit", "team.group.other": "Sonstige", "team.filter.all": "Alle", "team.filter.role": "Rolle", "team.role.partner": "Partner", "team.role.counsel": "Counsel", "team.role.counsel_knowledge_lawyer": "Counsel Knowledge Lawyer", "team.role.senior_associate": "Senior Associate", "team.role.associate": "Associate", "team.role.junior_associate": "Junior Associate", "team.role.trainee": "Trainee", "team.role.pa": "PA", "team.role.paralegal": "Paralegal", "team.role.secretary": "Sekretär:in", "team.empty": "Keine Treffer.", "team.dept.lead": "Lead", "team.dept.unassigned": "Ohne Partner Unit", "team.partner_unit.unassigned": "Ohne Partner Unit", // Project filter (t-paliad-147) "team.filter.project": "Projekt", "team.filter.project.all": "Alle Projekte", "team.filter.project.selected": "ausgewählt", "team.filter.project.clear": "Alle abwählen", // Click-to-select (t-paliad-223 #53). Layered ON TOP of the existing // filter pills — selection is an explicit subset of the visible set, // pruned on filter change, wiped on page navigation. "team.selection.count": "{n} ausgewählt", "team.selection.clear": "Auswahl aufheben", "team.selection.send": "E-Mail an Auswahl", "team.selection.select_all": "Alle sichtbaren auswählen", "team.selection.toggle_card": "Kontakt auswählen", // Broadcast modal (t-paliad-147) "team.broadcast.button": "E-Mail an Auswahl", "team.broadcast.title": "E-Mail an Auswahl", "team.broadcast.recipients": "Empfänger", "team.broadcast.show_all": "Alle anzeigen", "team.broadcast.mailto.label": "Im Mail-Client öffnen", "team.broadcast.mailto.tooltip": "Öffnet den lokalen Mail-Client mit allen Empfängern in der To-Zeile", "team.broadcast.template": "Vorlage", "team.broadcast.template_optional": "optional", "team.broadcast.template_freeform": "Freitext", "team.broadcast.template.invitation": "Einladung", "team.broadcast.template.deadline_digest": "Frist-Digest", "team.broadcast.subject": "Betreff", "team.broadcast.body": "Nachricht", "team.broadcast.body_placeholder": "Hallo {{first_name}}, …", "team.broadcast.placeholders_hint": "Platzhalter: {{name}}, {{first_name}}, {{role_on_project}}", "team.broadcast.markdown_hint": "Markdown unterstützt: **fett**, *kursiv*, [Link](https://...), - Aufzählung.", "team.broadcast.send": "Senden", "team.broadcast.sending": "Sende…", "team.broadcast.sent": "Versandt", "team.broadcast.success": "{sent} von {total} Mails versandt ({failed} fehlgeschlagen).", "team.broadcast.error.no_recipients": "Keine Empfänger ausgewählt.", "team.broadcast.error.too_many": "Empfängerlimit ({cap}) überschritten.", "team.broadcast.error.subject_required": "Betreff ist erforderlich.", "team.broadcast.error.body_required": "Nachricht ist erforderlich.", "common.close": "Schließen", // Admin broadcasts viewer (t-paliad-147) "admin.broadcasts.title": "Broadcasts — Paliad", "admin.broadcasts.heading": "Broadcasts", "admin.broadcasts.subtitle": "Versendete Massen-E-Mails an Teamauswahlen.", "admin.broadcasts.col.sent_at": "Gesendet", "admin.broadcasts.col.subject": "Betreff", "admin.broadcasts.col.sender": "Absender:in", "admin.broadcasts.col.count": "Empfänger", "admin.broadcasts.loading": "Lade…", "admin.broadcasts.empty": "Noch keine Broadcasts versandt.", "admin.broadcasts.detail.sent_by": "Gesendet von", "admin.broadcasts.detail.delivered": "versandt", "admin.broadcasts.detail.failed": "fehlgeschlagen", "admin.broadcasts.detail.recipients": "Empfänger", // t-paliad-146: Paliadin in-app AI buddy (PoC) "paliadin.title": "Paliadin — Paliad", "paliadin.heading": "✨ Paliadin", "paliadin.tagline": "Ich kenne deine Akten und Paliads Wissensbasis.", "paliadin.empty": "Was kann ich für dich tun?", "paliadin.starter.today": "Was steht heute an?", "paliadin.starter.week": "Welche Fristen sind diese Woche fällig?", "paliadin.starter.concept": "Erkläre mir Klageerwiderung.", "paliadin.input.placeholder": "Frag den Paliadin…", "paliadin.send": "Senden", "paliadin.stop": "Stop", "paliadin.reset": "Neue Unterhaltung", "paliadin.error.local_only": "Paliadin läuft nur lokal. Diese Instanz hat kein tmux/claude installiert — lokal mit ./paliad starten.", "paliadin.error.mriver_unreachable": "mRiver ist offline — Paliadin nicht erreichbar. Mach mRiver an, oder nutze Paliadin lokal mit ./paliad.", "paliadin.error.shim_auth_failed": "Paliadin-Authentifizierung fehlgeschlagen. SSH-Schlüssel oder Berechtigung auf mRiver prüfen.", "paliadin.error.shim_error": "Paliadin-Fehler auf mRiver. tmux/claude-Pane prüfen.", "paliadin.error.timeout": "Paliadin antwortet nicht (Timeout 60s). Nochmal versuchen.", "paliadin.error.connection_lost": "Verbindung verloren.", "paliadin.error.upstream": "Fehler beim Senden.", "paliadin.error.upstream_silence": "Paliadin meldet sich nicht mehr — Verbindung wird beendet.", "paliadin.late.waiting": "Antwort wird nachgereicht, sobald sie eintrifft …", "paliadin.late.checking": "Verbindung verloren — Paliadin denkt vielleicht noch. Lade frische Antwort …", "paliadin.late.lost": "Antwort konnte nicht zugestellt werden — bitte Frage erneut stellen.", "paliadin.late.marker": "verspätet", "paliadin.thinking": "Paliadin denkt nach", "paliadin.thinking.seconds": "{seconds}s", "paliadin.widget.title": "Paliadin", "paliadin.widget.trigger": "Paliadin (Cmd+J)", "paliadin.widget.empty": "Was kann ich für dich tun?", "paliadin.widget.input.placeholder": "Frage an Paliadin...", "paliadin.widget.input.label": "Nachricht an Paliadin", "paliadin.widget.send": "Senden", "paliadin.widget.reset": "Konversation zurücksetzen", "paliadin.widget.reset.confirm": "Konversation hier und auf dem Server zurücksetzen?", "paliadin.widget.fullscreen": "Vollbild-Modus", "paliadin.widget.close": "Schließen", "paliadin.widget.context.on_page": "Auf dieser Seite", "approvals.agent.label": "Paliadin hat das vorgeschlagen", "approvals.agent.byline": "Paliadin", "approvals.agent.suggestion_pending": "Vorschlag wartet auf deine Genehmigung", "nav.admin.paliadin": "Paliadin Monitor", "admin.paliadin.title": "Paliadin Monitor — Paliad", "admin.paliadin.heading": "Paliadin Monitor", "admin.paliadin.subtitle": "Wie wird Paliadin tatsächlich verwendet?", "admin.paliadin.total": "Gesamt", "admin.paliadin.last7": "Letzte 7 Tage", "admin.paliadin.median_dur": "Median Dauer", "admin.paliadin.tool_rate": "Tool-Use Rate", "admin.paliadin.abandon_rate": "Abbruchrate", "admin.paliadin.classifier_heading": "Anfragearten", "admin.paliadin.daily_heading": "Tägliche Nutzung", "admin.paliadin.top_heading": "Top Anfragen", "admin.paliadin.recent_heading": "Letzte Anfragen", "admin.paliadin.col.prompt": "Anfrage", "admin.paliadin.col.count": "Anzahl", "admin.paliadin.col.started": "Zeit", "admin.paliadin.col.user": "Nutzer", "admin.paliadin.col.classifier": "Art", "admin.paliadin.col.response": "Antwort", "admin.paliadin.col.tools": "Tools", "admin.paliadin.col.origin": "Seite", "admin.paliadin.col.duration": "Dauer", "admin.paliadin.loading": "Lade…", "common.forbidden": "Zugriff verweigert.", "common.load_error": "Fehler beim Laden.", "common.loading": "Lade…", "partner_unit.heading": "Meine Partner Units", "partner_unit.subtitle": "Partner Units sind strukturelle Einheiten — getrennt von Projektteams. Mitgliedschaft wird vom Admin verwaltet.", "partner_unit.none": "Sie sind noch keiner Partner Unit zugeordnet.", "partner_unit.members_label": "Mitglieder", // Admin team management (t-paliad-050) "nav.group.admin": "Admin", "nav.admin.bereich": "Admin-Bereich", "nav.admin.team": "Team-Verwaltung", "admin.title": "Admin-Bereich — Paliad", "admin.heading": "Admin-Bereich", "admin.subtitle": "Werkzeuge zur Verwaltung von Paliad. Nur für Administrator:innen sichtbar.", "admin.section.available": "Verfügbar", "admin.section.planned": "Geplant", "admin.coming_soon": "Kommt bald", "admin.card.team.title": "Team-Verwaltung", "admin.card.team.desc": "Benutzer:innen anlegen, bearbeiten, löschen.", "admin.card.partner_units.title": "Partner Units", "admin.card.partner_units.desc": "Strukturelle Partnereinheiten anlegen und Mitglieder zuordnen.", "admin.card.audit.title": "Audit-Log", "admin.card.audit.desc": "Wer hat wann was geändert? Nachvollziehbarkeit für sicherheitsrelevante Aktionen.", "admin.card.email_templates.title": "Email-Templates", "admin.card.email_templates.desc": "Vorlagen für Einladungen, Erinnerungen und Layout anpassen.", "admin.card.feature_flags.title": "Feature-Flags", "admin.card.feature_flags.desc": "Funktionen pro Standort, Partner Unit oder Rolle aktivieren.", "admin.card.broadcasts.title": "Broadcasts", "admin.card.broadcasts.desc": "Versendete Massen-E-Mails an Teamauswahlen einsehen.", "admin.card.approval_policies.title": "Genehmigungspflichten", "admin.card.approval_policies.desc": "4-Augen-Prüfung pro Projekt und Partner Unit konfigurieren.", "admin.approval_policies.title": "Genehmigungspflichten — Paliad", "admin.approval_policies.heading": "Genehmigungspflichten", "admin.approval_policies.subtitle": "4-Augen-Prüfung pro Projekt und Partner Unit konfigurieren.", "admin.approval_policies.loading": "Lädt …", "admin.approval_policies.section.units": "Partner-Unit-Standards", "admin.approval_policies.section.units.hint": "Standardregeln, die jedes Projekt erbt, das einer Partner Unit zugeordnet ist. Bei mehreren Partner Units gewinnt die strengste Regel.", "admin.approval_policies.section.projects": "Projekt-spezifisch", "admin.approval_policies.section.projects.hint": "Eigene Regeln für ein Projekt. Überschreiben Standards aus Partner Units und geerbte Projektregeln.", "admin.approval_policies.units.empty": "Keine Partner Units vorhanden.", "admin.approval_policies.picker.label": "Projekt wählen", "admin.approval_policies.picker.placeholder": "Suchen…", "admin.approval_policies.picker.no_results": "Keine Treffer.", "admin.approval_policies.entity.deadline": "Fristen", "admin.approval_policies.entity.appointment": "Termine", "admin.approval_policies.lifecycle.create": "Erstellen", "admin.approval_policies.lifecycle.update": "Ändern", "admin.approval_policies.lifecycle.complete": "Erledigen", "admin.approval_policies.lifecycle.delete": "Löschen", "admin.approval_policies.role.partner": "Partner", "admin.approval_policies.role.of_counsel": "Of Counsel", "admin.approval_policies.role.associate": "Associate", "admin.approval_policies.role.senior_pa": "Senior PA", "admin.approval_policies.role.pa": "PA", "admin.approval_policies.role.none": "Keine Genehmigung", "admin.approval_policies.role.no_rule": "— keine Regel —", "admin.approval_policies.source.project": "Projekt", "admin.approval_policies.source.ancestor": "Geerbt", "admin.approval_policies.source.unit_default": "Standard", "admin.approval_policies.source.no_approval": "keine Genehmigung", "admin.approval_policies.cell.requires": "Genehmigung erforderlich", "admin.approval_policies.cell.clear": "—", "admin.approval_policies.cell.clear.title": "Regel zurücksetzen (erben)", "admin.approval_policies.cell.saved_msg": "Gespeichert.", "admin.approval_policies.cell.error_msg": "Fehler", "admin.approval_policies.bulk.cta": "Auf Unterprojekte anwenden", "admin.approval_policies.bulk.no_descendants": "Keine Unterprojekte vorhanden.", "admin.approval_policies.bulk.modal.title": "Auf Unterprojekte anwenden", "admin.approval_policies.bulk.modal.body": "Die folgenden Unterprojekte erhalten die effektive Matrix dieses Projekts als projektspezifische Regeln. Bestehende projektspezifische Regeln werden überschrieben. Standards aus Partner Units bleiben unberührt.", "admin.approval_policies.bulk.modal.cancel": "Abbrechen", "admin.approval_policies.bulk.modal.confirm": "Übernehmen", "admin.approval_policies.bulk.modal.applying": "Übernehme …", "admin.approval_policies.bulk.modal.done": "Übernommen", "admin.approval_policies.bulk.modal.writes_label": "Schreibvorgänge", "admin.approval_policies.bulk.modal.targets_label": "Projekte", "inbox.empty.admin_nudge.title": "Noch keine Genehmigungspflichten konfiguriert?", "inbox.empty.admin_nudge.body": "Lege fest, welche Lifecycle-Events 4-Augen-Prüfung erfordern.", "inbox.empty.admin_nudge.cta": "Genehmigungspflichten konfigurieren", "inbox.title.feed": "Inbox — Paliad", "inbox.heading.feed": "Inbox", "inbox.subtitle.feed": "Neuigkeiten zu Ihren Projekten und offene Genehmigungen.", "inbox.action.mark_all_seen": "Alles als gelesen markieren", "inbox.action.open": "Öffnen", "inbox.empty.feed": "Keine Neuigkeiten in den letzten 30 Tagen.", "views.bar.label.unread_only": "Lesestatus", "views.bar.unread_only.on": "Nur ungelesen", "views.bar.unread_only.off": "Alle", "views.bar.label.inbox_focus": "Anzeigen", "views.bar.inbox_focus.alles": "Alles", "views.bar.inbox_focus.genehmigungen": "Nur Genehmigungen", "views.bar.inbox_focus.plus_termine": "+ Termine", "views.bar.inbox_focus.plus_fristen": "+ Fristen", "deadlines.form.approval_hint": "4-Augen-Prüfung erforderlich", "appointments.form.approval_hint": "4-Augen-Prüfung erforderlich", "admin.email_templates.title": "Email-Templates — Paliad", "admin.email_templates.heading": "Email-Templates", "admin.email_templates.subtitle": "Vorlagen für Einladungen, Erinnerungen und das Layout-Wrapper anpassen.", "admin.email_templates.loading": "Lade…", "admin.email_templates.load_error": "Templates konnten nicht geladen werden.", "admin.email_templates.back": "← Zurück zur Liste", "admin.email_templates.lang.de": "Deutsch", "admin.email_templates.lang.en": "Englisch", "admin.email_templates.status.default": "Standard", "admin.email_templates.status.last_modified": "Zuletzt geändert: {date}", "admin.email_templates.card.invitation.title": "Einladung", "admin.email_templates.card.invitation.desc": "E-Mail an neue Kolleg:innen, ausgelöst über die Sidebar.", "admin.email_templates.card.deadline_digest.title": "Fristen-Sammelmail", "admin.email_templates.card.deadline_digest.desc": "Tägliche Morgen- und Abend-Mail mit überfälligen, heute fälligen und kommenden Fristen.", "admin.email_templates.card.base.title": "Layout-Wrapper", "admin.email_templates.card.base.desc": "Geteilter HTML-Rahmen mit Header und Footer, der alle E-Mails umschliesst.", "admin.email_templates.editor.title": "Email-Template bearbeiten — Paliad", "admin.email_templates.editor.heading": "Email-Template bearbeiten", "admin.email_templates.editor.heading_for": "{title} — {lang}", "admin.email_templates.editor.is_default": "Aktuell wird der Standard verwendet.", "admin.email_templates.editor.last_modified": "Zuletzt geändert: {date}", "admin.email_templates.editor.subject": "Betreff", "admin.email_templates.editor.body": "HTML-Body", "admin.email_templates.editor.note_optional": "Notiz (optional)", "admin.email_templates.editor.note_placeholder": "z.B. Korrektur nach Anwalts-Feedback", "admin.email_templates.editor.variables": "Verfügbare Variablen", "admin.email_templates.editor.preview": "Vorschau", "admin.email_templates.editor.preview_refresh": "Vorschau aktualisieren", "admin.email_templates.editor.preview_error": "Vorschau fehlgeschlagen.", "admin.email_templates.editor.parse_error": "Template-Fehler:", "admin.email_templates.editor.save": "Speichern", "admin.email_templates.editor.save_ok": "Gespeichert.", "admin.email_templates.editor.save_error": "Speichern fehlgeschlagen.", "admin.email_templates.editor.reset": "Auf Standard zurücksetzen", "admin.email_templates.editor.reset_confirm": "Wirklich auf den Standard zurücksetzen?", "admin.email_templates.editor.reset_ok": "Auf Standard zurückgesetzt.", "admin.email_templates.editor.reset_error": "Zurücksetzen fehlgeschlagen.", "admin.email_templates.editor.versions": "Versionen", "admin.email_templates.editor.versions_empty": "Keine Versionen.", "admin.email_templates.editor.restore": "Wiederherstellen", "admin.email_templates.editor.restore_confirm": "Diese Version wiederherstellen?", "admin.email_templates.editor.restore_ok": "Version wiederhergestellt.", "admin.email_templates.editor.restore_error": "Wiederherstellen fehlgeschlagen.", "admin.email_templates.editor.dirty_warn": "Ungespeicherte Änderungen verwerfen?", "admin.email_templates.editor.unknown_key": "Unbekannter Template-Schlüssel.", "admin.email_templates.editor.slot.morning": "Morgen-Slot", "admin.email_templates.editor.slot.evening": "Abend-Slot", "admin.team.title": "Team-Verwaltung — Paliad", "admin.team.heading": "Team-Verwaltung", "admin.team.subtitle": "Alle Paliad-Konten anzeigen, bearbeiten oder hinzufügen.", "admin.team.search.placeholder": "Nach Name oder E-Mail suchen…", "admin.team.add.full": "Konto direkt anlegen", "admin.team.add.direct": "Bestehendes Konto onboarden", "admin.team.add.invite": "Neue:n Kolleg:in einladen", "admin.team.add_full.title": "Konto direkt anlegen", "admin.team.add_full.body": "Legt sowohl das Login-Konto als auch das Paliad-Profil an. Die neue Person erhält eine E-Mail mit einem Link, über den sie ein Passwort setzt.", "admin.team.add_full.email": "E-Mail", "admin.team.add_full.name": "Anzeigename", "admin.team.add_full.office": "Standort", "admin.team.add_full.profession": "Profession", "admin.team.add_full.job_title": "Berufsbezeichnung", "admin.team.add_full.lang": "Sprache", "admin.team.add_full.send_welcome": "Willkommens-E-Mail mit Login-Link senden", "admin.team.add_full.cancel": "Abbrechen", "admin.team.add_full.submit": "Anlegen", "admin.team.add_full.feedback.added": "Konto angelegt.", "admin.team.add_full.error.unavailable": "Add-User-Pfad ist nicht konfiguriert (SUPABASE_SERVICE_ROLE_KEY fehlt am Server).", "admin.team.add_full.error.email_exists": "Es existiert bereits ein Konto für diese E-Mail — bitte 'Bestehendes Konto onboarden' verwenden.", "admin.team.add_full.error.generic": "Konto konnte nicht angelegt werden.", "admin.team.loading": "Lade…", "admin.team.empty": "Keine Treffer.", "admin.team.error.forbidden": "Zugriff nur für Admins.", "admin.team.col.name": "Name", "admin.team.col.email": "E-Mail", "admin.team.col.office": "Standort", "admin.team.col.job_title": "Berufsbezeichnung", "admin.team.col.profession": "Profession", "admin.team.col.profession.none": "(extern)", "admin.team.col.profession.none.hint": "Keine Profession gesetzt — keine 4-Augen-Befugnis.", "admin.team.col.permission": "Berechtigung", "admin.team.col.additional": "Weitere Standorte", "admin.team.col.lang": "Sprache", "admin.team.col.created": "Angelegt", "admin.team.col.actions": "Aktionen", "admin.team.row.edit": "Bearbeiten", "admin.team.row.delete": "Löschen", "admin.team.row.save": "Speichern", "admin.team.row.cancel": "Abbrechen", "admin.team.confirm.delete": "{name} wirklich löschen? Diese Aktion ist endgültig.", "admin.team.feedback.saved": "Gespeichert.", "admin.team.feedback.deleted": "Gelöscht.", "admin.team.feedback.added": "Konto onboardet.", "admin.team.direct_add.title": "Bestehendes Konto onboarden", "admin.team.direct_add.body": "Diese Auswahl zeigt Konten, die sich angemeldet haben, aber noch kein Profil ausgefüllt haben.", "admin.team.direct_add.email": "E-Mail", "admin.team.direct_add.email.placeholder": "Bitte auswählen…", "admin.team.direct_add.empty": "Keine offenen Konten.", "admin.team.direct_add.name": "Anzeigename", "admin.team.direct_add.office": "Standort", "admin.team.direct_add.job_title": "Berufsbezeichnung", "admin.team.permission.standard": "Standard", "admin.team.permission.global_admin": "Globaler Admin", "admin.team.permission.last_admin": "Der letzte globale Admin kann nicht degradiert werden.", "admin.team.direct_add.cancel": "Abbrechen", "admin.team.direct_add.submit": "Anlegen", // Admin audit log (t-paliad-071) "nav.admin.audit": "Audit-Log", "nav.admin.partner_units": "Partner Units", // Admin Backup Mode (t-paliad-246 / m/paliad#77) "nav.admin.backups": "Backups", "admin.backups.title": "Backups — Paliad", "admin.backups.heading": "Backups", "admin.backups.subtitle": "Vollständige Snapshots aller Daten — manuell oder zeitgesteuert.", "admin.backups.run_now": "Backup jetzt erstellen", "admin.backups.running": "Läuft …", "admin.backups.success": "Backup erfolgreich erstellt.", "admin.backups.empty": "Noch keine Backups vorhanden.", "admin.backups.loading": "Lade …", "admin.backups.col.started": "Erstellt", "admin.backups.col.kind": "Auslöser", "admin.backups.col.status": "Status", "admin.backups.col.requested_by": "Angefordert von", "admin.backups.col.size": "Größe", "admin.backups.col.rows": "Sheets", "admin.backups.col.actions": "Aktion", "admin.backups.kind.scheduled": "Geplant", "admin.backups.kind.on_demand": "Manuell", "admin.backups.status.running": "Läuft …", "admin.backups.status.done": "✓ Fertig", "admin.backups.status.failed": "✗ Fehlgeschlagen", "admin.backups.download": "Download", "admin.backups.footer.note": "Geplante Backups werden in einer späteren Slice aktiviert. Manuelle Backups stehen jetzt zur Verfügung.", "admin.audit.title": "Audit-Log — Paliad", "admin.audit.heading": "Audit-Log", "admin.audit.subtitle": "Globale Zeitleiste über Projekt-, CalDAV-, Reminder- und Partner-Unit-Ereignisse.", "admin.audit.source.partner_unit_events": "Partner Units", "admin.partner_units.title": "Partner Units — Paliad", "admin.partner_units.heading": "Partner Units", "admin.partner_units.subtitle": "Strukturelle Partnereinheiten verwalten und Mitglieder zuordnen.", "admin.partner_units.loading": "Lade…", "admin.partner_units.empty": "Noch keine Partner Units angelegt.", "admin.partner_units.new": "Neue Partner Unit", "admin.partner_units.new.heading": "Partner Unit anlegen", "admin.partner_units.edit.heading": "Partner Unit bearbeiten", "admin.partner_units.create": "Speichern", "admin.partner_units.cancel": "Abbrechen", "admin.partner_units.col.name": "Name", "admin.partner_units.col.office": "Büro", "admin.partner_units.col.lead": "Lead", "admin.partner_units.col.members": "Mitglieder", "admin.partner_units.col.actions": "Aktionen", "admin.partner_units.action.members": "Mitglieder", "admin.partner_units.action.edit": "Bearbeiten", "admin.partner_units.action.delete": "Löschen", "admin.partner_units.confirm_delete": "Partner Unit \"{name}\" wirklich löschen?", "admin.partner_units.error.name_required": "Name erforderlich", "admin.partner_units.error.user_required": "Benutzer auswählen", "admin.partner_units.feedback.created": "Angelegt.", "admin.partner_units.feedback.updated": "Aktualisiert.", "admin.partner_units.feedback.deleted": "Gelöscht.", "admin.partner_units.feedback.role_updated": "Rolle aktualisiert.", "admin.partner_units.member.heading": "Mitglieder verwalten", "admin.partner_units.member.empty": "Noch keine Mitglieder.", "admin.partner_units.member.add": "Mitglied hinzufügen", "admin.partner_units.member.add_btn": "Hinzufügen", "admin.partner_units.member.remove": "Entfernen", "admin.partner_units.member.confirm_remove": "Mitglied entfernen?", "admin.partner_units.member.placeholder": "Name oder E-Mail", "admin.partner_units.member.role": "Rolle", "admin.audit.loading": "Lade…", "admin.audit.empty": "Keine Ereignisse für die gewählten Filter.", "admin.audit.loadmore": "Weitere laden", "admin.audit.error.forbidden": "Zugriff nur für Admins.", "admin.audit.error.unavailable": "Audit-Service nicht verfügbar.", "admin.audit.search.placeholder": "Subjekt, Beschreibung, Ereignistyp …", "admin.audit.filter.source": "Quelle", "admin.audit.filter.range": "Zeitraum", "admin.audit.filter.from": "Von", "admin.audit.filter.to": "Bis", "admin.audit.filter.search": "Suche", "admin.audit.range.24h": "Letzte 24h", "admin.audit.range.7d": "Letzte 7 Tage", "admin.audit.range.30d": "Letzte 30 Tage", "admin.audit.range.custom": "Benutzerdefiniert", "admin.audit.range.all": "Alles", "admin.audit.source.all": "Alle Quellen", "admin.audit.source.project_events": "Projekt-Ereignisse", "admin.audit.source.caldav_sync_log": "CalDAV-Sync", "admin.audit.source.reminder_log": "Reminder", "admin.audit.col.time": "Zeit", "admin.audit.col.source": "Quelle", "admin.audit.col.event": "Ereignis", "admin.audit.col.actor": "Akteur", "admin.audit.col.subject": "Subjekt", "admin.audit.col.description": "Beschreibung", "admin.audit.event.caldav_synced": "CalDAV-Sync erfolgreich", "admin.audit.event.caldav_sync_error": "CalDAV-Sync-Fehler", "admin.audit.event.morning_digest": "Morgen-Digest gesendet", "admin.audit.event.evening_digest": "Abend-Digest gesendet", "admin.audit.event.deadline_reminder": "Fristerinnerung gesendet", "admin.audit.event.due_today": "Fälligkeits-Erinnerung gesendet", "admin.audit.event.weekly": "Wochen-Digest gesendet", // Not-found (404) page "notfound.title": "Seite nicht gefunden — Paliad", "notfound.heading": "Seite nicht gefunden", "notfound.lede": "Diese Seite existiert nicht oder wurde verschoben.", "notfound.cta": "Zurück zum Dashboard", // t-paliad-088: Event Types — picker, multi-select filter, add modal. "common.cancel": "Abbrechen", "modal.close.label": "Schließen", "event_types.cat.submission": "Eingaben", "event_types.cat.decision": "Entscheidungen", "event_types.cat.order": "Anordnungen", "event_types.cat.service": "Zustellungen", "event_types.cat.fee": "Gebühren", "event_types.cat.hearing": "Verhandlungen", "event_types.cat.other": "Sonstiges", "event_types.picker.search": "Suchen oder tippen…", "event_types.picker.add": "+ Neuen Typ hinzufügen…", "event_types.picker.remove": "Entfernen", "event_types.picker.no_match": "Keine Treffer.", "event_types.picker.browse_all": "Alle anzeigen", "event_types.browse.title": "Event-Typen wählen", "event_types.browse.search": "In allen Typen suchen…", "event_types.browse.empty": "Keine Treffer.", "event_types.browse.apply": "Übernehmen", "event_types.browse.cancel": "Abbrechen", "event_types.browse.selected_count": "{n} ausgewählt", "event_types.browse.jurisdiction.none": "Allgemein", "event_types.browse.jurisdiction.all": "Alle Gerichte", "event_types.browse.jurisdiction.filter_label": "Nach Gerichtsart filtern", "event_types.filter.all": "Alle Typen", "event_types.filter.untyped": "— Ohne Typ —", "event_types.filter.search": "Typ suchen…", "event_types.filter.reset": "Zurücksetzen", "event_types.filter.apply": "Anwenden", "event_types.filter.n_selected": "{n} Typen", "event_types.add.title": "Neuen Event-Typ anlegen", "event_types.add.label_de": "Bezeichnung (DE) *", "event_types.add.label_en": "Bezeichnung (EN, optional)", "event_types.add.category": "Kategorie *", "event_types.add.jurisdiction": "Jurisdiktion (optional)", "event_types.add.jurisdiction.none": "—", "event_types.add.jurisdiction.any": "Allgemein", "event_types.add.firm_wide": "Firmenweit verfügbar machen", "event_types.add.firm_wide.hint": "Firmenweite Typen sind für alle Kolleg:innen sichtbar. Admins können sie archivieren.", "event_types.add.submit": "Anlegen", "event_types.add.duplicate_warn": "Existiert vermutlich schon:", "event_types.add.error.required": "Bezeichnung (DE) ist Pflichtfeld.", "event_types.add.error.slug_taken": "Ein Typ mit diesem Namen existiert bereits.", "event_types.add.error.generic": "Fehler beim Anlegen. Bitte erneut versuchen.", "deadlines.field.event_type": "Typ (optional)", "deadlines.col.event_type": "Typ", "deadlines.filter.event_type": "Typ", "agenda.filter.event_type": "Typ", // t-paliad-089: Admin Event-Type moderation panel. "nav.admin.event_types": "Event-Typen", "admin.card.event_types.title": "Event-Typen", "admin.card.event_types.desc": "Firmenweite Event-Typen moderieren: archivieren, zusammenführen, befördern.", "admin.event_types.title": "Event-Typen — Paliad", "admin.event_types.heading": "Event-Typen", "admin.event_types.subtitle": "Firmenweite Event-Typen moderieren: archivieren, zusammenführen, private Typen befördern.", "admin.event_types.section.firm_wide": "Firmenweite Typen", "admin.event_types.section.private_pending": "Private Typen (zur Beförderung)", "admin.event_types.section.private_pending.hint": "Private Typen anderer Kolleg:innen, sortiert nach Häufigkeit. Befördern macht den Typ firmenweit sichtbar.", "admin.event_types.search.placeholder": "Bezeichnung, Slug oder Author suchen…", "admin.event_types.show_archived": "Archivierte anzeigen", "admin.event_types.loading": "Lade…", "admin.event_types.empty": "Keine Treffer.", "admin.event_types.private.empty": "Keine privaten Typen.", "admin.event_types.col.label": "Bezeichnung", "admin.event_types.col.category": "Kategorie", "admin.event_types.col.jurisdiction": "Jurisdiktion", "admin.event_types.col.author": "Author", "admin.event_types.col.created": "Erstellt", "admin.event_types.col.usage": "Verwendung", "admin.event_types.col.actions": "Aktionen", "admin.event_types.row.archived": "Archiviert", "admin.event_types.author.system": "System", "admin.event_types.author.unknown": "Unbekannt", "admin.event_types.action.archive": "Archivieren", "admin.event_types.action.archive_selected": "Ausgewählte archivieren", "admin.event_types.action.merge_selected": "Zusammenführen…", "admin.event_types.action.restore": "Wiederherstellen", "admin.event_types.action.promote": "Befördern", "admin.event_types.bulk.count": "{n} ausgewählt", "admin.event_types.confirm.archive": "„{label}\" wirklich archivieren?", "admin.event_types.confirm.bulk_archive": "{n} Typen wirklich archivieren?", "admin.event_types.confirm.promote": "„{label}\" firmenweit verfügbar machen?", "admin.event_types.confirm.merge": "„{winner}\" als Gewinner: {n} Verlierer-Typ(en) werden archiviert, {usage} Junction-Eintrag/-träge umgeleitet. Fortfahren?", "admin.event_types.feedback.archived": "{n} archiviert.", "admin.event_types.feedback.archive_error": "Archivierung fehlgeschlagen.", "admin.event_types.feedback.restored": "Wiederhergestellt.", "admin.event_types.feedback.restore_error": "Wiederherstellung fehlgeschlagen.", "admin.event_types.feedback.promoted": "Befördert.", "admin.event_types.feedback.promote_error": "Beförderung fehlgeschlagen.", "admin.event_types.feedback.merged": "Zusammengeführt.", "admin.event_types.feedback.merge_error": "Zusammenführung fehlgeschlagen.", "admin.event_types.error.forbidden": "Zugriff nur für Admins.", "admin.event_types.merge.title": "Typen zusammenführen", "admin.event_types.merge.body": "Wählen Sie den Gewinner-Typ. Die Junction-Einträge der Verlierer werden auf den Gewinner umgeleitet, anschließend werden die Verlierer archiviert.", "admin.event_types.merge.submit": "Zusammenführen", // Approval workflow (t-paliad-138). "approvals.title": "Genehmigungen", "approvals.heading": "Genehmigungen", "approvals.subtitle": "4-Augen-Prüfung für Fristen und Termine.", "approvals.tab.pending_mine": "Zur Genehmigung", "approvals.tab.mine": "Meine Anfragen", "approvals.empty.pending_mine": "Aktuell nichts zu genehmigen.", "approvals.empty.mine": "Sie haben keine offenen Anfragen.", "approvals.lifecycle.create": "Erstellung", "approvals.lifecycle.update": "Änderung", "approvals.lifecycle.complete": "Erledigung", "approvals.lifecycle.delete": "Löschung", "approvals.entity.deadline": "Frist", "approvals.entity.appointment": "Termin", "approvals.required_role.lead": "Lead", "approvals.required_role.of_counsel": "Of Counsel", "approvals.required_role.associate": "Associate", "approvals.required_role.senior_pa": "Senior PA", "approvals.required_role.pa": "PA", "approvals.status.pending": "Offen", "approvals.status.approved": "Genehmigt", "approvals.status.rejected": "Abgelehnt", "approvals.status.revoked": "Zurückgezogen", "approvals.status.superseded": "Ersetzt", "approvals.status.changes_requested": "Abgelehnt mit Vorschlag", "approvals.action.approve": "Genehmigen", "approvals.action.reject": "Ablehnen", "approvals.action.revoke": "Zurückziehen", "approvals.action.suggest_changes": "Änderungen vorschlagen", "approvals.note.placeholder": "Optionale Begründung...", "approvals.suggest.modal_title": "Änderungen vorschlagen", "approvals.suggest.intro": "Bearbeite die vorgeschlagenen Werte und/oder hinterlasse einen Kommentar. Dein Vorschlag wird als neue Genehmigungsanfrage eingestellt und kann vom ursprünglichen Antragsteller (oder einer anderen berechtigten Person) genehmigt werden.", "approvals.suggest.note_label": "Kommentar zum Vorschlag", "approvals.suggest.note_placeholder": "Warum sollen die Werte angepasst werden?", "approvals.suggest.submit": "Vorschlag einreichen", "approvals.suggest.cancel": "Abbrechen", "approvals.suggest.submit_disabled_hint": "Bitte mindestens ein Feld ändern oder einen Kommentar hinterlassen.", "approvals.suggest.next_request_link": "→ Neuer Vorschlag von {name}", "approvals.suggest.unsupported_lifecycle": "Änderungen vorschlagen ist nur für Update-Anfragen möglich.", "approvals.suggest.section.editable": "Felder", "approvals.suggest.section.event_type_rule": "Verfahrenshandlung (Typ + Regel)", "approvals.suggest.section.context": "Kontext", "approvals.suggest.context.project": "Projekt", "approvals.suggest.context.requester": "Eingereicht von", "approvals.suggest.context.requested_at": "Eingereicht am", "approvals.suggest.context.approval_status": "Genehmigungsstatus", "approvals.suggest.event_type_picker_unavailable": "Ereignistypen konnten nicht geladen werden.", "approvals.suggest.field.original_due_date": "Ursprüngliches Fälligkeitsdatum", "approvals.suggest.field.warning_date": "Warndatum", "approvals.suggest.field.rule_code": "Regel-Zitat", "approvals.suggest.field.description": "Beschreibung", "approvals.requested_by": "Eingereicht von", "approvals.decided_by": "Entschieden von", "approvals.decision_kind.peer": "Genehmigt durch Teammitglied", "approvals.decision_kind.admin_override": "Admin-Sign-off", "approvals.decision_kind.derived_peer": "Genehmigt durch abgeleitetes Mitglied (Partner Unit)", "approvals.error.self_approval": "Eigengenehmigung nicht zulässig.", "approvals.error.not_authorized": "Sie haben nicht die erforderliche Rolle.", "approvals.error.no_qualified_approver": "Kein qualifizierter Approver verfügbar — bitte einen Approver ins Projekt-Team aufnehmen oder Admin kontaktieren.", "approvals.error.concurrent_pending": "Es liegt bereits eine Genehmigungsanfrage auf diesem Eintrag vor.", "approvals.error.awaiting_approval": "Diese Anforderung wartet auf Genehmigung.", "approvals.error.request_not_pending": "Diese Anfrage ist nicht mehr offen.", "approvals.error.suggestion_requires_change": "Ein Vorschlag braucht entweder geänderte Werte oder einen Kommentar.", "approvals.error.suggestion_lifecycle_invalid": "Änderungen vorschlagen ist nur für Update-Anfragen möglich.", "approvals.disabled.self_approval": "Du kannst eigene Anträge nicht genehmigen", "approvals.disabled.not_authorized": "Du hast keine Genehmigungsberechtigung für diesen Antrag", "approvals.disabled.revoke_not_requester": "Nur der Antragsteller kann zurückziehen", "approvals.disabled.suggest_lifecycle": "Änderungen vorschlagen ist nur für Update-Anfragen möglich", "approvals.pending.badge": "Wartet auf Genehmigung", "approvals.withdraw.cta": "Genehmigungsanfrage zurückziehen", "approvals.withdraw.confirm": "Genehmigungsanfrage wirklich zurückziehen?", "approvals.withdraw.error": "Fehler beim Zurückziehen", "approvals.withdraw.cancel": "Abbrechen", "approvals.withdraw.modal.title": "Genehmigungsanfrage zurückziehen?", "approvals.withdraw.primary.label": "Termin bearbeiten", "approvals.withdraw.destructive.label": "Endgültig zurückziehen und löschen", "approvals.withdraw.lead.create.deadline": "Wenn Sie die Anfrage zurückziehen, wird die Frist gelöscht.", "approvals.withdraw.lead.create.appointment": "Wenn Sie die Anfrage zurückziehen, wird der Termin gelöscht.", "approvals.withdraw.lead.update": "Wenn Sie die Anfrage zurückziehen, werden die vorgeschlagenen Änderungen verworfen — der Eintrag kehrt in den Zustand vor Ihrer Bearbeitung zurück.", "approvals.withdraw.lead.delete": "Wenn Sie die Löschanfrage zurückziehen, bleibt der Eintrag bestehen.", "approvals.withdraw.sub.create": "Alternativ können Sie den Eintrag stattdessen bearbeiten. Die Anfrage bleibt offen und der Genehmiger sieht Ihre neuen Werte.", "approvals.withdraw.sub.update": "Alternativ können Sie Ihre Änderungen bearbeiten und neu absenden. Die Anfrage bleibt offen.", "approvals.withdraw.sub.delete": "Sind Sie sicher, dass Sie die Löschanfrage zurückziehen möchten?", "approvals.pending_create.label": "Erstellung wartet auf Genehmigung", "approvals.pending_update.label": "Änderung wartet auf Genehmigung", "approvals.pending_complete.label": "Erledigung wartet auf Genehmigung", "approvals.pending_delete.label": "Zur Löschung beantragt", "approvals.diff.before": "Vorher", "approvals.diff.after": "Nachher", "approvals.policies.title": "Genehmigungsrichtlinien", "approvals.policies.subtitle": "Welche Lebenszyklus-Schritte benötigen 4-Augen-Prüfung in diesem Projekt?", "approvals.policies.column.event": "Ereignis", "approvals.policies.column.deadline": "Frist", "approvals.policies.column.appointment": "Termin", "approvals.policies.no_approval": "Keine Genehmigung erforderlich", "approvals.policies.copy_parent": "Aus Eltern-Projekt übernehmen", "approvals.policies.set_all_associate": "Alle auf Associate setzen", // t-paliad-144 — Custom Views "nav.group.user_views": "Meine Ansichten", "nav.user_views.new": "Neue Ansicht", "views.title": "Ansichten — Paliad", "views.heading": "Ansichten", "views.subtitle": "Eigene Ansichten über Ihre Daten — Filter und Darstellung speicherbar.", "views.loading": "Lädt …", "views.shape.list": "Liste", "views.shape.cards": "Karten", "views.shape.calendar": "Kalender", "views.shape.timeline": "Timeline", "views.timeline.caveat.body": "Custom Views zeigen nur eingetretene Ereignisse. Für prognostizierte Fristen das Projekt-Chart öffnen.", "views.timeline.zoom.label": "Zoom", "views.timeline.zoom.in": "Heranzoomen", "views.timeline.zoom.out": "Herauszoomen", "views.timeline.zoom.1y": "±1 J.", "views.timeline.zoom.2y": "±2 J.", "views.timeline.zoom.all": "Alles", "views.save_as": "Als Ansicht speichern", "views.action.edit": "Bearbeiten", "views.empty.title": "Keine Einträge gefunden.", "views.error.back": "Zurück zur Ansichten-Übersicht", "views.error.not_found": "Ansicht nicht gefunden.", "views.error.network": "Netzwerkfehler — bitte erneut versuchen.", "views.toast.inaccessible_one": "1 Projekt in dieser Ansicht ist nicht mehr sichtbar.", "views.toast.inaccessible_n": "{n} Projekte in dieser Ansicht sind nicht mehr sichtbar.", "views.calendar.mobile_fallback": "Kalender-Ansicht ist auf grossen Bildschirmen am besten.", "views.onboarding.title": "Eigene Ansichten — was ist das?", "views.onboarding.body": "Eine Ansicht ist eine gespeicherte Filterkombination — z.B. „Fristen meiner Projekte in den nächsten 14 Tagen“. Ansichten erscheinen als eigene Buttons in der Sidebar.", "views.onboarding.create": "Beispiel-Ansicht erstellen", "views.source.deadline": "Fristen", "views.source.appointment": "Termine", "views.source.project_event": "Projekt-Verlauf", "views.source.approval_request": "Genehmigungen", "views.kind.deadline": "Frist", "views.kind.appointment": "Termin", "views.kind.project_event": "Verlauf", "views.kind.approval_request": "Genehmigung", "views.scope.all_visible": "Alle sichtbaren", "views.scope.my_subtree": "Mein Teilbaum", "views.scope.explicit": "Bestimmte Projekte", "views.scope.personal_only": "Nur persönliche", "views.horizon.next_1d": "Morgen", "views.horizon.next_7d": "Nächste 7 Tage", "views.horizon.next_14d": "Nächste 14 Tage", "views.horizon.next_30d": "Nächste 30 Tage", "views.horizon.next_90d": "Nächste 90 Tage", "views.horizon.next_all": "Ganze Zukunft", "views.horizon.past_1d": "Letzter Tag", "views.horizon.past_7d": "Letzte 7 Tage", "views.horizon.past_14d": "Letzte 14 Tage", "views.horizon.past_30d": "Letzte 30 Tage", "views.horizon.past_90d": "Letzte 90 Tage", "views.horizon.past_all": "Ganze Vergangenheit", "views.horizon.any": "Beliebig", "views.horizon.all": "Komplett (alle Daten)", "views.horizon.custom": "Benutzerdefiniert", "views.density.comfortable": "Bequem", "views.density.compact": "Kompakt", "views.col.date": "Datum", "views.col.time": "Wann", "views.col.title": "Titel", "views.col.project": "Projekt", "views.col.actor": "Akteur", "views.col.status": "Status", "views.col.rule": "Regel", "views.col.event_type": "Typ", "views.col.location": "Ort", "views.col.appointment_type": "Termin-Typ", "views.col.approval_status": "Genehmigung", "views.col.decided_by": "Entschieden von", "views.col.kind": "Art", "views.editor.title": "Ansicht bearbeiten — Paliad", "views.editor.heading.new": "Neue Ansicht", "views.editor.heading.edit": "Ansicht bearbeiten", "views.editor.subtitle": "Wählen Sie Quellen, Filter und Darstellung. Änderungen speichern Sie unten.", "views.editor.section.identity": "Bezeichnung", "views.editor.section.sources": "Quellen", "views.editor.section.scope": "Geltungsbereich", "views.editor.section.time": "Zeitraum", "views.editor.section.render": "Darstellung", "views.editor.field.name": "Name", "views.editor.field.slug": "Slug (URL)", "views.editor.field.icon": "Icon", "views.editor.field.show_count": "Treffer-Anzahl in der Sidebar anzeigen", "views.editor.field.scope_mode": "Projekte", "views.editor.field.personal_only": "Nur persönliche", "views.editor.field.horizon": "Horizont", "views.editor.field.shape": "Form", "views.editor.field.density": "Dichte", "views.editor.hint.slug": "Kleinbuchstaben, Ziffern und Bindestriche — nicht reservierte Wörter.", "views.editor.hint.sources": "Welche Datenarten zeigt diese Ansicht?", "views.editor.icon.default": "Standard (Ordner)", "views.editor.icon.clock": "Uhr", "views.editor.icon.calendar": "Kalender", "views.editor.icon.bell": "Glocke", "views.editor.icon.folder": "Ordner", "views.editor.icon.users": "Personen", "views.editor.icon.building": "Gebäude", "views.editor.save": "Speichern", "views.editor.cancel": "Abbrechen", "views.editor.delete": "Löschen", "views.editor.confirm_delete": "Diese Ansicht wirklich löschen?", "views.editor.error.name_required": "Name ist erforderlich.", "views.editor.error.slug_format": "Slug darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten und muss mit einem Buchstaben oder einer Ziffer beginnen.", "views.editor.error.sources_required": "Mindestens eine Quelle wählen.", "views.editor.error.load_failed": "Ansicht konnte nicht geladen werden.", "views.editor.error.delete_failed": "Ansicht konnte nicht gelöscht werden.", // Universal FilterBar — t-paliad-163. Mounted on every list-shaped // surface (starts with /inbox in Phase 1; /agenda + /events follow). "views.bar.label.time": "Zeitraum", "views.bar.label.personal": "Eigene", "views.bar.label.approval_role": "Sicht", "views.bar.label.approval_status": "Status", "views.bar.label.approval_entity": "Art", "views.bar.label.deadline_status": "Frist-Status", "views.bar.label.appointment_type": "Termin-Typ", "views.bar.label.project_event_kind": "Ereignis", "views.bar.label.timeline_status": "Timeline-Status", "views.bar.label.timeline_track": "Track", "views.bar.timeline_status.done": "Erledigt", "views.bar.timeline_status.open": "Offen", "views.bar.timeline_status.overdue": "Überfällig", "views.bar.timeline_status.predicted": "Voraussichtlich", "views.bar.timeline_status.predicted_overdue": "Überfällig (vorhergesagt)", "views.bar.timeline_status.court_set": "Gerichtsdatum", "views.bar.timeline_status.off_script": "Eigener Eintrag", "views.bar.timeline_status.macro.future": "Zukunft anzeigen", "views.bar.timeline_status.macro.past": "Nur vergangenes", "views.bar.timeline_track.parent": "Hauptverfahren", "views.bar.timeline_track.counterclaim": "Widerklage", "views.bar.timeline_track.off_script": "Off-Script", "views.bar.label.shape": "Darstellung", "views.bar.label.density": "Dichte", "views.bar.label.sort": "Sortierung", "views.bar.common.all": "Alle", // views.bar.time.* keys retired in t-paliad-248 — the filter-bar time // axis now mounts the symmetric date-range picker, whose labels live // under date_range.horizon.* (see end of this dict). The picker reuses // views.bar.label.time as the closed-button prefix. "views.bar.personal.on": "Nur eigene", "views.bar.approval_role.approver_eligible": "Zur Genehmigung", "views.bar.approval_role.self_requested": "Eigene Anfragen", "views.bar.approval_role.any_visible": "Alle sichtbaren", "views.bar.approval_status.pending": "Wartend", "views.bar.approval_status.approved": "Genehmigt", "views.bar.approval_status.rejected": "Abgelehnt", "views.bar.approval_status.revoked": "Zurückgezogen", "views.bar.approval_status.changes_requested": "Mit Vorschlag", "views.bar.approval_entity.deadline": "Frist", "views.bar.approval_entity.appointment": "Termin", "views.bar.deadline_status.pending": "Offen", "views.bar.deadline_status.completed": "Erledigt", "views.bar.appointment_type.hearing": "Verhandlung", "views.bar.appointment_type.meeting": "Besprechung", "views.bar.appointment_type.consultation": "Beratung", "views.bar.appointment_type.deadline_hearing": "Mündliche Verhandlung", "views.bar.shape.list": "Liste", "views.bar.shape.cards": "Karten", "views.bar.shape.calendar": "Kalender", "views.bar.density.comfortable": "Bequem", "views.bar.density.compact": "Kompakt", "views.bar.sort.date_asc": "Datum aufsteigend", "views.bar.sort.date_desc": "Datum absteigend", "views.bar.action.reset": "Zurücksetzen", "views.bar.action.save_as_view": "Als Sicht speichern", "views.bar.save.heading": "Sicht speichern", "views.bar.save.field.name": "Name", "views.bar.save.field.slug": "Slug", "views.bar.save.field.slug_hint": "Wird Teil der URL: /views/", "views.bar.save.field.show_count": "Anzahl in der Sidebar zeigen", "views.bar.save.cancel": "Abbrechen", "views.bar.save.confirm": "Speichern", "views.bar.save.error.name_required": "Bitte Namen vergeben.", "views.bar.save.error.slug_format": "Slug muss mit einem Buchstaben oder einer Ziffer beginnen und darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.", "views.bar.save.error.slug_taken": "Dieser Slug ist bereits vergeben.", "views.bar.save.error.network": "Netzwerkfehler — bitte erneut versuchen.", // t-paliad-192 Slice 11b — Admin rule-editor UI. // t-paliad-262 Slice A — "Regel" relabelled as "Verfahrensschritt". // t-paliad-305 Slice B.6 (2026-05-26) — canonical URL moved to // `/admin/procedural-events` (301 redirects from /admin/rules*). // The i18n keys `admin.rules.*` are kept as the corpus until a // follow-up slice migrates each reference; canonical // `admin.procedural_events.*` aliases live after the EN block. "nav.admin.rules": "Verfahrensschritte verwalten", "admin.card.rules.title": "Verfahrensschritte verwalten", "admin.card.rules.desc": "Verfahrensschritte anlegen, bearbeiten, publishen. Audit-Log, Preview, Migration-Export.", "admin.rules.list.title": "Verfahrensschritte verwalten — Paliad", "admin.rules.list.heading": "Verfahrensschritte verwalten", "admin.rules.list.subtitle": "Verfahrensschritte (Schriftsätze, Anhörungen, Entscheidungen, …) anlegen, bearbeiten und freigeben. Lifecycle: draft → published → archived.", "admin.rules.list.new": "+ Neuer Verfahrensschritt", "admin.rules.tab.rules": "Regeln", "admin.rules.tab.orphans": "Orphans", "admin.rules.loading": "Lade…", "admin.rules.empty": "Keine Verfahrensschritte für die gewählten Filter.", "admin.rules.error.load": "Konnte Verfahrensschritte nicht laden.", "admin.rules.filter.proceeding": "Verfahrenstyp", "admin.rules.filter.proceeding.any": "Alle", "admin.rules.filter.trigger": "Trigger-Ereignis", "admin.rules.filter.trigger.any": "Alle", "admin.rules.filter.lifecycle": "Lifecycle", "admin.rules.filter.lifecycle.any": "Alle", "admin.rules.filter.search": "Suche", "admin.rules.filter.search.placeholder": "Name, Submission Code, Rechtsgrundlage…", "admin.rules.col.submission_code": "Code (Verfahrensschritt)", "admin.rules.col.legal_citation": "Rechtsgrundlage", "admin.rules.col.name": "Name", "admin.rules.col.proceeding": "Verfahrenstyp", "admin.rules.col.priority": "Priorität", "admin.rules.col.lifecycle": "Lifecycle", "admin.rules.col.modified": "Zuletzt geändert", "admin.rules.lifecycle.draft": "Draft", "admin.rules.lifecycle.published": "Published", "admin.rules.lifecycle.archived": "Archived", "admin.rules.priority.mandatory": "Pflicht", "admin.rules.priority.recommended": "Empfohlen", "admin.rules.priority.optional": "Optional", "admin.rules.priority.informational": "Information", "admin.rules.orphans.subtitle": "Legacy-Deadlines aus dem fuzzy-match Backfill (Slice 10), die nicht eindeutig einer Regel zugeordnet werden konnten. Bitte die richtige Kandidaten-Regel auswählen.", "admin.rules.orphans.loading": "Lade…", "admin.rules.orphans.empty": "Keine offenen Orphans. ✔", "admin.rules.orphans.no_candidates": "Keine Kandidaten gefunden. Bitte Regel manuell anlegen.", "admin.rules.orphans.field.project": "Projekt", "admin.rules.orphans.field.proceeding": "Verfahren", "admin.rules.orphans.field.reason": "Grund", "admin.rules.orphans.reason.no_match": "Kein Treffer", "admin.rules.orphans.reason.ambiguous": "Mehrdeutig", "admin.rules.orphans.reason.no_project": "Ohne Projekt", "admin.rules.orphans.reason.manual_unbound": "Manuell entkoppelt", "admin.rules.orphans.resolved": "Orphan zugeordnet.", "admin.rules.modal.new.title": "Neuen Verfahrensschritt anlegen", "admin.rules.modal.new.body": "Ein neuer Verfahrensschritt wird als Draft angelegt. Bitte einen Grund (mind. 10 Zeichen) angeben — dieser wandert ins Audit-Log und beim Export in die Migration.", "admin.rules.modal.resolve.title": "Orphan zuordnen", "admin.rules.modal.resolve.body": "Bitte einen Grund (mind. 10 Zeichen) angeben. Die Regel-Verknüpfung wird sofort auf der Deadline gespeichert.", "admin.rules.modal.reason": "Grund", "admin.rules.modal.reason.placeholder": "z. B. „Neue Regel für RoP.198 nach UPC-Reform 2026...", "admin.rules.modal.reason.hint": "Mindestens 10 Zeichen.", "admin.rules.modal.reason.too_short": "Grund muss mindestens 10 Zeichen enthalten.", "admin.rules.modal.confirm": "Bestätigen", "admin.rules.modal.field.name": "Name (DE)", "admin.rules.modal.field.name_en": "Name (EN)", "admin.rules.modal.field.duration": "Dauer", "admin.rules.modal.error.name_required": "Bitte Name und Name (EN) angeben.", "admin.rules.modal.error.create": "Anlegen fehlgeschlagen.", "admin.rules.modal.error.resolve": "Zuordnung fehlgeschlagen.", "admin.rules.edit.title": "Verfahrensschritt bearbeiten — Paliad", "admin.rules.edit.heading.loading": "Verfahrensschritt laden…", "admin.rules.edit.breadcrumb": "← Verfahrensschritte verwalten", "admin.rules.edit.error.bad_id": "Ungültige Verfahrensschritt-ID in der URL.", "admin.rules.edit.error.not_found": "Verfahrensschritt nicht gefunden.", "admin.rules.edit.error.load": "Konnte Verfahrensschritt nicht laden.", "admin.rules.edit.section.identity": "Identität", "admin.rules.edit.section.proceeding": "Verfahren & Trigger", "admin.rules.edit.section.timing": "Berechnung", "admin.rules.edit.section.party": "Partei & Ereignis", "admin.rules.edit.section.display": "Anzeige & Notizen", "admin.rules.edit.section.lifecycle": "Priorität & Flags", "admin.rules.edit.section.condition": "Bedingung (condition_expr)", "admin.rules.edit.field.name": "Name (DE)", "admin.rules.edit.field.name_en": "Name (EN)", "admin.rules.edit.field.description": "Beschreibung", "admin.rules.edit.field.submission_code": "Code (Verfahrensschritt-Identifikator)", "admin.rules.edit.field.rule_code": "Rechtsgrundlage (Kurzform)", "admin.rules.edit.field.legal_source": "Rechtsgrundlage (Langform)", "admin.rules.edit.field.proceeding": "Verfahrenstyp", "admin.rules.edit.field.proceeding.none": "—", "admin.rules.edit.field.trigger": "Trigger-Ereignis", "admin.rules.edit.field.trigger.none": "—", "admin.rules.edit.field.parent": "Übergeordneter Verfahrensschritt (UUID)", "admin.rules.edit.field.concept": "Konzept (UUID)", "admin.rules.edit.field.sequence_order": "Reihenfolge", "admin.rules.edit.field.duration_value": "Dauer", "admin.rules.edit.field.duration_unit": "Einheit", "admin.rules.edit.field.timing": "Timing", "admin.rules.edit.field.combine_op": "Combine-Op", "admin.rules.edit.field.alt_duration_value": "Alt-Dauer", "admin.rules.edit.field.alt_duration_unit": "Alt-Einheit", "admin.rules.edit.field.alt_rule_code": "Alt-Rule-Code", "admin.rules.edit.field.anchor_alt": "Alt-Anchor", "admin.rules.edit.field.primary_party": "Primäre Partei", "admin.rules.edit.field.event_type": "Art des Verfahrensschritts (filing / hearing / decision / order)", "admin.rules.edit.field.deadline_notes": "Hinweise (DE)", "admin.rules.edit.field.deadline_notes_en": "Hinweise (EN)", "admin.rules.edit.field.priority": "Priorität", "admin.rules.edit.field.is_court_set": "Gerichtlich gesetzt", "admin.rules.edit.field.is_spawn": "Spawn", "admin.rules.edit.field.spawn_label": "Spawn-Label", "admin.rules.edit.field.spawn_proceeding": "Spawn-Verfahren", "admin.rules.edit.field.spawn_proceeding.none": "—", "admin.rules.edit.field.condition_hint": "JSON-Grammatik: {\"flag\":\"name\"} · {\"op\":\"and|or\",\"args\":[...]} · {\"op\":\"not\",\"args\":[...]}", "admin.rules.edit.field.condition.valid": "JSON gültig.", "admin.rules.edit.preview.heading": "Preview", "admin.rules.edit.preview.hint": "Nur für Drafts. Berechnet die Fristenkette mit dieser Draft-Regel anstelle der publizierten Variante.", "admin.rules.edit.preview.trigger_date": "Trigger-Datum", "admin.rules.edit.preview.flags": "Flags (komma-separiert)", "admin.rules.edit.preview.run": "Preview berechnen", "admin.rules.edit.preview.running": "Berechne…", "admin.rules.edit.preview.empty": "Keine Deadlines.", "admin.rules.edit.preview.error": "Preview fehlgeschlagen.", "admin.rules.edit.preview.only_drafts": "Preview ist nur für Drafts verfügbar.", "admin.rules.edit.preview.trigger_required": "Bitte Trigger-Datum angeben.", "admin.rules.edit.audit.heading": "Audit-Log", "admin.rules.edit.audit.loading": "Lade…", "admin.rules.edit.audit.empty": "Keine Audit-Einträge.", "admin.rules.edit.audit.loadmore": "Weitere laden", "admin.rules.edit.audit.exported": "exported", "admin.rules.edit.audit.actor.system": "System", "admin.rules.edit.audit.action.create": "create", "admin.rules.edit.audit.action.update": "update", "admin.rules.edit.audit.action.publish": "publish", "admin.rules.edit.audit.action.archive": "archive", "admin.rules.edit.audit.action.restore": "restore", "admin.rules.edit.audit.action.delete": "delete", "admin.rules.edit.action.save_draft": "Draft speichern", "admin.rules.edit.action.publish": "Publish", "admin.rules.edit.action.clone": "Als Draft klonen", "admin.rules.edit.action.archive": "Archivieren", "admin.rules.edit.action.restore": "Wiederherstellen", "admin.rules.edit.action.ok": "Erledigt.", "admin.rules.edit.action.save_draft.ok": "Draft gespeichert.", "admin.rules.edit.action.save_draft.error": "Speichern fehlgeschlagen.", "admin.rules.edit.action.publish.ok": "Regel publiziert.", "admin.rules.edit.action.publish.error": "Publish fehlgeschlagen.", "admin.rules.edit.action.archive.ok": "Regel archiviert.", "admin.rules.edit.action.archive.error": "Archivieren fehlgeschlagen.", "admin.rules.edit.action.restore.ok": "Regel wiederhergestellt.", "admin.rules.edit.action.restore.error": "Wiederherstellen fehlgeschlagen.", "admin.rules.edit.action.clone.error": "Klonen fehlgeschlagen.", "admin.rules.edit.modal.save_draft.title": "Draft speichern", "admin.rules.edit.modal.save_draft.body": "Bitte einen Grund für die Änderung angeben (mind. 10 Zeichen). Wird ins Audit-Log geschrieben.", "admin.rules.edit.modal.publish.title": "Publish", "admin.rules.edit.modal.publish.body": "Diese Draft-Regel wird live geschaltet. Bestehende publizierte Variante wird archiviert.", "admin.rules.edit.modal.clone.title": "Als Draft klonen", "admin.rules.edit.modal.clone.body": "Eine neue Draft-Kopie dieser Regel wird angelegt. Sie werden auf die neue Draft-Seite weitergeleitet.", "admin.rules.edit.modal.archive.title": "Archivieren", "admin.rules.edit.modal.archive.body": "Regel wird archiviert. Calculator nutzt sie nicht mehr.", "admin.rules.edit.modal.restore.title": "Wiederherstellen", "admin.rules.edit.modal.restore.body": "Regel wird wiederhergestellt (archived → published).", // Date-range picker (t-paliad-248). Symmetric past/future chip fan // around an ALLES centre. Used by the filter-bar 'time' axis from // Slice A onwards; future slices will migrate /agenda and // /admin/audit-log to the same component. "date_range.button.label": "Zeitraum", "date_range.button.label.custom_range": "Von {from} bis {to}", "date_range.horizon.next_1d": "Heute", "date_range.horizon.next_7d": "Nächste 7 Tage", "date_range.horizon.next_14d": "Nächste 14 Tage", "date_range.horizon.next_30d": "Nächste 30 Tage", "date_range.horizon.next_90d": "Nächste 90 Tage", "date_range.horizon.next_all": "Ganze Zukunft", "date_range.horizon.past_1d": "Letzter Tag", "date_range.horizon.past_7d": "Letzte 7 Tage", "date_range.horizon.past_14d": "Letzte 14 Tage", "date_range.horizon.past_30d": "Letzte 30 Tage", "date_range.horizon.past_90d": "Letzte 90 Tage", "date_range.horizon.past_all": "Ganze Vergangenheit", "date_range.horizon.any": "Alles", "date_range.horizon.custom": "Anpassen", "date_range.dialog.label": "Zeitraum wählen", "date_range.fan.past.label": "Vergangenheit", "date_range.fan.future.label": "Zukunft", "date_range.center.label": "Alles", "date_range.custom.from": "Von", "date_range.custom.to": "Bis", "date_range.custom.apply": "Anwenden", "date_range.custom.cancel": "Abbrechen", "date_range.custom.invalid": "Bis-Datum muss nach Von-Datum liegen.", "date_range.custom.invalid_format": "Datum nicht erkannt (Format JJJJ-MM-TT).", "date_range.custom.invalid_missing": "Bitte beide Datumsfelder ausfüllen.", // t-paliad-262 Slice A — canonical `procedural_event` i18n contract. // The values are identical to the legacy `admin.rules.*` keys above — // these aliases let .tsx files rebind in Slice B (B.5) without // touching DE/EN strings then. Adding/changing values? Update BOTH // sides. "admin.procedural_events.list.title": "Verfahrensschritte verwalten — Paliad", "admin.procedural_events.list.heading": "Verfahrensschritte verwalten", "admin.procedural_events.list.new": "+ Neuer Verfahrensschritt", "admin.procedural_events.col.code": "Code (Verfahrensschritt)", // t-paliad-321: 3-segment proceeding-type code column (joined // server-side); disambiguates same-named rules across proceedings. "admin.procedural_events.col.proceeding": "Verfahren", "admin.procedural_events.edit.title": "Verfahrensschritt bearbeiten — Paliad", "admin.procedural_events.edit.breadcrumb":"← Verfahrensschritte verwalten", "admin.procedural_events.edit.field.code": "Code (Verfahrensschritt-Identifikator)", "admin.procedural_events.edit.field.event_kind": "Art des Verfahrensschritts (filing / hearing / decision / order)", "admin.procedural_events.edit.field.parent": "Übergeordneter Verfahrensschritt (UUID)", }, en: { // Navigation "nav.home": "Home", "nav.kostenrechner": "Cost Calculator", "nav.downloads": "Downloads", "nav.links": "Links", "nav.glossar": "Glossary", "nav.gebuehrentabellen": "Fee Schedules", "nav.checklisten": "Checklists", "nav.submissions": "Submissions", "nav.gerichte": "Courts", "nav.logout": "Sign Out", "nav.akten": "Matters", "nav.projekte": "Projects", "nav.fristen": "Deadlines", "nav.termine": "Appointments", "nav.dashboard": "Dashboard", "nav.agenda": "Agenda", "nav.inbox": "Approvals", "nav.paliadin": "Paliadin", "nav.team": "Team", "nav.group.uebersicht": "Overview", "nav.group.ansichten": "Views", "nav.group.werkzeuge": "Tools", "nav.neuigkeiten": "What's New", "nav.soon.tooltip": "Coming soon", // Theme toggle (m/paliad#2) "theme.toggle.auto": "Auto", "theme.toggle.light": "Light", "theme.toggle.dark": "Dark", "theme.toggle.cycle.auto": "Switch to light theme", "theme.toggle.cycle.light": "Switch to dark theme", "theme.toggle.cycle.dark": "Switch to auto (system)", // BottomNav (mobile) "bottomnav.add": "New", "bottomnav.menu": "Menu", "bottomnav.add.title": "Quick add", "bottomnav.add.deadline": "New deadline", "bottomnav.add.deadline.sub": "Deadline with date & project", "bottomnav.add.appointment": "New appointment", "bottomnav.add.appointment.sub": "Appointment with time & place", "bottomnav.add.project": "New project", "bottomnav.add.project.sub": "New matter / case / patent", "bottomnav.add.cancel": "Cancel", "bottomnav.badge.deadlines": "{overdue} overdue + {today} due today", // Changelog (What's New) — t-paliad-027 "changelog.title": "What's New — Paliad", "changelog.heading": "What's New", "changelog.subtitle": "Recent changes and additions in Paliad.", "changelog.empty": "Nothing here yet.", "changelog.tag.feature": "New", "changelog.tag.content": "Content", "changelog.tag.fix": "Fix", // Footer "footer.text": "\u00a9 2026 Paliad \u2014 by", // Landing page "index.title": `Paliad \u2014 Patent Litigation for ${FIRM}`, "index.hero.accent": `for ${FIRM}`, "index.hero.sub": `Administration, knowledge, and tools for the ${FIRM} patent team.`, "index.guides.title": "Guides", "index.guides.desc": "Practical guides for proceedings before the EPO, Federal Patent Court, and UPC. Step-by-step instructions for typical workflows.", "index.templates.title": "Templates", "index.templates.desc": `Standardised templates for briefs, correspondence, and internal documents. ${FIRM} Patents Style Guide.`, "index.documents.title": "Documents", "index.documents.desc": "Reference materials, checklists, and practical aids for day-to-day patent practice.", "index.tools": "Tools", "index.cost.title": "Cost Calculator", "index.cost.desc": "Estimate litigation costs for DE courts, UPC, and EPA proceedings. Court and attorney fees at a glance.", "index.deadline.title": "Deadline Calculator", "index.deadline.desc": "Calculate procedural deadlines for UPC, German, and EPA proceedings with holiday adjustment.", "index.glossar.title": "Patent Glossary", "index.glossar.desc": "Bilingual DE/EN glossary of key patent law terminology. Searchable by category.", "index.downloads": "Downloads", "index.style.title": `${FIRM} Patents Style`, "index.style.desc": `Word template in ${FIRM} Patents style. Formatting, fonts, and macros for standardised briefs.`, "index.offices": "Offices", "index.office.munich": "Munich", "index.office.duesseldorf": "D\u00fcsseldorf", "index.office.hamburg": "Hamburg", "index.office.amsterdam": "Amsterdam", "index.office.london": "London", "index.office.paris": "Paris", "index.office.milan": "Milan", // Login "login.title": "Sign In \u2014 Paliad", "login.tab.login": "Sign In", "login.tab.register": "Register", "login.email": "Email", "login.password": "Password", "login.password.placeholder": "Password", "login.submit": "Sign In", "login.confirm": "Confirm Password", "login.confirm.placeholder": "Repeat password", "login.minchars": "Min. 8 characters", "login.register.submit": "Register", "login.hint": `Only for authorised ${FIRM} email addresses.`, "login.error.connection": "Connection error. Please try again.", "login.error.mismatch": "Passwords do not match.", "login.error.minlength": "Password must be at least 8 characters.", "login.success.created": "Account created. Please sign in.", // Kostenrechner "kosten.title": "Cost Calculator \u2014 Paliad", "kosten.heading": "Patent Litigation Cost Calculator", "kosten.subtitle": "Estimate litigation costs for patent infringement, nullity, and EPA proceedings.", "kosten.streitwert": "Dispute Value", "kosten.vat": "VAT", "kosten.vat.foreign": "0% (Foreign)", "kosten.de.infringement": "DE Infringement Proceedings", "kosten.de.nullity": "DE Nullity Proceedings", "kosten.upc": "UPC", "kosten.epa": "EPO", "kosten.inst.lg": "Regional Court (Infringement 1st Instance)", "kosten.inst.olg": "Higher Regional Court (Appeal)", "kosten.inst.bgh_nzb": "Federal Court (Leave to Appeal)", "kosten.inst.bgh_rev": "Federal Court (Revision)", "kosten.inst.bpatg": "Federal Patent Court (Nullity)", "kosten.inst.bgh_nullity": "Federal Court (Nullity Appeal)", "kosten.inst.upc_first": "UPC (First Instance)", "kosten.inst.upc_appeal": "UPC (Appeal)", "kosten.inst.epa_opposition": "Opposition", "kosten.inst.epa_appeal": "Appeal from Opposition", "kosten.fee.version": "Fee version:", "kosten.fee.schedule": "Fee schedule:", "kosten.fee.from2026": "From 2026", "kosten.fee.pre2026": "Before 2026", "kosten.fee.current": "Current (2025)", "kosten.attorneys": "Attorneys:", "kosten.patent.attorneys": "Patent Attorneys:", "kosten.clients": "Clients:", "kosten.oral.hearing": "Oral hearing", "kosten.revocation": "Revocation counterclaim", "kosten.total": "Total Cost", "kosten.empty": "Select at least one instance.", "kosten.print": "Print", "kosten.court.fees": "Court Fees", "kosten.attorney.fees": "Attorney Fees", "kosten.patent.attorney.fees": "Patent Attorney Fees", "kosten.epa.fees": "EPO Fees", "kosten.attorney.label": "Attorney", "kosten.patent.attorney.label": "Patent Attorney", "kosten.detail.procedure": "Procedure fee", "kosten.detail.increase": "Increase", "kosten.detail.hearing": "Hearing fee", "kosten.detail.lump": "Lump sum", "kosten.detail.vat": "VAT", "kosten.detail.total": "Total", "kosten.upc.fixed": "Fixed fee", "kosten.upc.value": "Value-based fee", "kosten.upc.court.total": "Court fees total", "kosten.upc.sme": "SME reduction", "kosten.upc.recoverable": "Recoverable costs (ceiling)", "kosten.epa.official": "Official fee", "kosten.epa.note": "Attorney costs based on time spent (not RVG-based).", "kosten.share": "Copy Link", "kosten.share.copied": "Link copied!", "kosten.compare": "Compare", "kosten.compare.exit": "Exit Comparison", "kosten.scenario.a": "Scenario A", "kosten.scenario.b": "Scenario B", "kosten.scenario.diff": "Difference", "kosten.print.title": "Cost Calculation", "kosten.print.date": "Date", "kosten.print.streitwert": "Dispute Value", "kosten.print.vat": "VAT Rate", "kosten.print.instances": "Instances", "kosten.print.disclaimer": "This document is for internal use only and does not constitute legal advice. All figures are estimates.", // Fristenrechner "deadlines.title": "Deadline Calculator \u2014 Paliad", "deadlines.heading": "Patent Deadline Calculator", "deadlines.subtitle": "Calculate procedural deadlines for UPC, German, and EPA proceedings.", // Verfahrensablauf (t-paliad-179 Slice 1) // Unified procedural-events tool (m/paliad#151) "procedures.title": "Procedures & Deadlines \u2014 Paliad", "procedures.heading": "Procedures & Deadlines", "procedures.subtitle": "Procedure roadmap, deadline calculator, and guided search in one tool.", "procedures.filter.search.placeholder": "Statement of claim, hearing notice, m\u00fcndliche Verhandlung\u2026", "procedures.filter.axis.forum": "Forum:", "procedures.filter.axis.proc": "Proceeding:", "procedures.filter.axis.kind": "Event kind:", "procedures.filter.axis.party": "Party:", "procedures.tab.proceeding": "Pick proceeding", "procedures.tab.search": "Direct search", "procedures.tab.wizard": "Guided", "procedures.tab.akte": "From matter", "procedures.panel.akte.placeholder": "Matter entry ships in a later slice.", "nav.procedures": "Procedures & Deadlines", // Litigation Builder (m/paliad#153 B1+B2) "builder.subtitle": "Litigation Builder — build scenarios, stack proceedings, track deadlines.", "builder.header.scenario": "Scenario:", "builder.header.akte": "Matter:", "builder.header.stichtag": "Anchor:", "builder.header.search": "Search:", "builder.akte.none": "— none —", "builder.akte.banner.prefix": "From matter:", "builder.search.placeholder": "Event, scenario, matter …", "builder.action.rename": "Name it", "builder.action.rename.prompt": "Name for this scenario:", "builder.action.share": "Share", "builder.action.promote": "Create as project", "builder.mode.cold": "Overview", "builder.mode.event": "Event", "builder.mode.akte": "From matter", "builder.panel.title": "My scenarios", "builder.panel.new": "+ New scenario", "builder.panel.empty": "No scenarios yet.", "builder.bucket.active": "Active", "builder.empty.headline": "No scenario open.", "builder.empty.hint": "Start a new scenario, pick one from your list, or load a matter (B4).", "builder.empty.cta": "Start a new scenario", "builder.empty.recent": "Recent", "builder.picker.placeholder": "— pick a scenario —", "builder.picker.title": "Add proceeding", "builder.picker.close": "Close", "builder.picker.aria": "Pick a proceeding", "builder.picker.axis.forum": "Forum:", "builder.picker.axis.proc": "Proceeding:", "builder.picker.empty": "No proceedings available.", "builder.picker.future_jurisdiction": "Other forums coming later.", "builder.canvas.add_proceeding": "+ Add proceeding", "builder.triplet.loading": "Calculating deadlines …", "builder.triplet.unknown_proceeding": "Unknown proceeding type.", "builder.triplet.side.claimant": "Claimant view", "builder.triplet.side.defendant": "Defendant view", "builder.triplet.flags.label": "Options:", "builder.triplet.perspective.label": "Perspective:", "builder.triplet.perspective.none": "none", "builder.triplet.perspective.claimant": "Claimant", "builder.triplet.perspective.defendant": "Defendant", "builder.triplet.detailgrad.label": "Detail:", "builder.triplet.detailgrad.selected": "Selected", "builder.triplet.detailgrad.all_options": "All options", "builder.triplet.remove": "Remove", "builder.triplet.collapse": "Collapse", "builder.triplet.expand": "Expand", "builder.triplet.no_flags": "(no flags for this proceeding type)", "builder.event.state.planned": "planned", "builder.event.state.filed": "filed", "builder.event.state.skipped": "skipped", "builder.event.action.file": "File", "builder.event.action.skip": "Skip", "builder.event.action.reset": "Reset to planned", "builder.event.actual_date.prompt": "Date of filing:", "builder.event.skip_reason.prompt": "Reason (optional):", "builder.event.horizon.label": "+{n} optional ▾", "builder.event.horizon.hide": "Hide optional", "builder.save.idle": " ", "builder.save.saving": "Saving …", "builder.save.saved": "Saved ✓", "builder.save.error": "Save failed", "builder.search.hint.start": "Type … e.g. \"defence\", \"hearing\", \"HL-2024\"", "builder.search.hint.short": "At least 2 characters.", "builder.search.hint.loading": "Searching …", "builder.search.hint.empty": "No matches.", "builder.search.hint.error": "Search failed. Try again.", "builder.search.hint.akte_b4": "Matter mode coming in B4.", "builder.search.group.events": "Events", "builder.search.group.scenarios": "Scenarios", "builder.search.group.projects": "Matters", "builder.search.summary.events.one": "{n} event", "builder.search.summary.events.other": "{n} events", "builder.search.summary.scenarios.one": "{n} scenario", "builder.search.summary.scenarios.other": "{n} scenarios", "builder.search.summary.projects.one": "{n} matter", "builder.search.summary.projects.other": "{n} matters", "builder.search.anchor.divider": "━━━━ YOU ARE HERE ━━━━", // B5 — side-panel buckets, sharing, promote-to-project wizard. "builder.bucket.shared": "Shared with me", "builder.bucket.promoted": "Promoted to project", "builder.bucket.archived": "Archived", "builder.bucket.empty": "—", "builder.readonly.watermark": "Shared by {owner} · read-only", "builder.readonly.blocked": "Read-only — only the owner can edit.", "builder.share.title": "Share scenario", "builder.share.subtitle": "Share read-only with HLC colleagues. You remain the sole editor.", "builder.share.search.placeholder": "Search name or email …", "builder.share.button": "Share read-only", "builder.share.current.title": "Already shared with:", "builder.share.current.empty": "Not shared with anyone yet.", "builder.share.revoke": "Remove", "builder.share.close": "Close", "builder.share.no_results": "No users found.", "builder.share.error": "Sharing failed. Please try again.", "builder.promote.title": "Create as project", "builder.promote.step1": "Confirm", "builder.promote.step2": "Add parties", "builder.promote.step3": "Case metadata", "builder.promote.next": "Next", "builder.promote.back": "Back", "builder.promote.commit": "Create", "builder.promote.cancel": "Cancel", "builder.promote.summary.heading": "What will be created:", "builder.promote.summary.proceeding": "Primary proceeding", "builder.promote.summary.events_filed": "filed events", "builder.promote.summary.events_planned": "planned events", "builder.promote.summary.flags": "active options", "builder.promote.summary.note_extra": "{n} further standalone proceeding(s) stay in the scenario and are not carried over automatically.", "builder.promote.parties.hint": "Enter the real party names — or add them later in the case file.", "builder.promote.parties.add": "+ Add party", "builder.promote.parties.name": "Name", "builder.promote.parties.role": "Role (e.g. claimant)", "builder.promote.parties.representative": "Representative", "builder.promote.parties.remove": "Remove", "builder.promote.parties.empty": "No parties yet.", "builder.promote.meta.title": "Case title / matter", "builder.promote.meta.title.placeholder": "e.g. Becker v. X — UPC infringement", "builder.promote.meta.reference": "Reference (optional)", "builder.promote.meta.case_number": "Case number (optional)", "builder.promote.meta.client_number": "Client number (optional)", "builder.promote.meta.our_side": "Our side", "builder.promote.meta.our_side.claimant": "Claimant", "builder.promote.meta.our_side.defendant": "Defendant", "builder.promote.meta.our_side.none": "— open —", "builder.promote.meta.parent": "Parent litigation (optional)", "builder.promote.meta.parent.none": "— none —", "builder.promote.meta.team": "Team (optional)", "builder.promote.meta.team.hint": "You are added as lead automatically.", "builder.promote.error.title_required": "Please enter a case title.", "builder.promote.error.generic": "Creation failed. Please try again.", "builder.promote.success": "Case created — redirecting …", "builder.mobile.blocked": "Open on a larger screen to edit.", "deadlines.step1": "Select Proceeding Type", "deadlines.step2": "Enter Trigger Date", "deadlines.step2.perspective": "Perspective and Date", "deadlines.step3": "Result", "deadlines.upc": "UPC", "deadlines.de": "German Courts", "deadlines.epa": "EPO", "deadlines.dpma": "DPMA", "deadlines.dpma.opp.dpma": "Opposition DPMA", "deadlines.dpma.appeal.bpatg": "Appeal BPatG (DPMA)", "deadlines.dpma.appeal.bgh": "Legal Appeal BGH", "deadlines.trigger.event": "Trigger event:", "deadlines.trigger.date": "Date:", "deadlines.trigger.label": "Trigger date", "deadlines.priority.date": "Priority date (optional):", "deadlines.court.label": "Court:", "deadlines.flag.ccr": "Counterclaim for revocation filed", "deadlines.flag.inf_amend": "Application to amend the patent filed (R.30)", "deadlines.flag.rev_amend": "Application to amend the patent filed (R.49.2.a)", "deadlines.flag.rev_cci": "Counterclaim for infringement filed (R.49.2.b)", "deadlines.calculate": "Calculate Deadlines", "deadlines.print": "Print", "deadlines.reset": "\u2190 Start Over", "deadlines.upc.inf.cfi": "Infringement", "deadlines.upc.rev.cfi": "Revocation", "deadlines.upc.ccr.cfi": "Counterclaim for Revocation", "deadlines.upc.pi.cfi": "Provisional Measures", "deadlines.upc.apl.merits": "Appeal", "deadlines.upc.dmgs.cfi": "Damages Determination", "deadlines.upc.disc.cfi": "Lay-open Books", "deadlines.upc.apl.cost": "Cost-Decision Appeal", "deadlines.upc.apl.unified": "Appeal", "deadlines.appeal_target.label": "Appeal against:", "deadlines.appeal_target.endentscheidung": "Final Decision", "deadlines.appeal_target.kostenentscheidung": "Cost Decision", "deadlines.appeal_target.anordnung": "Order", "deadlines.appeal_target.schadensbemessung": "Damages Determination", "deadlines.appeal_target.bucheinsicht": "Lay-open Books", "deadlines.upc.apl.order": "Order Appeal (15-day)", "deadlines.de.group.inf": "Infringement proceedings", "deadlines.de.group.null": "Nullity proceedings", "deadlines.de.inf.lg": "LG (1st instance)", "deadlines.de.inf.olg": "OLG (Appeal)", "deadlines.de.inf.bgh": "BGH (Revision / NZB)", "deadlines.de.null.bpatg": "BPatG (1st instance)", "deadlines.de.null.bgh": "BGH (Appeal)", "deadlines.epa.opp.opd": "Opposition", "deadlines.epa.opp.boa": "Appeal", "deadlines.epa.grant.exa": "Grant Procedure", "deadlines.party.both.label": "both parties", "deadlines.court.set": "set by court", "deadlines.court.indirect": "tbd", "deadlines.conditional.depends_on": "depends on {parent}", "deadlines.conditional.unset": "depends on an upstream event", "deadlines.optional.badge": "on request", "deadlines.priority.mandatory": "Mandatory", "deadlines.priority.recommended": "Recommended", "deadlines.priority.optional": "Optional (on request)", "deadlines.priority.informational": "For information only", "deadlines.priority.informational.notice_label": "Note", "project.instance_level.first": "First instance", "project.instance_level.appeal": "Appeal", "project.instance_level.cassation": "Cassation", "project.instance_level.unset": "(unset)", "verlauf.spawn.chip": "Spawns into:", "verlauf.spawn.cycle_warning": "Some cross-proceeding spawn rules were skipped due to a cycle.", "deadlines.proceeding.selected": "Proceeding:", "deadlines.proceeding.reselect": "Choose another proceeding", "deadlines.step1.heading": "Step 1 — Which matter?", "deadlines.step1.search.placeholder": "Search matters…", "deadlines.step1.search.empty": "No matching matter.", "deadlines.step1.divider.new": "or a new matter", "deadlines.step1.divider.adhoc": "or ad-hoc, without a matter", "deadlines.step1.new.cta": "+ Create new matter", "deadlines.step1.adhoc.upc": "UPC proceeding", "deadlines.step1.adhoc.de": "DE proceeding", "deadlines.step1.adhoc.epa": "EPA proceeding", "deadlines.step1.adhoc.dpma": "DPMA proceeding", "deadlines.step1.selected": "Matter:", "deadlines.step1.reselect": "Other matter", "deadlines.step1.summary.adhoc.suffix": "no matter (exploration)", "deadlines.step2.heading": "Step 2 — What do you want to do?", "deadlines.step2.file.title": "File something", "deadlines.step2.file.desc": "Outgoing — your action triggers a deadline.", "deadlines.step2.happened.title": "Something happened", "deadlines.step2.happened.desc": "Incoming — an event triggered a deadline.", "deadlines.step2.browse.title": "Browse procedure roadmap", "deadlines.step2.browse.desc": "Browse / Learn — see what happens when. No deadline entered.", "deadlines.save.cta.adhoc.hint": "Ad-hoc — no matter, no save", "deadlines.step3a.heading": "What do you want to file?", "deadlines.step3a.back": "back to selection", "deadlines.step3a.file.title": "File a submission", "deadlines.step3a.file.desc": "Open the Verfahrensablauf — compute deadline and add to the matter.", "deadlines.step3a.draft.title": "Draft a submission", "deadlines.step3a.draft.desc": "Preparation — later linked to the drafting surface.", "deadlines.step3a.enter.title": "Enter deadline manually", "deadlines.step3a.enter.desc": "Direct entry — date and type already known.", "deadlines.step3a.soon": "coming soon", "deadlines.date.edit.hint": "Edit date — downstream deadlines will recalculate", "deadlines.view.label": "View:", "deadlines.view.timeline": "Timeline", "deadlines.view.columns": "Columns", "deadlines.notes.show": "Show details", "deadlines.durations.show": "Show durations", "deadlines.col.ours": "Client Side", "deadlines.col.court": "Court", "deadlines.col.opponent": "Opponent Side", "deadlines.col.both": "Both parties", "deadlines.col.proactive": "Proactive", "deadlines.col.reactive": "Reactive", // t-paliad-265 — per-event-card choice popover (Verfahrensablauf timeline) "choices.caret.title": "Options for this event", "choices.appellant.title": "Appeal by …", "choices.appellant.claimant": "Claimant side", "choices.appellant.defendant": "Defendant side", "choices.appellant.both": "both parties", "choices.appellant.none": "no appeal", "choices.include_ccr.title": "Include nullity counterclaim", "choices.include_ccr.true": "Yes", "choices.include_ccr.false": "No", "choices.skip.title": "Skip for this case", "choices.skip.true": "Skip", "choices.skip.false": "Include", "choices.skipped.chip": "skipped", "choices.appellant.chip": "Appeal:", "choices.include_ccr.chip": "with nullity counterclaim", "choices.reset": "Reset choice", "choices.commit.error": "Could not save selection", // t-paliad-290 (m/paliad#122) — re-surface hidden optional cards. "choices.show_hidden.label": "Show hidden", "choices.show_hidden.count": "Hidden ({n})", "choices.unhide.chip": "Show again", // t-paliad-293 — iconified state markers on the Verfahrensablauf // event cards. Tooltip-only text; the glyph is the primary signal. "state.optional.tooltip": "Optional event", "state.hidden.tooltip": "Hidden — restore via the options menu", "deadlines.adjusted": "Adjusted", "deadlines.adjusted.reason": "weekend/holiday", "deadlines.adjusted.weekend": "weekend", "deadlines.adjusted.weekend.saturday": "Saturday", "deadlines.adjusted.weekend.sunday": "Sunday", "deadlines.adjusted.holiday": "{name} holiday", "deadlines.adjusted.vacation": "{name} ({span})", // Trigger-event mode (PR-2 — youpc-parity) "deadlines.mode.procedure": "Course of proceedings", "deadlines.mode.event": "What comes after…", "deadlines.event.step1": "Select trigger event", "deadlines.event.step1.hint": "Which event happened? (e.g. statement of claim, EPO decision, notification of an order)", "deadlines.event.step2": "Event date", "deadlines.event.step3": "Follow-up deadlines", "deadlines.event.search.label": "Search trigger event", "deadlines.event.search.placeholder": "Type to search…", "deadlines.event.empty": "No matching events", "deadlines.event.loading": "Loading…", "deadlines.event.error": "Could not load events", "deadlines.event.selected": "Selected event:", "deadlines.event.date": "Event date:", "deadlines.event.calculate": "Calculate follow-up deadlines", "deadlines.event.noresults": "No follow-up deadlines configured for this event.", "deadlines.event.results.trigger": "Trigger:", "deadlines.event.results.date": "Date:", "deadlines.event.adjusted": "Adjusted from", "deadlines.search.label": "Search a deadline", "deadlines.search.placeholder": "Statement of Defence, RoP 23, § 82, Re-establishment…", "deadlines.search.chips.label": "Quick picks:", "deadlines.search.empty": "Type a phrase or pick a chip below.", "deadlines.search.loading": "Searching…", "deadlines.search.no_hits": "No matching deadlines found.", "deadlines.search.aliases": "Also known as:", "deadlines.search.pills.heading": "In these proceedings:", "deadlines.search.pills.cross_cutting": "Cross-cutting:", "deadlines.search.pill.duration": "Duration:", "deadlines.search.party.claimant": "Claimant", "deadlines.search.party.defendant": "Defendant", "deadlines.search.party.both": "both sides", "deadlines.search.party.court": "Court", "deadlines.search.results.count": "{n} hits", "deadlines.search.results.count_one": "1 hit", "deadlines.search.clear": "Clear search", // Fristenrechner — card-click → calc panel → add-to-project (t-paliad-136 Phase B) "deadlines.card.calc.expand_hint": "Calculate deadline or add to project", "deadlines.card.calc.close": "close", "deadlines.card.calc.pill_picker.label": "Which context?", "deadlines.card.calc.pill_picker.locked_label": "Context:", "deadlines.card.calc.pill_picker.change": "change", "deadlines.card.calc.trigger.label": "Date of triggering event", "deadlines.card.calc.flags.label": "Conditions:", "deadlines.card.calc.flag.with_ccr": "With counterclaim for revocation", "deadlines.card.calc.flag.with_amend": "With application to amend", "deadlines.card.calc.flag.with_cci": "With counterclaim for infringement", "deadlines.card.calc.result.due": "Deadline:", "deadlines.card.calc.result.original_from": "from", "deadlines.card.calc.result.from_trigger": "from", "deadlines.card.calc.result.shifted_from": "Shifted from", "deadlines.card.calc.result.shifted_because": "due to", "deadlines.card.calc.result.court_set": "Court-determined — no calculable date.", "deadlines.card.calc.result.calculating": "Calculating…", "deadlines.card.calc.result.error": "Calculation failed.", "deadlines.card.calc.add_to_project": "Add to project", "deadlines.card.calc.add_to_project.disabled": "Court-determined — add manually", "deadlines.pathway.fork.heading": "What would you like to do?", "deadlines.pathway.a.title": "Browse a proceeding", "deadlines.pathway.a.desc": "Pick a proceeding type and see all its deadlines on a single timeline.", "deadlines.pathway.b.title": "File a deadline based on an event", "deadlines.pathway.b.desc": "Something happened — find the right deadline for the matter.", "deadlines.pathway.shortcut.label": "or jump straight to a deadline:", "deadlines.pathway.back": "back to selection", "deadlines.pathway.b.mode.tree": "Step-by-step (decision tree)", "deadlines.pathway.b.mode.filter": "Filter / Search", "deadlines.pathway.b.tree.coming_soon": "The decision tree is coming soon. Switch to \"Filter / Search\" or return to selection.", "deadlines.pathway.b.tree.step.back": "step back", "deadlines.pathway.b.tree.empty": "No matches for this path.", "deadlines.pathway.b.tree.reset": "Restart", "deadlines.pathway.b.tree.start_question": "What happened?", "deadlines.row.mode.question": "How to search?", "deadlines.row.edit": "edit", "deadlines.row.prefilled.from_akte": "from matter", "deadlines.row.reset": "Reset path", "deadlines.row.reset.title": "Reset path — discard all cascade answers", "deadlines.row.search.link": "Search directly", "deadlines.row.search.link.title": "Search directly for a deadline — skips the decision tree", "deadlines.row.autowalk.tooltip": "These steps were derived from your matter. Click \"edit\" to override any answer manually.", "deadlines.row.autowalk.dismiss": "Dismiss hint", "deadlines.row.search.panel.back": "Back to decision tree", "deadlines.row.search.panel.back.title": "Close inline search and return to the decision tree", "deadlines.row.search.panel.placeholder": "Search for a deadline — e.g. \"statement of claim\", \"hint order\"…", "deadlines.row.search.panel.clear": "Clear input", "deadlines.inbox.label": "Where did it arrive?", "deadlines.inbox.cms.title": "UPC — via CMS", "deadlines.inbox.bea.title": "National-DE — via beA", "deadlines.inbox.posteingang.title": "National-DE — postal mail", "deadlines.inbox.posteingang": "Postal", "deadlines.inbox.all": "All", "deadlines.filter.forum.label": "Forum / System:", "deadlines.filter.forum.upc_cfi": "UPC CFI", "deadlines.filter.forum.upc_coa": "UPC CoA", "deadlines.filter.forum.de_lg": "DE LG", "deadlines.filter.forum.de_olg": "DE OLG", "deadlines.filter.forum.de_bgh": "DE BGH", "deadlines.filter.forum.de_bpatg": "DE BPatG", "deadlines.filter.forum.epa_grant": "EPO Examining", "deadlines.filter.forum.epa_opp": "EPO Opposition", "deadlines.filter.forum.epa_appeal": "EPO Board of Appeal", "deadlines.filter.forum.dpma": "DPMA", "deadlines.perspective.label": "I represent:", "deadlines.perspective.claimant": "Claimant side (Proactive)", "deadlines.perspective.defendant": "Defendant side (Reactive)", "deadlines.perspective.claimant.short": "Claimant", "deadlines.perspective.defendant.short": "Defendant", "deadlines.perspective.both.short": "Both", "deadlines.perspective.claimant.title": "Claimant side — hides typical defendant submissions", "deadlines.perspective.defendant.title": "Defendant side — hides typical claimant submissions", "deadlines.perspective.appeal_filed_by.label": "Appeal filed by:", "deadlines.perspective.predefined_hint": "predefined from project", "deadlines.side.label": "Side:", "deadlines.side.claimant": "Claimant", "deadlines.side.defendant": "Defendant", "deadlines.side.undefined": "Undefined", "deadlines.side.from_project": "From case:", "deadlines.side.override": "Choose other side", "deadlines.side.hint": "Pick a side to focus the columns.", "deadlines.event.composite.label": "Composite:", "deadlines.event.unit.days.one": "day", "deadlines.event.unit.days.many": "days", "deadlines.event.unit.weeks.one": "week", "deadlines.event.unit.weeks.many": "weeks", "deadlines.event.unit.months.one": "month", "deadlines.event.unit.months.many": "months", "deadlines.event.unit.working_days.one": "working day", "deadlines.event.unit.working_days.many": "working days", "deadlines.event.timing.before": "before", "deadlines.event.timing.after": "after", // Downloads "downloads.title": "Downloads \u2014 Paliad", "downloads.heading": "Downloads", "downloads.subtitle": `Files and templates for the ${FIRM} patent team.`, "downloads.style.title": `${FIRM} Patents Style`, "downloads.style.desc": `Word template in ${FIRM} Patents style. Formatting, fonts, and macros for standardised briefs.`, "downloads.btn": "Download", // Links "links.title": "Links \u2014 Paliad", "links.heading": "Links", "links.subtitle": "Useful external links for daily patent practice.", "links.filter.all": "All", "links.search.placeholder": "Search by title, description...", "links.empty": "No links in this category.", "links.suggest.btn": "Suggest a Link", "links.suggest.title": "Suggest a Link", "links.suggest.name": "Title", "links.suggest.category": "Category", "links.suggest.desc": "Description", "links.suggest.submit": "Submit", "links.suggest.cancel": "Cancel", "links.suggest.success": "Thank you! Your suggestion will be reviewed.", "links.suggest.error": "Error saving. Please try again.", "links.pending": "suggestions pending review", "links.feedback.title": "Feedback", "links.feedback.type": "Type", "links.feedback.broken": "Link broken", "links.feedback.outdated": "Outdated", "links.feedback.update": "Needs updating", "links.feedback.other": "Other", "links.feedback.message": "Message", "links.feedback.placeholder": "What's wrong? (e.g. link broken, outdated...)", "links.feedback.submit": "Submit", "links.feedback.success": "Thank you for your feedback!", // Glossar "glossar.title": "Patent Glossary \u2014 Paliad", "glossar.heading": "Patent Glossary", "glossar.subtitle": "Bilingual glossary of key patent law terminology.", "glossar.search.placeholder": "Search...", "glossar.filter.all": "All", "glossar.filter.litigation": "Litigation", "glossar.filter.prosecution": "Prosecution", "glossar.filter.general": "General", "glossar.col.de": "German", "glossar.col.en": "English", "glossar.col.definition": "Definition", "glossar.empty": "No matches found.", "glossar.suggest": "Suggest a term", "glossar.suggest.title": "Suggest a new term", "glossar.suggest.de": "German term", "glossar.suggest.en": "English term", "glossar.suggest.definition": "Definition (optional)", "glossar.suggest.category": "Category", "glossar.suggest.cancel": "Cancel", "glossar.suggest.submit": "Submit", "glossar.suggest.success": "Suggestion submitted. Thank you!", "glossar.suggest.error.required": "Please enter both DE and EN terms.", "glossar.suggest.error.generic": "Error submitting. Please try again.", "glossar.feedback.title": "Suggest a correction", "glossar.feedback.tooltip": "Suggest a correction", // Geb\u00fchrentabellen "gebuehren.title": "Fee Schedules \u2014 Paliad", "gebuehren.heading": "Fee Schedules", "gebuehren.subtitle": "Interactive fee schedules for GKG, RVG, UPC, EPO, and PatKostG.", "gebuehren.streitwert": "Dispute Value (EUR)", "gebuehren.streitwert.placeholder": "e.g. 1,000,000", "gebuehren.lookup": "Look up", "gebuehren.current": "Current", "gebuehren.col.streitwert": "Dispute Value (EUR)", "gebuehren.col.fee": "1.0 Fee (EUR)", "gebuehren.col.maxvalue": "up to value (EUR)", "gebuehren.col.courtfee": "Court Fee (EUR)", "gebuehren.upc.valuebased": "Value-based Fees", "gebuehren.upc.recoverable": "Recoverable Costs (Ceiling)", "gebuehren.upc.ceiling": "Ceiling (EUR)", "gebuehren.epa.proceeding": "Proceeding", "gebuehren.epa.fee": "Fee (EUR)", "gebuehren.epa.smefee": "SME Fee (EUR)", "gebuehren.multipliers.title": "Fee Multipliers", "gebuehren.multipliers.desc": "Factors for calculating court and attorney fees per instance.", "gebuehren.multipliers.instance": "Instance", "gebuehren.multipliers.courtfee": "Court", "gebuehren.multipliers.factor": "Factor", "gebuehren.multipliers.basis": "Basis", "gebuehren.patkostg.court": "Court Fees (BPatG / BGH)", "gebuehren.patkostg.dpma": "DPMA Fees", "gebuehren.patkostg.annual": "Annual Renewal Fees (Patent)", "gebuehren.patkostg.year": "Patent Year", "gebuehren.patkostg.note": "Note", "gebuehren.patkostg.item": "Fee Item", "gebuehren.feedback.btn": "Feedback", "gebuehren.feedback.title": "Fee Schedule Feedback", "gebuehren.feedback.type": "Type", "gebuehren.feedback.error": "Error found", "gebuehren.feedback.missing": "Missing data", "gebuehren.feedback.suggestion": "Improvement suggestion", "gebuehren.feedback.other": "Other", "gebuehren.feedback.schedule": "Regarding", "gebuehren.feedback.general": "General", "gebuehren.feedback.message": "Message", "gebuehren.feedback.submit": "Submit", "gebuehren.feedback.cancel": "Cancel", "gebuehren.feedback.success": "Thank you for your feedback!", "gebuehren.feedback.error.required": "Please enter a message.", "gebuehren.feedback.error.generic": "Error submitting. Please try again.", // Index \u2014 Geb\u00fchrentabellen card "index.gebuehren.title": "Fee Schedules", "index.gebuehren.desc": "Interactive fee schedules for GKG, RVG, UPC, EPO, and PatKostG. Enter a dispute value, read the fee.", // Checklisten "index.checklisten.title": "Checklists", "index.checklisten.desc": "Interactive filing checklists for UPC, German, and EPO proceedings. Multiple instances per template, linkable to an Akte.", "checklisten.title": "Checklists \u2014 Paliad", "checklisten.heading": "Checklists", "checklisten.subtitle": "Interactive checklists for typical procedural steps before the UPC, German Patent Court, and EPO. Tick off, print, miss nothing.", "checklisten.tab.templates": "Templates", "checklisten.tab.mine": "My templates", "checklisten.tab.instances": "Existing instances", "checklisten.mine.empty": "You haven't authored a template yet.", "checklisten.tab.gallery": "Shared templates", "checklisten.gallery.empty": "No shared templates visible yet.", "checklisten.filter.other": "Other", "checklisten.instance.outdated.badge": "Template updated", "checklisten.instance.outdated.note": "The underlying template has been updated since this instance was created (v{from} → v{to}).", "checklisten.instance.outdated.diff": "Show changes", "checklisten.instance.diff.title": "Changed items", "checklisten.instance.diff.close": "Close", "checklisten.instance.diff.added": "Added", "checklisten.instance.diff.removed": "Removed", "checklisten.instance.diff.changed": "Changed", "checklisten.instance.diff.empty": "No content differences in items.", "checklisten.instance.diff.error": "Diff failed.", "checklisten.mine.new": "New template", "checklisten.mine.loading": "Loading…", "checklisten.mine.visibility.private": "Private", "checklisten.mine.visibility.firm": "Firm-wide", "checklisten.mine.visibility.shared": "Shared", "checklisten.mine.visibility.global": "In catalog", "checklisten.mine.edit": "Edit", "checklisten.mine.delete": "Delete", "checklisten.mine.delete.confirm": "Delete template \"{title}\"? Existing instances remain.", "checklisten.mine.delete.error": "Delete failed.", "checklisten.mine.origin.authored": "Your template", "checklisten.author.title": "Author template — Paliad", "checklisten.author.title.edit": "Edit template — Paliad", "checklisten.author.heading.new": "New checklist template", "checklisten.author.heading.edit": "Edit template", "checklisten.author.subtitle": "Author your own checklist with sections and items. Keep it private or open it firm-wide.", "checklisten.author.field.title": "Title", "checklisten.author.field.title.hint": "e.g. \"UPC SoC — internal checklist\".", "checklisten.author.field.description": "Short description", "checklisten.author.field.regime": "Regime", "checklisten.author.field.court": "Court / authority", "checklisten.author.field.reference": "Legal source", "checklisten.author.field.deadline": "Deadline (optional)", "checklisten.author.field.lang": "Language", "checklisten.author.field.visibility": "Visibility", "checklisten.author.visibility.private.hint": "Visible only to you.", "checklisten.author.visibility.firm.hint": "Visible to every authenticated colleague.", "checklisten.author.groups.heading": "Sections and items", "checklisten.author.groups.add": "+ Add section", "checklisten.author.group.title": "Section title", "checklisten.author.group.remove": "Remove section", "checklisten.author.item.add": "+ Add item", "checklisten.author.item.label": "Item", "checklisten.author.item.note": "Note (optional)", "checklisten.author.item.rule": "Rule (optional)", "checklisten.author.item.remove": "Remove item", "checklisten.author.save": "Save", "checklisten.author.cancel": "Cancel", "checklisten.author.saving": "Saving…", "checklisten.author.error.title": "Please enter a title.", "checklisten.author.error.no_groups": "Please add at least one section with one item.", "checklisten.author.error.generic": "Save failed. Please try again.", "checklisten.author.error.notfound": "Template not found or you don't have permission to edit it.", "checklisten.detail.edit": "Edit", "checklisten.detail.delete": "Delete", "checklisten.detail.share": "Share", "checklisten.detail.promote": "Add to firm catalog", "checklisten.detail.demote": "Remove from catalog", "checklisten.detail.promote.confirm": "Add this template to the firm catalog? Every colleague will see it under Templates.", "checklisten.detail.demote.confirm": "Remove this template from the firm catalog? It stays firm-visible.", "checklisten.detail.promote.error": "Promotion failed.", "checklisten.detail.delete.confirm": "Delete template \"{title}\"? Existing instances remain.", "checklisten.detail.delete.error": "Delete failed.", "checklisten.detail.authored.by": "Authored by {author}", "checklisten.detail.visibility": "Visibility: {state}", "checklisten.detail.visibility.set.firm": "Share with firm", "checklisten.detail.visibility.set.private": "Make private", "checklisten.detail.visibility.error": "Couldn't change visibility.", "checklisten.share.title": "Share template", "checklisten.share.kind": "Recipient type", "checklisten.share.kind.user": "Colleague", "checklisten.share.kind.office": "Office", "checklisten.share.kind.partner_unit": "Practice unit", "checklisten.share.kind.project": "Project", "checklisten.share.pick": "— pick —", "checklisten.share.submit": "Share", "checklisten.share.cancel": "Cancel", "checklisten.share.error.pick": "Please pick a recipient.", "checklisten.share.error.generic": "Share failed.", "checklisten.share.success": "Shared.", "checklisten.share.grants.heading": "Existing grants", "checklisten.share.grants.empty": "No grants.", "checklisten.share.grants.revoke": "Remove", "checklisten.share.grants.revoke.confirm": "Remove this grant?", "checklisten.share.grants.revoke.error": "Revoke failed.", "checklisten.share.grants.recipient.user": "Colleague", "checklisten.share.grants.recipient.office": "Office", "checklisten.share.grants.recipient.partner_unit": "Practice unit", "checklisten.share.grants.recipient.project": "Project", "checklisten.instances.all.loading": "Loading…", "checklisten.instances.all.empty": "No checklist instances yet. Create one from the Templates tab.", "checklisten.instances.all.col.template": "Template", "checklisten.instances.all.col.name": "Name", "checklisten.instances.all.col.project": "Project", "checklisten.instances.all.col.progress": "Progress", "checklisten.instances.all.col.created": "Created", "checklisten.instances.all.personal": "Personal", "checklisten.filter.all": "All", "checklisten.filter.de": "DE", "checklisten.empty": "No checklists in this category.", "checklisten.back": "Back to overview", "checklisten.print": "Print", "checklisten.reset": "Reset", "checklisten.reset.confirm": "Really reset all checkboxes for this instance?", "checklisten.reset.error": "Reset failed. Please try again.", "checklisten.notfound": "Checklist not found.", "checklisten.newInstance": "New instance", "checklisten.newInstance.title": "New checklist instance", "checklisten.newInstance.name": "Name", "checklisten.newInstance.name.hint": "e.g. \u201CMueller v. Schmidt \u2014 SoC\u201D.", "checklisten.newInstance.akte": "Akte (optional)", "checklisten.newInstance.akte.none": "\u2014 no Akte \u2014", "checklisten.newInstance.akte.hint": "When linked, office colleagues can see the instance.", "checklisten.newInstance.cancel": "Cancel", "checklisten.newInstance.submit": "Create", "checklisten.newInstance.error.name": "Please enter a name.", "checklisten.newInstance.error.generic": "Failed to create instance. Please try again.", "checklisten.instances.heading": "Instances", "checklisten.instances.sub": "Each instance tracks its own progress and can optionally be linked to an Akte.", "checklisten.instances.loading": "Loading\u2026", "checklisten.instances.empty": "No instances yet. Click \u201CNew instance\u201D to start.", "checklisten.instances.col.name": "Name", "checklisten.instances.col.progress": "Progress", "checklisten.instances.col.akte": "Akte", "checklisten.instances.col.created": "Created", "checklisten.instances.delete.confirm": "Really delete instance \u201C{name}\u201D?", "checklisten.instances.delete.error": "Failed to delete.", "checklisten.instance.title": "Checklist instance \u2014 Paliad", "checklisten.instance.back": "Back to template", "checklisten.instance.loading": "Loading\u2026", "checklisten.instance.notfound": "Instance not found or not authorised.", "checklisten.instance.rename": "Rename", "checklisten.instance.rename.save": "Save", "checklisten.instance.rename.error": "Rename failed.", "checklisten.instance.akte.open": "Open", "checklisten.disclaimer": "Note: These checklists are aides-memoire only and do not replace case-by-case review. The applicable procedural rules are controlling.", "checklisten.feedback.btn": "Feedback", "checklisten.feedback.title": "Checklist feedback", "checklisten.feedback.type": "Type", "checklisten.feedback.error": "Error found", "checklisten.feedback.missing": "Missing item", "checklisten.feedback.suggestion": "Improvement suggestion", "checklisten.feedback.other": "Other", "checklisten.feedback.message": "Message", "checklisten.feedback.submit": "Submit", "checklisten.feedback.cancel": "Cancel", "checklisten.feedback.success": "Thank you for your feedback!", "checklisten.feedback.error.required": "Please enter a message.", "checklisten.feedback.error.generic": "Error submitting. Please try again.", // Gerichte "gerichte.title": "Court Directory \u2014 Paliad", "gerichte.heading": "Court Directory", "gerichte.subtitle": "Contacts, addresses, and filing details for courts, divisions, and offices relevant to patent practice.", "gerichte.search.placeholder": "Search by name, city, type...", "gerichte.filter.type": "Type:", "gerichte.filter.country": "Country:", "gerichte.filter.all": "All", "gerichte.filter.de": "Germany", "gerichte.filter.epa": "EPO", "gerichte.filter.national": "National", "gerichte.empty": "No matches found.", "gerichte.field.address": "Address", "gerichte.field.contact": "Contact", "gerichte.field.fax": "Fax", "gerichte.field.filing": "Filing", "gerichte.field.notes": "Practical notes", "gerichte.field.hlContact": `${FIRM} contact`, "gerichte.feedback.btn": "Suggest a correction", "gerichte.feedback.title": "Suggest a correction", "gerichte.feedback.court": "Court", "gerichte.feedback.type": "Type of feedback", "gerichte.feedback.type.address": "Address / contact details", "gerichte.feedback.type.filing": "Filing details", "gerichte.feedback.type.notes": "Practical notes", "gerichte.feedback.type.missing": "Missing court", "gerichte.feedback.type.other": "Other", "gerichte.feedback.message": "Message", "gerichte.feedback.cancel": "Cancel", "gerichte.feedback.submit": "Submit", "gerichte.feedback.success": "Thank you \u2014 your feedback has been recorded.", "gerichte.feedback.error.required": "Please enter a message.", "gerichte.feedback.error.generic": "Error submitting. Please try again.", // Index \u2014 Gerichte card "index.gerichte.title": "Court Directory", "index.gerichte.desc": "Courts, UPC divisions and patent offices at a glance \u2014 addresses, filing details, and languages.", // Akten (matters) \u2014 list "projects.filter.office": "Office", "projects.filter.office.all": "All offices", "projects.filter.status.completed": "Completed", "projects.status.active": "Active", "projects.status.completed": "Completed", "projects.status.archived": "Archived", "projects.col.ref": "Reference", "projects.col.office": "Office", "projects.onboarding.required": "Please complete onboarding before creating matters.", // Akten \u2014 create form "projects.field.ref": "Reference number", "projects.field.ref.placeholder": `e.g. ${FIRM}-2026-0042`, "projects.field.office": "Owning office", "projects.field.courtRef": "Court reference (optional)", "projects.field.akteType": "Proceeding type (optional)", "projects.field.firmWide": "Firm-wide visible", "projects.field.firmWide.hint": "When enabled, all lawyers can see this matter. Partners/admins only.", "projects.field.collaborators": "Additional collaborators (optional)", "projects.field.collaborators.placeholder": "Type a name or email\u2026", "projects.field.collaborators.hint": "Users who should also have access (including cross-office).", "projects.error.required": "Title and reference are required.", "projects.error.generic": "Error creating matter. Please try again.", "projects.error.forbidden": "Not allowed. Check your role and office.", // Akten \u2014 detail "projects.detail.firmwide.on": "Firm-wide visible", "projects.detail.firmwide.off": "Office-only", "projects.detail.checklisten.hint": "Instances are created on the template page under \"Checklists\".", "projects.detail.verlauf.loadingMore": "Loading \u2026", "projects.detail.parteien.remove": "Remove", "projects.detail.parteien.remove.confirm": "Really remove this party?", // Phase E — Fristen (persistent deadlines) "deadlines.list.title": "Deadlines \u2014 Paliad", "deadlines.list.heading": "Deadlines", "deadlines.list.subtitle": "Persistent deadlines for your matters. Overdue, today, this week, next week \u2014 at a glance.", "deadlines.list.new": "New deadline", "deadlines.summary.overdue": "Overdue", "deadlines.summary.today": "Today", "deadlines.summary.thisweek": "This week", "deadlines.summary.nextweek": "Next week", "deadlines.summary.completed": "Done", "deadlines.summary.later": "Later", "deadlines.filter.status": "Status", "deadlines.filter.akte": "Matter", "deadlines.filter.all": "All (open & completed)", "deadlines.filter.pending": "All open", "deadlines.filter.overdue": "Overdue", "deadlines.filter.today": "Today", "deadlines.filter.thisweek": "This week", "deadlines.filter.nextweek": "Next week", "deadlines.filter.completed": "Done", "deadlines.filter.later": "Later", "deadlines.filter.akte.all": "All matters", "deadlines.col.due": "Due", "deadlines.col.title": "Title", "deadlines.col.akte": "Matter", "deadlines.col.rule": "Rule", "deadlines.col.status": "Status", "deadlines.empty.title": "No deadlines yet", "deadlines.empty.hint": "Once deadlines are added or imported from the calculator, they appear here.", "deadlines.empty.filtered": "No deadlines match these filters.", "deadlines.unavailable": "Deadline management currently unavailable \u2014 please contact your administrator.", "deadlines.status.pending": "Open", "deadlines.status.completed": "Completed", "deadlines.status.cancelled": "Cancelled", "deadlines.status.waived": "Waived", "deadlines.urgency.overdue": "Overdue", "deadlines.urgency.today": "Today", "deadlines.urgency.soon": "Soon", "deadlines.urgency.later": "Later", "deadlines.complete.action": "Complete", "deadlines.complete.confirm": "Mark deadline \u201c{title}\u201d as completed?", // t-paliad-139 \u2014 subtree aggregation toggle and attribution chip "aggregation.toggle.subtree": "Incl. sub-projects", "aggregation.toggle.direct_only": "Direct only", "aggregation.attribution.on": "on", // t-paliad-139 Phase 2 \u2014 Team-tab subsections + Partner Units management "projects.team.section.from_descendants": "From sub-projects", "projects.team.section.from_descendants.hint": "People directly staffed on a sub-project who are not on this project or an ancestor.", "projects.team.section.derived": "Derived (Partner Unit)", "projects.team.section.derived.hint": "Members active on this project via an attached partner unit.", "projects.team.section.units": "Partner Units", "projects.team.section.units.hint": "Partner units attached to this project. Members in the listed unit roles auto-derive.", "projects.team.derived.from": "via", "projects.team.derived.visibility": "View", "projects.team.derived.authority": "View & 4-eye", "projects.team.derived.authority.hint": "Authority: derived members count as approvers.", "projects.team.units.attach": "Attach partner unit", "projects.team.units.detach": "Remove", "projects.team.units.choose": "Select a unit\u2026", "projects.team.units.select": "Unit", "projects.team.units.derive_roles": "Which unit roles should derive?", "projects.team.units.grants_authority": "Grant authority (4-eye)", "projects.team.units.col.name": "Unit", "projects.team.units.col.derive_roles": "Derived roles", "projects.team.units.col.authority": "Authority", "projects.team.units.members": "members", "projects.team.units.empty": "No partner units attached.", "projects.team.units.confirm_detach": "Remove partner unit?", "unit_role.lead": "Lead", "unit_role.attorney": "Attorney", "unit_role.senior_pa": "Senior PA", "unit_role.pa": "PA", "unit_role.paralegal": "Paralegal", "deadlines.neu.title": "New deadline \u2014 Paliad", "deadlines.neu.heading": "Create new deadline", "deadlines.neu.subtitle": "A persistent deadline attached to a matter. Visible to anyone who can see that matter.", "deadlines.neu.back": "\u2190 Back to list", "deadlines.neu.cancel": "Cancel", "deadlines.neu.submit": "Create deadline", "deadlines.field.akte": "Matter", "deadlines.field.akte.choose": "Please choose\u2026", "deadlines.field.akte.empty": "You don't have any matters yet. Please create one first.", "deadlines.field.akte.empty.link": "Create matter", "deadlines.field.title": "Title", "deadlines.field.title.placeholder": "e.g. File statement of defence", "deadlines.field.due": "Due date", "deadlines.field.rule": "Rule (optional)", "deadlines.field.rule.auto_badge": "Auto", "deadlines.field.rule.auto_no_match": "No rule maps to the chosen Type", "deadlines.field.rule.auto_pick_type": "Pick a Type first", "deadlines.field.rule.custom_badge": "Custom", "deadlines.field.rule.custom_placeholder": "e.g. internal review meeting, client call", "deadlines.field.rule.mode.toggle_to_auto": "Back to Auto", "deadlines.field.rule.mode.toggle_to_custom": "Enter custom rule", "deadlines.field.title.default_btn": "Default title", "deadlines.field.title.default_fallback": "New deadline", "deadlines.field.notes": "Notes (optional)", "deadlines.field.notes.placeholder": "References, hints, next steps\u2026", "deadlines.error.required": "Matter, title and due date are required.", "deadlines.error.generic": "Error creating deadline. Please try again.", "deadlines.detail.title": "Deadline \u2014 Paliad", "deadlines.detail.back": "\u2190 Back to deadlines", "deadlines.detail.loading": "Loading\u2026", "deadlines.detail.notfound": "Deadline not found or not accessible.", "deadlines.detail.complete": "Mark as completed", "deadlines.detail.completed.already": "Already completed", "deadlines.detail.reopen": "Reopen", "deadlines.action.reopen": "Reopen", "deadlines.detail.edit": "Edit", "deadlines.detail.save": "Save", "deadlines.detail.cancel": "Cancel", "deadlines.detail.delete": "Delete deadline", "deadlines.detail.delete.confirm.title": "Really delete this deadline?", "deadlines.detail.delete.confirm.body": "The deadline will be permanently removed. The entry in the matter activity log is preserved.", "deadlines.detail.delete.confirm.cancel": "Cancel", "deadlines.detail.delete.confirm.ok": "Delete", "deadlines.detail.due": "Due date", "deadlines.detail.rule": "Rule", "deadlines.detail.source": "Source", "deadlines.detail.notes": "Notes", "deadlines.detail.created": "Created", "deadlines.detail.completed": "Completed on", "deadlines.source.manual": "Manual", "deadlines.source.fristenrechner": "Calculator", "deadlines.source.caldav": "CalDAV", "deadlines.source.imported": "Import", "cal.day.mon": "Mon", "cal.day.tue": "Tue", "cal.day.wed": "Wed", "cal.day.thu": "Thu", "cal.day.fri": "Fri", "cal.day.sat": "Sat", "cal.day.sun": "Sun", "cal.month.0": "January", "cal.month.1": "February", "cal.month.2": "March", "cal.month.3": "April", "cal.month.4": "May", "cal.month.5": "June", "cal.month.6": "July", "cal.month.7": "August", "cal.month.8": "September", "cal.month.9": "October", "cal.month.10": "November", "cal.month.11": "December", "cal.view.month": "Month", "cal.view.week": "Week", "cal.view.day": "Day", "cal.month.prev": "Previous month", "cal.month.next": "Next month", "cal.week.prev": "Previous week", "cal.week.next": "Next week", "cal.day.prev": "Previous day", "cal.day.next": "Next day", "cal.day.back_to_month": "Back to month", "cal.today": "Today", "cal.day.open_day": "Open day view", "cal.day.no_entries": "Nothing scheduled this day.", // Akten detail — Fristen tab (Phase E) // Fristenrechner — save to Akte (Phase E) "deadlines.save.cta": "Save as deadline(s)", "deadlines.save.modal.title": "Import deadlines", "deadlines.save.modal.akte": "Matter", "deadlines.save.modal.akte.choose": "Please choose\u2026", "deadlines.save.modal.choose": "Select which deadlines to import:", "deadlines.save.modal.cancel": "Cancel", "deadlines.save.modal.submit": "Import", "deadlines.save.modal.no_akten": "You don't have any matters yet. Please create one first.", "deadlines.save.modal.no_akten.link": "Create matter", "deadlines.save.success": "Deadlines imported.", "deadlines.save.success.link": "Open deadlines", "deadlines.save.error": "Import failed.", "deadlines.save.skip_court_set": "Court-set entries with no date will be skipped.", // Fristenrechner overhaul — shared result view (S2, design §4). "deadlines.overhaul.loading": "Loading follow-up deadlines…", "deadlines.overhaul.load_error": "Could not load follow-up deadlines.", "deadlines.overhaul.empty": "No follow-up deadlines configured for this event.", "deadlines.overhaul.trigger.label": "Trigger event", "deadlines.overhaul.trigger.date": "Trigger date:", "deadlines.overhaul.followups.label": "Follow-up deadlines", "deadlines.overhaul.group.mandatory": "Mandatory", "deadlines.overhaul.group.recommended": "Recommended", "deadlines.overhaul.group.optional": "Optional", "deadlines.overhaul.group.conditional": "Conditional", "deadlines.overhaul.spawn.badge": "⇲ new proceeding", "deadlines.overhaul.spawn.tooltip": "This rule initiates a new proceeding.", "deadlines.detail.label": "Detail:", "deadlines.detail.mandatory_only": "Mandatory only", "deadlines.detail.selected": "Selected", "deadlines.detail.all_options": "All options", "deadlines.detail.optional_unselected_hint": "This rule is optional and not part of the current scenario.", "deadlines.detail.aufnehmen": "Add", "deadlines.detail.entfernen": "Remove", "deadlines.overhaul.condition.badge": "Conditional", "deadlines.overhaul.crossparty.badge": "Other side", "deadlines.overhaul.crossparty.tooltip": "This deadline is filed by the opposing party. Shown for information only — not added to the Akte.", "deadlines.overhaul.notes.summary": "Note", "deadlines.overhaul.edit_date.label": "✏ Date", "deadlines.overhaul.edit_date.title": "Edit date manually", "deadlines.overhaul.select_rule": "Select deadline", "deadlines.overhaul.footer.count": "{n} deadlines selected", "deadlines.overhaul.footer.cta": "Add to project", "deadlines.overhaul.nudge.no_project": "Tip: pick a project above to import these deadlines.", "deadlines.party.claimant": "Claimant", "deadlines.party.defendant": "Defendant", "deadlines.party.both": "Both parties", "deadlines.party.court": "Court", // Fristenrechner overhaul Mode A — Direct search (S3, design §3.1). "deadlines.overhaul.modes.label": "Mode", "deadlines.overhaul.modes.search": "Direct search", "deadlines.overhaul.modes.wizard": "Guided", "deadlines.overhaul.wizard.coming_soon": "Guided mode coming in the next slice.", "deadlines.overhaul.modea.filters.label": "Filters", "deadlines.overhaul.modea.filters.heading": "Filters (narrow)", "deadlines.overhaul.modea.axis.forum": "Forum:", "deadlines.overhaul.modea.axis.proc": "Proceeding:", "deadlines.overhaul.modea.axis.kind": "What happened:", "deadlines.overhaul.modea.axis.party": "Party:", "deadlines.overhaul.modea.axis.inbox": "Inbox channel:", "deadlines.overhaul.modea.chip.all": "All", "deadlines.overhaul.modea.inbox.summary": "Advanced: Inbox channel", "deadlines.overhaul.modea.inbox.postal": "Postal", "deadlines.overhaul.modea.search.label": "Search", "deadlines.overhaul.modea.search.placeholder": "Statement of Claim, decision notice, oral hearing…", "deadlines.overhaul.modea.results.label": "Results", "deadlines.overhaul.modea.results.heading": "Results (click to lock as trigger)", "deadlines.overhaul.modea.results.count": "{n} hits", "deadlines.overhaul.modea.row.followups": "{n} follow-ups", "deadlines.overhaul.modea.loading": "Loading…", "deadlines.overhaul.modea.no_results": "No hits for these filters.", "deadlines.overhaul.modea.no_proceedings": "No proceedings in this forum.", "deadlines.overhaul.modea.search_error": "Search failed.", "deadlines.overhaul.kind.filing": "Filed", "deadlines.overhaul.kind.hearing": "Hearing", "deadlines.overhaul.kind.decision": "Decision", "deadlines.overhaul.kind.order": "Order", "deadlines.overhaul.kind.missed": "Missed deadline", // Fristenrechner overhaul Mode B — guided wizard (S4, design §3.2). "deadlines.overhaul.wizard.heading": "Guided mode", "deadlines.overhaul.wizard.hint": "Answer top-down — the wizard lands on a trigger event and shows the follow-up deadlines.", "deadlines.overhaul.wizard.r1.label": "What happened?", "deadlines.overhaul.wizard.r2.label": "Before which forum?", "deadlines.overhaul.wizard.r3.label": "In which proceeding?", "deadlines.overhaul.wizard.r3.empty": "No proceeding with this event kind in the chosen forum.", "deadlines.overhaul.wizard.r4.label": "Which document / which hearing?", "deadlines.overhaul.wizard.r4.empty": "No events for this selection.", "deadlines.overhaul.wizard.r5.label": "Which party do you represent?", "deadlines.overhaul.wizard.r5.probing": "Checking whether follow-ups depend on the side…", "deadlines.overhaul.wizard.badge.filter": "Filter", "deadlines.overhaul.wizard.badge.qualifier": "Qualifier", "deadlines.overhaul.wizard.edit": "edit", "deadlines.overhaul.wizard.anno.from_project": "from project", "deadlines.overhaul.wizard.anno.implicit": "implicit", // Office labels (shared) "office.munich": "Munich", "office.duesseldorf": "D\u00fcsseldorf", "office.hamburg": "Hamburg", "office.amsterdam": "Amsterdam", "office.london": "London", "office.paris": "Paris", "office.milan": "Milan", // Dashboard (logged-in landing) "dashboard.title": "Dashboard \u2014 Paliad", "dashboard.greeting.prefix": "Hello", "dashboard.unavailable": "Dashboard requires the database \u2014 contact an administrator.", "dashboard.onboarding": "Please complete onboarding before deadlines and matters are shown.", "dashboard.summary.heading": "Deadlines at a glance", "dashboard.summary.overdue": "Overdue", "dashboard.summary.today": "Today", "dashboard.summary.this_week": "This week", "dashboard.summary.next_week": "Next week", "dashboard.summary.completed": "Done", "dashboard.summary.later": "Later", "dashboard.appointment_summary.heading": "Appointments at a glance", "dashboard.matters.heading": "My matters", "dashboard.matters.active": "Active", "dashboard.matters.archived": "Archived", "dashboard.matters.total": "Total", "dashboard.deadlines.heading": "Upcoming deadlines", "dashboard.deadlines.empty": "No deadlines in the next 7 days.", "dashboard.appointments.heading": "Upcoming appointments", "dashboard.appointments.empty": "No appointments in the next 7 days.", "dashboard.activity.heading": "Recent activity", "dashboard.activity.empty": "No activity recorded yet.", "dashboard.activity.system": "System", "dashboard.activity.event": "event", "dashboard.agenda.heading": "Agenda", "dashboard.agenda.empty": "Nothing due in the next 30 days.", "dashboard.agenda.full_link": "Open full agenda →", "dashboard.inbox.heading": "Open approvals", "dashboard.inbox.empty": "No open approvals.", "dashboard.inbox.full_link": "Open full inbox →", "dashboard.inbox.entity.deadline": "Deadline", "dashboard.inbox.entity.appointment": "Appointment", "dashboard.edit.toggle": "Customize", "dashboard.edit.exit": "Done", "dashboard.edit.add_widget": "Add widget", "dashboard.edit.reset": "Reset to default", "dashboard.edit.reset_confirm": "Reset layout to default? This cannot be undone.", "dashboard.edit.promote": "Save as firm default", "dashboard.edit.promote_confirm": "Save your current layout as the firm default? New users and 'Reset to default' will use this layout afterwards.", "dashboard.edit.promoted": "Saved as firm default", "dashboard.pinned.heading": "Pinned matters", "dashboard.pinned.empty": "No pinned matters yet.", "dashboard.pinned.full_link": "Open all matters →", "dashboard.quick.heading": "Quick actions", "dashboard.quick.new_project": "+ Matter", "dashboard.quick.new_deadline": "+ Deadline", "dashboard.quick.new_appointment": "+ Appointment", "dashboard.edit.move_up": "Move up", "dashboard.edit.move_down": "Move down", "dashboard.edit.hide": "Hide", "dashboard.edit.settings": "Settings", "dashboard.edit.drag": "Drag to reorder", "dashboard.edit.saved": "Saved", "dashboard.edit.save_failed": "Save failed", "dashboard.edit.setting.count": "Count", "dashboard.edit.setting.count.custom": "Custom value (max {n})", "dashboard.edit.setting.horizon": "Horizon", "dashboard.edit.setting.horizon.days": "{n} days", "dashboard.edit.setting.horizon.custom": "Custom horizon in days (max {n})", "dashboard.edit.setting.view": "View", "dashboard.edit.setting.size": "Size", "dashboard.edit.setting.position": "Position", "dashboard.edit.resize": "Resize", "dashboard.picker.title": "Add widget", "dashboard.picker.status.active": "Active", "dashboard.picker.status.hidden": "Hidden", "dashboard.picker.status.absent": "Not added", "dashboard.picker.close": "Done", "dashboard.picker.empty": "All widgets are already added.", "dashboard.section.collapse": "Collapse section", "dashboard.section.expand": "Expand section", "dashboard.urgency.overdue": "Overdue", "dashboard.urgency.today": "Today", "dashboard.urgency.urgent": "Urgent", "dashboard.urgency.soon": "Soon", "dashboard.when.today": "today", "dashboard.when.tomorrow": "tomorrow", "dashboard.action.short.project_created": "created project", "dashboard.action.short.project_archived": "archived project", "dashboard.action.short.project_reparented": "re-parented project", "dashboard.action.short.project_type_changed": "changed project type", "dashboard.action.short.status_changed": "changed status", "dashboard.action.short.our_side_changed": "changed represented side", "dashboard.action.short.visibility_changed": "changed visibility", "dashboard.action.short.collaborators_updated": "updated collaborators", "dashboard.action.short.note_created": "added note", "dashboard.action.short.deadline_created": "added deadline", "dashboard.action.short.deadline_updated": "updated deadline", "dashboard.action.short.deadline_completed": "completed deadline", "dashboard.action.short.deadline_reopened": "reopened deadline", "dashboard.action.short.deadline_deleted": "deleted deadline", "dashboard.action.short.deadline_project_changed": "moved deadline", "dashboard.action.short.deadlines_imported": "imported deadlines", "dashboard.action.short.appointment_created": "added appointment", "dashboard.action.short.appointment_updated": "updated appointment", "dashboard.action.short.appointment_deleted": "deleted appointment", "dashboard.action.short.appointment_project_changed": "moved appointment", // Localized event-row title for the project Verlauf tab — full noun // phrase ("Deadline updated") complementing the dashboard's verb form. "event.title.project_created": "Project created", "event.title.project_archived": "Project archived", "event.title.project_reparented": "Project re-parented", "event.title.project_type_changed": "Project type changed", "event.title.status_changed": "Status changed", "event.title.our_side_changed": "Represented side changed", "event.title.note_created": "Note added", "event.title.deadline_created": "Deadline created", "event.title.deadline_updated": "Deadline updated", "event.title.deadline_completed": "Deadline completed", "event.title.deadline_reopened": "Deadline reopened", "event.title.deadline_deleted": "Deadline deleted", "event.title.deadline_project_changed": "Deadline moved", "event.title.deadlines_imported": "Deadlines imported", "event.title.appointment_created": "Appointment created", "event.title.appointment_updated": "Appointment updated", "event.title.appointment_deleted": "Appointment deleted", "event.title.appointment_project_changed": "Appointment moved", // Umbrella audit kind + admin churn surfaced by the FilterBar // project_event_kind chip cluster (KnownProjectEventKinds). "event.title.approval_decided": "Approval decided", "event.title.member_role_changed": "Team role changed", // 4-eye approval lifecycle (t-paliad-138). "event.title.deadline_approval_requested": "Approval requested", "event.title.deadline_approval_approved": "Approval granted", "event.title.deadline_approval_rejected": "Approval rejected", "event.title.deadline_approval_revoked": "Request revoked", "event.title.deadline_approval_changes_suggested": "Changes suggested", "event.title.appointment_approval_requested": "Approval requested", "event.title.appointment_approval_approved": "Approval granted", "event.title.appointment_approval_rejected": "Approval rejected", "event.title.appointment_approval_revoked": "Request revoked", "event.title.appointment_approval_changes_suggested": "Changes suggested", "event.description.deadline_approval_requested": "Four-eyes approval requested for deadline", "event.description.deadline_approval_approved": "Deadline approval granted", "event.description.deadline_approval_rejected": "Deadline approval rejected", "event.description.deadline_approval_revoked": "Deadline approval request revoked", "event.description.deadline_approval_changes_suggested": "Deadline declined with a counter-proposal", "event.description.appointment_approval_requested": "Four-eyes approval requested for appointment", "event.description.appointment_approval_approved": "Appointment approval granted", "event.description.appointment_approval_rejected": "Appointment approval rejected", "event.description.appointment_approval_revoked": "Appointment approval request revoked", "event.description.appointment_approval_changes_suggested": "Appointment declined with a counter-proposal", "dashboard.action.short.deadline_approval_requested": "requested approval", "dashboard.action.short.deadline_approval_approved": "approved deadline", "dashboard.action.short.deadline_approval_rejected": "rejected deadline", "dashboard.action.short.deadline_approval_revoked": "revoked request", "dashboard.action.short.appointment_approval_requested": "requested approval", "dashboard.action.short.appointment_approval_approved": "approved appointment", "dashboard.action.short.appointment_approval_rejected": "rejected appointment", "dashboard.action.short.appointment_approval_revoked": "revoked request", "event.title.checklist_created": "Checklist created", "event.title.checklist_renamed": "Checklist renamed", "event.title.checklist_linked": "Checklist linked", "event.title.checklist_unlinked": "Checklist unlinked", "event.title.checklist_reset": "Checklist reset", "event.title.checklist_deleted": "Checklist deleted", // Note-parent slugs for note_created descriptions // ("Note added to deadline"). Used by translateEventDescription(). "event.note.parent.project": "project", "event.note.parent.deadline": "deadline", "event.note.parent.appointment": "appointment", "event.note.added_to": "Note added to {parent}", // Localized full-sentence descriptions for the project Verlauf and the // dashboard activity feed. Stored descriptions carry just the variable // payload (title/count/slugs); the renderer interpolates here. "event.description.deadline_created": "Deadline “{title}” added", "event.description.deadline_updated": "Deadline “{title}” updated", "event.description.deadline_completed": "Deadline “{title}” completed", "event.description.deadline_reopened": "Deadline “{title}” reopened", "event.description.deadline_deleted": "Deadline “{title}” deleted", "event.description.deadline_project_changed": "Deadline “{title}” moved to another matter", "event.description.deadlines_imported": "{count} deadlines imported from Fristenrechner", "event.description.appointment_created": "Appointment “{title}” added", "event.description.appointment_updated": "Appointment “{title}” updated", "event.description.appointment_deleted": "Appointment “{title}” deleted", "event.description.appointment_project_changed": "Appointment “{title}” moved to another matter", "dashboard.action.short.checklist_created": "added checklist", "dashboard.action.short.checklist_renamed": "renamed checklist", "dashboard.action.short.checklist_unlinked": "unlinked checklist", "dashboard.action.short.checklist_linked": "linked checklist", "dashboard.action.short.checklist_reset": "reset checklist", "dashboard.action.short.checklist_deleted": "deleted checklist", "dashboard.action.short.partei_added": "added party", "dashboard.action.short.partei_removed": "removed party", // Legacy event types kept so historical project_events rows render cleanly // (writes switched to English in t-paliad-037). "dashboard.action.short.akte_created": "created matter", "dashboard.action.short.akte_archived": "archived matter", "dashboard.action.short.projekt_created": "created matter", "dashboard.action.short.projekt_archived": "archived matter", "dashboard.action.short.projekt_reparented": "re-parented matter", "dashboard.action.short.notiz_created": "added note", "dashboard.action.short.frist_created": "added deadline", "dashboard.action.short.frist_updated": "updated deadline", "dashboard.action.short.frist_completed": "completed deadline", "dashboard.action.short.frist_deleted": "deleted deadline", "dashboard.action.short.fristen_imported": "imported deadlines", "dashboard.action.short.termin_created": "added appointment", "dashboard.action.short.termin_updated": "updated appointment", "dashboard.action.short.termin_deleted": "deleted appointment", "dashboard.action.short.checkliste_created": "added checklist", "dashboard.action.short.checkliste_renamed": "renamed checklist", "dashboard.action.short.checkliste_unlinked": "unlinked checklist", "dashboard.action.short.checkliste_linked": "linked checklist", "dashboard.action.short.checkliste_reset": "reset checklist", "dashboard.action.short.checkliste_deleted": "deleted checklist", // Onboarding (first-login profile capture) "onboarding.title": "Welcome \u2014 Paliad", "onboarding.heading": "Welcome to Paliad", "onboarding.lede": "Please complete your profile so that matters, deadlines, and appointments can be shown.", "onboarding.display_name": "Display name", "onboarding.display_name.placeholder": "First and last name", "onboarding.office": "Office", "onboarding.office.placeholder": "Please select", "onboarding.job_title": "Job title", "onboarding.job_title.placeholder": "e.g. Associate, Partner, Patent Attorney", "onboarding.profession": "Profession", "onboarding.profession.hint": "Structured tier — drives the 4-eye approval ladder. Distinct from job title.", "onboarding.partner_unit": "Partner Unit", "onboarding.partner_unit.unassigned": "(not assigned yet)", "onboarding.optional": "(optional)", "onboarding.submit": "Create profile", "onboarding.error.display_name": "Please enter a display name.", "onboarding.error.office": "Please select an office.", "onboarding.error.job_title": "Please enter a job title.", "onboarding.error.generic": "Could not create profile.", "onboarding.error.connection": "Connection error. Please try again.", // Termine + CalDAV (Phase F) "nav.group.einstellungen": "Settings", "nav.einstellungen": "Settings", "nav.caldav": "CalDAV", // Global search (t-paliad-026) "search.placeholder": "Search...", "search.no_results": "No results", "search.group.projects": "Projects", "search.group.deadlines": "Deadlines", "search.group.appointments": "Appointments", "search.group.glossary": "Glossary", "search.group.courts": "Courts", "search.group.checklists": "Checklists", "search.group.links": "Links", "search.group.users": "Colleagues", // Command palette (t-paliad-044) "palette.section.actions": "Actions", "palette.action.nav.dashboard": "Go to Dashboard", "palette.action.nav.projects": "Go to Projects", "palette.action.nav.deadlines": "Go to Deadlines", "palette.action.nav.appointments": "Go to Appointments", "palette.action.nav.agenda": "Go to Agenda", "palette.action.nav.team": "Go to Team", "palette.action.nav.glossary": "Go to Glossary", "palette.action.nav.courts": "Go to Courts", "palette.action.nav.links": "Go to Links", "palette.action.nav.checklists": "Go to Checklists", "palette.action.nav.downloads": "Go to Downloads", "palette.action.nav.settings": "Go to Settings", "palette.action.create.deadline": "New deadline", "palette.action.create.appointment": "New appointment", "palette.action.create.project": "New project", "palette.action.toggle.lang": "Toggle language", "palette.action.toggle.pin": "Pin / unpin sidebar", "palette.action.app.invite": "Invite a colleague", "palette.action.app.logout": "Logout", "palette.footer.navigate": "Navigate", "palette.footer.open": "Open", "palette.footer.close": "Close", "sidebar.resize.title": "Resize \u2014 drag, double-click to reset", // Settings page (t-paliad-022) "einstellungen.title": "Settings \u2014 Paliad", "einstellungen.heading": "Settings", "einstellungen.subtitle": "Profile, notifications, and calendar sync.", "einstellungen.loading": "Loading\u2026", "einstellungen.optional": "(optional)", "einstellungen.save": "Save", "einstellungen.saved": "Saved.", "einstellungen.error.generic": "Save failed. Please try again.", "einstellungen.tab.profil": "Profile", "einstellungen.tab.benachrichtigungen": "Notifications", "einstellungen.tab.caldav": "CalDAV", "einstellungen.tab.export": "Data export", "einstellungen.export.subtitle": "Download your personal Paliad data as an Excel + JSON + CSV bundle. The package contains everything you can currently see \u2014 your projects, deadlines, appointments, notes, approvals and settings.", "einstellungen.export.heading": "Personal data export", "einstellungen.export.what": "The package contains your visible data in three formats in one .zip:", "einstellungen.export.bullet.xlsx": "paliad-export.xlsx \u2014 one Excel sheet per entity.", "einstellungen.export.bullet.json": "paliad-export.json \u2014 machine-readable copy for scripts and tools.", "einstellungen.export.bullet.csv": "csv/.csv \u2014 individual tables as CSV (UTF-8 with BOM).", "einstellungen.export.scope": "Scope: everything you can currently see in Paliad (visibility at the moment of export). Passwords, CalDAV credentials and other secrets are never exported.", "einstellungen.export.audit": "Every export is logged in the audit log.", "einstellungen.export.button": "Export data", "einstellungen.export.started": "Download started. If nothing happens, check your browser's downloads folder.", "projects.title": "Projects \u2014 Paliad", "projects.heading": "Projects", "projects.subtitle": "Clients, litigations, patents and cases \u2014 organised hierarchically.", "projects.new": "New project", "projects.search.placeholder": "Title, reference or ClientMatter...", "projects.filter.type": "Type", "projects.filter.type.all": "All types", "projects.filter.status": "Status", "projects.filter.status.all": "All statuses", "projects.filter.status.active": "Active", "projects.filter.status.archived": "Archived", "projects.filter.status.closed": "Closed", "projects.filter.view": "View", "projects.view.flat": "Flat list", "projects.view.roots": "Roots only", "projects.unavailable": "Project management is currently unavailable \u2014 please contact an administrator.", "projects.col.title": "Title", "projects.col.type": "Type", "projects.col.reference": "Reference", "projects.col.clientmatter": "ClientMatter", "projects.col.status": "Status", "projects.col.updated": "Last modified", "projects.empty.title": "No projects yet", "projects.empty.hint": "Start via \u201cNew project\u201d \u2014 create a client first, then litigations, patents and cases underneath.", "projects.empty.filtered": "No matches for these filters.", "projects.cancel": "Cancel", "projects.submit": "Create project", "projects.neu.title": "New project \u2014 Paliad", "projects.neu.heading": "Create a new project", "projects.neu.subtitle": "Client, litigation, patent, case or generic project \u2014 place it in the hierarchy. Visibility follows the team (you are auto-added as \u201cLead\u201d).", "projects.field.type": "Type", "projects.field.type.choose": "Please choose…", "projects.field.parent": "Parent project", "projects.field.parent.placeholder": "Type to search for a parent project...", "projects.field.parent.hint": "Leave blank for a root project (typically a client).", "projects.field.title": "Title", "projects.field.title.placeholder": "e.g. Siemens AG | Siemens v. Huawei | EP 1 234 567", "projects.field.reference": "Internal reference (optional)", "projects.field.reference.placeholder": `e.g. ${FIRM}-2026-0042`, "projects.field.client_number": "Client no. (6 digits)", "projects.field.matter_number": "Matter no. (6 digits)", "projects.field.clientmatter.hint": `${FIRM} billing numbers. Format CCCCCC.MMMMMM. Client no. is inherited by sub-projects (overridable).`, "projects.field.billing_reference": "Billing reference (optional)", "projects.field.netdocuments_url": "netDocuments URL (optional)", "projects.field.industry": "Industry", "projects.field.country": "Country (ISO-2)", "projects.field.description": "Notes", "projects.field.description.placeholder": "Short notes about the project (optional)...", "projects.detail.description.heading": "Notes", "projects.field.patent_number": "Patent number", "projects.field.filing_date": "Filing date", "projects.field.grant_date": "Grant date", "projects.field.court": "Court", "projects.field.case_number": "Case number (court)", "projects.field.proceeding_type_id": "Proceeding type", "projects.field.proceeding_type": "Proceeding type", "projects.field.proceeding_type.unset": "(unset)", "projects.field.proceeding_type.hint": "Determines which submission templates show up on this proceeding.", "projects.field.our_side": "We represent", "projects.field.our_side.hint": "Pre-selects the perspective chip in the Fristenrechner Determinator. Always overridable from there.", "projects.field.our_side.unset": "Unknown / not set", "projects.field.our_side.claimant": "Claimant side", "projects.field.our_side.defendant": "Defendant side", "projects.field.our_side.applicant": "Applicant", "projects.field.our_side.appellant": "Appellant", "projects.field.our_side.respondent": "Respondent", "projects.field.our_side.third_party": "Third Party", "projects.field.our_side.other": "Other party", "projects.field.our_side.court": "Court / tribunal", "projects.field.our_side.both": "Both sides", "projects.field.our_side.none": "—", "projects.field.client_role": "Client Role", "projects.field.client_role.hint": "Pre-selects the perspective chip in the Fristenrechner Determinator: Active → claimant side, Reactive → defendant side. Always overridable from there.", "projects.field.client_role.unset": "Unknown", "projects.field.client_role.group.active": "Active (we initiate)", "projects.field.client_role.group.reactive": "Reactive (we defend)", "projects.field.client_role.group.other": "Third Party / Other", "projects.field.client_role.claimant": "Claimant side", "projects.field.client_role.applicant": "Applicant", "projects.field.client_role.appellant": "Appellant", "projects.field.client_role.defendant": "Defendant side", "projects.field.client_role.respondent": "Respondent", "projects.field.client_role.third_party": "Third Party", "projects.field.client_role.other": "Other party", "projects.field.opponent_code": "Opponent code", "projects.field.opponent_code.placeholder": "e.g. OPNT", "projects.field.opponent_code.hint": "Short slug for the opposing party (uppercase letters, digits, dashes, max 16 chars). Used as the middle segment in auto-derived project codes (e.g. EXMPL.OPNT.567.INF.CFI).", "projects.field.status": "Status", "projects.error.title_required": "Title required", "projects.detail.edit.type_change_warning.title": "These fields will be cleared:", "projects.detail.title": "Project \u2014 Paliad", "projects.detail.back": "\u2190 Back to overview", "projects.detail.loading": "Loading\u2026", "projects.detail.notfound": "Project not found or no access.", "projects.detail.smarttimeline.open_chart": "View as chart \u2197", "projects.chart.title": "Project Chart \u2014 Paliad", "projects.chart.back": "\u2190 Back to Activity", "projects.chart.loading": "Loading\u2026", "projects.chart.notfound": "Project not found or no access.", "projects.chart.error.mount": "Chart could not be initialised.", "projects.chart.control.layout.horizontal": "Layout: horizontal", "projects.chart.control.columns.auto": "Columns: auto", "projects.chart.control.density.standard": "Density: standard", "projects.chart.control.palette.default": "Palette: default", "projects.chart.control.export.soon": "Export \u2193 (Slice 2)", "projects.chart.control.palette.label": "Palette:", "projects.chart.palette.default": "Default", "projects.chart.palette.kind_coded": "By event kind", "projects.chart.palette.track_coded": "By track", "projects.chart.palette.high_contrast": "High contrast", "projects.chart.palette.print": "Print (B/W)", "projects.chart.control.density.label": "Density:", "projects.chart.density.compact": "Compact", "projects.chart.density.standard": "Standard", "projects.chart.density.spacious": "Spacious", "projects.chart.control.range.label": "Range:", "projects.chart.range.1y": "1 year", "projects.chart.range.2y": "2 years", "projects.chart.range.all": "Show all", "projects.chart.range.custom": "Custom range…", "projects.chart.range.from": "From:", "projects.chart.range.to": "To:", "projects.chart.permalink.copy": "🔗 Copy link", "projects.chart.permalink.title": "Copy the URL with all filters to clipboard", "nav.context.project_chart": "View as chart", "projects.chart.export.menu": "⇓ Export", "projects.chart.export.svg": "SVG (vector graphic)", "projects.chart.export.png": "PNG (raster, 2× HiDPI)", "projects.chart.export.print": "PDF (print)", "projects.chart.export.csv": "CSV (Excel table)", "projects.chart.export.json": "JSON (raw data)", "projects.chart.export.ics": "iCal (.ics — Outlook / Apple)", "projects.detail.edit": "Edit", "projects.detail.edit.modal.title": "Edit project", "projects.detail.save": "Save", "projects.detail.tab.verlauf": "Activity", "projects.detail.tab.team": "Team", "projects.detail.tab.kinder": "Project Tree", "projects.detail.tab.parteien": "Parties", "projects.detail.tab.fristen": "Deadlines", "projects.detail.tab.termine": "Appointments", "projects.detail.tab.notizen": "Notes", "projects.detail.tab.checklisten": "Checklists", "projects.detail.tab.submissions": "Submissions", "projects.detail.tab.settings": "Settings", "projects.detail.export.button": "Export data", "projects.detail.export.tooltip": "Download this project's data (including sub-projects) as Excel + JSON + CSV.", "projects.detail.settings.export.heading": "Export data", "projects.detail.settings.export.description": "Download all data for this project (including sub-projects) as an Excel + JSON + CSV archive.", "projects.detail.settings.archive.heading": "Archive project", "projects.detail.settings.archive.description": "Archiving happens in the edit dialog (danger zone).", "projects.detail.settings.archive.cta": "Open edit dialog", "projects.detail.submissions.empty": "No submission templates are configured yet.", "projects.detail.submissions.empty.no_proceeding": "No proceeding type is set for this project yet — the catalog below still lists every template.", "projects.detail.submissions.empty.no_proceeding.cta": "Edit project", "projects.detail.submissions.col.name": "Submission", "projects.detail.submissions.col.party": "Party", "projects.detail.submissions.col.source": "Legal basis", "projects.detail.submissions.col.action": "", "projects.detail.submissions.action.generate": "Generate", "projects.detail.submissions.action.no_template": "No template", "projects.detail.submissions.action.edit": "Edit", "projects.detail.submissions.hint": "Submissions are generated as .docx directly from the project. Edit, print, file.", // t-paliad-238 — dedicated draft editor page. "submissions.draft.title": "Edit submission — Paliad", "submissions.draft.back": "← Back to project", "submissions.draft.loading": "Loading…", "submissions.draft.notfound": "Submission not found or insufficient access.", "submissions.draft.action.export": "Export as .docx", "submissions.draft.action.new": "+ New draft", "submissions.draft.action.delete": "Delete", "submissions.draft.switcher.label": "Draft", "submissions.draft.name.placeholder": "Name of this draft", "submissions.draft.preview.title": "Preview", // t-paliad-276 — DE/EN language toggle on the draft editor. "submissions.draft.language": "Language", "submissions.draft.language.de": "DE", "submissions.draft.language.en": "EN", "submissions.draft.language.fallback_notice": "Fallback: universal skeleton (no language-matched template).", "submissions.draft.preview.hint": "Read-only preview — final formatting in Word.", // t-paliad-277 — import-from-project + party-picker. "submissions.draft.import.button": "Import from project", "submissions.draft.parties.title": "Parties", "submissions.draft.parties.hint": "Pick the parties mentioned in this submission, or add more per side.", // t-paliad-313 (m/paliad#141) Composer Slice A — base picker + section list. "submissions.draft.base.label": "Template base", "submissions.draft.base.hint": "Drives fonts, letterhead, and section defaults.", "submissions.draft.sections.title": "Sections", "submissions.draft.sections.hint": "Edit per section — autosaves after 500ms. Final layout in Word.", // t-paliad-349 (m/paliad#157) docforge slice 6 — template authoring page. "templates.authoring.title": "Templates — Paliad", "templates.authoring.heading": "Templates", "templates.authoring.intro": "Upload a Word template, highlight spots and insert variables.", "templates.authoring.upload.title": "Upload a new template", "templates.authoring.upload.file": "Word file (.docx)", "templates.authoring.upload.name_de": "Name (DE)", "templates.authoring.upload.name_en": "Name (EN)", "templates.authoring.upload.firm": "Firm (optional)", "templates.authoring.upload.submit": "Upload", "templates.authoring.list.title": "Existing templates", "templates.authoring.workspace.hint": "Highlight text, then pick a variable to place a placeholder.", "templates.authoring.slots.title": "Placeholders", // t-paliad-315 (m/paliad#141) Composer Slice C — building blocks admin. "admin.building_blocks.title": "Building blocks — Paliad", "admin.building_blocks.heading": "Building blocks", "admin.building_blocks.subtitle": "Reusable text snippets for Composer sections.", "admin.building_blocks.loading": "Loading…", "admin.building_blocks.action.new": "+ New block", "admin.building_blocks.editor.empty": "Pick a block from the list — or create a new one.", // t-paliad-240 — global submissions drafts index page. "submissions.index.title": "Submissions — Paliad", "submissions.index.heading": "Submissions", "submissions.index.subtitle": "Your submission drafts across every visible project.", "submissions.index.loading": "Loading…", "submissions.index.empty": "No drafts yet. Start a new draft — with or without a project.", "submissions.index.empty.cta": "+ New draft", "submissions.index.error": "Could not load submissions.", "submissions.index.col.project": "Project", "submissions.index.col.submission": "Submission", "submissions.index.col.draft": "Draft", "submissions.index.col.updated": "Last updated", "submissions.index.action.new": "+ New draft", "submissions.new.title": "New submission — Paliad", "submissions.new.back": "← Back to drafts", "submissions.new.heading": "New submission", "submissions.new.subtitle": "Pick a template. Optionally bind it to a project — otherwise all variables are filled manually.", "submissions.new.search.placeholder": "Search by name, code or statute…", "submissions.new.loading": "Loading…", "submissions.new.error": "Could not load catalog.", "submissions.new.col.name": "Submission", "submissions.new.col.party": "Party", "submissions.new.col.source": "Legal source", "submissions.new.col.actions": "Start draft", "submissions.new.empty.filtered": "No submissions match the filters. Reset them to see the full catalog.", "submissions.new.picker.title": "Pick a project", "submissions.new.picker.placeholder": "Search project (title or reference)…", "submissions.new.picker.loading": "Loading projects…", "submissions.new.picker.empty": "No visible projects.", "projects.detail.verlauf.empty": "No events recorded yet.", "projects.detail.verlauf.loadMore": "Load more", "projects.detail.smarttimeline.empty": "No events captured yet.", "projects.detail.smarttimeline.today": "Today", "projects.detail.smarttimeline.section.past": "Past", "projects.detail.smarttimeline.section.future": "Future", "projects.detail.smarttimeline.section.undated": "Undated", "projects.detail.smarttimeline.kind.deadline": "Deadline", "projects.detail.smarttimeline.kind.appointment": "Appointment", "projects.detail.smarttimeline.kind.milestone": "Milestone", "projects.detail.smarttimeline.kind.projected": "Predicted", "projects.detail.smarttimeline.status.done": "Done", "projects.detail.smarttimeline.status.open": "Open", "projects.detail.smarttimeline.status.overdue": "Overdue", "projects.detail.smarttimeline.status.court_set": "Court-set date", "projects.detail.smarttimeline.status.predicted": "Predicted", "projects.detail.smarttimeline.status.off_script": "Custom", "projects.detail.smarttimeline.audit.toggle.show": "Show audit log", "projects.detail.smarttimeline.audit.toggle.hide": "Timeline only", "projects.detail.smarttimeline.add.cta": "+ Entry", "projects.detail.smarttimeline.add.modal.title": "New SmartTimeline entry", "projects.detail.smarttimeline.add.choice.deadline": "Add a deadline", "projects.detail.smarttimeline.add.choice.appointment": "Add an appointment", "projects.detail.smarttimeline.add.choice.counterclaim": "Counterclaim (CCR)", "projects.detail.smarttimeline.add.choice.amend": "Application to amend (R.30)", "projects.detail.smarttimeline.add.choice.milestone": "Custom milestone", "projects.detail.smarttimeline.add.choice.disabled": "Coming in Slice 3", "projects.detail.smarttimeline.add.cancel": "Cancel", "projects.detail.smarttimeline.add.submit": "Save", "projects.detail.smarttimeline.milestone.title": "Title", "projects.detail.smarttimeline.milestone.date": "Date (optional)", "projects.detail.smarttimeline.milestone.description": "Description (optional)", "projects.detail.smarttimeline.error.title_required": "Please enter a title.", "projects.detail.smarttimeline.error.generic": "Could not save the entry.", "projects.detail.smarttimeline.status.predicted_overdue": "Overdue (predicted)", "projects.detail.smarttimeline.lookahead.more": "+ Show more", "projects.detail.smarttimeline.lookahead.less": "− Show less", "projects.detail.smarttimeline.depends_on.prefix": "Follows from", "projects.detail.smarttimeline.depends_on.date_open": "Date open", "projects.detail.smarttimeline.depends_on.show_path": "Show path", "projects.detail.smarttimeline.depends_on.hide_path": "Hide path", "projects.detail.smarttimeline.depends_on.path_hint": "Click the parent row to see its dependency.", "projects.detail.smarttimeline.anchor.set": "Set date", "projects.detail.smarttimeline.anchor.save": "Save", "projects.detail.smarttimeline.anchor.cancel": "Cancel", "projects.detail.smarttimeline.anchor.saving": "Saving…", "projects.detail.smarttimeline.anchor.saved": "Saved.", "projects.detail.smarttimeline.anchor.error": "Could not set the date.", "projects.detail.smarttimeline.anchor.invalid_date": "Invalid date (YYYY-MM-DD).", "projects.detail.smarttimeline.track.label": "Track", "projects.detail.smarttimeline.track.both": "Both", "projects.detail.smarttimeline.track.only.parent": "Main proceeding only", "projects.detail.smarttimeline.track.only.counterclaim": "Counterclaim only", "projects.detail.smarttimeline.track.only.parent_context": "Main proceeding only (context)", "projects.detail.smarttimeline.track.header.parent": "Main proceeding", "projects.detail.smarttimeline.track.header.counterclaim": "Counterclaim (CCR)", "projects.detail.smarttimeline.track.header.parent_context": "Main proceeding (context)", "projects.detail.smarttimeline.counterclaim.procedure": "Proceeding type", "projects.detail.smarttimeline.counterclaim.title": "Title (optional)", "projects.detail.smarttimeline.counterclaim.case_number": "CCR case number (optional)", "projects.detail.smarttimeline.counterclaim.flip_override": "Do NOT flip our side („Stimmt nicht?”)", "projects.detail.smarttimeline.counterclaim.flip_hint": "In the standard case (CCR on validity) our side flips (claimant ↔ defendant). Enable for the R.49.2.b CCI edge case.", "projects.detail.smarttimeline.counterclaim.submit": "Create counterclaim", "projects.detail.smarttimeline.counterclaim.saving": "Creating counterclaim…", "projects.detail.smarttimeline.lane.empty": "No entries in this lane.", "projects.detail.smarttimeline.lane.filter.label": "Lanes", "projects.detail.smarttimeline.lane.filter.all": "All", "projects.detail.smarttimeline.client.toggle.lanes": "Timeline view", "projects.detail.smarttimeline.client.toggle.matter_list": "Matter list", "projects.detail.smarttimeline.client.matter_list.heading": "Matters of this client", "projects.detail.smarttimeline.client.matter_list.hint": "Click a matter to open its detailed timeline, or switch to „Timeline view“ above.", "projects.detail.smarttimeline.client.matter_list.empty": "No matters yet.", "projects.detail.smarttimeline.milestone.bubble_up": "Show on parent matters", "projects.detail.smarttimeline.milestone.bubble_up_hint": "When checked, this milestone surfaces on patent, litigation, and client SmartTimelines.", "projects.detail.team.form.user": "User", "projects.detail.team.form.role": "Role", "projects.detail.team.form.responsibility": "Project role", "projects.detail.team.form.profession.label": "Profession", "projects.detail.team.form.profession.none": "No profession set — cannot grant 4-eye approvals.", "projects.detail.team.form.cancel": "Cancel", "projects.detail.team.form.submit": "Add", "projects.detail.team.col.name": "Name", "projects.detail.team.col.role": "Role", "projects.detail.team.col.profession": "Profession", "projects.detail.team.col.responsibility": "Project role", "projects.detail.team.col.source": "Source", "projects.detail.kinder.add": "Create sub-project", "projects.detail.kinder.empty": "No sub-projects.", "projects.detail.parteien.add": "Add party", "projects.detail.parteien.form.name": "Name", "projects.detail.parteien.form.role": "Role", "projects.detail.parteien.form.rep": "Representative (optional)", "projects.detail.parteien.form.cancel": "Cancel", "projects.detail.parteien.form.submit": "Add", "projects.detail.parteien.role.claimant": "Claimant", "projects.detail.parteien.role.defendant": "Defendant", "projects.detail.parteien.role.thirdparty": "Third-party / intervenor", "projects.detail.parteien.col.name": "Name", "projects.detail.parteien.col.role": "Role", "projects.detail.parteien.col.rep": "Representative", "projects.detail.parteien.empty": "No parties recorded yet.", "projects.detail.deadlines.add": "Add deadline", "projects.detail.deadlines.empty": "No deadlines recorded for this project.", "projects.detail.appointments.add": "Add appointment", "projects.detail.appointments.form.cancel": "Cancel", "projects.detail.appointments.form.submit": "Add", "projects.detail.appointments.empty": "No appointments recorded for this project.", "projects.detail.checklisten.empty": "No checklist instances recorded for this project.", "projects.detail.checklisten.col.template": "Template", "projects.detail.checklisten.col.name": "Name", "projects.detail.checklisten.col.progress": "Progress", "projects.detail.checklisten.col.created": "Created", "projects.detail.checklisten.hint.prefix": "Templates are created and edited on the ", "projects.detail.checklisten.hint.link": "Checklists", "projects.detail.checklisten.hint.suffix": " page.", "projects.detail.checklisten.add": "Add checklist", "projects.detail.checklisten.add.search": "Search template…", "projects.detail.checklisten.add.empty_pick": "No matching templates.", "projects.detail.checklisten.add.created": "Checklist added.", "projects.detail.checklisten.add.error": "Could not create checklist.", "projects.detail.delete": "Archive project", "projects.detail.delete.confirm.title": "Archive project?", "projects.detail.delete.confirm.body": "The project will be archived. It cannot be directly restored.", "projects.detail.delete.confirm.cancel": "Cancel", "projects.detail.delete.confirm.ok": "Archive", "projects.type.client": "Client", "projects.type.litigation": "Litigation", "projects.type.patent": "Patent", "projects.type.case": "Case", "projects.type.project": "Project", "projects.type.other": "Other", "projects.team.role.lead": "Lead", "projects.team.role.associate": "Associate", "projects.team.role.pa": "PA", "projects.team.role.of_counsel": "Of Counsel", "projects.team.role.local_counsel": "Local Counsel", "projects.team.role.expert": "Expert", "projects.team.role.observer": "Observer", "projects.team.responsibility.admin": "Admin", "projects.team.responsibility.admin.hint": "Can manage team and roles on this project and its sub-projects", "projects.team.responsibility.lead": "Lead", "projects.team.responsibility.member": "Member", "projects.team.responsibility.observer": "Observer", "projects.team.responsibility.external": "External", "projects.team.error.last_admin": "At least one admin must remain on this project or an ancestor.", "projects.team.error.forbidden": "This action is not permitted.", "projects.team.error.generic": "Action failed.", "projects.team.profession.partner": "Partner", "projects.team.profession.of_counsel": "Of Counsel", "projects.team.profession.associate": "Associate", "projects.team.profession.senior_pa": "Senior PA", "projects.team.profession.pa": "PA", "projects.team.profession.paralegal": "Paralegal", "projects.team.profession.none": "(external)", "projects.team.profession.hint": "Profession — managed in firm profile", "projects.team.profession.none.hint": "No profession set — no 4-eye authority", "projects.team.direct": "direct", "projects.team.inherited.hint": "Inherited from ancestor", "projects.detail.team.add": "Add member", "projects.detail.team.remove": "Remove", "projects.detail.team.confirm_remove": "Remove member?", "projects.detail.team.empty": "No team members yet.", "projects.detail.team.error.user_required": "Select a user", "projects.detail.team.invite.hint": "User not found?", "projects.detail.team.invite.hint_email": "No one with that email.", "projects.detail.team.invite.cta": "Invite", // t-paliad-231 — pure-client mailto: button on the Team tab. "projects.team.mailto.label": "Mail to selection", "projects.team.mailto.empty": "Select at least one member", "projects.team.mailto.count": "{n} selected", "projects.team.mailto.select_all": "Select all visible", "projects.team.mailto.select_row": "Select member", "projects.view.tree": "Tree view", "projects.tree.toggle": "Expand / collapse", "projects.tree.loading": "Loading tree…", "projects.tree.error": "Failed to load tree view.", "projects.tree.deadlines.overdue": "Overdue deadlines", "projects.tree.deadlines.open": "Open deadlines", "projects.tree.deadlines.subtree.tooltip": "Includes sub-projects", "projects.tree.deadlines.direct.tooltip": "This project only", "projects.tree.pin": "Pin", "projects.tree.unpin": "Unpin", "projects.tree.inherited.context": "Visible because of a sub-project", "projects.toolbar.search.placeholder": "Search — title, reference, ClientMatter…", "projects.toolbar.view.tree": "Tree", "projects.toolbar.view.cards": "Cards", "projects.toolbar.view.flat": "List", "projects.toolbar.subtree_counts": "Count sub-projects too", "projects.chip.all": "All", "projects.chip.mine": "Mine", "projects.chip.pinned": "Pinned", "projects.chip.status": "Status", "projects.chip.type": "Type", "projects.chip.has_open_deadlines": "With open deadlines", "projects.chip.status.active": "Active", "projects.chip.status.archived": "Archived", "projects.chip.status.closed": "Closed", "projects.chip.type.client": "Client", "projects.chip.type.litigation": "Litigation", "projects.chip.type.patent": "Patent", "projects.chip.type.case": "Case", "projects.chip.type.project": "Project", "projects.chip.type.other": "Other", "projects.chip.multi.none": "Nothing selected", "projects.chip.multi.count": "{n} selected", "projects.empty.filtered.action": "Reset filters", "projects.search.match.self": "Match", "projects.search.match.ancestor": "Parent of a match", "projects.search.match.descendant": "Child of a match", "projects.cards.next_events": "Upcoming", "projects.cards.recent_verlauf": "Recent", "projects.cards.no_next_events": "— nothing upcoming", "projects.cards.no_recent": "— nothing recent", "projects.cards.team": "Team", "projects.cards.deadline_open": "open", "projects.cards.deadline_overdue": "overdue", "projects.cards.show_all_levels": "Show all levels", "projects.cards.show_all_levels.hint": "Include Clients + Litigations as their own cards", "projects.cards.layout.label": "View", "projects.cards.layout.new": "New view", "projects.cards.layout.edit": "Edit", "projects.cards.layout.save": "Save", "projects.cards.layout.discard": "Discard", "projects.cards.layout.set_default": "Set as default", "projects.cards.layout.delete": "Delete", "projects.cards.layout.rename": "Rename", "projects.cards.layout.is_default": "Default", "projects.cards.layout.new.prompt": "Name of the new view", "projects.cards.layout.delete.confirm": "Really delete this view?", "projects.cards.layout.delete.default_blocked": "Cannot delete the active default view — switch defaults first.", "projects.cards.layout.fact.title-row": "Title row", "projects.cards.layout.fact.type-chip": "Type badge", "projects.cards.layout.fact.status-chip": "Status badge", "projects.cards.layout.fact.client-matter": "ClientMatter", "projects.cards.layout.fact.parent-path": "Parent path", "projects.cards.layout.fact.deadline-counts": "Deadline counts", "projects.cards.layout.fact.next-events": "Upcoming events", "projects.cards.layout.fact.recent-verlauf": "Recent entries", "projects.cards.layout.fact.team-chips": "Team chips", "projects.cards.layout.fact.reference": "Reference", "projects.cards.layout.fact.last-activity-at": "Last activity", "projects.cards.layout.density": "Density", "projects.cards.layout.density.compact": "Compact", "projects.cards.layout.density.roomy": "Roomy", "projects.cards.layout.grid": "Columns", "projects.cards.layout.grid.auto": "Auto", "projects.cards.layout.grid.2": "2", "projects.cards.layout.grid.3": "3", "projects.cards.layout.grid.4": "4", "projects.cards.layout.fact.toggle.hide": "Hide", "projects.cards.layout.fact.toggle.show": "Show", "projects.cards.layout.fact.move_up": "Move up", "projects.cards.layout.fact.move_down": "Move down", "projects.cards.layout.fact.count": "Count", "projects.cards.event.kind.deadline": "Deadline", "projects.cards.event.kind.appointment": "Appointment", "projects.cards.event.kind.project_event": "Verlauf", "projects.cards.empty": "No projects to show.", "projects.detail.clientmatter.inherited": "Inherited from parent", "einstellungen.profil.email": "Email", "einstellungen.profil.email.hint": "Email cannot be changed.", "einstellungen.profil.display_name": "Display name", "einstellungen.profil.display_name.placeholder": "First and last name", "einstellungen.profil.office": "Office", "einstellungen.profil.job_title": "Job title", "einstellungen.profil.job_title.placeholder": "e.g. Associate, Partner, Patent Attorney", "einstellungen.profil.lang": "Language", "einstellungen.profil.lang.de": "Deutsch", "einstellungen.profil.lang.en": "English", "einstellungen.profil.lang.hint": "Used for the UI and notification emails.", "einstellungen.profil.error.display_name": "Please enter a display name.", "einstellungen.profil.error.office": "Please select an office.", "einstellungen.profil.error.job_title": "Please enter a job title.", "einstellungen.prefs.reminders.heading": "Deadline reminders", "einstellungen.prefs.reminders.hint": "Paliad emails you when deadlines approach.", "einstellungen.prefs.reminders.master": "Deadline reminders enabled", "einstellungen.prefs.reminders.overdue": "Overdue deadlines", "einstellungen.prefs.reminders.due_today": "Due today", "einstellungen.prefs.reminders.due_warning": "Heads-up (N days ahead)", "einstellungen.prefs.times.heading": "Send times", "einstellungen.prefs.times.hint": "Reminders are sent at the chosen time in your timezone.", "einstellungen.prefs.times.morning": "Morning slot", "einstellungen.prefs.times.morning.hint": "Bundled email with overdue, due-today and upcoming deadlines.", "einstellungen.prefs.times.evening": "Evening slot (escalation)", "einstellungen.prefs.times.evening.hint": "Urgent reminder for deadlines still open today.", "einstellungen.prefs.times.timezone": "Timezone", "einstellungen.prefs.times.timezone.hint": "IANA timezone name (e.g. Europe/Berlin, Europe/London).", "einstellungen.prefs.times.error.required": "Please choose both reminder times.", "einstellungen.prefs.warning_offset.label": "Heads-up (days ahead)", "einstellungen.prefs.warning_offset.hint": "We'll remind you this many days before each deadline.", "einstellungen.prefs.warning_offset.error": "Heads-up must be between 1 and 30 days.", "einstellungen.prefs.escalation.heading": "Escalation contact", "einstellungen.prefs.escalation.hint": "Who else should be notified for DRINGEND-escalations in the evening slot? Default: global admins.", "einstellungen.prefs.escalation.default_option": "— Default (global admins) —", // Invitation modal (sidebar) "invite.button": "Invite a colleague", "invite.modal.title": "Invite a colleague to Paliad", "invite.modal.body": `Send an invitation to an ${FIRM} email address. The recipient will receive a registration link.`, "invite.modal.email": "Email address", "invite.modal.message": "Personal message (optional)", "invite.modal.message.placeholder": "Hi, I'm using Paliad for matter management \u2014 take a look.", "invite.modal.cancel": "Cancel", "invite.modal.send": "Send invitation", "appointments.list.title": "Appointments \u2014 Paliad", "appointments.list.heading": "Appointments", "appointments.list.subtitle": "Hearings, meetings, consultations \u2014 personal or matter-linked.", "appointments.list.new": "New appointment", "appointments.summary.today": "Today", "appointments.summary.thisweek": "This week", "appointments.summary.later": "Later", "appointments.filter.type": "Type", "appointments.filter.type.all": "All types", "appointments.filter.akte": "Matter", "appointments.filter.akte.all": "All matters & personal", "appointments.filter.akte.personal": "Personal only", "appointments.filter.from": "From", "appointments.filter.to": "To", "appointments.col.start": "Start", "appointments.col.title": "Title", "appointments.col.akte": "Matter", "appointments.col.location": "Location", "appointments.col.type": "Type", "appointments.empty.title": "No appointments yet", "appointments.empty.hint": "Once appointments are created they will show up here.", "appointments.empty.filtered": "No appointments match these filters.", "appointments.unavailable": "Appointments unavailable \u2014 please contact your administrator.", "appointments.personal": "Personal", "appointments.type.hearing": "Hearing", "appointments.type.meeting": "Meeting", "appointments.type.consultation": "Consultation", "appointments.type.deadline_hearing": "Deadline hearing", "appointments.neu.title": "New appointment \u2014 Paliad", "appointments.neu.heading": "New appointment", "appointments.neu.subtitle": "Personal or matter-linked. With CalDAV sync enabled, the appointment also appears in your external calendar.", "appointments.neu.back": "\u2190 Back to overview", "appointments.neu.cancel": "Cancel", "appointments.neu.submit": "Create appointment", "appointments.field.title": "Title", "appointments.field.title.placeholder": "e.g. Oral hearing", "appointments.field.start": "Start", "appointments.field.end": "End (optional)", "appointments.field.type": "Type", "appointments.field.type.none": "No type", "appointments.field.akte": "Matter (optional)", "appointments.field.akte.none": "Personal appointment", "appointments.field.location": "Location (optional)", "appointments.field.location.placeholder": "e.g. UPC LD Munich", "appointments.field.description": "Description (optional)", "appointments.field.description.placeholder": "Notes, agenda, next steps\u2026", "appointments.error.required": "Title and start are required.", "appointments.error.generic": "Save failed. Please try again later.", "appointments.detail.title": "Appointment \u2014 Paliad", "appointments.detail.back": "\u2190 Back to overview", "appointments.detail.loading": "Loading\u2026", "appointments.detail.notfound": "Appointment not found", "appointments.detail.notfound.hint": "The appointment doesn't exist or you don't have permission.", "appointments.detail.akte": "Matter:", "appointments.detail.save": "Save changes", "appointments.detail.saved": "Saved.", "appointments.detail.delete": "Delete appointment", "appointments.detail.delete.confirm": "Really delete this appointment?", // t-paliad-110 \u2014 unified Events page (rendered on /deadlines + /appointments). "events.toggle.deadline": "Deadlines", "events.toggle.appointment": "Appointments", "events.toggle.all": "Both", "events.filter.status.all": "All (incl. past)", "events.filter.status.upcoming": "From today", "events.summary.later": "Later", "events.col.date": "Date", "events.col.location": "Location", "events.col.appointment_type": "Appointment type", "events.row.type.deadline": "Deadline", "events.row.type.appointment": "Appointment", "events.empty.title": "Nothing yet", "events.empty.hint": "Once deadlines or appointments are added, they appear here.", "events.empty.filtered": "No entries match these filters.", "events.unavailable": "Deadline / appointment management currently unavailable \u2014 please contact your administrator.", "events.view.cards": "Cards", "events.view.list": "List", "events.view.calendar": "Calendar", "caldav.title": "CalDAV sync \u2014 Paliad", "caldav.heading": "CalDAV sync", "caldav.subtitle": "Sync your Paliad appointments with your external calendar (Nextcloud, iCloud, Outlook, mailcow\u2026). The password is stored encrypted and never returned.", "caldav.disabled": "CalDAV sync currently unavailable \u2014 please contact your administrator.", "caldav.never": "Never", "caldav.field.url": "CalDAV server URL", "caldav.field.url.placeholder": "https://cloud.example.com/remote.php/dav/calendars/user/personal/", "caldav.field.url.hint": "Full URL to your calendar (including path).", "caldav.field.username": "Username", "caldav.field.password": "Password / app token", "caldav.field.password.hint": "Leave blank when a configuration exists to keep the stored password.", "caldav.field.calendar_path": "Calendar path (optional)", "caldav.field.calendar_path.placeholder": "/calendars/user/personal/", "caldav.field.calendar_path.hint": "If the URL only points at the server, set the calendar path here.", "caldav.field.enabled": "Sync enabled", "caldav.test": "Test connection", "caldav.test.ok": "Connection successful.", "caldav.test.fail": "Connection failed", "caldav.save": "Save", "caldav.saved": "Configuration saved.", "caldav.delete": "Delete configuration", "caldav.delete.confirm": "Really delete? The stored password will be removed permanently.", "caldav.delete.done": "Configuration deleted.", "caldav.error.required": "URL and username are required.", "caldav.error.password_required": "Password is required on first save.", "caldav.error.generic": "Save failed.", "caldav.status.last_sync": "Last sync:", "caldav.status.last_error": "Last error:", "caldav.log.heading": "Recent syncs", "caldav.log.col.time": "When", "caldav.log.col.pushed": "Pushed", "caldav.log.col.pulled": "Pulled", "caldav.log.col.duration": "Duration", "caldav.log.col.error": "Error", "caldav.log.empty": "No sync attempts recorded yet.", // CalDAV multi-calendar bindings (t-paliad-212 Slice 2b) "caldav.bindings.heading": "Calendars", "caldav.bindings.hint": "Connect multiple calendars to Paliad — one master for everything or separate calendars per project.", "caldav.bindings.add": "+ Add calendar", "caldav.bindings.empty": "No calendars configured yet.", "caldav.bindings.scope.all_visible": "Everything", "caldav.bindings.scope.personal_only": "Personal only", "caldav.bindings.scope.project": "Project", "caldav.bindings.card.enabled": "Enabled", "caldav.bindings.card.edit": "Edit", "caldav.bindings.card.remove": "Remove", "caldav.bindings.modal.add_title": "Add calendar", "caldav.bindings.modal.edit_title": "Edit calendar", "caldav.bindings.modal.source": "Calendar", "caldav.bindings.modal.source.loading": "Loading…", "caldav.bindings.modal.source.existing": "Pick existing calendar", "caldav.bindings.modal.source.create": "Create new calendar", "caldav.bindings.modal.source.custom": "Enter custom URL", "caldav.bindings.modal.source.degrade": "This provider doesn't allow creating calendars via CalDAV. Please create the calendar in your provider's UI and add it here by URL.", "caldav.bindings.modal.source.discover_failed": "Couldn't discover calendars — enter URL manually.", "caldav.bindings.modal.source.discover_empty": "No calendars found — enter URL manually.", "caldav.bindings.modal.display_name": "Display name (optional)", "caldav.bindings.modal.display_name.placeholder": "e.g. Project Acme v Bosch", "caldav.bindings.modal.scope": "Contents", "caldav.bindings.modal.scope.all_visible": "Everything I can see", "caldav.bindings.modal.scope.personal_only": "Personal appointments only", "caldav.bindings.modal.scope.project": "One project:", "caldav.bindings.modal.scope.project.loading": "Loading…", "caldav.bindings.modal.submit_add": "Add", "caldav.bindings.modal.submit_edit": "Save", "caldav.bindings.delete.confirm": "Remove this calendar? Its events will be deleted from the external calendar.", "caldav.bindings.delete.failed": "Removal failed — please try again later.", "caldav.bindings.error.scope": "Please pick a content scope.", "caldav.bindings.error.scope_project": "Please pick a project.", "caldav.bindings.error.path": "Please pick a calendar or enter a URL.", "caldav.bindings.error.create_name_required": "Please enter a display name.", "caldav.bindings.error.create_name_taken": "Name already in use — please pick a different display name.", "caldav.bindings.error.create_unsupported": "Your provider doesn't support creating calendars. Please use 'Enter custom URL' instead.", // Notizen (polymorphic notes — Phase I) "notes.section.title": "Notes", "notes.placeholder": "Add a note\u2026", "notes.shortcut.hint": "Ctrl+Enter (or \u2318+Enter) to save", "notes.submit": "Add", "notes.save": "Save", "notes.cancel": "Cancel", "notes.edit": "Edit", "notes.delete": "Delete", "notes.delete.confirm": "Really delete this note?", "notes.empty": "No notes yet.", "notes.edited": "edited", "notes.unknown_author": "Unknown", "notes.time.just_now": "just now", "notes.error.empty": "Note cannot be empty.", "notes.error.generic": "Action failed. Please try again.", // Agenda (t-paliad-030) — unified timeline across projects "agenda.title": "Agenda — Paliad", "agenda.heading": "Agenda", "agenda.subtitle": "Upcoming deadlines and appointments across all visible matters, grouped by day.", "agenda.unavailable": "Agenda is currently unavailable — please contact an administrator.", "agenda.loading": "Loading …", "agenda.filter.type": "View", "agenda.filter.both": "Both", "agenda.filter.deadlines": "Deadlines only", "agenda.filter.appointments": "Appointments only", "agenda.filter.range": "Range", "agenda.range.7": "7 days", "agenda.range.14": "14 days", "agenda.range.30": "30 days", "agenda.range.90": "90 days", "agenda.empty.title": "Nothing in this range", "agenda.empty.hint": "Nothing due — widen the range or create new deadlines or appointments.", "agenda.label.deadline": "Deadline", "agenda.label.appointment": "Appointment", "agenda.appointment_type.hearing": "Hearing", "agenda.appointment_type.meeting": "Meeting", "agenda.appointment_type.consultation": "Client meeting", "agenda.appointment_type.deadline_hearing": "Deadline hearing", "agenda.day.today": "Today", "agenda.day.tomorrow": "Tomorrow", "agenda.day.mo": "Mon", "agenda.day.di": "Tue", "agenda.day.mi": "Wed", "agenda.day.do": "Thu", "agenda.day.fr": "Fri", "agenda.day.sa": "Sat", "agenda.day.so": "Sun", "agenda.urgency.overdue": "Overdue", "agenda.urgency.today": "Today", "agenda.urgency.tomorrow": "Tomorrow", "agenda.urgency.this_week": "This week", "agenda.urgency.later": "Later", // Team directory (t-paliad-029) "team.title": "Team — Paliad", "team.heading": "Team", "team.subtitle": "All Paliad colleagues, grouped by office or partner unit.", "team.search.placeholder": "Search by name, role, office…", "team.group.office": "By office", "team.group.department": "By partner unit", "team.group.other": "Other", "team.filter.all": "All", "team.filter.role": "Role", "team.role.partner": "Partner", "team.role.counsel": "Counsel", "team.role.counsel_knowledge_lawyer": "Counsel Knowledge Lawyer", "team.role.senior_associate": "Senior Associate", "team.role.associate": "Associate", "team.role.junior_associate": "Junior Associate", "team.role.trainee": "Trainee", "team.role.pa": "PA", "team.role.paralegal": "Paralegal", "team.role.secretary": "Secretary", "team.empty": "No matches.", "team.dept.lead": "Lead", "team.dept.unassigned": "No partner unit", "team.partner_unit.unassigned": "No partner unit", // Project filter (t-paliad-147) "team.filter.project": "Project", "team.filter.project.all": "All projects", "team.filter.project.selected": "selected", "team.filter.project.clear": "Deselect all", // Click-to-select (t-paliad-223 #53). "team.selection.count": "{n} selected", "team.selection.clear": "Clear selection", "team.selection.send": "Email selection", "team.selection.select_all": "Select all visible", "team.selection.toggle_card": "Select contact", // Broadcast modal (t-paliad-147) "team.broadcast.button": "Email selection", "team.broadcast.title": "Email selection", "team.broadcast.recipients": "Recipients", "team.broadcast.show_all": "Show all", "team.broadcast.mailto.label": "Open in mail client", "team.broadcast.mailto.tooltip": "Opens your local mail client with every recipient prefilled in the To: line", "team.broadcast.template": "Template", "team.broadcast.template_optional": "optional", "team.broadcast.template_freeform": "Free-form", "team.broadcast.template.invitation": "Invitation", "team.broadcast.template.deadline_digest": "Deadline digest", "team.broadcast.subject": "Subject", "team.broadcast.body": "Message", "team.broadcast.body_placeholder": "Hi {{first_name}}, …", "team.broadcast.placeholders_hint": "Placeholders: {{name}}, {{first_name}}, {{role_on_project}}", "team.broadcast.markdown_hint": "Markdown supported: **bold**, *italic*, [link](https://...), - bullet.", "team.broadcast.send": "Send", "team.broadcast.sending": "Sending…", "team.broadcast.sent": "Sent", "team.broadcast.success": "{sent} of {total} emails sent ({failed} failed).", "team.broadcast.error.no_recipients": "No recipients selected.", "team.broadcast.error.too_many": "Recipient limit ({cap}) exceeded.", "team.broadcast.error.subject_required": "Subject is required.", "team.broadcast.error.body_required": "Message is required.", "common.close": "Close", // Admin broadcasts viewer (t-paliad-147) "admin.broadcasts.title": "Broadcasts — Paliad", "admin.broadcasts.heading": "Broadcasts", "admin.broadcasts.subtitle": "Sent bulk emails to team selections.", "admin.broadcasts.col.sent_at": "Sent", "admin.broadcasts.col.subject": "Subject", "admin.broadcasts.col.sender": "Sender", "admin.broadcasts.col.count": "Recipients", "admin.broadcasts.loading": "Loading…", "admin.broadcasts.empty": "No broadcasts sent yet.", "admin.broadcasts.detail.sent_by": "Sent by", "admin.broadcasts.detail.delivered": "delivered", "admin.broadcasts.detail.failed": "failed", "admin.broadcasts.detail.recipients": "Recipients", // t-paliad-146: Paliadin in-app AI buddy (PoC) "paliadin.title": "Paliadin — Paliad", "paliadin.heading": "✨ Paliadin", "paliadin.tagline": "I know your matters and Paliad's knowledge base.", "paliadin.empty": "What can I help you with?", "paliadin.starter.today": "What's on my plate today?", "paliadin.starter.week": "Which deadlines are due this week?", "paliadin.starter.concept": "Explain Klageerwiderung.", "paliadin.input.placeholder": "Ask Paliadin…", "paliadin.send": "Send", "paliadin.stop": "Stop", "paliadin.reset": "New conversation", "paliadin.error.local_only": "Paliadin only runs locally. This instance has no tmux/claude installed — start it locally via ./paliad.", "paliadin.error.mriver_unreachable": "mRiver is offline — Paliadin can't reach it. Wake mRiver, or run Paliadin locally with ./paliad.", "paliadin.error.shim_auth_failed": "Paliadin auth failed. Check the SSH key or authorized_keys on mRiver.", "paliadin.error.shim_error": "Paliadin error on mRiver. Check the tmux/claude pane.", "paliadin.error.timeout": "Paliadin didn't respond in time (60s). Try again.", "paliadin.error.connection_lost": "Connection lost.", "paliadin.error.upstream": "Send failed.", "paliadin.error.upstream_silence": "Paliadin went silent — closing the connection.", "paliadin.late.waiting": "Will fill in the response when it arrives …", "paliadin.late.checking": "Connection lost — Paliadin may still be thinking. Fetching fresh answer …", "paliadin.late.lost": "Answer couldn't be delivered — please ask again.", "paliadin.late.marker": "late", "paliadin.thinking": "Paliadin is thinking", "paliadin.thinking.seconds": "{seconds}s", "paliadin.widget.title": "Paliadin", "paliadin.widget.trigger": "Paliadin (Cmd+J)", "paliadin.widget.empty": "What can I help you with?", "paliadin.widget.input.placeholder": "Ask Paliadin...", "paliadin.widget.input.label": "Message to Paliadin", "paliadin.widget.send": "Send", "paliadin.widget.reset": "Reset conversation", "paliadin.widget.reset.confirm": "Reset the conversation here and on the server?", "paliadin.widget.fullscreen": "Fullscreen mode", "paliadin.widget.close": "Close", "paliadin.widget.context.on_page": "On this page", "approvals.agent.label": "Paliadin suggested this", "approvals.agent.byline": "Paliadin", "approvals.agent.suggestion_pending": "Suggestion awaiting your approval", "nav.admin.paliadin": "Paliadin Monitor", "admin.paliadin.title": "Paliadin Monitor — Paliad", "admin.paliadin.heading": "Paliadin Monitor", "admin.paliadin.subtitle": "How is Paliadin actually being used?", "admin.paliadin.total": "Total", "admin.paliadin.last7": "Last 7 days", "admin.paliadin.median_dur": "Median duration", "admin.paliadin.tool_rate": "Tool-use rate", "admin.paliadin.abandon_rate": "Abandon rate", "admin.paliadin.classifier_heading": "Question types", "admin.paliadin.daily_heading": "Daily usage", "admin.paliadin.top_heading": "Top queries", "admin.paliadin.recent_heading": "Recent queries", "admin.paliadin.col.prompt": "Query", "admin.paliadin.col.count": "Count", "admin.paliadin.col.started": "Time", "admin.paliadin.col.user": "User", "admin.paliadin.col.classifier": "Type", "admin.paliadin.col.response": "Answer", "admin.paliadin.col.tools": "Tools", "admin.paliadin.col.origin": "Page", "admin.paliadin.col.duration": "Duration", "admin.paliadin.loading": "Loading…", "common.forbidden": "Access denied.", "common.load_error": "Load error.", "common.loading": "Loading…", "partner_unit.heading": "My Partner Units", "partner_unit.subtitle": "Partner Units are structural units — separate from project teams. Membership is admin-managed.", "partner_unit.none": "You are not a member of any Partner Unit yet.", "partner_unit.members_label": "members", // Admin team management (t-paliad-050) "nav.group.admin": "Admin", "nav.admin.bereich": "Admin Area", "nav.admin.team": "Team Management", "admin.title": "Admin Area — Paliad", "admin.heading": "Admin Area", "admin.subtitle": "Tools for managing Paliad. Visible only to administrators.", "admin.section.available": "Available", "admin.section.planned": "Planned", "admin.coming_soon": "Coming soon", "admin.card.team.title": "Team Management", "admin.card.team.desc": "Create, edit and delete user accounts.", "admin.card.partner_units.title": "Partner Units", "admin.card.partner_units.desc": "Create structural partner units and assign members.", "admin.card.audit.title": "Audit Log", "admin.card.audit.desc": "Who changed what, and when. Traceability for security-relevant actions.", "admin.card.email_templates.title": "Email Templates", "admin.card.email_templates.desc": "Customise templates for invitations, reminders and the wrapper layout.", "admin.card.feature_flags.title": "Feature Flags", "admin.card.feature_flags.desc": "Enable features per office, partner unit or role.", "admin.card.broadcasts.title": "Broadcasts", "admin.card.broadcasts.desc": "Inspect bulk emails sent to team selections.", "admin.card.approval_policies.title": "Approval Policies", "admin.card.approval_policies.desc": "Configure 4-eye review per project and partner unit.", "admin.approval_policies.title": "Approval Policies — Paliad", "admin.approval_policies.heading": "Approval Policies", "admin.approval_policies.subtitle": "Configure 4-eye review per project and partner unit.", "admin.approval_policies.loading": "Loading …", "admin.approval_policies.section.units": "Partner Unit Defaults", "admin.approval_policies.section.units.hint": "Default rules that every project attached to a partner unit inherits. When multiple partner units apply, the strictest rule wins.", "admin.approval_policies.section.projects": "Project-specific", "admin.approval_policies.section.projects.hint": "Per-project rules. Override partner-unit defaults and inherited project rules.", "admin.approval_policies.units.empty": "No partner units yet.", "admin.approval_policies.picker.label": "Pick a project", "admin.approval_policies.picker.placeholder": "Search…", "admin.approval_policies.picker.no_results": "No matches.", "admin.approval_policies.entity.deadline": "Deadlines", "admin.approval_policies.entity.appointment": "Appointments", "admin.approval_policies.lifecycle.create": "Create", "admin.approval_policies.lifecycle.update": "Edit", "admin.approval_policies.lifecycle.complete": "Complete", "admin.approval_policies.lifecycle.delete": "Delete", "admin.approval_policies.role.partner": "Partner", "admin.approval_policies.role.of_counsel": "Of Counsel", "admin.approval_policies.role.associate": "Associate", "admin.approval_policies.role.senior_pa": "Senior PA", "admin.approval_policies.role.pa": "PA", "admin.approval_policies.role.none": "No approval", "admin.approval_policies.role.no_rule": "— no rule —", "admin.approval_policies.source.project": "Project", "admin.approval_policies.source.ancestor": "Inherited", "admin.approval_policies.source.unit_default": "Default", "admin.approval_policies.source.no_approval": "no approval", "admin.approval_policies.cell.requires": "Approval required", "admin.approval_policies.cell.clear": "—", "admin.approval_policies.cell.clear.title": "Reset to inheritance", "admin.approval_policies.cell.saved_msg": "Saved.", "admin.approval_policies.cell.error_msg": "Error", "admin.approval_policies.bulk.cta": "Apply to descendants", "admin.approval_policies.bulk.no_descendants": "No descendants.", "admin.approval_policies.bulk.modal.title": "Apply to descendants", "admin.approval_policies.bulk.modal.body": "The descendants below receive this project's effective matrix as project-specific rules. Existing project-specific rules will be overwritten. Partner-unit defaults remain intact.", "admin.approval_policies.bulk.modal.cancel": "Cancel", "admin.approval_policies.bulk.modal.confirm": "Apply", "admin.approval_policies.bulk.modal.applying": "Applying …", "admin.approval_policies.bulk.modal.done": "Applied", "admin.approval_policies.bulk.modal.writes_label": "writes", "admin.approval_policies.bulk.modal.targets_label": "projects", "inbox.empty.admin_nudge.title": "No approval policies configured yet?", "inbox.empty.admin_nudge.body": "Set which lifecycle events require 4-eye review.", "inbox.empty.admin_nudge.cta": "Configure approval policies", "inbox.title.feed": "Inbox — Paliad", "inbox.heading.feed": "Inbox", "inbox.subtitle.feed": "Updates on your projects and open approvals.", "inbox.action.mark_all_seen": "Mark all as read", "inbox.action.open": "Open", "inbox.empty.feed": "No updates in the last 30 days.", "views.bar.label.unread_only": "Read state", "views.bar.unread_only.on": "Unread only", "views.bar.unread_only.off": "All", "views.bar.label.inbox_focus": "Show", "views.bar.inbox_focus.alles": "Everything", "views.bar.inbox_focus.genehmigungen": "Approvals only", "views.bar.inbox_focus.plus_termine": "+ Appointments", "views.bar.inbox_focus.plus_fristen": "+ Deadlines", "deadlines.form.approval_hint": "4-eye review required", "appointments.form.approval_hint": "4-eye review required", "admin.email_templates.title": "Email Templates — Paliad", "admin.email_templates.heading": "Email Templates", "admin.email_templates.subtitle": "Customise templates for invitations, reminders, and the shared layout wrapper.", "admin.email_templates.loading": "Loading…", "admin.email_templates.load_error": "Failed to load templates.", "admin.email_templates.back": "← Back to list", "admin.email_templates.lang.de": "German", "admin.email_templates.lang.en": "English", "admin.email_templates.status.default": "Default", "admin.email_templates.status.last_modified": "Last modified: {date}", "admin.email_templates.card.invitation.title": "Invitation", "admin.email_templates.card.invitation.desc": "Email sent to new colleagues from the sidebar invite flow.", "admin.email_templates.card.deadline_digest.title": "Deadline digest", "admin.email_templates.card.deadline_digest.desc": "Daily morning + evening email with overdue, due-today, and upcoming deadlines.", "admin.email_templates.card.base.title": "Layout wrapper", "admin.email_templates.card.base.desc": "Shared HTML frame (header + footer) that wraps every email.", "admin.email_templates.editor.title": "Edit email template — Paliad", "admin.email_templates.editor.heading": "Edit email template", "admin.email_templates.editor.heading_for": "{title} — {lang}", "admin.email_templates.editor.is_default": "Currently using the default.", "admin.email_templates.editor.last_modified": "Last modified: {date}", "admin.email_templates.editor.subject": "Subject", "admin.email_templates.editor.body": "HTML body", "admin.email_templates.editor.note_optional": "Note (optional)", "admin.email_templates.editor.note_placeholder": "e.g. Correction following counsel feedback", "admin.email_templates.editor.variables": "Available variables", "admin.email_templates.editor.preview": "Preview", "admin.email_templates.editor.preview_refresh": "Refresh preview", "admin.email_templates.editor.preview_error": "Preview failed.", "admin.email_templates.editor.parse_error": "Template error:", "admin.email_templates.editor.save": "Save", "admin.email_templates.editor.save_ok": "Saved.", "admin.email_templates.editor.save_error": "Save failed.", "admin.email_templates.editor.reset": "Reset to default", "admin.email_templates.editor.reset_confirm": "Really reset to default?", "admin.email_templates.editor.reset_ok": "Reset to default.", "admin.email_templates.editor.reset_error": "Reset failed.", "admin.email_templates.editor.versions": "Versions", "admin.email_templates.editor.versions_empty": "No versions yet.", "admin.email_templates.editor.restore": "Restore", "admin.email_templates.editor.restore_confirm": "Restore this version?", "admin.email_templates.editor.restore_ok": "Version restored.", "admin.email_templates.editor.restore_error": "Restore failed.", "admin.email_templates.editor.dirty_warn": "Discard unsaved changes?", "admin.email_templates.editor.unknown_key": "Unknown template key.", "admin.email_templates.editor.slot.morning": "Morning slot", "admin.email_templates.editor.slot.evening": "Evening slot", "admin.team.title": "Team Management — Paliad", "admin.team.heading": "Team Management", "admin.team.subtitle": "View, edit and add Paliad accounts.", "admin.team.search.placeholder": "Search by name or email…", "admin.team.add.full": "Add account directly", "admin.team.add.direct": "Onboard existing account", "admin.team.add.invite": "Invite Colleague", "admin.team.add_full.title": "Add account directly", "admin.team.add_full.body": "Creates both the login account and the Paliad profile. The new colleague receives an email with a link to set a password.", "admin.team.add_full.email": "Email", "admin.team.add_full.name": "Display name", "admin.team.add_full.office": "Office", "admin.team.add_full.profession": "Profession", "admin.team.add_full.job_title": "Job title", "admin.team.add_full.lang": "Language", "admin.team.add_full.send_welcome": "Send welcome email with login link", "admin.team.add_full.cancel": "Cancel", "admin.team.add_full.submit": "Create", "admin.team.add_full.feedback.added": "Account created.", "admin.team.add_full.error.unavailable": "Add-User path is not configured (SUPABASE_SERVICE_ROLE_KEY missing on the server).", "admin.team.add_full.error.email_exists": "An account already exists for this email — please use 'Onboard existing account' instead.", "admin.team.add_full.error.generic": "Could not create the account.", "admin.team.loading": "Loading…", "admin.team.empty": "No matches.", "admin.team.error.forbidden": "Admins only.", "admin.team.col.name": "Name", "admin.team.col.email": "Email", "admin.team.col.office": "Office", "admin.team.col.job_title": "Job title", "admin.team.col.profession": "Profession", "admin.team.col.profession.none": "(external)", "admin.team.col.profession.none.hint": "No profession set — no 4-eye authority.", "admin.team.col.permission": "Permission", "admin.team.col.additional": "Additional offices", "admin.team.col.lang": "Lang", "admin.team.col.created": "Created", "admin.team.col.actions": "Actions", "admin.team.row.edit": "Edit", "admin.team.row.delete": "Delete", "admin.team.row.save": "Save", "admin.team.row.cancel": "Cancel", "admin.team.confirm.delete": "Really delete {name}? This action is permanent.", "admin.team.feedback.saved": "Saved.", "admin.team.feedback.deleted": "Deleted.", "admin.team.feedback.added": "Account onboarded.", "admin.team.direct_add.title": "Onboard existing account", "admin.team.direct_add.body": "This list shows accounts that have signed in but never completed onboarding.", "admin.team.direct_add.email": "Email", "admin.team.direct_add.email.placeholder": "Please select…", "admin.team.direct_add.empty": "No pending accounts.", "admin.team.direct_add.name": "Display name", "admin.team.direct_add.office": "Office", "admin.team.direct_add.job_title": "Job title", "admin.team.permission.standard": "Standard", "admin.team.permission.global_admin": "Global Admin", "admin.team.permission.last_admin": "The last global admin cannot be demoted.", "admin.team.direct_add.cancel": "Cancel", "admin.team.direct_add.submit": "Create", // Admin audit log (t-paliad-071) "nav.admin.audit": "Audit Log", "nav.admin.partner_units": "Partner Units", // Admin Backup Mode (t-paliad-246 / m/paliad#77) "nav.admin.backups": "Backups", "admin.backups.title": "Backups — Paliad", "admin.backups.heading": "Backups", "admin.backups.subtitle": "Full snapshots of all data — manual or scheduled.", "admin.backups.run_now": "Run backup now", "admin.backups.running": "Running …", "admin.backups.success": "Backup created successfully.", "admin.backups.empty": "No backups yet.", "admin.backups.loading": "Loading …", "admin.backups.col.started": "Started", "admin.backups.col.kind": "Trigger", "admin.backups.col.status": "Status", "admin.backups.col.requested_by": "Requested by", "admin.backups.col.size": "Size", "admin.backups.col.rows": "Sheets", "admin.backups.col.actions": "Action", "admin.backups.kind.scheduled": "Scheduled", "admin.backups.kind.on_demand": "Manual", "admin.backups.status.running": "Running …", "admin.backups.status.done": "✓ Done", "admin.backups.status.failed": "✗ Failed", "admin.backups.download": "Download", "admin.backups.footer.note": "Scheduled backups land in a later slice. Manual backups are available now.", "admin.audit.title": "Audit Log — Paliad", "admin.audit.heading": "Audit Log", "admin.audit.subtitle": "Global timeline across project, CalDAV, reminder and partner-unit events.", "admin.audit.source.partner_unit_events": "Partner Units", "admin.partner_units.title": "Partner Units — Paliad", "admin.partner_units.heading": "Partner Units", "admin.partner_units.subtitle": "Manage structural partner units and assign members.", "admin.partner_units.loading": "Loading…", "admin.partner_units.empty": "No partner units yet.", "admin.partner_units.new": "New Partner Unit", "admin.partner_units.new.heading": "Create Partner Unit", "admin.partner_units.edit.heading": "Edit Partner Unit", "admin.partner_units.create": "Save", "admin.partner_units.cancel": "Cancel", "admin.partner_units.col.name": "Name", "admin.partner_units.col.office": "Office", "admin.partner_units.col.lead": "Lead", "admin.partner_units.col.members": "Members", "admin.partner_units.col.actions": "Actions", "admin.partner_units.action.members": "Members", "admin.partner_units.action.edit": "Edit", "admin.partner_units.action.delete": "Delete", "admin.partner_units.confirm_delete": "Really delete partner unit \"{name}\"?", "admin.partner_units.error.name_required": "Name required", "admin.partner_units.error.user_required": "Select a user", "admin.partner_units.feedback.created": "Created.", "admin.partner_units.feedback.updated": "Updated.", "admin.partner_units.feedback.deleted": "Deleted.", "admin.partner_units.feedback.role_updated": "Role updated.", "admin.partner_units.member.heading": "Manage members", "admin.partner_units.member.empty": "No members yet.", "admin.partner_units.member.add": "Add member", "admin.partner_units.member.add_btn": "Add", "admin.partner_units.member.remove": "Remove", "admin.partner_units.member.confirm_remove": "Remove member?", "admin.partner_units.member.placeholder": "Name or email", "admin.partner_units.member.role": "Role", "admin.audit.loading": "Loading…", "admin.audit.empty": "No events match the selected filters.", "admin.audit.loadmore": "Load more", "admin.audit.error.forbidden": "Admins only.", "admin.audit.error.unavailable": "Audit service unavailable.", "admin.audit.search.placeholder": "Subject, description, event type…", "admin.audit.filter.source": "Source", "admin.audit.filter.range": "Range", "admin.audit.filter.from": "From", "admin.audit.filter.to": "To", "admin.audit.filter.search": "Search", "admin.audit.range.24h": "Last 24h", "admin.audit.range.7d": "Last 7 days", "admin.audit.range.30d": "Last 30 days", "admin.audit.range.custom": "Custom", "admin.audit.range.all": "All", "admin.audit.source.all": "All sources", "admin.audit.source.project_events": "Project events", "admin.audit.source.caldav_sync_log": "CalDAV sync", "admin.audit.source.reminder_log": "Reminder", "admin.audit.col.time": "Time", "admin.audit.col.source": "Source", "admin.audit.col.event": "Event", "admin.audit.col.actor": "Actor", "admin.audit.col.subject": "Subject", "admin.audit.col.description": "Description", "admin.audit.event.caldav_synced": "CalDAV sync ok", "admin.audit.event.caldav_sync_error": "CalDAV sync error", "admin.audit.event.morning_digest": "Morning digest sent", "admin.audit.event.evening_digest": "Evening digest sent", "admin.audit.event.deadline_reminder": "Deadline reminder sent", "admin.audit.event.due_today": "Due-today reminder sent", "admin.audit.event.weekly": "Weekly digest sent", // Not-found (404) page "notfound.title": "Page not found — Paliad", "notfound.heading": "Page not found", "notfound.lede": "This page doesn't exist or has been moved.", "notfound.cta": "Back to dashboard", // t-paliad-088: Event Types — picker, multi-select filter, add modal. "common.cancel": "Cancel", "modal.close.label": "Close", "event_types.cat.submission": "Submissions", "event_types.cat.decision": "Decisions", "event_types.cat.order": "Orders", "event_types.cat.service": "Service", "event_types.cat.fee": "Fees", "event_types.cat.hearing": "Hearings", "event_types.cat.other": "Other", "event_types.picker.search": "Search or type…", "event_types.picker.add": "+ Add new type…", "event_types.picker.remove": "Remove", "event_types.picker.no_match": "No matches.", "event_types.picker.browse_all": "Browse all", "event_types.browse.title": "Choose event types", "event_types.browse.search": "Search across all types…", "event_types.browse.empty": "No matches.", "event_types.browse.apply": "Apply", "event_types.browse.cancel": "Cancel", "event_types.browse.selected_count": "{n} selected", "event_types.browse.jurisdiction.none": "Any", "event_types.browse.jurisdiction.all": "All courts", "event_types.browse.jurisdiction.filter_label": "Filter by court type", "event_types.filter.all": "All types", "event_types.filter.untyped": "— Untyped —", "event_types.filter.search": "Search type…", "event_types.filter.reset": "Reset", "event_types.filter.apply": "Apply", "event_types.filter.n_selected": "{n} types", "event_types.add.title": "Create new event type", "event_types.add.label_de": "Label (DE) *", "event_types.add.label_en": "Label (EN, optional)", "event_types.add.category": "Category *", "event_types.add.jurisdiction": "Jurisdiction (optional)", "event_types.add.jurisdiction.none": "—", "event_types.add.jurisdiction.any": "Any", "event_types.add.firm_wide": "Make firm-wide", "event_types.add.firm_wide.hint": "Firm-wide types are visible to all colleagues. Admins can archive them.", "event_types.add.submit": "Create", "event_types.add.duplicate_warn": "Probably already exists:", "event_types.add.error.required": "Label (DE) is required.", "event_types.add.error.slug_taken": "A type with this name already exists.", "event_types.add.error.generic": "Could not create. Please try again.", "deadlines.field.event_type": "Type (optional)", "deadlines.col.event_type": "Type", "deadlines.filter.event_type": "Type", "agenda.filter.event_type": "Type", // t-paliad-089: Admin Event-Type moderation panel. "nav.admin.event_types": "Event Types", "admin.card.event_types.title": "Event Types", "admin.card.event_types.desc": "Moderate firm-wide event types: archive, merge, promote.", "admin.event_types.title": "Event Types — Paliad", "admin.event_types.heading": "Event Types", "admin.event_types.subtitle": "Moderate firm-wide event types: archive, merge, promote private types.", "admin.event_types.section.firm_wide": "Firm-wide types", "admin.event_types.section.private_pending": "Private types (pending promotion)", "admin.event_types.section.private_pending.hint": "Private types from other colleagues, sorted by usage. Promoting makes the type firm-wide.", "admin.event_types.search.placeholder": "Search label, slug or author…", "admin.event_types.show_archived": "Show archived", "admin.event_types.loading": "Loading…", "admin.event_types.empty": "No matches.", "admin.event_types.private.empty": "No private types.", "admin.event_types.col.label": "Label", "admin.event_types.col.category": "Category", "admin.event_types.col.jurisdiction": "Jurisdiction", "admin.event_types.col.author": "Author", "admin.event_types.col.created": "Created", "admin.event_types.col.usage": "Usage", "admin.event_types.col.actions": "Actions", "admin.event_types.row.archived": "Archived", "admin.event_types.author.system": "System", "admin.event_types.author.unknown": "Unknown", "admin.event_types.action.archive": "Archive", "admin.event_types.action.archive_selected": "Archive selected", "admin.event_types.action.merge_selected": "Merge…", "admin.event_types.action.restore": "Restore", "admin.event_types.action.promote": "Promote", "admin.event_types.bulk.count": "{n} selected", "admin.event_types.confirm.archive": "Really archive \"{label}\"?", "admin.event_types.confirm.bulk_archive": "Really archive {n} types?", "admin.event_types.confirm.promote": "Make \"{label}\" firm-wide?", "admin.event_types.confirm.merge": "\"{winner}\" as winner: {n} loser type(s) will be archived, {usage} junction row(s) redirected. Proceed?", "admin.event_types.feedback.archived": "{n} archived.", "admin.event_types.feedback.archive_error": "Archive failed.", "admin.event_types.feedback.restored": "Restored.", "admin.event_types.feedback.restore_error": "Restore failed.", "admin.event_types.feedback.promoted": "Promoted.", "admin.event_types.feedback.promote_error": "Promotion failed.", "admin.event_types.feedback.merged": "Merged.", "admin.event_types.feedback.merge_error": "Merge failed.", "admin.event_types.error.forbidden": "Admins only.", "admin.event_types.merge.title": "Merge types", "admin.event_types.merge.body": "Pick the winner. Loser junction rows get redirected to the winner, then the losers are archived.", "admin.event_types.merge.submit": "Merge", // Approval workflow (t-paliad-138). "approvals.title": "Approvals", "approvals.heading": "Approvals", "approvals.subtitle": "Four-eyes review for deadlines and appointments.", "approvals.tab.pending_mine": "Awaiting approval", "approvals.tab.mine": "My requests", "approvals.empty.pending_mine": "Nothing awaits your approval.", "approvals.empty.mine": "You have no open requests.", "approvals.lifecycle.create": "Creation", "approvals.lifecycle.update": "Change", "approvals.lifecycle.complete": "Completion", "approvals.lifecycle.delete": "Deletion", "approvals.entity.deadline": "Deadline", "approvals.entity.appointment": "Appointment", "approvals.required_role.lead": "Lead", "approvals.required_role.of_counsel": "Of Counsel", "approvals.required_role.associate": "Associate", "approvals.required_role.senior_pa": "Senior PA", "approvals.required_role.pa": "PA", "approvals.status.pending": "Open", "approvals.status.approved": "Approved", "approvals.status.rejected": "Rejected", "approvals.status.revoked": "Revoked", "approvals.status.superseded": "Superseded", "approvals.status.changes_requested": "Declined with changes", "approvals.action.approve": "Approve", "approvals.action.reject": "Reject", "approvals.action.revoke": "Revoke", "approvals.action.suggest_changes": "Suggest changes", "approvals.note.placeholder": "Optional note...", "approvals.suggest.modal_title": "Suggest changes", "approvals.suggest.intro": "Edit the proposed values and/or leave a note. Your suggestion will be filed as a new approval request and may be approved by the original requester (or anyone else eligible).", "approvals.suggest.note_label": "Note about your suggestion", "approvals.suggest.note_placeholder": "Why should these values change?", "approvals.suggest.submit": "Submit suggestion", "approvals.suggest.cancel": "Cancel", "approvals.suggest.submit_disabled_hint": "Change at least one field or leave a note.", "approvals.suggest.next_request_link": "→ New suggestion by {name}", "approvals.suggest.unsupported_lifecycle": "Suggest changes is only available for update requests.", "approvals.suggest.section.editable": "Fields", "approvals.suggest.section.event_type_rule": "Event type + rule", "approvals.suggest.section.context": "Context", "approvals.suggest.context.project": "Project", "approvals.suggest.context.requester": "Submitted by", "approvals.suggest.context.requested_at": "Submitted at", "approvals.suggest.context.approval_status": "Approval status", "approvals.suggest.event_type_picker_unavailable": "Event types could not be loaded.", "approvals.suggest.field.original_due_date": "Original due date", "approvals.suggest.field.warning_date": "Warning date", "approvals.suggest.field.rule_code": "Rule citation", "approvals.suggest.field.description": "Description", "approvals.requested_by": "Submitted by", "approvals.decided_by": "Decided by", "approvals.decision_kind.peer": "Peer approval", "approvals.decision_kind.admin_override": "Admin override", "approvals.decision_kind.derived_peer": "Approved by derived member (Partner Unit)", "approvals.error.self_approval": "You cannot approve your own request.", "approvals.error.not_authorized": "You don't have the required role.", "approvals.error.no_qualified_approver": "No qualified approver available — please add an approver to the project team or contact an admin.", "approvals.error.concurrent_pending": "Another approval request is already in flight on this entity.", "approvals.error.awaiting_approval": "This entity is awaiting approval.", "approvals.error.request_not_pending": "This request is no longer open.", "approvals.error.suggestion_requires_change": "A suggestion needs either changed values or a note.", "approvals.error.suggestion_lifecycle_invalid": "Suggest changes is only available for update requests.", "approvals.disabled.self_approval": "You cannot approve your own requests", "approvals.disabled.not_authorized": "You are not authorized to approve this request", "approvals.disabled.revoke_not_requester": "Only the requester can withdraw", "approvals.disabled.suggest_lifecycle": "Suggest changes is only available for update requests", "approvals.pending.badge": "Awaiting approval", "approvals.withdraw.cta": "Withdraw approval request", "approvals.withdraw.confirm": "Withdraw the approval request?", "approvals.withdraw.error": "Failed to withdraw", "approvals.withdraw.cancel": "Cancel", "approvals.withdraw.modal.title": "Withdraw approval request?", "approvals.withdraw.primary.label": "Edit event", "approvals.withdraw.destructive.label": "Withdraw permanently and delete", "approvals.withdraw.lead.create.deadline": "Withdrawing this request will delete the deadline.", "approvals.withdraw.lead.create.appointment": "Withdrawing this request will delete the appointment.", "approvals.withdraw.lead.update": "Withdrawing this request will discard your proposed changes — the entry will revert to its state before your edit.", "approvals.withdraw.lead.delete": "Withdrawing the delete request will keep the entry alive.", "approvals.withdraw.sub.create": "Alternatively, you can edit the entry instead. The request stays open and the approver will see your new values.", "approvals.withdraw.sub.update": "Alternatively, you can edit your changes and resubmit. The request stays open.", "approvals.withdraw.sub.delete": "Are you sure you want to withdraw the delete request?", "approvals.pending_create.label": "Awaits approval (creation)", "approvals.pending_update.label": "Awaits approval (change)", "approvals.pending_complete.label": "Awaits approval (completion)", "approvals.pending_delete.label": "Awaits approval (deletion)", "approvals.diff.before": "Before", "approvals.diff.after": "After", "approvals.policies.title": "Approval policies", "approvals.policies.subtitle": "Which lifecycle events need four-eyes review on this project?", "approvals.policies.column.event": "Event", "approvals.policies.column.deadline": "Deadline", "approvals.policies.column.appointment": "Appointment", "approvals.policies.no_approval": "No approval needed", "approvals.policies.copy_parent": "Copy from parent project", "approvals.policies.set_all_associate": "Set all to Associate", // t-paliad-144 — Custom Views "nav.group.user_views": "My Views", "nav.user_views.new": "New view", "views.title": "Views — Paliad", "views.heading": "Views", "views.subtitle": "Saved views over your data — filters and shape preserved.", "views.loading": "Loading …", "views.shape.list": "List", "views.shape.cards": "Cards", "views.shape.calendar": "Calendar", "views.shape.timeline": "Timeline", "views.timeline.caveat.body": "Custom Views show actual events only. Open the project's chart for projected rules.", "views.timeline.zoom.label": "Zoom", "views.timeline.zoom.in": "Zoom in", "views.timeline.zoom.out": "Zoom out", "views.timeline.zoom.1y": "±1 yr", "views.timeline.zoom.2y": "±2 yr", "views.timeline.zoom.all": "All", "views.save_as": "Save as view", "views.action.edit": "Edit", "views.empty.title": "No matches found.", "views.error.back": "Back to views", "views.error.not_found": "View not found.", "views.error.network": "Network error — please retry.", "views.toast.inaccessible_one": "1 project in this view is no longer visible to you.", "views.toast.inaccessible_n": "{n} projects in this view are no longer visible to you.", "views.calendar.mobile_fallback": "Calendar view works best on a wide screen.", "views.onboarding.title": "Saved views — what are they?", "views.onboarding.body": "A view is a saved filter combination — e.g. \"Deadlines in my projects in the next 14 days\". Views appear as their own buttons in the sidebar.", "views.onboarding.create": "Create example view", "views.source.deadline": "Deadlines", "views.source.appointment": "Appointments", "views.source.project_event": "Project history", "views.source.approval_request": "Approvals", "views.kind.deadline": "Deadline", "views.kind.appointment": "Appointment", "views.kind.project_event": "History", "views.kind.approval_request": "Approval", "views.scope.all_visible": "All visible", "views.scope.my_subtree": "My subtree", "views.scope.explicit": "Specific projects", "views.scope.personal_only": "Personal only", "views.horizon.next_1d": "Tomorrow", "views.horizon.next_7d": "Next 7 days", "views.horizon.next_14d": "Next 14 days", "views.horizon.next_30d": "Next 30 days", "views.horizon.next_90d": "Next 90 days", "views.horizon.next_all": "All future", "views.horizon.past_1d": "Last day", "views.horizon.past_7d": "Last 7 days", "views.horizon.past_14d": "Last 14 days", "views.horizon.past_30d": "Last 30 days", "views.horizon.past_90d": "Last 90 days", "views.horizon.past_all": "All past", "views.horizon.any": "Any", "views.horizon.all": "All-time", "views.horizon.custom": "Custom", "views.density.comfortable": "Comfortable", "views.density.compact": "Compact", "views.col.date": "Date", "views.col.time": "When", "views.col.title": "Title", "views.col.project": "Project", "views.col.actor": "Actor", "views.col.status": "Status", "views.col.rule": "Rule", "views.col.event_type": "Type", "views.col.location": "Location", "views.col.appointment_type": "Appointment type", "views.col.approval_status": "Approval", "views.col.decided_by": "Decided by", "views.col.kind": "Kind", "views.editor.title": "Edit view — Paliad", "views.editor.heading.new": "New view", "views.editor.heading.edit": "Edit view", "views.editor.subtitle": "Pick sources, filters, and shape. Save to confirm.", "views.editor.section.identity": "Identity", "views.editor.section.sources": "Sources", "views.editor.section.scope": "Scope", "views.editor.section.time": "Time", "views.editor.section.render": "Display", "views.editor.field.name": "Name", "views.editor.field.slug": "Slug (URL)", "views.editor.field.icon": "Icon", "views.editor.field.show_count": "Show count badge in sidebar", "views.editor.field.scope_mode": "Projects", "views.editor.field.personal_only": "Personal only", "views.editor.field.horizon": "Horizon", "views.editor.field.shape": "Shape", "views.editor.field.density": "Density", "views.editor.hint.slug": "Lowercase letters, digits, hyphens — no reserved words.", "views.editor.hint.sources": "Which data sources should this view include?", "views.editor.icon.default": "Default (folder)", "views.editor.icon.clock": "Clock", "views.editor.icon.calendar": "Calendar", "views.editor.icon.bell": "Bell", "views.editor.icon.folder": "Folder", "views.editor.icon.users": "People", "views.editor.icon.building": "Building", "views.editor.save": "Save", "views.editor.cancel": "Cancel", "views.editor.delete": "Delete", "views.editor.confirm_delete": "Delete this view permanently?", "views.editor.error.name_required": "Name is required.", "views.editor.error.slug_format": "Slug must be lowercase, start with a letter or digit, contain only letters, digits, and hyphens.", "views.editor.error.sources_required": "Pick at least one source.", "views.editor.error.load_failed": "Could not load this view.", "views.editor.error.delete_failed": "Could not delete this view.", // Universal FilterBar — t-paliad-163. "views.bar.label.time": "Time", "views.bar.label.personal": "Mine", "views.bar.label.approval_role": "View", "views.bar.label.approval_status": "Status", "views.bar.label.approval_entity": "Kind", "views.bar.label.deadline_status": "Deadline status", "views.bar.label.appointment_type": "Appointment type", "views.bar.label.project_event_kind": "Event", "views.bar.label.timeline_status": "Timeline status", "views.bar.label.timeline_track": "Track", "views.bar.timeline_status.done": "Done", "views.bar.timeline_status.open": "Open", "views.bar.timeline_status.overdue": "Overdue", "views.bar.timeline_status.predicted": "Predicted", "views.bar.timeline_status.predicted_overdue": "Overdue (predicted)", "views.bar.timeline_status.court_set": "Court date", "views.bar.timeline_status.off_script": "Custom", "views.bar.timeline_status.macro.future": "Show future", "views.bar.timeline_status.macro.past": "Past only", "views.bar.timeline_track.parent": "Main proceeding", "views.bar.timeline_track.counterclaim": "Counterclaim", "views.bar.timeline_track.off_script": "Off-script", "views.bar.label.shape": "Display", "views.bar.label.density": "Density", "views.bar.label.sort": "Sort", "views.bar.common.all": "All", // views.bar.time.* keys retired in t-paliad-248 — see the DE block // for context. The filter-bar time axis now mounts the symmetric // date-range picker whose labels live under date_range.horizon.*. "views.bar.personal.on": "Mine only", "views.bar.approval_role.approver_eligible": "To approve", "views.bar.approval_role.self_requested": "My requests", "views.bar.approval_role.any_visible": "All visible", "views.bar.approval_status.pending": "Pending", "views.bar.approval_status.approved": "Approved", "views.bar.approval_status.rejected": "Rejected", "views.bar.approval_status.revoked": "Revoked", "views.bar.approval_status.changes_requested": "With suggestion", "views.bar.approval_entity.deadline": "Deadline", "views.bar.approval_entity.appointment": "Appointment", "views.bar.deadline_status.pending": "Open", "views.bar.deadline_status.completed": "Completed", "views.bar.appointment_type.hearing": "Hearing", "views.bar.appointment_type.meeting": "Meeting", "views.bar.appointment_type.consultation": "Consultation", "views.bar.appointment_type.deadline_hearing": "Oral hearing", "views.bar.shape.list": "List", "views.bar.shape.cards": "Cards", "views.bar.shape.calendar": "Calendar", "views.bar.density.comfortable": "Comfortable", "views.bar.density.compact": "Compact", "views.bar.sort.date_asc": "Date ascending", "views.bar.sort.date_desc": "Date descending", "views.bar.action.reset": "Reset", "views.bar.action.save_as_view": "Save as view", "views.bar.save.heading": "Save view", "views.bar.save.field.name": "Name", "views.bar.save.field.slug": "Slug", "views.bar.save.field.slug_hint": "Becomes part of the URL: /views/", "views.bar.save.field.show_count": "Show count in sidebar", "views.bar.save.cancel": "Cancel", "views.bar.save.confirm": "Save", "views.bar.save.error.name_required": "Please supply a name.", "views.bar.save.error.slug_format": "Slug must start with a letter or digit and contain only lowercase letters, digits, and hyphens.", "views.bar.save.error.slug_taken": "This slug is already in use.", "views.bar.save.error.network": "Network error — please retry.", // t-paliad-192 Slice 11b — Admin rule-editor UI. // t-paliad-262 Slice A — "Rule" relabelled as "Procedural event". "nav.admin.rules": "Manage procedural events", "admin.card.rules.title": "Manage procedural events", "admin.card.rules.desc": "Author, edit and publish procedural-event templates. Audit log, preview, migration export.", "admin.rules.list.title": "Manage procedural events — Paliad", "admin.rules.list.heading": "Manage procedural events", "admin.rules.list.subtitle": "Author, edit and publish procedural events (filings, hearings, decisions, …). Lifecycle: draft → published → archived.", "admin.rules.list.new": "+ New procedural event", "admin.rules.tab.rules": "Rules", "admin.rules.tab.orphans": "Orphans", "admin.rules.loading": "Loading…", "admin.rules.empty": "No procedural events for the chosen filters.", "admin.rules.error.load": "Could not load procedural events.", "admin.rules.filter.proceeding": "Proceeding type", "admin.rules.filter.proceeding.any": "Any", "admin.rules.filter.trigger": "Trigger event", "admin.rules.filter.trigger.any": "Any", "admin.rules.filter.lifecycle": "Lifecycle", "admin.rules.filter.lifecycle.any": "Any", "admin.rules.filter.search": "Search", "admin.rules.filter.search.placeholder": "Name, submission code, legal citation…", "admin.rules.col.submission_code": "Code (procedural event)", "admin.rules.col.legal_citation": "Legal citation", "admin.rules.col.name": "Name", "admin.rules.col.proceeding": "Proceeding type", "admin.rules.col.priority": "Priority", "admin.rules.col.lifecycle": "Lifecycle", "admin.rules.col.modified": "Last modified", "admin.rules.lifecycle.draft": "Draft", "admin.rules.lifecycle.published": "Published", "admin.rules.lifecycle.archived": "Archived", "admin.rules.priority.mandatory": "Mandatory", "admin.rules.priority.recommended": "Recommended", "admin.rules.priority.optional": "Optional", "admin.rules.priority.informational": "Informational", "admin.rules.orphans.subtitle": "Legacy deadlines from the fuzzy-match backfill (Slice 10) that could not be bound to a unique rule. Please pick the right candidate rule.", "admin.rules.orphans.loading": "Loading…", "admin.rules.orphans.empty": "No open orphans. ✔", "admin.rules.orphans.no_candidates": "No candidate rules found. Please create one manually.", "admin.rules.orphans.field.project": "Project", "admin.rules.orphans.field.proceeding": "Proceeding", "admin.rules.orphans.field.reason": "Reason", "admin.rules.orphans.reason.no_match": "No match", "admin.rules.orphans.reason.ambiguous": "Ambiguous", "admin.rules.orphans.reason.no_project": "No project", "admin.rules.orphans.reason.manual_unbound": "Manually unbound", "admin.rules.orphans.resolved": "Orphan resolved.", "admin.rules.modal.new.title": "Create new procedural event", "admin.rules.modal.new.body": "A new procedural event will be created as a draft. Please supply a reason (≥10 chars) — recorded in the audit log and exported into the migration file.", "admin.rules.modal.resolve.title": "Resolve orphan", "admin.rules.modal.resolve.body": "Please supply a reason (≥10 chars). The rule binding is persisted immediately on the deadline.", "admin.rules.modal.reason": "Reason", "admin.rules.modal.reason.placeholder": "e.g. \"New rule for RoP.198 after UPC reform 2026…", "admin.rules.modal.reason.hint": "Minimum 10 characters.", "admin.rules.modal.reason.too_short": "Reason must be at least 10 characters.", "admin.rules.modal.confirm": "Confirm", "admin.rules.modal.field.name": "Name (DE)", "admin.rules.modal.field.name_en": "Name (EN)", "admin.rules.modal.field.duration": "Duration", "admin.rules.modal.error.name_required": "Please supply both Name and Name (EN).", "admin.rules.modal.error.create": "Creation failed.", "admin.rules.modal.error.resolve": "Resolution failed.", "admin.rules.edit.title": "Edit procedural event — Paliad", "admin.rules.edit.heading.loading": "Loading procedural event…", "admin.rules.edit.breadcrumb": "← Manage procedural events", "admin.rules.edit.error.bad_id": "Invalid procedural-event id in URL.", "admin.rules.edit.error.not_found": "Procedural event not found.", "admin.rules.edit.error.load": "Could not load procedural event.", "admin.rules.edit.section.identity": "Identity", "admin.rules.edit.section.proceeding": "Proceeding & Trigger", "admin.rules.edit.section.timing": "Math", "admin.rules.edit.section.party": "Party & Event", "admin.rules.edit.section.display": "Display & Notes", "admin.rules.edit.section.lifecycle": "Priority & Flags", "admin.rules.edit.section.condition": "Condition (condition_expr)", "admin.rules.edit.field.name": "Name (DE)", "admin.rules.edit.field.name_en": "Name (EN)", "admin.rules.edit.field.description": "Description", "admin.rules.edit.field.submission_code": "Code (procedural-event identifier)", "admin.rules.edit.field.rule_code": "Legal citation (short form)", "admin.rules.edit.field.legal_source": "Legal citation (long form)", "admin.rules.edit.field.proceeding": "Proceeding type", "admin.rules.edit.field.proceeding.none": "—", "admin.rules.edit.field.trigger": "Trigger event", "admin.rules.edit.field.trigger.none": "—", "admin.rules.edit.field.parent": "Parent procedural event (UUID)", "admin.rules.edit.field.concept": "Concept (UUID)", "admin.rules.edit.field.sequence_order": "Order", "admin.rules.edit.field.duration_value": "Duration", "admin.rules.edit.field.duration_unit": "Unit", "admin.rules.edit.field.timing": "Timing", "admin.rules.edit.field.combine_op": "Combine op", "admin.rules.edit.field.alt_duration_value": "Alt duration", "admin.rules.edit.field.alt_duration_unit": "Alt unit", "admin.rules.edit.field.alt_rule_code": "Alt rule code", "admin.rules.edit.field.anchor_alt": "Alt anchor", "admin.rules.edit.field.primary_party": "Primary party", "admin.rules.edit.field.event_type": "Procedural-event kind (filing / hearing / decision / order)", "admin.rules.edit.field.deadline_notes": "Notes (DE)", "admin.rules.edit.field.deadline_notes_en": "Notes (EN)", "admin.rules.edit.field.priority": "Priority", "admin.rules.edit.field.is_court_set": "Court-set", "admin.rules.edit.field.is_spawn": "Spawn", "admin.rules.edit.field.spawn_label": "Spawn label", "admin.rules.edit.field.spawn_proceeding": "Spawn proceeding", "admin.rules.edit.field.spawn_proceeding.none": "—", "admin.rules.edit.field.condition_hint": "JSON grammar: {\"flag\":\"name\"} · {\"op\":\"and|or\",\"args\":[...]} · {\"op\":\"not\",\"args\":[...]}", "admin.rules.edit.field.condition.valid": "JSON valid.", "admin.rules.edit.preview.heading": "Preview", "admin.rules.edit.preview.hint": "Drafts only. Runs the calculator with this draft substituted for the published version.", "admin.rules.edit.preview.trigger_date": "Trigger date", "admin.rules.edit.preview.flags": "Flags (comma-separated)", "admin.rules.edit.preview.run": "Run preview", "admin.rules.edit.preview.running": "Computing…", "admin.rules.edit.preview.empty": "No deadlines.", "admin.rules.edit.preview.error": "Preview failed.", "admin.rules.edit.preview.only_drafts": "Preview is only available for drafts.", "admin.rules.edit.preview.trigger_required": "Please supply a trigger date.", "admin.rules.edit.audit.heading": "Audit log", "admin.rules.edit.audit.loading": "Loading…", "admin.rules.edit.audit.empty": "No audit entries.", "admin.rules.edit.audit.loadmore": "Load more", "admin.rules.edit.audit.exported": "exported", "admin.rules.edit.audit.actor.system": "System", "admin.rules.edit.audit.action.create": "create", "admin.rules.edit.audit.action.update": "update", "admin.rules.edit.audit.action.publish": "publish", "admin.rules.edit.audit.action.archive": "archive", "admin.rules.edit.audit.action.restore": "restore", "admin.rules.edit.audit.action.delete": "delete", "admin.rules.edit.action.save_draft": "Save draft", "admin.rules.edit.action.publish": "Publish", "admin.rules.edit.action.clone": "Clone as draft", "admin.rules.edit.action.archive": "Archive", "admin.rules.edit.action.restore": "Restore", "admin.rules.edit.action.ok": "Done.", "admin.rules.edit.action.save_draft.ok": "Draft saved.", "admin.rules.edit.action.save_draft.error": "Save failed.", "admin.rules.edit.action.publish.ok": "Rule published.", "admin.rules.edit.action.publish.error": "Publish failed.", "admin.rules.edit.action.archive.ok": "Rule archived.", "admin.rules.edit.action.archive.error": "Archive failed.", "admin.rules.edit.action.restore.ok": "Rule restored.", "admin.rules.edit.action.restore.error": "Restore failed.", "admin.rules.edit.action.clone.error": "Clone failed.", "admin.rules.edit.modal.save_draft.title": "Save draft", "admin.rules.edit.modal.save_draft.body": "Please supply a reason for the change (≥10 chars). Written to the audit log.", "admin.rules.edit.modal.publish.title": "Publish", "admin.rules.edit.modal.publish.body": "This draft will go live. The existing published variant is archived.", "admin.rules.edit.modal.clone.title": "Clone as draft", "admin.rules.edit.modal.clone.body": "A new draft copy of this rule is created. You will be redirected to the new draft.", "admin.rules.edit.modal.archive.title": "Archive", "admin.rules.edit.modal.archive.body": "Rule will be archived. The calculator will no longer use it.", "admin.rules.edit.modal.restore.title": "Restore", "admin.rules.edit.modal.restore.body": "Rule will be restored (archived → published).", // Date-range picker (t-paliad-248). See DE block above for details. "date_range.button.label": "Time range", "date_range.button.label.custom_range": "From {from} to {to}", "date_range.horizon.next_1d": "Today", "date_range.horizon.next_7d": "Next 7 days", "date_range.horizon.next_14d": "Next 14 days", "date_range.horizon.next_30d": "Next 30 days", "date_range.horizon.next_90d": "Next 90 days", "date_range.horizon.next_all": "All future", "date_range.horizon.past_1d": "Last day", "date_range.horizon.past_7d": "Last 7 days", "date_range.horizon.past_14d": "Last 14 days", "date_range.horizon.past_30d": "Last 30 days", "date_range.horizon.past_90d": "Last 90 days", "date_range.horizon.past_all": "All past", "date_range.horizon.any": "All", "date_range.horizon.custom": "Customize", "date_range.dialog.label": "Choose time range", "date_range.fan.past.label": "Past", "date_range.fan.future.label": "Future", "date_range.center.label": "All", "date_range.custom.from": "From", "date_range.custom.to": "To", "date_range.custom.apply": "Apply", "date_range.custom.cancel": "Cancel", "date_range.custom.invalid": "End date must be strictly after start date.", "date_range.custom.invalid_format": "Date not recognised (format YYYY-MM-DD).", "date_range.custom.invalid_missing": "Please fill in both date fields.", // t-paliad-262 Slice A — canonical `procedural_event` i18n contract. // Mirrors the DE block; values identical to the legacy // `admin.rules.*` keys. Adding/changing values? Update BOTH sides. "admin.procedural_events.list.title": "Manage procedural events — Paliad", "admin.procedural_events.list.heading": "Manage procedural events", "admin.procedural_events.list.new": "+ New procedural event", "admin.procedural_events.col.code": "Code (procedural event)", // t-paliad-321: 3-segment proceeding-type code column. "admin.procedural_events.col.proceeding": "Proceeding", "admin.procedural_events.edit.title": "Edit procedural event — Paliad", "admin.procedural_events.edit.breadcrumb":"← Manage procedural events", "admin.procedural_events.edit.field.code": "Code (procedural-event identifier)", "admin.procedural_events.edit.field.event_kind": "Procedural-event kind (filing / hearing / decision / order)", "admin.procedural_events.edit.field.parent": "Parent procedural event (UUID)", }, }; // t — strict translation lookup. The I18nKey parameter is the generated // union of every key in `translations`, so a literal-string typo at a call // site fails tsc. Runtime-composed keys (`deadlines.status.${x}`) cannot // satisfy this signature — TypeScript narrows them to template literal // types that don't fit the union — so those call sites must use `tDyn`. export function t(key: I18nKey): string { return translations[currentLang][key] ?? translations.de[key] ?? key; } // tDyn — runtime-composed key escape hatch. Use only when the key is built // from variables (`tDyn(\`deadlines.status.${x}\`)`); literal-string keys // must go through `t()` so the I18nKey type catches typos. There is no // compile-time guarantee the key exists; callers get the same fallback-to- // raw-key behaviour as t() and are responsible for ensuring the key set // they interpolate over is fully covered by i18n.ts. export function tDyn(key: string): string { return translations[currentLang][key] ?? translations.de[key] ?? key; } // tOrEmpty returns the translation if present, else "" — so callers that // want to fall back to the existing default text in the DOM can do so. The // `string` parameter is intentional: applyTranslations reads keys off the // DOM at runtime, so static typing isn't possible here. Internal use only. function tOrEmpty(key: string): string { return translations[currentLang][key] ?? translations.de[key] ?? ""; } export function getLang(): Lang { return currentLang; } // translateEvent localizes a stored project_events row for display. // // project_events rows are written with stable English event_type slugs // ("project_type_changed") and English fallback titles ("Project type // changed"). The description column is freeform but for known event types // follows a value-only pattern ("case → litigation", "active → archived", // "deadline" for note_created). Legacy rows from before this PR carry the // English prefix ("Type case → litigation", "Note zu deadline hinzugefügt" // — DE/EN-mixed); both legacy and new shapes parse here. // // Caller provides whatever the backend returned for title + description; // receives a localized pair ready for innerHTML/textContent. export function translateEvent( eventType: string | null | undefined, storedTitle: string, storedDescription: string | null | undefined, ): { title: string; description: string } { // Title: prefer the per-event-type localized noun phrase. let title = storedTitle; if (eventType) { const v = tOrEmpty(`event.title.${eventType}`); if (v) title = v; } const description = storedDescription ? translateEventDescription(eventType ?? "", storedDescription) : ""; return { title, description }; } function translateEventDescription(eventType: string, description: string): string { const body = description.trim(); if (!body) return ""; if (eventType === "project_type_changed") { // New format: "case → litigation". Legacy: "Type case → litigation". return translateArrowSlugs(body.replace(/^Type\s+/, ""), "projects.type."); } if (eventType === "status_changed") { // New format: "active → archived". Legacy: "Status active → archived". return translateArrowSlugs(body.replace(/^Status\s+/, ""), "projects.filter.status."); } if (eventType === "our_side_changed") { // Format: "", where each side is one of // claimant / defendant / court / both / "none" (the sentinel for // NULL the service writes when the column is unset on either end). return translateArrowSlugs(body, "projects.field.our_side."); } if (eventType === "note_created") { // New format: just the parent slug. Legacy: "Note zu hinzugefügt". const m = body.match(/^Note zu (project|deadline|appointment) hinzugef[üu]gt$/i); const slug = (m ? m[1] : body).toLowerCase(); const parent = tOrEmpty(`event.note.parent.${slug}`) || slug; const phrase = tOrEmpty("event.note.added_to"); return phrase ? phrase.replace("{parent}", parent) : body; } if (eventType.startsWith("deadline_") || eventType.startsWith("appointment_")) { // New format: just the entity title. Legacy: 'Deadline „Foo" geändert' / // 'Appointment „Foo" angelegt' etc. Strip the noun + verb wrapper, keep // the quoted title, then re-wrap in the localized template. const title = extractQuotedTitle(body) ?? body; return interpolateTemplate(`event.description.${eventType}`, { title }) ?? body; } if (eventType === "deadlines_imported") { // New format: just the count. Legacy: "N Deadlines aus Fristenrechner übernommen". const m = body.match(/^(\d+)\b/); const count = m ? m[1] : body; return interpolateTemplate("event.description.deadlines_imported", { count }) ?? body; } return description; } // extractQuotedTitle pulls the body out of a legacy DE description like // `Deadline „Foo" geändert` — German double-low-9 (U+201E) opening quote and // double-high-6 (U+201C) closing quote, the pair the Go services actually // write today. Returns null if no quoted run is found, so callers can fall // back to the raw body. function extractQuotedTitle(body: string): string | null { const m = body.match(/„([^“”„]+)[“”]/); return m ? m[1] : null; } function interpolateTemplate(key: string, vars: Record): string | null { const tmpl = tOrEmpty(key); if (!tmpl) return null; return tmpl.replace(/\{(\w+)\}/g, (_, name) => vars[name] ?? `{${name}}`); } function translateArrowSlugs(body: string, prefix: string): string { const m = body.match(/^(\S+)\s*[→→]\s*(\S+)$/); if (!m) return body; const a = tOrEmpty(`${prefix}${m[1]}`) || m[1]; const b = tOrEmpty(`${prefix}${m[2]}`) || m[2]; return `${a} → ${b}`; } export function onLangChange(cb: () => void) { changeCallbacks.push(cb); } export function setLang(lang: Lang) { if (lang === currentLang) return; currentLang = lang; localStorage.setItem(STORAGE_KEY, lang); document.documentElement.lang = lang; applyTranslations(); applyLangToInputs(); updateToggle(); for (const cb of changeCallbacks) cb(); } // Native follows the browser locale // for display formatting unless `lang` is set on the element itself — the // `lang` attribute on is not enough in Chrome/Safari. Stamp the // current locale on every such input so DE users see dd.mm.yyyy and 24h. function applyLangToInputs() { document.querySelectorAll( 'input[type="date"], input[type="time"], input[type="datetime-local"]', ).forEach((el) => { el.lang = currentLang; }); } function applyTranslations() { // When a key is missing from every locale, preserve whatever static text // the HTML was authored with — never overwrite with the raw key string. document.querySelectorAll("[data-i18n]").forEach((el) => { const key = el.getAttribute("data-i18n")!; const val = tOrEmpty(key); if (val !== "") el.textContent = val; }); document.querySelectorAll("[data-i18n-placeholder]").forEach((el) => { const key = el.getAttribute("data-i18n-placeholder")!; const val = tOrEmpty(key); if (val !== "") (el as HTMLInputElement).placeholder = val; }); document.querySelectorAll("[data-i18n-title]").forEach((el) => { const key = el.getAttribute("data-i18n-title")!; const val = tOrEmpty(key); if (val !== "") el.setAttribute("title", val); }); } function updateToggle() { document.querySelectorAll("[data-lang-toggle]").forEach((btn) => { const lang = btn.getAttribute("data-lang-toggle") as Lang; btn.classList.toggle("lang-active", lang === currentLang); }); } export function initI18n() { let stored = localStorage.getItem(STORAGE_KEY) as Lang | null; // One-shot migration from the pre-rebrand key (patholo-lang → paliad-lang). // Drop this fallback once the grace period is over. if (stored !== "de" && stored !== "en") { const legacy = localStorage.getItem(LEGACY_STORAGE_KEY) as Lang | null; if (legacy === "de" || legacy === "en") { localStorage.setItem(STORAGE_KEY, legacy); stored = legacy; } } if (localStorage.getItem(LEGACY_STORAGE_KEY) !== null) { localStorage.removeItem(LEGACY_STORAGE_KEY); } if (stored === "de" || stored === "en") { currentLang = stored; } document.documentElement.lang = currentLang; document.querySelectorAll("[data-lang-toggle]").forEach((btn) => { btn.addEventListener("click", () => { setLang(btn.getAttribute("data-lang-toggle") as Lang); }); }); applyTranslations(); applyLangToInputs(); updateToggle(); }