{ "agent-team": { "blocked": "Blocked by dependencies", "blockedBy": "Blocked by", "current": "Current chat", "empty": "No shared tasks yet. Create them through the conversation.", "failure": "Invalid persisted Team record: {message}", "loading": "Loading Team…", "memberStatus.failed": "Failed", "memberStatus.inactive": "Inactive", "memberStatus.provisioning": "Provisioning", "memberStatus.running": "Running", "model": "Model", "open": "Open member conversation", "owner": "Owner", "ready": "Ready", "roster": "Members", "status.completed": "Completed", "status.in_progress": "In progress", "status.pending": "Pending", "task.collapse": "Show less", "task.expand": "Show more", "tasks": "Shared tasks", "trigger": "Agent Team", "unavailable": "Team is unavailable", "unowned": "Unowned", "writeScopes": "Write scopes" }, "approval": { "allowOnce": "Allow once", "detail.aria": "Approval details", "escalation": "Tool {toolName} requests privileged execution", "reject": "Reject", "waiting": "Waiting for approval" }, "chat": { "chat.deepDiving": "Deep diving", "chat.deepDivingFor": "Deep diving for {duration} ···", "chat.loadError": "Failed to load history: {message} ({code})", "chat.loadOlder": "Load earlier", "chat.loadingHistory": "Loading history…", "chat.toBottom": "Back to bottom", "chat.turnNavigation.jump": "Jump to turn {turn}", "chat.turnNavigation.jumpLoad": "Load and jump to turn {turn}", "chat.turnNavigation.label": "Turn navigation", "chat.turnNavigation.turn": "Turn {turn}", "clock.md": "{m}/{d}", "clock.ymd": "{y}-{m}-{d}", "command.done": "Completed", "command.failed": "Command failed", "command.running": "Running…", "command.title": "Command", "duration.compactMinutes": "{minutes}m{seconds}s", "duration.compactSeconds": "{seconds}s", "duration.hourUnit": "h ", "duration.milliseconds": "{milliseconds}ms", "duration.minuteUnit": "m ", "duration.secondUnit": "s", "fileOpen.title": "Couldn’t open file", "fileOpen.unknown": "Couldn’t open this file", "image.close": "Close image preview", "image.dialog": "Image preview", "image.failed": "Image preview unavailable", "image.loading": "Loading image…", "image.open": "View full image", "json.truncated": "… truncated, {total} characters total", "message.accountStopped": "Task stopped", "message.branch": "Branch into a new conversation", "message.branchUnavailable": "Available only on the last message of a completed turn", "message.compaction": "Context compacted", "message.compaction.commandTitle": "compact", "message.compaction.completed": "Compacted {items} history items (~{tokens} tokens)", "message.compaction.expand": "View compaction summary", "message.compaction.running": "Compacting context…", "message.compaction.unavailable": "Compaction summary unavailable", "message.context.catalog.more": "… {count} more", "message.context.catalog.replaced": "Replacement catalog", "message.context.instructions.added": "added", "message.context.instructions.loaded": "loaded", "message.context.instructions.removed": "removed", "message.context.instructions.updated": "updated", "message.context.recall.counts": "{retained} kept · {omitted} omitted", "message.context.recall.truncated": "truncated", "message.context.relay.from": "From session {session}", "message.context.snapshot.supersedes": "Supersedes earlier snapshots", "message.contextInjection": "Context injection", "message.contextRecall": "Session recall", "message.extraBlock": "Extra content block", "message.failure.accountSignInRequired": "Sign in to DeepSeek and ensure the request destination supports account authentication.", "message.failure.accountSignedOut": "Stopped because you signed out of DeepSeek.", "message.failure.auth": "API key is invalid", "message.failure.quota": "Request quota exhausted.", "message.maxTokens": "Output token limit reached", "message.maxTokens.hint": "The reply was cut off; earlier output is preserved in the conversation. Send \"continue\" to let the model resume.", "message.referenceSeparator": ", ", "message.referenceSummary": "Referenced session · {labels}", "message.retry.active": "Retrying model request", "message.retry.cancelled": "Model request retry cancelled", "message.retry.delay": "Retry delay: ", "message.retry.failure": "Failure reason: ", "message.retry.scheduled": "Waiting to retry model request", "message.retry.started": "Retried model request", "message.retry.status": "{label} ({retry}/{maximum}) · {seconds}s", "message.stepProcess.code": "Running code", "message.stepProcess.comma": ", ", "message.stepProcess.commands": "Running commands", "message.stepProcess.done.code": "Ran code", "message.stepProcess.done.commands": "Ran commands", "message.stepProcess.done.edit": "Edited files", "message.stepProcess.done.plan": "Updated the plan", "message.stepProcess.done.questions": "Asked questions", "message.stepProcess.done.read": "Read files", "message.stepProcess.done.readImage": "Read images", "message.stepProcess.done.search": "Searched code", "message.stepProcess.done.subagents": "Coordinated subagents", "message.stepProcess.done.thinking": "Analysis completed", "message.stepProcess.done.tools": "Called tools", "message.stepProcess.done.webFetch": "Visited web pages", "message.stepProcess.done.webSearch": "Searched the web", "message.stepProcess.done.write": "Wrote files", "message.stepProcess.edit": "Editing files", "message.stepProcess.joinTwo": "{first} and {second}", "message.stepProcess.more": "{title}, etc.", "message.stepProcess.plan": "Updating the plan", "message.stepProcess.prepare.code": "Preparing to run code", "message.stepProcess.prepare.commands": "Preparing to run commands", "message.stepProcess.prepare.edit": "Preparing to edit files", "message.stepProcess.prepare.plan": "Preparing to update the plan", "message.stepProcess.prepare.questions": "Preparing questions", "message.stepProcess.prepare.read": "Preparing to read files", "message.stepProcess.prepare.readImage": "Preparing to read images", "message.stepProcess.prepare.search": "Preparing to search code", "message.stepProcess.prepare.subagents": "Preparing to coordinate subagents", "message.stepProcess.prepare.tools": "Preparing tool calls", "message.stepProcess.prepare.webFetch": "Preparing to visit web pages", "message.stepProcess.prepare.webSearch": "Preparing to search the web", "message.stepProcess.prepare.write": "Preparing to write files", "message.stepProcess.questions": "Waiting for your action", "message.stepProcess.read": "Reading files", "message.stepProcess.readImage": "Reading images", "message.stepProcess.search": "Searching code", "message.stepProcess.sharedPrefix": "", "message.stepProcess.subagents": "Coordinating subagents", "message.stepProcess.thinking": "Analyzing the request", "message.stepProcess.tools": "Calling tools", "message.stepProcess.webFetch": "Visiting web pages", "message.stepProcess.webSearch": "Searching the web", "message.stepProcess.write": "Writing files", "message.stopped": "Stopped", "message.systemPrompt": "System prompt", "message.systemPromptUpdate": "System prompt update", "message.think": "Think", "message.tokensPerSecond": "{tps} tok/s", "message.toolAdded": "Tool added: {name}", "message.toolRemoved": "Tool removed: {name}", "message.toolsAdded": "Added: {names}", "message.toolsAddedCount": "{count} added", "message.toolsChanged": "{added} added, {removed} removed", "message.toolsRemoved": "Removed: {names}", "message.toolsRemovedCount": "{count} removed", "message.toolsUpdated": "Tools updated", "message.trigger.agent": "Task message received", "message.trigger.explanation": "This notification triggered this response.", "message.trigger.github": "GitHub event received", "message.trigger.goal": "Continuing goal", "message.trigger.job": "Background task updated", "message.trigger.plugin": "Plugin status updated", "message.trigger.request": "Execution requested", "message.trigger.schedule": "Automation task", "message.trigger.subagent": "Subtask status updated", "message.trigger.team": "Team message received", "message.trigger.webhook": "External event received", "message.turnError": "This turn failed", "message.turnProcess.failed": "Failed", "message.turnProcess.messages.one": "{count} message", "message.turnProcess.messages.other": "{count} messages", "message.turnProcess.separator": " · ", "message.turnProcess.subagents.one": "{count} subagent", "message.turnProcess.subagents.other": "{count} subagents", "message.turnProcess.thoughtForAWhile": "Thought for a while", "message.turnProcess.took": "Completed in ", "message.turnProcess.toolCalls.one": "{count} tool call", "message.turnProcess.toolCalls.other": "{count} tool calls", "message.turnProcess.worked": "Completed", "message.turnUsage.cacheHit": "Cache hit", "message.turnUsage.cacheRead": "Cached input", "message.turnUsage.cacheWrite": "Cache write", "message.turnUsage.consumed": "Usage {total}", "message.turnUsage.count": "{count} tok", "message.turnUsage.input": "Uncached input", "message.turnUsage.model": "Provider / model", "message.turnUsage.output": "Output", "message.turnUsage.reasoning": " ({tokens} reasoning)", "message.turnUsage.title": "Turn usage", "message.unknownBlock": "Unknown content block", "message.unknownSurface": "Unknown surface event: {type}", "number.groupSeparator": ",", "row.failed": "Failed", "row.running": "Running", "settings.collapse.completion": "On completion", "settings.collapse.description": "Choose when to automatically collapse work details", "settings.collapse.nextInput": "On next message", "settings.collapse.title": "When to Collapse Work Details", "settings.links.description": "Choose where to open web links", "settings.links.newTab": "Default Browser", "settings.links.sidebar": "In-App Sidebar", "settings.links.title": "Open chat links in", "settings.performance.compact": "Compact", "settings.performance.description": "Choose how much performance and usage information to show", "settings.performance.detailed": "Detailed", "settings.performance.title": "Performance & usage", "settings.transcript.compact": "Compact", "settings.transcript.description": "Choose how much detail to show for tool calls", "settings.transcript.detailed": "Detailed", "settings.transcript.standard": "Standard", "settings.transcript.title": "Work details", "settings.transcript.verbose": "Verbose", "stats.cacheHit": "Cache hit {percent}%", "stats.counts": "{turns} turns {steps} steps", "stats.dialog.llmTime": "LLM time", "stats.dialog.speed": "Tokens per second (TPS)", "stats.dialog.title": "Session statistics", "stats.dialog.toolTime": "Tool time", "stats.dialog.ttft": "Avg time to first token (TTFT)", "stats.dialog.usageTitle": "Token usage", "view.chat": "Chat" }, "claude-code-mods": { "band": "Claude Code mods", "press.failed": "The button failed: {message}", "press.stale": "That button belonged to an earlier drawing; the band has refreshed", "pressing": "Working…" }, "command": { "description.compact": "Compact older conversation history", "description.export": "Download this Session log as a ZIP archive", "description.feedback": "Record feedback about this session", "description.goal": "Set or view the goal for a long-running task", "description.permission": "Switch the permission preset (sandbox mode + approval policy)", "description.plan": "Enter or leave plan mode", "label.compact": "Compact", "label.export": "Export", "label.feedback": "Feedback", "label.goal": "Goal", "label.permission": "Permission", "label.plan": "Plan", "listbox.aria": "/{command} matches", "notice.attachmentsUnsupported": "/{command} does not accept attachments; remove them first", "overlay.aria": "/{command} options", "search.aria": "Filter options", "search.placeholder": "Search…", "section.add": "Add", "section.commands": "Commands", "status.applying": "Applying…", "status.empty": "No options", "status.loading": "Loading options…", "token.compact": "compact", "token.export": "export", "token.feedback": "feedback", "token.goal": "goal", "token.permission": "permission", "token.plan": "plan" }, "common": { "back": "Back", "brand.localBuild": "DSH Local Build", "cancel": "Cancel", "close": "Close", "codeBlock.title": "Code block", "codeBlock.unwrap": "Do not wrap lines", "codeBlock.wrap": "Wrap lines", "collapse": "Collapse", "copied": "Copied", "copy": "Copy", "copy.compactJson": "Copy compact JSON", "copy.failed": "Copy failed", "copy.json": "Copy JSON", "copy.optionsHint": "{action}; right-click for copy options", "copy.path": "Copy property path", "copy.prettyJson": "Copy pretty JSON", "copy.value": "Copy value", "delete": "Delete", "edit": "Edit", "expand": "Expand", "json.label": "JSON", "language.title": "Language", "load.failed": "Failed to load", "loading": "Loading…", "markdown.footnotes": "Footnotes", "markdown.truncatedCharacters": "… truncated at {total} characters", "more": "More", "next": "Next", "none": "None", "number.million": "{value}M", "number.thousand": "{value}K", "ok": "OK", "previous": "Previous", "retry": "Retry", "save": "Save", "search": "Search", "skip": "Skip", "submit": "Submit", "submitting": "Submitting…", "truncated": "Truncated", "unknown": "Unknown", "workspace.defaultName": "Default workspace" }, "conversation": { "ask.answered": "{answered}/{total} answered", "ask.cancelled": "cancelled", "ask.cancelledDetail": "This question set was cancelled before answers were submitted.", "ask.closed": "closed", "ask.closedDetail": "This question is closed; its outcome is in the conversation below.", "ask.interrupted": "interrupted", "ask.interruptedDetail": "This question set was interrupted before answers were submitted.", "ask.pending": "continued; answer still available", "ask.pendingDetail": "These pending questions remain answerable from the composer.", "ask.reopen": "Answer", "ask.review": "View answers", "ask.rowTitle": "Ask question", "ask.skipped": "Not answered", "ask.waiting": "waiting", "attachment.directoryDesktopOnly": "Folders can only be added in the desktop app; add individual files in the browser", "attachment.dropBlocked": "Files and images cannot be added right now", "attachment.dropDesc": "Image limit: up to {count} images, {size} each", "attachment.dropTitle": "Drag files or images here to add them", "attachment.pathUnavailable": "Could not obtain the folder path; drag it in again", "attachment.pathUnsupported": "The path contains characters a reference cannot carry; rename it and try again", "attachment.pending": "Pending attachments", "attachment.scrollLeft": "Scroll attachments left", "attachment.scrollRight": "Scroll attachments right", "bash.failed": "Failed", "bash.running": "Running", "bash.stopped": "Stopped", "command.attachmentsUnsupported": "/{command} does not accept attachments; remove them first", "context.aria": "{percent} of context used", "context.messages": "Messages", "context.system": "System prompt", "context.tools": "Tool definitions", "context.used": "of context used", "detail.agent.reply": "Agent response", "detail.agents.count": "{count} agents", "detail.days": "{count} d", "detail.empty": "No results", "detail.event.neighbors": "Surrounding events", "detail.field.agent": "Agent ID", "detail.field.agents": "Agents started", "detail.field.availability": "Availability", "detail.field.bestMatch": "Best match", "detail.field.callId": "Call ID", "detail.field.content": "Content", "detail.field.context": "Context", "detail.field.currentPackage": "Current package", "detail.field.data": "Data", "detail.field.dependencies": "Dependencies", "detail.field.depth": "Depth", "detail.field.diagnostics": "Diagnostics", "detail.field.exitCode": "Exit code", "detail.field.id": "ID", "detail.field.inputSchema": "Input schema", "detail.field.job": "Job ID", "detail.field.latestRun": "Latest run", "detail.field.message": "Message", "detail.field.messageId": "Message ID", "detail.field.methods": "Methods", "detail.field.model": "Model", "detail.field.nextPackage": "Next package", "detail.field.outputSchema": "Output schema", "detail.field.owner": "Owner", "detail.field.packages": "Packages", "detail.field.parent": "Parent", "detail.field.pid": "Process ID", "detail.field.platform": "Platform", "detail.field.previousStatus": "Previous status", "detail.field.processGroup": "Process group", "detail.field.props": "Props", "detail.field.provider": "Provider", "detail.field.ready": "Ready", "detail.field.registrations": "Registrations", "detail.field.result": "Result", "detail.field.revision": "Revision", "detail.field.role": "Role", "detail.field.root": "Root", "detail.field.seq": "Event sequence", "detail.field.signal": "Signal", "detail.field.source": "Source", "detail.field.step": "Step", "detail.field.surface": "Record status", "detail.field.target": "Target event", "detail.field.task": "Task", "detail.field.time": "Time", "detail.field.turn": "Turn", "detail.field.type": "Type", "detail.field.warnings": "Warnings", "detail.field.writeScopes": "Write scopes", "detail.goal.active": "Active", "detail.goal.blocked": "Blocked", "detail.goal.complete": "Completed", "detail.goal.disarmed": "Awaiting continuation", "detail.goal.empty": "No goal", "detail.goal.paused": "Paused", "detail.goal.reason": "Blocker", "detail.goal.rounds": "Rounds", "detail.hours": "{count} h", "detail.jobs.count": "{count} background jobs", "detail.location": "Line {line}, column {column}", "detail.locations.count": "{count} locations", "detail.matches.capped": "Result limit reached; narrow the search for more", "detail.matches.count": "{count} matches", "detail.minutes": "{count} min", "detail.models.title": "Available models", "detail.moreInInspect": "{count} more items available in Inspect", "detail.no": "No", "detail.none": "None", "detail.output.lines": "Lines {begin}–{end} of {total}", "detail.output.truncated": "Output truncated", "detail.plugins.count": "{count} dynamic plugins", "detail.providers.count": "{count} inspect providers", "detail.ralph.limit": "Round limit reached", "detail.ralph.reportedBlocker": "Worker reported a blocker", "detail.ralph.reportedComplete": "Worker reported completion", "detail.receipt.alreadyFinished": "Already finished", "detail.receipt.cancel": "Cancellation requested", "detail.receipt.closed": "Closed", "detail.receipt.closing": "Closing", "detail.receipt.delivered": "Message delivered", "detail.receipt.interrupt": "Interrupt requested", "detail.receipt.signal": "Signal delivered", "detail.receipt.started": "Started", "detail.recordedResult": "Recorded result", "detail.report.nextSteps": "Remaining work", "detail.schedule.count": "{count} reminders", "detail.schedule.cron": "Cron {expression} ({zone})", "detail.schedule.daily": "Every day at {time} ({zone})", "detail.schedule.deleted": "Deleted", "detail.schedule.empty": "No reminders", "detail.schedule.every": "Every {interval}", "detail.schedule.frequency": "Repeat", "detail.schedule.once": "Once", "detail.schedule.overdue": "Overdue, awaiting session resume", "detail.schedule.scheduled": "Scheduled", "detail.schedule.weekly": "Weekly on {days} at {time} ({zone})", "detail.schedule.when": "Scheduled for", "detail.seconds": "{count} s", "detail.state": "Status", "detail.status.accepted": "Accepted", "detail.status.completed": "Completed", "detail.status.deleted": "Deleted", "detail.status.exited": "Exited", "detail.status.failed": "Failed", "detail.status.idle": "Idle", "detail.status.inactive": "Inactive", "detail.status.killed": "Cancelled", "detail.status.provisioning": "Provisioning", "detail.status.queued": "Queued", "detail.status.ready": "Ready", "detail.status.running": "Running", "detail.tasks.count": "{count} team tasks", "detail.tasks.nextPage": "More tasks available; next cursor is {cursor}", "detail.terminals.count": "{count} terminals", "detail.todo.completed": "Completed", "detail.todo.empty": "The to-do list is empty", "detail.todo.in_progress": "In progress", "detail.todo.pending": "Pending", "detail.trace.ancestors": "Ancestor sessions", "detail.trace.derived": "Derived events", "detail.trace.descendants": "Descendant sessions", "detail.trace.replacedBy": "Replaced by", "detail.trace.replacementChain": "Replacement chain", "detail.trace.replaces": "Replaced events", "detail.trace.sources": "Source events", "detail.wait.changed": "Change detected", "detail.wait.noProgress": "No active subagents", "detail.wait.timeout": "Wait timed out", "detail.wait.title": "Subagent activity", "detail.weekday.1": "Mon", "detail.weekday.2": "Tue", "detail.weekday.3": "Wed", "detail.weekday.4": "Thu", "detail.weekday.5": "Fri", "detail.weekday.6": "Sat", "detail.weekday.7": "Sun", "detail.weekday.join": ", ", "detail.workflow.script": "Workflow script", "detail.yes": "Yes", "details.running": "Running…", "diff.collapseAria": "Collapse diff", "diff.expandAria": "Expand {count} more diff lines", "diff.expandRest": "… {count} more lines", "error.sessionInUse": "This session is already in use, possibly by another running DSH instance (such as dsh web or the desktop app). Quit other running DSH instances and try again.", "file.label": "File", "file.notStaged": "The file has not finished uploading; re-add it and try again", "file.pending": "Pending files", "file.remove": "Remove file {name}", "file.retry": "Retry uploading {name}", "file.sessionUnavailable": "Session unavailable; files cannot be uploaded", "file.stillUploading": "Files are still uploading; send after they finish", "file.uploadFailed": "Upload failed; click to retry", "file.uploading": "Uploading…", "hero.chooseWorkspace": "Choose workspace", "hero.headline": "Into the Unknown", "hero.preview": "Preview", "hint.goal": "describe the objective for a long-running task", "hint.goal.active": "goal active — edit / pause / resume / clear", "hint.plan": "describe your task to generate plan", "image.closePreview": "Close original image preview", "image.dimensionTooLarge": "Image sides must be at most {size}px; downscale it and try again", "image.fileTooLarge": "Each image must be smaller than {size}", "image.label": "Image", "image.loadFailed": "Image failed to load; click to retry", "image.loading": "Loading image…", "image.modelUnsupported": "The current model does not support images; switch to a model that does", "image.openOriginal": "View original", "image.openOriginalLabel": "{label}, click to view original", "image.original": "Original image", "image.pending": "Pending images", "image.preview": "Original image preview", "image.remove": "Remove image {name}", "image.sendFailed": "Sending images failed ({reason}); re-add them and try again", "image.tooMany": "A message can include up to {count} images", "image.tooManyPixels": "Image resolution is too high; compress it and try again", "image.totalTooLarge": "Images exceed {size} in total; remove some and try again", "image.unsupportedType": "Only PNG, JPG, WebP, and GIF images are supported", "input.commands": "Add files or run commands", "input.file": "File", "input.send": "Send message", "input.send.queue": "Queue message", "input.send.steer": "Steer message", "input.stop": "Stop generating", "placeholder.default": "Message or run a task, / commands, @ files or sessions", "placeholder.hero": "Describe what you want to build, / commands, @ files or sessions", "placeholder.parentOffline": "Parent session offline; sending is unavailable but you can still stop the run", "placeholder.plan": "describe your task to generate plan", "placeholder.steerQueue": "Cmd/Ctrl+Enter steers all queued messages", "placeholder.unavailable": "Session unavailable", "placeholder.workspace": "Choose a workspace to start", "queue.cancelEdit": "Cancel editing", "queue.count": "{n} queued messages", "queue.edit": "Edit queued message", "queue.edit.unsupported": "Contains non-text content; editing is not supported yet", "queue.editFailed": "Edit failed: this message may have already started sending.", "queue.file": "Queued file {name}", "queue.image": "Queued message image", "queue.remove": "Remove queued message", "queue.removeFailed": "Removal failed: this message may have already started sending.", "queue.save": "Save queued message", "queue.sending": "Sending…", "queue.steer": "Steer queued message", "queue.steer.unavailable": "Steering is available only while the agent is running", "queue.steerFailed": "Steering failed. Try again.", "read.collapseAria": "Collapse content", "read.expandAria": "Expand {count} more lines", "read.expandRest": "… {count} more lines", "read.window": "Showing {shown} of {total} lines", "row.commandArguments": "Command arguments", "row.failed": "Failed", "row.input": "IN", "row.inspect": "Inspect", "row.output": "OUT", "row.preparing": "Preparing tool call", "row.running": "Running", "row.stopped": "Stopped", "search.collapseAria": "Collapse results", "search.expandAria": "Expand {count} more result lines", "search.expandRest": "… {count} more lines", "search.matches": "{shown} matches · {files} files", "search.matches.truncated": "Showing {shown} of {total} matches · {files} files", "search.noResults": "No results", "search.paths": "{shown} paths", "search.paths.truncated": "Showing {shown} of {total} paths", "session.hierarchy": "Session hierarchy", "settings.enter.description": "What Enter and the Send button do while the agent is running; Cmd/Ctrl+Enter uses the other behavior", "settings.enter.queue": "Queue", "settings.enter.steer": "Steer", "settings.enter.title": "Send behavior while busy", "shortcut.complementary": "Use the complementary Queue / Steer action", "shortcut.mention": "Open reference menu", "shortcut.newline": "New line", "shortcut.slash": "Open command menu", "terminal.collapseAria": "Collapse output", "terminal.commandLine": "Command line {n}", "terminal.done": "Done", "terminal.exitCode": "exit code {code}", "terminal.expandAria": "Expand the remaining {n} output lines", "terminal.expandRest": "… {n} more lines", "terminal.failed": "Failed", "terminal.noExitCode": "no exit code", "terminal.noOutput": "No output", "terminal.running": "Running", "terminal.sendInput": "(send input)", "terminal.session": "Terminal {sessionId}", "terminal.signal": "signal {signal}", "todo.completed": "{done}/{total} completed", "todo.diff.added": "{count} added", "todo.diff.addedItem": "Added", "todo.diff.compare": "Changes since the previous list", "todo.diff.initial": "Initial list", "todo.diff.movedItem": "Reordered", "todo.diff.noChanges": "No changes to the list", "todo.diff.removed": "{count} removed", "todo.diff.removedItem": "Removed", "todo.diff.unavailable": "Previous list unavailable", "todo.diff.unchanged": "{count} unchanged", "todo.diff.updated": "{count} updated", "todo.diff.updatedItem": "Status changed", "todo.progress.active": "{active} in progress", "todo.progress.done": "{done} completed", "todo.progress.pending": "{pending} pending", "todo.rowTitle": "Update to-do list", "todo.status.completed": "Completed", "todo.status.inProgress": "In progress", "todo.status.pending": "Pending", "todo.title": "To-dos", "tool.autoReviewNotExecuted": "Tool was not executed. Reason: {reason}", "tool.autoReviewReasonFallback": "Auto review did not authorize this action", "tool.autoReviewRejected": "Rejected by Auto review", "tool.preparing.content": "{kilobytes}KB", "tool.title.bash": "Bash", "tool.title.closeTerminal": "Close terminal", "tool.title.code": "Code", "tool.title.createGoal": "Create goal", "tool.title.createSchedule": "Create reminder", "tool.title.createTeamTask": "Create team task", "tool.title.deleteSchedule": "Delete reminder", "tool.title.edit": "Edit", "tool.title.findDefinition": "Find definition", "tool.title.findImplementation": "Find implementation", "tool.title.findReferences": "Find references", "tool.title.generic": "Tool call", "tool.title.getGoal": "View goal", "tool.title.getTeamTask": "Read team task", "tool.title.glob": "Glob", "tool.title.grep": "Grep", "tool.title.hoverSymbol": "Inspect symbol", "tool.title.inspect": "Query Cordis environment", "tool.title.inspectPlugins": "Inspect plugins", "tool.title.inspectProviders": "Inspect providers", "tool.title.interruptAgent": "Interrupt agent", "tool.title.killJob": "Cancel background job", "tool.title.listAgents": "List subagents", "tool.title.listJobs": "List background jobs", "tool.title.listModels": "List models", "tool.title.listSchedules": "List reminders", "tool.title.listTeamTasks": "List team tasks", "tool.title.listTerminals": "List terminals", "tool.title.lsp": "Query code symbols", "tool.title.openTerminal": "Open terminal", "tool.title.pwsh": "Pwsh", "tool.title.queryRuntime": "Query runtime", "tool.title.ralph": "Run ralph loop", "tool.title.read": "Read", "tool.title.readEvent": "Read event", "tool.title.readImage": "Read image", "tool.title.readJob": "Read job output", "tool.title.readTerminal": "Read terminal", "tool.title.removeCordis": "Remove Cordis Plugin", "tool.title.runCordis": "Run Cordis Plugin", "tool.title.search": "Search", "tool.title.searchEvents": "Search events", "tool.title.searchSessions": "Search sessions", "tool.title.sendMessage": "Send message", "tool.title.signalTerminal": "Signal terminal", "tool.title.spawnTeammate": "Create teammate", "tool.title.stopCordis": "Stop Cordis Plugin", "tool.title.subagent": "Create subagent", "tool.title.traceEvent": "Trace event", "tool.title.traceSession": "Trace session", "tool.title.updateGoal": "Update goal", "tool.title.updateSchedule": "Update reminder", "tool.title.updateTeamTask": "Update team task", "tool.title.waitAgent": "Wait for subagent", "tool.title.webFetch": "Fetch", "tool.title.webSearch": "Search", "tool.title.workflow": "Run workflow", "tool.title.write": "Write", "web.contentTruncated": "Content truncated", "web.http": "HTTP", "web.noResults": "No results found", "web.sourcesTruncated": "Source list truncated" }, "cordis": { "a11y.defining": "Defining the plugin", "a11y.failed": "Definition failed", "a11y.preparing": "Preparing a Cordis tool call", "a11y.stopped": "Definition interrupted", "action.approve": "Allow", "action.approveOnce": "Allow this version only", "action.approvePlugin": "Allow future versions of this plugin", "action.decline": "Decline", "action.inspect": "Inspect", "action.remove": "Remove", "action.retry": "Retry", "action.rollback": "Roll back", "action.run": "Run", "action.stop": "Stop", "body.clientCode": "Client", "body.copied": "Copied", "body.copy": "Copy", "body.hostCode": "Host", "body.output": "Result", "body.source": "Plugin source", "panel.approvals.aria": "Cordis approvals", "panel.current": "Current: {packageId}", "panel.empty": "No plugins defined yet", "panel.group.current": "This session", "panel.group.others": "Other sessions", "panel.hint": "Run controls live in the Cordis panel above Settings", "panel.loading": "Reading…", "panel.next": "Next: {packageId}", "panel.plugins.aria": "Cordis plugins", "panel.readFailed": "Reading the plugin inventory failed: {message}", "panel.runningCount": "{count} running", "panel.title": "Cordis plugins", "panel.trigger": "Cordis Plugin", "panel.version": "Version", "purpose.missing": "(no purpose given)", "render.failedAbdicated": "Rendering failed in {slot}; the default UI was restored:", "render.failedHeld": "Rendering failed in {slot}:", "row.defineTitle": "Register Cordis Plugin", "row.removeTitle": "Remove Cordis Plugin", "row.runTitle": "Run Cordis Plugin", "row.stopTitle": "Stop Cordis Plugin", "row.updateTitle": "Update Cordis Plugin", "run.removed": "This package no longer exists", "run.superseded": "A newer run card is available below", "status.awaitingApproval": "Awaiting approval", "status.clientPending": "Client ready to activate", "status.failed": "Run failed", "status.idle": "Ready", "status.removed": "Removed", "status.running": "Running", "status.superseded": "Newer run available" }, "cotTranslation": { "anonymousNotice": "Bing and Google need no translation login or API key. Their anonymous endpoints may reject or limit requests.", "bing": "Bing", "codeTitle": "Code block", "copied": "Copied", "copy": "Copy", "deepseekAccount": "DeepSeek Flash — Account (paid)", "deepseekOfficial": "DeepSeek Flash — Official API (paid)", "failed": "Translation failed. Showing the original.", "footnotes": "Footnotes", "google": "Google", "invalidLanguage": "Enter auto or a language code, such as zh, en, or ja.", "invalidProvider": "Choose a translation service.", "original": "View original", "overridden": "Overridden", "paidNotice": "Each uncached fragment sends a separate paid DeepSeek Flash request through the selected account or Official API credentials. Reopening reasoning reuses saved results; changing the provider, language, source text, or request settings may send a new paid request.", "privacy": "Expanded reasoning is sent to the selected service. It may contain private code or conversation details.", "provider": "Translation service", "providerUnavailable": "This provider is unavailable. Configure your DeepSeek account or Official API provider, or choose an available service.", "providerUnavailableOption": "{provider} — unavailable", "readOnly": "This deployment stores settings read-only.", "reset": "Reset to default", "retry": "Retry", "save": "Save", "saveFailed": "The deployment did not accept these values; they were left for you to correct.", "saving": "Saving…", "targetLanguage": "Target language", "targetLanguageHint": "auto follows the UI language; language codes such as zh, en, and ja also work.", "translating": "Translating reasoning", "translation": "View translation", "unavailable": "Translation preferences are unavailable.", "unwrap": "Unwrap lines", "wrap": "Wrap lines" }, "deliverables": { "changes.added": "+{count}", "changes.all": "All {count} files", "changes.binary": "binary", "changes.collapse": "Collapse", "changes.collapseAria": "Collapse changed files", "changes.deleted": "-{count}", "changes.expandAria": "Show all {count} changed files", "changes.openReview": "Review this turn’s changes in the sidebar", "changes.oversized": "too large", "changes.singleTitle": "Edited {name}", "changes.title": "Edited {count} files", "changes.viewDiff": "View changes to {name}", "diff.binary": "Binary file; changes cannot be shown", "diff.coarse": "Line comparison timed out; shown as a whole-file replacement", "diff.created": "Created in this turn", "diff.deleted": "Deleted in this turn", "diff.error": "Could not read the changes", "diff.loading": "Reading changes…", "diff.missing": "The contents of this turn’s changes are no longer available", "diff.oversized": "File too large; changes cannot be shown", "diff.truncated": "Showing the first {count} lines", "diff.unchanged": "Both sides hold the same lines", "presented.all": "All {count} files", "presented.collapse": "Collapse", "presented.collapseAria": "Collapse delivered files", "presented.directoryError": "Could not open containing folder. Try again.", "presented.directoryOpened": "Requested opening containing folder", "presented.directoryOpening": "Opening containing folder…", "presented.error": "Could not open. Click to retry.", "presented.expandAria": "Show all {count} delivered files", "presented.file": "File", "presented.hostError": "Could not read the Host desktop information", "presented.nativeUnavailable": "This file has no available Host path. Preview it in the sidebar.", "presented.opened": "Open requested", "presented.opening": "Opening…", "presented.preview": "Preview in sidebar", "presented.previewButton": "Open {name} in sidebar", "presented.previewCard": "Preview {name} in sidebar", "presented.retry": "Retry", "presented.revealError": "Could not show in file manager. Try again.", "presented.revealed": "Requested display in file manager", "presented.revealing": "Showing in file manager…", "presented.unavailable": "This Host has no desktop available to open files or folders in external apps. Files can still be previewed in the sidebar.", "review.nowrap": "Disable line wrap", "review.openFile": "Open the whole file in the sidebar", "review.openFileAria": "Open {name} in sidebar", "review.selectFile": "Choose the file to review", "review.split": "Switch to split view", "review.splitAria": "Split view", "review.title": "Review · turn {turn}", "review.unified": "Switch to unified view", "review.wrap": "Enable line wrap", "review.wrapAria": "Line wrap", "row.error": "Delivery failed", "row.inspect": "Inspect call", "row.ok": "Delivered", "row.preparing": "Preparing deliverables", "row.running": "Delivering", "row.stopped": "Interrupted", "row.title": "Present files" }, "documentHtml": { "autoRefresh": "Auto refresh", "autoRefresh.disable": "Disable auto refresh", "autoRefresh.enable": "Enable auto refresh", "busy": "Office preview is busy. Try again shortly.", "changed": "The file changed while being read. Reopen the preview.", "charts": "charts", "closeDetails": "Close font details", "code.copied": "Copied", "code.copy": "Copy", "conditionalFormatting": "conditional formatting", "copied": "Copied", "copy": "Copy", "encoding": "This text encoding could not be read. Save the file as UTF-8 or UTF-16 with a BOM and retry.", "error.notFound": "File not found. It may have been moved or deleted.", "error.notRegularFile": "Not a regular file, nothing to display.", "error.notText": "Preview is not available for this file type yet.", "error.tooLarge": "This page exceeds the {limit} limit and cannot be read.", "error.unavailable": "Read failed: {message}", "failed": "Cannot display PDF: {message}", "featureSeparator": ", ", "footnotes": "Footnotes", "formulaWarning": "This workbook contains formulas. Displayed results may be missing or inaccurate.", "frame": "HTML document preview", "images": "images", "invalid": "This Office file cannot be previewed. It may be damaged, password protected, or have the wrong extension.", "language": "en", "loadMore": "Load more", "loading": "Rendering document...", "missingFontsCount": "Fonts: {count}", "missingFontsDescription": "These fonts are unavailable for this preview. Text and layout may differ from the original document.", "missingFontsTitle": "Missing fonts", "openWith": "Open with", "pageImage": "PDF page {page}", "password": "This PDF requires a password; password-protected previews are not supported.", "preview": "Image preview: {name}", "reload": "Read the file again", "reloadNow": "Reload", "rendererUnavailable": "The {name} preview is unavailable.", "rendering": "Rendering page…", "resourceUnavailable": "The file resource service is unavailable.", "retry": "Retry", "shapes": "shapes", "timeout": "Office conversion timed out. Try again.", "title": "PDF", "tooLarge": "The Office file or converted PDF exceeds the preview size limit. Reduce the file size or adjust the preview configuration.", "unavailable": "Office previews are unavailable. Enable the document preview service on the computer running DeepSeek Harness.", "unsupported": "PDF preview requires the complete file contents.", "unsupportedFile": "Preview is not available for this file type yet.", "unsupportedNotice": "This preview does not support {features} in this workbook. Open it in a system application for the full experience.", "viewMissingFonts": "Missing fonts: {count}. Click to view.", "viewer.label": "Markdown", "viewer.text": "Plain text", "workerFailed": "The PDF rendering process could not continue. Please retry.", "wrap.aria": "Line wrap", "wrap.disable": "Turn off line wrap", "wrap.enable": "Turn on line wrap", "zoomControls": "Zoom controls", "zoomFitWidth": "Fit width", "zoomIn": "Zoom in", "zoomMenu": "Choose zoom", "zoomOut": "Zoom out", "zoomValue": "{percent}%" }, "documentMarkdown": { "autoRefresh": "Auto refresh", "autoRefresh.disable": "Disable auto refresh", "autoRefresh.enable": "Enable auto refresh", "busy": "Office preview is busy. Try again shortly.", "changed": "The file changed while being read. Reopen the preview.", "charts": "charts", "closeDetails": "Close font details", "code.copied": "Copied", "code.copy": "Copy", "conditionalFormatting": "conditional formatting", "copied": "Copied", "copy": "Copy", "encoding": "This text encoding could not be read. Save the file as UTF-8 or UTF-16 with a BOM and retry.", "error.notFound": "File not found. It may have been moved or deleted.", "error.notRegularFile": "Not a regular file, nothing to display.", "error.notText": "Preview is not available for this file type yet.", "error.tooLarge": "This page exceeds the {limit} limit and cannot be read.", "error.unavailable": "Read failed: {message}", "failed": "Cannot display PDF: {message}", "featureSeparator": ", ", "footnotes": "Footnotes", "formulaWarning": "This workbook contains formulas. Displayed results may be missing or inaccurate.", "frame": "HTML document preview", "images": "images", "invalid": "This Office file cannot be previewed. It may be damaged, password protected, or have the wrong extension.", "language": "en", "loadMore": "Load more", "loading": "Rendering document...", "missingFontsCount": "Fonts: {count}", "missingFontsDescription": "These fonts are unavailable for this preview. Text and layout may differ from the original document.", "missingFontsTitle": "Missing fonts", "openWith": "Open with", "pageImage": "PDF page {page}", "password": "This PDF requires a password; password-protected previews are not supported.", "preview": "Image preview: {name}", "reload": "Read the file again", "reloadNow": "Reload", "rendererUnavailable": "The {name} preview is unavailable.", "rendering": "Rendering page…", "resourceUnavailable": "The file resource service is unavailable.", "retry": "Retry", "shapes": "shapes", "timeout": "Office conversion timed out. Try again.", "title": "PDF", "tooLarge": "The Office file or converted PDF exceeds the preview size limit. Reduce the file size or adjust the preview configuration.", "unavailable": "Office previews are unavailable. Enable the document preview service on the computer running DeepSeek Harness.", "unsupported": "PDF preview requires the complete file contents.", "unsupportedFile": "Preview is not available for this file type yet.", "unsupportedNotice": "This preview does not support {features} in this workbook. Open it in a system application for the full experience.", "viewMissingFonts": "Missing fonts: {count}. Click to view.", "viewer.label": "Markdown", "viewer.text": "Plain text", "workerFailed": "The PDF rendering process could not continue. Please retry.", "wrap.aria": "Line wrap", "wrap.disable": "Turn off line wrap", "wrap.enable": "Turn on line wrap", "zoomControls": "Zoom controls", "zoomFitWidth": "Fit width", "zoomIn": "Zoom in", "zoomMenu": "Choose zoom", "zoomOut": "Zoom out", "zoomValue": "{percent}%" }, "feedback": { "action.dislike": "Bad response", "action.dislikeActive": "Remove rating", "action.like": "Good response", "action.likeActive": "Remove rating", "category.instruction-following": "Instruction understanding and following", "category.other": "Other", "category.product-interaction": "Product features and interaction", "category.resource-cost": "Resource usage and cost", "category.security-privacy-permission": "Security, privacy, and permissions", "category.service-stability": "Stability and speed", "category.task-result": "Task result", "dialog.categories": "Feedback category", "dialog.detail": "Feedback details", "dialog.hint": "Add details to help us improve. Your submission will include the current conversation log.", "dialog.title": "Submit feedback", "error.conflict": "This feedback changed elsewhere; the latest state is shown", "error.generic": "Could not save feedback", "error.load": "Could not load feedback", "error.noteTooLarge": "The description is too long; shorten it and submit again", "toast.recorded": "Thanks for your feedback" }, "goal": { "action.cancel": "Cancel edit", "action.clear": "Clear goal", "action.edit": "Edit goal", "action.pause": "Pause goal", "action.resume": "Resume goal", "action.save": "Save goal", "commandInput.aria": "Command input", "objective.aria": "Goal objective", "phase.active": "Ongoing Goal", "phase.active.disarmed": "Inactive Goal", "phase.blocked": "Blocked Goal", "phase.paused": "Paused Goal" }, "job": { "count.idle.one": "{count} background job", "count.idle.other": "{count} background jobs", "count.live.one": "{count} background job running", "count.live.other": "{count} background jobs running", "duration.hours": "{hours}h {minutes}m", "duration.minutes": "{minutes}m {seconds}s", "duration.seconds": "{seconds}s", "duration.title.done": "Took {duration}", "duration.title.live": "Running for {duration}", "kill.confirm": "Click again to confirm", "kill.confirmAction": "Confirm stop", "kill.failed": "Stop failed", "kill.stop": "Stop task {label}", "list.aria": "Background jobs", "output.error": "live output stream interrupted: {error}", "output.gap": "… earlier output dropped …", "row.collapseAria": "Hide live output of {label}", "row.expandAria": "Show live output of {label}", "section.clear": "Clear", "section.live": "Running", "section.settledCount": "Finished {count}", "status.completed": "completed", "status.failed": "failed", "status.killed": "cancelled", "status.running": "running", "status.stopping": "stopping", "terminal.collapse": "Collapse", "terminal.collapseAria": "Collapse output", "terminal.commandLine": "Command line {n}", "terminal.copied": "Copied", "terminal.copy": "Copy", "terminal.done": "done", "terminal.exitCode": "exit {code}", "terminal.expand": "Show {n} more lines", "terminal.expandAria": "Expand {n} collapsed output lines", "terminal.failed": "failed", "terminal.noExitCode": "no exit code", "terminal.noOutput": "(no output)", "terminal.running": "running", "terminal.signal": "signal {signal}" }, "model": { "action.reload": "Reload", "command.description": "Select the model for this conversation", "command.label": "Model", "effort.providerDefault": "Default", "empty.efforts": "This model provides no reasoning effort levels.", "empty.models": "No models available.", "error.action": "Model operation failed: {message}", "error.sessionInUse": "This session is already in use, possibly by another running DSH instance (such as dsh web or the desktop app). Quit other running DSH instances and try again.", "menu.aria": "Model and reasoning effort", "menu.effort": "Effort", "menu.model": "Model", "option.loadError": "Catalog failed to load: {message}", "provider.account": "DeepSeek Account", "search.clear": "Clear search", "search.empty": "No matching models.", "search.placeholder": "Search models…", "status.loading": "Refreshing model list…", "trigger.aria": "Select model, current {model}", "trigger.ariaEffort": "Select model, current {model}, reasoning effort {effort}", "trigger.fallback": "Select model", "trigger.loading": "Loading models…", "trigger.selectAria": "Select model", "warning.groupLoad": "{name} failed to load: {message}" }, "open-in-app": { "app.androidstudio": "Android Studio", "app.cursor": "Cursor", "app.explorer": "File Explorer", "app.filemanager": "Files", "app.finder": "Finder", "app.fork": "Fork", "app.ghostty": "Ghostty", "app.gitbash": "Git Bash", "app.github": "GitHub Desktop", "app.gitkraken": "GitKraken", "app.gnometerminal": "GNOME Terminal", "app.goland": "GoLand", "app.intellij": "IntelliJ IDEA", "app.iterm": "iTerm2", "app.kitty": "kitty", "app.konsole": "Konsole", "app.phpstorm": "PhpStorm", "app.pycharm": "PyCharm", "app.rider": "Rider", "app.rustrover": "RustRover", "app.smartgit": "SmartGit", "app.sourcetree": "Sourcetree", "app.sublimemerge": "Sublime Merge", "app.sublimetext": "Sublime Text", "app.terminal": "Terminal", "app.tower": "Tower", "app.vscode": "VS Code", "app.vscodeinsiders": "VS Code Insiders", "app.warp": "Warp", "app.webstorm": "WebStorm", "app.windowsterminal": "Windows Terminal", "app.windsurf": "Windsurf", "app.xcode": "Xcode", "app.zed": "Zed", "open.title": "Open in {app}", "open.tooltip": "Open locally", "path.appDefault": "{app} (default)", "path.appsError": "Could not load applications", "path.more": "More ways to open", "path.open": "Open", "path.openError": "Could not open. Try again.", "path.reveal": "Show file location", "path.revealError": "Could not show the file location. Try again.", "shortcut.busy": "Opening workspace", "shortcut.unavailable": "Current workspace or local application unavailable" }, "permission.access": { "confirm.acknowledge": "I understand the risks and want to continue", "confirm.cancel": "Cancel", "confirm.description": "Full access lets new sessions reduce confirmation steps and perform more actions directly, including sensitive operations, file changes, or external commands. Only use it when you trust subsequent tasks.", "confirm.enable": "Enable Full access", "confirm.title": "Enable Full access?", "description": "Choose the default permission mode for new sessions", "loading": "Loading", "preset.fullAccess": "Full access", "preset.readOnly": "Read Only", "preset.workspaceWrite": "Workspace Write", "title": "Permission", "unavailable": "Unavailable" }, "plan": { "chip.exitFailed": "Failed to exit plan mode", "chip.label": "Plan", "chip.on.aria": "Plan mode on, press to turn off", "chip.on.title": "Plan mode on — click to turn off (/plan off)", "preview.action": "Open", "preview.document": "Plan · Markdown", "preview.expired": "This temporary plan preview has expired. Reopen it from the pending review card.", "preview.failed": "Could not load plan", "preview.full": "View full plan", "preview.historyUnavailable": "Session history is unavailable", "preview.invalidAddress": "Invalid plan address", "preview.loading": "Loading plan…", "preview.notFound": "This plan was not found", "preview.open": "Open plan in sidebar", "preview.openNamed": "Open plan: {title}", "preview.title": "Plan", "preview.unavailable": "Plan preview is unavailable" }, "pluginManager": { "addPlugin": "Add plugin", "backToList": "Back to plugins", "backToPackage": "Back to {name}", "basicTitle": "Built-in plugin settings", "bundlesTitle": "Installed plugins", "cancel": "Cancel", "chooseAddMethod": "Choose how to add a plugin", "close": "Close", "configureRow": "Configure {name}", "confirmUninstall": "Uninstall", "confirmUninstallDescription": "What it provides goes away once it is uninstalled.", "confirmUninstallTitle": "Uninstall \"{name}\"?", "crumbRoot": "Plugins", "empty": "No plugins are installed yet.", "enableToggle": "Enable {name}", "error": "Could not read all plugins, possibly due to a network problem", "extensionsTitle": "Experimental plugins", "failedDisable": "Could not disable: {reason}", "failedEnable": "Could not enable: {reason}", "failedRowDisable": "Could not disable the component: {reason}", "failedRowEnable": "Could not enable the component: {reason}", "failedUninstall": "Could not uninstall: {reason}", "infoDescription": "Configure official plugins and install or manage other plugins here. View the built-in plugin list and runtime status in Settings → Built-in plugins.", "infoLabel": "About plugins", "installApplying": "Applying configuration, please wait…", "installApplyingCancellationError": "Cancellation was not confirmed. Installation is being applied; wait for its result. {reason}", "installApprovalCaution": "Allow only packages you trust.", "installApprovalConsequence": "Once allowed, the scripts run here with your permissions, and the permission is saved in this profile.", "installApprovalDescription": "These packages have install scripts that pnpm did not run.", "installApprovalTitle": "Install scripts need permission", "installApproveAndRetry": "Allow these scripts and retry", "installAttempt": "{previous} could not serve the package; retrying through {registry} (registry {index} of {total})", "installAttemptBadge": "Attempt {index} · {registry}", "installAwaitingAcceptance": "Waiting for the Host to accept installation. Cancellation will retry automatically after confirmation.", "installBackgroundApplying": "Installation is being applied and cannot be cancelled. View installation progress.", "installBackgroundDone": "Installation finished. View installation details.", "installBackgroundFailed": "Installation failed. View installation details.", "installBackgroundUnconfirmed": "Installation status is unconfirmed. View the installation for details.", "installBackgroundUnknown": "Installation result unavailable. Check the plugin list.", "installCancel": "Cancel install", "installCancelAndEdit": "Cancel installation and return to editing", "installCancelUnconfirmed": "Installation has not been confirmed stopped. Retry cancellation or wait for the installation result. {reason}", "installCancelled": "Installation cancelled; the plugin is not enabled, and downloaded files may remain", "installCancelledShort": "Cancelled", "installCancelling": "Stopping installation…", "installChangeRegistry": "Change registry", "installChecking": "Checking…", "installClose": "Done", "installCloseCancels": "Cancel install and close", "installDescription": "Enter the plugin's package name, GitHub repository address, or local directory path.", "installDetailsHide": "Hide install details", "installDetailsShow": "Show install details", "installDoneApproved": "Install scripts allowed for {names}", "installDoneNothing": "Install finished with no new dependency.", "installDoneOtherVersion": "Under pnpm's supply-chain security policy (minimumReleaseAge), versions published more recently than the required age are not installed automatically, so this installation used {installed} instead of the latest version {version}. A newly published version has not completed this waiting period and may contain undetected malicious code or defects. If you need {version}, uninstall the current version and then install {exact} to request that version.", "installDoneRestart": "Installed; it loads at the next start.", "installEdit": "Edit", "installEditAria": "Back to editing", "installEnableNow": "Enable now", "installExisting": "Install a third-party plugin", "installExistingDescription": "Supports npm packages, Git repositories, and local directories", "installFailedTitle": "The plugin could not be installed", "installFailureBuildBlocked": "A dependency's install scripts need your permission before the install can continue", "installFailureBuildBlockedManual": "pnpm blocked install scripts; allow them under allowBuilds in pnpm-workspace.yaml and retry", "installFailureDiskFull": "The disk is full; the install stopped", "installFailureGeneric": "Something went wrong during the install; the details say what", "installFailureIntegrity": "The downloaded package failed its integrity check", "installFailureNetwork": "The network connection failed", "installFailureNetworkAll": "No registry could be reached (tried: {registries}). Check the network or proxy settings, or change the registry and retry.", "installFailureNetworkHost": "{host} could not be reached. A GitHub address or a .tgz link is not fetched through the registry: this machine must reach it directly or through a proxy. If the plugin is also published to npm, enter its package name instead.", "installFailureNoMatchingVersion": "No version matches the request", "installFailureNotFound": "No such plugin was found", "installFailurePermission": "No write permission; the plugin cannot be installed", "installFailurePnpmMissing": "pnpm was not found, so nothing can be installed", "installFailureTimeout": "The install timed out", "installGitTemplateHint": "Replace this with the actual Git repository address.", "installGithubFailedDescription": "Try another installation source.", "installGithubFailedTitle": "Cannot access GitHub", "installGithubTimeoutTitle": "GitHub connection timed out", "installGuideExampleLabel": "Example: ", "installGuideFill": "Use example", "installGuideFillAria": "Use the example {example}", "installGuideHide": "Hide the guide", "installGuideIdExample": "dsh-plugin-whale-pet", "installGuideIdHint": "The plugin package name is the npm package name (like dsh-xxx or @author/plugin): the part after dsh plugin add or pnpm add in a community plugin's README install command.", "installGuideIdTitle": "Enter the plugin's npm package name", "installGuideSafety": "Install only plugins you trust: they run with your permissions and can damage DeepSeek Harness or leak your data.", "installGuideToggle": "Install guide and examples", "installLocation": "Installs into {dir}", "installPackageLabel": "Plugin package name", "installPathTemplateHint": "Replace this with the actual path to your local plugin directory.", "installProblemInstalled": "This plugin is already installed. To upgrade it, uninstall it and install it again", "installProblemInvalid": "This is not a package name or address that can be installed: {reason}", "installProblemNetwork": "The plugin registry could not be reached; check the network and try again", "installProblemNetworkAll": "No registry could be reached (tried: {registries}); check the network or proxy settings, or change the registry", "installProblemNotBundle": "This package declares no bundle, so it cannot be installed as a plugin: {reason}", "installProblemNotFound": "No such plugin was found", "installProblemNotPackage": "The path does not exist or is not a valid plugin package", "installProblemShipped": "This plugin ships with DSH; upgrading DSH updates it", "installProblemUnknown": "The plugin could not be looked up: {reason}", "installReconcile": "Check installation status", "installResultUnconfirmed": "The installation result was not received. Check installation status. {reason}", "installRetry": "Retry", "installRun": "Install", "installSpecLabel": "Package name or address", "installSpecPlaceholder": "for example dsh-plugin-whale-pet", "installStarting": "Preparing installation…", "installSubjectGit": "Git repository", "installSubjectPath": "Local directory", "installSubjectTarball": "Tarball", "installTitle": "Add plugin", "installTryAnotherWay": "Try another way", "installUnconfirmedTitle": "Installation status unconfirmed", "installUnknownDescription": "The Host has no active installation with this request id. Check the plugin list before trying again.", "installUnknownTitle": "Installation result unavailable", "installUpgradeNotice": "On-demand Official plugins offer Update when their version differs from DSH. To update other plugins, uninstall and reinstall them.", "installUseGithubMirror": "Use mainland China mirror", "installVersion": "Version {version}", "installViewTask": "View installation", "installedTitle": "Installed", "installingTitle": "Installing the plugin…", "intro": "Install, enable, and configure plugins", "loading": "Reading plugins…", "metadataError": "Package metadata error: {error}", "moreAction": "More", "moreTitle": "Experimental plugins", "openDetail": "View {name}", "overriddenNotice": "{name} was saved, but a higher-priority configuration overrides it, so it is not in effect", "panel": "Plugins", "partOff": "Off", "partToggle": "Enable component {name}", "partsCountFailed": "{count} failed", "partsCountOff": "{count} off", "partsCountRunning": "{count} running", "partsCountTotal": "{count} total", "partsEmpty": "This plugin pack contains no components.", "partsFilter": "Filter components", "partsFilterEmpty": "No component matches.", "partsLabel": "Components", "reasonAmbiguousInstall": "Which package was installed cannot be told from the dependency change.", "reasonBundleInUse": "Other configuration still uses this bundle's components; switch them off first.", "reasonIncompatibleInstall": "Install a plugin version compatible with this DSH.", "reasonIncompatibleInstalled": "Uninstall it and install a version compatible with this DSH.", "reasonIncompatibleVersion": "{plugin} is incompatible with DSH {runtime} (requires {peers}); running it may cause crashes or data loss.", "reasonIncompatibleVersionUnnamed": "This plugin is incompatible with the running DSH version; running it may cause crashes or data loss.", "reasonInvalidSpec": "Enter a valid package name or address.", "reasonLabel": "Reason", "reasonManagementRequired": "Plugin management needs it; it cannot be switched off or uninstalled.", "reasonNotBundle": "This package declares no bundle, so it cannot be managed as a plugin.", "reasonNotRemovable": "This package is not owned by the profile, or plugin management needs it.", "reasonOperationError": "The Host reported an error.", "reasonStaleApproval": "The pending script approvals changed; install again to refresh them.", "reasonStopProfile": "This profile runs without HMR; stop it and uninstall the package with dsh plugin.", "reasonUnaddressable": "The profile patch cannot address this one uniquely.", "reasonUnknownPlugin": "No such plugin.", "refresh": "Refresh", "refreshError": "Refresh failed. Please try again.", "registryCustom": "Custom address", "registryCustomHint": "Enter an internal or private npm registry address starting with http:// or https://. If it requires a login, store the credentials in ~/.npmrc on this machine.", "registryCustomInvalid": "Enter an address starting with http:// or https://", "registryCustomPlaceholder": "https://npm.example.com/", "registryDefault": "Default registry", "registryLegend": "The npm registry the plugin is downloaded from", "registryListSeparator": ", ", "registryNpmmirror": "Mainland China mirror", "registryOfficial": "Official npm registry", "registryToggle": "Registry", "restartNotice": "The change takes effect at the next start", "retry": "Retry", "rowPhaseActive": "Running", "rowPhaseFailed": "Problem", "rowPhaseLoading": "Loading", "rowPhasePending": "Waiting for dependencies", "rowPhaseUnloading": "Unloading", "rowStateIdle": "Not running", "sentenceSeparator": " ", "sourceBuiltIn": "Built in", "sourceNotInstalled": "Not installed", "sourceSpec": "Code source", "sourceTargetSpec": "Source for this DSH", "sourceTargetVersion": "Version for this DSH", "sourceTitle": "Source", "sourceVersion": "Current version", "statusBeta": "Experimental", "statusMissingFiles": "Package unavailable", "statusNotInstalled": "Not installed", "statusProblem": "Problem", "statusUpdateAvailable": "Update available", "terminalCollapse": "Collapse", "terminalCollapseAria": "Collapse output", "terminalCommandLine": "Command line {n}", "terminalCopied": "Copied", "terminalCopy": "Copy", "terminalDone": "Done", "terminalExitCode": "exit code {code}", "terminalExpand": "… {n} more lines", "terminalExpandAria": "Expand the remaining {n} output lines", "terminalFailed": "Failed", "terminalNoExitCode": "no exit code", "terminalNoOutput": "No output", "terminalRunning": "Running", "terminalSignal": "signal {signal}", "title": "Plugins", "unavailable": "This deployment runs without a manageable profile, so plugins cannot be installed or switched here.", "uninstall": "Uninstall", "uninstallLabel": "Uninstall {name}", "update": "Update", "updateLabel": "Update {name}", "versionTag": "v{version}" }, "question": { "action.next": "Next", "action.skip": "Skip", "custom.placeholder": "Type your answer", "error.incomplete": "Please complete this question first.", "error.resubmit": "The answer did not arrive before work continued; submit it again.", "error.unanswered": "Please select an option or enter a custom answer.", "error.unavailable": "Cannot submit right now; try again in a moment.", "nav.cancel": "Dismiss all questions", "nav.close": "Close the panel — reopen it from the tool call", "nav.maximize": "Expand the question card", "nav.minimize": "Collapse the question card", "nav.next": "Next question", "nav.prev": "Previous question", "option.recommended": "Recommended", "plan.approve": "Approve", "plan.decline": "Refuse", "plan.discuss": "Request changes", "plan.header": "Plan review", "reply.answerLabel": "Answer: ", "reply.close": "Close question details", "reply.label": "Reply to earlier pending questions", "reply.open": "Open question details", "reply.skipped": "Skipped", "review.skipped": "This question was skipped.", "review.status": "Answered", "status.sent": "Reply sent; the panel could not close.", "wait.continued": "Work continued — you can still answer", "wait.countdown": "Continuing in {seconds}s", "wait.held": "Waiting until you answer", "wait.paused": "Paused · {seconds}s remaining", "wait.takeTime": "Take time" }, "reference": { "candidate.noCwd": "(no cwd)", "crumb.root": "Workspace", "section.files": "Files & folders", "section.sessions": "Sessions", "section.subagents": "Subagents", "time.days": "{n}d", "time.hours": "{n}h", "time.minutes": "{n}min", "time.months": "{n}mo", "time.now": "now", "time.years": "{n}y" }, "schedule.catalog": { "card.deleted": "Deleted", "card.open": "Open", "card.openLabel": "Open task details: {title}", "cron.day.both": "Day {days} of every month or {weekdays}{months}", "cron.day.bothStarred": "Day {days} of every month and {weekdays}{months}", "cron.day.every": "Every day{months}", "cron.day.monthDays": "Day {days} of every month{months}", "cron.day.weekdays": "{weekdays}{months}", "cron.hours.list": "{hours}", "cron.hours.range": "{from}–{to}", "cron.list.join": ", ", "cron.months": " in {months}", "cron.part.join": " ", "cron.time.at": "at {times}", "cron.time.everyHour": "Every hour", "cron.time.everyMinute": "Every minute", "cron.time.everyMinutes": "Every {step} minutes", "cron.time.everyNHours": "Every {count} hours", "cron.time.hourlyAt": "Every hour at minute {minutes}", "cron.time.hoursAt": "at minute {minutes} of hours {hours}", "cron.time.hoursEveryMinute": "every minute during hours {hours}", "cron.time.hoursEveryMinutes": "every {step} minutes during hours {hours}", "cron.time.joinedEveryHour": "every hour", "cron.time.joinedEveryMinute": "every minute", "cron.time.joinedEveryMinutes": "every {step} minutes", "cron.time.joinedEveryNHours": "every {count} hours", "cron.time.joinedHourlyAt": "every hour at minute {minutes}", "cron.weekday.name": "{weekday}", "cron.weekday.range": "{from}–{to}", "cronForm.atMinute": "At minute", "cronForm.daily": "Every day", "cronForm.dateOption": "Day {day}", "cronForm.dates": "On dates", "cronForm.frequency": "Frequency", "cronForm.minuteDecrease": "Decrease minute", "cronForm.minuteIncrease": "Increase minute", "cronForm.monthly": "Monthly", "cronForm.weekly": "Weekly", "delete.action": "Delete task", "delete.cancel": "Cancel", "delete.close": "Close deletion confirmation", "delete.confirm": "Confirm deletion", "delete.description": "This stops the task from triggering and deletes it together with its saved delivery records. The original session and its messages remain; queued messages are not withdrawn.", "delete.label": "Delete reminder: {title}", "delete.pending": "Deleting…", "delete.title": "Delete this task?", "delivery.collapse": "Collapse", "delivery.cursorError": "Records were updated.", "delivery.empty": "No delivery record available", "delivery.error": "Could not load delivery records.", "delivery.expand": "Expand", "delivery.label": "Saved delivery record", "delivery.loadMore": "Load more", "delivery.loading": "Loading delivery records…", "delivery.notFound": "This task is no longer available.", "delivery.pruned": "Earlier delivery records have been cleared", "delivery.refresh": "Refresh", "delivery.retention": "Retention rules", "delivery.retentionBounds": "Each task keeps up to {records} delivery records from the last {days} days.", "delivery.retentionExplanation": "When a new record is saved, older records outside these limits are cleared automatically. Clearing records does not stop the task.", "delivery.retry": "Retry", "detail.close": "Close details", "detail.frequency": "Frequency", "detail.id": "Task ID", "detail.instruction": "Automation task instruction", "detail.label": "Task details", "detail.missing": "Task unavailable. It may have been deleted.", "detail.more": "Automation task actions", "detail.name": "Automation task name", "detail.next": "Next scheduled time", "detail.nextRun": "Next run", "detail.openSession": "Linked session: open original session", "detail.openSessionTitle": "Linked session {title}: open original session", "detail.records": "Records", "detail.rule": "Rules", "detail.session": "Linked session", "detail.sessionArchived": "The original session is archived.", "detail.sessionLoading": "Loading original session information.", "detail.sessionUnavailable": "The original session is unavailable.", "detail.status": "Status", "detail.tabs": "Task detail views", "empty.action": "New automation task", "frequency.cron": "Cron {expression} ({timeZone})", "frequency.cronLocal": "Cron {expression}", "frequency.cronRule": "{rule} ({timeZone})", "frequency.daily": "Daily at {time} ({timeZone})", "frequency.dailyLocal": "Daily at {time}", "frequency.every": "Every {value} {unit}", "frequency.once": "Once", "frequency.weekday.1": "Mon", "frequency.weekday.2": "Tue", "frequency.weekday.3": "Wed", "frequency.weekday.4": "Thu", "frequency.weekday.5": "Fri", "frequency.weekday.6": "Sat", "frequency.weekday.7": "Sun", "frequency.weekday.join": ", ", "frequency.weekly": "Weekly on {weekdays} at {time} ({timeZone})", "frequency.weeklyLocal": "Weekly on {weekdays} at {time}", "hover.more": "{count} more", "list.aria": "Active reminders", "list.empty": "No tasks yet. Tasks created in your sessions appear here.", "list.emptyInactive": "No inactive automation tasks", "list.error": "Could not load tasks.", "list.label": "Task catalog", "list.loading": "Loading tasks…", "list.nextPrefix": "Next scheduled time: ", "list.nextRun": "Next run", "list.noMatches": "No matching tasks", "list.open": "Open reminder details: {title}", "list.retry": "Retry", "mark.aria": "{count} scheduled tasks", "new.action": "New", "panel": "Automation tasks", "relative.future": "in {value} {unit}", "relative.now": "Due now", "relative.overdue": "{value} {unit} overdue", "rule.cancel": "Cancel", "rule.cron": "Custom", "rule.cronInvalid": "Enter a five-field cron expression, for example 0 9 * * 1-5.", "rule.cronLabel": "Cron expression", "rule.daily": "Every day", "rule.error.conflict": "This task changed before the update was saved. The row shows the saved rule; try again.", "rule.error.notFound": "This task is no longer available.", "rule.error.unknown": "Could not confirm the rule update. The row shows the saved rule.", "rule.everyHours": "Every N hours", "rule.everyMinutes": "Every N minutes", "rule.everySeconds": "Every N seconds", "rule.invalidPrompt": "Enter a task instruction.", "rule.invalidTitle": "Enter a task name of at most 120 characters.", "rule.once": "Once", "rule.repeat": "Repeat", "rule.save": "Save changes", "rule.saving": "Saving…", "rule.title": "Run time", "rule.unsaved": "Unsaved changes", "rule.weekday": "Weekday", "rule.weekdayOption": "Weekday {weekday}", "rule.weekdays": "Monday to Friday", "rule.weekly": "Weekly", "rule.zone.system": " (system)", "search.clear": "Clear search", "search.label": "Search tasks", "search.placeholder": "Search automation tasks", "status.active": "Enabled", "status.inactive": "Inactive", "statusFilter.all": "All", "statusFilter.label": "Task status", "time.locale": "en", "time.utcPrefix": "UTC", "timing.conflict": "This task changed while you were editing. Your draft is retained. Cancel and reopen after refresh to edit the latest rule.", "timing.date": "Date", "timing.error": "Could not confirm the timing update. Your draft is retained. Check the task before retrying.", "timing.hour": "Hour", "timing.inactive": "Inactive tasks are read-only. Their timing cannot be edited.", "timing.interval": "Repeat every", "timing.intervalDecrease": "Decrease interval", "timing.intervalHint.hour": "At least 1 hour. The interval counts from task creation or the last rule change and is independent of time zones.", "timing.intervalHint.minute": "At least 1 minute. The interval counts from task creation or the last rule change and is independent of time zones.", "timing.intervalHint.second": "At least 60 seconds. The interval counts from task creation or the last rule change and is independent of time zones.", "timing.intervalIncrease": "Increase interval", "timing.invalid": "Enter a valid date and time, or check the timing fields.", "timing.invalidInterval": "Enter an interval of at least 1 minute.", "timing.invalidInterval.hour": "Enter an interval of at least 1 hour.", "timing.invalidInterval.minute": "Enter an interval of at least 1 minute.", "timing.invalidInterval.second": "Enter an interval of at least 60 seconds.", "timing.invalidZone": "Enter a valid IANA time zone, for example Asia/Shanghai.", "timing.minute": "Minute", "timing.nextMonth": "Next month", "timing.notFound": "This task is no longer available. Your draft is retained; cancel to close the editor.", "timing.notFuture": "Choose a date and time in the future.", "timing.prevMonth": "Previous month", "timing.second": "Second", "timing.subagentSession": "This session belongs to a sub-agent, which never receives delivered reminders.", "timing.time": "Time", "timing.unit.hour": "hours", "timing.unit.minute": "minutes", "timing.unit.second": "seconds", "timing.zone": "Time zone", "timing.zoneNoResults": "No matching time zones", "timing.zoneNoStored": "A one-time task stores only its target moment, not a time zone. The date and time are interpreted in the selected time zone.", "timing.zoneSearch": "Search by UTC offset, IANA ID, or city", "title": "Automation tasks", "toast.deleteFailed": "Could not delete the task.", "toast.deleted": "Task deleted.", "tool.invoked": "Invoked {name}", "trigger.label": "Reminders", "trigger.one": "{count} reminder", "trigger.other": "{count} reminders", "unit.day.one": "day", "unit.day.other": "days", "unit.hour.one": "hour", "unit.hour.other": "hours", "unit.minute.one": "minute", "unit.minute.other": "minutes", "unit.second.one": "second", "unit.second.other": "seconds" }, "schedule.manager": { "card.deleted": "Deleted", "card.open": "Open", "card.openLabel": "Open task details: {title}", "cron.day.both": "Day {days} of every month or {weekdays}{months}", "cron.day.bothStarred": "Day {days} of every month and {weekdays}{months}", "cron.day.every": "Every day{months}", "cron.day.monthDays": "Day {days} of every month{months}", "cron.day.weekdays": "{weekdays}{months}", "cron.hours.list": "{hours}", "cron.hours.range": "{from}–{to}", "cron.list.join": ", ", "cron.months": " in {months}", "cron.part.join": " ", "cron.time.at": "at {times}", "cron.time.everyHour": "Every hour", "cron.time.everyMinute": "Every minute", "cron.time.everyMinutes": "Every {step} minutes", "cron.time.everyNHours": "Every {count} hours", "cron.time.hourlyAt": "Every hour at minute {minutes}", "cron.time.hoursAt": "at minute {minutes} of hours {hours}", "cron.time.hoursEveryMinute": "every minute during hours {hours}", "cron.time.hoursEveryMinutes": "every {step} minutes during hours {hours}", "cron.time.joinedEveryHour": "every hour", "cron.time.joinedEveryMinute": "every minute", "cron.time.joinedEveryMinutes": "every {step} minutes", "cron.time.joinedEveryNHours": "every {count} hours", "cron.time.joinedHourlyAt": "every hour at minute {minutes}", "cron.weekday.name": "{weekday}", "cron.weekday.range": "{from}–{to}", "cronForm.atMinute": "At minute", "cronForm.daily": "Every day", "cronForm.dateOption": "Day {day}", "cronForm.dates": "On dates", "cronForm.frequency": "Frequency", "cronForm.minuteDecrease": "Decrease minute", "cronForm.minuteIncrease": "Increase minute", "cronForm.monthly": "Monthly", "cronForm.weekly": "Weekly", "delete.action": "Delete task", "delete.cancel": "Cancel", "delete.close": "Close deletion confirmation", "delete.confirm": "Confirm deletion", "delete.description": "This stops the task from triggering and deletes it together with its saved delivery records. The original session and its messages remain; queued messages are not withdrawn.", "delete.label": "Delete reminder: {title}", "delete.pending": "Deleting…", "delete.title": "Delete this task?", "delivery.collapse": "Collapse", "delivery.cursorError": "Records were updated.", "delivery.empty": "No delivery record available", "delivery.error": "Could not load delivery records.", "delivery.expand": "Expand", "delivery.label": "Saved delivery record", "delivery.loadMore": "Load more", "delivery.loading": "Loading delivery records…", "delivery.notFound": "This task is no longer available.", "delivery.pruned": "Earlier delivery records have been cleared", "delivery.refresh": "Refresh", "delivery.retention": "Retention rules", "delivery.retentionBounds": "Each task keeps up to {records} delivery records from the last {days} days.", "delivery.retentionExplanation": "When a new record is saved, older records outside these limits are cleared automatically. Clearing records does not stop the task.", "delivery.retry": "Retry", "detail.close": "Close details", "detail.frequency": "Frequency", "detail.id": "Task ID", "detail.instruction": "Automation task instruction", "detail.label": "Task details", "detail.missing": "Task unavailable. It may have been deleted.", "detail.more": "Automation task actions", "detail.name": "Automation task name", "detail.next": "Next scheduled time", "detail.nextRun": "Next run", "detail.openSession": "Linked session: open original session", "detail.openSessionTitle": "Linked session {title}: open original session", "detail.records": "Records", "detail.rule": "Rules", "detail.session": "Linked session", "detail.sessionArchived": "The original session is archived.", "detail.sessionLoading": "Loading original session information.", "detail.sessionUnavailable": "The original session is unavailable.", "detail.status": "Status", "detail.tabs": "Task detail views", "empty.action": "New automation task", "frequency.cron": "Cron {expression} ({timeZone})", "frequency.cronLocal": "Cron {expression}", "frequency.cronRule": "{rule} ({timeZone})", "frequency.daily": "Daily at {time} ({timeZone})", "frequency.dailyLocal": "Daily at {time}", "frequency.every": "Every {value} {unit}", "frequency.once": "Once", "frequency.weekday.1": "Mon", "frequency.weekday.2": "Tue", "frequency.weekday.3": "Wed", "frequency.weekday.4": "Thu", "frequency.weekday.5": "Fri", "frequency.weekday.6": "Sat", "frequency.weekday.7": "Sun", "frequency.weekday.join": ", ", "frequency.weekly": "Weekly on {weekdays} at {time} ({timeZone})", "frequency.weeklyLocal": "Weekly on {weekdays} at {time}", "hover.more": "{count} more", "list.aria": "Active reminders", "list.empty": "No tasks yet. Tasks created in your sessions appear here.", "list.emptyInactive": "No inactive automation tasks", "list.error": "Could not load tasks.", "list.label": "Task catalog", "list.loading": "Loading tasks…", "list.nextPrefix": "Next scheduled time: ", "list.nextRun": "Next run", "list.noMatches": "No matching tasks", "list.open": "Open reminder details: {title}", "list.retry": "Retry", "mark.aria": "{count} scheduled tasks", "new.action": "New", "panel": "Automation tasks", "relative.future": "in {value} {unit}", "relative.now": "Due now", "relative.overdue": "{value} {unit} overdue", "rule.cancel": "Cancel", "rule.cron": "Custom", "rule.cronInvalid": "Enter a five-field cron expression, for example 0 9 * * 1-5.", "rule.cronLabel": "Cron expression", "rule.daily": "Every day", "rule.error.conflict": "This task changed before the update was saved. The row shows the saved rule; try again.", "rule.error.notFound": "This task is no longer available.", "rule.error.unknown": "Could not confirm the rule update. The row shows the saved rule.", "rule.everyHours": "Every N hours", "rule.everyMinutes": "Every N minutes", "rule.everySeconds": "Every N seconds", "rule.invalidPrompt": "Enter a task instruction.", "rule.invalidTitle": "Enter a task name of at most 120 characters.", "rule.once": "Once", "rule.repeat": "Repeat", "rule.save": "Save changes", "rule.saving": "Saving…", "rule.title": "Run time", "rule.unsaved": "Unsaved changes", "rule.weekday": "Weekday", "rule.weekdayOption": "Weekday {weekday}", "rule.weekdays": "Monday to Friday", "rule.weekly": "Weekly", "rule.zone.system": " (system)", "search.clear": "Clear search", "search.label": "Search tasks", "search.placeholder": "Search automation tasks", "status.active": "Enabled", "status.inactive": "Inactive", "statusFilter.all": "All", "statusFilter.label": "Task status", "time.locale": "en", "time.utcPrefix": "UTC", "timing.conflict": "This task changed while you were editing. Your draft is retained. Cancel and reopen after refresh to edit the latest rule.", "timing.date": "Date", "timing.error": "Could not confirm the timing update. Your draft is retained. Check the task before retrying.", "timing.hour": "Hour", "timing.inactive": "Inactive tasks are read-only. Their timing cannot be edited.", "timing.interval": "Repeat every", "timing.intervalDecrease": "Decrease interval", "timing.intervalHint.hour": "At least 1 hour. The interval counts from task creation or the last rule change and is independent of time zones.", "timing.intervalHint.minute": "At least 1 minute. The interval counts from task creation or the last rule change and is independent of time zones.", "timing.intervalHint.second": "At least 60 seconds. The interval counts from task creation or the last rule change and is independent of time zones.", "timing.intervalIncrease": "Increase interval", "timing.invalid": "Enter a valid date and time, or check the timing fields.", "timing.invalidInterval": "Enter an interval of at least 1 minute.", "timing.invalidInterval.hour": "Enter an interval of at least 1 hour.", "timing.invalidInterval.minute": "Enter an interval of at least 1 minute.", "timing.invalidInterval.second": "Enter an interval of at least 60 seconds.", "timing.invalidZone": "Enter a valid IANA time zone, for example Asia/Shanghai.", "timing.minute": "Minute", "timing.nextMonth": "Next month", "timing.notFound": "This task is no longer available. Your draft is retained; cancel to close the editor.", "timing.notFuture": "Choose a date and time in the future.", "timing.prevMonth": "Previous month", "timing.second": "Second", "timing.subagentSession": "This session belongs to a sub-agent, which never receives delivered reminders.", "timing.time": "Time", "timing.unit.hour": "hours", "timing.unit.minute": "minutes", "timing.unit.second": "seconds", "timing.zone": "Time zone", "timing.zoneNoResults": "No matching time zones", "timing.zoneNoStored": "A one-time task stores only its target moment, not a time zone. The date and time are interpreted in the selected time zone.", "timing.zoneSearch": "Search by UTC offset, IANA ID, or city", "title": "Automation tasks", "toast.deleteFailed": "Could not delete the task.", "toast.deleted": "Task deleted.", "tool.invoked": "Invoked {name}", "trigger.label": "Reminders", "trigger.one": "{count} reminder", "trigger.other": "{count} reminders", "unit.day.one": "day", "unit.day.other": "days", "unit.hour.one": "hour", "unit.hour.other": "hours", "unit.minute.one": "minute", "unit.minute.other": "minutes", "unit.second.one": "second", "unit.second.other": "seconds" }, "session-inspector": { "filter.apply": "Apply filter", "filter.cancel": "Cancel", "filter.candidates": "Type suggestions", "filter.clear": "Clear", "filter.context": "Parent context of a matching record", "filter.failed": "Type suggestions could not be loaded.", "filter.help": "Contains matching (*keyword*). Enter confirms; Esc cancels.", "filter.input": "Type keyword", "filter.loading": "Finding suggestions…", "filter.noCandidates": "No suggestions. You can still apply this keyword.", "filter.placeholder": "Type a fragment, e.g. delta", "filter.title": "Filter types", "object.absent": "[Empty slot]", "object.accessor": "[Getter / Setter, not evaluated]", "object.empty": "Empty", "object.group": "Group", "object.groupData": "Group Data", "object.more": "Show more", "object.navigation": "Raw data navigation", "object.node": "Node", "object.nodeData": "Node Data", "object.properties": "Other properties", "object.step": "Step", "object.stepData": "Step Data", "object.turn": "Turn", "object.turnData": "Turn Data", "picker.cancel": "Cancel picking (Esc)", "picker.instructions": "Hover in the main Chat to preview, then click to select. Esc cancels.", "picker.noChat": "Open this Session in the main Chat before picking.", "picker.noMatch": "No matching record in this table. Pick another element or press Esc to cancel.", "picker.pick": "Pick an element in Chat View", "tab.description": "Analyze raw logs and grouped chat messages for the current session in the sidebar.", "tab.title": "Session Log", "table.close": "Close", "table.collapse": "Collapse children", "table.data": "Data", "table.empty": "No records", "table.expand": "Expand children", "table.id": "Index", "table.latest": "Follow Latest", "table.loading": "Loading…", "table.location": "T/S", "table.older": "Load earlier", "table.raw": "Raw data", "table.rawError": "This record could not be serialized. Select another record to continue.", "table.removed": "This record was removed or settled. Select a current record.", "table.resizeDetails": "Resize raw data panel", "table.time": "Time (UTC)", "table.type": "Type", "view.chatNode": "Chat Group", "view.presentation": "Presentation", "view.sessionLog": "Raw Log" }, "session-log-download": { "dialog.close": "Close", "dialog.commandFailed": "Could not start the Session export.", "dialog.errorTitle": "Session export failed", "dialog.preparingDescription": "Preparing a ZIP containing this Session, its sub-Sessions, and attachments.", "dialog.preparingTitle": "Exporting Session", "dialog.successDescription": "The browser is downloading the Session ZIP.", "dialog.successTitle": "Session download started", "header.more": "More actions", "menu.download": "Download session log", "menu.feedback": "Feedback" }, "settings": { "close": "Close", "connection.connected": "Connected", "connection.connecting": "Reconnecting", "connection.error": "Disconnected", "connection.reconnect": "Disconnected, reconnect now", "connection.restart": "Reconnecting, reconnect now", "desktop.update.available": "Update", "desktop.update.checkFailed": "Could not check for updates. Please try again later.", "desktop.update.checkNetworkFailed": "Could not check for updates. Check your connection and try again.", "desktop.update.checking": "Checking for updates…", "desktop.update.downloadDetail": "Downloading update: {percent}%\nTarget version: {version}", "desktop.update.downloadFailed": "Could not download the update. Please try again.", "desktop.update.downloadNetworkFailed": "Could not download the update. Check your connection and try again.", "desktop.update.installFailed": "Could not install the update. Please try again later.", "desktop.update.installNetworkFailed": "Could not install the update. Check your connection and try again.", "desktop.update.installing": "Preparing to restart…", "desktop.update.progress": "{percent}%", "desktop.update.ready": "Install and Restart", "desktop.update.retry": "Retry update", "desktop.update.stopFailed": "Could not safely stop the tasks. The update has not been installed. Please try again later.", "desktop.update.tasksChanged": "New tasks have started. Confirm again to stop the tasks and update.", "desktop.update.tasksUnavailable": "Task status is unavailable. Try updating again when the workspace is ready.", "desktop.update.verifying": "Verifying update files…", "desktop.update.versionDetail": "{label}: {version}", "developerTools.description": "Shows trajectory, code diffs, and all Agent presets", "developerTools.error": "Could not save. Please try again.", "developerTools.title": "Show coding view", "general.currentVersion": "Current version: {version}", "general.nav": "General", "openDocument": "Open configuration file", "openDocument.error": "Could not open configuration file", "shortcut.open": "Open settings", "title": "Settings", "trigger": "Settings" }, "settings.account": { "accountInfo": "More account information", "addApiKey": "Add API Key", "backToHarness": "Back to DeepSeek Harness", "balance": "Topped-up balance", "balanceSignedOut": "Sign in to view", "balanceUnavailable": "View on Platform", "bonusBalance": "Granted balance", "bonusNoticeTitle": "Bonus credited", "browserDescription": ", then open it in your browser to finish signing in.", "browserPrompt": "Page did not open automatically? ", "browserTitle": "Waiting for sign in", "cancel": "Cancel", "close": "Close", "completing": "Completing sign in…", "contactUs": "Feedback", "copiedLink": "Link copied", "copyFailed": "Copy failed", "copyLink": "Copy sign-in link", "expired": "Sign in expired. Try again.", "failed": "Could not complete the operation. Try again.", "failureTitle": "Could not sign in", "initializing": "Starting sign in…", "loading": "Loading…", "loginDescription": "Sign in to your DeepSeek account or add an API Key to get started. Your projects and files are stored locally.", "loginTitle": "Get started", "menu": "Account menu", "modelSignInRequired": "Model unavailable. Please sign in and try again.", "more": "More", "nav": "Account", "noResponse": "Something went wrong. Please check your network connection and try again.", "onboardingArtworkLocale": "en", "onboardingBack": "Back", "onboardingBrand": "DeepSeek Harness", "onboardingCompact": "Results only", "onboardingCompactDescription": "See just the results in a clean, simple interface", "onboardingContinue": "Continue", "onboardingCredit": "Add credits", "onboardingCreditDescription": "DeepSeek Harness charges credits based on the tokens used by models and tools. Add credits in advance to keep your tasks running without interruption. Your balance is only used while the agent is working on a task.", "onboardingDetailed": "Full details", "onboardingDetailedDescription": "See the full process for easier debugging and troubleshooting", "onboardingDevelopment": "Coding & development", "onboardingDevelopmentDescription": "Edit code, debug issues, run commands, manage project files, and more", "onboardingEnter": "Open app", "onboardingFundedTopUp": "Add credits", "onboardingGoTopUp": "Add credits", "onboardingIntroduction": "DeepSeek Harness works in a local folder and uses tools to read and write files on your computer. It can help you research and organize information, create documents and spreadsheets, write code, troubleshoot issues, and more.", "onboardingKeepSetting": "Continue setup", "onboardingLater": "Next", "onboardingLoading": "Loading settings…", "onboardingNoCreditDescription": "DeepSeek Harness can’t start new tasks without credits. You can add them later in Settings → Account.", "onboardingNoCreditTitle": "Skip adding credits?", "onboardingOffice": "Office & creative work", "onboardingOfficeDescription": "Edit documents, organize data, create presentations, and more", "onboardingProcess": "How much detail would you like to see?", "onboardingProcessDescription": "This only changes how progress is shown, not what DeepSeek Harness can do.", "onboardingPurposeDescription": "We’ll tailor the interface and tools to fit the way you work.", "onboardingPurposePrefix": "What would you like", "onboardingPurposeSuffix": "to help with?", "onboardingRetry": "Retry", "onboardingSaveFailed": "Could not save settings. Try again.", "onboardingSkip": "Skip", "onboardingSkipDescription": "You can change how progress, performance, and usage are displayed, or enable Coding Tools, anytime in Settings → General.", "onboardingSkipTitle": "Skip setup?", "onboardingStandard": "Key details", "onboardingStandardDescription": "Focus on results, with only the most important steps and actions shown", "onboardingStart": "Get started", "onboardingTopUp": "Add credits", "onboardingUnderstood": "Got it", "onboardingWelcome": "Welcome to", "open": "Open browser", "platformFailed": "Could not complete the operation. Try again.", "platformRetry": "Retry", "profileUnavailable": "Account details are not available yet.", "quotaDescription": "DeepSeek Harness cannot start a new task with this account when no balance is available. Would you like to top up? You can also top up later in Settings → Account.", "quotaTitle": "No balance available", "quotaTopUp": "Top up", "retry": "Sign in again", "sessionExpired": "You have signed out of your account, please log in again.", "settings": "Settings", "settingsSignedOutDescription": "Sign in to DeepSeek Harness to get your dedicated API Key", "settingsSignedOutTitle": "You are not signed in to DeepSeek Harness", "signIn": "Sign in", "signInDescription": "Use your DeepSeek account to get started.", "signOut": "Sign out", "signOutDescription": "Signing out will not delete any data. You can sign in to this account again.", "signOutRunningDescription": "Tasks are currently running. Signing out will interrupt them. Sign out now?", "signOutUnknownDescription": "Could not check running tasks. Signing out may interrupt tasks using this account. Sign out now?", "signedIn": "Signed in to DeepSeek", "signedOut": "Not signed in", "timeoutDescription": "Sign in again to continue.", "timeoutTitle": "Sign in timed out", "topUp": "Top up", "usage": "View usage", "waiting": "Continue in your browser" }, "settings.agentLoop": { "description": "Control how the Agent dispatches tool calls.", "invalidNumber": "Enter a number, or leave blank to use the default.", "maxParallel": "Parallel tool calls", "maxParallelHint": "Upper bound on parallel-safe calls running at once within one step.", "overridden": "Overridden", "readOnly": "This deployment stores settings read-only.", "reset": "Reset to default", "save": "Save", "saveFailed": "The deployment did not accept these values; they were left for you to correct.", "saving": "Saving…", "title": "Agent loop", "unavailable": "This plugin is not loaded, so it cannot be configured right now." }, "settings.agentPreset": { "guideCopied": "Copied", "guideCopy": "Copy", "guideCordisExplanation": "### What you can create\n\nCreator mode includes the standard task tools plus runtime inspection, persistent plugin management, and guidance for authoring Cordis plugins and agent presets. It can create a plugin that adds a capability or UI, or a preset that combines tools and prompts for a particular job.\n\n### Plugins and modes\n\nA plugin adds capabilities to DSH, such as a tool, a service connection, or a UI entry. A mode is an agent preset that selects tools and defines how the agent works in a task. A plugin can be included in a custom preset.\n\n### How the result takes effect\n\nAsk the agent to install and verify the result, not just generate source code. A plugin may load immediately or require a restart, depending on what it changes. A newly created preset is selected when starting a new task.", "guideCordisIntro": "Choose Creator mode for a new task. Describe the capability you want, where it should appear, and how you will verify it.", "guideCordisUsage": "### Add a UI\n\n> Create a DSH plugin that adds a project notes entry to the sidebar. Let me browse the Markdown files in this workspace and preview a selected note. Install it and verify that the page opens.\n\nExpected output: an installed plugin with a working entry and preview page, plus any remaining activation steps.\n\n### Add a tool\n\n> Create a plugin with a tool that reads this project’s test report and summarizes the failed tests. Register it and verify it with a sample report.\n\nExpected output: a plugin with a callable tool and a verified sample call.\n\n### Create my own mode\n\n> Create a “Code review” mode based on Standard mode. Have it prioritize potential bugs and test gaps, cite file paths and lines, and ask before modifying files. Save it as a selectable preset.\n\nExpected output: a custom preset for new tasks. These review instructions guide the agent; permission settings determine which actions it can execute.", "guideExampleTask": "Example task", "guideFootnotes": "Footnotes", "guideMinimalExplanation": "### What is included\n\nOne persistent shell tool and a fixed system prompt. The built-in preset does not load Skills, planning, context compaction, or the standard runtime context.\n\n### When to choose it\n\nUse it as a baseline for experiments and comparisons. It can still read files and execute scripts through shell commands, but offers fewer built-in ways to manage a long task. Fewer tools does not necessarily make it easier for a beginner.", "guideMinimalIntro": "Choose Minimal mode for a new task. For a comparison, hold the model, permissions, input, and starting workspace state constant across runs.", "guideMinimalUsage": "### Compare performance on a small bug fix\n\n> Run the tests for this project, find the cause of the failure, and make the smallest fix. Run the relevant tests again and report the result.\n\nRun the same task separately in Standard and Minimal modes from the same starting state. Compare task completion, tool calls, and the resulting changes. Minimal mode performs the work through terminal commands.", "guidePtcExplanation": "### How tools are called\n\nPTC means Programmatic Tool Calling. In this built-in preset, the agent uses run_code to write a TypeScript program that calls tools through a generated SDK. The program can use loops, conditions, error handling, and concurrent calls where appropriate.\n\n### What reaches the model\n\nTool results first reach the program, which can filter and combine them. The model receives what the program prints or returns; image results are attached separately. Nested tool calls are still recorded and remain subject to tool permissions.\n\n### Compared with Standard mode\n\nBoth modes can handle coding and batch tasks. Standard mode exposes individual tools directly; PTC organizes tool calls in code. The current PTC preset leaves the workflow tool disabled. Speed and token use depend on the task and how the program handles its results.", "guidePtcIntro": "Choose PTC mode when starting a new task. Specify the input files, processing rules, and output format. The agent writes the code.", "guidePtcUsage": "### Check a set of configuration files\n\n> Check all JSON files in configs/. List missing required fields and invalid values against schema.json. Save a CSV with one row per issue. Include unreadable files in the report and keep checking the rest. Leave the original files unchanged.\n\nExpected output: an issue summary and a CSV report. The program can repeat the same checks, handle individual failures, and collect the results.\n\n### Summarize error logs\n\n> Analyze the log files in logs/. Group errors by service and error type. Show the ten most frequent groups and one example from each. Save the full counts to a CSV.\n\nExpected output: the top error groups and a complete count table. Intermediate data can be aggregated in the program before the summary reaches the model.", "guideSections": "Guide sections", "guideStandardExplanation": "### How it works\n\nThe agent calls tools directly to read and edit files, search, and run terminal commands. It includes Skills, planning, goals, subagents, workflows, and context compaction.\n\n### When to choose it\n\nStart here for everyday coding, file work, and research. Standard mode can also write scripts and process files in batches. PTC changes how tool calls are organized; it is not required for batch tasks.", "guideStandardIntro": "Choose Standard mode when starting a new task. Describe what you want to accomplish, point to the relevant files, and explain how to check the result.", "guideStandardUsage": "### Fix a bug\n\n> Find out why submitting the search form twice makes the results disappear. Fix it and run the relevant tests. Explain the cause and what changed.\n\nExpected output: a code change, the relevant test results, and an explanation of the cause.\n\n### Organize project notes\n\n> Read the Markdown notes in this project. Summarize the agreed decisions and open questions, with links to the source files.\n\nExpected output: a summary with references that you can check against the original notes.", "howToUse": "How to use", "modeExplanation": "Mode details" }, "settings.locale": { "back": "Back", "brand.localBuild": "DSH Local Build", "cancel": "Cancel", "close": "Close", "codeBlock.title": "Code block", "codeBlock.unwrap": "Do not wrap lines", "codeBlock.wrap": "Wrap lines", "collapse": "Collapse", "copied": "Copied", "copy": "Copy", "copy.compactJson": "Copy compact JSON", "copy.failed": "Copy failed", "copy.json": "Copy JSON", "copy.optionsHint": "{action}; right-click for copy options", "copy.path": "Copy property path", "copy.prettyJson": "Copy pretty JSON", "copy.value": "Copy value", "delete": "Delete", "edit": "Edit", "expand": "Expand", "json.label": "JSON", "language.title": "Language", "load.failed": "Failed to load", "loading": "Loading…", "markdown.footnotes": "Footnotes", "markdown.truncatedCharacters": "… truncated at {total} characters", "more": "More", "next": "Next", "none": "None", "number.million": "{value}M", "number.thousand": "{value}K", "ok": "OK", "previous": "Previous", "retry": "Retry", "save": "Save", "search": "Search", "skip": "Skip", "submit": "Submit", "submitting": "Submitting…", "truncated": "Truncated", "unknown": "Unknown", "workspace.defaultName": "Default workspace" }, "settings.models": { "add": "Add model provider", "addCatalog": "Third-party model provider", "addCatalogExhausted": "Every catalog provider is already configured.", "addCatalogHint": "Pick OpenAI, Anthropic, Kimi, or another provider from the built-in catalog and enter its API key.", "addCustom": "Custom model API", "addCustomHint": "Connect a relay, a self-hosted server, or any other OpenAI- or Anthropic-compatible endpoint by its base URL, protocol, and models.", "addCustomUnavailable": "No API protocol is available to declare.", "addMode": "How to add", "addModel": "Add model", "advancedHint": "Other fields live in cordis.patch.yml; edit that section directly.", "apply": "Apply", "applying": "Applying…", "baseUrl": "Base URL", "baseUrlDefault": "Provider default", "cancel": "Cancel", "close": "Close", "conflict": "Someone else changed these settings while this card was open. Close it and reopen to edit the current values.", "contextWindow": "Context window", "contextWindowPlaceholder": "Uses the provider default", "create": "Create provider", "creating": "Creating…", "credentialConfigured": "API key configured", "credentialMissing": "API key missing", "customAnthropicBaseUrlPlaceholder": "https://gateway.example", "customApi": "API protocol", "customApiUnset": "Not selected", "customBaseUrlInvalid": "Enter a valid HTTP or HTTPS URL.", "customBaseUrlPlaceholder": "https://gateway.example/v1", "customDisplayName": "Display name", "customNeedsBaseUrl": "A custom provider needs a base URL.", "customNeedsModels": "A custom provider needs at least one model.", "customRoute": "Provider ID", "customRouteHint": "Lowercase identifier, starting with a letter, that uniquely names this provider in requests and as its credential name.", "customRouteInvalid": "Start with a lowercase letter; then lowercase letters, digits, and dashes.", "customRouteTaken": "A provider already uses this ID.", "customTag": "Custom", "customized": "Customized settings", "deepSeekAccount": "DeepSeek Account", "deepSeekBaseUrl": "https://api.deepseek.com/anthropic", "deepSeekEndpointHint": "Use an API endpoint compatible with Anthropic Messages.", "deleteConfirm": "Delete {provider}", "deleteDescription": "Deleting {provider} removes its configuration. Any credential it uses is managed elsewhere and will be kept.", "deleteDescriptionWithCredential": "Deleting {provider} removes its configuration and stored API key.", "deleteTitle": "Delete {provider}?", "deleting": "Deleting {provider}…", "edit": "Edit", "editProvider": "Edit {provider}", "fetchAdopt": "Add selected", "fetchDescription": "These are the models this provider has available. Choose the ones to add.", "fetchDeselectAll": "Deselect all", "fetchEmpty": "The provider listed no models. Add them by hand.", "fetchModels": "Fetch available models", "fetchNeedsBaseUrl": "Enter the base URL first, then fetch.", "fetchNoMatches": "No matching models.", "fetchSearch": "Search models", "fetchSelectAll": "Select all", "fetchTitle": "Choose models to add", "fetching": "Asking the provider…", "intro": "Enter your API keys to use models from the following providers.", "keyBlank": "Enter the API key, or leave the field empty to keep the stored one.", "keyBlankNew": "Enter the API key, or leave the field empty if this provider authenticates another way.", "keyEnvLocked": "Provided by the launch environment (read-only)", "keyIllegalCharacters": "This API key is not in a valid format. Please check it.", "keyInput": "API key", "keyPlaceholder": "Enter your API key", "keyPlaceholderNative": "Enter an API key, or leave blank to use environment authentication", "keyRequired": "Enter an API key to continue.", "keyStored": "Configured — enter a new value to replace", "loadFailed": "Loading the provider directory failed", "maxTokens": "Max output tokens", "maxTokensPlaceholder": "Uses the provider default", "model": "Model", "modelAdvanced": "Model options", "modelCapacityInvalid": "A capacity must be a number, optionally suffixed K or M.", "modelContextInvalid": "Context window must be a positive count, like 131072, 256K, or 1M.", "modelDuplicate": "Each model ID may appear once.", "modelId": "Model ID", "modelIdDuplicate": "Model ID must be unique.", "modelIdRequired": "Model ID is required.", "modelInputImage": "Image", "modelInputText": "Text", "modelInputTypes": "Input types", "modelMaxTokensInvalid": "Max output tokens must be a positive count, like 8192, 64K, or 1M.", "modelName": "Display name", "modelNameInvalid": "Display name cannot be empty.", "modelNamePlaceholder": "Uses the model ID when empty", "models": "Models", "modelsCustomized": "Customized model catalog", "modelsEmpty": "No models will be shown in the selector. Unlisted IDs can still be sent directly.", "modelsInherited": "Using the adapter defaults", "nav": "Models", "onboardingDescription": "Configure the official DeepSeek provider to start building.", "onboardingLater": "Configure later", "onboardingSave": "Save and continue", "onboardingSaving": "Saving…", "onboardingTitle": "Add an API key to get started", "protocolAnthropicMessages": "Anthropic Messages", "protocolOpenAiCompletions": "OpenAI Chat Completions", "protocolOpenAiResponses": "OpenAI Responses", "provider": "Provider", "readOnly": "The settings document is read-only in this deployment.", "remove": "Delete", "removeModel": "Delete model", "removeProvider": "Delete {provider}", "resetModels": "Restore defaults", "retry": "Retry", "savedProvider": "Saved {provider}.", "settingsPathUnresolvable": "unresolvable settings path", "title": "Models", "welcomeBody": "DeepSeek Harness 0.2 is still in preview, and many areas need continued improvement and refinement. We welcome feedback and suggestions from all developers and users. The new desktop app now targets a broad range of users, while developer-related advanced features can be enabled in the settings. DeepSeek Harness’s product features and plugin APIs are expected to continue rapid iteration and evolution, and will gradually stabilize over time.\n\nWe look forward to exploring the limits of intelligence together with users and developers around the world, building on open-source, reusable, and composable infrastructure. We welcome everyone to bring their ideas to life with DeepSeek Harness and participate in the community to enrich the plugin ecosystem.", "welcomeContinue": "Continue", "welcomeError": "The acknowledgement could not be saved. Please try again.", "welcomeTitle": "Preview Notice" }, "settings.permission": { "confirm.acknowledge": "I understand the risks and want to continue", "confirm.cancel": "Cancel", "confirm.description": "Full access lets new sessions reduce confirmation steps and perform more actions directly, including sensitive operations, file changes, or external commands. Only use it when you trust subsequent tasks.", "confirm.enable": "Enable Full access", "confirm.title": "Enable Full access?", "description": "Choose the default permission mode for new sessions", "loading": "Loading", "preset.fullAccess": "Full access", "preset.readOnly": "Read Only", "preset.workspaceWrite": "Workspace Write", "title": "Permission", "unavailable": "Unavailable" }, "settings.pluginInventory": { "active": "Running", "clientSyncFailed": "Some plugins could not sync on this page. Host enablement is unchanged.", "clientSyncRetry": "Retry this page", "clientSyncing": "Syncing plugins on this page…", "condition": "Disabled when", "conditionalTag": "Conditional", "configuration": "Configuration", "countUnit": "plugins", "disabledTag": "Disabled", "empty": "No plugins are available.", "emptySearch": "No matching plugins.", "enabledIn": "Enabled in", "enabledTag": "Enabled", "error": "Plugins are temporarily unavailable.", "failed": "Failed to start", "failedCountLabel": "failed", "failedTag": "Failed", "fromPreset": "From", "globalSubtitle": "Shared by the system and every session", "globalTitle": "Global plugins", "loading": "Reading plugins…", "loadingPhase": "Loading", "matchesInOtherPresets": "{count} more matches in other presets: ", "metadataError": "Package metadata error: {error}", "moduleLabel": "Module", "pending": "Waiting for dependencies", "presetEnabledTag": "Via presets", "presetOptionBroken": "{name} (failed to load)", "presetOptionDefault": "{name} (default)", "presetProvidedDetail": "Disabled globally; agent presets provide it per session", "presetSubtitle": "Composed per session by agent presets", "presetTitle": "Session plugins", "retry": "Retry", "runtime": "Status", "search": "Search plugins", "switcherLabel": "Choose the agent preset to inspect", "tab": "Plugin list", "unloading": "Unloading", "unobserved": "Not running", "viewInPreset": "View in the preset group" }, "settings.plugins": { "empty": "This deployment exposes no plugin views.", "intro": "Inspect the plugins this deployment ships.", "nav": "Built-in plugins", "tabs": "Plugin views", "title": "Built-in plugins" }, "settings.sessionLog": { "description": "Help improve DeepSeek models and products.", "failed": "Could not save preference", "saved": "Preference saved", "title": "Upload Session Log when using the official model API" }, "settings.shell": { "description": "Limit how long each command may run and how much it may output.", "invalidNumber": "Enter a number, or leave blank to use the default.", "maxOutputBytes": "Output cap per stream (bytes)", "maxOutputBytesHint": "Output beyond this spills to a temporary file rather than being lost.", "overridden": "Overridden", "readOnly": "This deployment stores settings read-only.", "reset": "Reset to default", "save": "Save", "saveFailed": "The deployment did not accept these values; they were left for you to correct.", "saving": "Saving…", "timeoutMs": "Command timeout (ms)", "timeoutMsHint": "How long one command may run before it is terminated.", "title": "Shell", "unavailable": "This plugin is not loaded, so it cannot be configured right now." }, "settings.subagent": { "overridden": "Overridden", "readOnly": "This deployment stores settings read-only.", "reset": "Reset to default", "save": "Save", "saveFailed": "The deployment did not accept these values; they were left for you to correct.", "saving": "Saving…", "subagentCapacityHelp": "Total live Subagents under the same main Agent, across all recursion levels. The main Agent is excluded. New start requests are rejected when the limit is reached.", "subagentCapacityHelpLabel": "About the Subagent parallelism limit", "subagentCapacityInvalid": "Enter a whole number of 1 or more.", "subagentDepthHelp": "Limits how many levels of Subagents an Agent can create.", "subagentDepthHelpLabel": "About maximum recursion depth", "subagentDepthInvalid": "Enter a whole number of 0 or more.", "subagentDepthOne": "Only the main Agent can create Subagents", "subagentDepthOverride": "If a tool defines its own maximum recursion depth, that setting takes precedence.", "subagentDepthZero": "Disable Subagents", "subagentDescription": "Set Subagent recursion depth, count, and models.", "subagentLimitsTitle": "Limits", "subagentMaxActive": "Subagent parallelism limit", "subagentMaxDepth": "Maximum recursion depth", "subagentModelSelectionAllowed": "Models agents may choose", "subagentModelSelectionChoose": "When enabled, agents can choose a provider, model, and reasoning effort for each Subagent from the authorized models below. Applies only to new sessions.", "subagentModelSelectionConflict": "Settings changed elsewhere. Discard your draft and try again.", "subagentModelSelectionEmpty": "No model provider currently advertises a model.", "subagentModelSelectionLoadFailed": "Models could not be loaded.", "subagentModelSelectionLoading": "Loading models…", "subagentModelSelectionOff": "Subagents use configured defaults or inherit the parent agent's model. Saved model choices are retained.", "subagentModelSelectionPartial": "Some model providers could not be loaded; saved choices remain removable.", "subagentModelSelectionRequired": "Select at least one model before saving.", "subagentModelSelectionRetry": "Retry", "subagentModelSelectionTitle": "Model selection", "subagentModelSelectionToggle": "Allow agents to choose models for Subagents", "subagentModelSelectionUnavailable": "Currently unavailable", "subagentModelSelectionUnavailableGroup": "Saved but currently unavailable", "subagentTitle": "Subagent", "unavailable": "This plugin is not loaded, so it cannot be configured right now." }, "settings.theme": { "appearance.dark": "Dark", "appearance.light": "Light", "appearance.system": "System", "appearance.title": "Appearance", "fontFamily.code.description": "Used for code blocks, inline code, and tool output. Separate fonts with commas; leave empty for the default", "fontFamily.code.title": "Code font", "fontFamily.placeholder": "Default", "fontFamily.terminal.description": "Used for the sidebar terminal. Separate fonts with commas; leave empty for the default", "fontFamily.terminal.title": "Terminal font", "fontFamily.text.description": "Used for the interface and conversation text. Separate fonts with commas; leave empty for the default", "fontFamily.text.title": "Text font", "fontSize.code.decrease": "Decrease code font size", "fontSize.code.description": "Used for code blocks, inline code, and tool output", "fontSize.code.increase": "Increase code font size", "fontSize.code.title": "Code font size", "fontSize.more": "More font settings", "fontSize.terminal.decrease": "Decrease terminal font size", "fontSize.terminal.description": "Used for the sidebar terminal", "fontSize.terminal.increase": "Increase terminal font size", "fontSize.terminal.title": "Terminal font size", "fontSize.text.decrease": "Decrease font size", "fontSize.text.description": "Only affects conversation content", "fontSize.text.increase": "Increase font size", "fontSize.text.title": "Font size", "fontSize.unit": "px" }, "settings.webSearch": { "apiKey": "API key", "apiKeyHint": "Stored outside the settings file. Leave blank to keep the current key.", "apiKeySet": "A key is configured.", "apiKeyUnset": "No key is configured; only conversations using a DeepSeek Account model can search, through the default endpoint.", "baseUrl": "Endpoint", "baseUrlHint": "Leave blank to use the provider default.", "description": "Set up the DeepSeek search provider.", "invalidNumber": "Enter a number, or leave blank to use the default.", "maxUses": "Max searches per request", "maxUsesHint": "How many times one request may search before it must answer.", "overridden": "Overridden", "readOnly": "This deployment stores settings read-only.", "reset": "Reset to default", "save": "Save", "saveFailed": "The deployment did not accept these values; they were left for you to correct.", "saving": "Saving…", "title": "Web search", "unavailable": "This plugin is not loaded, so it cannot be configured right now." }, "shortcuts": { "application": "Application", "approval": "Approval area", "cancel": "Cancel", "clear": "Remove", "clear-search": "Clear search", "close": "Close keyboard shortcuts", "close-confirmation": "Close confirmation", "conflict": "Already used by “{commands}”", "description": "View and edit available shortcuts and input actions", "desktop-document": "userData/keybindings.json", "desktop-reload": "restart Harness", "dismiss": "Close menu or top dialog", "edit-label": "Edit shortcut for {command}", "empty": "No matching shortcuts", "future": "Shortcut configuration in {location} was created by a newer version. Upgrade Harness and try again.", "global-hint": "Open from anywhere", "input": "Message input", "invalid": "Shortcut configuration in {location} is damaged. Back up and repair this configuration, then {reload}.", "macos-web-help": "Use Command+/, Command+,, Command+Backslash, Control+Backquote, Command+Option+key, or Command+Shift+key. Combinations with three or four distinct modifiers are also supported. Browser or system shortcuts may not reach the page.", "menus": "Menus and dialogs", "modified-count": "{count} customized", "modifier-required": "Include Command, Ctrl, or Alt in the combination.", "move": "Move menu selection", "native-failed": "Could not protect desktop key recording. Exit recording and try again.", "not-ready": "Shortcuts are not ready. Please try again.", "open": "Open keyboard shortcuts", "read": "Could not read {location}. Check access permissions, then {reload}.", "record": "Press a shortcut", "record-help": "Release the keys to save. Tab moves between actions; Esc cancels.", "reserved": "This combination is reserved for system or text editing actions.", "reset": "Restore default", "reset-all": "Restore all defaults", "reset-description": "Restore the default shortcuts for this platform. All modified or removed shortcuts will be restored. Other platforms are unaffected.", "reset-failed": "Could not restore defaults. Your shortcuts are unchanged. Please retry.", "reset-saved": "Default shortcuts restored", "reset-title": "Restore all default shortcuts?", "retry-save": "Retry save", "review": "I have reviewed the latest configuration", "saved": "Modified", "search": "Search shortcuts", "select": "Select menu item", "settings": "Keyboard shortcuts", "stale": "Shortcut configuration or available commands changed. Review the latest bindings before saving.", "title": "Keyboard shortcuts", "too-many-keys": "Hold at most two non-modifier keys. Release the keys to try again.", "unbound": "No shortcut", "unsupported-browser": "This browser does not support this combination yet.", "unsupported-key": "This key is not supported.", "using-accepted": "The last successfully read bindings remain active.", "using-defaults": "Default bindings are active.", "view": "Edit shortcuts", "web-document": "this site’s localStorage entry dsh.keybindings.v1", "web-help": "Browser combinations: Mod+/, Mod+Shift+,, Mod+Shift+.. Mod is Command on Mac and Ctrl elsewhere.", "web-reload": "reload the page", "windows-web-help": "Use Ctrl+/, Ctrl+,, Ctrl+Alt+key, or Ctrl+Shift+key. Combinations with three or four distinct modifiers are also supported. Browser or system shortcuts may not reach the page.", "write-failed": "Could not save. Your previous shortcuts and current draft are preserved. Please retry." }, "shortcuts.layout": { "toggle": "Toggle left sidebar" }, "sidebar": { "panels.label": "Global panels", "session.new": "New Session", "session.new.label": "New session", "toggle.collapse": "Collapse sidebar", "toggle.open": "Open sidebar" }, "sidebarBrowser": { "address.changed": "URL changed", "address.placeholder": "Enter an HTTP(S) address", "address.unknown": "The page navigated; this carrier cannot read its new URL.", "back": "Back", "error.application-origin": "The embedded browser cannot open the DSH application itself.", "error.credentials": "Addresses cannot contain a username or password.", "error.empty": "Enter an address.", "error.invalid": "That address is invalid or too long.", "error.protocol": "Only HTTP and HTTPS addresses are supported; use Document Preview for local files.", "external": "Open in system browser", "forward": "Forward", "go": "Go", "guide.description": "Browse web pages", "guide.title": "Browser", "load.failed": "The page could not load; reload or open it in the system browser.", "load.failed.detail": "Page load failed ({code}): {description}", "loading": "Opening…", "reload": "Reload", "restore.action": "Restore page", "restore.previous": "Previously opened", "sandbox.disable": "Disable sandbox restrictions", "sandbox.enable": "Restore sandbox restrictions", "sandbox.warning": "Sandbox restrictions are disabled; the page can navigate the top-level app and use downloads, modal dialogs, and input locks.", "shortcut.noSession": "Open a session first", "start": "Enter an HTTP(S) address to start browsing", "type.label": "Browser" }, "sidebarCodePreview": { "autoRefresh": "Auto refresh", "autoRefresh.disable": "Disable auto refresh", "autoRefresh.enable": "Enable auto refresh", "busy": "Office preview is busy. Try again shortly.", "changed": "The file changed while being read. Reopen the preview.", "charts": "charts", "closeDetails": "Close font details", "code.copied": "Copied", "code.copy": "Copy", "conditionalFormatting": "conditional formatting", "copied": "Copied", "copy": "Copy", "encoding": "This text encoding could not be read. Save the file as UTF-8 or UTF-16 with a BOM and retry.", "error.notFound": "File not found. It may have been moved or deleted.", "error.notRegularFile": "Not a regular file, nothing to display.", "error.notText": "Preview is not available for this file type yet.", "error.tooLarge": "This page exceeds the {limit} limit and cannot be read.", "error.unavailable": "Read failed: {message}", "failed": "Cannot display PDF: {message}", "featureSeparator": ", ", "footnotes": "Footnotes", "formulaWarning": "This workbook contains formulas. Displayed results may be missing or inaccurate.", "frame": "HTML document preview", "images": "images", "invalid": "This Office file cannot be previewed. It may be damaged, password protected, or have the wrong extension.", "language": "en", "loadMore": "Load more", "loading": "Rendering document...", "missingFontsCount": "Fonts: {count}", "missingFontsDescription": "These fonts are unavailable for this preview. Text and layout may differ from the original document.", "missingFontsTitle": "Missing fonts", "openWith": "Open with", "pageImage": "PDF page {page}", "password": "This PDF requires a password; password-protected previews are not supported.", "preview": "Image preview: {name}", "reload": "Read the file again", "reloadNow": "Reload", "rendererUnavailable": "The {name} preview is unavailable.", "rendering": "Rendering page…", "resourceUnavailable": "The file resource service is unavailable.", "retry": "Retry", "shapes": "shapes", "timeout": "Office conversion timed out. Try again.", "title": "PDF", "tooLarge": "The Office file or converted PDF exceeds the preview size limit. Reduce the file size or adjust the preview configuration.", "unavailable": "Office previews are unavailable. Enable the document preview service on the computer running DeepSeek Harness.", "unsupported": "PDF preview requires the complete file contents.", "unsupportedFile": "Preview is not available for this file type yet.", "unsupportedNotice": "This preview does not support {features} in this workbook. Open it in a system application for the full experience.", "viewMissingFonts": "Missing fonts: {count}. Click to view.", "viewer.label": "Markdown", "viewer.text": "Plain text", "workerFailed": "The PDF rendering process could not continue. Please retry.", "wrap.aria": "Line wrap", "wrap.disable": "Turn off line wrap", "wrap.enable": "Turn on line wrap", "zoomControls": "Zoom controls", "zoomFitWidth": "Fit width", "zoomIn": "Zoom in", "zoomMenu": "Choose zoom", "zoomOut": "Zoom out", "zoomValue": "{percent}%" }, "sidebarDocumentPreview": { "autoRefresh": "Auto refresh", "autoRefresh.disable": "Disable auto refresh", "autoRefresh.enable": "Enable auto refresh", "busy": "Office preview is busy. Try again shortly.", "changed": "The file changed while being read. Reopen the preview.", "charts": "charts", "closeDetails": "Close font details", "code.copied": "Copied", "code.copy": "Copy", "conditionalFormatting": "conditional formatting", "copied": "Copied", "copy": "Copy", "encoding": "This text encoding could not be read. Save the file as UTF-8 or UTF-16 with a BOM and retry.", "error.notFound": "File not found. It may have been moved or deleted.", "error.notRegularFile": "Not a regular file, nothing to display.", "error.notText": "Preview is not available for this file type yet.", "error.tooLarge": "This page exceeds the {limit} limit and cannot be read.", "error.unavailable": "Read failed: {message}", "failed": "Cannot display PDF: {message}", "featureSeparator": ", ", "footnotes": "Footnotes", "formulaWarning": "This workbook contains formulas. Displayed results may be missing or inaccurate.", "frame": "HTML document preview", "images": "images", "invalid": "This Office file cannot be previewed. It may be damaged, password protected, or have the wrong extension.", "language": "en", "loadMore": "Load more", "loading": "Rendering document...", "missingFontsCount": "Fonts: {count}", "missingFontsDescription": "These fonts are unavailable for this preview. Text and layout may differ from the original document.", "missingFontsTitle": "Missing fonts", "openWith": "Open with", "pageImage": "PDF page {page}", "password": "This PDF requires a password; password-protected previews are not supported.", "preview": "Image preview: {name}", "reload": "Read the file again", "reloadNow": "Reload", "rendererUnavailable": "The {name} preview is unavailable.", "rendering": "Rendering page…", "resourceUnavailable": "The file resource service is unavailable.", "retry": "Retry", "shapes": "shapes", "timeout": "Office conversion timed out. Try again.", "title": "PDF", "tooLarge": "The Office file or converted PDF exceeds the preview size limit. Reduce the file size or adjust the preview configuration.", "unavailable": "Office previews are unavailable. Enable the document preview service on the computer running DeepSeek Harness.", "unsupported": "PDF preview requires the complete file contents.", "unsupportedFile": "Preview is not available for this file type yet.", "unsupportedNotice": "This preview does not support {features} in this workbook. Open it in a system application for the full experience.", "viewMissingFonts": "Missing fonts: {count}. Click to view.", "viewer.label": "Markdown", "viewer.text": "Plain text", "workerFailed": "The PDF rendering process could not continue. Please retry.", "wrap.aria": "Line wrap", "wrap.disable": "Turn off line wrap", "wrap.enable": "Turn on line wrap", "zoomControls": "Zoom controls", "zoomFitWidth": "Fit width", "zoomIn": "Zoom in", "zoomMenu": "Choose zoom", "zoomOut": "Zoom out", "zoomValue": "{percent}%" }, "sidebarExcel": { "autoRefresh": "Auto refresh", "autoRefresh.disable": "Disable auto refresh", "autoRefresh.enable": "Enable auto refresh", "busy": "Office preview is busy. Try again shortly.", "changed": "The file changed while being read. Reopen the preview.", "charts": "charts", "closeDetails": "Close font details", "code.copied": "Copied", "code.copy": "Copy", "conditionalFormatting": "conditional formatting", "copied": "Copied", "copy": "Copy", "encoding": "This text encoding could not be read. Save the file as UTF-8 or UTF-16 with a BOM and retry.", "error.notFound": "File not found. It may have been moved or deleted.", "error.notRegularFile": "Not a regular file, nothing to display.", "error.notText": "Preview is not available for this file type yet.", "error.tooLarge": "This page exceeds the {limit} limit and cannot be read.", "error.unavailable": "Read failed: {message}", "failed": "Cannot display PDF: {message}", "featureSeparator": ", ", "footnotes": "Footnotes", "formulaWarning": "This workbook contains formulas. Displayed results may be missing or inaccurate.", "frame": "HTML document preview", "images": "images", "invalid": "This Office file cannot be previewed. It may be damaged, password protected, or have the wrong extension.", "language": "en", "loadMore": "Load more", "loading": "Rendering document...", "missingFontsCount": "Fonts: {count}", "missingFontsDescription": "These fonts are unavailable for this preview. Text and layout may differ from the original document.", "missingFontsTitle": "Missing fonts", "openWith": "Open with", "pageImage": "PDF page {page}", "password": "This PDF requires a password; password-protected previews are not supported.", "preview": "Image preview: {name}", "reload": "Read the file again", "reloadNow": "Reload", "rendererUnavailable": "The {name} preview is unavailable.", "rendering": "Rendering page…", "resourceUnavailable": "The file resource service is unavailable.", "retry": "Retry", "shapes": "shapes", "timeout": "Office conversion timed out. Try again.", "title": "PDF", "tooLarge": "The Office file or converted PDF exceeds the preview size limit. Reduce the file size or adjust the preview configuration.", "unavailable": "Office previews are unavailable. Enable the document preview service on the computer running DeepSeek Harness.", "unsupported": "PDF preview requires the complete file contents.", "unsupportedFile": "Preview is not available for this file type yet.", "unsupportedNotice": "This preview does not support {features} in this workbook. Open it in a system application for the full experience.", "viewMissingFonts": "Missing fonts: {count}. Click to view.", "viewer.label": "Markdown", "viewer.text": "Plain text", "workerFailed": "The PDF rendering process could not continue. Please retry.", "wrap.aria": "Line wrap", "wrap.disable": "Turn off line wrap", "wrap.enable": "Turn on line wrap", "zoomControls": "Zoom controls", "zoomFitWidth": "Fit width", "zoomIn": "Zoom in", "zoomMenu": "Choose zoom", "zoomOut": "Zoom out", "zoomValue": "{percent}%" }, "sidebarFiles": { "autoRefresh": "Auto refresh", "autoRefresh.disable": "Disable auto refresh", "autoRefresh.enable": "Enable auto refresh", "empty": "Empty directory", "entry.other": "Not a file or a directory, so it cannot be opened.", "error.notDirectory": "That is not a directory.", "error.notFound": "That directory is gone. It may have been moved or deleted.", "error.outsideWorkspace": "That directory is outside the workspace, so the sidebar will not read it.", "error.unavailable": "Read failed: {message}", "guide.description": "Browse files in this session's workspace", "guide.title": "Workspace files", "loading": "Reading…", "noWorkspace": "This session has no workspace directory.", "reload": "Reload", "shortcut.noSession": "Select a session first", "truncated": "Too many entries, showing only some of them.", "type.label": "Files" }, "sidebarImage": { "autoRefresh": "Auto refresh", "autoRefresh.disable": "Disable auto refresh", "autoRefresh.enable": "Enable auto refresh", "busy": "Office preview is busy. Try again shortly.", "changed": "The file changed while being read. Reopen the preview.", "charts": "charts", "closeDetails": "Close font details", "code.copied": "Copied", "code.copy": "Copy", "conditionalFormatting": "conditional formatting", "copied": "Copied", "copy": "Copy", "encoding": "This text encoding could not be read. Save the file as UTF-8 or UTF-16 with a BOM and retry.", "error.notFound": "File not found. It may have been moved or deleted.", "error.notRegularFile": "Not a regular file, nothing to display.", "error.notText": "Preview is not available for this file type yet.", "error.tooLarge": "This page exceeds the {limit} limit and cannot be read.", "error.unavailable": "Read failed: {message}", "failed": "Cannot display PDF: {message}", "featureSeparator": ", ", "footnotes": "Footnotes", "formulaWarning": "This workbook contains formulas. Displayed results may be missing or inaccurate.", "frame": "HTML document preview", "images": "images", "invalid": "This Office file cannot be previewed. It may be damaged, password protected, or have the wrong extension.", "language": "en", "loadMore": "Load more", "loading": "Rendering document...", "missingFontsCount": "Fonts: {count}", "missingFontsDescription": "These fonts are unavailable for this preview. Text and layout may differ from the original document.", "missingFontsTitle": "Missing fonts", "openWith": "Open with", "pageImage": "PDF page {page}", "password": "This PDF requires a password; password-protected previews are not supported.", "preview": "Image preview: {name}", "reload": "Read the file again", "reloadNow": "Reload", "rendererUnavailable": "The {name} preview is unavailable.", "rendering": "Rendering page…", "resourceUnavailable": "The file resource service is unavailable.", "retry": "Retry", "shapes": "shapes", "timeout": "Office conversion timed out. Try again.", "title": "PDF", "tooLarge": "The Office file or converted PDF exceeds the preview size limit. Reduce the file size or adjust the preview configuration.", "unavailable": "Office previews are unavailable. Enable the document preview service on the computer running DeepSeek Harness.", "unsupported": "PDF preview requires the complete file contents.", "unsupportedFile": "Preview is not available for this file type yet.", "unsupportedNotice": "This preview does not support {features} in this workbook. Open it in a system application for the full experience.", "viewMissingFonts": "Missing fonts: {count}. Click to view.", "viewer.label": "Markdown", "viewer.text": "Plain text", "workerFailed": "The PDF rendering process could not continue. Please retry.", "wrap.aria": "Line wrap", "wrap.disable": "Turn off line wrap", "wrap.enable": "Turn on line wrap", "zoomControls": "Zoom controls", "zoomFitWidth": "Fit width", "zoomIn": "Zoom in", "zoomMenu": "Choose zoom", "zoomOut": "Zoom out", "zoomValue": "{percent}%" }, "sidebarOffice": { "autoRefresh": "Auto refresh", "autoRefresh.disable": "Disable auto refresh", "autoRefresh.enable": "Enable auto refresh", "busy": "Office preview is busy. Try again shortly.", "changed": "The file changed while being read. Reopen the preview.", "charts": "charts", "closeDetails": "Close font details", "code.copied": "Copied", "code.copy": "Copy", "conditionalFormatting": "conditional formatting", "copied": "Copied", "copy": "Copy", "encoding": "This text encoding could not be read. Save the file as UTF-8 or UTF-16 with a BOM and retry.", "error.notFound": "File not found. It may have been moved or deleted.", "error.notRegularFile": "Not a regular file, nothing to display.", "error.notText": "Preview is not available for this file type yet.", "error.tooLarge": "This page exceeds the {limit} limit and cannot be read.", "error.unavailable": "Read failed: {message}", "failed": "Cannot display PDF: {message}", "featureSeparator": ", ", "footnotes": "Footnotes", "formulaWarning": "This workbook contains formulas. Displayed results may be missing or inaccurate.", "frame": "HTML document preview", "images": "images", "invalid": "This Office file cannot be previewed. It may be damaged, password protected, or have the wrong extension.", "language": "en", "loadMore": "Load more", "loading": "Rendering document...", "missingFontsCount": "Fonts: {count}", "missingFontsDescription": "These fonts are unavailable for this preview. Text and layout may differ from the original document.", "missingFontsTitle": "Missing fonts", "openWith": "Open with", "pageImage": "PDF page {page}", "password": "This PDF requires a password; password-protected previews are not supported.", "preview": "Image preview: {name}", "reload": "Read the file again", "reloadNow": "Reload", "rendererUnavailable": "The {name} preview is unavailable.", "rendering": "Rendering page…", "resourceUnavailable": "The file resource service is unavailable.", "retry": "Retry", "shapes": "shapes", "timeout": "Office conversion timed out. Try again.", "title": "PDF", "tooLarge": "The Office file or converted PDF exceeds the preview size limit. Reduce the file size or adjust the preview configuration.", "unavailable": "Office previews are unavailable. Enable the document preview service on the computer running DeepSeek Harness.", "unsupported": "PDF preview requires the complete file contents.", "unsupportedFile": "Preview is not available for this file type yet.", "unsupportedNotice": "This preview does not support {features} in this workbook. Open it in a system application for the full experience.", "viewMissingFonts": "Missing fonts: {count}. Click to view.", "viewer.label": "Markdown", "viewer.text": "Plain text", "workerFailed": "The PDF rendering process could not continue. Please retry.", "wrap.aria": "Line wrap", "wrap.disable": "Turn off line wrap", "wrap.enable": "Turn on line wrap", "zoomControls": "Zoom controls", "zoomFitWidth": "Fit width", "zoomIn": "Zoom in", "zoomMenu": "Choose zoom", "zoomOut": "Zoom out", "zoomValue": "{percent}%" }, "sidebarPdf": { "autoRefresh": "Auto refresh", "autoRefresh.disable": "Disable auto refresh", "autoRefresh.enable": "Enable auto refresh", "busy": "Office preview is busy. Try again shortly.", "changed": "The file changed while being read. Reopen the preview.", "charts": "charts", "closeDetails": "Close font details", "code.copied": "Copied", "code.copy": "Copy", "conditionalFormatting": "conditional formatting", "copied": "Copied", "copy": "Copy", "encoding": "This text encoding could not be read. Save the file as UTF-8 or UTF-16 with a BOM and retry.", "error.notFound": "File not found. It may have been moved or deleted.", "error.notRegularFile": "Not a regular file, nothing to display.", "error.notText": "Preview is not available for this file type yet.", "error.tooLarge": "This page exceeds the {limit} limit and cannot be read.", "error.unavailable": "Read failed: {message}", "failed": "Cannot display PDF: {message}", "featureSeparator": ", ", "footnotes": "Footnotes", "formulaWarning": "This workbook contains formulas. Displayed results may be missing or inaccurate.", "frame": "HTML document preview", "images": "images", "invalid": "This Office file cannot be previewed. It may be damaged, password protected, or have the wrong extension.", "language": "en", "loadMore": "Load more", "loading": "Rendering document...", "missingFontsCount": "Fonts: {count}", "missingFontsDescription": "These fonts are unavailable for this preview. Text and layout may differ from the original document.", "missingFontsTitle": "Missing fonts", "openWith": "Open with", "pageImage": "PDF page {page}", "password": "This PDF requires a password; password-protected previews are not supported.", "preview": "Image preview: {name}", "reload": "Read the file again", "reloadNow": "Reload", "rendererUnavailable": "The {name} preview is unavailable.", "rendering": "Rendering page…", "resourceUnavailable": "The file resource service is unavailable.", "retry": "Retry", "shapes": "shapes", "timeout": "Office conversion timed out. Try again.", "title": "PDF", "tooLarge": "The Office file or converted PDF exceeds the preview size limit. Reduce the file size or adjust the preview configuration.", "unavailable": "Office previews are unavailable. Enable the document preview service on the computer running DeepSeek Harness.", "unsupported": "PDF preview requires the complete file contents.", "unsupportedFile": "Preview is not available for this file type yet.", "unsupportedNotice": "This preview does not support {features} in this workbook. Open it in a system application for the full experience.", "viewMissingFonts": "Missing fonts: {count}. Click to view.", "viewer.label": "Markdown", "viewer.text": "Plain text", "workerFailed": "The PDF rendering process could not continue. Please retry.", "wrap.aria": "Line wrap", "wrap.disable": "Turn off line wrap", "wrap.enable": "Turn on line wrap", "zoomControls": "Zoom controls", "zoomFitWidth": "Fit width", "zoomIn": "Zoom in", "zoomMenu": "Choose zoom", "zoomOut": "Zoom out", "zoomValue": "{percent}%" }, "sidebarRight": { "chrome.collapse": "Collapse sidebar", "chrome.collapseAria": "Collapse right sidebar", "chrome.exitFullscreen": "Exit fullscreen", "chrome.expand": "Open sidebar", "chrome.expandAria": "Open right sidebar", "chrome.toFullscreen": "Fullscreen", "command.budget": "Two panes is the limit", "command.close": "Close current page or window", "command.collapsed": "Expand the right sidebar first", "command.empty": "Open a page first", "command.float": "This action is unavailable in a floating panel", "command.fullscreen": "Toggle panel fullscreen", "command.noFocus": "Focus a right sidebar pane first", "command.noRefresh": "This page cannot be refreshed", "command.noSession": "Select a session first", "command.refresh": "Refresh current page", "command.stale": "The page changed; focus it again", "command.toggle": "Toggle right sidebar", "command.width": "Not enough width to split, widen the sidebar", "dock.addTab": "New tab", "dock.closeFloat": "Close", "dock.closeTab": "Close", "dock.dockFloat": "Send back to the sidebar", "dock.drop.bottom": "Add bottom split", "dock.drop.center": "Move here", "dock.drop.left": "Add left split", "dock.drop.right": "Add right split", "dock.drop.top": "Add top split", "dock.emptyPane": "Empty pane", "dock.splitPane": "Split", "dock.splitPaneDisabled": "Two panes is the limit", "dock.splitPaneNarrow": "Not enough width to split, widen the sidebar", "tab.guide.title": "Start", "tab.unavailable": "Nothing here can view this kind of content yet." }, "sidebarTerminal": { "attachmentEnded": "The terminal connection ended. Reconnect to continue.", "cleanupFailed": "Terminal “{title}” could not be ended: {message}", "closed": "Terminal closed.", "connecting": "Connecting…", "control": "Take control", "creating": "Starting…", "description": "Run commands in the Session workspace", "disconnected": "Disconnected.", "exited": "Process exited ({code})", "failed": "Terminal error: {message}", "inputFull": "The input buffer is full. Reconnect and try again.", "invalidOutput": "The terminal screen could not be received. Reconnect to recover it.", "loading": "Reading terminal environment…", "missingTerminal": "This terminal no longer exists. Open a new terminal.", "new": "New terminal", "readonly": "This view is read-only.", "reconnect": "Reconnect", "recoveryFailed": "Terminal recovery failed: {message}", "rename": "Terminal name", "retry": "Retry", "retryRecovery": "Retry terminal recovery", "shell": "Choose shell", "shellEmpty": "No shells available", "shellLoading": "Loading shells…", "shortcut.noSession": "Select a session first", "terminalLimit": "The terminal limit has been reached. Close unused terminals and try again. Exited terminals also count toward the limit.", "title": "Terminal", "unavailable": "Unavailable" }, "skill": { "menu.userOnly": "user-only", "row.failed": "Skill load failed", "row.inspect": "Inspect", "row.instructions": "Instructions", "row.preparing": "Preparing to load a skill", "row.running": "Loading skill", "row.stopped": "Skill load stopped", "row.title": "Skill" }, "slash.menu": { "command": "Commands", "crumbs.aria": "Folder navigation", "drill.aria": "Browse folder", "drill.hint": "Browse folder", "drill.key": "Tab", "loading": "Loading…", "skill": "Skills", "subagent": "Subagents", "suggestions.aria": "Trigger suggestions" }, "subagent": { "activity.completed": "completed", "activity.inactive": "not running", "activity.running": "running", "branch.collapse": "Collapse {label} descendants", "branch.expand": "Expand {label} descendants", "catalog.migrationRequired": "Migration required", "count.running.one": "{count} subagent running", "count.running.other": "{count} subagents running", "count.total.one": "{count} subagent", "count.total.other": "{count} subagents", "duration.days": "{days}d", "duration.daysHours": "{days}d {hours}h", "duration.exactDays": "{days}d {hours}h {minutes}m {seconds}s", "duration.exactTitle": "Total active duration: {duration}", "duration.hours": "{hours}h {minutes}m {seconds}s", "duration.minutes": "{minutes}m {seconds}s", "duration.months": "~{months}mo", "duration.monthsDays": "~{months}mo {days}d", "duration.seconds": "{seconds}s", "duration.years": "~{years}y", "duration.yearsMonths": "~{years}y {months}mo", "load.error": "Unable to load subagents", "loading.label": "Loading subagents…", "mode.continuable": "continuable", "mode.external": "External task", "mode.oneShot": "one-shot", "mode.unknown": "unknown mode", "open.sidebar": "Open in sidebar", "open.sidebar.aria": "Open {label} in sidebar", "readonly.body": "The parent session is offline; reopen it to continue sending messages.", "readonly.oneShot.body": "One-shot tasks do not accept follow-ups; review the full execution record here.", "readonly.oneShot.title": "One-shot subagent record", "readonly.title": "This subagent is read-only for now", "readonly.unknown.body": "Read the child session to determine whether it can be continued.", "retry": "Retry", "sidebar.chat": "Chat", "switcher.aria": "Switch subagent: {title}", "tokens.million": "{value}M", "tokens.thousand": "{value}K", "tokens.total": "{value} tok", "tree.aria": "Subagent sessions" }, "trajectory": { "attachment.imageName": "Image {index}", "attachment.list": "Attachments", "block.label": "Block #{index} {type}", "block.openSummary": "Open Block #{index} tool call summary", "block.openSummaryTitle": "Open tool call summary", "code.copyOutput": "Copy output", "code.copySource": "Copy code", "code.originalJson": "Original JSON", "code.output": "Output", "code.running": "Running…", "code.source": "Code", "column.input": "Input", "column.model": "Model", "column.output": "Output", "column.think": "Think", "column.time": "Time", "column.tools": "Tools", "details.assistantMessage": "Assistant Message", "details.close": "Close details", "details.compacted": "Compacted", "details.error": "Error", "details.event": "Event details", "details.failure.auth": "API key is invalid", "details.hierarchy": "Hierarchy", "details.lastAttemptError": "Last attempt error", "details.model": "Model", "details.provider": "Provider", "details.purpose": "Purpose", "details.resize": "Resize event details", "details.resizeTitle": "Drag to resize. Double-click to reset.", "details.result": "Result", "details.retry": "Retry", "details.retryDelay": "Retry delay", "details.source": "Source", "details.status": "Status", "details.subtoolCalls": "Subtool calls", "details.toolCall": "Tool Call", "details.toolCalls": "Tool calls", "group.compaction": "Compaction {seq}", "group.message": "Message", "group.step": "Step {step}", "history.clickToLoadEarlier": "Click to load earlier history", "history.loadEarlier": "Load earlier history", "history.loadingEarlier": "Loading earlier history…", "history.loadingEarlierAria": "Loading earlier history…", "history.loadingTrajectory": "Loading trajectory…", "kind.assistant": "ASSISTANT", "kind.compacted": "COMPACTED", "kind.context": "CONTEXT", "kind.message": "Message", "kind.sub": "Sub", "kind.subtool": "SUBTOOL", "kind.system": "SYSTEM", "kind.tool": "TOOL", "kind.user": "USER", "layout.compacted": "Context compacted", "layout.compacting": "Compacting context…", "layout.compactionFailed": "Compaction failed", "layout.compactionInterrupted": "Compaction was interrupted before completion.", "layout.fileAttachments": "Files ×{count}", "layout.imageCount": "Images ×{count}", "layout.initialSystemPrompt": "Initial System Prompt", "layout.systemPromptAndToolsUpdated": "System Prompt and Tools Updated", "layout.systemPromptUpdated": "System Prompt Updated", "layout.toolAdded": "Tool added: {name}", "layout.toolCallOnly": "Tool call only", "layout.toolRemoved": "Tool removed: {name}", "layout.toolUpdateNotice": "Tools updated", "layout.toolsAdded": "Added: {names}", "layout.toolsAddedCount": "{count} added", "layout.toolsChanged": "{added} added, {removed} removed", "layout.toolsRemoved": "Removed: {names}", "layout.toolsRemovedCount": "{count} removed", "layout.toolsUpdated": "Tools Updated", "options.json": "Request options JSON", "options.notRecorded": "Options not recorded", "record.json": "JSON", "record.namedParametersJson": "{name} parameters JSON", "record.noContent": "No content", "record.noOutput": "No output", "record.noPayload": "No payload captured", "record.noResult": "No result captured", "record.outputJson": "Result JSON", "record.parameters": "Parameters", "record.parametersJson": "parameters JSON", "record.payloadJson": "Payload JSON", "record.resultJson": "Result JSON", "record.schemaUnavailable": "Schema unavailable", "record.systemPrompt": "System Prompt", "record.systemPromptMissing": "No system prompt in this request", "record.thinking": "Thinking", "record.toolCallOnly": "(tool call only)", "record.tools": "Tools", "record.toolsMissing": "No tools in this request", "record.wrapLines": "Wrap lines", "request.collapsedAssistant": "assistant", "request.collapsedSummary": "Collapsed {kind} summary, {summary}", "request.collapsedTurn": "turn", "request.compaction": "Compaction · {section}", "request.compactionPurpose": "Compaction", "request.label": "Request #{request}", "request.labelCompaction": "Request #{request} · Compaction", "request.noContent": "no content", "request.retryProgress": "{retry} of {maximum}", "request.rowAria": "{request}{kind}, {content}", "request.rowAriaCompaction": "Request {request}, compaction", "request.rowPrefix": "Request {request}, ", "section.betweenTurns": "Between turns", "source.goal": "Goal", "source.goalRound": "Goal · Round {round}", "source.messageJson": "Message source JSON", "source.notRecorded": "Source not recorded", "source.plugin": "Plugin", "source.pluginNamed": "Plugin · {plugin}", "source.unknown": "Unknown", "source.user": "User", "status.completed": "Completed", "status.failed": "Failed", "status.pending": "Pending", "summary.steps.one": "{count} step", "summary.steps.other": "{count} steps", "summary.toolCalls.one": "{count} tool call", "summary.toolCalls.other": "{count} tool calls", "tab.diff": "Diff", "tab.options": "Options", "tab.payload": "Payload", "tab.preview": "Preview", "tab.raw": "Raw", "tab.rawOutput": "Raw Output", "tab.result": "Result", "tab.schema": "Schema", "tab.source": "Source", "tab.summary": "Summary", "tab.systemPrompt": "System Prompt", "tab.timing": "Timing", "tab.tools": "Tools", "tab.usage": "Usage", "timeline.aria": "Trajectory timeline", "timeline.noTimingData": "No timing data", "timeline.overviewAria": "Timeline overview; drag horizontally to focus events", "timeline.started": "Started {time}", "timeline.total": "Total {duration}", "timeline.ttftDecoding": "TTFT {ttft} · Decoding {decoding}", "timing.duration": "Duration", "timing.durationTooShort": "Duration too short", "timing.firstTokenUnavailable": "First token unavailable", "timing.generation": "Generation", "timing.notAvailable": "Not available", "timing.notRecorded": "Not recorded", "timing.outputTokensUnavailable": "Output tokens unavailable", "timing.request": "Request Timing", "timing.sessionTimestamps": "Session timestamps", "timing.sessionTimestampsRunning": "Session timestamps (running)", "timing.showLocalTime": "Show local time", "timing.showUnixTimestamp": "Show Unix timestamp", "timing.source": "Timing source", "timing.started": "Started", "timing.stepStartUnavailable": "Step start unavailable", "timing.throughput": "Throughput", "timing.totalDuration": "Total duration", "timing.ttft": "TTFT", "timing.usageUnavailable": "Usage unavailable", "toolbar.actualTime": "Actual time", "toolbar.aria": "Trajectory toolbar", "toolbar.calls": "Calls", "toolbar.collapseCalls": "Collapse calls", "toolbar.collapseTurns": "Collapse turns", "toolbar.duration": "Duration", "toolbar.expandCalls": "Expand calls", "toolbar.expandTurns": "Expand turns", "toolbar.search": "Search trajectory", "toolbar.searchPlaceholder": "Search", "toolbar.turns": "Turns", "toolbar.useActualDuration": "Use actual duration", "toolbar.useEqualWidth": "Use equal-width operations", "turn.label": "Turn {turn}", "unit.milliseconds": "{value} ms", "unit.seconds": "{value} s", "unit.tokens": "{value} tok", "unit.tokensPerSecond": "{value} tok/s", "usage.cacheCreated": "Cache created", "usage.cached": "Cached", "usage.content": "Content", "usage.input": "Input", "usage.notReported": "Usage not reported", "usage.other": "Other", "usage.output": "Output", "usage.reasoning": "Reasoning", "usage.sessionCumulative": "Session cumulative", "usage.thisRequest": "This request", "usage.tokens": "Tokens", "view.trajectory": "Trajectory" }, "voice-input": { "auto": "Detect automatically", "cancel": "Cancel", "cancelPrepare": "Cancel preparation", "cancelled": "Voice input cancelled.", "cloud": "Audio will be sent to the selected cloud service.", "cloudReady": "Cloud speech recognition is ready.", "conflict": "Your draft changed. The transcript is preserved and can be inserted at the current cursor.", "deviceMissing": "Microphone unavailable. Choose another input device.", "deviceUnavailable": "Unavailable", "dictate": "Dictate", "discard": "Discard transcript", "download.certificate": "Cannot download {resource}: certificate verification failed.", "download.dns": "Cannot download {resource}: the download address could not be resolved.", "download.http": "Cannot download {resource}: the download service returned HTTP {status}.", "download.integrity": "The download of {resource} is incomplete or failed verification.", "download.network": "Cannot download {resource}: connection to the download service failed.", "download.storage": "Cannot save {resource}: insufficient disk space or write permission.", "download.timeout": "The download of {resource} timed out.", "download.unknown": "Could not prepare {resource}.", "downloadAdvice.certificate": "Check the system clock, trusted certificates and proxy settings on the machine running DSH, then retry.", "downloadAdvice.dns": "Check DNS and proxy settings on the machine running DSH. Confirm that it can resolve the download source domain, then retry.", "downloadAdvice.http": "Confirm that the download address is available and the proxy can reach the download service, or retry later.", "downloadAdvice.integrity": "Retry the download. Other completed and verified files are retained.", "downloadAdvice.network": "Check that the machine running DSH can reach the download source and its model download services. Configure a proxy on that machine if needed, then retry.", "downloadAdvice.storage": "Check available disk space and write permission for the model directory on the machine running DSH, then retry.", "downloadAdvice.timeout": "Check the network or proxy connection on the machine running DSH, then retry later. Verified downloaded files are retained.", "downloadAdvice.unknown": "Check the network, disk space and model directory permissions on the machine running DSH, then retry.", "downloadBytes": "Download: {completed} / {total} MB, {percent}%", "downloadCode": "Error code: {code}", "downloadProgress": "Download progress", "downloadSource": "Download source: {source}", "downloadUnknown": "Downloaded {completed} MB", "elapsed": "Waiting {seconds} seconds", "empty": "No speech recognized", "en": "English", "failed": "Speech recognition failed: {message}", "inputDevice": "Input device", "inputLevel": "Microphone input level", "insert": "Insert text", "interrupted": "Recording was interrupted. Please try again.", "ja": "Japanese", "ko": "Korean", "language": "Recognition language", "loading": "Loading recognition services…", "local": "Audio is recognized on the machine running DSH. If models need downloading, that machine must be able to reach the selected source and its file services. Configure a proxy on that machine if needed.", "permission": "Microphone access is disabled. Allow it in browser and system settings.", "preparation.cancelled": "Preparation cancelled. Completed downloads are retained.", "preparation.cancelling": "Cancelling preparation…", "preparation.checking": "Checking local resources…", "preparation.loading": "Loading {name}…", "preparation.ready": "Local speech recognition is ready.", "preparation.standby": "Local resources are prepared. Recording wakes the recognizer.", "preparation.unprepared": "First use downloads the local recognition models.", "preparation.waking": "Waking local speech recognition…", "preparationFailed": "Preparation failed: {message}", "preparationSteps": "Preparation steps", "prepare": "Download and prepare", "provider": "Recognition service", "reconnecting": "Connecting to speech recognition…", "recording": "Recording…", "requesting": "Allow microphone access to continue…", "retryPrepare": "Retry preparation", "retryRecording": "Record again", "setup.disk": "Disk space", "setup.diskValue": "Allow about {gb} GB for models, runtime, and download caches", "setup.estimateNote": "These are estimates; slow networks may take longer. Downloads are reused; idle models release memory by default.", "setup.local": "Local models will be downloaded to the machine running DSH. No Python or compiler is required.", "setup.memory": "Memory", "setup.memoryValue": "About {gb} GB with the model loaded; recognition may use more", "setup.time": "First setup", "setup.timeValue": "Allow roughly {min}–{max} minutes, depending on the network and machine", "setupPrompt.body": "Voice input is enabled. First use requires downloading and preparing local recognition models. Open the plugin details to review disk space, memory and time estimates before starting setup.", "setupPrompt.details": "Open voice plugin settings", "setupPrompt.later": "Later", "setupPrompt.open": "Go to setup", "setupPrompt.title": "Set up voice input before recording", "setupPrompt.trigger": "Open voice input setup", "setupPrompt.unavailableBody": "Open the voice plugin details to check recognition status, preparation progress, or errors.", "setupPrompt.unavailableTitle": "Speech recognition is not ready", "short.downloading": "Downloading", "short.failed": "Setup failed", "sourceAuto": "Automatic (recommended)", "sourceAutoHelp": "Prefer the first responding source and try another if a download fails.", "sourceChoice": "Model download source", "sourceHuggingFace": "Hugging Face", "sourceManualHelp": "Download only from the selected source. Verified downloaded files are reused.", "sourceMirror": "HF-Mirror (China mirror)", "start": "Start recording", "step.check": "Check local resources", "step.load": "Load {name}", "step.model": "Prepare recognition model", "step.vad": "Prepare voice detection model", "step.verify": "Verify model files", "stepStatus.cancelled": "Cancelled", "stepStatus.complete": "Completed", "stepStatus.failed": "Failed", "stepStatus.pending": "Not started", "stepStatus.running": "In progress", "stop": "Stop and transcribe", "systemMicrophone": "System default", "systemMicrophoneNamed": "System default ({name})", "tooLarge": "The recording exceeds the service limit. Try a shorter recording.", "transcribingShort": "Transcribing…", "unavailable": "This browser cannot record audio. Use a browser with microphone support.", "unnamedMicrophone": "Microphone {number}", "unnamedSelectedMicrophone": "Microphone", "wakingShort": "Waking…", "yue": "Cantonese", "zh": "Chinese" }, "workflowRun": { "member.empty": "Empty member name", "member.open": "Open {name}", "phase.empty": "Empty phase name", "phase.unassigned": "Unphased", "run.empty": "No members started", "run.members.one": "{count} member", "run.members.other": "{count} members", "run.title": "{name}", "status.cancelled": "Cancelled", "status.completed": "Completed", "status.failed": "Failed", "status.interrupted": "Interrupted", "status.running": "Running", "statusCount.cancelled": "Cancelled {count}", "statusCount.completed": "Completed {count}", "statusCount.failed": "Failed {count}", "statusCount.interrupted": "Interrupted {count}", "statusCount.running": "Running {count}" }, "workspace": { "actions.archive": "Archive", "actions.newSession": "New session", "actions.newSession.aria": "New session in {name}", "actions.pin": "Pin", "actions.session.aria": "Session actions for {name}", "actions.unarchive": "Unarchive", "actions.unpin": "Unpin", "actions.workspace.aria": "Workspace actions for {name}", "archive.confirm.action": "Stop and archive", "archive.confirm.activity": "Work that will be stopped", "archive.confirm.desc": "“{title}” still has work in progress. Archiving stops it first; you can restore the session later from the “All conversations (show archived)” filter in the sidebar, and the stopped work will not resume on its own.", "archive.confirm.jobs.one": "{n} background job: {names}", "archive.confirm.jobs.other": "{n} background jobs: {names}", "archive.confirm.listSeparator": ", ", "archive.confirm.other.one": "{n} other item of work ({kind})", "archive.confirm.other.other": "{n} other items of work ({kind})", "archive.confirm.pending": "Stopping and archiving…", "archive.confirm.schedules.one": "{n} scheduled reminder: {names}", "archive.confirm.schedules.other": "{n} scheduled reminders: {names}", "archive.confirm.subagents.one": "{n} running subagent: {names}", "archive.confirm.subagents.other": "{n} running subagents: {names}", "archive.confirm.title": "Stop and archive this session?", "archive.confirm.turn": "The turn in progress", "conflict.named": "A workspace named “{name}” already exists.", "date.ymd": "{y}-{m}-{d}", "defaultWorkspace.failed": "Unable to create default workspace. Use Choose workspace to select a folder.", "delete.desc": "This removes “{name}” from the workspace list. The folder and session logs will be kept. Its sessions will appear under Ungrouped.", "delete.pending": "Deleting workspace…", "delete.workspace": "Delete workspace", "draft.initializationFailed": "Could not fill the draft. Please try again shortly.", "draft.workspaceRequired": "Choose a workspace first.", "empty.noMatches": "No matches", "empty.none": "No sessions yet", "empty.noneArchived": "No archived sessions yet", "empty.viewOthers": "View other sessions", "field.sessionName": "Session name", "field.workspaceName": "Workspace name", "filterBy.label": "Filter sessions", "folderError.retry": "Choose again", "folderError.title": "Couldn’t open folder", "group.ungrouped": "Ungrouped", "groupBy.flat": "In one list", "groupBy.label": "Group by", "groupBy.workspace": "WorkSpace", "groupBy.workspaceTree": "Workspace Tree", "hover.copied": "Copied", "hover.created": "Created {time}", "menu.addWorkspace": "Add workspace…", "menu.archiveSession": "Archive session", "menu.fork": "Fork session", "menu.pinSession": "Pin session", "menu.unarchiveSession": "Unarchive session", "menu.unpinSession": "Unpin session", "orderBy.label": "Order by", "orderBy.manual": "Manual", "orderBy.updated": "Last updated", "picker.loading": "Loading workspaces…", "rename": "Rename", "rename.session.title": "Rename session", "rename.workspace.title": "Rename workspace", "row.archived": "Archived", "row.pinned": "Pinned", "search.clear": "Clear search", "search.hasMore": "Showing the first {n} results. Narrow your search.", "search.noMatches": "No matching sessions", "search.pending": "Searching session history…", "search.placeholder": "Search session names", "search.results.aria": "Search results", "search.sessions.aria": "Search sessions", "section.sessions": "Sessions", "section.workspaces": "Workspaces", "session.new": "New Session", "session.untitled": "Untitled", "sessions.collapse": "Show less", "sessions.count.one": "{n} session", "sessions.count.other": "{n} sessions", "sessions.expand": "Show {n} more sessions", "shortcut.directoryBusy": "Selecting or adding a workspace", "shortcut.forkFailed": "Could not fork the session. Try again.", "shortcut.noCompletedTurn": "This session has no completed turn", "shortcut.noPicker": "Directory picker unavailable", "shortcut.noSession": "Select a session first", "status.compact.answer": "Answer", "status.compact.approval": "Approval", "status.compact.planReview": "Plan review", "status.completed": "Completed", "status.idle": "Idle", "status.planReview": "Plan awaiting review", "status.running": "Running", "status.subagentsRunning.one": "{n} subagent running", "status.subagentsRunning.other": "{n} subagents running", "status.waitingAnswer": "Waiting for answer", "status.waitingApproval": "Waiting for approval", "time.ago": "{t} ago", "time.days": "{n}d", "time.hours": "{n}h", "time.minutes": "{n}min", "time.months": "{n}mo", "time.now": "now", "time.years": "{n}y", "toast.archived": "Session archived. You can ", "toast.archivedFilter": "filter archived sessions", "toast.archivedNotOpenable": "Archived sessions cannot be opened. Unarchive it to view.", "toast.archivedOr": " or ", "toast.archivedUndo": "undo", "toast.createFailed": "New session failed: {message}", "toast.forkRequiresOpen": "Open the original session to complete migration before creating a branch.", "toast.openForkSource": "Open original session", "toast.pinFailed": "Pin failed. Try again later.", "toast.stoppedAndArchived": "Session stopped and archived. You can ", "toast.unpinFailed": "Unpin failed. Try again later.", "viewOptions.hideArchived": "Hide archived", "viewOptions.label": "View options", "viewOptions.onlyArchived": "Archived only", "viewOptions.showArchived": "All conversations (show archived)", "workspace.add": "Add workspace" } }