{ "action.clear": "clear state", "action.forget": "delete lane", "action.purge": "delete history", "action.remove": "delete lane + worktree", "action.reset": "reset worktree", "action.start": "start", "action.stop": "stop", "actionError": "Lane action failed: {{message}}", "actionErrorUnknown": "Unknown error", "actions.agentsInstall": "Install agents", "actions.agentsInstallResult": "Installed: {{files}}", "actions.busy": "…", "actions.mcpSync": "Sync MCP", "actions.mcpSyncResult": "Synced: {{servers}}", "actions.syncCheck": "Check dev sync", "actions.syncCheckClean": "DEV_DELTA: {{count}} file(s), overlap: {{overlap}}", "actions.syncCheckCollision": "Migration collision: {{file}} → rename to {{suggestion}}", "add": "Add lane", "addLane": "Create a lane from a working directory", "addLaneBaseLabel": "Branch to fork from", "addLaneBranchHint": "Must be a valid, not-yet-existing git branch name.", "addLaneBranchLabel": "New branch name", "addLaneBranchPlaceholder": "feat/my-feature", "addLaneNoBranches": "This repo has no commits yet — the worktree will start empty.", "addLaneNotARepo": "Not a git repository (or no read access) yet.", "addLanePipelineHint": "Which stages this lane's map shows. Pick the one the skill driving it declares against — nothing else in this UI changes it later.", "addLanePipelineLabel": "Pipeline template", "addLaneProvisionFailed": "Worktree provisioning failed or timed out — the lane exists but auto-setup was skipped. Check the lane's git facts, then run agents/mcp setup manually.", "addLaneRepoHint": "An existing git repo. The dashboard creates a new worktree for the lane, not a folder you pick.", "addLaneRepoHintAdopt": "An existing directory. The dashboard tracks it as-is — no worktree, no new branch.", "addLaneRepoLabel": "Source repository", "addLaneRepoLabelAdopt": "Directory", "addLaneSetupAgents": "Agents", "addLaneSetupMcp": "MCP servers", "addLaneSetupProfile": "Profile", "addLaneSetupTitle": "Setup", "addLaneTitleLabel": "Title", "mode.repo": "Repo", "mode.repoHint": "Adopt this directory as a lane, as-is — no worktree, no new branch.", "mode.worktree": "Worktree", "mode.worktreeHint": "Provision a new git worktree + branch from a source repo.", "browse.button": "Browse", "browse.empty": "This folder is empty.", "browse.select": "Select this folder", "browse.title": "Browse for a folder", "worktrees.heading_one": "{{count}} worktree", "worktrees.heading_other": "{{count}} worktrees", "addLaneTitlePlaceholder": "Optional", "autoStage": "auto: {{stage}}", "cardId": "Lane {{id}}", "confirmRemoveCancel": "Cancel", "confirmRemoveConfirm": "Remove", "confirmRemoveMessage": "This action cannot be undone.", "confirmRemoveTitle": "Remove lane?", "countDead": "dead", "countNeedsYou": "need you", "countRunning": "running", "countTotal": "lanes", "destructive.blocked.adopted": "This is an adopted directory and cannot be changed by a worktree action.", "destructive.blocked.missing": "The lane directory is missing, so this action cannot continue.", "destructive.blocked.unreadable": "The lane directory cannot be read as a Git worktree, so this action cannot continue.", "destructive.cancel": "Cancel", "destructive.count.bytesEstimate": "Estimated space freed", "destructive.count.dirty": "Modified files", "destructive.count.events": "Events", "destructive.count.head": "HEAD", "destructive.count.sessions": "Sessions", "destructive.count.tokenRows": "Token rows", "destructive.count.unpushed": "Unpushed commits", "destructive.count.untracked": "Untracked files", "destructive.force": "I understand these unpushed commits will be discarded.", "destructive.loading": "Loading current facts…", "destructive.notice.activeSessionSkipped": "One or more sessions in this lane are still active and will be kept, not purged.", "destructive.notice.adopted": "This lane points at a directory you own. Only the dashboard's record of it is dropped — the directory and its files are left untouched.", "destructive.notice.missing": "The lane directory is already gone. Removing it drops the dashboard's record and clears Git's stale worktree entry; nothing is deleted from disk.", "destructive.notice.unreadable": "The lane directory cannot be read as a Git worktree. Removal is attempted; if Git itself refuses, its worktree record is cleared directly instead. Either way, the directory itself is never touched.", "destructive.purge.confirm": "Purge history", "destructive.purge.message": "Approve the current counts before deleting stored session history.", "destructive.purge.title": "Purge lane history?", "destructive.remove.confirm": "Remove lane", "destructive.remove.message": "Approve the current counts before this action.", "destructive.remove.title": "Remove lane?", "destructive.reset.confirm": "Reset worktree", "destructive.reset.message": "Approve the current counts before resetting this worktree.", "destructive.reset.survives": "Gitignored files such as node_modules and .env are kept; untracked files are deleted.", "destructive.reset.title": "Reset managed worktree?", "destructive.warning.no-remote": "No Git remote is configured, so nothing here is backed up remotely. You can still proceed.", "emptyState": "No lanes yet. Create one from a working directory:", "git.uncommitted": "{{dirty}} modified · {{untracked}} untracked", "kind.adopted": "adopted", "kind.managed": "managed", "laneDetail.hide": "Hide details", "laneDetail.show": "Lane details", "laneHeader": "Lane {{id}} · {{title}} · {{pipeline}}", "locks.held_one": "{{count}} lock held", "locks.held_other": "{{count}} locks held", "moreActions": "More actions", "pipelinePicker.label": "Pipeline template", "pipelinePicker.stageMismatch": "Stage \"{{stage}}\" matches no node in \"{{pipeline}}\" — declare one of: {{nodes}}", "preflightError": "Could not load the current lane facts.", "preflightErrorWithMessage": "Could not load the current lane facts: {{message}}", "runtime.boot": "▶ up", "runtime.busy.down": "stopping…", "runtime.busy.up": "booting…", "runtime.down": "down", "runtime.healthy": "healthy", "runtime.partial": "partial", "runtime.slot": "slot {{slot}}", "runtime.steppedAsideTitle": "Stepped aside from {{expected}}, which was already in use", "runtime.stop": "■ down", "runtime.toggleTitle": "Boot or stop this lane's own application stack (separate from its Claude run)", "integrations.ci_wait": "CI wait", "integrations.dev_qc": "dev QC", "integrations.tracker": "tracker", "stageUndeclared": "not declared", "status.failed": "failed", "status.idle": "idle", "status.provisioning": "provisioning", "status.running": "running", "features.live": "Live", "features.archived": "archived", "features.viewingArchived": "Viewing archived feature \"{{slug}}\" — the lane keeps running; this is a read-only snapshot.", "proof.ticketReport": "Task report", "splitView.emptyPane": "No lane selected for this pane.", "splitView.paneLaneLabel": "Pane lane selector", "splitView.paneCount": "{{count}} pane", "splitView.pickLane": "Pick a lane", "statusDead": "DEAD", "title": "Lanes", "tooltipStart": "Spawn a conversation-mode run with no initial prompt; driven from CLI or via message" }