| 1 | { |
| 2 | "ComposerPlaceholder": "Write a task or use /.", |
| 3 | "ComposerDispatchFailedRestored": "Message not sent ({error}); restored to composer.", |
| 4 | "DispatchFailedQueued": "Dispatch failed ({error}); kept {count} queued follow-up(s).", |
| 5 | "DispatchFailedInitial": "Initial prompt could not be sent: {error}", |
| 6 | "HistorySearchPlaceholder": "Search prompt history...", |
| 7 | "HistorySearchTitle": "History Search", |
| 8 | "HistoryHintMove": "Up/Down move", |
| 9 | "HistoryHintAccept": "Enter accept", |
| 10 | "HistoryHintRestore": "Esc restore", |
| 11 | "HistoryNoMatches": " No matches", |
| 12 | "StatusPickerTitle": " Status line ", |
| 13 | "StatusPickerInstruction": "Pick the chips you want in the footer:", |
| 14 | "StatusPickerActionToggle": "toggle ", |
| 15 | "StatusPickerActionAll": "all ", |
| 16 | "StatusPickerActionNone": "none ", |
| 17 | "StatusPickerActionSave": "save ", |
| 18 | "StatusPickerActionCancel": "cancel ", |
| 19 | "HotbarSetupTitle": " Hotbar setup ", |
| 20 | "HotbarSetupSourceApp": "app", |
| 21 | "HotbarSetupSourceSlash": "slash", |
| 22 | "HotbarSetupSourceMcp": "mcp", |
| 23 | "HotbarSetupSourceSkill": "skill", |
| 24 | "HotbarSetupSourcePlugin": "plugin", |
| 25 | "HotbarSetupStatusDisabled": "disabled", |
| 26 | "HotbarSetupStatusPrefill": "prefill", |
| 27 | "HotbarSetupStatusReady": "ready", |
| 28 | "HotbarSetupDirtyModified": "modified", |
| 29 | "HotbarSetupDirtyClean": "clean", |
| 30 | "HotbarSetupNoAction": "No action", |
| 31 | "HotbarSetupStatusLine": "slot {slot} | {action} | {dirty}", |
| 32 | "HotbarSetupSlotOutOfRange": "Hotbar slot {slot} is outside 1-{max}", |
| 33 | "HotbarSetupNoActionSelected": "No action selected.", |
| 34 | "HotbarSetupCannotAssign": "{action} cannot be assigned: {reason}", |
| 35 | "HotbarSetupNoActions": "No hotbar actions are available.", |
| 36 | "HotbarSetupRecommended": "rec", |
| 37 | "HotbarSetupEmptySlot": "empty", |
| 38 | "HotbarSetupHelp": "Tab/Shift+Tab source Up/Down action 1-8 slot Enter assign Space toggle Delete clear s save Esc cancel", |
| 39 | "HotbarActionVoiceToggleName": "Voice input", |
| 40 | "HotbarActionVoiceToggleDescription": "Toggle voice capture from the terminal microphone.", |
| 41 | "HotbarActionSessionCompactName": "Compact session", |
| 42 | "HotbarActionSessionCompactDescription": "Compact the current conversation context.", |
| 43 | "HotbarActionModePlanName": "Plan mode", |
| 44 | "HotbarActionModePlanDescription": "Think through a plan before acting.", |
| 45 | "HotbarActionModeAgentName": "Act mode", |
| 46 | "HotbarActionModeAgentDescription": "Do direct work in the current session.", |
| 47 | "HotbarActionModeYoloName": "Full Access (Act)", |
| 48 | "HotbarActionModeYoloDescription": "Compatibility: Act with Full Access permissions (not a separate mode).", |
| 49 | "HotbarActionReasoningCycleName": "Cycle reasoning", |
| 50 | "HotbarActionReasoningCycleDescription": "Cycle the configured reasoning effort for the active provider.", |
| 51 | "HotbarActionReasoningCycleAutoDisabled": "Reasoning effort is controlled by auto model routing.", |
| 52 | "HotbarActionSidebarToggleName": "Toggle sidebar", |
| 53 | "HotbarActionSidebarToggleDescription": "Show or hide the sidebar.", |
| 54 | "HotbarActionFileTreeToggleName": "Toggle file tree", |
| 55 | "HotbarActionFileTreeToggleDescription": "Show or hide the workspace file tree.", |
| 56 | "HotbarActionPaletteOpenName": "Command palette", |
| 57 | "HotbarActionPaletteOpenDescription": "Open the command palette.", |
| 58 | "HotbarActionTrustToggleName": "Toggle trust", |
| 59 | "HotbarActionTrustToggleDescription": "Enable or disable workspace trust mode.", |
| 60 | "ConfigTitle": "Config", |
| 61 | "ConfigModalTitle": " Config ", |
| 62 | "ConfigSearchPlaceholder": "type to filter", |
| 63 | "ConfigNoSettings": " No settings available.", |
| 64 | "ConfigNoMatchesPrefix": " No settings match ", |
| 65 | "ConfigFilteredSettings": " Filtered settings", |
| 66 | "ConfigShowing": " Showing", |
| 67 | "ConfigFooterDefault": " type=filter, Up/Down=select, Enter/e=edit, Esc/q=close ", |
| 68 | "ConfigFooterScrollable": " type=filter, Up/Down=select, Enter/e=edit, PgUp/PgDn=scroll, Esc/q=close ", |
| 69 | "ConfigFooterFiltered": " type=filter, Backspace=delete, Ctrl+U/Esc=clear, Enter=edit ", |
| 70 | "ConfigSectionProvider": "Provider", |
| 71 | "ConfigSectionModel": "Model", |
| 72 | "ConfigSectionPermissions": "Permissions", |
| 73 | "ConfigSectionNetwork": "Network", |
| 74 | "ConfigSectionDisplay": "Display", |
| 75 | "ConfigSectionComposer": "Composer", |
| 76 | "ConfigSectionSidebar": "Sidebar", |
| 77 | "ConfigSectionHistory": "History", |
| 78 | "ConfigSectionMcp": "MCP", |
| 79 | "ConfigSectionFleet": "Fleet", |
| 80 | "ConfigSectionWorkflow": "Workflow", |
| 81 | "ConfigSectionSession": "Session", |
| 82 | "ConfigSectionLegacy": "Legacy", |
| 83 | "ConfigSectionExperimental": "Experimental", |
| 84 | "ConfigScopeSession": "SESSION", |
| 85 | "ConfigScopeSaved": "SAVED", |
| 86 | "ConfigEditCancelled": "Edit cancelled", |
| 87 | "ConfigEditTitlePrefix": "Edit ", |
| 88 | "ConfigEditScopeLabel": "Scope: ", |
| 89 | "ConfigEditCurrentLabel": "Current: ", |
| 90 | "ConfigEditHintLabel": "Hint: ", |
| 91 | "ConfigEditNewLabel": "New: ", |
| 92 | "ConfigEditFooter": " Enter=apply, Esc=cancel, Ctrl+U=clear, Ctrl+A=all, ←,/→,=move ", |
| 93 | "ConfigLocalePartialBadge": "partial", |
| 94 | "ConfigLocalePartialDetail": "Partial translation pack; missing strings fall back to English.", |
| 95 | "ConfigRowEffective": " (effective {currency})", |
| 96 | "ConfigDefaultValue": "(default)", |
| 97 | "ConfigDefaultReasoning": "(config/default)", |
| 98 | "ConfigUnavailable": "(unavailable)", |
| 99 | "ConfigLabelProvider": "Active provider", |
| 100 | "ConfigLabelBaseUrlDeepseek": "Provider API URL (DeepSeek route)", |
| 101 | "ConfigLabelProviderUrl": "Provider API URL", |
| 102 | "ConfigLabelModel": "Active provider model", |
| 103 | "ConfigLabelFastModel": "Fast model (derived)", |
| 104 | "ConfigLabelDefaultModel": "Legacy fallback model (DeepSeek routes only)", |
| 105 | "ConfigLabelReasoningEffort": "Reasoning level", |
| 106 | "ConfigLabelApprovalMode": "This session's permission", |
| 107 | "ConfigLabelPermissionPosture": "New sessions' permission", |
| 108 | "ConfigLabelApprovalPolicy": "New sessions' permission (config)", |
| 109 | "ConfigLabelManagedApprovalPolicy": "New sessions' permission (managed)", |
| 110 | "ConfigLabelDefaultMode": "Startup mode", |
| 111 | "ConfigLabelAllowShell": "Shell access", |
| 112 | "ConfigLabelManagedAllowShell": "Shell access (managed)", |
| 113 | "ConfigLabelStreamTimeout": "Stream timeout", |
| 114 | "ConfigLabelTheme": "Theme", |
| 115 | "ConfigLabelLocale": "Language", |
| 116 | "ConfigLabelBackground": "Background", |
| 117 | "ConfigLabelOceanTreatment": "Ocean treatment", |
| 118 | "ConfigLabelWorkSurfacePlacement": "Sidebar position", |
| 119 | "ConfigLabelTopHeight": "Top bar height", |
| 120 | "ConfigLabelSideWidth": "Side bar width", |
| 121 | "ConfigLabelCalmMode": "Quiet transcript", |
| 122 | "ConfigLabelLowMotion": "Reduce motion", |
| 123 | "ConfigLabelFancyAnimations": "Live UI motion", |
| 124 | "ConfigLabelLaunchScreen": "Launch screen", |
| 125 | "ConfigLabelShowThinking": "Model reasoning in chat", |
| 126 | "ConfigLabelThinkingHighlight": "Reasoning background highlight", |
| 127 | "ConfigLabelShowToolDetails": "Tool detail level", |
| 128 | "ConfigLabelInlineDiffs": "Inline file changes", |
| 129 | "ConfigLabelStatusIndicator": "Status indicator", |
| 130 | "ConfigLabelSynchronizedOutput": "Output pacing", |
| 131 | "ConfigLabelCostCurrency": "Cost currency", |
| 132 | "ConfigLabelTranscriptSpacing": "Transcript spacing", |
| 133 | "ConfigLabelToolCollapse": "Tool cards", |
| 134 | "ConfigLabelComposerDensity": "Composer density", |
| 135 | "ConfigLabelComposerBorder": "Composer border", |
| 136 | "ConfigLabelComposerVimMode": "Composer Vim mode", |
| 137 | "ConfigLabelBracketedPaste": "Bracketed paste", |
| 138 | "ConfigLabelPasteBurstDetection": "Paste detection", |
| 139 | "ConfigLabelMentionMenuLimit": "Mention menu limit", |
| 140 | "ConfigLabelMentionMenuBehavior": "Mention menu behavior", |
| 141 | "ConfigLabelMentionWalkDepth": "File mention depth", |
| 142 | "ConfigLabelWorkspaceFollowSymlinks": "Follow symlinks", |
| 143 | "ConfigLabelSidebarWidth": "Sidebar width", |
| 144 | "ConfigLabelSidebarFocus": "Sidebar focus", |
| 145 | "ConfigLabelContextPanel": "Context panel", |
| 146 | "ConfigLabelSessionsRail": "Sessions rail", |
| 147 | "ConfigLabelSessionAutoResume": "Auto-resume last session", |
| 148 | "ConfigLabelAutoCompact": "Auto compact", |
| 149 | "ConfigLabelAutoCompactThreshold": "Compact threshold", |
| 150 | "ConfigLabelMaxHistory": "Input history", |
| 151 | "ConfigLabelMcpConfigPath": "MCP config path", |
| 152 | "ConfigLabelFleetSpawnDepth": "Fleet recursion depth", |
| 153 | "ConfigLabelGoalCommand": "Goal command", |
| 154 | "ConfigLabelWorkflow": "Workflow", |
| 155 | "ConfigLabelFeaturePrefix": "Feature: {name}", |
| 156 | "ConfigColumnSetting": "Setting", |
| 157 | "ConfigColumnValue": "Value", |
| 158 | "ConfigColumnScope": "Scope", |
| 159 | "ConfigActionOpenProvider": "Enter opens provider picker", |
| 160 | "ConfigActionOpenModel": "Enter opens model picker", |
| 161 | "ConfigActionToggle": "Enter/Space toggles", |
| 162 | "ConfigActionChoose": "Enter opens choices", |
| 163 | "ConfigActionEdit": "Enter edits", |
| 164 | "ConfigActionReadOnly": "read only", |
| 165 | "ModelPickerAutoNetworkHint": "per turn · runnable providers · request + recent context → DeepSeek / deepseek-v4-flash", |
| 166 | "ModelPickerAutoNetworkActiveProviderHint": "per turn · active provider only · request + recent context → {provider} / {model}", |
| 167 | "ModelPickerAutoLocalHint": "per turn · local heuristic · no router request", |
| 168 | "ModelPickerAutoLastRoute": "last {provider} · {model}", |
| 169 | "AutoRouteSelectedToast": "Auto: {provider} / {model} via {source} · Ctrl+O: route details", |
| 170 | "HelpTitle": "Help", |
| 171 | "HelpFilterPlaceholder": "Type to filter", |
| 172 | "HelpFilterPrefix": "Filter: ", |
| 173 | "HelpNoMatches": " No matches.", |
| 174 | "HelpSlashCommands": "Slash commands", |
| 175 | "HelpKeybindings": "Keybindings", |
| 176 | "HelpUserCommands": "User commands", |
| 177 | "HelpSkills": "Skills", |
| 178 | "HelpFooterTypeFilter": " type to filter ", |
| 179 | "HelpFooterMove": " Up/Down move ", |
| 180 | "HelpFooterJump": " PgUp/PgDn jump ", |
| 181 | "HelpFooterClose": " Esc close ", |
| 182 | "CmdAnchorDescription": "Pin a fact that survives compaction (auto-injected into context)", |
| 183 | "CmdAttachDescription": "Attach image/video media; use @path for text files or directories", |
| 184 | "CmdCacheDescription": "Show prefix-cache hit/miss stats for the last N turns", |
| 185 | "CmdPreviewRequestDescription": "Preview the next request as a redacted manifest without sending it", |
| 186 | "CmdToolsDescription": "Inspect a bounded projection of the latest prepared tool request (read-only)", |
| 187 | "CmdEffortDescription": "Set the model's reasoning effort level (also /thinking)", |
| 188 | "CmdChangeDescription": "Show the latest changelog entry", |
| 189 | "CmdChangeHeader": "Latest Changelog", |
| 190 | "CmdChangeTranslationQueued": "English release notes are shown below. A translated version will be requested next; if the provider is unavailable, this English text is the fallback.", |
| 191 | "CmdChangeTranslationUnavailable": "English release notes are shown below. Translation is unavailable because the current session has no API key or is offline.", |
| 192 | "CmdChangePreviousVersion": "Previous version: {version} — run `/change {version}` to view it", |
| 193 | "CmdBalanceDescription": "Check the active provider account balance", |
| 194 | "CmdClearDescription": "Clear conversation history", |
| 195 | "CmdCompactDescription": "Trigger context compaction to free up space", |
| 196 | "CmdPurgeDescription": "Let the agent surgically prune conversation history to free context space", |
| 197 | "CmdConfigDescription": "Inspect and change settings (raw keys as advanced detail)", |
| 198 | "CmdPermissionsDescription": "List and safely remove permission rules", |
| 199 | "PermissionsListHeader": "Permission rules\nSource: active user permissions.toml\nPath: {path}\nFile status: {file_state}\nRule count: {count}", |
| 200 | "PermissionsNoRules": "No permission rules configured.", |
| 201 | "PermissionsFileMissing": "missing", |
| 202 | "PermissionsFileEmpty": "empty", |
| 203 | "PermissionsFilePresent": "present", |
| 204 | "PermissionsRuleEntry": "#{index} | {action} | {tool}\n Effective match: {matcher}\n Scope: {scope} — {applicability}", |
| 205 | "PermissionsMatchExactCommand": "exact command `{command}`", |
| 206 | "PermissionsMatchCommandPrefix": "command prefix `{command}` (argument-aware)", |
| 207 | "PermissionsMatchExactPath": "exact normalized path `{path}`", |
| 208 | "PermissionsMatchAnyInvocation": "any invocation of this tool", |
| 209 | "PermissionsScopeGlobal": "global", |
| 210 | "PermissionsScopeRepo": "repo `{workspace}`", |
| 211 | "PermissionsAppliesHere": "active in this workspace", |
| 212 | "PermissionsInactiveHere": "not active in this workspace", |
| 213 | "PermissionsRemovePreview": "Review removal of rule #{index}:\n{rule}\n\nRun `{command}` to confirm. This command expires if permissions.toml changes.", |
| 214 | "PermissionsRemoved": "Removed permission rule #{index}: {action} {tool}.", |
| 215 | "PermissionsUsage": "Usage: /permissions [list|remove <rule-number> [--confirm <token>]]", |
| 216 | "PermissionsRuleNotFound": "Permission rule #{index} was not found; run `/permissions list` again.", |
| 217 | "PermissionsOperationFailed": "Permission rule operation failed: {error}", |
| 218 | "CmdConstitutionDescription": "Manage standing constitution law and previews", |
| 219 | "CmdContextDescription": "Open context inspector or source-map report", |
| 220 | "CmdCostDescription": "Show session cost breakdown", |
| 221 | "CmdDiffDescription": "Show file changes since session start", |
| 222 | "CmdEditDescription": "Revise and resubmit the last message", |
| 223 | "CmdExitDescription": "Exit the application", |
| 224 | "CmdExportDescription": "Copy a safe conversation export, or write it to an explicit file", |
| 225 | "CmdFeedbackDescription": "Generate a GitHub feedback URL", |
| 226 | "CmdHfDescription": "Inspect Hugging Face MCP setup and concepts", |
| 227 | "CmdHelpDescription": "Understand concepts, commands, and keybindings", |
| 228 | "CmdProfileDescription": "Switch to a named config profile", |
| 229 | "CmdHomeDescription": "Show home dashboard with stats and quick actions", |
| 230 | "CmdHooksDescription": "List configured lifecycle hooks (read-only)", |
| 231 | "CmdAgentDescription": "Open a persistent sub-agent session", |
| 232 | "CmdGoalDescription": "Set a session goal with optional token budget", |
| 233 | "CmdInitDescription": "Generate AGENTS.md for project", |
| 234 | "CmdLspDescription": "Toggle LSP diagnostics on or off", |
| 235 | "CmdShareDescription": "Export current session as a shareable web URL", |
| 236 | "CmdJobsDescription": "Inspect and control background Bash jobs", |
| 237 | "CmdLinksDescription": "Show Codewhale, community, and provider links", |
| 238 | "CmdLoadDescription": "Load session from file", |
| 239 | "CmdLogoutDescription": "Clear API key and return to setup", |
| 240 | "CmdMcpDescription": "Open or manage MCP servers", |
| 241 | "CmdPluginDescription": "Inspect and manage trusted plugin bundles; legacy executable tools stay separate", |
| 242 | "CmdPluginBundleUsage": "Usage: /plugin [list|show <name>|validate [name]|install <spec>|update <name>|uninstall <name>|trust <name> [review-token]|enable <name>|disable <name>|revoke <name>|reload|tools [name]]", |
| 243 | "CmdPluginBundleNoneFound": "No Codewhale plugin bundles discovered.", |
| 244 | "CmdPluginBundleListHeader": "Plugin bundles ({count}):", |
| 245 | "CmdPluginLegacyListHeader": "Legacy executable plugin tools ({count}) in {dir}:", |
| 246 | "CmdPluginBundleNotFound": "Plugin bundle '{name}' not found", |
| 247 | "CmdPluginBundleReloaded": "Reloaded {count} plugin bundles for {workspace}.", |
| 248 | "CmdPluginBundleDetail": "{name}\n========================================\nID: {id}\nVersion: {version}\nSource: {origin} ({scope})\nState: {state}\nTrust: {trust}\nComponents: {inventory}\nRequested permissions: {permissions}\nMCP servers: {mcp}\nUnsupported/inactive: {unsupported}\nContent hash: {content_hash}\nCapability hash: {capability_hash}\nPath: {path}", |
| 249 | "CmdPluginBundleDiagnosticsHeader": "Plugin diagnostics ({count}):", |
| 250 | "CmdPluginBundleMutationSuccess": "Plugin bundle '{name}': {action}.", |
| 251 | "CmdPluginActionFailed": "Plugin action failed: {error}", |
| 252 | "CmdPluginNoneFound": "No legacy executable plugin tools discovered in {dir}", |
| 253 | "CmdPluginNotFound": "Plugin '{name}' not found", |
| 254 | "CmdPluginListHeader": "Legacy executable plugin tools ({count}):", |
| 255 | "CmdPluginDetailDescription": "Description: {description}", |
| 256 | "CmdPluginDetailSchema": "Schema:\n{schema}", |
| 257 | "CmdPluginDetailApproval": "Approval: {approval}", |
| 258 | "CmdPluginDetailPath": "Path: {path}", |
| 259 | "CmdMemoryDescription": "Inspect or manage the persistent user-memory file", |
| 260 | "CmdModeDescription": "Switch posture or open the mode picker", |
| 261 | "CmdModelDescription": "Switch or view current model", |
| 262 | "CmdModelsDescription": "Fetch live model IDs from the active API", |
| 263 | "CmdModelDbDescription": "Browse the bundled model database", |
| 264 | "CmdNetworkDescription": "Manage network allow and deny rules", |
| 265 | "CmdNoteDescription": "Add, list, edit, or remove workspace notes", |
| 266 | "CmdThemeDescription": "Switch theme or open the theme picker", |
| 267 | "CmdProviderDescription": "Switch the active provider and/or model", |
| 268 | "CmdAuthDescription": "Manage provider authentication flows", |
| 269 | "CmdQueueDescription": "View or edit queued messages", |
| 270 | "CmdQueueUsage": "Usage: /queue [list|send <n>|edit <n>|drop <n>|clear]", |
| 271 | "CmdQueueDraftHeader": "Editing queued message:", |
| 272 | "CmdQueueNoMessages": "No queued messages", |
| 273 | "CmdQueueListHeader": "Queued messages ({count}):", |
| 274 | "CmdQueueTip": "Tip: /queue send <n> to send now, /queue drop <n> to remove", |
| 275 | "CmdQueueAlreadyEditing": "Already editing a queued message. Send it or /queue clear to discard.", |
| 276 | "CmdQueueNotFound": "Queued message not found", |
| 277 | "CmdQueueEditingStatus": "Editing queued message {index}", |
| 278 | "CmdQueueEditingMessage": "Editing queued message {index} (press Enter to re-queue/send)", |
| 279 | "CmdQueueDropped": "Dropped queued message {index}", |
| 280 | "CmdQueueAlreadyEmpty": "Queue already empty", |
| 281 | "CmdQueueCleared": "Queue cleared", |
| 282 | "CmdQueueMissingIndex": "Missing index. Usage: /queue edit <n> or /queue drop <n>", |
| 283 | "CmdQueueIndexPositive": "Index must be a positive number", |
| 284 | "CmdQueueIndexMin": "Index must be >= 1", |
| 285 | "CmdRelayDescription": "Create a session relay (接力) for a fresh thread", |
| 286 | "CmdRemoteControlDescription": "Resume this exact session from your Codewhale web account", |
| 287 | "CmdRenameDescription": "Rename the current session", |
| 288 | "CmdRestoreDescription": "Roll back the workspace to a prior pre/post-turn snapshot. With no arg, lists recent snapshots.", |
| 289 | "CmdRetryDescription": "Retry the last request", |
| 290 | "CmdReviewDescription": "Run a structured code review on a file, diff, or PR", |
| 291 | "CmdRlmDescription": "Open a persistent RLM context for a file or text", |
| 292 | "CmdSaveDescription": "Save session to file", |
| 293 | "CmdForkDescription": "Fork the active conversation into a sibling session", |
| 294 | "CmdNewDescription": "Start a fresh saved session", |
| 295 | "CmdSessionsDescription": "Open session history picker", |
| 296 | "CmdSettingsDescription": "Open the typed settings editor", |
| 297 | "CmdSidebarDescription": "Place the rail (top/left/right/off) or pick its panel", |
| 298 | "CmdSkillDescription": "Activate a skill, or install/update/uninstall/trust a community skill", |
| 299 | "CmdSkillsDescription": "List local skills, filter by prefix, or browse the curated remote registry", |
| 300 | "CmdStashDescription": "Park or restore a composer draft", |
| 301 | "CmdStatusDescription": "Show runtime session status", |
| 302 | "CmdStatuslineDescription": "Configure which items appear in the footer", |
| 303 | "CmdStructcopyDescription": "Copy one bounded session object as redacted canonical JSON (human-only, never a model tool)", |
| 304 | "CmdStructcopyKindTurn": "turn", |
| 305 | "CmdStructcopyKindTool": "tool call", |
| 306 | "CmdStructcopyKindPlan": "Plan", |
| 307 | "CmdStructcopyKindWorkflow": "Workflow run", |
| 308 | "CmdStructcopyUsageError": "Invalid structural-copy request. Usage: {usage}", |
| 309 | "CmdStructcopyUnavailable": "The selected {kind} is unavailable; nothing was copied", |
| 310 | "CmdStructcopyBusy": "The {kind} state is busy; try again", |
| 311 | "CmdStructcopyPrepareFailed": "Could not prepare the selected {kind}: {error}", |
| 312 | "CmdStructcopyClipboardQueued": "Structural copy ({kind}, {bytes} bytes) was queued for the terminal-client clipboard via tmux/OSC 52; delivery depends on terminal support and is not confirmed", |
| 313 | "CmdStructcopyClipboardAccepted": "Structural copy ({kind}, {bytes} bytes) was handed to the clipboard; if no native clipboard was reachable, a terminal write was queued instead", |
| 314 | "CmdStructcopyClipboardFailed": "Clipboard copy failed: {error}. Nothing was written; run again with `stdout` for an explicit text view", |
| 315 | "CmdStructcopyReceiptTooLarge": "Structural-copy receipt metadata exceeds the {bytes}-byte output cap; refusing to emit it", |
| 316 | "CmdFleetDescription": "Inspect and set up Fleet workers and orchestration state", |
| 317 | "CmdLaneDescription": "Inspect and control durable Lanes (running Workflows)", |
| 318 | "CmdWorkflowDescription": "Orchestrate the current work as a workflow", |
| 319 | "CmdHotbarDescription": "Open Hotbar setup", |
| 320 | "CmdSetupDescription": "Open constitution-first setup", |
| 321 | "CmdSubagentsDescription": "Compatibility shortcut for Fleet status", |
| 322 | "CmdAdvisorDescription": "Toggle background advisor watcher on/off for this session", |
| 323 | "CmdSystemDescription": "Show current system prompt", |
| 324 | "CmdTaskDescription": "Manage background tasks", |
| 325 | "CmdTokensDescription": "Show token usage for session", |
| 326 | "CmdTranslateDescription": "Toggle output translation to the current system language on/off", |
| 327 | "CmdTranslateOff": "Output translation disabled (original model output shown)", |
| 328 | "CmdTranslateOn": "Output translation enabled: model responses will be shown in your system language", |
| 329 | "TranslationInProgress": "Translating assistant output...", |
| 330 | "TranslationComplete": "Translation complete", |
| 331 | "TranslationFailed": "Translation failed", |
| 332 | "CmdTrustDescription": "Manage workspace trust and the per-path allowlist", |
| 333 | "CmdWorkspaceDescription": "Show or switch the current workspace", |
| 334 | "CmdUndoDescription": "Remove last message pair", |
| 335 | "CmdVerboseDescription": "Toggle full live thinking in the transcript", |
| 336 | "CmdCacheAdvice": "Hit/miss ratios over ~70% after the third turn indicate a stable cache prefix; \n lower than that on long sessions suggests prefix churn worth investigating (#263).", |
| 337 | "CmdCacheFootnote": "* miss inferred from input − hit when the provider did not report it explicitly.\n", |
| 338 | "CmdCacheHeader": "Cache telemetry — last {count} of {total} turn(s) (model: {model})\n", |
| 339 | "CmdCacheNoData": "Cache history: no turns recorded yet.\n\nSupported providers report `prompt_cache_hit_tokens` / `prompt_cache_miss_tokens` on API turns. Run a turn and try /cache again.", |
| 340 | "CmdCacheTotals": "Σ in: {sum_in} Σ hit: {sum_hit} Σ miss: {sum_miss} avg hit ratio: {avg}\n", |
| 341 | "CmdCostReport": "Session Cost:\n ─────────────────────────────\n Estimated total: {cost}\n\n Based on audited provider-reported usage and published rates.", |
| 342 | "CmdCostReportSubtotal": "Session Cost:\n ─────────────────────────────\n Priced subtotal: {cost}\n\n One or more money-metered turns are not included; see coverage below.", |
| 343 | "CmdCostReportUnknown": "Session Cost:\n ─────────────────────────────\n Estimated total: unknown\n\n No turn has an authoritative price in the selected currency.", |
| 344 | "CmdCostUnknownValue": "unknown", |
| 345 | "CmdCostEstimateOnly": "This is an estimate, not a bill: it is computed locally from provider-reported token usage and published rates, and can differ from your invoice.", |
| 346 | "CmdCostCoverage": "Covered: {priced} of {turns} money-metered turn(s) priced.", |
| 347 | "CmdCostUnpricedTurns": "Excluded: {unpriced} money-metered turn(s) had no authoritative price ({reasons}); their spend is missing from the total above.", |
| 348 | "CmdCostUnpricedClasses": "Unpriced token class(es) seen this session: {classes}. Turns using them fail closed instead of under-reporting.", |
| 349 | "CmdCostCoverageUnknownLegacy": "Coverage: unknown. This session was saved before per-turn pricing coverage was recorded, so how much of the total above is accounted for cannot be established.", |
| 350 | "CmdCostPricingProvenance": "Pricing sources used: {sources}.", |
| 351 | "CmdCostLivePricingDowngraded": "Live provider pricing could not be verified for this route ({defects}); the bundled published rates were used instead.", |
| 352 | "CmdCostLivePricingUnavailable": "Live provider pricing could not be verified for this route ({defects}), and no usable bundled rate was available; this spend is unknown.", |
| 353 | "CmdCostRoutesHeader": "Audited routes (redacted):", |
| 354 | "CmdTokensCacheBoth": "{hit} hit / {miss} miss", |
| 355 | "CmdTokensCacheHitOnly": "{hit} hit / miss not reported", |
| 356 | "CmdTokensCacheMissOnly": "hit not reported / {miss} miss", |
| 357 | "CmdTokensCacheWriteTotal": "Cache-write (cache-creation) tokens this session: {write}. Billed above the input rate where the provider publishes a write premium; see /cache for the per-turn breakdown.", |
| 358 | "CmdTokensContextUnknownWindow": "~{estimated} / unknown window", |
| 359 | "CmdTokensContextWithWindow": "~{used} / {window} ({percent}%)", |
| 360 | "FooterAgentSingular": "1 agent", |
| 361 | "FooterAgentsPlural": "{count} agents", |
| 362 | "HeaderAgentsChip": "agents {count}", |
| 363 | "FooterPressCtrlCAgain": "Press Ctrl+C again to quit", |
| 364 | "FooterWorking": "working", |
| 365 | "FooterBalancePrefix": "balance", |
| 366 | "HelpSectionActions": "Actions", |
| 367 | "HelpSectionClipboard": "Clipboard", |
| 368 | "HelpSectionEditing": "Input editing", |
| 369 | "HelpSectionHelp": "Help", |
| 370 | "HelpSectionModes": "Modes", |
| 371 | "HelpSectionNavigation": "Navigation", |
| 372 | "HelpSectionSessions": "Sessions", |
| 373 | "CmdTokensNotReported": "not reported", |
| 374 | "CmdTokensReport": "Token Usage:\n ─────────────────────────────\n Active context: {active}\n Last API input: {input} (turn telemetry; may count repeated prefix across tool rounds)\n Last API output: {output}\n Cache hit/miss: {cache} (telemetry/cost only)\n Cumulative tokens: {total} (session usage telemetry)\n Priced amount: {cost}\n API messages: {api_messages}\n Chat messages: {chat_messages}\n Model: {model}", |
| 375 | "KbScrollTranscript": "Scroll transcript, navigate input history, or select composer attachments", |
| 376 | "KbNavigateHistory": "Navigate input history", |
| 377 | "KbBrowseHistory": "Browse conversation history", |
| 378 | "KbScrollTranscriptAlt": "Scroll transcript", |
| 379 | "KbScrollPage": "Scroll transcript by page", |
| 380 | "KbJumpTopBottom": "Jump to top / bottom of transcript", |
| 381 | "KbJumpTopBottomEmpty": "Jump to top / bottom (when input is empty)", |
| 382 | "KbJumpToolBlocks": "Jump between tool output blocks", |
| 383 | "KbMoveCursor": "Move cursor in composer", |
| 384 | "KbJumpLineStartEnd": "Jump to start / end of line", |
| 385 | "KbDeleteChar": "Delete character before / after the cursor, or remove selected attachment", |
| 386 | "KbDeleteWord": "Delete the previous word", |
| 387 | "KbYank": "Yank from the kill buffer; with an empty composer, copy the focused transcript cell", |
| 388 | "KbToggleFileTree": "Toggle the file-tree sidebar", |
| 389 | "KbSelectText": "Select text; add Ctrl/Alt to select by word", |
| 390 | "KbSelectAllDraft": "Select the whole draft", |
| 391 | "KbClearDraft": "Clear the current draft", |
| 392 | "KbRestoreClearedDraft": "Restore the cleared draft", |
| 393 | "KbStashDraft": "Stash the current draft (`/stash pop` to restore)", |
| 394 | "KbSearchHistory": "Search prompt history and recover local drafts", |
| 395 | "KbInsertNewline": "Insert a newline in the composer", |
| 396 | "KbSendDraft": "Send when idle; queue while busy; empty composer sends the next queued follow-up now", |
| 397 | "KbSteerCurrentTurn": "Steer the current turn (sends normally while idle)", |
| 398 | "KbCloseMenu": "Close menu, cancel request, discard draft, or clear input", |
| 399 | "KbCancelOrExit": "Cancel request, or exit when idle", |
| 400 | "KbShellControls": "Move the running shell wait to /jobs", |
| 401 | "KbExitEmpty": "Exit when input is empty", |
| 402 | "KbCommandPalette": "Open the command palette", |
| 403 | "KbSettings": "Open the typed settings editor", |
| 404 | "KbCancelBackgroundShellJobs": "Cancel all running background shell jobs (Activity sidebar)", |
| 405 | "KbFuzzyFilePicker": "Open the fuzzy file picker (insert @path on Enter)", |
| 406 | "KbCompactInspector": "Open compact session context inspector", |
| 407 | "KbCompactContext": "Compact the conversation context", |
| 408 | "KbLastMessagePager": "Open pager for the last message (when input is empty)", |
| 409 | "KbSelectedDetails": "Show raw detail for the selected tool or message; Ctrl+Alt+O opens the whole-turn overview", |
| 410 | "KbToolDetailsPager": "Show raw detail for the selected item (Alt+V)", |
| 411 | "KbExternalEditor": "Open composer draft in external editor", |
| 412 | "KbLiveTranscript": "Open live transcript overlay (Ctrl+Shift+T; sticky-tail auto-scroll)", |
| 413 | "KbBacktrackMessage": "Backtrack to a previous user message (Left/Right step, Enter to rewind)", |
| 414 | "KbCompleteCycleModes": "Complete /command or cycle modes when the composer is empty (Plan → Act → Operate)", |
| 415 | "KbCycleThinking": "Cycle reasoning effort for the active provider (Ctrl+T)", |
| 416 | "KbCyclePermissions": "Cycle permission posture: Ask → Auto-Review → Full Access (Shift+Tab)", |
| 417 | "KbJumpPlanAgentYolo": "Trigger hotbar slots", |
| 418 | "KbAltJumpPlanAgentYolo": "Alternative jump to Plan / Act / Operate mode", |
| 419 | "KbFocusSidebar": "Focus the Tasks / Agents / Context / Pinned rail panel", |
| 420 | "KbSessionPicker": "Open the session picker", |
| 421 | "KbTerminalPaste": "Paste text using your local terminal", |
| 422 | "KbPasteAttach": "Paste text or attach an image from a local or forwarded graphical clipboard", |
| 423 | "KbCopySelection": "Copy the current Codewhale selection", |
| 424 | "ClipboardSshPasteHint": "SSH paste uses your local terminal: press Cmd+V on macOS or Ctrl+Shift+V on Linux/Windows.", |
| 425 | "KbContextMenu": "Open context actions for paste, selection, message details, context, and help", |
| 426 | "KbAttachPath": "Add a local text file or directory to context", |
| 427 | "KbHelpOverlay": "Open this help overlay (when input is empty)", |
| 428 | "KbToggleHelp": "Toggle help overlay", |
| 429 | "KbToggleHelpSlash": "Toggle help overlay", |
| 430 | "HelpUsageLabel": "Usage:", |
| 431 | "HelpAliasesLabel": "Aliases:", |
| 432 | "SettingsTitle": "Settings:", |
| 433 | "SettingsConfigFile": "Config file:", |
| 434 | "ClearConversation": "Conversation cleared", |
| 435 | "ClearConversationBusy": "Nothing cleared (Work state or runtime work busy; wait, then try /clear again)", |
| 436 | "ModelChanged": "Model changed: {old} →, {new}", |
| 437 | "LinksProjectTitle": "Codewhale & community:", |
| 438 | "LinksDocumentation": "Documentation:", |
| 439 | "LinksCommunity": "Community & contribution:", |
| 440 | "LinksGitHub": "GitHub:", |
| 441 | "LinksManagedApp": "Managed app preview:", |
| 442 | "LinksManagedAppNote": "The managed app uses a separate sign-in and is not connected to the current local session.", |
| 443 | "LinksTitle": "Provider Links:", |
| 444 | "LinksDashboard": "Dashboard:", |
| 445 | "LinksDocs": "Docs:", |
| 446 | "LinksKimiCodeRouteNote": "Kimi Code membership-plan route: `{route}` (plan console: `{console}`; use model k3). Codewhale never imports Kimi CLI credentials.", |
| 447 | "LinksTip": "Tip: Use the env var shown for your provider, or save the key with `codewhale auth set --provider <id>`.", |
| 448 | "SubagentsFetching": "Fetching Fleet status...", |
| 449 | "HelpUnknownCommand": "Unknown command: {topic}", |
| 450 | "HomeDashboardTitle": "Codewhale", |
| 451 | "HomeModel": "Model:", |
| 452 | "HomeMode": "Mode:", |
| 453 | "HomeWorkspace": "Workspace:", |
| 454 | "HomeHistory": "History:", |
| 455 | "HomeTokens": "Tokens:", |
| 456 | "HomeQueued": "Queued:", |
| 457 | "HomeSubagents": "Fleet workers:", |
| 458 | "HomeSkill": "Skill:", |
| 459 | "HomeQuickActions": "Quick Actions", |
| 460 | "HomeQuickLinks": "/links - Codewhale, community & provider links", |
| 461 | "HomeQuickSkills": "/skills - List available skills", |
| 462 | "HomeQuickConfig": "/config - Inspect and change settings", |
| 463 | "HomeQuickSettings": "/settings - Show persistent settings", |
| 464 | "HomeQuickModel": "/model - Switch or view model", |
| 465 | "HomeQuickSubagents": "/fleet status - Fleet status", |
| 466 | "HomeQuickTaskList": "/task list - Show background task queue", |
| 467 | "HomeQuickHelp": "/help - Show help", |
| 468 | "HomeModeTips": "Mode Tips", |
| 469 | "HomeAgentModeTip": "Act — direct work in the current session with tools", |
| 470 | "HomeAgentModeReviewTip": " /mode plan to research and present a plan first", |
| 471 | "HomeAgentModeYoloTip": " Shift+Tab cycles permission: Ask → Auto-Review → Full Access", |
| 472 | "HomeYoloModeTip": "Act + Full Access — tools run without approval prompts", |
| 473 | "HomeYoloModeCaution": " Destructive operations can run immediately; prefer Ask when unsure", |
| 474 | "HomePlanModeTip": "Plan — research and design before implementing", |
| 475 | "HomePlanModeChecklistTip": " Present a plan and To-do progress, then switch to Act or Operate", |
| 476 | "HomeGoalModeTip": "Goal tracking - Set /goal <objective> to pursue objectives", |
| 477 | "OnboardLanguageTitle": "Choose your language", |
| 478 | "OnboardLanguageBlurb": "Pick the UI language. You can change it any time with `/settings set locale <tag>`.", |
| 479 | "OnboardLanguageFooter": "Press the key shown next to a language, or Enter to keep the current setting", |
| 480 | "OnboardProviderTitle": "Choose your model provider", |
| 481 | "OnboardProviderBlurb": "Pick where your model runs. Hosted providers need a key; local runtimes can continue without one.", |
| 482 | "OnboardProviderFooter": "Enter opens the provider list · Esc goes back · Ctrl+C quits.", |
| 483 | "OnboardApiKeyTitle": "Connect your API key", |
| 484 | "OnboardApiKeyStep1": "Step 1. Open your provider credential page and create a key for", |
| 485 | "OnboardApiKeyLocalHint": "Local runtimes usually need no pasted key — start the server, then press Enter.", |
| 486 | "OnboardApiKeyStep2": "Step 2. If this provider requires a key, paste it below; then press Enter.", |
| 487 | "OnboardApiKeySavedHint": "Keys are saved to {path} so they work from any folder.", |
| 488 | "OnboardApiKeyFormatHint": "Paste the full key exactly as issued (no spaces or newlines).", |
| 489 | "KimiCodePlanApiKeyHint": "For Kimi Code membership plans, create the plan-linked key at {console}.", |
| 490 | "KimiCodePlanRouteHint": "This route uses {route} with model k3; it is not Moonshot's public API route.", |
| 491 | "KimiCodePlanNoImportHint": "Codewhale does not import Kimi CLI credentials; paste a plan key you created yourself.", |
| 492 | "StepfunBillingRouteTitle": "StepFun billing route", |
| 493 | "StepfunBillingRouteIntro": "StepFun bills pay-as-you-go and Step Plan subscriptions on separate endpoints. Pick the one your key belongs to.", |
| 494 | "StepfunBillingRoutePaygOption": "Pay-as-you-go (token pricing)", |
| 495 | "StepfunBillingRoutePlanOption": "Step Plan subscription (plan allowance)", |
| 496 | "StepfunPlanApiKeyHint": "For StepFun Step Plan subscriptions, use the key issued for your Step Plan, not a pay-as-you-go key.", |
| 497 | "StepfunPlanRouteHint": "This route uses {route} and is billed against your Step Plan allowance.", |
| 498 | "OnboardApiKeyPlaceholder": "(paste key here if required)", |
| 499 | "OnboardApiKeyLabel": "Key: ", |
| 500 | "OnboardApiKeyFooter": "Press Enter to continue, Esc to go back.", |
| 501 | "OnboardApiKeyRejectedEnv": "The {provider} API key from {env} was rejected. Paste a valid key to save it to {path}, or update the environment variable.", |
| 502 | "OnboardTrustTitle": "Know this workspace", |
| 503 | "OnboardTrustQuestion": "Should Codewhale work with the instructions and files in this workspace?", |
| 504 | "OnboardTrustLocationPrefix": "Workspace ", |
| 505 | "OnboardTrustRiskHint": "Untrusted files can try to redirect the agent through prompt injection.", |
| 506 | "OnboardTrustEffectHint": "Trust is recorded for this Codewhale installation and enables workspace tools and hooks.", |
| 507 | "OnboardTrustFooterPrefix": "Press ", |
| 508 | "OnboardTrustFooterMiddle": " to trust and continue, ", |
| 509 | "OnboardTrustFooterUntrustedMiddle": " to continue without trusting, ", |
| 510 | "OnboardTrustFooterSuffix": " to quit Codewhale", |
| 511 | "OnboardTrustEnterHint": "Press 1 or Y to trust, 2 or U to continue without trusting, or 3, N, or Esc to quit Codewhale.", |
| 512 | "OnboardTrustUntrustedNotice": "Continuing without workspace trust — tools and hooks stay restricted.", |
| 513 | "OnboardMentalTitle": "How Codewhale works", |
| 514 | "OnboardMentalModesLabel": "Modes", |
| 515 | "OnboardMentalPlanHint": "read first", |
| 516 | "OnboardMentalActHint": "do, with approval", |
| 517 | "OnboardMentalOperateHint": "conduct a fleet", |
| 518 | "OnboardMentalPermissionLabel": "Permission", |
| 519 | "OnboardMentalCurrentLabel": "Right now", |
| 520 | "OnboardMentalConstitution": "The constitution you ratify next governs all of them.", |
| 521 | "OnboardMentalCycleMode": "cycle mode", |
| 522 | "OnboardMentalCyclePermission": "cycle permissions", |
| 523 | "OnboardMentalContinue": "continue", |
| 524 | "OnboardMentalBack": "back", |
| 525 | "OnboardAppearanceTitle": "Make It Yours", |
| 526 | "OnboardAppearanceBlurb": "Pick how Codewhale looks. The preview is live, so try a few.", |
| 527 | "OnboardAppearanceFooter": "Enter keeps the one you are looking at · Esc restores the original.", |
| 528 | "OnboardOfflineOption": "Ctrl+O — explore offline: look around now, connect a provider later.", |
| 529 | "OnboardOfflineNotice": "Exploring offline. Nothing is connected yet — run /provider when you want to connect.", |
| 530 | "OnboardOfflineTipsLine": "You are offline. What you type waits in the queue until /provider connects you.", |
| 531 | "OnboardTipsTitle": "Start With Setup", |
| 532 | "OnboardTipsLine1": "Use /setup to review readiness, provider/model, runtime posture, and the verification report.", |
| 533 | "OnboardTipsLine2": "Use /constitution to review or change standing guidance; bundled defaults are already valid.", |
| 534 | "OnboardTipsLine3": "Use /provider or /model when the route needs attention; missing auth can be fixed later.", |
| 535 | "OnboardTipsLine4": "When setup is ready, write the task in plain language. /help and Ctrl+K show commands.", |
| 536 | "OnboardTipsDoctorPrefix": "From your shell, run ", |
| 537 | "OnboardTipsDoctorSuffix": " to check providers, tools, skills, and plugins.", |
| 538 | "OnboardTipsFooterEnter": "Press Enter", |
| 539 | "OnboardTipsFooterAction": " to finish onboarding and open setup if it needs attention", |
| 540 | "SetupWizardTitle": "Setup", |
| 541 | "SetupWizardWhy": "This shell records setup progress in setup_state.json; config changes are only applied by explicit step actions.", |
| 542 | "SetupWizardProgress": "Step", |
| 543 | "SetupActionBack": "back", |
| 544 | "SetupActionContinue": "continue", |
| 545 | "SetupActionSkip": "skip", |
| 546 | "SetupActionRetry": "retry", |
| 547 | "SetupActionScrollBody": "scroll body", |
| 548 | "SetupActionGuided": "preview/ratify", |
| 549 | "SetupActionTuneGuided": "tune", |
| 550 | "SetupActionModelDraft": "model draft", |
| 551 | "SetupActionFreeform": "own words", |
| 552 | "SetupActionKeepExisting": "keep existing", |
| 553 | "SetupActionProvider": "provider setup", |
| 554 | "SetupActionModel": "model routes", |
| 555 | "SetupActionFleet": "fleet setup", |
| 556 | "SetupActionHotbar": "hotbar setup", |
| 557 | "SetupActionRemote": "remote on-ramp", |
| 558 | "SetupActionMode": "mode picker", |
| 559 | "SetupActionConfig": "config view", |
| 560 | "SetupActionRuntimePreset": "preset", |
| 561 | "SetupActionApplyRuntimePreset": "preview/apply", |
| 562 | "SetupActionUseBundled": "use bundled", |
| 563 | "SetupActionDefer": "defer", |
| 564 | "SetupActionCancel": "cancel", |
| 565 | "SetupStatusNotStarted": "not started", |
| 566 | "SetupStatusRecommended": "recommended", |
| 567 | "SetupStatusOptional": "optional", |
| 568 | "SetupStatusDeferred": "deferred", |
| 569 | "SetupStatusInProgress": "in progress", |
| 570 | "SetupStatusNeedsAction": "needs action", |
| 571 | "SetupStatusVerified": "verified", |
| 572 | "SetupStatusSkipped": "skipped", |
| 573 | "SetupStatusFailed": "failed", |
| 574 | "SetupStepLanguageTitle": "Language", |
| 575 | "SetupStepLanguageWhy": "Choose the setup language first so later setup screens and constitution copy are understandable.", |
| 576 | "SetupStepProviderModelTitle": "Provider and model", |
| 577 | "SetupStepProviderModelWhy": "Choose the first interpreter of your code: the provider and model Codewhale will work with. Working credentials are not re-entered here.", |
| 578 | "SetupStepTrustSandboxTitle": "Runtime posture", |
| 579 | "SetupStepTrustSandboxWhy": "Review trust, sandbox, approval, shell, and network policy separately from constitutional guidance.", |
| 580 | "SetupStepOperateFleetTitle": "Operate and Fleet", |
| 581 | "SetupStepOperateFleetWhy": "Operate can use the built-in team immediately. Roles without a custom route use this session's model; Fleet setup is only for customization.", |
| 582 | "SetupStepToolsMcpTitle": "Tools and MCP", |
| 583 | "SetupStepToolsMcpWhy": "Inspect optional tool and MCP readiness without blocking the constitution checkpoint.", |
| 584 | "SetupStepHotbarTitle": "Hotbar", |
| 585 | "SetupStepHotbarWhy": "Configure common route and command shortcuts after the core setup path is safe.", |
| 586 | "SetupStepRemoteRuntimeTitle": "Remote runtime", |
| 587 | "SetupStepRemoteRuntimeWhy": "Keep remote setup visible but optional for local-first users.", |
| 588 | "SetupStepPersistenceTitle": "Persistence", |
| 589 | "SetupStepPersistenceWhy": "Review where setup state, config, constitution, memory, and notes live without reading their contents.", |
| 590 | "SetupStepConstitutionTitle": "Your constitution", |
| 591 | "SetupStepConstitutionWhy": "Code means two things here: the software you ship, and the standing law for how Codewhale works with you. Draft yours — short, durable, amendable. Bundled/default is a valid completion.", |
| 592 | "SetupStepVerificationTitle": "Review", |
| 593 | "SetupStepVerificationWhy": "Summarize setup status and show which steps are verified, skipped, or still need action.", |
| 594 | "SetupCheckpointLayerOrder": "Layer order: bundled Constitution -> user-global constitution -> repo constitution -> AGENTS/project instructions -> memory/handoff -> current request.", |
| 595 | "SetupCheckpointDoneBundled": "Constitution checkpoint complete: using bundled/default law.", |
| 596 | "SetupCheckpointDoneGuided": "Constitution ratified — your standing law is saved. Amend anytime with /constitution.", |
| 597 | "SetupCheckpointDoneKept": "Constitution kept — your existing law stands, unchanged. Amend anytime with /constitution.", |
| 598 | "SetupCheckpointDeferred": "Constitution checkpoint deferred: bundled/default law applies until you return to /setup.", |
| 599 | "SetupStepSkipped": "Setup step skipped and saved.", |
| 600 | "SetupStepRetryRecorded": "Setup step marked for retry.", |
| 601 | "SetupLanguageReviewed": "Setup language recorded.", |
| 602 | "SetupConstitutionChoiceLabel": "Choice:", |
| 603 | "SetupConstitutionSourceLabel": "Source:", |
| 604 | "SetupConstitutionValidityLabel": "Validity:", |
| 605 | "SetupConstitutionPreviewLabel": "Preview hash:", |
| 606 | "SetupConstitutionExistingLabel": "Existing file:", |
| 607 | "SetupConstitutionExpertOverrideLabel": "Expert override:", |
| 608 | "SetupConstitutionGuidedHint": "1-6 tune the draft, G previews, G again ratifies. Guidance only: it never changes runtime approval, sandbox, shell, network, trust, or MCP permissions.", |
| 609 | "SetupConstitutionGuidedAnswersHint": "Guided answers save user-global preferences only. The bundled core stays active; doctrine modules stay in mode prompts/future opt-ins.", |
| 610 | "SetupConstitutionPurposeLabel": "Purpose:", |
| 611 | "SetupConstitutionAutonomyLabel": "Initiative:", |
| 612 | "SetupConstitutionEvidenceLabel": "Evidence:", |
| 613 | "SetupConstitutionCommunicationLabel": "Communication:", |
| 614 | "SetupConstitutionPrivacyLabel": "Privacy:", |
| 615 | "SetupConstitutionPrinciplesLabel": "Principles:", |
| 616 | "SetupCardRouteLabel": "Route:", |
| 617 | "SetupCardModelLabel": "Model:", |
| 618 | "SetupCardAuthLabel": "Auth:", |
| 619 | "SetupCardHealthLabel": "Health:", |
| 620 | "SetupCardIntentLabel": "Work intent:", |
| 621 | "SetupCardApprovalLabel": "Approvals:", |
| 622 | "SetupCardShellLabel": "Shell:", |
| 623 | "SetupCardTrustLabel": "Trust:", |
| 624 | "SetupCardSandboxLabel": "Sandbox:", |
| 625 | "SetupCardNetworkLabel": "Network:", |
| 626 | "SetupOperateRuntimeLabel": "Worker runtime:", |
| 627 | "SetupOperateRosterLabel": "Fleet roster:", |
| 628 | "SetupOperateConcurrencyLabel": "Concurrency:", |
| 629 | "SetupOperateReadinessLabel": "Operate readiness:", |
| 630 | "SetupOperateReviewHint": "Enter records this setup snapshot.", |
| 631 | "SetupOperateReviewed": "Operate/Fleet readiness recorded.", |
| 632 | "SetupOperateNeedsActionSaved": "Operate/Fleet still needs action; recorded for setup report.", |
| 633 | "SetupHotbarBindingsLabel": "Hotbar bindings:", |
| 634 | "SetupHotbarActionsLabel": "Bindable actions:", |
| 635 | "SetupHotbarReviewHint": "Enter records this setup snapshot. Press H to customize slots.", |
| 636 | "SetupHotbarReviewed": "Hotbar setup state recorded.", |
| 637 | "SetupToolsMcpServersLabel": "MCP servers:", |
| 638 | "SetupToolsMcpSkillsLabel": "Skills:", |
| 639 | "SetupToolsMcpToolsLabel": "Tools dir:", |
| 640 | "SetupToolsMcpPluginsLabel": "Plugins:", |
| 641 | "SetupToolsMcpReviewHint": "Enter records this setup snapshot. Press R for safe on-ramps (no auto-run).", |
| 642 | "SetupToolsMcpReviewed": "Tools/MCP readiness recorded.", |
| 643 | "SetupRemoteCloudsLabel": "Cloud targets:", |
| 644 | "SetupRemoteBridgesLabel": "Chat bridges:", |
| 645 | "SetupRemoteProvidersLabel": "Providers:", |
| 646 | "SetupRemoteModeLabel": "Remote mode:", |
| 647 | "SetupRemoteModeLocalOnly": "This machine only:", |
| 648 | "SetupRemoteModeRuntimeApi": "Runtime API:", |
| 649 | "SetupRemoteModeMobileLan": "Phone on your network:", |
| 650 | "SetupRemoteModeChatBridge": "Chat app:", |
| 651 | "SetupRemoteStatusDisabled": "not available", |
| 652 | "SetupRemoteStatusReady": "ready", |
| 653 | "SetupRemoteStatusNeedsAction": "needs something", |
| 654 | "SetupRemoteReviewHint": "Enter records this setup snapshot. Press R to preview.", |
| 655 | "SetupRemotePreviewTitle": "Remote runtime on-ramp", |
| 656 | "SetupRemoteReviewed": "Remote runtime on-ramp recorded.", |
| 657 | "SetupPersistenceHomeLabel": "Home:", |
| 658 | "SetupPersistenceConfigLabel": "Config:", |
| 659 | "SetupPersistenceStateLabel": "Setup state:", |
| 660 | "SetupPersistenceConstitutionLabel": "Constitution:", |
| 661 | "SetupPersistenceMemoryLabel": "Memory:", |
| 662 | "SetupPersistenceNotesLabel": "Notes:", |
| 663 | "SetupPersistenceReviewHint": "Enter records this setup snapshot.", |
| 664 | "SetupPersistenceReviewed": "Persistence paths recorded.", |
| 665 | "SetupProviderModelReadyHint": "Enter records this provider/model route; press P for provider setup or M for model routes.", |
| 666 | "SetupProviderModelNeedsActionHint": "Enter records provider/model as needs-action and continues; press P to fix credentials or M to inspect routes.", |
| 667 | "SetupProviderModelReviewed": "Provider/model readiness recorded.", |
| 668 | "SetupProviderModelNeedsActionSaved": "Provider/model still needs action; recorded for setup report.", |
| 669 | "SetupRuntimePostureBoundary": "Runtime posture is enforced config; constitution guidance never changes it silently.", |
| 670 | "SetupRuntimePostureReviewHint": "Enter records this setup snapshot. Press M for work mode or C for config.", |
| 671 | "SetupRuntimePostureReviewed": "Runtime posture reviewed; no config changed.", |
| 672 | "SetupRuntimePresetSelectedLabel": "Selected preset:", |
| 673 | "SetupRuntimePresetDiffLabel": "Config diff:", |
| 674 | "SetupRuntimePresetAskFirstTitle": "Ask-first", |
| 675 | "SetupRuntimePresetAskFirstDescription": "Plan by default, shell hidden, read-only sandbox.", |
| 676 | "SetupRuntimePresetNormalAgentTitle": "Normal agent", |
| 677 | "SetupRuntimePresetNormalAgentDescription": "Agent by default, approval prompts, shell visible.", |
| 678 | "SetupRuntimePresetHighTrustTitle": "High-trust local", |
| 679 | "SetupRuntimePresetHighTrustDescription": "Full Access by default for trusted local work; no hidden constitution mutation.", |
| 680 | "SetupRuntimePresetPreviewTitle": "Runtime Posture Preset Preview", |
| 681 | "SetupRuntimePresetSafetyFloor": "Safety floor: auth/OAuth failures, blocked policy outcomes, publish-like actions, and hold-for-review gates can still stop the run.", |
| 682 | "SetupRuntimePresetApplyHint": "Press A to preview this exact diff; press A again after preview to apply it.", |
| 683 | "SetupRuntimePresetApplied": "Runtime preset applied.", |
| 684 | "SetupRuntimeProjectOverrideLabel": "Project override:", |
| 685 | "SetupRuntimeProjectOverrideNone": "none detected for approval_policy or sandbox_mode", |
| 686 | "SetupReportFirstRunLabel": "First-run:", |
| 687 | "SetupReportUpdateLabel": "Update checkpoint:", |
| 688 | "SetupReportOperateLabel": "Operate/Fleet:", |
| 689 | "SetupReportSourceLabel": "Source:", |
| 690 | "SetupReportAutonomyLabel": "Constitution autonomy:", |
| 691 | "SetupReportRuntimePostureLabel": "Runtime posture:", |
| 692 | "SetupReportPersisted": "persisted setup_state.json", |
| 693 | "SetupReportInherited": "derived from existing config", |
| 694 | "SetupReportReady": "ready", |
| 695 | "SetupReportRequired": "required", |
| 696 | "SetupReportOptional": "optional", |
| 697 | "SetupReportRowsLabel": "Step status:", |
| 698 | "SetupReportNextActionLabel": "Next action:", |
| 699 | "SetupReportNextActionNone": "No blocking setup action recorded.", |
| 700 | "SetupReportNextActionConstitution": "Complete the constitution checkpoint or choose bundled/default.", |
| 701 | "SetupReportNextActionProvider": "Review provider/model readiness or run /setup provider; use /provider setup <name> for a specific provider.", |
| 702 | "SetupReportNextActionRuntime": "Review runtime posture or use /config.", |
| 703 | "SetupReportNextActionOperate": "Review Operate/Fleet readiness before durable multi-worker runs.", |
| 704 | "SetupReportNextActionRequired": "Review the remaining required setup steps.", |
| 705 | "SetupReportRecorded": "Setup report recorded.", |
| 706 | "CtxMenuTitle": " Right click ", |
| 707 | "CtxMenuCopySelection": "Copy selection", |
| 708 | "CtxMenuCopySelectionDesc": "write selected transcript text", |
| 709 | "CtxMenuOpenSelection": "Open selection", |
| 710 | "CtxMenuOpenSelectionDesc": "show selected text in pager", |
| 711 | "CtxMenuClearSelection": "Clear selection", |
| 712 | "CtxMenuOpenDetails": "Open details", |
| 713 | "CtxMenuCopyMessage": "Copy message", |
| 714 | "CtxMenuCopyMessageDesc": "write clicked transcript cell", |
| 715 | "CtxMenuOpenInEditor": "Open in editor", |
| 716 | "CtxMenuOpenInEditorDesc": "open file:line in $EDITOR", |
| 717 | "CtxMenuShowCell": "Show cell", |
| 718 | "CtxMenuShowCellDesc": "unhide this transcript cell", |
| 719 | "CtxMenuHideCell": "Hide cell", |
| 720 | "CtxMenuHideCellDesc": "collapse this transcript cell", |
| 721 | "CtxMenuShowHidden": "Show hidden", |
| 722 | "CtxMenuShowHiddenDesc": "unhide all collapsed cells", |
| 723 | "CtxMenuPaste": "Paste", |
| 724 | "CtxMenuPasteDesc": "insert clipboard into composer", |
| 725 | "CtxMenuCmdPalette": "Command palette", |
| 726 | "CtxMenuCmdPaletteDesc": "commands, skills, and tools", |
| 727 | "CtxMenuContextInspector": "Context inspector", |
| 728 | "CtxMenuContextInspectorDesc": "active context and cache hints", |
| 729 | "CtxMenuHelp": "Help", |
| 730 | "CtxMenuHelpDesc": "keybindings and commands", |
| 731 | "FanoutCounts": "{done} done · {running} running · {failed} failed · {pending} pending", |
| 732 | "AppModeAgent": "Act", |
| 733 | "AppModeAuto": "Auto", |
| 734 | "AppModeYolo": "Full Access (deprecated mode label)", |
| 735 | "AppModePlan": "Plan", |
| 736 | "AppModeOperate": "Operate", |
| 737 | "AppModeAgentHint": "Direct work in this session — edits and shell ask for approval", |
| 738 | "AppModeAutoHint": "Shell enabled with automatic risk review", |
| 739 | "AppModePlanHint": "Read-only research first — present a plan before acting", |
| 740 | "AppModeYoloHint": "Compatibility only — Act + Full Access, not a visible mode", |
| 741 | "AppModeOperateHint": "Put your Fleet to work in parallel", |
| 742 | "VimModeNormal": "-- NORMAL --", |
| 743 | "VimModeInsert": "-- INSERT --", |
| 744 | "VimModeVisual": "-- VISUAL --", |
| 745 | "ApprovalRiskReview": "REVIEW", |
| 746 | "ApprovalRiskElevated": "APPROVAL", |
| 747 | "ApprovalRiskDestructive": "DESTRUCTIVE", |
| 748 | "ApprovalCategorySafe": "Safe", |
| 749 | "ApprovalCategoryFileWrite": "File Write", |
| 750 | "ApprovalCategoryShell": "Bash", |
| 751 | "ApprovalCategoryNetwork": "Network", |
| 752 | "ApprovalCategoryMcpRead": "MCP Read", |
| 753 | "ApprovalCategoryMcpAction": "MCP Action", |
| 754 | "ApprovalCategoryAgent": "Sub-agent", |
| 755 | "ApprovalCategoryUnknown": "Unknown", |
| 756 | "ApprovalFieldType": "Type: ", |
| 757 | "ApprovalFieldAbout": "About: ", |
| 758 | "ApprovalFieldImpact": "Impact: ", |
| 759 | "ApprovalFieldParams": "Params: ", |
| 760 | "ApprovalOptionApproveOnce": "Allow once", |
| 761 | "ApprovalOptionApproveAlways": "Allow for this session (this kind)", |
| 762 | "ApprovalOptionAllowExactRepo": "Always allow this exact rule in this repo", |
| 763 | "ApprovalSaveAskRuleHint": " s allow once + always ask exact rule", |
| 764 | "ApprovalOptionDeny": "Deny this call", |
| 765 | "ApprovalOptionAbortTurn": "Abort the turn", |
| 766 | "ApprovalBlockTitle": "approval", |
| 767 | "ApprovalControlsHint": " · Pg↑/↓ review · {details} details · Esc abort", |
| 768 | "ApprovalTruncationHint": " … truncated · press {details} for full details", |
| 769 | "ApprovalFullAccessPolicyBlocked": "Blocked {tool}: Full Access cannot bypass this policy", |
| 770 | "AutoReviewQuestionSkipped": "Auto-Review skipped a user question and continued autonomously", |
| 771 | "ApprovalChooseHint": "Choose: ", |
| 772 | "ApprovalChooseAction": "Enter selected option, or press y/a/d directly", |
| 773 | "ApprovalIntentLabel": "Intent: ", |
| 774 | "ApprovalMoreLines": " … (+{count} lines)", |
| 775 | "ApprovalAutoDeniedSession": "Auto-denied {tool}: a matching request was denied earlier during this CodeWhale run. Restart CodeWhale to reconsider it.", |
| 776 | "ElevationTitleSandboxDenied": " ⚠, Sandbox Denied ", |
| 777 | "ElevationTitleRequired": " Sandbox Elevation Required ", |
| 778 | "ElevationFieldTool": " Tool: ", |
| 779 | "ElevationFieldCmd": " Cmd: ", |
| 780 | "ElevationFieldReason": " Reason: ", |
| 781 | "ElevationImpactHeader": " Impact if approved:", |
| 782 | "ElevationImpactNetwork": " - network retry enables outbound downloads and HTTP requests", |
| 783 | "ElevationImpactWrite": " - write retry expands writable filesystem scope for this tool call", |
| 784 | "ElevationImpactFullAccess": " - full access removes sandbox restrictions entirely for this retry", |
| 785 | "ElevationPromptProceed": " Choose how to proceed:", |
| 786 | "ElevationOptionNetwork": "Allow outbound network", |
| 787 | "ElevationOptionWrite": "Allow extra write access", |
| 788 | "ElevationOptionFullAccess": "Full access (filesystem + network)", |
| 789 | "ElevationOptionAbort": "Abort", |
| 790 | "ElevationOptionNetworkDesc": "Retry this tool call with outbound network access for downloads and HTTP requests", |
| 791 | "ElevationOptionWriteDesc": "Retry this tool call with additional writable filesystem scope", |
| 792 | "ElevationOptionFullAccessDesc": "Retry without sandbox limits; grants unrestricted filesystem and network access", |
| 793 | "ElevationOptionAbortDesc": "Cancel this tool execution", |
| 794 | "CtxInspTitle": "Context inspector", |
| 795 | "CtxInspSessionContext": "Session Context", |
| 796 | "CtxInspSystemPrompt": "System Prompt Structure", |
| 797 | "CtxInspReferences": "References", |
| 798 | "CtxInspRecentTools": "Recent Tools", |
| 799 | "CtxInspModel": "Model", |
| 800 | "CtxInspWorkspace": "Workspace", |
| 801 | "CtxInspSession": "Session", |
| 802 | "CtxInspContext": "Context", |
| 803 | "CtxInspTranscript": "Transcript", |
| 804 | "CtxInspWorkspaceStatus": "Workspace status", |
| 805 | "CtxInspNotSampledYet": "not sampled yet", |
| 806 | "CtxInspOk": "ok", |
| 807 | "CtxInspHigh": "high", |
| 808 | "CtxInspCritical": "critical", |
| 809 | "CtxInspIncluded": "included", |
| 810 | "CtxInspAttached": "attached", |
| 811 | "CtxInspNotIncluded": "not included", |
| 812 | "CtxInspOutputCaptured": "output captured", |
| 813 | "CtxInspNoOutputYet": "no output yet", |
| 814 | "CtxInspNoSystemPrompt": "No system prompt set.", |
| 815 | "CtxInspNoReferences": "No file, directory, or media references recorded yet.", |
| 816 | "CtxInspNoToolActivity": "No tool activity recorded yet.", |
| 817 | "CtxInspVHint": "Open the matching card and press {details} for full details.", |
| 818 | "CtxInspCells": "cells", |
| 819 | "CtxInspApiMessages": "API messages", |
| 820 | "CtxInspActive": "active", |
| 821 | "CtxInspCell": "cell", |
| 822 | "CtxInspMoreReferences": "more reference(s)", |
| 823 | "CtxInspStablePrefix": "Stable prefix", |
| 824 | "CtxInspVolatileWorkingSet": "Volatile working set", |
| 825 | "CtxInspFirstLine": "First line", |
| 826 | "CtxInspTotal": "Total", |
| 827 | "CtxInspTextPromptLayers": "Text prompt layers", |
| 828 | "CtxInspSingleTextBlob": "Single text blob", |
| 829 | "CtxInspBlocks": "block(s)", |
| 830 | "CtxInspBlock": "block", |
| 831 | "CtxInspTokens": "tokens", |
| 832 | "CtxInspLayers": "layer(s)", |
| 833 | "CtxInspNone": "none", |
| 834 | "CtxInspEmpty": "(empty)", |
| 835 | "CtxInspCacheFriendly": "cache-friendly", |
| 836 | "CtxInspChangesByTurn": "changes by session/turn", |
| 837 | "CtxInspStablePrefixOnly": "stable prefix only", |
| 838 | "CtxInspCacheTip": "Tip: Stable prefix blocks are cache eligible when the active provider supports prefix caching. Volatile working-set changes break the cache only for the tail.", |
| 839 | "ToolFamilyRead": "read", |
| 840 | "ToolFamilyPatch": "patch", |
| 841 | "ToolFamilyRun": "run", |
| 842 | "ToolFamilyFind": "find", |
| 843 | "ToolFamilyDelegate": "delegate", |
| 844 | "ToolFamilyFanout": "fanout", |
| 845 | "ToolFamilyRlm": "rlm", |
| 846 | "ToolFamilyVerify": "verify", |
| 847 | "ToolFamilyThink": "think", |
| 848 | "ToolFamilyGeneric": "tool", |
| 849 | "CmdVoiceDescription": "Toggle voice input: record speech and transcribe into the composer", |
| 850 | "CmdVoiceSendDescription": "Toggle voice auto-send: submit when the transcript ends with \"send it\"", |
| 851 | "CmdVoiceControlDescription": "Toggle voice control: AI-assisted dictation aware of the composer text", |
| 852 | "VoiceEnabled": "Voice input enabled. Speak to record.", |
| 853 | "VoiceDisabled": "Voice input disabled.", |
| 854 | "VoiceSendEnabled": "Voice auto-send enabled.", |
| 855 | "VoiceSendDisabled": "Voice auto-send disabled.", |
| 856 | "VoiceControlEnabled": "Voice control enabled.", |
| 857 | "VoiceControlDisabled": "Voice control disabled.", |
| 858 | "VoiceErrNoAuth": "Voice: no API key configured for the active provider", |
| 859 | "VoiceErrNoRecorder": "Voice: no recording tool found. Install sox, arecord, or rec.", |
| 860 | "VoiceErrNetwork": "Voice: transcription request failed", |
| 861 | "VoiceErrEmptySend": "Voice: nothing to send", |
| 862 | "VoiceErrTooShort": "Voice: no speech detected, recording too short", |
| 863 | "VoiceRecording": "🎙 Recording... speak now", |
| 864 | "VoiceProcessing": "🎙 Transcribing...", |
| 865 | "VoiceTranscribed": "🎙 Transcribed", |
| 866 | "NotificationTurnComplete": "Turn complete", |
| 867 | "NotificationSubagentComplete": "Sub-agent complete", |
| 868 | "NotificationSubagentFailed": "Sub-agent failed", |
| 869 | "NotificationSubagentInterrupted": "Sub-agent interrupted", |
| 870 | "NotificationSubagentCancelled": "Sub-agent cancelled", |
| 871 | "NotificationSubagentBudgetExhausted": "Sub-agent budget exhausted", |
| 872 | "FooterWorkedChip": "worked {duration}", |
| 873 | "FleetDraftTitle": "Fleet profile — draft by {model_label} (g saves)", |
| 874 | "FleetDraftHeader": "# .codewhale/agents/{name}\n# Drafted by {model_label}, validated and bounded by Codewhale.\n# Permissions stay at the fleet floor: no shell, no trust, approval required.\n# Nothing is saved until you press g in the wizard.\n\n", |
| 875 | "SetupRemoteOnRampText": "Remote Runtime On-Ramp\n\n/setup shows remote runtime facts only. It does not generate deploy bundles, write credentials, call cloud CLIs, or run `remote-setup`.\n\nCurrent facts:\n- Clouds: {clouds_result}\n- Chat bridges: {bridges_result}\n- Providers: {providers_result}\n- Mode: {mode_result}\n\nTo generate a deploy bundle, run explicitly in a normal terminal:\n\n```sh\n{command}\n```\n\nThe generated RUNBOOK includes host steps for human review. `--apply` remains unimplemented; do not treat this as auto-deploy.", |
| 876 | "ApprovalDescSafe": "Requesting a safe/read-only operation.", |
| 877 | "ApprovalDescFileWrite": "Requesting to modify a file. Please confirm path and content.", |
| 878 | "ApprovalDescShell": "Requesting to execute a shell command. Review command and working directory.", |
| 879 | "ApprovalDescNetwork": "Requesting to access network or remote content. Verify the target is trusted.", |
| 880 | "ApprovalDescMcpRead": "Requesting to read from an MCP server.", |
| 881 | "ApprovalDescMcpAction": "Requesting to call an MCP server action that may have side effects.", |
| 882 | "ApprovalDescAgent": "Requesting to start or inspect a sub-agent; sub-agents still have their own gating.", |
| 883 | "ApprovalDescUnknown": "Requesting to run an unclassified tool. Review parameters carefully.", |
| 884 | "ApprovalImpactSafe": "Read-only operation.", |
| 885 | "ApprovalImpactFileWrite": "Writes files in the workspace or an approved write scope.", |
| 886 | "ApprovalImpactShell": "Executes a Bash command in your workspace.", |
| 887 | "ApprovalImpactNetwork": "May reach network services or remote content.", |
| 888 | "ApprovalImpactMcpRead": "Reads from an MCP server without an obvious local write.", |
| 889 | "ApprovalImpactMcpAction": "Calls an MCP server action that may have side effects.", |
| 890 | "ApprovalImpactAgent": "Starts or inspects a sub-agent; sub-agents have their own gating.", |
| 891 | "ApprovalImpactUnknown": "Tool is not classified. Review params carefully before approving.", |
| 892 | "ApprovalLabelCommand": "Command", |
| 893 | "ApprovalLabelDir": "Dir", |
| 894 | "ApprovalLabelFile": "File", |
| 895 | "ApprovalLabelPreview": "Preview", |
| 896 | "ApprovalLabelProposedContent": "proposed content", |
| 897 | "ApprovalLabelReplaceThis": "replace this", |
| 898 | "ApprovalLabelWithThis": "with this", |
| 899 | "ApprovalLabelReplacementContent": "replacement content", |
| 900 | "ApprovalLabelPath": "Path", |
| 901 | "ApprovalLabelTarget": "Target", |
| 902 | "ApprovalLabelInput": "Input", |
| 903 | "ApprovalLabelAction": "Action", |
| 904 | "ApprovalLabelType": "Type", |
| 905 | "ApprovalLabelPrompt": "Prompt", |
| 906 | "ApprovalLabelAbout": "About: ", |
| 907 | "ApprovalLabelImpact": "Impact: ", |
| 908 | "SetupConstitutionFileNotChecked": "not checked yet", |
| 909 | "SetupConstitutionFileMissing": "no constitution.json found; bundled/default applies", |
| 910 | "SetupConstitutionFileLoadedSelected": "valid constitution.json present and selected", |
| 911 | "SetupConstitutionFileLoadedInactive": "valid constitution.json present but inactive under the recorded choice", |
| 912 | "SetupConstitutionFileLoadedUnselected": "valid constitution.json present; preview or save guided to select it", |
| 913 | "SetupConstitutionFileEmpty": "constitution.json is empty; use G to regenerate or U for bundled", |
| 914 | "SetupConstitutionFileInvalid": "constitution.json is invalid; use repair/regenerate or bundled", |
| 915 | "SetupConstitutionFileUnreadable": "constitution.json is unreadable; use repair/regenerate or bundled", |
| 916 | "SetupConstitutionFilePathError": "CODEWHALE_HOME could not be resolved for constitution.json", |
| 917 | "SetupExpertOverrideNotChecked": "not checked yet", |
| 918 | "SetupExpertOverrideMissing": "no prompts/constitution.md found", |
| 919 | "SetupExpertOverrideActive": "active; expert Markdown override is opted in", |
| 920 | "SetupExpertOverrideDisabled": "file found but disabled; set {env}=1 to activate", |
| 921 | "SetupExpertOverrideEmpty": "override file is empty; bundled/default applies", |
| 922 | "SetupExpertOverrideUnreadable": "override file is unreadable; bundled/default applies", |
| 923 | "SetupExpertOverridePathError": "CODEWHALE_HOME could not be resolved for prompts/constitution.md", |
| 924 | "SetupAutonomyUnspecified": "unspecified or bundled/default", |
| 925 | "SetupGuidedPurposeCoding": "coding workbench", |
| 926 | "SetupGuidedPurposeResearch": "research synthesis", |
| 927 | "SetupGuidedPurposeOperations": "operations helper", |
| 928 | "SetupGuidedPurposeMixed": "mixed workbench", |
| 929 | "SetupGuidedPurposeAboutCoding": "A Codewhale user who wants a calm, evidence-first coding workbench.", |
| 930 | "SetupGuidedPurposeAboutResearch": "A Codewhale user who wants current, cited research and careful synthesis.", |
| 931 | "SetupGuidedPurposeAboutOperations": "A Codewhale user who wants reliable operational help with clear rollback points.", |
| 932 | "SetupGuidedPurposeAboutMixed": "A Codewhale user who wants a flexible workbench for coding, research, writing, and operations.", |
| 933 | "SetupGuidedStyleCoding": "Keep code changes scoped to requested behavior and existing repo patterns.", |
| 934 | "SetupGuidedStyleResearch": "Separate live evidence from inference and cite sources for unstable facts.", |
| 935 | "SetupGuidedStyleOperations": "Prefer reversible operational steps with dry-runs, status checks, and rollback notes.", |
| 936 | "SetupGuidedStyleMixed": "Adapt between coding, research, writing, and operations without widening the safety posture.", |
| 937 | "SetupGuidedEvidenceAssumptions": "state assumptions", |
| 938 | "SetupGuidedEvidenceTestsAndReceipts": "tests & receipts", |
| 939 | "SetupGuidedEvidenceReleaseReceipts": "release receipts", |
| 940 | "SetupGuidedNotes": "Guided answers: purpose={purpose}; initiative={initiative}; evidence={evidence}; communication={communication}; privacy={privacy}; principles={principles}. {notes} Free-text principles are advisory and do not change approval, sandbox, shell, network, trust, or MCP permissions.", |
| 941 | "OnboardWelcomeVersion": "Version {version}", |
| 942 | "OnboardWelcomeLead": "Code means two things here: the software you ship, and the law this agent works under.", |
| 943 | "OnboardWelcomeSetupBlurb": "Setup adapts to what is already configured; only these screens will appear.", |
| 944 | "OnboardWelcomeSteps": "Next: {steps}.", |
| 945 | "OnboardWelcomeStepLanguage": "choose language", |
| 946 | "OnboardWelcomeStepAppearance": "pick a look", |
| 947 | "OnboardWelcomeStepApiKey": "connect API key", |
| 948 | "OnboardWelcomeStepTrust": "trust workspace", |
| 949 | "OnboardWelcomeStepMentalModels": "learn modes and permissions", |
| 950 | "OnboardWelcomeStepTips": "setup tips", |
| 951 | "OnboardWelcomeDefaults": "Bundled defaults are valid; amend anytime with /constitution.", |
| 952 | "OnboardWelcomeEnter": "Press Enter to continue.", |
| 953 | "OnboardWelcomeExit": "Ctrl+C exits at any point.", |
| 954 | "SetupToolsMcpHotbarLabel": "Hotbar sources:", |
| 955 | "SetupToolsMcpNeedsActionSaved": "Tools/MCP still needs action; recorded for setup report (does not block first-run).", |
| 956 | "SetupToolsMcpPreviewTitle": "Tools / MCP safe on-ramps", |
| 957 | "SetupToolsMcpOnRampText": "Tools, MCP, Skills & Plugins — Safe On-Ramps\n\n/setup only reads local inventory. It never starts MCP servers, installs skills, runs plugins, or executes untrusted commands.\n\nCurrent inventory:\n- MCP: {mcp_result}\n- Skills: {skills_result}\n- Tools dir: {tools_result}\n- Plugins: {plugins_result}\n- Hotbar (shared adapters): {hotbar_result}\n\nPaths (redacted home):\n- MCP config: {mcp_path}\n- Skills: {skills_path}\n- Plugins: {plugins_path}\n\nSafe bootstrap (run yourself in a normal terminal or TUI command):\n- MCP: /mcp · codewhale mcp init · codewhale doctor\n- Skills: /skills · codewhale setup --skills · /skills install <spec>\n- Plugins: /plugin · codewhale setup --plugins\n- Tools dir: codewhale setup --tools\n\nSide-effectful actions always require explicit confirmation. Plugin commands stay distinct from slash commands; the Hotbar plugin source remains deferred until approval gates land.\n\nSee docs/MCP.md and docs/skills/README.md for what still needs manual external setup.", |
| 958 | "HotbarActionModeOperateName": "Operate mode", |
| 959 | "HotbarActionModeOperateDescription": "Put your Fleet to work in parallel.", |
| 960 | "HomeOperateModeTip": "Operate — put your Fleet to work in parallel", |
| 961 | "HomeOperateModeFleetTip": " Built-in roles use this session's model; /fleet setup customizes them", |
| 962 | "HelpSubtitle": "Concepts, commands, and keybindings", |
| 963 | "CommandPaletteTitle": "Command", |
| 964 | "CommandPaletteSubtitle": "Find and run one action", |
| 965 | "ConfigSubtitle": "Settings first; raw keys under advanced detail", |
| 966 | "LaunchMenuNewSession": "New session", |
| 967 | "LaunchMenuNewWorktree": "New worktree", |
| 968 | "LaunchMenuResumeSession": "Resume session", |
| 969 | "LaunchMenuChangelog": "Changelog", |
| 970 | "LaunchMenuQuit": "Quit", |
| 971 | "LaunchMenuUnavailable": "unavailable", |
| 972 | "LaunchMenuSavedCount": "{count} saved", |
| 973 | "LaunchWorktreePrompt": "Name the branch/worktree, or press Enter for an automatic name.", |
| 974 | "LaunchWorktreeNeedsGit": "New worktree requires a Git repository.", |
| 975 | "LaunchWorktreeNameLabel": "worktree name", |
| 976 | "LaunchHintMove": "move", |
| 977 | "LaunchHintOpen": "open", |
| 978 | "LaunchTipFlags": "Tip: -w <path> opens a workspace; -r <session-id> resumes directly", |
| 979 | "LaunchSavedSessionSingular": "1 saved session", |
| 980 | "LaunchSavedSessionsPlural": "{count} saved sessions", |
| 981 | "LaunchCreatingWorktree": "Creating worktree…", |
| 982 | "LaunchWorktreeFailed": "Worktree failed: {error}", |
| 983 | "LaunchNoSavedSessions": "No saved sessions for this workspace.", |
| 984 | "PhaseIdle": "idle", |
| 985 | "PhaseDraft": "draft", |
| 986 | "PhaseWorking": "working", |
| 987 | "PhaseReasoning": "reasoning", |
| 988 | "PhaseReading": "reading", |
| 989 | "PhaseUsingTool": "using tool", |
| 990 | "PhaseVerifying": "verifying", |
| 991 | "PhaseWaitingOnYou": "waiting on you", |
| 992 | "PhaseDone": "done", |
| 993 | "PhaseFailed": "failed", |
| 994 | "PhaseFinishing": "finishing", |
| 995 | "ChipModeAct": "act", |
| 996 | "ChipModePlan": "plan", |
| 997 | "ChipModeOperate": "operate", |
| 998 | "ChipPermissionReadOnly": "read only", |
| 999 | "ChipPermissionAsk": "ask", |
| 1000 | "ChipPermissionAuto": "auto", |
| 1001 | "ChipPermissionFullAccess": "Full Access", |
| 1002 | "ChipPermissionNever": "never", |
| 1003 | "FooterHintKeys": "keys", |
| 1004 | "FooterHintOutput": "output", |
| 1005 | "FooterHintContext": "context", |
| 1006 | "EmptyStateNoGit": "no git", |
| 1007 | "EmptyStateMcpLabel": "mcp", |
| 1008 | "EmptyStateFleetLabel": "Fleet", |
| 1009 | "EmptyStateFleetSetupLabel": "Fleet ready", |
| 1010 | "EmptyStateHelpHint": "— see everything", |
| 1011 | "SessionsSurfaceTitle": "sessions", |
| 1012 | "SessionsPaneTitle": " sessions (1-9) ", |
| 1013 | "SessionsHistoryPaneTitle": " history (PgUp/PgDn) ", |
| 1014 | "SessionsActionResume": "resume", |
| 1015 | "SessionsActionSearch": "search", |
| 1016 | "SessionsActionSort": "sort", |
| 1017 | "SessionsActionRename": "rename", |
| 1018 | "SessionsActionAllWorkspaces": "all workspaces", |
| 1019 | "SessionsActionDelete": "delete", |
| 1020 | "SessionsActionClose": "close", |
| 1021 | "SessionsScopeSortHeader": "scope and sort · {sort}", |
| 1022 | "SessionsEmptyTitle": "No saved sessions yet.", |
| 1023 | "SessionsEmptyHint": "Send a message to start one; it is saved automatically.", |
| 1024 | "SessionsShowingAllWorkspaces": "showing sessions from every workspace", |
| 1025 | "SessionsScopedToWorkspace": "scoped to this workspace", |
| 1026 | "SessionsNewTitlePrompt": "New title: ", |
| 1027 | "SessionsDeletePrompt": "Delete session? (y/n)", |
| 1028 | "SessionsConfirmDelete": "Confirm delete (y/n)", |
| 1029 | "SessionsNewSessionTitle": "New Session", |
| 1030 | "SessionsOpenedHistory": "Opened history for {id}", |
| 1031 | "SessionsSortStatus": "Sort: {sort}", |
| 1032 | "SessionsSortRecent": "recent", |
| 1033 | "SessionsSortName": "name", |
| 1034 | "SessionsSortSize": "size", |
| 1035 | "SessionsSearchPrompt": "Search: type to filter, Enter to apply", |
| 1036 | "SessionsDeleteFailed": "Delete failed: {error}", |
| 1037 | "SessionsDeleted": "Deleted session {id}", |
| 1038 | "SessionsNoSelection": "No session selected", |
| 1039 | "SessionsTitleLength": "Title must be 1–100 characters", |
| 1040 | "SessionsOpenFailed": "Could not open sessions: {error}", |
| 1041 | "SessionsLoadFailed": "Could not load session: {error}", |
| 1042 | "SessionsRenameFailed": "Rename failed: {error}", |
| 1043 | "SessionsRenamed": "Renamed to \"{title}\"", |
| 1044 | "SessionsNoResults": "No sessions found.", |
| 1045 | "SessionsDirectoryFailed": "Failed to open sessions directory.", |
| 1046 | "SessionsPreviewFailed": "Failed to load session preview.", |
| 1047 | "SessionsDeleteCancelled": "Delete cancelled", |
| 1048 | "SessionsRenameCancelled": "Rename cancelled", |
| 1049 | "SessionsShowingRange": "Showing {start}-{end} / {total}", |
| 1050 | "SessionsMessageCountCompact": "{count} msgs", |
| 1051 | "SessionsForkCompact": "fork", |
| 1052 | "SessionsUnknownMode": "unknown", |
| 1053 | "SessionsPreviewTitle": "Title: {title}", |
| 1054 | "SessionsPreviewUpdated": "Updated: {updated}", |
| 1055 | "SessionsPreviewMessagesModel": "Messages: {count} | Model: {model}", |
| 1056 | "SessionsPreviewMode": "Mode: {mode}", |
| 1057 | "SessionsToolCall": "tool call: {name} {input}", |
| 1058 | "SessionsToolError": "tool error: {content}", |
| 1059 | "SessionsToolResult": "tool result: {content}", |
| 1060 | "SessionsServerTool": "server tool: {name} {input}", |
| 1061 | "SessionsImage": "[image]", |
| 1062 | "SessionsTimeJustNow": "just now", |
| 1063 | "SessionsTimeMinutesAgo": "{count}m ago", |
| 1064 | "SessionsTimeHoursAgo": "{count}h ago", |
| 1065 | "SessionsTimeDaysAgo": "{count}d ago", |
| 1066 | "CtxInspRowSystemPrompt": "system prompt", |
| 1067 | "CtxInspRowMessages": "messages", |
| 1068 | "CtxInspRowFree": "free", |
| 1069 | "CtxInspFreeTokensDetail": "{free} free tokens remain before the route window is full. Auto-compact threshold: {threshold}%.", |
| 1070 | "CtxInspDrillTitle": "context · {row}", |
| 1071 | "CtxInspSurfaceTitle": "context", |
| 1072 | "CtxInspActionSelect": "select", |
| 1073 | "CtxInspActionDrillDown": "drill down", |
| 1074 | "CtxInspActionClose": "close", |
| 1075 | "CtxInspUsedTokens": "~{used}/{max} tokens", |
| 1076 | "CtxInspAutoCompactAt": "auto-compact at {threshold}%", |
| 1077 | "CtxInspRowTokens": "{tokens} tokens · {percent}%", |
| 1078 | "RouteSurfaceTitle": "route · {view}", |
| 1079 | "RouteBrowseCatalog": "browse catalog", |
| 1080 | "RouteActionType": "Type", |
| 1081 | "RouteActionSearchAnyModel": "search any model", |
| 1082 | "RoutePanelHeader": "route", |
| 1083 | "RouteProviderLabel": "provider", |
| 1084 | "RouteModelFirstAtomic": "model-first atomic route", |
| 1085 | "PickerActionMove": "move", |
| 1086 | "PickerActionSwitch": "switch", |
| 1087 | "PickerActionApply": "apply", |
| 1088 | "PickerActionSetStartupDefault": "set startup default", |
| 1089 | "PickerActionCancel": "cancel", |
| 1090 | "PickerActionClear": "clear", |
| 1091 | "PickerActionClearSearch": "clear search", |
| 1092 | "PickerActionBrowseAll": "browse all", |
| 1093 | "PickerActionCustom": "custom", |
| 1094 | "PickerActionJump": "jump", |
| 1095 | "PickerActionEditKey": "edit key", |
| 1096 | "PickerActionModels": "models", |
| 1097 | "PickerActionUnavailable": "unavailable", |
| 1098 | "PickerActionSetKey": "set key", |
| 1099 | "PickerActionConfigured": "configured", |
| 1100 | "RouteNoModels": "No models available.", |
| 1101 | "RouteNoModelMatch": "No models match \"{query}\" — Backspace to clear.", |
| 1102 | "ProviderNoMatchesTitle": "No providers match", |
| 1103 | "ProviderNoMatchesHint": "Try a different search term or clear to browse.", |
| 1104 | "ProviderNoConfiguredTitle": "No providers configured yet", |
| 1105 | "ProviderNoConfiguredHint": "Browse every supported provider or create a custom endpoint.", |
| 1106 | "ProviderNoCatalogModels": "No catalog models available.", |
| 1107 | "ProviderExternalActionRevoke": "revoke external", |
| 1108 | "ProviderExternalActionChoices": "external access choices", |
| 1109 | "ProviderExternalActionReuseGrok": "external Grok reuse", |
| 1110 | "ProviderExternalHintCodexReview": "After {login}, press Enter to review disabled/read-only/managed access choices.", |
| 1111 | "ProviderExternalHintXaiReview": "Press Enter for Codewhale-owned device login; press E to review existing Grok CLI reuse.", |
| 1112 | "ProviderExternalHintXaiApiKey": "Or use XAI_API_KEY and re-open this picker.", |
| 1113 | "XaiAuthChoiceTitle": " xAI authentication ", |
| 1114 | "XaiAuthChoiceIntro": "Choose one explicit credential source. Key text is never an OAuth token.", |
| 1115 | "XaiAuthChoiceApiKeyOption": "xAI API key — type or paste, then save in the xAI provider slot", |
| 1116 | "XaiAuthChoiceDeviceOAuthOption": "Native device OAuth — browser/device-code sign-in with Codewhale-owned storage", |
| 1117 | "ProviderExternalDetailScope": "External: access={access} | provider={provider} | source={source} | version={version} | {state}", |
| 1118 | "ProviderExternalDormant": "dormant", |
| 1119 | "ProviderExternalOwnerPath": "Owner/path: {owner} | {path}", |
| 1120 | "ProviderExternalPinnedPathWarning": "Warning: ambient {owner} credential path changed; consent remains pinned to {path}.", |
| 1121 | "ProviderExternalSemanticsRevoke": "{semantics} | revoke: {revoke}", |
| 1122 | "ProviderExternalRevoke": "revoke: {revoke}", |
| 1123 | "ProviderExternalChoiceTitle": " External credential access · {provider} ", |
| 1124 | "ProviderExternalActionChoose": "choose", |
| 1125 | "ProviderExternalChoiceIntro": "Choose what Codewhale may do with credentials owned by another CLI.", |
| 1126 | "ProviderExternalDisabledLabel": "Disabled (default)", |
| 1127 | "ProviderExternalDisabledDetail": "no probing, reads, refresh, network, or writes", |
| 1128 | "ProviderExternalReadOnlyLabel": "Read-only", |
| 1129 | "ProviderExternalReadOnlyDetail": "one exact file; explicit confirmation follows", |
| 1130 | "ProviderExternalReadOnlySemantics": "read this exact file; no refresh, identity-provider or discovery requests, external-file writes, or rewrites; normal requests to the selected provider may use its token", |
| 1131 | "ProviderExternalManagedLabel": "Managed (unavailable)", |
| 1132 | "ProviderExternalManagedDetail": "no reviewed schema-safe preservation adapter", |
| 1133 | "ProviderExternalConfirmTitle": " Confirm exact read-only access ", |
| 1134 | "ProviderExternalActionGrant": "grant read-only access", |
| 1135 | "ProviderExternalOwnerLabel": "Owning CLI", |
| 1136 | "ProviderExternalExactPathLabel": "Exact resolved path", |
| 1137 | "ProviderExternalSemanticsLabel": "Semantics", |
| 1138 | "ProviderExternalRejectUnsafe": "Codewhale will reject symlinks, reparse points, and non-regular files.", |
| 1139 | "ProviderExternalRevokeLabel": "Revoke", |
| 1140 | "ProviderExternalGrantedToast": "Read-only {owner} access granted for {provider}. No refresh, identity/discovery requests, or external-file writes; normal provider requests may use the token.", |
| 1141 | "ProviderExternalSaveFailedToast": "External credential consent was not saved: {error}", |
| 1142 | "ProviderExternalRevokedToast": "External credential access revoked for {provider}", |
| 1143 | "ProviderExternalRevokeFailedToast": "External credential access was not revoked: {error}", |
| 1144 | "ThemeSurfaceTitle": "theme · live preview", |
| 1145 | "ThemeTreatmentOmbreUnavailable": "Treatment Ombre unavailable — Terminal owns the background", |
| 1146 | "ThemeTreatmentFlatActive": "Treatment Flat — active", |
| 1147 | "ThemeTreatmentOmbreActive": "Treatment Ombre — active", |
| 1148 | "FleetRosterHeaderLabel": "fleet", |
| 1149 | "FleetRosterTabRoster": "roster", |
| 1150 | "FleetRosterTabSetup": "setup", |
| 1151 | "FleetRosterWorkers": "workers", |
| 1152 | "FleetRosterMembersCount": "{count} members", |
| 1153 | "FleetRosterOperatorFirst": "operator leads · session model runs this Fleet", |
| 1154 | "FleetRosterOperatorRow": "operator · leader", |
| 1155 | "FleetReadyNotice": "Fleet is ready · /fleet opens roles · /fleet setup customizes routes", |
| 1156 | "FleetProfileIdentityVerifyFailed": "Could not verify existing profile identities ({error}); fix the named file before saving.", |
| 1157 | "FleetProfileIdConflict": "Profile id `{id}` is already used by {path}; redraft with a different role or remove the old file first.", |
| 1158 | "FleetProfileProviderUnconfigured": "Profile pins provider `{provider}`, which has no configured credentials ({env}); set it up in /provider before saving.", |
| 1159 | "WorkflowStatusWaiting": "waiting", |
| 1160 | "WorkflowDebrief": "debrief: {done}/{total} settled · {failed} failed · {cancelled} cancelled · {elapsed}", |
| 1161 | "WorkflowTranscriptDetails": "transcript: full run JSON available in tool details ({details})", |
| 1162 | "WorkflowReceiptRole": "role {value}", |
| 1163 | "WorkflowReceiptReasoning": "reasoning {value}", |
| 1164 | "WorkflowReceiptVia": "via {value}", |
| 1165 | "WorkflowReceiptTokens": "tokens {value}", |
| 1166 | "WorkflowReceiptTools": "tools {value}", |
| 1167 | "WorkflowReceiptDuration": "duration {value}", |
| 1168 | "WorkflowReceiptUnknown": "unknown", |
| 1169 | "WorkflowReceiptProviderReported": "provider-reported", |
| 1170 | "WorkflowReceiptEstimated": "estimated", |
| 1171 | "SidebarTasksLabel": "Tasks", |
| 1172 | "SidebarTodoLabel": "To-do", |
| 1173 | "WorkSurfaceTodoProgress": "{label} {completed}/{total} · {remaining} left", |
| 1174 | "SidebarStopControl": "stop", |
| 1175 | "SidebarDestructiveArmed": "Destructive action armed — press Enter to confirm or clear the draft to cancel", |
| 1176 | "WorkSurfaceStopConfirmHint": "confirm stop · Esc cancels", |
| 1177 | "CoordinationWorkTitle": "Coordination Work", |
| 1178 | "CoordinationSummaryDecisions": "{count} decisions", |
| 1179 | "CoordinationSummaryContentions": "{count} contentions", |
| 1180 | "CoordinationSummaryReconciled": "{count} reconciled", |
| 1181 | "CoordinationSchema": "Schema {value}", |
| 1182 | "CoordinationSequence": "sequence {value}", |
| 1183 | "CoordinationPerSectionLimit": "up to {limit} per section", |
| 1184 | "CoordinationDecisionsHeading": "Decisions", |
| 1185 | "CoordinationNone": "None", |
| 1186 | "CoordinationNoneValue": "none", |
| 1187 | "CoordinationStatus": "status {status}", |
| 1188 | "CoordinationOwner": "owner {owner}", |
| 1189 | "CoordinationVersion": "version {version}", |
| 1190 | "CoordinationWriteClaimsHeading": "Write claims", |
| 1191 | "CoordinationIsolated": "isolated", |
| 1192 | "CoordinationSharedWorkspace": "shared workspace", |
| 1193 | "CoordinationPaths": "paths {paths}", |
| 1194 | "CoordinationContracts": "contracts {contracts}", |
| 1195 | "CoordinationContentionsHeading": "Contentions", |
| 1196 | "CoordinationClaimant": "claimant {claimant}", |
| 1197 | "CoordinationDisposition": "disposition {disposition}", |
| 1198 | "CoordinationNeutralReconciliationHeading": "Neutral reconciliation", |
| 1199 | "CoordinationCandidates": "{count} candidates", |
| 1200 | "CoordinationRetry": "retry {count}/{limit}", |
| 1201 | "CoordinationReviewer": "reviewer {reviewer}", |
| 1202 | "CoordinationVerifier": "verifier {verifier}", |
| 1203 | "CoordinationVerification": "verification {verification}", |
| 1204 | "CoordinationContextProjectionsHeading": "Context projections", |
| 1205 | "CoordinationContextDecisions": "decisions {decisions}", |
| 1206 | "CoordinationBytes": "{count} bytes", |
| 1207 | "CoordinationDeduplicated": "{count} deduplicated", |
| 1208 | "CoordinationOmitted": "{count} omitted", |
| 1209 | "CoordinationActiveHotPathsHeading": "Active hot paths", |
| 1210 | "CoordinationActiveClaims": "{count} active claims", |
| 1211 | "CoordinationMetricsNoteHeading": "Metrics note", |
| 1212 | "CoordinationMetricsNoAuthoritativeSource": "growth and route/cost stay null when the coordination ledger has no authoritative source", |
| 1213 | "CoordinationStatusProposed": "proposed", |
| 1214 | "CoordinationStatusAccepted": "accepted", |
| 1215 | "CoordinationStatusSuperseded": "superseded", |
| 1216 | "ComposerSlashMenuHint": " enter:run · tab:complete · ↑↓:select · esc:keep typing ", |
| 1217 | "ApprovalRepoLawBadge": "REPO LAW", |
| 1218 | "ApprovalRepoLawTitle": "Repository constitution", |
| 1219 | "ApprovalRepoLawWarning": "Repository law requires confirmation in approval-gated postures.", |
| 1220 | "ApprovalRepoLawRuleLabel": "Rule ", |
| 1221 | "FilePickerMatchSingular": "@ attach · 1 match", |
| 1222 | "FilePickerMatchesPlural": "@ attach · {count} matches", |
| 1223 | "FilePickerScanning": "Scanning workspace…", |
| 1224 | "BehavioralTipPlanning": "Planning? {key} cycles to Plan mode", |
| 1225 | "BehavioralTipBackgroundReceipt": "Receipts live in the Work panel — {key} opens the inspector", |
| 1226 | "BehavioralTipClearedInput": "Cleared · {chord} restores", |
| 1227 | "BehavioralTipMcpValidation": "{command} starts servers and shows why", |
| 1228 | "BehavioralTipRepeatedCommand": "{command} can pin this", |
| 1229 | "SettingLockedDuringTurn": "{setting} is locked while a turn is running — press Esc to interrupt first", |
| 1230 | "SettingSubjectMode": "Mode", |
| 1231 | "SettingSubjectThinking": "Thinking", |
| 1232 | "SettingSubjectModel": "Model", |
| 1233 | "SettingSubjectModelAndThinking": "Model and thinking", |
| 1234 | "SettingSubjectProvider": "Provider", |
| 1235 | "SettingSubjectPermissions": "Permissions", |
| 1236 | "ThinkingControlledByAutoRouting": "Thinking is controlled by automatic model routing; choose a fixed model first.", |
| 1237 | "SavedAsStartupDefault": "saved as startup default", |
| 1238 | "ModeAlreadyActiveSavedAsDefault": "Already in {mode} mode — saved as startup default.", |
| 1239 | "StartupDefaultNotSaved": "{setting} was not saved: {error}", |
| 1240 | "StartupDefaultSubjectMode": "startup mode", |
| 1241 | "StartupDefaultSubjectThinking": "thinking level", |
| 1242 | "StartupDefaultSubjectModel": "model", |
| 1243 | "StartupDefaultSubjectAll": "startup defaults", |
| 1244 | "SessionsRailTitle": "Sessions", |
| 1245 | "SessionsRailEmpty": "No sessions in this workspace yet", |
| 1246 | "SessionsRailBrowseAll": "Browse all sessions", |
| 1247 | "SessionsRailShowingCount": "{shown} of {total} — browse all", |
| 1248 | "SessionsRailUnavailable": "Sessions unavailable: {error}", |
| 1249 | "SessionsActionArchive": "archive", |
| 1250 | "SessionsActionShowArchived": "archived", |
| 1251 | "SessionsArchived": "Archived session {id}", |
| 1252 | "SessionsRestored": "Restored session {id}", |
| 1253 | "SessionsArchiveFailed": "Archive failed: {error}", |
| 1254 | "SessionsShowingArchived": "Showing archived sessions", |
| 1255 | "SessionsHidingArchived": "Hiding archived sessions", |
| 1256 | "SessionsArchivedCompact": "archived", |
| 1257 | "KbReasoningDetail": "Open reasoning detail for the selected or current turn", |
| 1258 | "KbTurnInspector": "Open Turn Inspector", |
| 1259 | "CmdTurnInspectDescription": "Open the whole-turn inspector", |
| 1260 | "CmdAutomationDescription": "Manage durable scheduled automations", |
| 1261 | "AutomationUsage": "Usage: /automation [list|show <id>|pause <id>|resume <id>|delete <id> [--confirm <token>]|run <id>]", |
| 1262 | "AutomationManagerUnavailable": "Automation manager is not available in this session.", |
| 1263 | "AutomationListFailed": "Could not list automations: {error}", |
| 1264 | "AutomationActionFailed": "Could not {action} automation {id}: {error}", |
| 1265 | "AutomationEmpty": "No scheduled automations. Use the `automation` tool to create one.", |
| 1266 | "AutomationListHeading": "Scheduled automations", |
| 1267 | "AutomationNoun": "Automation", |
| 1268 | "AutomationStatusLabel": "status", |
| 1269 | "AutomationStatusActive": "active", |
| 1270 | "AutomationStatusPaused": "paused", |
| 1271 | "AutomationRunStatusQueued": "queued", |
| 1272 | "AutomationRunStatusRunning": "running", |
| 1273 | "AutomationRunStatusCompleted": "completed", |
| 1274 | "AutomationRunStatusFailed": "failed", |
| 1275 | "AutomationRunStatusCanceled": "canceled", |
| 1276 | "AutomationActionInspect": "inspect", |
| 1277 | "AutomationActionPause": "pause", |
| 1278 | "AutomationActionResume": "resume", |
| 1279 | "AutomationActionDelete": "delete", |
| 1280 | "AutomationActionRun": "run", |
| 1281 | "AutomationActionPaused": "paused", |
| 1282 | "AutomationActionResumed": "resumed", |
| 1283 | "AutomationNextLabel": "next", |
| 1284 | "AutomationNameLabel": "name", |
| 1285 | "AutomationPromptLabel": "prompt", |
| 1286 | "AutomationCwdLabel": "cwd", |
| 1287 | "AutomationModeLabel": "mode", |
| 1288 | "AutomationAllowShellLabel": "allow_shell", |
| 1289 | "AutomationTrustModeLabel": "trust_mode", |
| 1290 | "AutomationAutoApproveLabel": "auto_approve", |
| 1291 | "AutomationRruleLabel": "rrule", |
| 1292 | "AutomationDeliveryLabel": "delivery", |
| 1293 | "AutomationLastLabel": "last", |
| 1294 | "AutomationRecentRunsLabel": "recent runs", |
| 1295 | "AutomationNoRuns": "no recorded runs", |
| 1296 | "AutomationRunsUnavailable": "runs unavailable", |
| 1297 | "AutomationTaskLabel": "task", |
| 1298 | "AutomationMutationReceipt": "{name} — {action} ({status_label}: {status})", |
| 1299 | "AutomationRunEnqueued": "Automation {id} run enqueued: {status} (task {task})", |
| 1300 | "AutomationDeletePreview": "Deletion is not armed. Nothing was deleted.\nAutomation: {id} ({name})\nRecorded runs: {run_count}\nTo delete the definition and run history, run:\n{command}", |
| 1301 | "AutomationDeleteConfirmationStale": "Deletion confirmation no longer matches automation {id}; nothing was deleted. Review the current state with {command}.", |
| 1302 | "AutomationDeleted": "Deleted automation {id} ({name}). Recorded runs deleted: {run_count}." |
| 1303 | } |
| 1304 |