{ "metadata": { "code": "de", "name": "Deutsch" }, "settings": { "title": "EINSTELLUNGEN", "save": "Speichern", "cancel": "Abbrechen", "language": "Sprache", "sidebar": { "groupBasis": "BASIS", "groupAdvanced": "ERWEITERT", "categoryGeneral": "Allgemein", "categoryExecution": "Ausführung", "categoryPrime": "Prime Claude", "categoryPrimeHint": "Geplante Claude-Läufe: Ping, My Day füllen oder ein eigener Prompt, zu festen Zeiten.", "categoryWorktrees": "Worktrees", "categoryFiles": "Dateien & Prompts", "categorySkills": "Session Skills", "categoryReports": "Berichte", "categoryTickets": "Externe Dienste", "categorySsh": "SSH-Workspaces" }, "repoHint": { "text": "Wirkt erst mit verknüpftem Repo.", "link": "Repo importieren" }, "general": { "defaultInstructions": "Standard-Anweisungen", "defaultInstructionsPlaceholder": "Basis-Anweisungen, die auf jede Aufgabe angewendet werden", "model": "Modell", "maxTurns": "Max. Durchläufe", "effort": "Effort", "effortHint": "Denkaufwand, den das Modell anwendet. Höher kostet mehr und denkt tiefer.", "modelPresets": "Vorgaben pro Modell", "modelPresetsHint": "Effort und Durchlauf-Budget, mit denen eine Sitzung unter diesem Modell läuft. Overrides auf Listen- und Aufgabenebene gewinnen weiterhin.", "maxTurnsCeiling": "Max. Durchläufe – Obergrenze", "maxTurnsCeilingHint": "Harte Obergrenze, auf die jeder aufgelöste Max-Durchläufe-Wert geklemmt wird — Task-, Listen- und Modell-Einstellungen können sie nicht überschreiten.", "maxTurnsCeilingInvalid": "Die Obergrenze für Max. Durchläufe muss mindestens 1 sein.", "permission": "Berechtigung", "maxParallelExecutions": "Max. parallele Ausführungen", "maxParallelExecutionsHint": "Wie viele Aufgaben aus der Warteschlange der Worker gleichzeitig ausführt.", "usageGateHeading": "Usage-Limit-Stopp", "usageGateHint": "Ab dieser Auslastung holt die Warteschlange keine neuen Aufgaben mehr; laufende Aufgaben laufen zu Ende. 0 schaltet den Stopp ab.", "usageGateFiveHourPct": "5-Stunden-Fenster (%)", "usageGateSevenDayPct": "7-Tage-Fenster (%)", "autoContinueOnUsageLimit": "Nach Limit-Reset fortsetzen", "autoContinueOnUsageLimitHint": "Ist ein Run am Nutzungslimit abgebrochen, wird er nach Ablauf des 5-Stunden-Fensters automatisch fortgesetzt. Weckt außerdem die pausierte Warteschlange genau zum Reset-Zeitpunkt statt erst beim nächsten Backstop-Check.", "listHandlerMaxHandoffs": "Handoff-Budget des List-Handlers", "listHandlerMaxHandoffsHint": "Wie viele Wait/Merge-Handoffs ein „Let Claude handle it\"-Run verketten darf. 4 entspricht zwei Merge-Runden. Für Läufe, die stundenlang durchlaufen sollen, höher setzen; der Wert begrenzt eine entlaufene Kette und darf daher nicht 0 sein.", "powerUseHeading": "PowerUse", "powerUse": "PowerUse aktivieren", "powerUseHint": "Das restliche Fenster ausnutzen: ein List-Handler-Run fragt nichts, löst Konflikte selbst, sammelt neue Arbeit und handoffet weiter, solange sein Budget reicht. Wirkt nur auf Listen, die PowerUse in ihren Listen-Einstellungen erlaubt haben.", "powerUseWindow": "Nur zwischen", "powerUseWindowPlaceholder": "HH:mm", "powerUseHandoffPct": "Übergabe bei (% von 5h)", "powerUseWindowHint": "Beide Zeiten leer = rund um die Uhr. Das Fenster wird bei jedem Start einer Handler-Phase geprüft — eine Kette, die über das Ende hinausläuft, macht ohne PowerUse weiter.", "powerUseWindowInvalid": "PowerUse-Zeiten müssen im Format HH:mm sein oder leer bleiben.", "throttleStagesHeading": "Throttle-Stufen", "throttleStagesHint": "Die Parallelität wird vor dem harten Limit-Stopp begrenzt: soft auf 2 Slots, hard auf 1. Eingestellt wird das durch Ziehen der Marker an den Gauges im Usage-Monitor. Der Monitor schließt diese Einstellungen — vorher speichern, wenn du etwas geändert hast.", "throttleStagesValues": "5h: soft {0}% / hard {1}% · 7d: soft {2}% / hard {3}%", "openUsageMonitor": "Usage-Monitor öffnen...", "reportExcludedPaths": "Bericht: ausgeschlossene Pfade (einer pro Zeile)", "standupWeekday": "Standup-Wochentag", "weekdaySunday": "Sonntag", "weekdayMonday": "Montag", "weekdayTuesday": "Dienstag", "weekdayWednesday": "Mittwoch", "weekdayThursday": "Donnerstag", "weekdayFriday": "Freitag", "weekdaySaturday": "Samstag", "sessionSkills": "Session-Skills", "sessionSkillsHint": "Gilt für jede Aufgabe. Kombiniert sich mit Listen- und Aufgaben-Auswahl.", "accentPreset": "Akzentfarbe", "accentPresetMoss": "Moos", "accentPresetPeat": "Torf", "accentPresetSea": "Meer" }, "worktrees": { "strategy": "Strategie", "centralWorktreeRoot": "Zentrales Worktree-Verzeichnis", "autoCleanup": "Abgeschlossene Worktrees automatisch aufräumen nach", "days": "Tagen", "cleanupFinished": "Abgeschlossene Worktrees aufräumen", "forceRemoveAll": "Alle Worktrees zwangsweise entfernen", "confirmRemoveAll": "ALLE Worktrees entfernen? Nicht committete Arbeit geht verloren." }, "files": { "cliSection": "CLAUDE CLI", "claudeBinHint": "Befehl oder vollständiger Pfad, den der Worker startet. Leer setzt auf \"claude\" zurück. Gilt ab dem nächsten Task-Run — kein Neustart nötig.", "claudeBinResolved": "Aufgelöst zu: {0}", "claudeBinUnresolved": "Nicht im PATH gefunden — Task-Runs schlagen fehl, solange das so bleibt.", "agentsSection": "AGENTEN", "agentsHint": "Mitgelieferte Standard-Agenten wiederherstellen. Vorhandene Dateien werden nicht überschrieben.", "restoreDefaultAgents": "Standard-Agenten wiederherstellen", "promptsSection": "PROMPTS", "systemPrompt": "System", "planningPrompt": "Planung (System)", "planningInitialPrompt": "Planungs-Start", "retryPrompt": "Wiederholung", "dailyPrepPrompt": "Tagesplanung", "weeklyReportPrompt": "Wochenbericht", "powerUsePrompt": "PowerUse-Addendum", "viewPrompt": "Ansehen", "customizedSection": "ANGEPASST", "customizedHint": "Diese Prompts weichen vom mitgelieferten Standard ab und werden unverändert beibehalten. Zurücksetzen, um künftige Standard-Verbesserungen zu erhalten.", "resetToDefault": "Auf Standard zurücksetzen" }, "prime": { "description": "Führt an den von dir gewählten Tagen zu einer bestimmten Zeit eine einzelne nicht-interaktive Claude-Aktion aus. Läuft nur, solange ClaudeDo geöffnet ist. Wenn die App innerhalb von 30 Minuten vor der Zielzeit startet, wird sofort ausgelöst.", "addSchedule": "+ Zeitplan hinzufügen", "removeScheduleTip": "Zeitplan entfernen", "dailyPrepMaxTasks": "Max. Aufgaben pro Tag", "actionLabel": "Aktion", "actionPing": "Ping", "actionFillMyDay": "Mein Tag füllen", "actionCustom": "Eigener Prompt", "actionImportTickets": "Tickets + Tag planen", "actionHint": "Ping öffnet nur das Nutzungsfenster. „Mein Tag füllen“ startet die Tagesplanung. „Tickets + Tag planen“ importiert erst deine zugewiesenen Tickets in die passenden Listen und startet dann die Tagesplanung. „Eigener Prompt“ führt deinen eigenen Prompt mit den ClaudeDo-Tools aus.", "customPromptLabel": "Prompt", "customPromptPlaceholder": "Der vollständige Prompt für diesen Zeitplan (Pflichtfeld)", "maxTasksDisabledHint": "Gilt nur für Zeitpläne mit „Mein Tag füllen“ oder „Tickets + Tag planen“.", "promptOverrideLabel": "Prompt-Zusatz", "promptOverridePlaceholder": "Zusätzliche Anweisungen, die für diesen Zeitplan an den Prime-Prompt angehängt werden (optional)", "dayMo": "Mo", "dayTu": "Di", "dayWe": "Mi", "dayTh": "Do", "dayFr": "Fr", "daySa": "Sa", "daySu": "So" }, "onlineInbox": { "tabHeader": "Online-Posteingang", "enabledLabel": "Online-Posteingang-Sync aktivieren", "restartHint": "Aktivieren oder Deaktivieren wird erst nach einem Worker-Neustart wirksam.", "apiBaseUrlLabel": "API-Basis-URL", "apiBaseUrlPlaceholder": "https://inbox.claudedo.kuns.dev", "authorityLabel": "Zitadel-Authority (Issuer-URL)", "authorityPlaceholder": "https://auth.example.com", "clientIdLabel": "Client-ID", "scopesLabel": "Scopes", "redirectUriLabel": "Redirect-URI", "pollIntervalLabel": "Abfrageintervall (Sekunden)", "statusSection": "AUTH-STATUS", "signedInStatus": "Angemeldet", "signedOutStatus": "Nicht angemeldet", "signInButton": "Im Browser anmelden", "signOutButton": "Abmelden", "configSection": "KONFIGURATION", "saveButton": "Konfiguration speichern" }, "tickets": { "ticketSection": "TICKETSYSTEM", "azdoSection": "AZURE DEVOPS", "azdoToken": "Personal Access Token (Scope: Code Read & Write)", "azdoHint": "Gilt in Firmen-Repos (origin auf dem Azure DevOps Server): Fetch vor dem Task-Start, Push und Draft-PR beim Genehmigen.", "baseUrl": "API-Base-URL", "baseUrlHint": "Leer lassen, um die Ticket-Anbindung komplett zu deaktivieren.", "token": "Personal Access Token", "tokenSet": "gespeichert", "testConnection": "Verbindung testen", "clearToken": "Token entfernen", "fallbackList": "Fallback-Liste", "fallbackListHint": "Ticket-Items, die Claude keiner Liste zuordnen kann, landen hier. Keine = sie werden übersprungen.", "fallbackNone": "(keine)" }, "ssh": { "hint": "Server, auf denen Mission Control eine interaktive Claude-Session starten kann. Host ist ein Alias aus ~/.ssh/config (User, Key und Port kommen von dort); Claude muss auf dem Server installiert und eingeloggt sein.", "name": "Name", "host": "Host-Alias", "remotePath": "Pfad auf dem Server (/… oder ~/…)", "add": "Workspace hinzufügen", "remove": "Entfernen", "invalid": { "name": "SSH-Workspace: Name fehlt.", "host": "SSH-Workspace „{0}“: Host muss ein ssh-Alias sein (Buchstaben, Ziffern, . _ @ -, nicht mit - beginnend).", "path": "SSH-Workspace „{0}“: Pfad muss mit / oder ~ beginnen und darf kein ' enthalten." } }, "inherit": { "inheritedFromList": "geerbt · Liste", "inheritedFromGlobal": "geerbt · Global", "overrideBadge": "überschrieben", "resetToInherited": "Auf geerbt zurücksetzen" }, "turnsCeilingHint": "Läufe sind auf {0} Durchläufe gedeckelt — dieser Wert wird geklemmt.", "agentEditor": { "model": "Modell", "maxTurns": "Max. Durchläufe", "permissionMode": "Permission-Modus", "systemPrompt": "System-Prompt (angehängt)", "promptPrepended": "Wird automatisch vorangestellt:", "agentFile": "Agent-Datei", "browse": "Durchsuchen...", "sessionSkills": "Session-Skills", "sessionSkillsHint": "Kombiniert sich additiv mit globaler (und Listen-)Auswahl." }, "skills": { "installSection": "INSTALLIEREN", "installUrlPlaceholder": "Git-Repo-URL (owner/repo oder vollständige URL)", "installButton": "Installieren", "installedSection": "INSTALLIERT", "updateButton": "Aktualisieren", "removeButton": "Entfernen", "emptyState": "Keine Skills installiert — oben eine GitHub-URL einfügen, um einen hinzuzufügen." } }, "tasks": { "showCompletedTip": "Abgeschlossene anzeigen", "letClaudeTip": "Claude machen lassen", "mergeReviewsTip": "Claude die Reviews abnehmen lassen", "quickClaudeTip": "Schnelle Claude-Sitzung", "listSettingsTip": "Listeneinstellungen", "addPlaceholder": "Aufgabe hinzufügen…", "enterKey": "ENTER", "clearDayTip": "Tag leeren", "planMyDayTip": "Meinen Tag planen", "overdue": "ÜBERFÄLLIG", "tasks": "AUFGABEN", "clearCompletedTip": "Alle abgeschlossenen löschen", "ctxSendToQueue": "In Warteschlange einreihen", "ctxRemoveFromQueue": "Aus Warteschlange entfernen", "ctxCancelExecution": "Ausführung abbrechen", "ctxMarkAs": "Markieren als", "ctxMarkDone": "Erledigt", "ctxMarkCancelled": "Abgebrochen", "ctxMarkIdle": "Offen", "ctxOpenConPtySession": "Interaktive Sitzung öffnen", "ctxOpenWorktree": "Worktree öffnen", "ctxOpenPlanningSession": "Planungssitzung öffnen", "ctxResumePlanningSession": "Planungssitzung fortsetzen", "ctxFinalizePlanningSession": "Plan finalisieren", "ctxDiscardPlanningSession": "Planungssitzung verwerfen", "ctxScheduleFor": "Planen für...", "ctxClearSchedule": "Zeitplan entfernen", "ctxRemoveFromMyDay": "Aus Mein Tag entfernen", "ctxAddToMyDay": "Zu Mein Tag hinzufügen", "badgeDraft": "ENTWURF", "badgePlanned": "GEPLANT", "badgeManual": "MANUELL", "chainAfterPrefix": "nach", "manualTip": "Manuelle Erinnerung — Claude nimmt sie nie auf", "ctxMarkManual": "Als manuell markieren", "ctxMarkClaudeTask": "Als Claude-Aufgabe markieren", "ctxRefineTask": "Aufgabe verfeinern", "ctxPlanning": "Planung", "ctxSchedule": "Zeitplan", "ctxMoveToList": "In Liste verschieben", "ctxDeleteTask": "Aufgabe löschen", "reasonAlreadyRunning": "Aufgabe läuft bereits", "reasonAlreadyQueued": "Bereits in der Warteschlange", "reasonWaitingForReview": "Wartet auf Prüfung", "reasonSubtasksQueued": "Teilaufgaben sind bereits eingereiht", "reasonPlanNotFinalized": "Plan ist noch nicht finalisiert", "reasonPlanningActive": "Planungssitzung ist aktiv — zuerst finalisieren", "reasonInteractiveSession": "Für diese Aufgabe ist eine interaktive Sitzung offen", "reasonNotRunning": "Aufgabe läuft nicht", "reasonRefining": "Verfeinerung läuft bereits", "reasonNotIdle": "Nur im Leerlauf verfügbar", "reasonIsPlanningParent": "Teil eines Plans", "reasonIsChildTask": "Teilaufgaben haben keine eigene Planungssitzung", "reasonPlanAlreadyFinalized": "Plan ist bereits finalisiert", "reasonNoWorktree": "Kein Worktree für diese Aufgabe", "cancel": "Abbrechen", "removeFromQueueTip": "Aus Warteschlange entfernen", "toggleSubtasksTip": "Unteraufgaben ein-/ausklappen", "agentSuggestedTip": "Vom Agenten vorgeschlagen", "interactiveChipTip": "Interaktive Sitzung offen — klicken, um im Mission Control dorthin zu springen", "waitingOnTip": "Wartet auf {0}", "scheduleTitle": "Aufgabe planen", "scheduleWhen": "WANN", "scheduleConfirm": "Planen", "refineTip": "Aufgabe mit Claude verfeinern", "refiningTip": "Claude verfeinert diese Aufgabe…", "emptyHint": "Noch keine Aufgaben. Lege eine an und wähle per Rechtsklick „In Warteschlange einreihen“ — Claude bearbeitet sie in einem eigenen Worktree.", "emptyHintNoWorkingDir": "Diese Liste hat kein Repo — in den Listeneinstellungen verknüpfen, um die Warteschlange zu aktivieren." }, "lists": { "heading": "Listen", "searchPlaceholder": "Aufgaben suchen…", "searchKbd": "Strg K", "settingsTip": "Einstellungen", "smartListsLabel": "INTELLIGENTE LISTEN", "myListsLabel": "MEINE LISTEN", "contextWorktrees": "Worktrees…", "contextOpenExplorer": "Im Explorer öffnen", "contextOpenTerminal": "Im Terminal öffnen", "contextOpenFindings": "Findings-Ordner öffnen", "contextImportTickets": "Aus Ticketsystem aktualisieren", "contextSettings": "Einstellungen…", "contextFolderSettings": "Ordner-Einstellungen…", "contextRemoveFromFolder": "Aus Ordner herausnehmen", "newList": "Neue Liste", "addReposTip": "Repos als Listen hinzufügen", "noRepoBannerText": "Noch kein Repo verknüpft. ClaudeDo führt Aufgaben in einem Git-Repo aus.", "noRepoBannerButton": "Repo importieren", "importTicketsResult": "{0} Tickets geprüft, {1} neue Tasks." }, "details": { "deleteTaskTip": "Aufgabe löschen", "killSessionTip": "Laufende Sitzung hart beenden", "sendToQueue": "In Warteschlange einreihen", "sendToQueueTip": "Diese Aufgabe in die Warteschlange einreihen, damit Claude sie beim nächsten Lauf übernimmt", "copyTaskIdTip": "Aufgaben-ID kopieren", "starTip": "Favorit", "agentSettingsTip": "Agent-Einstellungen", "agentSettingsHeading": "Agent-Einstellungen (Überschreibungen)", "waitingOnPrefix": "Wartet auf", "copyFormattedTip": "Titel, Beschreibung und offene Schritte kopieren", "toggleEditPreviewTip": "Bearbeiten/Vorschau umschalten", "planDay": "Tag planen", "importTicketsAndPlanDay": "Tickets + Tag planen", "prepEmpty": "Heute noch keine Vorbereitung — klick Tag planen", "roadblockReply": { "placeholder": "Auf den Roadblock antworten…", "send": "Senden", "noSession": "Keine Sitzung zum Fortsetzen — dieser Lauf hat keine Session-ID zum Antworten.", "failed": "Antwort konnte nicht gesendet werden: {0}" }, "attachments": { "dropToAttach": "Zum Anhängen ablegen", "addFile": "Datei hinzufügen…", "removeTip": "Anhang entfernen", "addedSummary": "✓ Hinzugefügt: {0} ({1} Datei(en))", "overLimitError": "Konnte {0} nicht hinzufügen: {1}", "invalidNameError": "Konnte {0} nicht hinzufügen: {1}", "dropReadError": "Abgelegte Dateien konnten nicht gelesen werden: {0}", "selectIdleTask": "Zuerst eine inaktive Aufgabe auswählen" }, "sections": { "description": "Beschreibung", "steps": "Schritte", "files": "Dateien" }, "emptyState": "Wähle eine Aufgabe aus, um Details zu sehen", "roadblockLabel": "ROADBLOCK", "stepsCard": { "preview": "Vorschau", "edit": "Bearbeiten", "addStepPlaceholder": "Schritt hinzufügen…" }, "workConsole": { "continue": "Fortsetzen", "resetAndRetry": "Zurücksetzen & erneut versuchen", "tabOutput": "Ausgabe", "tabGit": "Git", "tabSession": "Sitzung", "outcomeLabel": "ERGEBNIS", "reviewLabel": "REVIEW", "mergeLabel": "MERGE", "targetBranch": "Zielbranch", "openDiff": "Diff öffnen", "worktree": "Worktree", "reviewCombinedDiff": "Kombinierten Diff prüfen", "openDiffHint": "Diff öffnen, um Mergen freizuschalten", "targetDirty": "Ziel-Arbeitsverzeichnis hat uncommittete Änderungen — beim Mergen werden sie gestasht und danach wiederhergestellt.", "approveMerge": "Genehmigen & Mergen", "createDraftPr": "Draft-PR erstellen", "updatePr": "PR aktualisieren", "openPr": "Pull Request öffnen", "companyTargetHint": "Firmen-Repo — Genehmigen pusht den Branch und erstellt einen Draft-PR auf Azure DevOps.", "park": "Parken", "parkTip": "Zurückstellen — zurück auf Leerlauf, Worktree bleibt erhalten", "cancel": "Abbrechen", "resetDiscardBranch": "Zurücksetzen (Branch verwerfen)…", "submitForReviewHint": "Von Hand daran gearbeitet? Den Worktree zum Review einreichen, um ihn zu mergen.", "submitForReview": "Zum Review einreichen", "outcomesLabel": "ERGEBNISSE" } }, "agent": { "openWorktreeTip": "Worktree im Datei-Explorer öffnen — benötigt einen aktiven Worktree", "openDiffTip": "Diff öffnen — benötigt einen Worktree oder einen gemergten Commit-Bereich", "reviewCombinedDiffTip": "Nur für Planning-Tasks mit Subtasks oder Child-Outcomes verfügbar" }, "notes": { "today": "Heute", "yesterday": "Gestern", "newNotePlaceholder": "Neue Notiz…", "emptyHint": "Noch nichts notiert. Tippen, Enter, fertig.", "deleteTip": "Notiz löschen", "fromAgentTip": "Von Claude notiert" }, "session": { "chipLive": "LIVE", "chipDone": "FERTIG", "chipFailed": "FEHLGESCHLAGEN", "reviewContinueTip": "Dieses Feedback senden und die Aufgabe erneut ausführen", "reviewResetTip": "Alle Änderungen verwerfen und die Aufgabe auf Leerlauf zurücksetzen", "mergeDrainHint": "Merge zieht Subtasks ein — Abbrechen entsperrt sich danach", "approveMergesUnitHint": "Approve mergt das gleich in den Zielbranch — danach folgt kein separater Merge-Schritt.", "continueNoSessionTip": "Setzt den letzten Lauf fort — benötigt eine vorherige Session", "resetAndRetryInteractiveTip": "Interaktive Sitzung ist offen — erst schließen", "reviewFeedbackPlaceholder": "Feedback für nächsten Lauf" }, "missionControl": { "windowTitle": "Mission Control", "newSession": "Neue Sitzung", "empty": "Keine laufenden Aufgaben", "settings": "Einstellungen", "activity": "Aktivität", "runningNow": "Läuft gerade", "opVerifyMerge": "Prüfung nach Merge", "opVerifyBatch": "Verify (Batch)", "opMerging": "Merge", "opRebasing": "Rebase", "opCreatingWorktree": "Worktree wird erstellt", "operationsRefreshFailed": "Laufende Operationen konnten nicht geladen werden: {0}", "blocked": "Blockiert", "running": "Läuft", "review": "Im Review", "verifying": "Wird geprüft", "failed": "Fehlgeschlagen", "roadblock": "Blockade gemeldet", "openSession": "Sitzung öffnen", "homeFolder": "Home (Schnellsitzung)", "sshTarget": "{0} (SSH)", "browseForFolder": "Ordner wählen…", "recentSessions": "Letzte Sitzungen", "recentSessionsEmpty": "Keine Sitzungen in den letzten 14 Tagen", "resumeSession": "Fortsetzen", "showBrief": "Brief", "renameSession": "Doppelklick zum Umbenennen", "renameFailed": "Sitzung konnte nicht umbenannt werden: {0}", "handoffSession": "Übergabe", "briefOpenFailed": "Brief konnte nicht geöffnet werden: {0}", "focusMode": "Fokus", "overviewMode": "Übersicht", "columns": "Spalten", "columnsAuto": "Auto", "closeSession": "Sitzung hart beenden", "closeSessionConfirm": "Laufende Sitzung beenden? Der Claude-Prozess wird abgebrochen.", "conptyLaunchFailed": "Interaktive Sitzung konnte nicht geöffnet werden: {0}", "conptyStarting": "Sitzung wird gestartet…", "conptyExited": "Sitzung beendet (Code {0}).", "usageWarningNotDelivered": "Die Listen-Handler-Sitzung konnte nicht vor dem Usage-Limit gewarnt werden.", "terminalSendFailed": "Konnte nicht an die Terminal-Sitzung gesendet werden.", "deferredHandoffTitleSuffix": "warte auf Limit-Zurücksetzen ({0})", "mergeHelperTitle": "Merge-Helfer", "mergeHelperHandoffTitleSuffix": " (Übergabe)", "mergeHelperTaskTitle": "Listen-Handler: {0}", "mergeHelperTaskDescriptionHeader": "Von diesem Lauf bearbeitete Tasks:", "mergeReviewsTitle": "Review-Merge", "mergeReviewsTaskTitle": "Review-Merge: {0}", "submitForReviewFailed": "Einreichen zum Review fehlgeschlagen: {0}", "submitForReview": "Zum Review einreichen", "submitForReviewTip": "Diesen Worktree committen und den Task ins Review bringen, damit er gemergt werden kann", "retry": "Erneut versuchen", "retryTip": "Diese Sitzung erneut starten", "planningTitleSuffix": " (Planung)", "enqueueAlreadyOpen": "Kann nicht in die Warteschlange gestellt werden — dieser Task hat eine offene interaktive Sitzung.", "enqueueFailed": "In die Warteschlange stellen fehlgeschlagen: {0}", "queueRefreshFailed": "Warteschlange konnte nicht aktualisiert werden: {0}", "abandonRun": "Lauf abbrechen", "abandonRunTip": "Die noch offenen Tasks dieses Laufs abbrechen und die Sitzung schließen", "abandonRunConfirm": "{0} offene Aufgabe(n) abbrechen und diese Sitzung schließen? Aufgaben im Review oder bereits erledigt bleiben unangetastet.", "abandonRunFailed": "Offene Tasks konnten nicht abgebrochen werden: {0}", "question": { "title": "Claude fragt nach", "placeholder": "Antwort eingeben…", "send": "Senden" } }, "modals": { "logVisualizer": { "title": "WORKER-LOGS — LETZTE 30 MIN", "warnErrorOnly": "Nur Warnungen & Fehler", "refresh": "Aktualisieren", "empty": "Keine Logs in den letzten 30 Minuten.", "count": "{0} Einträge", "copyLast": "Letzte 40 kopieren", "copyLastTooltip": "Kopiert die letzten 40 sichtbaren Zeilen in die Zwischenablage", "copied": "{0} Zeilen kopiert", "copyFailed": "Kopieren fehlgeschlagen", "footerHint": "logs", "openTooltip": "Aktuelle Worker-Logs anzeigen" }, "about": { "title": "ÜBER", "version": "Version", "data": "Daten", "logs": "Logs", "config": "Konfiguration", "open": "Öffnen" }, "workerConnection": { "title": "WORKER NICHT ERREICHBAR", "body": "ClaudeDo kann den Hintergrund-Worker nicht erreichen. Normalerweise wird er bei der Anmeldung automatisch gestartet. Du kannst ihn jetzt starten oder neu installieren, falls das Problem bestehen bleibt.", "dismiss": "Ausblenden", "rerunInstaller": "Installer erneut ausführen", "startWorker": "Worker starten", "workerNotFound": "Worker-Programm nicht gefunden. Installation prüfen.", "installerNotFound": "Installer nicht gefunden. Installation prüfen.", "startFailed": "Start fehlgeschlagen: {0}" }, "listSettings": { "title": "LISTENEINSTELLUNGEN", "folderTitle": "ORDNER", "deleteList": "Liste löschen", "deleteFolder": "Ordner löschen", "createAsFolder": "Stattdessen einen Ordner anlegen", "createAsFolderHint": "Ein Ordner gruppiert nur Listen in der Seitenleiste — er enthält keine Aufgaben und führt nichts aus. Listen per Drag-and-Drop hineinziehen.", "sectionGeneral": "ALLGEMEIN", "name": "Name", "color": "Farbe", "colorHint": "Färbt den Punkt einer Liste bzw. Namen und Führungslinie eines Ordners. Der leere Ring stellt den Standard wieder her.", "colorCustom": "Eigene", "workingDirectory": "Arbeitsverzeichnis", "workingDirectoryPlaceholder": "(keines)", "baseBranch": "Basis-Branch", "baseBranchPlaceholder": "(ausgecheckter Branch)", "baseBranchHint": "Neue Task-Branches starten hier, und freigegebene Arbeit wird hierhin gemergt, z.B. dev. Leer = der gerade ausgecheckte Branch.", "browse": "Durchsuchen...", "defaultCommitType": "Standard-Commit-Typ", "manualList": "Manuelle Liste (Erinnerungen)", "manualListHint": "Neue Aufgaben in dieser Liste sind zunächst manuell: kein Einreihen, Ausführen oder Verfeinern, und die Automatik überspringt sie. Eine handgesteuerte Sitzung kannst du weiterhin öffnen.", "findingsTracked": "Findings-Ordner .claudedo einchecken", "findingsTrackedHint": "Aus: der Ordner bleibt über .git/info/exclude aus git heraus. An: Findings reisen mit dem Repo.", "powerUseAllowed": "PowerUse für diese Liste erlauben", "powerUseAllowedHint": "Erlaubt einem List-Handler-Run auf dieser Liste, unbeaufsichtigt zu laufen, sobald PowerUse in Einstellungen → Ausführung eingeschaltet ist: er fragt nichts, löst Konflikte selbst und sammelt neue Arbeit. Beide Schalter sind nötig — ein global aktives PowerUse ändert an einer Liste ohne Opt-in also nichts.", "sectionIcon": "ICON", "icon": "Listen-Icon", "iconHint": "Wird in der Seitenleiste neben dem Listennamen angezeigt.", "iconSearchWatermark": "Alle Icons durchsuchen (Englisch, z.B. rocket, car, bug)", "iconSearchTruncated": "Die ersten 200 Treffer werden angezeigt — Suche verfeinern.", "sectionAgent": "AGENT", "resetAgentSettings": "Agent-Einstellungen zurücksetzen", "sectionVerify": "VERIFIKATION", "verifyCommand": "Verifikationskommando", "verifyCommandPlaceholder": "(keines — Merge verhält sich wie bisher)", "verifyCommandHint": "Läuft im Arbeitsverzeichnis nach einem Merge, bevor die Aufgabe auf 'Erledigt' gesetzt wird. Ein Exit-Code ungleich 0 (oder Timeout) lässt den Merge bestehen, verhindert aber 'Erledigt' und meldet den Fehler.", "ticketProject": "Ticket-Projekt" }, "merge": { "title": "WORKTREE MERGEN", "windowTitle": "Worktree mergen", "cancel": "Abbrechen", "merge": "Mergen", "targetBranch": "Ziel-Branch", "removeWorktree": "Worktree nach dem Mergen entfernen", "commitMessage": "Commit-Nachricht", "conflictedFiles": "Konfliktdateien:", "stashAndMerge": "Änderungen stashen und mergen", "resolveConflicts": "Konflikte lösen" }, "diff": { "title": "DIFF", "windowTitle": "Diff", "merge": "Mergen…", "filesHeader": "Dateien", "binary": "Binärdatei — kein Text-Diff", "empty": "Kein Inhalt", "unifiedView": "Zusammen", "splitView": "Nebeneinander", "wrapLines": "Zeilenumbruch", "paneBase": "BASIS", "paneWorktree": "WORKTREE", "maximize": "Maximieren", "restore": "Wiederherstellen" }, "worktreesOverview": { "refresh": "Aktualisieren", "cleanupFinished": "Abgeschlossene aufräumen", "columnTask": "AUFGABE", "columnState": "STATUS", "columnDiff": "DIFF", "columnAge": "ALTER", "columnOutcome": "ERGEBNIS", "selectAll": "Alle auswählen", "targetLabel": "Ziel", "mergeAll": "Alle mergen", "needsResolution": "ZU LÖSEN", "resolve": "Lösen", "phantom": "Phantom", "phantomTooltip": "Verzeichnis fehlt auf der Festplatte", "mergedExternal": "gemergt (extern)", "mergedExternalTooltip": "Die Commits sind schon im Default-Branch (lokaler origin-Stand, ohne Fetch), z.B. per Squash-PR. \"Abgeschlossene aufräumen\" entfernt ihn.", "ctxShowDiff": "Diff anzeigen", "ctxOpenInExplorer": "Im Explorer öffnen", "ctxJumpToTask": "Zur Aufgabe springen", "ctxMerge": "Mergen…", "ctxDiscard": "Verwerfen", "ctxKeep": "Behalten", "ctxCopyBranch": "Branch kopieren", "ctxCopyPath": "Pfad kopieren", "ctxForceRemove": "Zwangsweise entfernen" }, "repoImport": { "title": "REPOS ALS LISTEN HINZUFÜGEN", "windowTitle": "Repos als Listen hinzufügen", "cancel": "Abbrechen", "searchPlaceholder": "Repos suchen…", "addFolder": "Ordner hinzufügen…", "forgetFolders": "Ordner vergessen", "alreadyAdded": "(bereits hinzugefügt)" }, "mergeHelper": { "title": "CLAUDE MACHEN LASSEN", "windowTitle": "Claude machen lassen", "scopeList": "Liste: {0}", "scopeReview": "Alle Listen — Tasks im Review", "modelLabel": "Modell", "modelTip": "Modell für die Triage-Session (Dedupe & Verfeinern). Spätere Merge-Phasen laufen immer auf Opus.", "confirm": "Claude machen lassen", "cancel": "Abbrechen", "selectAll": "Alle auswählen", "selectNone": "Keine auswählen", "empty": "Keine Aufgaben zu übergeben — alles erledigt oder abgebrochen.", "columnTask": "AUFGABE", "columnStatus": "STATUS", "orphanHint": "ELTERNTEIL NICHT IN AUSWAHL", "orphanHintTip": "Das Elternteil dieser Unteraufgabe wird hier nicht angeboten (bereits erledigt oder abgebrochen), daher steht sie einzeln." }, "unfinishedPlanning": { "title": "UNVOLLENDETE PLANUNGSSITZUNG", "windowTitle": "Unvollendete Planungssitzung", "discard": "Verwerfen", "finalize": "Abschließen", "resume": "Fortsetzen", "draftTasksSuffix": " Entwurfsaufgabe(n) warten auf Abschluss." }, "weeklyReport": { "title": "WOCHENBERICHT", "windowTitle": "Wochenbericht", "from": "Von", "to": "Bis", "generate": "Erstellen", "regenerate": "Neu erstellen", "emptyStateHint": "Noch kein Bericht für diesen Zeitraum. Klicke auf „Erstellen“." }, "cheatSheets": { "title": "CHEAT SHEETS", "windowTitle": "Cheat Sheets", "pin": "Anpinnen", "pinTooltip": "Fenster über den anderen halten", "missing": "Cheat Sheet {0} nicht gefunden." }, "usageMonitor": { "title": "USAGE MONITOR", "windowTitle": "Usage Monitor", "noGauges": "Noch keine Nutzungslimits gemeldet.", "refreshHint": "Jetzt aktualisieren — Abruf alle 5 Min., während ein Task läuft, sonst alle 15 Min.", "staleFormat": "Werte veraltet (Stand {0})", "staleGateHint": "Der Limit-Stopp greift in diesem Zustand nicht.", "gateBlockedFormat": "Warteschlange pausiert — {0}", "throttleFormat": "Warteschlange gedrosselt: {0}/{1} Slots ({2})", "resetIn": "Reset in {0} ({1})", "dragHint": "Marker ziehen oder Wert unten eintragen.", "legendSoft": "Soft · 2 Slots", "legendHard": "Hard · 1 Slot", "legendGate": "Limit-Stopp · Pause", "gaugeSession": "Session (5 Std.)", "gaugeWeeklyAll": "Woche (alle Modelle)", "gaugeWeeklyScopedFormat": "Woche ({0})", "period": "Zeitraum:", "last7Days": "7 Tage", "last30Days": "30 Tage", "fromDate": "Von", "toDate": "Bis", "modelUsage": "Modelle", "taskUsage": "Tasks", "emptyStateHint": "Noch keine Nutzungsdaten für diesen Zeitraum.", "columnModel": "MODELL", "columnIn": "IN", "columnOut": "OUT", "columnCache": "CACHE", "columnOtherIn": "ÜBRIGES IN", "columnOtherOut": "ÜBRIGES OUT", "columnOtherCache": "ÜBRIGES CACHE", "columnShare": "ANTEIL", "columnTask": "AUFGABE", "columnList": "LISTE", "columnModelShort": "MODELL", "columnRuns": "RUNS", "columnTotal": "GESAMT", "columnCost": "KOSTEN", "columnRetries": "RETRIES", "analyticsStampFormat": "Auswertung: Stand {0}", "analyticsNever": "Auswertung noch nicht geladen", "analyticsRefresh": "Auswertung aktualisieren", "openDashboard": "TokenTracker-Dashboard öffnen", "openDashboardTip": "Startet das lokale TokenTracker-Dashboard (nur localhost, kein Cloud-Sync) und öffnet es im Browser. Der erste Start dauert ein paar Sekunden.", "analyticsTotalsFormat": "{0} Tokens · {1} $", "ttMissingTitle": "Die Token-Auswertung braucht TokenTracker", "ttMissingBody": "TokenTracker (MIT) liest deine lokalen Claude-Transkripte und sieht keine Prompts. ClaudeDo ruft nur den lokalen Export auf — kein `init`, keine Hooks, kein Cloud-Sync.", "ttInstall": "TokenTracker installieren", "ttNodeHintFormat": "Node 20 oder neuer wird benötigt (gefunden: {0}).", "ttNodeMissing": "Node 20 oder neuer wird benötigt, es wurde aber kein Node gefunden.", "ttErrorFormat": "TokenTracker-Problem: {0}" } }, "installer": { "nav": { "back": "Zurück", "next": "Weiter →", "install": "Installieren", "browse": "Durchsuchen...", "cancel": "Abbrechen" }, "welcome": { "title": "Willkommen", "heading": "ClaudeDo installieren", "subheading": "Wähle aus, wohin ClaudeDo installiert werden soll, und klicke dann auf Weiter.", "updateSubheading": "Deine Aufgaben, Konfiguration und Datenbank bleiben erhalten. Klicke auf Weiter, um fortzufahren.", "installDirectory": "Installationsverzeichnis", "registerMcp": "MCP-Server bei Claude registrieren", "registerMcpHint": "Führt 'claude mcp add' aus, damit Claude deine ClaudeDo-Aufgaben sehen und verwalten kann. Du kannst dies später ändern." }, "systemCheck": { "title": "Systemprüfung", "subtitle": "ClaudeDo prüft dein System vor der Installation.", "recheck": "Erneut prüfen", "summary": { "running": "System wird geprüft…", "ok": "Alles in Ordnung.", "warnings": "{0} Warnung(en) gefunden.", "blocking": "{0} Problem(e) müssen behoben werden: {1}" }, "claudeHelp": { "button": "Claude Help Me", "error": "Claude-Session konnte nicht gestartet werden: {0}", "tooltip": { "cliMissing": "Claude CLI wurde nicht gefunden — installiere sie zuerst (siehe Hinweis zur Claude CLI oben).", "notLoggedIn": "Claude ist nicht eingeloggt — führe einmal 'claude' aus und schließe den Login-Vorgang ab.", "ready": "Öffnet eine interaktive Claude-Session, die dir beim Einrichten hilft." } } }, "paths": { "title": "Datenpfade", "subtitle": "Lege fest, wo ClaudeDo seine Daten speichert.", "databasePath": "Datenbankpfad", "logDirectory": "Log-Verzeichnis", "sandboxRoot": "Sandbox-Verzeichnis", "worktreeStrategy": "Worktree-Strategie", "centralWorktreeRoot": "Zentrales Worktree-Verzeichnis" }, "service": { "title": "Worker", "subtitle": "Konfiguriere den ClaudeDo-Hintergrund-Worker.", "signalRPort": "SignalR-Port", "queueBackstopInterval": "Warteschlangen-Backstop-Intervall (ms)", "claudeCliPath": "Claude-CLI-Pfad", "autostart": "Worker bei der Anmeldung automatisch starten", "autostartHint": "Der Worker läuft als du (der angemeldete Benutzer) über eine benutzerbezogene Anmelde-Aufgabe, sodass er deine Claude-CLI-Authentifizierung nutzen kann.", "restartDelay": "Neustart-Verzögerung (ms)" }, "uiSettings": { "title": "UI-Einstellungen", "subtitle": "Konfiguriere die Verbindungseinstellungen der ClaudeDo-Desktop-Oberfläche.", "syncWithService": "Mit Worker-Einstellungen synchronisieren", "signalRUrl": "SignalR-URL", "syncHint": "Bei Synchronisierung werden diese Werte aus den Seiten „Worker“ und „Datenpfade“ abgeleitet." }, "install": { "title": "Installation", "subtitle": "Klicke auf Installieren, um ClaudeDo zu erstellen und bereitzustellen.", "launch": "ClaudeDo starten" }, "diagnose": { "title": "Diagnose", "subtitle": "Führt die Systemprüfungen erneut aus, gegen deine installierte Konfiguration." }, "settings": { "removeUserData": "Benutzerdaten entfernen (Aufgaben, Logs, Konfigurationen in ~/.claudeDo)", "uninstall": "Deinstallieren", "repair": "Reparieren", "save": "Speichern", "close": "Schließen" } }, "checks": { "git": { "title": "Git", "hint": "Installiere Git von https://git-scm.com/downloads und starte den Installer neu.", "notFound": "git wurde nicht im PATH gefunden.", "exitCode": "'{0}' wurde mit Exitcode {1} beendet.", "resolvedFormat": "{0} — {1}" }, "gitIdentity": { "title": "Git-Identität", "hint": "Führe aus: git config --global user.name \"Dein Name\" und git config --global user.email \"du@example.com\"", "notFound": "git wurde nicht gefunden — Identität konnte nicht geprüft werden.", "missing": "Fehlende Git-Identität: {0}." }, "ports": { "title": "Ports", "hint": "Ändere die SignalR-/MCP-Ports auf der Dienste-Seite, oder beende den blockierenden Prozess.", "inUse": "{0}-Port {1} ist belegt.", "inUseBy": "{0}-Port {1} ist belegt von '{2}'.", "inUseByOwnWorker": "Belegt vom laufenden ClaudeDo Worker: {0}.", "available": "Ports sind verfügbar." }, "writeAccess": { "title": "Schreibzugriff", "hint": "Wähle ein anderes Installationsverzeichnis oder starte den Installer mit ausreichenden Rechten (z. B. als Administrator).", "cannotWrite": "Kein Schreibzugriff auf '{0}': {1}", "writable": "Installations- und Datenverzeichnis sind beschreibbar." }, "claudeCli": { "title": "Claude CLI", "hint": "Installiere die Claude CLI (npm install -g @anthropic-ai/claude-code) und starte danach dein Terminal/deine Anmeldesitzung neu, damit der aktualisierte PATH greift.", "notFound": "'{0}' wurde nicht im PATH gefunden. Durchsucht: {1}.", "exitCode": "'{0}' wurde mit Exitcode {1} beendet.", "resolvedFormat": "{0} — {1}" }, "claudeVersion": { "title": "Claude-CLI-Version", "hint": "Aktualisiere die CLI: npm update -g @anthropic-ai/claude-code", "notFound": "Die claude-CLI wurde nicht gefunden — Version konnte nicht geprüft werden.", "parseFailed": "Konnte keine Version aus '{0}' auslesen.", "tooOld": "claude {0} ist älter als die erforderliche Version {1}.", "ok": "claude {0} erfüllt die Mindestanforderung ({1})." }, "claudeAuth": { "title": "Claude-CLI-Login", "hint": "Starte 'claude' einmal und schließe den Login-Vorgang ab.", "notFound": "Die claude-CLI wurde nicht gefunden — Login konnte nicht geprüft werden.", "undetermined": "Login-Status konnte nicht ermittelt werden.", "notLoggedIn": "Nicht angemeldet.", "loggedIn": "Angemeldet." }, "permissionModeAuto": { "title": "Berechtigungsmodus", "hint": "Aktualisiere die CLI: npm update -g @anthropic-ai/claude-code. ClaudeDo funktioniert auch im Modus acceptEdits/default, dann mit mehr Rückfragen.", "notFound": "Die claude-CLI wurde nicht gefunden — Unterstützung für permission-mode konnte nicht geprüft werden.", "undetermined": "Konnte nicht ermitteln, ob --permission-mode auto unterstützt wird.", "ok": "--permission-mode auto wird von dieser CLI erkannt.", "notListed": "Diese claude-CLI-Version listet 'auto' nicht als --permission-mode-Option." } }, "planning": { "diff": { "previewCombined": "Kombinierte Vorschau", "loading": "Wird geladen…" } }, "conflictResolver": { "windowTitle": "Merge-Konflikte lösen", "modalTitle": "KONFLIKTE LÖSEN", "loading": "Konflikte werden geladen…", "ours": "MAIN · Ziel-Branch", "result": "ERGEBNIS", "theirs": "INCOMING · Task-Branch", "binaryHint": "Binärdateien können hier nicht zusammengeführt werden — brich ab und löse sie in deinem Editor:", "prevConflict": "Vorheriger Konflikt (Umschalt+F8)", "nextConflict": "Nächster Konflikt (F8)", "conflictMap": "Konflikte in dieser Datei — Marker anklicken zum Springen", "acceptOurs": "Main hinzufügen", "acceptTheirs": "Incoming hinzufügen", "removeOurs": "Main entfernen", "removeTheirs": "Incoming entfernen", "continue": "Lösen & fortfahren", "abort": "Merge abbrechen" }, "controls": { "markdown": { "copy": "Befehl kopieren" }, "datePicker": { "today": "Heute", "tomorrow": "Morgen", "nextMon": "Nächster Mo", "clear": "Löschen", "time": "Zeit", "done": "Fertig" } }, "dialog": { "cancel": "Abbrechen", "confirm": "Bestätigen", "delete": "Löschen", "ok": "OK", "confirmTitle": "Bestätigen", "errorTitle": "Fehler" }, "shell": { "menu": { "help": "Hilfe", "worker": "Worker", "repositories": "Repositories", "checkForUpdates": "Nach Updates suchen", "restartWorker": "Worker neu starten", "updateClaudeCli": "Claude CLI aktualisieren", "shutdown": "Beenden", "worktrees": "Worktrees…", "weeklyReport": "Wochenbericht…", "usageMonitor": "Usage Monitor…", "cheatSheets": "Cheat Sheets", "cheatSheetGit": "Git…", "cheatSheetCommits": "Conventional Commits…", "cheatSheetClaude": "Claude CLI…", "cheatSheetClaudeConfig": "Claude-Konfiguration…", "cheatSheetDotnet": "dotnet CLI…", "cheatSheetPowershell": "PowerShell…", "about": "Über…", "addRepos": "Repos als Listen hinzufügen…" }, "update": { "available": "Update verfügbar: v", "updateNow": "Jetzt aktualisieren", "dismiss": "Ausblenden" }, "externalMerge": { "banner": "Eine Claude-Session löst gerade einen Merge-Konflikt auf — bitte keine Dateien im Repository bearbeiten.", "open": "Resolver öffnen" } }, "vm": { "connection": { "online": "Online", "connecting": "Verbinden…", "offline": "Offline" }, "shell": { "unexpectedError": "Unerwarteter Fehler: {0}", "updatingClaudeCli": "Claude CLI wird aktualisiert…", "shutdownConfirm": "Dadurch wird der ClaudeDo-Worker beendet (laufende Task-Runs und interaktive Sitzungen brechen ab) und die App geschlossen. Fortfahren?" }, "mainWindow": { "closeConfirm": { "message": "{0} Mission-Control-Sitzung(en) laufen noch. Beim Beenden werden sie abgebrochen. Trotzdem schließen?" } }, "agentStatus": { "idle": "Leerlauf", "queued": "In Warteschlange", "running": "Läuft", "review": "Prüfung", "children": "Wartet auf Teilaufgaben", "done": "Fertig", "failed": "Fehlgeschlagen", "cancelled": "Abgebrochen" }, "taskStatus": { "idle": "Leerlauf", "queued": "In Warteschlange", "running": "Läuft", "waitingForReview": "Wartet auf Prüfung", "waitingForChildren": "Wartet auf Teilaufgaben", "done": "Fertig", "failed": "Fehlgeschlagen", "cancelled": "Abgebrochen", "parked": "Geparkt", "interactive": "Interaktiv", "waiting": "Wartet" }, "failureReason": { "maxTurns": "Turn-Limit erreicht", "timeout": "Zeitüberschreitung", "usageLimit": "Nutzungslimit erreicht", "error": "Fehler", "cancelled": "Abgebrochen", "unknown": "Grund unbekannt" }, "failureReasonTooltip": { "maxTurns": "Turn-Limit erreicht ({0}/{1} Turns) — der Worktree ist meist brauchbar; Task fortsetzen statt zurücksetzen." }, "planningBadge": { "active": "PLANUNG", "finalized": "GEPLANT" }, "taskRow": { "createdPrefix": "Erstellt {0}", "stepsText": "{0}/{1} Schritte" }, "queue": { "baseDirtyWarning": "Achtung: Das Repo dieser Liste hat uncommittete Änderungen ({0} geändert, {1} untracked) — ein neuer Worktree startet vom letzten Commit und enthält sie nicht." }, "tasksIsland": { "completedHeader": "ABGESCHLOSSEN", "completedHeaderCount": "ABGESCHLOSSEN · {0}", "statusPill": "{0} laufend · {1} Prüfung", "openTaskOne": "1 offene Aufgabe", "openTasks": "{0} offene Aufgaben", "planningResumeFailed": "Planungssitzung konnte nicht fortgesetzt werden: {0}", "approveFailed": "Genehmigen & Mergen fehlgeschlagen: {0}", "cancelReviewFailed": "Prüfung abbrechen fehlgeschlagen: {0}", "sendToQueueFailed": "In die Warteschlange stellen fehlgeschlagen: {0}", "queuePlanBlockedInteractive": "Plan kann nicht in die Warteschlange gestellt werden — {0} hat eine offene interaktive Sitzung und muss zuerst geschlossen werden.", "moveRunningRejected": "Ein laufender Task kann nicht in eine andere Liste verschoben werden.", "moveWorktreeRejected": "Verschieben nicht möglich — dieser Task hat einen aktiven Worktree, der auf sein aktuelles Repo zeigt.", "moveRepoConfirm": "Unterschiedliche Repos — {0} → {1}. Task trotzdem verschieben?", "moveConfirmUnavailable": "Verschieben nicht möglich — der Bestätigungsdialog ist nicht verfügbar.", "quickClaudeNoWorkingDir": "Für diese Liste ist kein Arbeitsverzeichnis konfiguriert.", "quickClaudeDirMissing": "Arbeitsverzeichnis existiert nicht mehr: {0}", "setStatusFailed": "Status konnte nicht aktualisiert werden: {0}", "cancelFailed": "Abbrechen fehlgeschlagen: {0}", "rejectToQueueFailed": "Zurückweisen in die Warteschlange fehlgeschlagen: {0}", "rejectToIdleFailed": "Zurückweisen fehlgeschlagen: {0}", "deleteTaskConfirm": "\"{0}\" löschen? Dies kann nicht rückgängig gemacht werden.", "deleteTaskFailed": "Löschen fehlgeschlagen: {0}", "toggleDoneFailed": "Erledigt-Status konnte nicht aktualisiert werden: {0}", "removeFromQueueFailed": "Aus der Warteschlange entfernen fehlgeschlagen: {0}", "openWorktreeFailed": "Worktree konnte nicht geöffnet werden: {0}" }, "diff": { "loadFailed": "Diff konnte nicht geladen werden: {0}", "noChanges": "Keine Änderungen anzuzeigen.", "unavailable": "Diff nicht mehr verfügbar — Commit-Bereich unvollständig." }, "planningDiff": { "hubError": "Kombinierte Vorschau konnte nicht erstellt werden (Hub-Fehler).", "conflict": "Kombinierte Vorschau nicht möglich: Teilaufgabe {0} steht im Konflikt mit einer früheren Teilaufgabe ({1} Dateien).", "buildFailed": "Kombinierte Vorschau konnte nicht erstellt werden: {0}" }, "merge": { "commitMessage": "chore: merge {0}", "progressMerging": "Wird zusammengeführt…", "progressVerifying": "Verify-Kommando der Liste läuft… ({0})", "workerOfflineBranches": "Worker offline — Branches können nicht aufgelistet werden.", "loadBranchesFailed": "Branches konnten nicht geladen werden: {0}", "merged": "Zusammengeführt.", "blocked": "Blockiert: {0}", "verifyFailed": "Merge ist gelandet, aber das Verify-Kommando der Liste ist fehlgeschlagen — die Aufgabe wurde nicht auf Erledigt gesetzt.", "untrackedCollision": "Merge abgelehnt — er würde eine unversionierte Datei im Ziel-Arbeitsverzeichnis überschreiben.", "dirtyTarget": "Merge abgelehnt — das Ziel-Arbeitsverzeichnis hat uncommittete Änderungen.", "targetDirty": "Das Ziel-Arbeitsverzeichnis hat bereits uncommittete Änderungen — stashen und mergen?", "unknownStatus": "Unbekannter Status: {0}", "mergeFailed": "Merge fehlgeschlagen: {0}" }, "settingsModal": { "workerOffline": "Worker offline — Einstellungen schreibgeschützt.", "saveFailed": "Speichern fehlgeschlagen: {0}" }, "onlineInbox": { "workerOffline": "Worker offline — Konfiguration kann nicht geladen werden.", "saved": "Konfiguration gespeichert.", "saveFailed": "Speichern fehlgeschlagen: {0}", "signedIn": "Erfolgreich angemeldet.", "signedInNoRole": "Angemeldet, aber diesem Konto fehlt die Rolle 'user' in Zitadel — die Online-Synchronisierung wird abgelehnt, bis die Rolle im ClaudeDo-Projekt zugewiesen wird.", "signInFailed": "Anmeldung fehlgeschlagen: {0}", "signedOut": "Abgemeldet.", "signOutFailed": "Abmeldung fehlgeschlagen: {0}" }, "tickets": { "azdoConnectionOk": "Verbunden — Repo {0}, Default-Branch {1}.", "connectionOk": "Verbunden als {0}.", "connectionMissingScopes": "Verbunden als {0}, aber es fehlen Scopes: {1}", "tokenCleared": "Token entfernt.", "workerOffline": "Worker nicht erreichbar." }, "weeklyReport": { "invalidRange": "Ungültiger Datumsbereich.", "error": "Fehler: {0}" }, "usageMonitor": { "loadFailed": "Nutzungsdaten konnten nicht geladen werden: {0}", "refreshFailed": "Nutzung konnte nicht aktualisiert werden: {0}", "thresholdSaveFailed": "Grenze konnte nicht gespeichert werden: {0}", "installStarted": "TokenTracker wird installiert — der Fortschritt läuft in der Log-Leiste.", "installFailed": "TokenTracker konnte nicht installiert werden: {0}", "analyticsRefreshFailed": "Die Auswertung konnte nicht aktualisiert werden: {0}", "dashboardFailed": "Das TokenTracker-Dashboard konnte nicht geöffnet werden: {0}", "dashboardUnavailable": "der lokale Dashboard-Server ist nicht gestartet" }, "filesTab": { "workerOffline": "Worker offline.", "noneBundled": "Keine Standard-Agenten mitgeliefert.", "allPresent": "Alle Standard-Agenten bereits vorhanden.", "restored": "{0} Standard-Agent(en) wiederhergestellt.", "restoreFailed": "Wiederherstellung fehlgeschlagen: {0}", "resetToDefault": "Auf den mitgelieferten Standard zurückgesetzt." }, "sessionSkillsTab": { "installed": "Installiert: {0}", "installFailed": "Installation fehlgeschlagen: {0}", "updated": "Aktualisiert.", "updateFailed": "Aktualisierung fehlgeschlagen: {0}", "removed": "Entfernt.", "removeFailed": "Entfernen fehlgeschlagen: {0}" }, "worktreesTab": { "workerOffline": "Worker offline.", "removed": "{0} Worktree(s) entfernt.", "blocked": "Zwangsentfernung nicht möglich: {0} Aufgabe(n) laufen noch. Brich sie zuerst ab.", "removedFrom": "{0} Worktree(s) von {1} Aufgabe(n) entfernt.", "cleanupFailed": "Aufräumen fehlgeschlagen: {0}", "resetFailed": "Zurücksetzen fehlgeschlagen: {0}" }, "worktreesOverview": { "titleAll": "Worktrees", "titleList": "Worktrees — {0}", "listFallback": "Liste", "cleanupFailed": "Aufräumen fehlgeschlagen.", "cleanupFailedDetailed": "Aufräumen fehlgeschlagen: {0}", "removed": "{0} Worktree(s) entfernt.", "discardConfirm": "Worktree für \"{0}\" verwerfen? Nicht committete Arbeit geht verloren.", "discardFailed": "Worktree konnte nicht verworfen werden.", "keepFailed": "Worktree konnte nicht behalten werden.", "cannotForceRunning": "Eine laufende Aufgabe kann nicht zwangsweise entfernt werden.", "forceRemoveFailed": "Zwangsentfernung fehlgeschlagen.", "forceRemoveFailedDetailed": "Zwangsentfernung fehlgeschlagen: {0}", "batchDone": "{0} gemergt, {1} zu lösen.", "openInExplorerFailed": "Pfad konnte nicht geöffnet werden: {0}" }, "listSettings": { "untitled": "Unbenannt", "ticketProjectNone": "— keins —", "loadFailed": "Listeneinstellungen konnten nicht geladen werden: {0}", "ticketProjectsLoadFailed": "Ticket-Projekte konnten nicht geladen werden: {0}", "confirmDeleteFolder": "Ordner \"{0}\" löschen? Die Listen und Unterordner darin bleiben erhalten und wandern auf die oberste Ebene.", "confirmDeleteList": "Liste \"{0}\" und alle ihre Aufgaben löschen? Das kann nicht rückgängig gemacht werden.", "deleteBlockedPlanning": "Diese Liste hat Planungssitzungen mit Kind-Aufgaben. Erst diese verwerfen, dann die Liste löschen.", "workingDirMissing": "Dieser Ordner existiert nicht.", "workingDirNotRepo": "Dieser Ordner ist noch kein Git-Repository. Führe darin zuerst `git init` aus, oder leere das Arbeitsverzeichnis, um dies als manuelle Liste zu speichern." }, "detailsIsland": { "verifyFailed": "Merge ist erfolgt, aber das Verifikationskommando der Liste ist fehlgeschlagen — die Aufgabe wurde nicht auf 'Erledigt' gesetzt.", "untrackedCollision": "Merge abgelehnt — er würde eine unversionierte Datei im Ziel-Arbeitsverzeichnis überschreiben.", "dirtyTarget": "Merge abgelehnt — das Ziel-Arbeitsverzeichnis hat uncommittete Änderungen.", "stashAndMergeConfirm": "Das Ziel-Arbeitsverzeichnis hat uncommittete Änderungen.\nStashen, mergen und danach wiederherstellen?", "stopOffline": "Worker offline — Task kann nicht gestoppt werden.", "stopFailed": "Stoppen fehlgeschlagen: {0}", "enqueueFailed": "In die Warteschlange stellen fehlgeschlagen: {0}", "dequeueFailed": "Aus der Warteschlange entfernen fehlgeschlagen: {0}", "resetAndRetryFailed": "Zurücksetzen & erneut versuchen fehlgeschlagen: {0}", "toggleDoneFailed": "Erledigt-Status konnte nicht aktualisiert werden: {0}" }, "mergeSection": { "openWorktreeFailed": "Worktree konnte nicht geöffnet werden: {0}" }, "about": { "openPathFailed": "Pfad konnte nicht geöffnet werden: {0}" }, "lists": { "localSuffix": "{0} / lokal", "smartMyDay": "Mein Tag", "smartImportant": "Wichtig", "smartPlanned": "Geplant", "smartNotes": "Notizen", "virtualQueue": "Warteschlange", "virtualRunning": "Läuft", "virtualReview": "Prüfung", "newList": "Neue Liste", "findingsNotFound": "Für diese Liste gibt es noch keine Findings.", "findingsOpenFailed": "Findings-Ordner konnte nicht geöffnet werden: {0}", "openInExplorerFailed": "Pfad konnte nicht geöffnet werden: {0}" }, "repoImport": { "loadFailed": "Gespeicherte Ordner konnten nicht geladen werden: {0}", "saveFailed": "Ordner konnten nicht gespeichert werden: {0}", "createButton": "{0} Liste(n) erstellen" } }, "ops": { "stalledHint": "Läuft weiter — Worker antwortet noch", "merge": { "merging": "Wird zusammengeführt…", "verifying": "Verify-Kommando der Liste läuft… ({0})", "publishing": "Push und Draft-PR laufen…" }, "diff": { "parsing": "Diff wird geparst…" }, "review": { "submitting": "Wird zur Prüfung eingereicht…", "rejecting": "Wird abgelehnt…", "parking": "Wird geparkt…", "previewing": "Vorschau wird geladen…" }, "worktrees": { "refreshing": "Wird aktualisiert…", "cleaningUp": "Abgeschlossene Worktrees werden aufgeräumt…", "resetting": "Worktree wird zurückgesetzt…", "forceRemoving": "Worktree wird zwangsweise entfernt…", "batchMerging": "Merge {0}/{1}…" }, "claudeBin": { "saving": "claude_bin wird gespeichert…" }, "skills": { "installing": "Skill wird geklont…", "updating": "Skill wird aktualisiert…", "restoringDefaults": "Standard-Agenten werden wiederhergestellt…" }, "repoImport": { "scanning": "Repositories werden gescannt…" }, "updateCheck": { "checking": "Wird nach Updates gesucht…" }, "reports": { "generatingWeekly": "Bericht wird erstellt…", "runningDailyPrep": "Tagesvorbereitung läuft…", "runningTicketImport": "Tickets werden importiert, danach Tagesplanung…" }, "planning": { "finalizing": "Plan wird finalisiert…", "queuingSubtasks": "Teilaufgaben werden eingereiht…" }, "worker": { "startupRecovery": "Wiederherstellung läuft…", "creatingWorktree": "Worktree wird erstellt…", "rebasingAfterMerge": "Andere Worktrees werden rebased…" } }, "usage": { "pill": { "empty": "Nutzung –", "bothFormat": "5h {0}% · 7d {1}%", "fiveHourFormat": "5h {0}%", "sevenDayFormat": "7d {0}%", "fiveHourLabel": "5h", "sevenDayLabel": "7d", "resetIn": "{0}: Reset in {1}", "durationHoursMinutes": "{0} h {1} m", "durationMinutes": "{0} m", "blockedReason": "Blockiert: {0}", "stale": "veraltet (Stand {0})", "lastError": "Letzter Fehler: {0}", "throttled": "Gedrosselt: {0}/{1} Slots ({2})" } } }