The merge commit message was hand-rolled per caller ("Merge task: <title>",
"Merge <branch>", "Merge subtask") and ignored the task's commit type. Every
caller now passes a blank message and TaskMergeService fills in
CommitMessageBuilder.BuildMerge -> {commitType}(list-slug): merge <title> plus the
ClaudeDo-Task trailer; the merge modal prefills it from GetMergeTargets.
A merge whose list has a verify command holds the MergeTask call for minutes (5m46s
on this repo), during which the modal only disabled its button - no spinner, no
message, so a landed merge looked like a dead app. TaskMergeService now broadcasts
MergeProgress(taskId, phase, elapsedSeconds) for the merging and verifying phases
(re-reported every 30s) plus a WorkerLog line when verify starts; the modal shows a
spinner and the localized phase.
747 lines
37 KiB
JSON
747 lines
37 KiB
JSON
{
|
||
"metadata": { "code": "de", "name": "Deutsch" },
|
||
"settings": {
|
||
"title": "EINSTELLUNGEN",
|
||
"save": "Speichern",
|
||
"cancel": "Abbrechen",
|
||
"language": "Sprache",
|
||
"tabGeneral": "Allgemein",
|
||
"tabWorktrees": "Worktrees",
|
||
"tabFiles": "Dateien",
|
||
"tabPrime": "Prime Claude",
|
||
"tabSkills": "Skills",
|
||
"general": {
|
||
"defaultInstructions": "Standard-Anweisungen",
|
||
"defaultInstructionsPlaceholder": "Basis-Anweisungen, die auf jede Aufgabe angewendet werden",
|
||
"model": "Modell",
|
||
"maxTurns": "Max. Durchläufe",
|
||
"effort": "Effort",
|
||
"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 Queue keine neuen Tasks mehr; laufende Tasks laufen zu Ende. 0 schaltet den Stopp ab.",
|
||
"usageGateFiveHourPct": "5-Stunden-Fenster (%)",
|
||
"usageGateSevenDayPct": "7-Tage-Fenster (%)",
|
||
"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.",
|
||
"removeAll": "Alle entfernen"
|
||
},
|
||
"files": {
|
||
"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",
|
||
"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": "Bereite dein Claude-Nutzungsfenster vor, indem an den von dir gewählten Tagen zu einer bestimmten Zeit ein einzelner nicht-interaktiver Ping ausgelöst wird. Läuft nur, solange ClaudeDo geöffnet ist. Wenn die App innerhalb von 30 Minuten vor der Zielzeit startet, wird der Ping sofort ausgelöst.",
|
||
"addSchedule": "+ Zeitplan hinzufügen",
|
||
"removeScheduleTip": "Zeitplan entfernen",
|
||
"dailyPrepMaxTasks": "Max. Aufgaben pro Tag",
|
||
"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"
|
||
},
|
||
"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",
|
||
"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",
|
||
"quickClaudeTip": "Schnelle Claude-Sitzung",
|
||
"listSettingsTip": "Listeneinstellungen",
|
||
"addPlaceholder": "Aufgabe hinzufügen…",
|
||
"enterKey": "ENTER",
|
||
"notesPinnedRow": "Notizen (Tagesnotizen)",
|
||
"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",
|
||
"ctxOpenConPtySession": "Interaktive Sitzung ö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",
|
||
"approve": "Genehmigen",
|
||
"approveTip": "Genehmigen — als Erledigt markieren",
|
||
"reject": "Ablehnen",
|
||
"rejectTip": "Mit Feedback ablehnen und erneut ausführen",
|
||
"park": "Parken",
|
||
"parkTip": "Zur manuellen Bearbeitung auf Leerlauf zurücksetzen",
|
||
"cancel": "Abbrechen",
|
||
"cancelTip": "Diese Aufgabe 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",
|
||
"scheduleTitle": "Aufgabe planen",
|
||
"scheduleWhen": "WANN",
|
||
"scheduleConfirm": "Planen",
|
||
"rejectRerunTitle": "Ablehnen & erneut ausführen",
|
||
"reviewTitle": "Review",
|
||
"feedbackLabel": "FEEDBACK FÜR DEN AGENTEN",
|
||
"feedbackPlaceholder": "Was soll der Agent korrigieren?",
|
||
"rerun": "Erneut ausführen",
|
||
"refineTip": "Aufgabe mit Claude verfeinern",
|
||
"refiningTip": "Claude verfeinert diese Aufgabe…"
|
||
},
|
||
"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",
|
||
"newList": "Neue Liste",
|
||
"addReposTip": "Repos als Listen hinzufügen"
|
||
},
|
||
"details": {
|
||
"deleteTaskTip": "Aufgabe löschen",
|
||
"killSessionTip": "Laufende Sitzung beenden",
|
||
"closeTip": "Schließen",
|
||
"copyTaskIdTip": "Aufgaben-ID kopieren",
|
||
"starTip": "Favorit",
|
||
"agentSettingsTip": "Agent-Einstellungen",
|
||
"agentSettingsHeading": "Agent-Einstellungen (Überschreibungen)",
|
||
"mergeLabel": "MERGE",
|
||
"mergeTargetLabel": "Merge-Ziel",
|
||
"reviewCombinedDiff": "Kombiniertes Diff prüfen",
|
||
"mergeAllSubtasks": "Alle Teilaufgaben mergen",
|
||
"childOutcomesLabel": "TEILAUFGABEN",
|
||
"stepsLabel": "SCHRITTE",
|
||
"addStepPlaceholder": "Schritt hinzufügen...",
|
||
"detailsLabel": "DETAILS",
|
||
"copyDescriptionTip": "Beschreibung in die Zwischenablage kopieren",
|
||
"copyFormattedTip": "Titel, Beschreibung und offene Schritte kopieren",
|
||
"toggleEditPreviewTip": "Bearbeiten/Vorschau umschalten",
|
||
"previewBtn": "Vorschau",
|
||
"editBtn": "Bearbeiten",
|
||
"descriptionPlaceholder": "Aufgabendetails hinzufügen (Markdown unterstützt)...",
|
||
"prepTitle": "Tagesvorbereitung",
|
||
"planDay": "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": {
|
||
"sectionLabel": "ANHÄNGE",
|
||
"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"
|
||
}
|
||
},
|
||
"agent": {
|
||
"openWorktreeTip": "Worktree im Datei-Explorer öffnen"
|
||
},
|
||
"notes": {
|
||
"today": "Heute",
|
||
"add": "Hinzufügen",
|
||
"newNotePlaceholder": "Neue Notiz…",
|
||
"save": "Speichern",
|
||
"delete": "Löschen"
|
||
},
|
||
"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",
|
||
"reviewFeedbackPlaceholder": "Feedback für nächsten Lauf"
|
||
},
|
||
"missionControl": {
|
||
"windowTitle": "Mission Control",
|
||
"newSession": "Neue Sitzung",
|
||
"empty": "Keine laufenden Aufgaben",
|
||
"settings": "Einstellungen",
|
||
"queue": "Warteschlange",
|
||
"blocked": "Blockiert",
|
||
"running": "Läuft",
|
||
"focusMode": "Fokus",
|
||
"overviewMode": "Übersicht",
|
||
"closeSession": "Sitzung schließen",
|
||
"conptyLaunchFailed": "Interaktive Sitzung konnte nicht geöffnet werden: {0}",
|
||
"conptyStarting": "Sitzung wird gestartet…",
|
||
"mergeHelperTitle": "Merge-Helfer",
|
||
"mergeHelperHandoffTitleSuffix": " (Übergabe)",
|
||
"mergeHelperTaskTitle": "Listen-Handler: {0}",
|
||
"mergeHelperTaskDescriptionHeader": "Von diesem Lauf bearbeitete Tasks:",
|
||
"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)",
|
||
"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"
|
||
},
|
||
"listSettings": {
|
||
"title": "LISTENEINSTELLUNGEN",
|
||
"deleteList": "Liste löschen",
|
||
"sectionGeneral": "ALLGEMEIN",
|
||
"name": "Name",
|
||
"workingDirectory": "Arbeitsverzeichnis",
|
||
"workingDirectoryPlaceholder": "(keines)",
|
||
"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.",
|
||
"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."
|
||
},
|
||
"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:"
|
||
},
|
||
"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",
|
||
"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}",
|
||
"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“."
|
||
},
|
||
"usageMonitor": {
|
||
"title": "USAGE MONITOR",
|
||
"windowTitle": "Usage Monitor",
|
||
"noGauges": "Noch keine Nutzungslimits gemeldet.",
|
||
"refresh": "Jetzt aktualisieren",
|
||
"refreshHint": "Abruf alle 5 Min., während ein Task läuft, sonst alle 15 Min.",
|
||
"staleFormat": "Werte veraltet (Stand {0})",
|
||
"staleGateHint": "Das Gate greift in diesem Zustand nicht.",
|
||
"gateBlockedFormat": "Queue pausiert — {0}",
|
||
"throttleFormat": "Queue gedrosselt: {0}/{1} Slots ({2})",
|
||
"resetIn": "Reset in {0}",
|
||
"dragHint": "Marker ziehen oder Wert unten eintragen.",
|
||
"legendSoft": "Soft · 2 Slots",
|
||
"legendHard": "Hard · 1 Slot",
|
||
"legendGate": "Gate · 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": "TASK",
|
||
"columnList": "LISTE",
|
||
"columnModelShort": "MODELL",
|
||
"columnRuns": "RUNS",
|
||
"columnTotal": "GESAMT"
|
||
}
|
||
},
|
||
"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 ~/.todo-app)",
|
||
"uninstall": "Deinstallieren",
|
||
"repair": "Reparieren",
|
||
"save": "Speichern",
|
||
"close": "Schließen"
|
||
}
|
||
},
|
||
"checks": {
|
||
"git": {
|
||
"title": "Git",
|
||
"hint": "Installiere Git und stelle sicher, dass es im PATH liegt."
|
||
},
|
||
"gitIdentity": {
|
||
"title": "Git-Identität",
|
||
"hint": "Lege deine Git-Identität fest: git config --global user.name \"...\" und user.email \"...\"."
|
||
},
|
||
"ports": {
|
||
"title": "Ports",
|
||
"hint": "Gib den Port frei oder ändere ihn nach der Installation auf der Worker-Seite."
|
||
},
|
||
"writeAccess": {
|
||
"title": "Schreibzugriff",
|
||
"hint": "Wähle ein anderes Installationsverzeichnis oder starte den Installer als Administrator."
|
||
},
|
||
"claudeCli": {
|
||
"title": "Claude CLI",
|
||
"hint": "Installiere die Claude CLI und stelle sicher, dass sie im PATH liegt."
|
||
},
|
||
"claudeVersion": {
|
||
"title": "Claude-CLI-Version",
|
||
"hint": "Aktualisiere die Claude CLI auf eine neuere Version."
|
||
},
|
||
"claudeAuth": {
|
||
"title": "Claude-Anmeldung",
|
||
"hint": "Führe 'claude auth login' aus, um dich anzumelden."
|
||
},
|
||
"permissionModeAuto": {
|
||
"title": "Berechtigungsmodus",
|
||
"hint": "Aktualisiere die Claude CLI auf eine Version, die --permission-mode auto unterstützt."
|
||
}
|
||
},
|
||
"planning": {
|
||
"conflict": {
|
||
"windowTitle": "Merge-Konflikt",
|
||
"modalTitle": "MERGE-KONFLIKT",
|
||
"openInVsCode": "Alle in VS Code öffnen",
|
||
"resolved": "Ich habe gelöst — fortfahren",
|
||
"abort": "Diesen Merge abbrechen"
|
||
},
|
||
"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": {
|
||
"datePicker": {
|
||
"today": "Heute",
|
||
"tomorrow": "Morgen",
|
||
"nextMon": "Nächster Mo",
|
||
"clear": "Löschen",
|
||
"time": "Zeit",
|
||
"done": "Fertig"
|
||
}
|
||
},
|
||
"shell": {
|
||
"menu": {
|
||
"help": "Hilfe",
|
||
"worker": "Worker",
|
||
"repositories": "Repositories",
|
||
"checkForUpdates": "Nach Updates suchen",
|
||
"restartWorker": "Worker neu starten",
|
||
"worktrees": "Worktrees…",
|
||
"weeklyReport": "Wochenbericht…",
|
||
"usageMonitor": "Usage Monitor…",
|
||
"about": "Über…",
|
||
"addRepos": "Repos als Listen hinzufügen…"
|
||
},
|
||
"update": {
|
||
"available": "Update verfügbar: v",
|
||
"updateNow": "Jetzt aktualisieren",
|
||
"dismiss": "Ausblenden"
|
||
},
|
||
"staleWorker": {
|
||
"message": "Der Worker läuft auf einem älteren Stand als der gemergte main-Branch dieses Repos — Neustart nötig, damit gemergte Änderungen wirken."
|
||
},
|
||
"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": { "restartingWorker": "Worker wird neu gestartet…", "unexpectedError": "Unerwarteter Fehler: {0}" },
|
||
"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" },
|
||
"failureReason": { "maxTurns": "Turn-Limit erreicht", "timeout": "Zeitüberschreitung", "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}", "planningOpenFailed": "Planungssitzung konnte nicht geöffnet werden: {0}", "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}" },
|
||
"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.", "conflict": "Merge-Konflikt — Ziel-Branch wiederhergestellt. Manuell oder über Fortsetzen lösen, dann erneut versuchen.", "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.", "unknownStatus": "Unbekannter Status: {0}", "mergeFailed": "Merge fehlgeschlagen: {0}" },
|
||
"conflictResolution": { "vsCodeError": "VS Code konnte nicht gestartet werden: {0}. Die Pfade sind oben aufgeführt — kopiere sie manuell.", "subtaskPrefix": "Konflikte in Teilaufgabe: {0}", "targetPrefix": "Zusammenführen in: {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}" },
|
||
"weeklyReport": { "invalidRange": "Ungültiger Datumsbereich.", "generating": "Bericht wird erstellt…", "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}"
|
||
},
|
||
"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.", "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}", "batchProgress": "Merge {0}/{1}…", "batchDone": "{0} gemergt, {1} zu lösen." },
|
||
"listSettings": { "untitled": "Unbenannt" },
|
||
"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." },
|
||
"lists": { "localSuffix": "{0} / lokal", "smartMyDay": "Mein Tag", "smartImportant": "Wichtig", "smartPlanned": "Geplant", "virtualQueue": "Warteschlange", "virtualRunning": "Läuft", "virtualReview": "Prüfung", "newList": "Neue Liste" },
|
||
"repoImport": { "loadFailed": "Gespeicherte Ordner konnten nicht geladen werden: {0}", "saveFailed": "Ordner konnten nicht gespeichert werden: {0}" }
|
||
},
|
||
"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})"
|
||
}
|
||
},
|
||
"checks": {
|
||
"git": {
|
||
"title": "Git",
|
||
"hint": "Installiere Git von https://git-scm.com/downloads und starte den Installer neu."
|
||
},
|
||
"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\""
|
||
},
|
||
"ports": {
|
||
"title": "Ports",
|
||
"hint": "Ändere die SignalR-/MCP-Ports auf der Dienste-Seite, oder beende den blockierenden Prozess."
|
||
},
|
||
"writeAccess": {
|
||
"title": "Schreibzugriff",
|
||
"hint": "Wähle ein anderes Installationsverzeichnis oder starte den Installer mit ausreichenden Rechten (z. B. als Administrator)."
|
||
},
|
||
"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."
|
||
},
|
||
"claudeVersion": {
|
||
"title": "Claude-CLI-Version",
|
||
"hint": "Aktualisiere die CLI: npm update -g @anthropic-ai/claude-code"
|
||
},
|
||
"claudeAuth": {
|
||
"title": "Claude-CLI-Login",
|
||
"hint": "Starte 'claude' einmal und schließe den Login-Vorgang ab."
|
||
},
|
||
"permissionModeAuto": {
|
||
"title": "Unterstützung für --permission-mode auto",
|
||
"hint": "Aktualisiere die CLI: npm update -g @anthropic-ai/claude-code. ClaudeDo funktioniert auch im Modus acceptEdits/default, dann mit mehr Rückfragen."
|
||
}
|
||
}
|
||
}
|