{ "metadata": { "code": "en", "name": "English" }, "settings": { "title": "SETTINGS", "save": "Save", "cancel": "Cancel", "language": "Language", "tabGeneral": "General", "tabWorktrees": "Worktrees", "tabFiles": "Files", "tabPrime": "Prime Claude", "tabSkills": "Skills", "general": { "defaultInstructions": "Default instructions", "defaultInstructionsPlaceholder": "Baseline instructions applied to every task", "model": "Model", "maxTurns": "Max turns", "effort": "Effort", "modelPresets": "Per-model defaults", "modelPresetsHint": "Reasoning effort and turn budget used when a session runs under that model. List- and task-level max-turn overrides still win.", "maxTurnsCeiling": "Max turns ceiling", "maxTurnsCeilingHint": "Hard cap every resolved max-turns value is clamped to — task, list, and per-model settings can't exceed this.", "maxTurnsCeilingInvalid": "Max turns ceiling must be at least 1.", "permission": "Permission", "maxParallelExecutions": "Max parallel executions", "maxParallelExecutionsHint": "How many queued tasks the worker runs at once.", "usageGateHeading": "Usage limit stop", "usageGateHint": "Once usage reaches this level, the queue stops picking up new tasks; running tasks finish normally. 0 turns the stop off.", "usageGateFiveHourPct": "5-hour window (%)", "usageGateSevenDayPct": "7-day window (%)", "reportExcludedPaths": "Report: excluded paths (one per line)", "standupWeekday": "Standup weekday", "weekdaySunday": "Sunday", "weekdayMonday": "Monday", "weekdayTuesday": "Tuesday", "weekdayWednesday": "Wednesday", "weekdayThursday": "Thursday", "weekdayFriday": "Friday", "weekdaySaturday": "Saturday", "sessionSkills": "Session skills", "sessionSkillsHint": "Applied to every task. Combines with list- and task-level selections.", "accentPreset": "Accent color", "accentPresetMoss": "Moss", "accentPresetPeat": "Peat", "accentPresetSea": "Sea" }, "worktrees": { "strategy": "Strategy", "centralWorktreeRoot": "Central worktree root", "autoCleanup": "Auto-cleanup finished worktrees after", "days": "days", "cleanupFinished": "Cleanup finished worktrees", "forceRemoveAll": "Force-remove all worktrees", "confirmRemoveAll": "Remove ALL worktrees? Uncommitted work will be lost.", "removeAll": "Remove All" }, "files": { "agentsSection": "AGENTS", "agentsHint": "Restore bundled default agents. Existing files are not overwritten.", "restoreDefaultAgents": "Restore default agents", "promptsSection": "PROMPTS", "systemPrompt": "System", "planningPrompt": "Planning (system)", "planningInitialPrompt": "Planning kickoff", "retryPrompt": "Retry", "dailyPrepPrompt": "Daily prep", "weeklyReportPrompt": "Weekly report", "viewPrompt": "View", "customizedSection": "CUSTOMIZED", "customizedHint": "These prompts differ from the bundled default and are kept as-is. Reset to pick up future default improvements.", "resetToDefault": "Reset to default" }, "prime": { "description": "Prime your Claude usage window by firing a single non-interactive ping on the days you choose, at a chosen time. Only runs while ClaudeDo is open. If the app starts within 30 minutes of the target time, the ping fires immediately.", "addSchedule": "+ Add schedule", "removeScheduleTip": "Remove schedule", "dailyPrepMaxTasks": "Max tasks per day", "dayMo": "Mo", "dayTu": "Tu", "dayWe": "We", "dayTh": "Th", "dayFr": "Fr", "daySa": "Sa", "daySu": "Su" }, "onlineInbox": { "tabHeader": "Online Inbox", "enabledLabel": "Enable online inbox sync", "restartHint": "Enabling or disabling takes effect after a Worker restart.", "apiBaseUrlLabel": "API base 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": "Poll interval (seconds)", "statusSection": "AUTH STATUS", "signedInStatus": "Signed in", "signedOutStatus": "Not signed in", "signInButton": "Sign in via browser", "signOutButton": "Sign out", "configSection": "CONFIGURATION", "saveButton": "Save config" }, "inherit": { "inheritedFromList": "inherited · List", "inheritedFromGlobal": "inherited · Global", "overrideBadge": "override", "resetToInherited": "Reset to inherited" }, "turnsCeilingHint": "Runs are capped at {0} turns — this value will be clamped.", "agentEditor": { "model": "Model", "maxTurns": "Max turns", "systemPrompt": "System prompt (appended)", "promptPrepended": "Prepended automatically:", "agentFile": "Agent file", "browse": "Browse...", "sessionSkills": "Session skills", "sessionSkillsHint": "Combines additively with global (and list) selections." }, "skills": { "installSection": "INSTALL", "installUrlPlaceholder": "Git repo URL (owner/repo or full URL)", "installButton": "Install", "installedSection": "INSTALLED", "updateButton": "Update", "removeButton": "Remove", "emptyState": "No skills installed — paste a GitHub URL above to add one." } }, "tasks": { "showCompletedTip": "Show completed", "letClaudeTip": "Let Claude handle it", "quickClaudeTip": "Quick Claude session", "listSettingsTip": "List settings", "addPlaceholder": "Add a task…", "enterKey": "ENTER", "notesPinnedRow": "Notes (daily notes)", "clearDayTip": "Clear day", "planMyDayTip": "Plan My Day", "overdue": "OVERDUE", "tasks": "TASKS", "clearCompletedTip": "Clear all completed", "ctxSendToQueue": "Send to queue", "ctxRemoveFromQueue": "Remove from queue", "ctxCancelExecution": "Cancel execution", "ctxMarkAs": "Mark as", "ctxMarkDone": "Done", "ctxMarkCancelled": "Cancelled", "ctxOpenConPtySession": "Open interactive session", "ctxOpenPlanningSession": "Open planning Session", "ctxResumePlanningSession": "Resume planning Session", "ctxFinalizePlanningSession": "Finalize plan", "ctxDiscardPlanningSession": "Discard planning session", "ctxScheduleFor": "Schedule for...", "ctxClearSchedule": "Clear schedule", "ctxRemoveFromMyDay": "Remove from My Day", "ctxAddToMyDay": "Add to My Day", "badgeDraft": "DRAFT", "badgePlanned": "PLANNED", "badgeManual": "MANUAL", "manualTip": "Manual reminder — Claude never picks this up", "ctxMarkManual": "Mark as manual", "ctxMarkClaudeTask": "Mark as Claude task", "approve": "Approve", "approveTip": "Approve — mark Done", "reject": "Reject", "rejectTip": "Reject with feedback and re-run", "park": "Park", "parkTip": "Send back to Idle for manual editing", "cancel": "Cancel", "cancelTip": "Cancel this task", "removeFromQueueTip": "Remove from queue", "toggleSubtasksTip": "Expand / collapse subtasks", "agentSuggestedTip": "Suggested by the agent", "interactiveChipTip": "Interactive session open — click to jump to it in Mission Control", "scheduleTitle": "Schedule task", "scheduleWhen": "WHEN", "scheduleConfirm": "Schedule", "rejectRerunTitle": "Reject & re-run", "reviewTitle": "Review", "feedbackLabel": "FEEDBACK FOR THE AGENT", "feedbackPlaceholder": "What should the agent fix?", "rerun": "Re-run", "refineTip": "Refine this task with Claude", "refiningTip": "Claude is refining this task…" }, "lists": { "heading": "Lists", "searchPlaceholder": "Search tasks…", "searchKbd": "Ctrl K", "settingsTip": "Settings", "smartListsLabel": "SMART LISTS", "myListsLabel": "MY LISTS", "contextWorktrees": "Worktrees…", "contextOpenExplorer": "Open in Explorer", "contextOpenTerminal": "Open in Terminal", "newList": "New list", "addReposTip": "Add repos as lists" }, "details": { "deleteTaskTip": "Delete task", "killSessionTip": "Kill the running session", "closeTip": "Close", "copyTaskIdTip": "Copy task ID", "starTip": "Star", "agentSettingsTip": "Agent settings", "agentSettingsHeading": "Agent settings (overrides)", "mergeLabel": "MERGE", "mergeTargetLabel": "Merge target", "reviewCombinedDiff": "Review combined diff", "mergeAllSubtasks": "Merge all subtasks", "childOutcomesLabel": "SUBTASKS", "stepsLabel": "STEPS", "addStepPlaceholder": "Add a step...", "detailsLabel": "DETAILS", "copyDescriptionTip": "Copy description to clipboard", "copyFormattedTip": "Copy title, description and open steps", "toggleEditPreviewTip": "Toggle edit/preview", "previewBtn": "Preview", "editBtn": "Edit", "descriptionPlaceholder": "Add task details (markdown supported)...", "prepTitle": "Daily prep", "planDay": "Plan day", "prepEmpty": "No prep run today yet — click Plan day", "roadblockReply": { "placeholder": "Reply to the roadblock…", "send": "Send", "noSession": "No session to resume — this run has no session ID to reply into.", "failed": "Couldn't send the reply: {0}" }, "attachments": { "sectionLabel": "ATTACHMENTS", "dropToAttach": "Drop to attach", "addFile": "Add file…", "removeTip": "Remove attachment", "addedSummary": "✓ Added {0} ({1} file(s))", "overLimitError": "Could not add {0}: {1}", "invalidNameError": "Could not add {0}: {1}", "dropReadError": "Couldn't read the dropped files: {0}", "selectIdleTask": "Select an idle task first" }, "sections": { "description": "Description", "steps": "Steps", "files": "Files" } }, "agent": { "openWorktreeTip": "Open worktree in file explorer" }, "notes": { "today": "Today", "add": "Add", "newNotePlaceholder": "New note…", "save": "Save", "delete": "Delete" }, "session": { "chipLive": "LIVE", "chipDone": "DONE", "chipFailed": "FAILED", "reviewContinueTip": "Send this feedback and re-run the task", "reviewResetTip": "Discard all changes and reset the task to Idle" }, "missionControl": { "windowTitle": "Mission Control", "newSession": "New session", "empty": "No running tasks", "settings": "Settings", "queue": "Queue", "blocked": "Blocked", "running": "Running", "focusMode": "Focus", "overviewMode": "Overview", "closeSession": "Close session", "conptyLaunchFailed": "Couldn't open interactive session: {0}", "conptyStarting": "Starting session…", "mergeHelperTitle": "Merge Helper", "mergeHelperHandoffTitleSuffix": " (Handoff)", "mergeHelperTaskTitle": "List handler: {0}", "mergeHelperTaskDescriptionHeader": "Tasks handled by this run:", "submitForReviewFailed": "Couldn't submit for review: {0}", "submitForReview": "Submit for review", "submitForReviewTip": "Commit this worktree and move the task to review so it can be merged", "retry": "Retry", "retryTip": "Try launching this session again", "planningTitleSuffix": " (Planning)", "question": { "title": "Claude is asking", "placeholder": "Type your answer…", "send": "Send" } }, "modals": { "logVisualizer": { "title": "WORKER LOGS — LAST 30 MIN", "warnErrorOnly": "Warnings & errors only", "refresh": "Refresh", "empty": "No logs in the last 30 minutes.", "count": "{0} entries", "footerHint": "logs", "openTooltip": "View recent worker logs", "copyLast": "Copy last 40", "copyLastTooltip": "Copy the last 40 visible lines to the clipboard", "copied": "{0} lines copied", "copyFailed": "Copy failed" }, "about": { "title": "ABOUT", "version": "Version", "data": "Data", "logs": "Logs", "config": "Config", "open": "Open" }, "workerConnection": { "title": "WORKER NOT REACHABLE", "body": "ClaudeDo can't reach the background worker. It is normally started automatically at logon. You can start it now, or reinstall if the problem persists.", "dismiss": "Dismiss", "rerunInstaller": "Rerun Installer", "startWorker": "Start Worker" }, "listSettings": { "title": "LIST SETTINGS", "deleteList": "Delete list", "sectionGeneral": "GENERAL", "name": "Name", "workingDirectory": "Working directory", "workingDirectoryPlaceholder": "(none)", "browse": "Browse...", "defaultCommitType": "Default commit type", "manualList": "Manual list (reminders)", "manualListHint": "New tasks in this list start out manual: no queueing, running or refining, and automation skips them. You can still open a hand-driven session.", "sectionAgent": "AGENT", "resetAgentSettings": "Reset agent settings", "sectionVerify": "VERIFICATION", "verifyCommand": "Verify command", "verifyCommandPlaceholder": "(none — merge behaves as today)", "verifyCommandHint": "Runs in the working directory after a merge lands, before the task is marked Done. A non-zero exit (or timeout) leaves the merge in place but keeps the task out of Done and reports the failure." }, "merge": { "title": "MERGE WORKTREE", "windowTitle": "Merge worktree", "cancel": "Cancel", "merge": "Merge", "targetBranch": "Target branch", "removeWorktree": "Remove worktree after merge", "commitMessage": "Commit message", "conflictedFiles": "Conflicted files:" }, "diff": { "title": "DIFF", "windowTitle": "Diff", "merge": "Merge…", "filesHeader": "Files", "binary": "Binary file — no text diff", "empty": "No content" }, "worktreesOverview": { "refresh": "Refresh", "cleanupFinished": "Cleanup finished", "columnTask": "TASK", "columnState": "STATE", "columnDiff": "DIFF", "columnAge": "AGE", "columnOutcome": "RESULT", "selectAll": "Select all", "targetLabel": "Target", "mergeAll": "Merge all", "needsResolution": "NEEDS RESOLUTION", "resolve": "Resolve", "phantom": "phantom", "phantomTooltip": "Directory missing on disk", "ctxShowDiff": "Show diff", "ctxOpenInExplorer": "Open in Explorer", "ctxJumpToTask": "Jump to task", "ctxMerge": "Merge…", "ctxDiscard": "Discard", "ctxKeep": "Keep", "ctxCopyBranch": "Copy branch", "ctxCopyPath": "Copy path", "ctxForceRemove": "Force remove" }, "repoImport": { "title": "ADD REPOS AS LISTS", "windowTitle": "Add repos as lists", "cancel": "Cancel", "searchPlaceholder": "Search repos…", "addFolder": "Add folder…", "forgetFolders": "Forget folders", "alreadyAdded": "(already added)" }, "mergeHelper": { "title": "LET CLAUDE HANDLE IT", "windowTitle": "Let Claude handle it", "scopeList": "List: {0}", "confirm": "Let Claude handle it", "cancel": "Cancel", "selectAll": "Select all", "selectNone": "Select none", "empty": "No tasks to hand over — everything is done or cancelled.", "columnTask": "TASK", "columnStatus": "STATUS" }, "unfinishedPlanning": { "title": "UNFINISHED PLANNING SESSION", "windowTitle": "Unfinished planning session", "discard": "Discard", "finalize": "Finalize", "resume": "Resume", "draftTasksSuffix": " draft task(s) waiting to be finalized." }, "weeklyReport": { "title": "WEEKLY REPORT", "windowTitle": "Weekly Report", "from": "From", "to": "To", "generate": "Generate", "regenerate": "Regenerate", "emptyStateHint": "No report for this range yet. Click “Generate”." }, "usageMonitor": { "title": "USAGE MONITOR", "windowTitle": "Usage Monitor", "noGauges": "No usage limits reported yet.", "refresh": "Refresh now", "refreshHint": "Polled every 5 min while a task runs, otherwise every 15 min.", "staleFormat": "Values stale (as of {0})", "staleGateHint": "The gate does not apply while values are stale.", "gateBlockedFormat": "Queue paused — {0}", "throttleFormat": "Queue throttled: {0}/{1} slots ({2})", "resetIn": "Reset in {0}", "gaugeSession": "Session (5h)", "gaugeWeeklyAll": "Week (all models)", "gaugeWeeklyScopedFormat": "Week ({0})", "period": "Period:", "last7Days": "7 days", "last30Days": "30 days", "fromDate": "From", "toDate": "To", "modelUsage": "Models", "taskUsage": "Tasks", "emptyStateHint": "No usage data for this range yet.", "columnModel": "MODEL", "columnIn": "IN", "columnOut": "OUT", "columnCache": "CACHE", "columnOtherIn": "OTHER IN", "columnOtherOut": "OTHER OUT", "columnOtherCache": "OTHER CACHE", "columnShare": "SHARE", "columnTask": "TASK", "columnList": "LIST", "columnModelShort": "MODEL", "columnRuns": "RUNS", "columnTotal": "TOTAL" } }, "installer": { "nav": { "back": "Back", "next": "Next →", "install": "Install", "browse": "Browse...", "cancel": "Cancel" }, "welcome": { "title": "Welcome", "heading": "Install ClaudeDo", "subheading": "Choose where to install ClaudeDo, then click Next.", "updateSubheading": "Your tasks, config, and database will be preserved. Click Next to continue.", "installDirectory": "Install Directory", "registerMcp": "Register MCP server with Claude", "registerMcpHint": "Runs 'claude mcp add' so Claude can view and manage your ClaudeDo tasks. You can change this later." }, "systemCheck": { "title": "System Check", "subtitle": "ClaudeDo checks your system before installing.", "recheck": "Recheck", "summary": { "running": "Checking your system…", "ok": "Everything looks good.", "warnings": "{0} warning(s) found.", "blocking": "{0} problem(s) must be fixed: {1}" }, "claudeHelp": { "button": "Claude Help Me", "error": "Could not start the Claude session: {0}", "tooltip": { "cliMissing": "The Claude CLI was not found — install it first (see the Claude CLI hint above).", "notLoggedIn": "Claude is not logged in — run 'claude' once and complete the login flow.", "ready": "Open an interactive Claude session to help fix your setup." } } }, "paths": { "title": "Data Paths", "subtitle": "Configure where ClaudeDo stores its data.", "databasePath": "Database Path", "logDirectory": "Log Directory", "sandboxRoot": "Sandbox Root", "worktreeStrategy": "Worktree Strategy", "centralWorktreeRoot": "Central Worktree Root" }, "service": { "title": "Worker", "subtitle": "Configure the ClaudeDo background worker.", "signalRPort": "SignalR Port", "queueBackstopInterval": "Queue Backstop Interval (ms)", "claudeCliPath": "Claude CLI Path", "autostart": "Start worker automatically at logon", "autostartHint": "The worker runs as you (the logged-in user) via a per-user logon task, so it can use your Claude CLI authentication.", "restartDelay": "Restart Delay (ms)" }, "uiSettings": { "title": "UI Settings", "subtitle": "Configure the ClaudeDo desktop UI connection settings.", "syncWithService": "Sync with service settings", "signalRUrl": "SignalR URL", "syncHint": "When synced, these values are derived from the Service and Paths pages." }, "install": { "title": "Installation", "subtitle": "Click Install to build and deploy ClaudeDo.", "launch": "Launch ClaudeDo" }, "diagnose": { "title": "Diagnose", "subtitle": "Re-run the environment checks against your installed configuration." }, "settings": { "removeUserData": "Remove user data (tasks, logs, configs in ~/.todo-app)", "uninstall": "Uninstall", "repair": "Repair", "save": "Save", "close": "Close" } }, "checks": { "git": { "title": "Git", "hint": "Install Git and make sure it is on PATH." }, "gitIdentity": { "title": "Git Identity", "hint": "Set your git identity: git config --global user.name \"...\" and user.email \"...\"." }, "ports": { "title": "Ports", "hint": "Free the port, or change it on the Worker page after install." }, "writeAccess": { "title": "Write Access", "hint": "Choose a different install directory, or run the installer as administrator." }, "claudeCli": { "title": "Claude CLI", "hint": "Install the Claude CLI and make sure it is on PATH." }, "claudeVersion": { "title": "Claude CLI Version", "hint": "Update the Claude CLI to a newer version." }, "claudeAuth": { "title": "Claude Login", "hint": "Run 'claude auth login' to sign in." }, "permissionModeAuto": { "title": "Permission Mode", "hint": "Update the Claude CLI to a version that supports --permission-mode auto." } }, "planning": { "conflict": { "windowTitle": "Merge conflict", "modalTitle": "MERGE CONFLICT", "openInVsCode": "Open all in VS Code", "resolved": "I've resolved — continue", "abort": "Abort this merge" }, "diff": { "previewCombined": "Preview combined", "loading": "Loading…" } }, "conflictResolver": { "windowTitle": "Resolve merge conflicts", "modalTitle": "RESOLVE CONFLICTS", "loading": "Loading conflicts…", "ours": "MAIN · merge target", "result": "RESULT", "theirs": "INCOMING · task branch", "binaryHint": "Binary files can't be merged here — abort and resolve them in your editor:", "prevConflict": "Previous conflict (Shift+F8)", "nextConflict": "Next conflict (F8)", "conflictMap": "Conflicts in this file — click a marker to jump", "acceptOurs": "Add main", "acceptTheirs": "Add incoming", "removeOurs": "Remove main", "removeTheirs": "Remove incoming", "continue": "Resolve & continue", "abort": "Abort merge" }, "controls": { "datePicker": { "today": "Today", "tomorrow": "Tomorrow", "nextMon": "Next Mon", "clear": "Clear", "time": "Time", "done": "Done" } }, "shell": { "menu": { "help": "Help", "worker": "Worker", "repositories": "Repositories", "checkForUpdates": "Check for updates", "restartWorker": "Restart worker", "worktrees": "Worktrees…", "weeklyReport": "Weekly Report…", "usageMonitor": "Usage Monitor…", "about": "About…", "addRepos": "Add repos as lists…" }, "update": { "available": "Update available: v", "updateNow": "Update now", "dismiss": "Dismiss" }, "staleWorker": { "message": "The worker is running an older build than this repo's merged main — restart it so your merged changes take effect." }, "externalMerge": { "banner": "A Claude session is resolving a merge conflict — don't edit files in the repository.", "open": "Open resolver" } }, "vm": { "connection": { "online": "Online", "connecting": "Connecting…", "offline": "Offline" }, "shell": { "restartingWorker": "Restarting worker…" }, "agentStatus": { "idle": "Idle", "queued": "Queued", "running": "Running", "review": "Review", "children": "Waiting for Subtasks", "done": "Done", "failed": "Failed", "cancelled": "Cancelled" }, "taskStatus": { "idle": "Idle", "queued": "Queued", "running": "Running", "waitingForReview": "Waiting for Review", "waitingForChildren": "Waiting for Subtasks", "done": "Done", "failed": "Failed", "cancelled": "Cancelled", "parked": "Parked", "interactive": "Interactive" }, "planningBadge": { "active": "PLANNING", "finalized": "PLANNED" }, "taskRow": { "createdPrefix": "Created {0}", "stepsText": "{0}/{1} steps" }, "tasksIsland": { "completedHeader": "COMPLETED", "completedHeaderCount": "COMPLETED · {0}", "planningOpenFailed": "Couldn't open planning session: {0}", "planningResumeFailed": "Couldn't resume planning session: {0}", "approveFailed": "Approve & merge failed: {0}", "cancelReviewFailed": "Cancel review failed: {0}", "sendToQueueFailed": "Send to queue failed: {0}", "queuePlanBlockedInteractive": "Can't queue the plan — {0} has an open interactive session and must be closed first.", "moveRunningRejected": "Can't move a running task to another list.", "moveWorktreeRejected": "Can't move — this task has an active worktree pointing at its current repo.", "moveRepoConfirm": "Different repos — {0} → {1}. Move the task anyway?", "moveConfirmUnavailable": "Can't move — the confirmation dialog isn't available.", "quickClaudeNoWorkingDir": "This list has no working directory configured.", "quickClaudeDirMissing": "Working directory no longer exists: {0}" }, "diff": { "loadFailed": "Failed to load diff: {0}", "noChanges": "No changes to show.", "unavailable": "Diff no longer available — commit range incomplete." }, "planningDiff": { "hubError": "Could not build combined preview (hub error).", "conflict": "Cannot build combined preview: subtask {0} conflicts with an earlier subtask ({1} files).", "buildFailed": "Could not build combined preview: {0}" }, "merge": { "commitMessage": "Merge task: {0}", "workerOfflineBranches": "Worker offline — cannot list branches.", "loadBranchesFailed": "Failed to load branches: {0}", "merged": "Merged.", "conflict": "Merge conflict — target branch restored. Resolve manually or via Continue, then retry.", "blocked": "Blocked: {0}", "verifyFailed": "Merge landed, but the list's verify command failed — the task was kept out of Done.", "unknownStatus": "Unknown status: {0}", "mergeFailed": "Merge failed: {0}" }, "conflictResolution": { "vsCodeError": "Could not launch VS Code: {0}. Paths are listed above — copy them manually.", "subtaskPrefix": "Conflicts in subtask: {0}", "targetPrefix": "Merging into: {0}" }, "settingsModal": { "workerOffline": "Worker offline — settings read-only.", "saveFailed": "Save failed: {0}" }, "onlineInbox": { "workerOffline": "Worker offline — cannot load config.", "saved": "Config saved.", "saveFailed": "Save failed: {0}", "signedIn": "Signed in successfully.", "signedInNoRole": "Signed in, but this account is missing the 'user' role in Zitadel — online sync will be rejected until the role is granted in the ClaudeDo project.", "signInFailed": "Sign-in failed: {0}", "signedOut": "Signed out.", "signOutFailed": "Sign-out failed: {0}" }, "weeklyReport": { "invalidRange": "Invalid date range.", "generating": "Generating report…", "error": "Error: {0}" }, "usageMonitor": { "loadFailed": "Couldn't load usage data: {0}", "refreshFailed": "Couldn't refresh usage: {0}" }, "filesTab": { "workerOffline": "Worker offline.", "noneBundled": "No default agents bundled.", "allPresent": "All default agents already present.", "restored": "Restored {0} default agent(s).", "restoreFailed": "Restore failed: {0}", "resetToDefault": "Reset to the bundled default." }, "sessionSkillsTab": { "installed": "Installed: {0}", "installFailed": "Install failed: {0}", "updated": "Updated.", "updateFailed": "Update failed: {0}", "removed": "Removed.", "removeFailed": "Remove failed: {0}" }, "worktreesTab": { "workerOffline": "Worker offline.", "removed": "Removed {0} worktree(s).", "blocked": "Cannot force-remove: {0} task(s) still running. Cancel them first.", "removedFrom": "Removed {0} worktree(s) from {1} task(s).", "cleanupFailed": "Cleanup failed: {0}", "resetFailed": "Reset failed: {0}" }, "worktreesOverview": { "titleAll": "Worktrees", "titleList": "Worktrees — {0}", "listFallback": "list", "cleanupFailed": "Cleanup failed.", "cleanupFailedDetailed": "Cleanup failed: {0}", "removed": "Removed {0} worktree(s).", "discardFailed": "Failed to discard worktree.", "keepFailed": "Failed to keep worktree.", "cannotForceRunning": "Cannot force-remove a running task.", "forceRemoveFailed": "Force remove failed.", "forceRemoveFailedDetailed": "Force remove failed: {0}", "batchProgress": "Merging {0}/{1}…", "batchDone": "Merged {0}, {1} need resolution." }, "listSettings": { "untitled": "Untitled" }, "detailsIsland": { "verifyFailed": "Merge landed, but the list's verify command failed — the task was kept out of Done." }, "lists": { "localSuffix": "{0} / local", "smartMyDay": "My Day", "smartImportant": "Important", "smartPlanned": "Planned", "virtualQueue": "Queue", "virtualRunning": "Running", "virtualReview": "Review", "newList": "New list" }, "repoImport": { "loadFailed": "Couldn't load remembered folders: {0}", "saveFailed": "Couldn't save folders: {0}" } }, "usage": { "pill": { "empty": "Usage –", "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": "Blocked: {0}", "stale": "stale (as of {0})", "lastError": "Last error: {0}", "throttled": "Throttled: {0}/{1} slots ({2})" } }, "checks": { "git": { "title": "Git", "hint": "Install Git from https://git-scm.com/downloads, then restart the installer." }, "gitIdentity": { "title": "Git identity", "hint": "Run: git config --global user.name \"Your Name\" and git config --global user.email \"you@example.com\"" }, "ports": { "title": "Ports", "hint": "Change the SignalR/MCP ports on the Service page, or stop the process using them." }, "writeAccess": { "title": "Write access", "hint": "Choose a different install directory, or run the installer with sufficient permissions (e.g. as administrator)." }, "claudeCli": { "title": "Claude CLI", "hint": "Install the Claude CLI (npm install -g @anthropic-ai/claude-code), then restart your terminal/login session so the updated PATH takes effect." }, "claudeVersion": { "title": "Claude CLI version", "hint": "Update the CLI: npm update -g @anthropic-ai/claude-code" }, "claudeAuth": { "title": "Claude CLI login", "hint": "Run 'claude' once and complete the login flow." }, "permissionModeAuto": { "title": "--permission-mode auto support", "hint": "Update the CLI: npm update -g @anthropic-ai/claude-code. ClaudeDo still works in acceptEdits/default mode, with more prompts." } } }