返回 CodeWhale
en.json
1 {
2 "PetHabitatTitle": "CODEWHALE / WHALESONG · One shared habitat",
3 "PetHabitatHints": "{back} back · {sound} sound · {browser} appearance · {window} window",
4 "PetHabitatQueued": "Sent to the shared habitat. /pet on opens the full view.",
5 "PetWatchSoundOn": "Sound on",
6 "PetWatchSoundOff": "Sound off",
7 "PetWatchSoundPaused": "Sound paused",
8 "PetWatchSoundUnavailable": "Pet sound stopped. Check FFmpeg (ffplay) and your audio output, then enable sound again.",
9 "CmdPetDescription": "Turn the screen over to the Codewhale pet while it works",
10 "PetModeOn": "Pet mode on. The habitat takes the screen while Codewhale works; Esc returns to the composer.",
11 "PetModeOff": "Pet mode off. The pet keeps living in its companion; /pet turns it back on.",
12 "PetModeOnLabel": "pet mode on",
13 "PetModeOffLabel": "pet mode off",
14 "PetViewOpen": "habitat open",
15 "PetViewClosed": "habitat closed",
16 "PetWatchRestored": "/pet restored this session’s habitat. Waiting for fresh telemetry.",
17 "PetWatchStorageUnavailable": "Watch could not restore or save this habitat. Existing files were kept. Use {command} to export this run.",
18 "PetWatchExported": "Watch replay saved: {path}",
19 "PetWatchExportFailed": "Watch replay could not be saved. The recording remains in memory.",
20 "PetWatchExportQueued": "Saving Watch replay…",
21 "PetWatchExportUnavailable": "Open /pet in a saved session, or wait for the current export.",
22 "PetUnobserved": "unobserved",
23 "PetDozing": "dozing",
24 "PetWatchUnavailable": "Pet telemetry paused. /pet on retries.",
25 "SessionArchiveExported": "Exported session",
26 "SessionArchiveSizes": "members / uncompressed / archive",
27 "SessionArchiveNoArtifacts": "No regular artifacts found for this session.",
28 "SessionArchiveRestoreHint": "Open the extracted record with /load <session.json>; /resume imports the conversation only. Extracted artifacts remain separate files.",
29 "ExtensionsActionAdd": "add",
30 "ExtensionsActionEnable": "enable",
31 "ExtensionsActionEdit": "Edit",
32 "ExtensionsHooksAddLabel": "Add a hook",
33 "ExtensionsHooksAddDescription": "Open this project's hooks file in your editor",
34 "ExtensionsActionReload": "reload",
35 "ExtensionsActionConnect": "connect",
36 "ExtensionsActionReconnect": "reconnect",
37 "ExtensionsActionReauth": "re-auth",
38 "ExtensionsActionDiagnose": "diagnose",
39 "ExtensionsActionManage": "manage",
40 "ExtensionsActionFocus": "focus",
41 "ExtensionsActionFold": "fold",
42 "ExtensionsActionTabs": "tabs",
43 "ExtensionsCompatibilityFull": "full",
44 "ExtensionsCompatibilityPartial": "partial",
45 "ExtensionsComponentBrowserDriver": "browser driver",
46 "ExtensionsComponentNativeRuntime": "native runtime",
47 "ExtensionsComponentSandboxRuntime": "sandbox runtime",
48 "ExtensionsGroupBuiltIn": "Built-in",
49 "ExtensionsGroupConfigured": "Configured",
50 "ExtensionsGroupProblems": "Problems",
51 "ExtensionsGroupRecommended": "Recommended",
52 "ExtensionsGroupServers": "Servers",
53 "ExtensionsGroupNeedsAttention": "Needs attention",
54 "ExtensionsGroupNeedsLogin": "Needs login",
55 "ExtensionsGroupStatus": "{count} items · Enter folds",
56 "ExtensionsGroupUser": "User",
57 "ExtensionsGroupWorkspace": "Workspace",
58 "ExtensionsHookDetail": "timeout: {timeout}s · background: {background} · continue on error: {continue_on_error}",
59 "ExtensionsHookFallback": "{event} hook",
60 "ExtensionsHooksConfiguration": "Hooks configuration",
61 "ExtensionsInventoryAgents": "Agents: {count}",
62 "ExtensionsInventoryCommands": "Commands: {count}",
63 "ExtensionsInventoryHooks": "Hooks: {count}",
64 "ExtensionsInventoryMcp": "MCP: {count}",
65 "ExtensionsInventoryNone": "No supported components",
66 "ExtensionsInventorySkills": "Skills: {count}",
67 "ExtensionsMarketplaceDetail": "publisher: {publisher} · tier: {tier} · installable: {installable}",
68 "ExtensionsMarketplaceUnavailable": "Marketplace storage unavailable",
69 "ExtensionsMcpEmpty": "No MCP servers configured",
70 "ExtensionsMcpBrowse": "Browse server suggestions",
71 "ExtensionsMcpDetail": "tools: {tools} · resources: {resources} · prompts: {prompts}",
72 "ExtensionsMcpNotInspected": "Not inspected yet · reload to connect your servers",
73 "ExtensionsMcpRefresh": "{count} MCP servers set up; open /mcp to refresh",
74 "ExtensionsMcpSummary": "{transport} · tools: {tools} · resources: {resources}",
75 "ExtensionsNoItems": "Nothing on this tab",
76 "ExtensionsNoMatches": "No matches for '{query}'",
77 "ExtensionsPluginDetail": "{inventory} · trust: {trust} · compatibility: {compatibility} · diagnostics: {diagnostics}",
78 "ExtensionsProductBrowserUseDescription": "Browser-control workflow packaged as an agent Skill.",
79 "ExtensionsProductChromeDescription": "Inspect and control a local Chrome session through the official MCP.",
80 "ExtensionsProductDetail": "publisher: {publisher} · components: {components} · source: {source}",
81 "ExtensionsProductPlaywrightDescription": "Browser automation built around Microsoft's Playwright MCP.",
82 "ExtensionsProductCodewhaleComputerUseDescription": "See the screen and operate it: accessibility-first control, screenshots, zoom, and screen recording, plus remote computers over ssh.",
83 "ExtensionsStateFirstParty": "Ships with Codewhale",
84 "ExtensionsProductSandboxDescription": "Process isolation layer for plugin-provided local commands.",
85 "ExtensionsSearchLabel": "Search: ",
86 "ExtensionsSkillRootCompatibleGlobal": "Compatible global ({harness})",
87 "ExtensionsSkillRootCompatibleProject": "Compatible project ({harness})",
88 "ExtensionsSkillRootConfigured": "Configured directory",
89 "ExtensionsSkillRootGlobal": "Global Codewhale skills",
90 "ExtensionsSkillRootProject": "Project Codewhale skills",
91 "ExtensionsSkillRootRegistryCache": "Registry cache",
92 "ExtensionsSkillRootReviewedPlugin": "Reviewed plugin",
93 "ExtensionsStateAvailable": "available",
94 "ExtensionsStateBetaCandidate": "beta candidate",
95 "ExtensionsStateConnected": "connected",
96 "ExtensionsStateEnabled": "enabled",
97 "ExtensionsStateEnabledUntrusted": "enabled, untrusted",
98 "ExtensionsStateError": "error",
99 "ExtensionsStateInactive": "inactive",
100 "ExtensionsStateInapplicable": "not applicable",
101 "ExtensionsStateInvalid": "invalid",
102 "ExtensionsStateNotInspected": "not inspected",
103 "ExtensionsStateRejected": "rejected",
104 "ExtensionsStateReviewedCandidate": "reviewed candidate",
105 "ExtensionsStateUnderEvaluation": "under evaluation",
106 "ExtensionsStateUnstaged": "not staged",
107 "ExtensionsStateUnsupported": "unsupported",
108 "ExtensionsStateWarning": "warning",
109 "ExtensionsTabHooks": "Hooks",
110 "ExtensionsTabMarketplace": "Marketplace",
111 "ExtensionsTabMarketplaceCompact": "Market",
112 "ExtensionsTabPlugins": "Plugins",
113 "ExtensionsTierCommunity": "community",
114 "ExtensionsTierCurated": "curated",
115 "ExtensionsTierOfficial": "official",
116 "ExtensionsTierPartner": "partner",
117 "ExtensionsTitle": "Extensions",
118 "ExtensionsTrustCapabilitiesChanged": "capabilities changed",
119 "ExtensionsTrustContentChanged": "content changed",
120 "ExtensionsTrustNotReviewed": "not reviewed",
121 "ExtensionsTrustTrusted": "trusted",
122 "ExtensionsValueNo": "no",
123 "ExtensionsValueYes": "yes",
124 "ComposerPlaceholder": "Type a message…",
125 "ComposerPlaceholderFollowUp": "Type a follow-up…",
126 "ComposerPlaceholderSendNow": "Enter send now · type another",
127 "ComposerHintSendWithQueue": "↵ send ({count} waiting)",
128 "ComposerHintQueue": "↵ send after this turn",
129 "ComposerHintQueueWithCount": "↵ send after this turn ({count} waiting)",
130 "ComposerHintOfflineQueue": "↵ save for later",
131 "ComposerHintOfflineConnect": "↵ save for later · /provider to connect",
132 "ComposerHintSendNow": "↵ send now",
133 "ComposerHintSendIntoTurn": "↵ send into this turn",
134 "PendingSendingIntoTurnPrefix": " ↳ Sending into this turn: ",
135 "PendingCouldNotSendIntoTurnPrefix": " ↳ Held for next turn: ",
136 "PendingEditingFollowUpPrefix": " ↳ Editing follow-up: ",
137 "PendingQueuedOnePrefix": "Queued #1: ",
138 "PendingQueuedManyPrefix": "Queued {count} · next: ",
139 "PendingSendNowControls": "Enter send now · {key} edit last",
140 "PendingSendNowDropControls": "Enter send now · {key} edit · /queue drop 1",
141 "PendingEscRestore": " Esc restores the queued follow-up",
142 "PendingQueuedFollowUpPrefix": " ↳ Queued follow-up #{number}: ",
143 "PendingInputsHeader": "Pending inputs",
144 "PendingContextHeader": "Context for next send",
145 "ToastQueuedFollowUp": "Queued — sends after this turn.",
146 "ToastQueuedFollowUpCount": "Queued ({count} waiting) — sends after this turn.",
147 "ToastQueuedOffline": "Saved for later. Connect a provider to send.",
148 "ToastSentIntoTurn": "Sent into this turn.",
149 "ToastCouldNotSendIntoTurn": "Couldn't send into this turn; kept in the queue.",
150 "ToastHookBlockedFollowUp": "A hook blocked the follow-up; it stayed in the queue.",
151 "ToastOfflineQueuedCount": "Offline: {count} saved for later.",
152 "ComposerDispatchFailedRestored": "Message not sent ({error}); restored to composer.",
153 "DispatchFailedQueued": "Send failed ({error}); kept {count} queued follow-up(s).",
154 "DispatchFailedInitial": "Could not send your first message: {error}",
155 "HistorySearchPlaceholder": "Search history...",
156 "HistorySearchTitle": "History search",
157 "HistoryHintMove": "Up/Down move",
158 "HistoryHintAccept": "Enter accept",
159 "HistoryHintRestore": "Esc restore",
160 "HistoryNoMatches": " No matches",
161 "TranscriptReasoningExpand": "expand",
162 "TelemetryNoticeDefaultOn": "Usage reporting is on by default. Share aggregate version/platform, session, feature and error counts with Codewhale and PostHog (processor). No content or IP. docs/TELEMETRY.md Turn off: codewhale config set telemetry false",
163 "TelemetryNoticeHeadline": "Codewhale usage reporting",
164 "TelemetryNoticeBody": "Codewhale counts: which version you run, OS and CPU family, session\nduration and outcome, and aggregate feature and error counters.\n\nIt never collects your conversations, code, prompts, files, repo or\nbranch names, model content, or credentials — and it never sends a\nper-turn or per-tool timeline of agent activity.\n\nYou are identified only by a random ID stored on this machine, replaced\nevery 90 days. Change your mind any time:\n codewhale config set telemetry false\n\nFull schema, field by field: docs/TELEMETRY.md\n\nUsage reporting is on by default. Codewhale and PostHog process these counts when delivery is configured. No IP is collected.",
165 "TelemetryNoticeCompactBody": "Counts: version, OS/CPU, session\ntime/result, feature/error totals.\nRandom local ID rotates every 90d.\nNever: chat/code/prompts/files/names;\nmodel content/credentials; turn/tools.\nSchema: docs/TELEMETRY.md\nOff: codewhale config set telemetry\nfalse\nUsage reporting is on by default. Codewhale and PostHog process these counts when delivery is configured. No IP is collected.",
166 "TelemetryNoticeChoiceKeep": "Yes, keep anonymous counts",
167 "TelemetryNoticeChoiceDisable": "No, turn off tracking",
168 "TelemetryNoticeActionChoose": "choose",
169 "TelemetryNoticeActionConfirm": "confirm",
170 "TelemetryNoticeActionExit": "exit",
171 "TelemetryNoticeReceiptEnabled": "Anonymous usage counts are on. Conversations and code are never collected. Change this in /settings; schema: docs/TELEMETRY.md",
172 "TelemetryNoticeReceiptDisabled": "Anonymous usage counting is off. You will not be asked again.",
173 "TelemetryNoticeReceiptEnabledUnsaved": "Anonymous usage counts are on for this session. Codewhale could not save this notice, so it will appear again. Change this in /settings; schema: docs/TELEMETRY.md",
174 "TelemetryNoticeReceiptDisabledUnsaved": "Anonymous usage counting is off for this session. Codewhale could not save the choice, so it will ask again next launch.",
175 "TelemetryPreferenceEnabledNextLaunch": "Anonymous usage counts will be on next launch. Conversations and code are never collected.",
176 "TelemetryPreferenceDisabled": "Anonymous usage counts are off. Local telemetry state was erased.",
177 "TelemetryPreferenceDisabledWithWarning": "Anonymous usage counts are off, but part of the cleanup needs attention: {detail}",
178 "TelemetryPreferenceDisabledForSession": "Anonymous usage counts are off for this session, but the preference was not saved and may return next launch: {detail}",
179 "TelemetryPreferenceSaveFailed": "The telemetry preference could not be changed safely: {detail}",
180 "StatusPickerTitle": " Status line ",
181 "StatusPickerInstruction": "Choose what the footer shows:",
182 "StatusPickerActionToggle": "toggle ",
183 "StatusPickerActionAll": "all ",
184 "StatusPickerActionNone": "none ",
185 "StatusPickerActionSave": "save ",
186 "StatusPickerActionCancel": "cancel ",
187 "HotbarSetupTitle": " Hotbar setup ",
188 "HotbarSetupSourceApp": "app",
189 "HotbarSetupSourceSlash": "slash",
190 "HotbarSetupSourceMcp": "mcp",
191 "HotbarSetupSourceSkill": "skill",
192 "HotbarSetupSourcePlugin": "plugin",
193 "HotbarSetupStatusDisabled": "disabled",
194 "HotbarSetupStatusPrefill": "prefill",
195 "HotbarSetupStatusReady": "ready",
196 "HotbarSetupDirtyModified": "modified",
197 "HotbarSetupDirtyClean": "clean",
198 "HotbarSetupNoAction": "No action",
199 "HotbarSetupConfirmDisable": "Disable Hotbar and clear all slots? (y/n)",
200 "HotbarSetupStatusLine": "slot {slot} | {action} | {dirty}",
201 "HotbarSetupSlotOutOfRange": "Slot {slot} must be 1-{max}",
202 "HotbarSetupNoActionSelected": "Pick an action first.",
203 "HotbarSetupCannotAssign": "{action} cannot be assigned: {reason}",
204 "HotbarSetupNoActions": "No hotbar actions available.",
205 "HotbarSetupRecommended": "rec",
206 "HotbarSetupEmptySlot": "empty",
207 "HotbarSetupHelp": "Tab/Shift+Tab source Up/Down action 1-8 slot Enter assign Space toggle Delete clear s save Esc cancel",
208 "HotbarActionVoiceToggleName": "Voice input",
209 "HotbarActionVoiceToggleDescription": "Toggle voice capture from the terminal microphone.",
210 "HotbarActionSessionCompactName": "Compact session",
211 "HotbarActionSessionCompactDescription": "Shrink this conversation to free context.",
212 "HotbarActionModePlanName": "Plan mode",
213 "HotbarActionModePlanDescription": "Think through a plan before acting.",
214 "HotbarActionModeAgentName": "Work mode",
215 "HotbarActionModeAgentDescription": "Do direct work in the current session.",
216 "HotbarActionModeYoloName": "Full Access (Act)",
217 "HotbarActionModeYoloDescription": "Compatibility: Act with Full Access permissions (not a separate mode).",
218 "HotbarActionReasoningCycleName": "Cycle reasoning",
219 "HotbarActionReasoningCycleDescription": "Step through reasoning levels for the active provider.",
220 "HotbarActionReasoningCycleAutoDisabled": "Reasoning effort is controlled by auto model routing.",
221 "HotbarActionSidebarToggleName": "Toggle workbar",
222 "HotbarActionSidebarToggleDescription": "Show or hide the workbar.",
223 "HotbarActionFileTreeToggleName": "Toggle file tree",
224 "HotbarActionFileTreeToggleDescription": "Show or hide the workspace file tree.",
225 "HotbarActionPaletteOpenName": "Command palette",
226 "HotbarActionPaletteOpenDescription": "Open the command palette.",
227 "HotbarActionTrustToggleName": "Toggle trust",
228 "HotbarActionTrustToggleDescription": "Turn workspace trust on or off.",
229 "ConfigTitle": "Config",
230 "ConfigPreviewLabel": "Preview: ",
231 "ConfigHintExternalCredentials": "Which credential file this provider may read, at what access, and how to revoke it.",
232 "ConfigModalTitle": " Config ",
233 "ConfigSearchPlaceholder": "type to filter",
234 "ConfigNoSettings": " No settings available.",
235 "ConfigNoMatchesPrefix": " No settings match ",
236 "ConfigFilteredSettings": " Filtered settings",
237 "ConfigShowing": " Showing",
238 "ConfigFooterDefault": " type=filter, Up/Down=select, Enter=edit, Esc=close ",
239 "ConfigFooterScrollable": " type=filter, Up/Down=select, Enter=edit, PgUp/PgDn=scroll, Esc=close ",
240 "ConfigFooterFiltered": " type=filter, Backspace=delete, Ctrl+U/Esc=clear, Enter=edit ",
241 "ConfigSectionProvider": "Provider",
242 "ConfigSectionModel": "Model",
243 "ConfigSectionPermissions": "Permissions",
244 "ConfigSectionNetwork": "Network",
245 "ConfigSectionDisplay": "Display",
246 "ConfigSectionComposer": "Composer",
247 "ConfigSectionSidebar": "Workbar",
248 "ConfigSectionHistory": "History",
249 "ConfigSectionMcp": "MCP",
250 "ConfigSectionFleet": "Fleet",
251 "ConfigSectionWorkflow": "Workflow",
252 "ConfigSectionSession": "Session",
253 "ConfigSectionLegacy": "Legacy",
254 "ConfigSectionExperimental": "Experimental",
255 "ConfigScopeSession": "SESSION",
256 "ConfigScopeSaved": "SAVED",
257 "ConfigCommandSource": "{value} (source: {source})",
258 "ConfigCommandInvalidValue": "Can't use '{value}' for {key}. Try: {choices}.",
259 "ConfigSearchUpdated": "search.provider = {value} ({scope}; later web_search calls use the effective provider)",
260 "ConfigPromptSuggestionUpdated": "prompt_suggestion = {value} ({scope}; ghost text applies from next turn)",
261 "ConfigNotificationsSetHint": "Set with /config notifications <key> <value> [--save].",
262 "ConfigNotificationUpdated": "notifications.{key} = {value} ({scope}; applies to later alerts)",
263 "ConfigNotificationsWholeNumber": "notifications.threshold_secs must be a whole number",
264 "ConfigAuditSearchProvider": "Writes [search] provider; subsequent web_search calls still honor environment overrides.",
265 "ConfigAuditPromptSuggestion": "Writes top-level prompt_suggestion; ghost-text hints stay opt-in.",
266 "ConfigAuditNotifications": "Writes [notifications] scalars and applies them to subsequent turn-complete alerts.",
267 "ConfigHelpDiscoverable": " Also settable: `/config search.provider`, `/config prompt_suggestion`, `/config notifications`. Add `--save` to persist.",
268 "ConfigEditCancelled": "Edit cancelled",
269 "ConfigEditTitlePrefix": "Edit ",
270 "ConfigEditScopeLabel": "Scope: ",
271 "ConfigEditCurrentLabel": "Current: ",
272 "ConfigEditHintLabel": "Hint: ",
273 "ConfigEditNewLabel": "New: ",
274 "ConfigEditFooter": " Enter=apply, Esc=cancel, Ctrl+U=clear, Ctrl+A=all, ←,/→,=move ",
275 "ConfigLocalePartialBadge": "partial",
276 "ConfigLocalePartialDetail": "Partial translation pack; missing strings fall back to English.",
277 "ConfigRowEffective": " (effective {currency})",
278 "ConfigDefaultValue": "(default)",
279 "ConfigDefaultReasoning": "(config/default)",
280 "ConfigUnavailable": "(unavailable)",
281 "ConfigLabelProvider": "Active provider",
282 "ConfigLabelBaseUrlDeepseek": "Provider API URL (DeepSeek route)",
283 "ConfigLabelProviderUrl": "Provider API URL",
284 "ConfigHintProviderUrl": "Current provider endpoint; Xiaomi: token plan | pay as you go | custom URL",
285 "ConfigLabelModel": "Active provider model",
286 "ConfigLabelFastModel": "Fast model (derived)",
287 "ConfigLabelDefaultModel": "Legacy fallback model (DeepSeek routes only)",
288 "ConfigLabelReasoningEffort": "Reasoning level",
289 "ConfigLabelFleetSpawnDepth": "sub-agent depth",
290 "ConfigLabelApprovalMode": "This session's permission",
291 "ConfigLabelPermissionPosture": "New sessions' permission",
292 "ConfigLabelApprovalPolicy": "New sessions' permission (config)",
293 "ConfigLabelManagedApprovalPolicy": "New sessions' permission (managed)",
294 "ConfigLabelDefaultMode": "Startup mode",
295 "ConfigLabelAllowShell": "Shell access",
296 "ConfigLabelManagedAllowShell": "Shell access (managed)",
297 "ConfigLabelTelemetry": "Anonymous usage counts",
298 "ConfigHintTelemetry": "Aggregate version, session, feature and error counts to Codewhale and PostHog; never content or IP. docs/TELEMETRY.md",
299 "ConfigValueTelemetryOn": "On",
300 "ConfigValueTelemetryOff": "Off",
301 "ConfigLabelStreamTimeout": "Stream timeout",
302 "ConfigLabelTheme": "Theme",
303 "ConfigLabelLocale": "Language",
304 "ConfigLabelBackground": "Background",
305 "ConfigLabelWorkSurfacePlacement": "Workbar position",
306 "ConfigLabelTopHeight": "Top bar height",
307 "ConfigLabelSideWidth": "Side bar width",
308 "ConfigLabelCalmMode": "Quiet transcript",
309 "ConfigLabelLowMotion": "Reduce motion",
310 "ConfigLabelFancyAnimations": "Live UI motion",
311 "ScreenModeFullscreenNotice": "Screen: fullscreen.",
312 "ScreenModeInlineNotice": "Screen: inline — the terminal keeps its scrollback; the transcript stays in view.",
313 "ScreenModeMouseCaptureOn": "Mouse capture on.",
314 "ScreenModeMouseCaptureOff": "Mouse off — the terminal owns selection.",
315 "ScreenModeUnchanged": "Screen unchanged: {reason}.",
316 "ImageInputRejectedResent": "{model} does not accept images — resent as text; use image_ocr to read them",
317 "ProviderToolCallMissing": "Provider ended with `{reason}` but supplied no tool call. Retry the turn to continue.",
318 "ConfigLabelShowThinking": "Model reasoning in chat",
319 "ConfigLabelThinkingHighlight": "Reasoning background highlight",
320 "ConfigLabelShowToolDetails": "Tool detail level",
321 "ConfigLabelInlineDiffs": "Inline file changes",
322 "ConfigLabelStatusIndicator": "Status indicator",
323 "ConfigLabelSynchronizedOutput": "Output pacing",
324 "ConfigLabelCostCurrency": "Cost currency",
325 "ConfigLabelTranscriptSpacing": "Transcript spacing",
326 "ConfigLabelToolCollapse": "Tool cards",
327 "ConfigLabelComposerDensity": "Composer density",
328 "ConfigLabelComposerBorder": "Composer border",
329 "ConfigLabelComposerMultilineMode": "Composer multiline mode",
330 "ConfigLabelComposerVimMode": "Composer Vim mode",
331 "ConfigLabelBracketedPaste": "Bracketed paste",
332 "ConfigLabelPasteBurstDetection": "Paste detection",
333 "ConfigLabelMentionMenuLimit": "Mention menu limit",
334 "ConfigLabelMentionMenuBehavior": "Mention menu behavior",
335 "ConfigLabelMentionWalkDepth": "File mention depth",
336 "ConfigLabelWorkspaceFollowSymlinks": "Follow symlinks",
337 "ConfigLabelContextPanel": "Context panel",
338 "ConfigLabelSessionsRail": "Sessions workbar",
339 "ConfigLabelSessionAutoResume": "Auto-resume last session",
340 "ConfigLabelAutoCompact": "Auto compact",
341 "ConfigLabelAutoCompactThreshold": "Compact threshold",
342 "ConfigLabelMaxHistory": "Input history",
343 "ConfigLabelMcpConfigPath": "MCP config path",
344 "ConfigLabelMcpOpen": "MCP manager",
345 "ConfigLabelMcpReconnect": "Reconnect MCP",
346 "ConfigLabelMcpDiagnose": "Diagnose MCP",
347 "ConfigLabelPluginsOpen": "Plugins",
348 "ConfigLabelGoalCommand": "Goal command",
349 "ConfigLabelWorkflow": "Workflow",
350 "ConfigLabelFeaturePrefix": "Feature: {name}",
351 "ConfigColumnSetting": "Setting",
352 "ConfigColumnValue": "Value",
353 "ConfigColumnScope": "Scope",
354 "ConfigActionOpenProvider": "Enter opens provider picker",
355 "ConfigActionOpenModel": "Enter opens model picker",
356 "ConfigActionOpenMcp": "Enter opens MCP manager",
357 "ConfigActionMcpReconnect": "Enter reconnects MCP",
358 "ConfigActionMcpDiagnose": "Enter diagnoses MCP",
359 "ConfigActionOpenPlugins": "Enter opens plugins",
360 "ConfigActionToggle": "Enter toggles",
361 "ConfigActionChoose": "Enter opens choices",
362 "ConfigActionEdit": "Enter edits",
363 "ConfigActionReadOnly": "read only",
364 "ModelPickerAutoNetworkHint": "per turn · runnable providers · request + recent context → DeepSeek / deepseek-v4-flash",
365 "ModelPickerAutoNetworkActiveProviderHint": "per turn · active provider only · request + recent context → {provider} / {model}",
366 "ModelPickerAutoLocalHint": "per turn · local heuristic · no router request",
367 "ModelPickerAutoLastRoute": "last {provider} · {model}",
368 "AutoRouteSelectedToast": "Auto: {provider} / {model} via {source} · Ctrl+O: route details",
369 "HelpGroupCommonCommands": "Common commands",
370 "HelpGroupAllCommands": "All commands",
371 "HelpTitle": "Help",
372 "HelpFilterPlaceholder": "Type to filter",
373 "HelpFilterPrefix": "Filter: ",
374 "HelpNoMatches": " No matches.",
375 "HelpSlashCommands": "Slash commands",
376 "HelpKeybindings": "Keybindings",
377 "HelpUserCommands": "User commands",
378 "HelpSkills": "Skills",
379 "HelpFooterTypeFilter": " type to filter ",
380 "HelpFooterMove": " Up/Down move ",
381 "HelpFooterJump": " PgUp/PgDn jump ",
382 "HelpFooterClose": " Esc close ",
383 "CmdAnchorDescription": "Pin a fact that survives compaction",
384 "CmdAttachDescription": "Attach media (@path for text files or folders)",
385 "CmdCacheDescription": "Show cache hit/miss stats for recent turns",
386 "CmdPreviewRequestDescription": "Preview the next request (redacted) without sending it",
387 "CmdToolsDescription": "Inspect a bounded projection of the latest prepared tool request (read-only)",
388 "CmdEffortDescription": "Set reasoning effort (also /thinking)",
389 "CmdChangeDescription": "Show what's new",
390 "CmdChangeHeader": "What's new",
391 "CmdChangeTranslationQueued": "English notes below. A translation was requested; this English text is the fallback if it fails.",
392 "CmdChangeTranslationUnavailable": "English notes below. No translation — this session has no API key or is offline.",
393 "CmdChangePreviousVersion": "Previous version: {version} — try `/change {version}`",
394 "CmdBalanceDescription": "Check your provider account balance",
395 "CmdImportClaudeDescription": "Plan a reviewable import of Claude Code settings and servers",
396 "CmdClearDescription": "Clear conversation history",
397 "CmdCompactDescription": "Shrink the context to free space",
398 "CmdPurgeDescription": "Let the agent prune or offload history to free context",
399 "CmdConfigDescription": "Inspect and change settings — raw keys under advanced detail",
400 "CmdPermissionsDescription": "List and safely remove permission rules",
401 "PermissionsListHeader": "Permission rules\nSource: active user permissions.toml\nPath: {path}\nFile status: {file_state}\nRule count: {count}",
402 "PermissionsNoRules": "No permission rules configured.",
403 "PermissionsFileMissing": "missing",
404 "PermissionsFileEmpty": "empty",
405 "PermissionsFilePresent": "present",
406 "PermissionsRuleEntry": "#{index} | {action} | {tool}\n Effective match: {matcher}\n Scope: {scope} — {applicability}",
407 "PermissionsMatchExactCommand": "exact command `{command}`",
408 "PermissionsMatchCommandPrefix": "command prefix `{command}` (argument-aware)",
409 "PermissionsMatchExactPath": "exact normalized path `{path}`",
410 "PermissionsMatchAnyInvocation": "any invocation of this tool",
411 "PermissionsScopeGlobal": "global",
412 "PermissionsScopeRepo": "repo `{workspace}`",
413 "PermissionsAppliesHere": "active in this workspace",
414 "PermissionsInactiveHere": "not active in this workspace",
415 "PermissionsRemovePreview": "Review removal of rule #{index}:\n{rule}\n\nRun `{command}` to confirm. This command expires if permissions.toml changes.",
416 "PermissionsRemoved": "Removed permission rule #{index}: {action} {tool}.",
417 "PermissionsUsage": "Usage: /permissions [list|remove <rule-number> [--confirm <token>]]",
418 "PermissionsRuleNotFound": "Permission rule #{index} was not found; run `/permissions list` again.",
419 "PermissionsOperationFailed": "Could not read or change permission rules: {error}",
420 "CmdConstitutionDescription": "See and amend your constitution",
421 "CmdContextDescription": "Open the context inspector",
422 "CmdCostDescription": "Show session cost breakdown",
423 "CmdDiffDescription": "Show changes since this session started",
424 "CmdEditDescription": "Edit and resend your last message",
425 "CmdExitDescription": "Quit",
426 "CmdExportDescription": "Copy a safe export, or write it to a file",
427 "CmdCopyDescription": "Copy the last completed assistant response to the clipboard",
428 "CmdCopyNoOutput": "No completed assistant response is available to copy",
429 "CmdCopySuccess": "Accepted the last completed assistant response for clipboard delivery; a recovery copy is at {path}",
430 "CmdCopySuccessNoBackup": "The last completed assistant response was accepted for clipboard delivery, but no recovery file could be written. Use `/export file <path>` to choose a destination",
431 "CmdCopyQueued": "Queued the last completed assistant response for the terminal-client clipboard; a recovery copy is at {path}",
432 "CmdCopyQueuedNoBackup": "Queued the last completed assistant response for the terminal-client clipboard; no recovery file could be written. Use `/export file <path>` to choose a destination",
433 "CmdCopyFailed": "Clipboard copy failed: {error}. The response was saved to {path}",
434 "CmdCopyFailedNoBackup": "Clipboard copy failed: {error}. No recovery file could be written; use `/export file <path>` to choose a destination",
435 "CmdFeedbackDescription": "Draft and review local issue reports",
436 "FeedbackNoSession": "Start or resume a session before drafting an issue report.",
437 "FeedbackUnavailable": "The draft or request is unavailable or invalid. Check the current session, draft ID and bounded text; nothing was posted.",
438 "FeedbackReviewNotice": "Local draft for review. Posting and duplicate search are unavailable. Check the contents before sharing; redaction does not guarantee privacy.",
439 "FeedbackHelp": "Ask the current agent to draft a Codewhale issue, review a saved draft, or request a revision. Bug drafts stay local; posting is unavailable.",
440 "FeedbackDraftRequested": "Asking the current agent to draft or revise a local issue report. It exists only after the save succeeds. Posting is unavailable.",
441 "CmdHfDescription": "Inspect Hugging Face MCP setup and concepts",
442 "CmdHelpDescription": "Concepts, commands, and keybindings",
443 "CmdProfileDescription": "Switch to a named config profile",
444 "CmdHomeDescription": "Open home without leaving the current conversation",
445 "CmdOverviewDescription": "Show the home dashboard",
446 "HomeBackToConversation": "Back to conversation",
447 "HomeNavigationBusy": "Finish or stop the current work before opening home.",
448 "CmdHooksDescription": "Manage lifecycle hooks in Extensions",
449 "CmdAgentDescription": "Open a persistent sub-agent session",
450 "CmdGoalDescription": "Work toward one objective across turns",
451 "CmdInitDescription": "Generate AGENTS.md for this project",
452 "CmdLspDescription": "Toggle LSP diagnostics",
453 "CmdShareDescription": "Share this session as a web URL",
454 "CmdJobsDescription": "Manage background shell jobs",
455 "CmdDispatchDescription": "Send a Codewhale cloud agent to raise a branch and open a PR",
456 "CmdLinksDescription": "Show Codewhale, community, and provider links",
457 "CmdLoadDescription": "Load a session from file",
458 "CmdLogoutDescription": "Sign out and return to setup",
459 "CmdMcpDescription": "Open or manage MCP servers — the init subcommand adds a server and doctor checks it",
460 "McpReloadAlreadyRunning": "MCP reload is already running; the status bar tracks it.",
461 "McpRecommendedUnknownId": "Unknown MCP suggestion. Run {recommendations_command} to see the list.",
462 "McpRecommendationsHeading": "Suggested Codewhale plugins (MCP components; nothing installs automatically)",
463 "McpRecommendationsSafety": "Looking adds nothing. Adding writes config only — review it before {restart_command} connects anything.",
464 "McpRecommendationGithub": "• github — GitHub's official remote MCP endpoint\n endpoint: {endpoint}\n auth is separate: {login_command} only for advertised OAuth;\n otherwise set a least-privilege PAT outside history. Scopes\n can write or delete repo data, so start read-only.\n add explicitly: {add_command}",
465 "McpRecommendationChrome": "• chrome-devtools — official Chrome DevTools MCP (pinned npm package)\n package: {package} ({launcher})\n it can drive Chrome and read signed-in pages. Close sensitive\n tabs and verify the package first; {restart_command} may download and run it.\n add explicitly: {add_command}",
466 "McpRecommendationPlaywright": "• playwright — Microsoft's official Playwright MCP (pinned npm package)\n package: {package} ({launcher})\n source: {source}\n --isolated starts a fresh browser profile. It can drive pages and submit\n forms, so review actions first; {restart_command} may download and run the package.\n add explicitly: {add_command}",
467 "McpRecommendationContainerUse": "• container-use — Dagger's experimental container-use MCP\n command: container-use stdio\n source: {source}\n requires the separately installed container-use binary; Codewhale never downloads or\n installs this binary. It can create containers and change mounted workspace files.\n Review the install and command before {restart_command}.\n add explicitly: {add_command}",
468 "CmdPluginDescription": "Manage trusted plugin bundles (legacy tools stay separate)",
469 "PluginKimiUsage": "Usage:\n {list_command}\n {approve_command}\nListing changes nothing. Approval copies one plugin through the reviewed installer; it stays disabled and untrusted.",
470 "PluginKimiManagedRootHeading": "Kimi-managed plugins at {root}:",
471 "PluginKimiNoneFound": "No managed plugins found.",
472 "PluginKimiLicenseUnspecified": "unspecified",
473 "PluginKimiApplicable": "applicable on this OS",
474 "PluginKimiNotApplicable": "not applicable on this OS",
475 "PluginKimiCandidateSummary": "{name} {version} — license={license} — {applicability} — {inventory}",
476 "PluginKimiCandidateDetails": " path: {path}\n content hash: {content_hash}\n capability hash: {capability_hash}\n approve: {approve_command}",
477 "PluginKimiRejectedHeading": "Rejected entries (not importable):",
478 "PluginKimiInspectionFooter": "This inspection did not copy, trust, enable, or execute anything. External Kimi apps, daemons, binaries, browser extensions, credentials, and OS permissions were not checked.",
479 "PluginKimiCandidateMissing": "No managed plugin named `{name}`. Run {list_command} again.",
480 "PluginKimiCandidateChanged": "Plugin `{name}` changed since review (expected {expected}, now {actual}). Nothing was copied; run {list_command} again.",
481 "PluginKimiHomeMissing": "Can't find your home directory for Kimi import.",
482 "PluginKimiRootInspectFailed": "Can't inspect plugin root {root}: {error}",
483 "PluginKimiRootMustBeDirectory": "Plugin root {root} must be a real folder, not a link.",
484 "PluginKimiRootCanonicalizeFailed": "Can't resolve plugin root {root}: {error}",
485 "PluginKimiRootListFailed": "Can't list plugin root {root}: {error}",
486 "PluginKimiEntryReadFailed": "Can't read a plugin entry: {error}",
487 "PluginKimiEntryLimit": "Plugin root holds {count} entries; one scan reviews at most {max}.",
488 "PluginKimiEntryInspectFailed": "{path}: can't inspect: {error}",
489 "PluginKimiEntryLinksRefused": "{path}: links and reparse points are refused",
490 "PluginKimiEntryOutsideRoot": "{path}: {canonical_path} isn't directly inside the managed root",
491 "PluginKimiEntryCanonicalizeFailed": "{path}: can't resolve: {error}",
492 "PluginKimiManifestUnreadable": "{path}: can't read {manifest}: {error}",
493 "PluginKimiManifestMustBeFile": "{path}: {manifest} must be a plain file",
494 "PluginKimiManifestInvalid": "{path}: invalid manifest: {error}",
495 "PluginKimiDirectoryNameMismatch": "{path}: folder name must match `{name}` exactly",
496 "PluginKimiHashUnavailable": "unavailable",
497 "PluginKimiRollbackDestinationMissing": "The installer never reported where it wrote.",
498 "PluginKimiMismatchRemoved": "Plugin `{name}` changed in transit (expected {expected}, found {actual}). The bad copy was removed; review and retry.",
499 "PluginKimiMismatchRollbackFailed": "Plugin `{name}` changed in transit (expected {expected}, found {actual}), and cleanup failed: {error}. It stays disabled and untrusted; inspect {path} first.",
500 "PluginKimiUserPluginDirectory": "the user plugin directory",
501 "PluginKimiMarketplaceZipUnsupported": "Kimi ZIP bundles are not supported by Codewhale's reviewed installer; install from a local directory or import an upstream Kimi-managed plugin.",
502 "PluginKimiMarketplaceRemoteUnsupported": "Kimi remote sources must end in .tar.gz or .tgz for Codewhale installation; .zip is recognized but not supported.",
503 "PluginKimiMarketplaceGzipTarball": "gzip tarball URL",
504 "CmdPluginBundleUsage": "Usage: /plugin [list|show <name>|validate [name]|export <name> <dir>|install <spec>|update <name>|uninstall <name>|trust <name> [review-token]|enable <name>|disable <name>|revoke <name>|reload|tools [name]]",
505 "CmdPluginBundleNoneFound": "No Codewhale plugin bundles found.",
506 "CmdPluginBundleListHeader": "Plugin bundles ({count}):",
507 "CmdPluginLegacyListHeader": "Legacy plugin tools ({count}) in {dir}:",
508 "CmdPluginBundleNotFound": "No plugin bundle named '{name}'",
509 "CmdPluginBundleReloaded": "Reloaded {count} bundles for {workspace}.",
510 "PluginPromptSuggestTrust": "This looks like {name} work — run /plugin trust {name} before enabling.",
511 "PluginPromptSuggestEnable": "This looks like {name} work — enable it with /plugin enable {name}.",
512 "PluginPromptSuggestMarketplace": "This looks like {name} work. Install it from catalog `{catalog}` with /plugin marketplace install {catalog} {name}.",
513 "PluginCtaInstallPrompt": "Install {name} plugin?",
514 "PluginCtaReview": "Review",
515 "PluginCtaDismiss": "Dismiss",
516 "PluginCtaDismissSaveFailed": "Hidden for this session; could not save the plugin preference.",
517 "PluginSuggestionReason": "Matched “{trigger}”",
518 "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}",
519 "CmdPluginBundleDiagnosticsHeader": "Plugin diagnostics ({count}):",
520 "CmdPluginBundleMutationSuccess": "Plugin bundle '{name}': {action}.",
521 "CmdPluginActionFailed": "Plugin action didn't finish: {error}",
522 "CmdPluginNoneFound": "No legacy plugin tools in {dir}",
523 "CmdPluginNotFound": "No plugin named '{name}'",
524 "CmdPluginListHeader": "Legacy executable plugin tools ({count}):",
525 "CmdPluginDetailDescription": "Description: {description}",
526 "CmdPluginDetailSchema": "Schema:\n{schema}",
527 "CmdPluginDetailApproval": "Approval: {approval}",
528 "CmdPluginDetailPath": "Path: {path}",
529 "CmdMemoryDescription": "Inspect or manage persistent structured user memory",
530 "CmdModeDescription": "Switch permissions or open the mode picker",
531 "CmdModelDescription": "Switch or show the current model",
532 "CmdModelsDescription": "List live model IDs from the active API",
533 "ModelsListHeader": "{provider} models (default: {model})",
534 "ModelsListHint": "Cached catalog; run `codewhale models --update` to refresh configured providers.",
535 "ModelsUpdateSummary": "Model catalogs: {updated} updated, {loaded} loaded from Codex, {failed} failed, {skipped} skipped.",
536 "ModelsUpdatePartial": "Some catalogs could not be refreshed. Previous and configured models remain available.",
537 "ModelsCodexHint": "ChatGPT models are loaded through Codex. The lookup time does not confirm an upstream catalog refresh.",
538 "ModelsSourceFallback": "Bundled or configured models; availability not verified.",
539 "CmdModelDbDescription": "Browse the bundled model database",
540 "CmdNetworkDescription": "Manage network allow/deny rules",
541 "CmdUpdateDescription": "Check for and install a new Codewhale release",
542 "CmdNoteDescription": "Jot, list, edit, or drop workspace notes",
543 "CmdThemeDescription": "Pick a theme",
544 "CmdProviderDescription": "Switch provider or model",
545 "CmdAuthDescription": "Manage provider sign-in",
546 "CmdLoginDescription": "Sign in to Codewhale or store provider keys",
547 "CmdQueueDescription": "See or edit queued messages",
548 "CmdQueueUsage": "Usage: /queue [list|send <n>|edit <n>|drop <n>|clear]",
549 "CmdQueueDraftHeader": "Editing queued message:",
550 "CmdQueueNoMessages": "No queued messages",
551 "CmdQueueListHeader": "Queued messages ({count}):",
552 "CmdQueueTip": "Tip: /queue send <n> sends now, /queue drop <n> removes",
553 "CmdQueueAlreadyEditing": "Already editing one — send it or /queue clear to discard.",
554 "CmdQueueNotFound": "Queued message not found",
555 "CmdQueueEditingStatus": "Editing queued message {index}",
556 "CmdQueueEditingMessage": "Editing queued message {index} (press Enter to re-queue/send)",
557 "CmdQueueDropped": "Dropped queued message {index}",
558 "CmdQueueAlreadyEmpty": "Queue already empty",
559 "CmdQueueCleared": "Queue cleared",
560 "CmdQueueMissingIndex": "Which one? Usage: /queue edit <n> or /queue drop <n>",
561 "CmdQueueIndexPositive": "Use a positive number",
562 "CmdQueueIndexMin": "Use 1 or more",
563 "CmdRelayDescription": "Create a session relay for a fresh thread",
564 "CmdRemoteControlDescription": "Resume this exact session from your Codewhale web account",
565 "CmdRemoteEnvDescription": "Open new hosted Work from a GitHub or CNB branch tip",
566 "CmdRemoteEnvOverview": "Hosted Work starts a new environment from the branch tip available at GitHub or CNB.\n\nIt does not move this local folder or include unpushed commits, dirty or ignored files, secrets, or session state.\n\nUse {command} to open the hosted Work launcher.",
567 "CmdRemoteEnvOpening": "Opening hosted Work for {repo} on branch {branch}.\n\nThis starts a new environment from the branch tip available at the Git host configured as {origin}. Local-only state is not included.\n\nIf the browser does not open, use:\n{url}",
568 "CmdRemoteEnvUnavailable": "Codewhale could not resolve both a supported GitHub or CNB origin and a checked-out branch for this folder. Check out a branch and configure {origin} with an HTTPS or SSH URL, then try {command} again. Nothing was created or allocated.",
569 "CmdRemoteEnvSourceCustodyPolicy": "Codewhale does not upload, migrate, or sync local source into hosted Work. Use {command} to start from the branch tip available at GitHub or CNB. Unpushed commits, dirty or ignored files, secrets, and session state stay local.",
570 "CmdRemoteEnvBrowserLabel": "Codewhale hosted Work",
571 "CmdRenameDescription": "Rename this session",
572 "CmdTitleDescription": "Set a tab/window title shown as [title] … in the terminal title",
573 "CmdRestoreDescription": "Roll the workspace back to a turn snapshot. With no arg, lists recent ones.",
574 "CmdRetryDescription": "Retry the last request",
575 "CmdReviewDescription": "Run a structured code review on a file, diff, or PR",
576 "CmdRlmDescription": "Open a persistent RLM context for a file or text",
577 "CmdSaveDescription": "Save this session to a file",
578 "CmdFullscreenDescription": "Fill the whole terminal (alternate screen)",
579 "CmdInlineDescription": "Stay inline, keeping the terminal's scrollback",
580 "CmdForkDescription": "Fork the active conversation into a sibling session",
581 "CmdTreeDescription": "Show session history as a tree (leaf = active branch)",
582 "CmdBranchDescription": "Point the active branch at an entry, without rewriting history",
583 "CmdResumeDescription": "Resume a session, or import a session JSON file",
584 "CmdNewDescription": "Start a fresh session",
585 "CmdSessionsDescription": "Open session history picker — the archive and prune subcommands manage stored sessions",
586 "CmdSettingsDescription": "Open settings",
587 "CmdSidebarDescription": "Place the workbar (bottom/top/left/right/off) or pick its panel",
588 "CmdSkillDescription": "Use, install, or trust a skill",
589 "CmdSkillsDescription": "List local skills or browse the curated registry",
590 "CmdStashDescription": "Park or restore a composer draft",
591 "CmdStatusDescription": "Show session status",
592 "CmdStatuslineDescription": "Choose footer items",
593 "CmdStructcopyDescription": "Copy one bounded session object as redacted canonical JSON (human-only, never a model tool)",
594 "CmdStructcopyKindTurn": "turn",
595 "CmdStructcopyKindTool": "tool call",
596 "CmdStructcopyKindPlan": "Plan",
597 "CmdStructcopyKindWorkflow": "Workflow run",
598 "CmdStructcopyUsageError": "Invalid structural-copy request. Usage: {usage}",
599 "CmdStructcopyUnavailable": "The selected {kind} is unavailable; nothing was copied",
600 "CmdStructcopyBusy": "The {kind} state is busy; try again",
601 "CmdStructcopyPrepareFailed": "Could not prepare the selected {kind}: {error}",
602 "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",
603 "CmdStructcopyClipboardAccepted": "Structural copy ({kind}, {bytes} bytes) was handed to the clipboard; if no native clipboard was reachable, a terminal write was queued instead",
604 "CmdStructcopyClipboardFailed": "Couldn't reach the clipboard ({error}). Nothing was written; re-run with `stdout` to see the text.",
605 "CmdStructcopyReceiptTooLarge": "Structural-copy receipt metadata exceeds the {bytes}-byte output cap; refusing to emit it",
606 "CmdFleetDescription": "Inspect and set up team members and orchestration state — the members subcommand opens the roster and setup authors a team",
607 "CmdLaneDescription": "Watch and control durable Lanes",
608 "CmdWorkflowDescription": "Run a repeatable, ordered workflow",
609 "CmdWorkflowsDescription": "List or cancel workflow runs here",
610 "CmdHotbarDescription": "Set up the Hotbar",
611 "CmdSetupDescription": "Open constitution-first setup",
612 "CmdSubagentsDescription": "Compatibility shortcut for /fleet workers (current-session sub-agents)",
613 "CmdAdvisorDescription": "Toggle the background advisor for this session",
614 "CmdSystemDescription": "Show the system prompt",
615 "CmdTaskDescription": "Manage background tasks",
616 "CmdTokensDescription": "Show token usage",
617 "CmdTranslateDescription": "Toggle output translation",
618 "CmdTranslateOff": "Translation off — showing original output",
619 "CmdTranslateOn": "Translation on — responses appear in your system language",
620 "TranslationInProgress": "Translating...",
621 "TranslationComplete": "Translated.",
622 "TranslationFailed": "Couldn't translate.",
623 "CmdTrustDescription": "Manage workspace trust",
624 "CmdWorkspaceDescription": "Show or switch the current workspace — the worktrees subcommand opens the git worktree manager",
625 "CmdUndoDescription": "Drop the last exchange",
626 "CmdVerboseDescription": "Toggle live thinking in the transcript",
627 "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).",
628 "CmdCacheFootnote": "* miss inferred from input − hit when the provider did not report it explicitly.\n",
629 "CmdCacheUnpricedNote": "cost — = no authoritative price for that turn; it is missing from the session estimate ({notes}).\n",
630 "CmdCacheHeader": "Cache telemetry — last {count} of {total} turn(s) (model: {model})\n",
631 "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.",
632 "CmdCacheTotals": "Σ in: {sum_in} Σ hit: {sum_hit} Σ miss: {sum_miss} avg hit ratio: {avg}\n",
633 "CmdCostReport": "Session Cost:\n ─────────────────────────────\n Estimated total: {cost}\n\n Based on audited provider-reported usage and published rates.",
634 "CmdCostReportSubtotal": "Session Cost:\n ─────────────────────────────\n Priced subtotal: {cost}\n\n One or more money-metered turns are not included; see coverage below.",
635 "CmdCostReportUnknown": "Session Cost:\n ─────────────────────────────\n Estimated total: unknown\n\n No turn has an authoritative price in the selected currency.",
636 "CmdCostUnknownValue": "unknown",
637 "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.",
638 "CmdCostCoverage": "Covered: {priced} of {turns} money-metered turn(s) priced.",
639 "CmdCostUnpricedTurns": "Excluded: {unpriced} money-metered turn(s) had no authoritative price ({reasons}); their spend is missing from the total above.",
640 "CmdCostUnpricedClasses": "Unpriced token class(es) seen this session: {classes}. Turns using them fail closed instead of under-reporting.",
641 "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.",
642 "CmdCostPricingProvenance": "Pricing sources used: {sources}.",
643 "CmdCostLivePricingDowngraded": "Live provider pricing could not be verified for this route ({defects}); the bundled published rates were used instead.",
644 "CmdCostLivePricingUnavailable": "Live provider pricing could not be verified for this route ({defects}), and no usable bundled rate was available; this spend is unknown.",
645 "CmdCostRoutesHeader": "Audited routes (redacted):",
646 "CmdTokensCacheBoth": "{hit} hit / {miss} miss",
647 "CmdTokensCacheHitOnly": "{hit} hit / miss not reported",
648 "CmdTokensCacheMissOnly": "hit not reported / {miss} miss",
649 "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.",
650 "CmdTokensContextUnknownWindow": "~{estimated} / unknown window",
651 "CmdTokensContextWithWindow": "~{used} / {window} ({percent}%)",
652 "FooterAgentSingular": "1 agent",
653 "FooterAgentsPlural": "{count} agents",
654 "HeaderAgentsChip": "agents {count}",
655 "FooterPressCtrlCAgain": "Press Ctrl+C again to quit",
656 "FooterWorking": "working",
657 "FooterBalancePrefix": "balance",
658 "HelpSectionActions": "Actions",
659 "HelpSectionClipboard": "Clipboard",
660 "HelpSectionPointer": "Pointer",
661 "HelpSectionEditing": "Input editing",
662 "HelpSectionHelp": "Help",
663 "HelpSectionModes": "Modes",
664 "HelpSectionNavigation": "Navigation",
665 "HelpSectionSessions": "Sessions",
666 "CmdTokensNotReported": "not reported",
667 "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}",
668 "KbScrollTranscript": "Scroll, browse input history, or pick attachments",
669 "KbNavigateHistory": "Browse input history",
670 "KbBrowseHistory": "Browse conversation history",
671 "KbScrollTranscriptAlt": "Scroll transcript",
672 "KbScrollPage": "Scroll transcript by page",
673 "KbJumpTopBottom": "Jump to top/bottom",
674 "KbJumpTopBottomEmpty": "Jump to top/bottom (empty input)",
675 "KbJumpToolBlocks": "Jump between tool blocks",
676 "KbMoveCursor": "Move cursor in composer",
677 "KbJumpLineStartEnd": "Jump to line start/end",
678 "KbDeleteChar": "Delete a character, or drop the attachment",
679 "KbDeleteWord": "Delete the previous word",
680 "KbYank": "Yank kill buffer; on empty input, copy the focused cell",
681 "KbToggleFileTree": "Toggle the file tree in the workbar",
682 "KbSelectText": "Select text (Ctrl/Alt selects by word)",
683 "KbSelectAllDraft": "Select the whole draft",
684 "KbClearDraft": "Clear the draft",
685 "KbRestoreClearedDraft": "Restore the cleared draft",
686 "KbStashDraft": "Stash the current draft (`/stash pop` to restore)",
687 "KbSearchHistory": "Search history and recover drafts",
688 "KbInsertNewline": "New line in the composer",
689 "KbSendDraft": "Send when idle; queue when busy; empty input sends the next queued item",
690 "KbSteerCurrentTurn": "Steer this turn (sends normally when idle)",
691 "KbCloseMenu": "Close menus, cancel, discard the draft, or clear input",
692 "KbCancelOrExit": "Cancel, or exit when idle",
693 "KbShellControls": "Move the running shell wait to /jobs",
694 "KbExitEmpty": "Exit when input is empty",
695 "KbCommandPalette": "Open the command palette",
696 "KbSettings": "Open settings",
697 "KbCancelBackgroundShellJobs": "Cancel all running background shell jobs (Activity workbar)",
698 "KbFuzzyFilePicker": "Open the fuzzy file picker (insert @path on Enter)",
699 "KbCompactInspector": "Open the context inspector",
700 "KbCompactContext": "Compact the conversation",
701 "KbLastMessagePager": "Page the last message (empty input)",
702 "KbSelectedDetails": "Show raw detail for the selection; Ctrl+Alt+O opens the turn overview",
703 "KbToolDetailsPager": "Show raw detail for the selected item (Alt+V)",
704 "KbExternalEditor": "Edit the draft externally",
705 "KbLiveTranscript": "Open the live transcript overlay",
706 "KbBacktrackMessage": "Rewind to an earlier message (Left/Right steps, Enter rewinds)",
707 "KbCompleteCycleModes": "Complete commands, or cycle modes on empty input (Plan → Work → Operate)",
708 "KbCycleThinking": "Cycle reasoning effort (Ctrl+T)",
709 "KbCyclePermissions": "Cycle Access: Ask → Auto-Review → Full Access (Shift+Tab)",
710 "KbJumpPlanAgentYolo": "Trigger hotbar slots",
711 "KbAltJumpPlanAgentYolo": "Jump to Plan/Work, or request Full Access (legacy alias)",
712 "KbFocusSidebar": "Focus the Tasks / Agents / Context / Pinned workbar panel",
713 "KbSessionPicker": "Open the session picker",
714 "KbUpdateInstall": "Check for and install the latest Codewhale update (`/update install`)",
715 "UpdateChangedHint": "Updated Codewhale: {previous} → {current}. Run /change to see what's new.",
716 "KbTerminalPaste": "Paste via your terminal",
717 "KbPasteAttach": "Paste or attach an image from the clipboard",
718 "KbCopySelection": "Copy the current Codewhale selection",
719 "ClipboardSshPasteHint": "SSH paste uses your local terminal: press Cmd+V on macOS or Ctrl+Shift+V on Linux/Windows.",
720 "KbContextMenu": "Context actions for paste, selection, and help",
721 "KbPointerScroll": "Scroll the transcript; over the composer, move the cursor a line at a time",
722 "KbPointerClick": "Activate the row, chip, or tool block under the pointer",
723 "KbPointerDrag": "Select transcript text, or drag the scrollbar",
724 "KbAttachPath": "Add a file or folder to context",
725 "KbHelpOverlay": "Open help (empty input)",
726 "KbCycleWorkDock": "Cycle the work dock (todo, agents, jobs, background)",
727 "KbCycleWorkDockBack": "Cycle the work dock backwards",
728 "KbToggleHelp": "Toggle help overlay",
729 "KbToggleHelpSlash": "Toggle help overlay",
730 "HelpUsageLabel": "Usage:",
731 "HelpAliasesLabel": "Aliases:",
732 "SettingsTitle": "Settings:",
733 "SettingsConfigFile": "Config file:",
734 "SettingsTuiPrefsFolded": "Migrated {key} '{value}' from tui.toml — settings.toml now owns it.",
735 "SettingsTuiPrefsKept": "tui.toml set {key} '{prefs}', but settings.toml already sets '{settings}' — settings.toml wins.",
736 "SettingsTuiPrefsQuarantined": "tui.toml keys with no setting were kept in {path}: {keys}",
737 "ClearConversation": "Conversation cleared",
738 "ClearConversationBusy": "Nothing cleared — still busy. Try /clear again in a moment.",
739 "ModelChanged": "Operator model changed: {old} → {new}",
740 "LinksProjectTitle": "Codewhale & community:",
741 "LinksDocumentation": "Documentation:",
742 "LinksCommunity": "Community & contribution:",
743 "LinksGitHub": "GitHub:",
744 "LinksManagedApp": "Managed app preview:",
745 "LinksManagedAppNote": "The managed app uses a separate sign-in and is not connected to the current local session.",
746 "LinksTitle": "Provider Links:",
747 "LinksDashboard": "Dashboard:",
748 "LinksDocs": "Docs:",
749 "LinksKimiCodeRouteNote": "Kimi Code membership-plan route: `{route}` (plan console: `{console}`; use model k3). Codewhale never imports Kimi CLI credentials.",
750 "LinksTip": "Tip: Use the env var shown for your provider, or save the key with `codewhale auth set --provider <id>`.",
751 "SubagentsFetching": "Finding this session's sub-agents...",
752 "SubagentsNoCurrentSessionFleetWorkers": "No current-session fleet workers.",
753 "SubagentsCurrentSessionFleetWorkersTitle": "Current-session fleet workers",
754 "SubagentsCurrentSessionFleetWorkerRoles": "Sub-agent roles are current-session fleet worker roles.",
755 "SubagentsCurrentSessionFleetWorkersStatus": "Current-session fleet workers: {count} total",
756 "SubagentsEmptyGuidance": "Set up roles with /fleet.",
757 "SubagentsStatusRunning": "Running",
758 "SubagentsStatusCompleted": "Completed",
759 "SubagentsStatusInterrupted": "Interrupted",
760 "SubagentsStatusFailed": "Failed",
761 "SubagentsStatusCancelled": "Cancelled",
762 "SubagentsRowStatusInterrupted": "interrupted",
763 "SubagentsRowStatusCancelled": "cancelled",
764 "SubagentsRowStatusBudgetExhausted": "budget exhausted",
765 "SubagentsSummaryItem": "{label}: {count}",
766 "SubagentsGroupHeading": "{label} ({count})",
767 "SubagentsHeaderRoster": "roster",
768 "SubagentsHeaderColumns": "live worker status · role · objective · model · elapsed",
769 "SubagentsActionRefresh": "refresh",
770 "SubagentsActionRosterSetup": "roster/setup",
771 "SubagentsLabelReason": " reason: ",
772 "SubagentsLabelRole": " role: ",
773 "SubagentsLabelPosture": " posture: ",
774 "SubagentsLabelGit": " git: ",
775 "SubagentsLabelObjective": " objective: ",
776 "SubagentsLabelResult": " result: ",
777 "SubagentsPostureDetails": "network={network} · shell={shell} · write={write}",
778 "SubagentsValueOn": "on",
779 "SubagentsValueOff": "off",
780 "SubagentsShellNone": "none",
781 "SubagentsShellReadOnly": "read-only",
782 "SubagentsShellFull": "full",
783 "SubagentsBranch": "branch {branch}",
784 "SubagentsBranchWithWorkspace": "branch {branch} @ {workspace}",
785 "SubagentsRoleWorker": "general",
786 "SubagentsRoleScout": "explore",
787 "SubagentsRolePlanner": "planner",
788 "SubagentsRoleBuilder": "implement",
789 "SubagentsRoleVerifier": "test",
790 "SubagentsRoleReviewer": "reviewer",
791 "SubagentsRoleConsultant": "advisor",
792 "SubagentsRoleCustom": "custom",
793 "HelpUnknownCommand": "Unknown command: {topic} — try /help",
794 "HomeDashboardTitle": "codewhale",
795 "HomeModel": "Model:",
796 "HomeMode": "Mode:",
797 "HomeWorkspace": "Workspace:",
798 "HomeHistory": "History:",
799 "HomeTokens": "Tokens:",
800 "HomeQueued": "Queued:",
801 "HomeSubagents": "Fleet workers this session:",
802 "HomeSkill": "Skill:",
803 "HomeQuickActions": "Quick Actions",
804 "HomeQuickLinks": "/links - Codewhale, community & provider links",
805 "HomeQuickSkills": "/skills - List available skills",
806 "HomeQuickConfig": "/config - Inspect and change settings",
807 "HomeQuickSettings": "/settings - Show persistent settings",
808 "HomeQuickModel": "/model - Switch or view model",
809 "HomeQuickSubagents": "/fleet workers - current-session sub-agents",
810 "HomeQuickTaskList": "/task list - Show background task queue",
811 "HomeQuickHelp": "/help - Show help",
812 "HomeQuickWorkspace": "/workspace - Switch folders or worktrees",
813 "HomeQuickRestore": "/restore - Roll files back to a turn snapshot",
814 "HomeQuickTokens": "/tokens - Show session spend and context",
815 "HomeModeTips": "Mode Tips",
816 "HomeAgentModeTip": "Act — direct work in the current session with tools",
817 "HomeAgentModeReviewTip": " /mode plan to research and present a plan first",
818 "HomeAgentModeYoloTip": " Shift+Tab cycles permission: Ask → Auto-Review → Full Access",
819 "HomeYoloModeTip": "Act + Full Access — tools run without approval prompts",
820 "HomeYoloModeCaution": " Destructive operations can run immediately; prefer Ask when unsure",
821 "HomePlanModeTip": "Plan — research and design first",
822 "HomePlanModeChecklistTip": " Present a plan and To-do progress, then switch to Act or Operate",
823 "HomeGoalModeTip": "Goal tracking — /goal <objective> pursues one objective",
824 "OnboardLanguageTitle": "Choose your language",
825 "OnboardLanguageBlurb": "Pick the UI language — change it anytime with `/settings set locale <tag>`.",
826 "OnboardProviderTitle": "Choose your model provider",
827 "OnboardProviderBlurb": "Pick where your model runs. Hosted providers need a key; local ones don't.",
828 "KimiCodePlanApiKeyHint": "For Kimi Code plans, create the linked key at {console}.",
829 "KimiCodePlanRouteHint": "This route uses {route} with model k3; it is not Moonshot's public API route.",
830 "KimiCodePlanNoImportHint": "Codewhale does not import Kimi CLI credentials; paste a plan key you made yourself.",
831 "StepfunBillingRouteTitle": "StepFun billing route",
832 "StepfunBillingRouteIntro": "StepFun bills pay-as-you-go and Step Plan on separate endpoints. Pick your key's home.",
833 "StepfunBillingRoutePaygOption": "Pay-as-you-go (token pricing)",
834 "StepfunBillingRoutePlanOption": "Step Plan subscription (plan allowance)",
835 "StepfunPlanApiKeyHint": "Use your Step Plan key here, not a pay-as-you-go key.",
836 "StepfunPlanRouteHint": "This route uses {route}, billed to your Step Plan.",
837 "OnboardApiKeyRejectedEnv": "The {provider} API key from {env} was rejected. Paste a valid key to save it to {path}, or update the environment variable.",
838 "OnboardTrustTitle": "Know this workspace",
839 "OnboardTrustQuestion": "Should Codewhale work with the instructions and files in this workspace?",
840 "OnboardTrustLocationPrefix": "Workspace ",
841 "OnboardTrustRiskHint": "Untrusted files can try to redirect the agent through prompt injection.",
842 "OnboardTrustEffectHint": "Trust is recorded for this Codewhale installation and enables workspace tools and hooks.",
843 "OnboardTrustEnterHint": "Press 1 or Y to trust, 2 or U to continue without trusting, or 3, N, or Esc to quit Codewhale.",
844 "OnboardTrustUntrustedNotice": "Continuing without workspace trust — tools and hooks stay restricted.",
845 "RedactionGateActionConfirm": "confirm and disable",
846 "RedactionGateActionKeep": "keep masking on",
847 "RedactionGateActionQuit": "quit Codewhale",
848 "RedactionGateConfirmTitle": "Final confirmation",
849 "RedactionGateConfirmQuestion": "Are you really sure? Once disabled, keys in tool output will reach the model as-is until you re-enable masking and confirm again.",
850 "RedactionGateActionBack": "back",
851 "RedactionGateEffect": "This takes effect after this one-time confirmation and on future launches, until you set [redaction] model_bound = \"enabled\" again.",
852 "RedactionGateEnterHint": "Enter does not confirm. Choose an action using the keys shown below.",
853 "RedactionGateQuestion": "You asked to disable model-bound key redaction. Tool output containing API keys, tokens, or secrets will be sent to the model exactly as it appears in your files.",
854 "RedactionGateDangerNotice": "Caution: disable this with care. We generally recommend keeping key masking enabled. Sending keys to the model in plaintext risks leaking them, at your own responsibility.",
855 "RedactionGateRisk": "Confirm only if the model must read and edit files that contain real credentials.",
856 "RedactionGateRollbackHint": "Choosing \"keep\" leaves masking on for this launch; because your config still requests \"disabled\", the next launch will ask again.",
857 "RedactionGateSaveFailed": "Could not save confirmation. Masking remains on. Retry or choose keep masking on.",
858 "RedactionGateTitle": "Model-bound key redaction",
859 "OnboardOfflineOption": "Ctrl+O — look around offline; connect later.",
860 "OnboardOfflineNotice": "Exploring offline — run /provider whenever you're ready to connect.",
861 "OnboardWelcomeTitle": "Codewhale works with you in this folder.",
862 "OnboardWelcomeLead": "Let's get you ready.",
863 "OnboardWelcomeBegin": "begin",
864 "OnboardActionBack": "back",
865 "OnboardActionExit": "exit",
866 "OnboardStepsTitle": "Getting started",
867 "OnboardLanguagePick": "choose a language",
868 "OnboardLanguageKeep": "keep the current language",
869 "OnboardProviderChoose": "choose a provider",
870 "OnboardProviderOffline": "explore offline",
871 "OnboardTrustActionTrust": "trust and continue",
872 "OnboardTrustActionSkip": "continue without trusting",
873 "OnboardTrustActionQuit": "quit Codewhale",
874 "OnboardReadyTitle": "You're ready.",
875 "OnboardReadyLead": "Tell Codewhale what you want done.",
876 "OnboardReadyStart": "start",
877 "OnboardReadyCustomize": "customize the look later",
878 "OnboardSeedCodeProject": "Explain this project and list its main entry points.",
879 "OnboardSeedFolder": "Look at this folder and suggest a good first task.",
880 "SetupWizardTitle": "Setup",
881 "SetupWizardWhy": "This shell records setup progress in setup_state.json; config changes are only applied by explicit step actions.",
882 "SetupWizardProgress": "Step",
883 "SetupActionBack": "back",
884 "SetupActionContinue": "continue",
885 "SetupActionSkip": "skip",
886 "SetupActionRetry": "retry",
887 "SetupActionScrollBody": "scroll body",
888 "SetupActionGuided": "preview/ratify",
889 "SetupActionTuneGuided": "tune",
890 "SetupActionModelDraft": "model draft",
891 "SetupActionFreeform": "own words",
892 "SetupActionKeepExisting": "keep existing",
893 "SetupActionUseRecommended": "use recommended",
894 "SetupActionCustomize": "customize",
895 "SetupActionProvider": "provider setup",
896 "SetupActionModel": "model routes",
897 "SetupActionFleet": "fleet setup",
898 "SetupActionHotbar": "hotbar setup",
899 "SetupActionRemote": "remote on-ramp",
900 "SetupActionMode": "mode picker",
901 "SetupActionConfig": "config view",
902 "SetupActionRuntimePreset": "preset",
903 "SetupActionApplyRuntimePreset": "preview/apply",
904 "SetupActionUseBundled": "use bundled",
905 "SetupActionDefer": "defer",
906 "SetupActionCancel": "cancel",
907 "SetupStatusNotStarted": "not started",
908 "SetupStatusRecommended": "recommended",
909 "SetupStatusOptional": "optional",
910 "SetupStatusDeferred": "deferred",
911 "SetupStatusInProgress": "in progress",
912 "SetupStatusNeedsAction": "needs action",
913 "SetupStatusVerified": "verified",
914 "SetupStatusSkipped": "skipped",
915 "SetupStatusFailed": "failed",
916 "SetupStepLanguageTitle": "Language",
917 "SetupStepLanguageWhy": "Choose the setup language first so later setup screens and constitution copy are understandable.",
918 "SetupStepProviderModelTitle": "Provider and model",
919 "SetupStepProviderModelWhy": "The provider and model Codewhale works with; working credentials are reused.",
920 "SetupStepTrustSandboxTitle": "Runtime posture",
921 "SetupStepTrustSandboxWhy": "Trust, sandbox, approval, shell and network policy.",
922 "SetupStepOperateFleetTitle": "Operate and fleet",
923 "SetupStepOperateFleetWhy": "The built-in team already works; fleet setup only customizes it.",
924 "SetupStepToolsMcpTitle": "Tools and MCP",
925 "SetupStepToolsMcpWhy": "Inspect optional tool and MCP readiness without blocking the constitution checkpoint.",
926 "SetupStepHotbarTitle": "Hotbar",
927 "SetupStepHotbarWhy": "Configure common route and command shortcuts after the core setup path is safe.",
928 "SetupStepRemoteRuntimeTitle": "Remote runtime",
929 "SetupStepRemoteRuntimeWhy": "Keep remote setup visible but optional for local-first users.",
930 "SetupStepPersistenceTitle": "Persistence",
931 "SetupStepPersistenceWhy": "Paths only; contents are not read.",
932 "SetupStepConstitutionTitle": "Working agreement",
933 "SetupStepConstitutionWhy": "This agreement guides behavior, not runtime permissions.",
934 "SetupStepVerificationTitle": "Review",
935 "SetupStepVerificationWhy": "Summarize setup status and show which steps are verified, skipped, or still need action.",
936 "SetupCheckpointLayerOrder": "Layer order: bundled Constitution -> user-global constitution -> repo constitution -> AGENTS/project instructions -> memory/handoff -> current request.",
937 "SetupCheckpointDoneBundled": "Constitution checkpoint complete: using bundled/default law.",
938 "SetupCheckpointDoneGuided": "Constitution ratified — your standing law is saved. Amend anytime with /constitution.",
939 "SetupCheckpointDoneKept": "Constitution kept — your existing law stands, unchanged. Amend anytime with /constitution.",
940 "SetupCheckpointDeferred": "Constitution checkpoint deferred: bundled/default law applies until you return to /setup.",
941 "SetupStepSkipped": "Setup step skipped and saved.",
942 "SetupStepRetryRecorded": "Setup step marked for retry.",
943 "SetupLanguageReviewed": "Setup language recorded.",
944 "SetupConstitutionChoiceLabel": "Choice:",
945 "SetupConstitutionSourceLabel": "Source:",
946 "SetupConstitutionValidityLabel": "Validity:",
947 "SetupConstitutionPreviewLabel": "Preview hash:",
948 "SetupConstitutionExistingLabel": "Existing file:",
949 "SetupConstitutionExpertOverrideLabel": "Expert override:",
950 "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.",
951 "SetupConstitutionGuidedAnswersHint": "Guided answers save user-global preferences only. The bundled core stays active; execution stays with runtime policy and future opt-ins.",
952 "SetupConstitutionExistingDefaultDetail": "Enter keeps it unchanged. C opens all agreement options.",
953 "SetupConstitutionRepairDefaultDetail": "Enter uses the safe bundled agreement without changing this file. C opens repair options.",
954 "SetupConstitutionPurposeLabel": "Purpose:",
955 "SetupConstitutionAutonomyLabel": "Initiative:",
956 "SetupConstitutionEvidenceLabel": "Evidence:",
957 "SetupConstitutionCommunicationLabel": "Communication:",
958 "SetupConstitutionPrivacyLabel": "Privacy:",
959 "SetupConstitutionPrinciplesLabel": "Principles:",
960 "SetupCardRouteLabel": "Route:",
961 "SetupCardModelLabel": "Model:",
962 "SetupCardAuthLabel": "Auth:",
963 "SetupCardHealthLabel": "Health:",
964 "SetupCardIntentLabel": "Work intent:",
965 "SetupCardApprovalLabel": "Approvals:",
966 "SetupCardShellLabel": "Shell:",
967 "SetupCardTrustLabel": "Trust:",
968 "SetupCardSandboxLabel": "Sandbox:",
969 "SetupCardNetworkLabel": "Network:",
970 "SetupOperateRuntimeLabel": "Worker runtime:",
971 "SetupOperateRosterLabel": "fleet roster:",
972 "SetupOperateConcurrencyLabel": "Concurrency:",
973 "SetupOperateReadinessLabel": "Operate readiness:",
974 "SetupOperateReviewHint": "Enter records this setup snapshot.",
975 "SetupOperateReviewed": "Operate/fleet readiness recorded.",
976 "SetupOperateNeedsActionSaved": "Operate/fleet still needs action; recorded for setup report.",
977 "SetupHotbarBindingsLabel": "Hotbar bindings:",
978 "SetupHotbarActionsLabel": "Bindable actions:",
979 "SetupHotbarReviewHint": "Enter records this setup snapshot. Press H to customize slots.",
980 "SetupHotbarReviewed": "Hotbar setup state recorded.",
981 "SetupToolsMcpServersLabel": "MCP servers:",
982 "SetupToolsMcpSkillsLabel": "Skills:",
983 "SetupToolsMcpToolsLabel": "Tools dir:",
984 "SetupToolsMcpPluginsLabel": "Plugins:",
985 "SetupToolsMcpReviewHint": "Enter records this setup snapshot. Press R for safe on-ramps (no auto-run).",
986 "SetupToolsMcpReviewed": "Tools/MCP readiness recorded.",
987 "SetupRemoteCloudsLabel": "Cloud targets:",
988 "SetupRemoteBridgesLabel": "Chat bridges:",
989 "SetupRemoteProvidersLabel": "Providers:",
990 "SetupRemoteModeLabel": "Remote mode:",
991 "SetupRemoteModeLocalOnly": "This machine only:",
992 "SetupRemoteModeRuntimeApi": "Runtime API:",
993 "SetupRemoteModeMobileLan": "Phone on your network:",
994 "SetupRemoteModeChatBridge": "Chat app:",
995 "SetupRemoteStatusDisabled": "not available",
996 "SetupRemoteStatusReady": "ready",
997 "SetupRemoteStatusNeedsAction": "needs something",
998 "SetupRemoteReviewHint": "Enter records this setup snapshot. Press R to preview.",
999 "SetupRemotePreviewTitle": "Remote runtime on-ramp",
1000 "SetupRemoteReviewed": "Remote runtime on-ramp recorded.",
1001 "SetupPersistenceHomeLabel": "Home:",
1002 "SetupPersistenceConfigLabel": "Config:",
1003 "SetupPersistenceStateLabel": "Setup state:",
1004 "SetupPersistenceConstitutionLabel": "Constitution:",
1005 "SetupPersistenceMemoryLabel": "Memory:",
1006 "SetupPersistenceNotesLabel": "Notes:",
1007 "SetupPersistenceReviewHint": "Enter records this setup snapshot.",
1008 "SetupPersistenceReviewed": "Persistence paths recorded.",
1009 "SetupProviderModelReadyHint": "Enter records this provider/model route; press P for provider setup or M for model routes.",
1010 "SetupProviderModelNeedsActionHint": "Enter records provider/model as needs-action and continues; press P to fix credentials or M to inspect routes.",
1011 "SetupProviderModelReviewed": "Provider/model readiness recorded.",
1012 "SetupProviderModelNeedsActionSaved": "Provider/model still needs action; recorded for setup report.",
1013 "SetupRuntimePostureBoundary": "Runtime posture is enforced config; constitution guidance never changes it silently.",
1014 "SetupRuntimePostureReviewHint": "Enter records this setup snapshot. Press M for work mode or C for config.",
1015 "SetupRuntimePostureReviewed": "Runtime posture reviewed; no config changed.",
1016 "SetupRuntimePresetSelectedLabel": "Selected preset:",
1017 "SetupRuntimePresetDiffLabel": "Config diff:",
1018 "SetupRuntimePresetAskFirstTitle": "Ask-first",
1019 "SetupRuntimePresetAskFirstDescription": "Plan by default, shell hidden, read-only sandbox.",
1020 "SetupRuntimePresetNormalAgentTitle": "Normal agent",
1021 "SetupRuntimePresetNormalAgentDescription": "Agent by default, approval prompts, shell visible.",
1022 "SetupRuntimePresetHighTrustTitle": "High-trust local",
1023 "SetupRuntimePresetHighTrustDescription": "Full Access by default for trusted local work; no hidden constitution mutation.",
1024 "SetupRuntimePresetPreviewTitle": "Runtime Posture Preset Preview",
1025 "SetupRuntimePresetSafetyFloor": "Safety floor: auth/OAuth failures, blocked policy outcomes, publish-like actions, and hold-for-review gates can still stop the run.",
1026 "SetupRuntimePresetApplyHint": "Press A to preview this exact diff; press A again after preview to apply it.",
1027 "SetupRuntimePresetApplied": "Runtime preset applied.",
1028 "SetupRuntimeProjectOverrideLabel": "Project override:",
1029 "SetupRuntimeProjectOverrideNone": "none detected for approval_policy or sandbox_mode",
1030 "SetupReportFirstRunLabel": "First-run:",
1031 "SetupReportUpdateLabel": "Update checkpoint:",
1032 "SetupReportOperateLabel": "Operate/fleet:",
1033 "SetupReportSourceLabel": "Source:",
1034 "SetupReportAutonomyLabel": "Constitution autonomy:",
1035 "SetupReportRuntimePostureLabel": "Runtime posture:",
1036 "SetupReportPersisted": "persisted setup_state.json",
1037 "SetupReportInherited": "derived from existing config",
1038 "SetupReportReady": "ready",
1039 "SetupReportRequired": "required",
1040 "SetupReportOptional": "optional",
1041 "SetupReportRowsLabel": "Step status:",
1042 "SetupReportNextActionLabel": "Next action:",
1043 "SetupReportNextActionNone": "No blocking setup action recorded.",
1044 "SetupReportNextActionConstitution": "Complete the constitution checkpoint or choose bundled/default.",
1045 "SetupReportNextActionProvider": "Review provider/model readiness or run /setup provider; use /provider setup <name> for a specific provider.",
1046 "SetupReportNextActionRuntime": "Review runtime posture or use /config.",
1047 "SetupReportNextActionOperate": "Review Operate/fleet readiness before durable multi-worker runs.",
1048 "SetupReportNextActionRequired": "Review the remaining required setup steps.",
1049 "SetupReportRecorded": "Setup report recorded.",
1050 "CtxMenuTitle": " Right click ",
1051 "CtxMenuCopySelection": "Copy selection",
1052 "CtxMenuCopySelectionDesc": "write selected transcript text",
1053 "CtxMenuOpenSelection": "Open selection",
1054 "CtxMenuOpenSelectionDesc": "show selected text in pager",
1055 "CtxMenuClearSelection": "Clear selection",
1056 "CtxMenuOpenDetails": "Open details",
1057 "CtxMenuCopyMessage": "Copy message",
1058 "CtxMenuCopyMessageDesc": "write clicked transcript cell",
1059 "CtxMenuOpenInEditor": "Open in editor",
1060 "CtxMenuOpenInEditorDesc": "open file:line in $EDITOR",
1061 "CtxMenuShowCell": "Show cell",
1062 "CtxMenuShowCellDesc": "unhide this transcript cell",
1063 "CtxMenuHideCell": "Hide cell",
1064 "CtxMenuHideCellDesc": "collapse this transcript cell",
1065 "CtxMenuShowHidden": "Show hidden",
1066 "CtxMenuShowHiddenDesc": "unhide all collapsed cells",
1067 "CtxMenuPaste": "Paste",
1068 "CtxMenuPasteDesc": "insert clipboard into composer",
1069 "CtxMenuCmdPalette": "Command palette",
1070 "CtxMenuCmdPaletteDesc": "commands, skills, and tools",
1071 "CtxMenuContextInspector": "Context inspector",
1072 "CtxMenuContextInspectorDesc": "active context and cache hints",
1073 "CtxMenuHelp": "Help",
1074 "CtxMenuHelpDesc": "keybindings and commands",
1075 "CtxMenuWindowPin": "Shrink and pin on top",
1076 "CtxMenuWindowUnpin": "Restore window",
1077 "CmdPinDescription": "Pin this window on top",
1078 "CtxMenuWindowPinDesc": "pin/unpin this window on top",
1079 "WindowPinActive": "Window pinned on top",
1080 "WindowPinReleased": "Window restored",
1081 "WindowPinFailed": "Window change failed or could not be confirmed. Check the log for details.",
1082 "FanoutCounts": "{done} done · {running} running · {failed} failed · {pending} pending",
1083 "AppModeAgent": "Work",
1084 "AppModeAuto": "Auto",
1085 "AppModeYolo": "Full Access (deprecated mode label)",
1086 "AppModePlan": "Plan",
1087 "AppModeOperate": "Operate",
1088 "AppModeAgentHint": "Direct work in this session — edits and shell ask for approval",
1089 "AppModeAutoHint": "Shell enabled with automatic risk review",
1090 "AppModePlanHint": "Read-only research first — present a plan before acting",
1091 "AppModeYoloHint": "Compatibility only — Act + Full Access, not a visible mode",
1092 "AppModeOperateHint": "Turns your prompt into a goal: parallel workers, verified work",
1093 "VimModeNormal": "-- NORMAL --",
1094 "VimModeInsert": "-- INSERT --",
1095 "VimModeVisual": "-- VISUAL --",
1096 "ApprovalRiskReview": "REVIEW",
1097 "ApprovalRiskElevated": "APPROVAL",
1098 "ApprovalRiskDestructive": "DESTRUCTIVE",
1099 "ApprovalTimedOutDenied": "Approval request timed out - denied",
1100 "ApprovalCategorySafe": "Safe",
1101 "ApprovalCategoryFileWrite": "File Write",
1102 "ApprovalCategoryShell": "Bash",
1103 "ApprovalCategoryNetwork": "Network",
1104 "ApprovalCategoryMcpRead": "MCP Read",
1105 "ApprovalCategoryMcpAction": "MCP Action",
1106 "ApprovalCategoryAgent": "Sub-agent",
1107 "ApprovalCategoryUnknown": "Unknown",
1108 "ApprovalFieldType": "Type: ",
1109 "ApprovalFieldAbout": "About: ",
1110 "ApprovalFieldImpact": "Impact: ",
1111 "ApprovalFieldParams": "Params: ",
1112 "ApprovalOptionApproveOnce": "Allow once",
1113 "ApprovalOptionApproveAlways": "Allow for this session (this kind)",
1114 "ApprovalOptionAllowExactRepo": "Always allow this exact rule in this repo",
1115 "ApprovalSaveAskRuleHint": " s allow once + always ask exact rule",
1116 "ApprovalOptionDeny": "Deny this call",
1117 "ApprovalOptionAbortTurn": "Abort the turn",
1118 "ApprovalBlockTitle": "approval",
1119 "ApprovalControlsHint": " · Pg↑/↓ review · {details} details · Esc abort",
1120 "ApprovalTruncationHint": " … truncated · press {details} for full details",
1121 "ApprovalFullAccessPolicyBlocked": "Blocked {tool}: Full Access cannot bypass this policy",
1122 "AutoReviewQuestionSkipped": "Auto-Review skipped a user question and continued autonomously",
1123 "ApprovalChooseHint": "Choose: ",
1124 "ApprovalChooseAction": "Enter selected option, or press y/a/d directly",
1125 "ApprovalIntentLabel": "Intent: ",
1126 "ApprovalMoreLines": " … (+{count} lines)",
1127 "ApprovalAutoDeniedSession": "Auto-denied {tool}: a matching request was denied earlier during this Codewhale run. Restart Codewhale to reconsider it.",
1128 "ElevationTitleSandboxDenied": " ⚠, Sandbox Denied ",
1129 "ElevationTitleRequired": " Sandbox Elevation Required ",
1130 "ElevationFieldTool": " Tool: ",
1131 "ElevationFieldCmd": " Cmd: ",
1132 "ElevationFieldReason": " Reason: ",
1133 "ElevationImpactHeader": " Impact if approved:",
1134 "ElevationImpactNetwork": " - network retry enables outbound downloads and HTTP requests",
1135 "ElevationImpactWrite": " - write retry expands writable filesystem scope for this tool call",
1136 "ElevationImpactFullAccess": " - full access drops all sandbox limits for this retry",
1137 "ElevationPromptProceed": " Choose how to proceed:",
1138 "ElevationOptionNetwork": "Allow outbound network",
1139 "ElevationOptionWrite": "Allow extra write access",
1140 "ElevationOptionFullAccess": "Full access (filesystem + network)",
1141 "ElevationOptionAbort": "Abort",
1142 "ElevationOptionNetworkDesc": "Retry with outbound network (downloads and HTTP)",
1143 "ElevationOptionWriteDesc": "Retry with a wider writable scope",
1144 "ElevationOptionFullAccessDesc": "Retry without sandbox limits; grants unrestricted filesystem and network access",
1145 "ElevationOptionAbortDesc": "Cancel this run",
1146 "ContextAutoCompacting": "Auto-compacting context…",
1147 "ContextManualCompacting": "Compacting context…",
1148 "ContextCompactionQueued": "Compaction queued — runs after this turn.",
1149 "ContextCompactionAlreadyRunning": "Compaction is already running.",
1150 "ContextCompactionQueueFull": "Compaction has to wait — the engine is busy. Try again after this turn.",
1151 "ContextCompactionQueueClosed": "Compaction is unavailable — the engine stopped.",
1152 "ContextCompactionRouteInvalid": "Can't compact — the active provider route is invalid: {error}",
1153 "CtxInspTitle": "Context inspector",
1154 "CtxInspSessionContext": "Session Context",
1155 "CtxInspSystemPrompt": "System Prompt Structure",
1156 "CtxInspReferences": "References",
1157 "CtxInspRecentTools": "Recent Tools",
1158 "CtxInspToolSchemaCosts": "Tool schema costs",
1159 "CtxInspModel": "Model",
1160 "CtxInspWorkspace": "Workspace",
1161 "CtxInspSession": "Session",
1162 "CtxInspContext": "Context",
1163 "CtxInspTranscript": "Transcript",
1164 "CtxInspWorkspaceStatus": "Workspace status",
1165 "CtxInspNotSampledYet": "not sampled yet",
1166 "CtxInspOk": "ok",
1167 "CtxInspHigh": "high",
1168 "CtxInspCritical": "critical",
1169 "CtxInspIncluded": "included",
1170 "CtxInspAttached": "attached",
1171 "CtxInspNotIncluded": "not included",
1172 "CtxInspOutputCaptured": "output captured",
1173 "CtxInspNoOutputYet": "no output yet",
1174 "CtxInspNoSystemPrompt": "No system prompt set.",
1175 "CtxInspNoReferences": "No file, folder, or media references yet.",
1176 "CtxInspNoToolActivity": "No tool activity yet.",
1177 "CtxInspVHint": "Open the card and press {details} for full details.",
1178 "CtxInspCells": "cells",
1179 "CtxInspApiMessages": "API messages",
1180 "CtxInspActive": "active",
1181 "CtxInspCell": "cell",
1182 "CtxInspMoreReferences": "more reference(s)",
1183 "CtxInspStablePrefix": "Stable prefix",
1184 "CtxInspVolatileWorkingSet": "Volatile working set",
1185 "CtxInspFirstLine": "First line",
1186 "CtxInspTotal": "Total",
1187 "CtxInspTextPromptLayers": "Text prompt layers",
1188 "CtxInspSingleTextBlob": "Single text blob",
1189 "CtxInspBlocks": "block(s)",
1190 "CtxInspBlock": "block",
1191 "CtxInspTokens": "tokens",
1192 "CtxInspLayers": "layer(s)",
1193 "CtxInspNone": "none",
1194 "CtxInspEmpty": "(empty)",
1195 "CtxInspCacheFriendly": "cache-friendly",
1196 "CtxInspChangesByTurn": "changes by session/turn",
1197 "CtxInspStablePrefixOnly": "stable prefix only",
1198 "CtxInspCacheTip": "Tip: stable-prefix blocks can hit the cache when your provider supports it. Volatile tail changes break only the tail.",
1199 "ToolFamilyRead": "read",
1200 "ToolFamilyPatch": "patch",
1201 "ToolFamilyRun": "run",
1202 "ToolFamilyFind": "find",
1203 "ToolFamilyDelegate": "agent",
1204 "ToolFamilyFanout": "fanout",
1205 "ToolFamilyRlm": "rlm",
1206 "ToolFamilyVerify": "verify",
1207 "ToolFamilyThink": "think",
1208 "ToolFamilyGeneric": "tool",
1209 "ToolReceiptDone": "Done",
1210 "ToolReceiptLinesSingular": "1 line",
1211 "ToolReceiptLinesPlural": "{count} lines",
1212 "CmdVoiceDescription": "Dictate into the composer",
1213 "CmdVoiceSendDescription": "Toggle voice auto-send: submit when the transcript ends with \"send it\"",
1214 "CmdVoiceControlDescription": "Toggle voice control: AI-assisted dictation aware of the composer text",
1215 "VoiceEnabled": "Voice input enabled. Speak to record.",
1216 "VoiceDisabled": "Voice input disabled.",
1217 "VoiceSendEnabled": "Voice auto-send enabled.",
1218 "VoiceSendDisabled": "Voice auto-send disabled.",
1219 "VoiceControlEnabled": "Voice control enabled.",
1220 "VoiceControlDisabled": "Voice control disabled.",
1221 "VoiceErrNoAuth": "Voice: no API key configured for the active provider",
1222 "VoiceErrNoRecorder": "Voice: no recording tool found. Install sox, arecord, or rec.",
1223 "VoiceErrNetwork": "Voice: transcription request failed",
1224 "VoiceErrEmptySend": "Voice: nothing to send",
1225 "VoiceErrTooShort": "Voice: no speech detected, recording too short",
1226 "VoiceRecording": "🎙 Recording... speak now",
1227 "VoiceProcessing": "🎙 Transcribing...",
1228 "VoiceTranscribed": "🎙 Transcribed",
1229 "NotificationTurnComplete": "Turn complete",
1230 "NotificationSubagentComplete": "Sub-agent complete",
1231 "NotificationSubagentFailed": "Sub-agent failed",
1232 "NotificationSubagentInterrupted": "Sub-agent interrupted",
1233 "NotificationSubagentCancelled": "Sub-agent cancelled",
1234 "NotificationSubagentBudgetExhausted": "Sub-agent budget exhausted",
1235 "FooterWorkedChip": "worked {duration}",
1236 "FleetDraftTitle": "team profile — draft by {model_label} (g saves)",
1237 "FleetDraftHeader": "# .codewhale/agents/{name}\n# Drafted by {model_label}, validated and bounded by Codewhale.\n# Permissions stay at the team floor: no shell, no trust, approval required.\n# Nothing is saved until you press g in the wizard.\n\n",
1238 "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.",
1239 "ApprovalDescSafe": "Requesting a safe/read-only operation.",
1240 "ApprovalDescFileWrite": "Requesting to modify a file. Please confirm path and content.",
1241 "ApprovalDescShell": "Requesting to execute a shell command. Review command and working directory.",
1242 "ApprovalDescNetwork": "Requesting to access network or remote content. Verify the target is trusted.",
1243 "ApprovalDescMcpRead": "Requesting to read from an MCP server.",
1244 "ApprovalDescMcpAction": "Requesting to call an MCP server action that may have side effects.",
1245 "ApprovalDescAgent": "Requesting to start or inspect a sub-agent; sub-agents still have their own gating.",
1246 "ApprovalDescUnknown": "Requesting to run an unclassified tool. Review parameters carefully.",
1247 "ApprovalImpactSafe": "Read-only operation.",
1248 "ApprovalImpactFileWrite": "Writes files in the workspace or an approved write scope.",
1249 "ApprovalImpactShell": "Executes a Bash command in your workspace.",
1250 "ApprovalImpactNetwork": "May reach network services or remote content.",
1251 "ApprovalImpactMcpRead": "Reads from an MCP server without an obvious local write.",
1252 "ApprovalImpactMcpAction": "Calls an MCP server action that may have side effects.",
1253 "ApprovalImpactAgent": "Starts or inspects a sub-agent; sub-agents have their own gating.",
1254 "ApprovalImpactUnknown": "Tool is not classified. Review params carefully before approving.",
1255 "ApprovalLabelCommand": "Command",
1256 "ApprovalLabelDir": "Dir",
1257 "ApprovalLabelFile": "File",
1258 "ApprovalLabelPreview": "Preview",
1259 "ApprovalLabelProposedContent": "proposed content",
1260 "ApprovalLabelReplaceThis": "replace this",
1261 "ApprovalLabelWithThis": "with this",
1262 "ApprovalLabelReplacementContent": "replacement content",
1263 "ApprovalLabelPath": "Path",
1264 "ApprovalLabelTarget": "Target",
1265 "ApprovalLabelInput": "Input",
1266 "ApprovalLabelAction": "Action",
1267 "ApprovalLabelType": "Type",
1268 "ApprovalLabelPrompt": "Prompt",
1269 "ApprovalLabelAbout": "About: ",
1270 "ApprovalLabelImpact": "Impact: ",
1271 "SetupConstitutionFileNotChecked": "not checked yet",
1272 "SetupConstitutionFileMissing": "no constitution.json found; bundled/default applies",
1273 "SetupConstitutionFileLoadedSelected": "valid constitution.json present and selected",
1274 "SetupConstitutionFileLoadedInactive": "valid constitution.json present but inactive under the recorded choice",
1275 "SetupConstitutionFileLoadedUnselected": "valid constitution.json present; preview or save guided to select it",
1276 "SetupConstitutionFileEmpty": "constitution.json is empty; use G to regenerate or U for bundled",
1277 "SetupConstitutionFileInvalid": "constitution.json is invalid; use repair/regenerate or bundled",
1278 "SetupConstitutionFileUnreadable": "constitution.json is unreadable; use repair/regenerate or bundled",
1279 "SetupConstitutionFilePathError": "CODEWHALE_HOME could not be resolved for constitution.json",
1280 "SetupExpertOverrideNotChecked": "not checked yet",
1281 "SetupExpertOverrideMissing": "no prompts/constitution.md found",
1282 "SetupExpertOverrideActive": "active; expert Markdown override is opted in",
1283 "SetupExpertOverrideDisabled": "file found but disabled; set {env}=1 to activate",
1284 "SetupExpertOverrideEmpty": "override file is empty; bundled/default applies",
1285 "SetupExpertOverrideUnreadable": "override file is unreadable; bundled/default applies",
1286 "SetupExpertOverridePathError": "CODEWHALE_HOME could not be resolved for prompts/constitution.md",
1287 "SetupAutonomyUnspecified": "unspecified or bundled/default",
1288 "SetupGuidedPurposeCoding": "coding workbench",
1289 "SetupGuidedPurposeResearch": "research synthesis",
1290 "SetupGuidedPurposeOperations": "operations helper",
1291 "SetupGuidedPurposeMixed": "mixed workbench",
1292 "SetupGuidedPurposeAboutCoding": "A Codewhale user who wants a calm, evidence-first coding workbench.",
1293 "SetupGuidedPurposeAboutResearch": "A Codewhale user who wants current, cited research and careful synthesis.",
1294 "SetupGuidedPurposeAboutOperations": "A Codewhale user who wants reliable operational help with clear rollback points.",
1295 "SetupGuidedPurposeAboutMixed": "A Codewhale user who wants a flexible workbench for coding, research, writing, and operations.",
1296 "SetupGuidedStyleCoding": "Keep code changes scoped to requested behavior and existing repo patterns.",
1297 "SetupGuidedStyleResearch": "Separate live evidence from inference and cite sources for unstable facts.",
1298 "SetupGuidedStyleOperations": "Prefer reversible operational steps with dry-runs, status checks, and rollback notes.",
1299 "SetupGuidedStyleMixed": "Adapt between coding, research, writing, and operations without widening the safety posture.",
1300 "SetupGuidedEvidenceAssumptions": "state assumptions",
1301 "SetupGuidedEvidenceTestsAndReceipts": "tests & receipts",
1302 "SetupGuidedEvidenceReleaseReceipts": "release receipts",
1303 "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.",
1304 "SetupToolsMcpHotbarLabel": "Hotbar sources:",
1305 "SetupToolsMcpNeedsActionSaved": "Tools/MCP still needs action; recorded for setup report (does not block first-run).",
1306 "SetupToolsMcpPreviewTitle": "Tools / MCP safe on-ramps",
1307 "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.",
1308 "SetupToolsMcpDshLabel": "DeepSeek Harness (dsh):",
1309 "SetupToolsMcpDshRow": "DeepSeek Harness (dsh) — connected through Codewhale, never a second scheduler:\n- State: {dsh_result}\n- Read-only detection; connect/plan/launch/remove: codewhale integrations dsh status · plan · connect · launch · remove\n- Codewhale writes only $CODEWHALE_HOME/integrations/dsh; it never copies API keys or edits DSH files.",
1310 "HotbarActionModeOperateName": "Operate mode",
1311 "HotbarActionModeOperateDescription": "Put your fleet to work in parallel.",
1312 "HomeOperateModeTip": "Operate — put your fleet to work in parallel",
1313 "HomeOperateModeFleetTip": " Roles borrow this session's model; /fleet setup customizes them",
1314 "HelpSubtitle": "Concepts, commands, and keybindings",
1315 "CommandPaletteTitle": "Command",
1316 "CommandPaletteSubtitle": "Find and run one action",
1317 "ConfigSubtitle": "Settings first; raw keys under advanced detail",
1318 "LaunchStartTitle": "Start here",
1319 "LaunchResumeConfirm": "Resume {title}? Click again or press Enter to confirm.",
1320 "LaunchResumeConfirmTitle": "Resume session",
1321 "LaunchResumeConfirmBody": "This replaces the current context with that session's history.",
1322 "LaunchResumeConfirmResume": "resume",
1323 "LaunchResumeConfirmCancel": "cancel",
1324 "LaunchWorkDescription": "Work in this folder; changes follow your approval policy.",
1325 "LaunchChatDescription": "Just talk and plan — nothing changes on disk.",
1326 "LaunchWorkspaceGitReady": "Workspace · {name} · Git workspace",
1327 "LaunchWorkspaceFolderReady": "Workspace · {name} · local folder",
1328 "LaunchProviderConfigured": "Provider · configured",
1329 "LaunchProviderSetupNeeded": "Provider · setup needed",
1330 "LaunchGroupContinue": "Continue",
1331 "LaunchGroupMore": "More",
1332 "LaunchWorkspaceGitShort": "Git",
1333 "LaunchWorkspaceFolderShort": "folder",
1334 "LaunchProviderConfiguredShort": "provider set",
1335 "LaunchProviderSetupShort": "provider setup",
1336 "LaunchMenuChangelog": "Changelog",
1337 "LaunchWorktreePrompt": "Name the branch/worktree, or press Enter for an automatic name. Esc back.",
1338 "LaunchWorktreeNeedsGit": "Worktrees need a Git repo.",
1339 "LaunchWorktreeNameLabel": "worktree name",
1340 "LaunchHintMove": "move",
1341 "LaunchHintOpen": "open",
1342 "LaunchTipFlags": "Tip: -w <path> opens a workspace; -r <session-id> resumes directly",
1343 "LaunchSavedSessionSingular": "1 saved session",
1344 "LaunchSavedSessionsPlural": "{count} saved sessions",
1345 "LaunchCreatingWorktree": "Creating worktree…",
1346 "LaunchWorktreeFailed": "Could not create the worktree: {error}",
1347 "LaunchWorktreeCreated": "New worktree {path} on branch {branch}",
1348 "LaunchNoSavedSessions": "No saved sessions here yet.",
1349 "LaunchNoModelConnected": "no model connected",
1350 "LaunchRunCommand": "run {command}",
1351 "LaunchMcpConnectedOne": "1 MCP server connected",
1352 "LaunchMcpConnectedMany": "{count} MCP servers connected",
1353 "LaunchMcpNeedsSignInOne": "1 needs sign-in",
1354 "LaunchMcpNeedsSignInMany": "{count} need sign-in",
1355 "PhaseIdle": "idle",
1356 "PhaseDraft": "draft",
1357 "PhaseWorking": "working",
1358 "PhaseReasoning": "reasoning",
1359 "PhaseReading": "reading",
1360 "PhaseUsingTool": "using tool",
1361 "PhaseSubagents": "sub-agents underway",
1362 "PhaseVerifying": "verifying",
1363 "PhaseWaitingOnYou": "waiting on you",
1364 "PhaseDone": "Done",
1365 "PhaseFailed": "failed",
1366 "PhaseFinishing": "finishing",
1367 "ChipModeAct": "work",
1368 "ChipModePlan": "plan",
1369 "ChipModeOperate": "operate",
1370 "ChipPermissionReadOnly": "read only",
1371 "ChipPermissionAsk": "ask",
1372 "ChipPermissionAuto": "auto",
1373 "ChipPermissionFullAccess": "Full Access",
1374 "ChipPermissionNever": "never",
1375 "FooterHintKeys": "keys",
1376 "FooterHintOutput": "output",
1377 "FooterHintContext": "context",
1378 "InfoLineHelp": "help",
1379 "InfoLineContext": "ctx",
1380 "InfoLineTtft": "ttft",
1381 "InfoLinePeak": "peak",
1382 "InfoLineOffPeak": "off-peak",
1383 "InfoLineWhales": "whales",
1384 "InfoLineAutomation": "automation",
1385 "InfoLineNotConnected": "not connected",
1386 "EmptyStateNoGit": "no git",
1387 "EmptyStateMcpLabel": "mcp",
1388 "EmptyStatePrompt": "What do you want to accomplish?",
1389 "SessionsSurfaceTitle": "sessions",
1390 "SessionsPaneTitle": " sessions (1-9, PgUp/PgDn) ",
1391 "SessionsHistoryPaneTitle": " history (Shift+PgUp/PgDn) ",
1392 "SessionsActionResume": "resume",
1393 "SessionsActionSearch": "search",
1394 "SessionsActionSort": "sort",
1395 "SessionsActionRename": "rename",
1396 "SessionsActionAllWorkspaces": "all workspaces",
1397 "SessionsActionDelete": "delete",
1398 "SessionsActionClose": "close",
1399 "SessionsScopeSortHeader": "scope and sort · {sort}",
1400 "SessionsEmptyTitle": "No saved sessions yet.",
1401 "SessionsEmptyHint": "Send a message to start one — it saves automatically.",
1402 "SessionsShowingAllWorkspaces": "sessions from every workspace",
1403 "SessionsScopedToWorkspace": "this workspace only",
1404 "SessionsNewTitlePrompt": "New title: ",
1405 "SessionsDeletePrompt": "Delete session? (y/n)",
1406 "SessionsConfirmDelete": "Confirm delete (y/n)",
1407 "SessionsNewSessionTitle": "New Session",
1408 "SessionsOpenedHistory": "Opened history for {id}",
1409 "SessionsSortStatus": "Sort: {sort}",
1410 "SessionsSortRecent": "recent",
1411 "SessionsSortName": "name",
1412 "SessionsSortSize": "size",
1413 "SessionsSearchPrompt": "Search: type, Enter to apply",
1414 "SessionsDeleteFailed": "Could not delete: {error}",
1415 "SessionsDeleted": "Deleted {id}",
1416 "SessionsNoSelection": "No session selected",
1417 "SessionsTitleLength": "Title must be 1–100 characters",
1418 "SessionsOpenFailed": "Could not open sessions: {error}",
1419 "SessionsLoadFailed": "Could not load the session: {error}",
1420 "SessionsResumed": "Resumed: {title}",
1421 "SessionsRenameFailed": "Could not rename: {error}",
1422 "SessionsRenamed": "Renamed to \"{title}\"",
1423 "SessionsNoResults": "No sessions found.",
1424 "SessionsDirectoryFailed": "Could not open the sessions folder.",
1425 "SessionsPreviewFailed": "Could not load the session preview.",
1426 "SessionsDeleteCancelled": "Delete cancelled",
1427 "SessionsRenameCancelled": "Rename cancelled",
1428 "SessionsShowingRange": "Showing {start}-{end} / {total}",
1429 "SessionsMessageCountCompact": "{count} msgs",
1430 "SessionsForkCompact": "fork",
1431 "SessionsCurrentCompact": "current",
1432 "SessionsPreviewId": "ID: {id}",
1433 "SessionsUnknownMode": "unknown",
1434 "SessionsPreviewTitle": "Title: {title}",
1435 "SessionsPreviewUpdated": "Updated: {updated}",
1436 "SessionsPreviewMessagesModel": "Messages: {count} | Model: {model}",
1437 "SessionsPreviewMode": "Mode: {mode}",
1438 "SessionsToolCall": "tool call: {name} {input}",
1439 "SessionsToolError": "tool error: {content}",
1440 "SessionsToolResult": "tool result: {content}",
1441 "SessionsServerTool": "server tool: {name} {input}",
1442 "SessionsImage": "[image]",
1443 "SessionsTimeJustNow": "just now",
1444 "SessionsTimeMinutesAgo": "{count}m ago",
1445 "SessionsTimeHoursAgo": "{count}h ago",
1446 "SessionsTimeDaysAgo": "{count}d ago",
1447 "CtxInspRowSystemPrompt": "system prompt",
1448 "CtxInspRowMessages": "messages",
1449 "CtxInspRowFree": "free",
1450 "CtxInspFreeTokensDetail": "{free} free tokens left before the window fills. Auto-compact at {threshold}%.",
1451 "CtxInspDrillTitle": "context · {row}",
1452 "CtxInspSurfaceTitle": "context",
1453 "CtxInspActionSelect": "select",
1454 "CtxInspActionDrillDown": "drill down",
1455 "CtxInspActionClose": "close",
1456 "CtxInspUsedTokens": "~{used}/{max} tokens",
1457 "CtxInspAutoCompactAt": "auto-compact at {threshold}%",
1458 "CtxInspRowTokens": "{tokens} tokens · {percent}%",
1459 "CtxInspRowCompaction": "compaction",
1460 "CtxInspRowAnchors": "anchors",
1461 "CtxInspCompactionNever": "no compaction this session",
1462 "CtxInspCompactionDetail": "{path}. {before} → {after} messages. Last round: {round} messages, {tools} tool results{assistant}.",
1463 "CtxInspCompactionRestored": "checkpoint present. Last round: {round} messages, {tools} tool results{assistant}.",
1464 "CtxInspCompactionPathSummary": "summary pass",
1465 "CtxInspCompactionPathPrune": "prune-only",
1466 "CtxInspCompactionAssistantKept": ", assistant kept",
1467 "CtxInspAnchorsNone": "no /anchor file",
1468 "CtxInspAnchorsPresent": "/anchor pinned ({chars} characters)",
1469 "RouteSurfaceTitle": "route · {view}",
1470 "RouteBrowseCatalog": "browse catalog",
1471 "RouteActionType": "Type",
1472 "RouteActionSearchAnyModel": "search any model",
1473 "RoutePanelHeader": "route",
1474 "RouteProviderLabel": "provider",
1475 "RouteModelFirstAtomic": "model-first atomic route",
1476 "PickerActionMove": "move",
1477 "PickerActionSwitch": "switch",
1478 "PickerActionApply": "apply",
1479 "PickerActionAssignRoute": "assign",
1480 "FleetRoutePickUnavailable": "The team changed or is no longer available. Reopen it before choosing a model.",
1481 "FleetRouteSaved": "Saved {fleet} · {route} · {path}",
1482 "FleetRouteInherited": "session model",
1483 "FleetRouteNotInCatalog": " · not in current catalog",
1484 "PickerActionSetStartupDefault": "set startup default",
1485 "PickerActionPin": "pin",
1486 "PickerActionFleet": "fleet",
1487 "PickerActionCancel": "cancel",
1488 "PickerActionClear": "clear",
1489 "PickerActionClearSearch": "clear search",
1490 "PickerActionBrowseAll": "browse all",
1491 "PickerActionCustom": "custom",
1492 "PickerActionJump": "jump",
1493 "PickerActionEditKey": "edit key",
1494 "PickerActionModels": "models",
1495 "PickerActionUnavailable": "unavailable",
1496 "PickerActionSetKey": "set key",
1497 "PickerActionConfigured": "configured",
1498 "RouteNoModels": "No models available.",
1499 "RouteNoModelMatch": "No models match \"{query}\" — Backspace clears.",
1500 "ProviderNoMatchesTitle": "No providers match",
1501 "ProviderNoMatchesHint": "Try another search, or clear to browse.",
1502 "ProviderNoConfiguredTitle": "No providers configured yet",
1503 "ProviderNoConfiguredHint": "Browse all supported providers, or add a custom endpoint.",
1504 "ProviderNoCatalogModels": "No catalog models available.",
1505 "ProviderExternalActionRevoke": "revoke external",
1506 "ProviderExternalActionChoices": "external access choices",
1507 "ProviderExternalActionReuseGrok": "external Grok reuse",
1508 "ProviderExternalHintCodexReview": "After {login}, press Enter to review disabled/read-only/managed access choices.",
1509 "ProviderExternalHintXaiReview": "Press Enter for Codewhale-owned device login; press E to review existing Grok CLI reuse.",
1510 "ProviderExternalHintXaiApiKey": "Or use XAI_API_KEY and re-open this picker.",
1511 "XaiAuthChoiceTitle": " xAI authentication ",
1512 "XaiAuthChoiceIntro": "Choose one explicit credential source. Key text is never an OAuth token.",
1513 "XaiAuthChoiceApiKeyOption": "xAI API key — type or paste, then save in the xAI provider slot",
1514 "XaiAuthChoiceDeviceOAuthOption": "Native device OAuth — browser/device-code sign-in with Codewhale-owned storage",
1515 "ChatgptAuthChoiceTitle": " ChatGPT / Codex authentication ",
1516 "ChatgptAuthChoiceIntro": "Subscription sign-in bills your ChatGPT plan. The openai API-key route is a different billing owner.",
1517 "ChatgptAuthChoicePkceOption": "Sign in with ChatGPT — browser PKCE, Codewhale-owned tokens, ChatGPT subscription billing",
1518 "ChatgptAuthChoiceImportOption": "Import Codex CLI credentials — explicit read-only consent; Codex CLI remains the owner",
1519 "ProviderExternalHintChatgptReview": "Press Enter to Sign in with ChatGPT; press E to review existing Codex CLI reuse.",
1520 "ProviderExternalActionReuseCodex": "external Codex reuse",
1521 "ProviderExternalDetailScope": "External: access={access} | provider={provider} | source={source} | version={version} | {state}",
1522 "ProviderExternalDormant": "dormant",
1523 "ProviderExternalOwnerPath": "Owner/path: {owner} | {path}",
1524 "ProviderExternalPinnedPathWarning": "Warning: ambient {owner} credential path changed; consent remains pinned to {path}.",
1525 "ToolProjectionWarning": "Warning: {provider} dropped incompatible tools for this request: {tools}",
1526 "SnapshotsDisabledTooLarge": "Snapshots and /undo are off for {workspace}: it holds more than {limit} of snapshot-eligible content. Raise `{config_key}` in config.toml (or set it to 0 to remove the cap) to turn them on.",
1527 "SnapshotsDisabledTooManyFiles": "Snapshots and /undo are off for {workspace}: it holds more than {limit} snapshot-eligible files. The size cap does not apply here — ignore generated directories in `.gitignore`, or start in a smaller subdirectory, to turn them on.",
1528 "SnapshotsDisabledUnsafeLocation": "Snapshots and /undo are off for {workspace}: a home or root directory is too broad to snapshot safely. Start in a project directory to turn them on.",
1529 "SessionIdDivergedNotice": "Session identity changed under this window: the engine now saves checkpoints as {next} (it was {previous}). Earlier checkpoints stay under the old id; `codewhale sessions` lists both and `codewhale resume {previous}` reopens the earlier one.",
1530 "RuntimeStoreUnreadableNotice": "Session runtime store: {record} at {path} could not be read ({reason}). Move that file aside (or delete it) and retry; the thread's other records stay in place.",
1531 "RuntimeStoreUnwritableNotice": "Session runtime store: {record} at {path} could not be written ({reason}). Check free space and permissions there, then retry; nothing was overwritten.",
1532 "ProviderExternalSemanticsRevoke": "{semantics} | revoke: {revoke}",
1533 "ProviderExternalRevoke": "revoke: {revoke}",
1534 "ProviderExternalChoiceTitle": " External credential access · {provider} ",
1535 "ProviderExternalActionChoose": "choose",
1536 "ProviderExternalChoiceIntro": "Choose what Codewhale may do with credentials owned by another CLI.",
1537 "ProviderExternalDisabledLabel": "Disabled (default)",
1538 "ProviderExternalDisabledDetail": "no probing, reads, refresh, network, or writes",
1539 "ProviderExternalReadOnlyLabel": "Use external CLI credentials (read-only)",
1540 "ProviderExternalReadOnlyDetail": "one exact file; explicit confirmation follows",
1541 "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",
1542 "ProviderExternalManagedLabel": "Managed (unavailable)",
1543 "ProviderExternalManagedDetail": "no reviewed schema-safe preservation adapter",
1544 "ProviderExternalConfirmTitle": " Confirm exact read-only access ",
1545 "ProviderExternalActionGrant": "grant read-only access",
1546 "ProviderExternalOwnerLabel": "Owning CLI",
1547 "ProviderExternalExactPathLabel": "Exact resolved path",
1548 "ProviderExternalSemanticsLabel": "Semantics",
1549 "ProviderExternalRejectUnsafe": "Codewhale will reject symlinks, reparse points, and non-regular files.",
1550 "ProviderExternalRevokeLabel": "Revoke",
1551 "ProviderExternalRouteLabel": "Route",
1552 "ProviderExternalCustodyLine": "Custody: local device only — Codewhale stores this consent record, not the credential; no account or cloud vault is used.",
1553 "ProviderExternalBillingLine": "Credential & billing owner: your {owner} account; usage is billed by that account.",
1554 "ProviderExternalRevokeScope": "Revoking clears only Codewhale's consent record on this device; the {owner} file is never read, modified, or deleted.",
1555 "ProviderExternalOwnerOnly": "Owner: {owner}",
1556 "ProviderExternalPinnedPathChanged": "Warning: ambient {owner} credential path changed; consent stays pinned to the granted path.",
1557 "ProviderExternalRevokeConfirmTitle": " Revoke external credential access? ",
1558 "ProviderExternalGrantedToast": "Read-only {owner} access granted for {provider}. No refresh, identity/discovery requests, or external-file writes; normal provider requests may use the token.",
1559 "ProviderExternalSaveFailedToast": "External credential consent was not saved: {error}",
1560 "ProviderExternalRevokedToast": "External credential access revoked for {provider}",
1561 "ProviderExternalRevokeFailedToast": "External credential access was not revoked: {error}",
1562 "ThemeSurfaceTitle": "theme · live preview",
1563 "FleetRosterHeaderLabel": "team",
1564 "FleetRosterTabRoster": "members",
1565 "FleetRosterTabSetup": "setup",
1566 "FleetRosterWorkers": "workers",
1567 "FleetRosterMembersCount": "{count} members",
1568 "FleetRosterOperatorFirst": "Coordinator leads · your session model runs this fleet",
1569 "FleetRosterOperatorRow": "Coordinator · leader",
1570 "FleetRosterShadowBadgeProjectOverride": "saved in this project",
1571 "FleetRosterShadowBadgePersonalIgnored": "saved copy ignored",
1572 "FleetRosterShadowBadgePersonalOverride": "saved for all projects",
1573 "FleetRosterShadowBadgeConfigOverride": "saved in settings",
1574 "FleetRosterLayersLabel": "Saved for",
1575 "FleetRosterLayerWins": "active",
1576 "FleetRosterLayerIgnored": "ignored copy",
1577 "FleetReadyNotice": "fleet is ready · /fleet shows roles · /fleet setup tunes models",
1578 "FleetProfileIdentityVerifyFailed": "Could not verify existing profile identities ({error}); fix the named file before saving.",
1579 "FleetProfileIdConflict": "Profile id `{id}` is already used by {path}; redraft with a different role or remove the old file first.",
1580 "FleetProfileProviderUnconfigured": "Profile pins provider `{provider}`, which has no configured credentials ({env}); set it up in /provider before saving.",
1581 "FleetModelAdded": "Added {route} to the team `{fleet}`",
1582 "FleetModelAddedAs": "Added {route} as {roles} to the team `{fleet}`",
1583 "FleetModelAddedCreatedNote": " (new personal team, now selected)",
1584 "FleetModelAddedSelectedNote": " (now selected)",
1585 "FleetModelRemoved": "Removed {route} from the team `{fleet}`",
1586 "FleetModelRemovedRoles": "Removed {route} ({roles}) from the team `{fleet}`",
1587 "FleetModelUnchanged": "{route} stays on the team `{fleet}`: {reason}",
1588 "FleetModelReasonOperatorRoute": "this is your current model (the team's operator route); switch models or use /fleet save to change it",
1589 "FleetModelReasonAlreadyPresent": "already on the team",
1590 "FleetModelErrorNeedsRoute": "a team model needs both a provider id and a model id",
1591 "FleetModelErrorNeedsRole": "a team member is a role; name one (for example `/fleet add {route} scout`)",
1592 "FleetModelErrorNoSelection": "no team is selected; your team is the session model only",
1593 "FleetModelErrorOperatorRoute": "{route} is the operator route of the team `{fleet}`; change it with /fleet save, not remove",
1594 "FleetModelErrorNotInFleet": "{route} is not on the team `{fleet}`",
1595 "FleetModelsEmpty": "Your team is the session model only. Add one: /fleet add <provider> <model> [role…] (or ⇧F on a row in /model).",
1596 "FleetModelsHeader": "Your team `{fleet}` ({count} models)",
1597 "FleetModelsBroken": "Your selected team could not be loaded: {error}. Fix the file or pick another with /fleet teams.",
1598 "FleetModelsFooter": "Add: /fleet add <provider> <model> [role…] · Remove: /fleet remove <provider> <model>",
1599 "FleetModelsFactPrice": "${input}/{output} per M",
1600 "FleetModelsFactContext": "{context}k ctx",
1601 "FleetModelsFactTools": "tools",
1602 "FleetAddUsage": "Usage: /fleet add <provider> <model> [role…] — e.g. /fleet add openrouter z-ai/glm-5.3-flash explore",
1603 "FleetAddProviderUnconfigured": "`{provider}` is not a configured provider. Configure it in ~/.codewhale/config.toml or switch to it with /provider before adding it to the team.",
1604 "FleetAddModelNotServed": "{provider} does not serve `{model}` right now; run /models to see what it serves, or retry with the exact id it lists.",
1605 "FleetAddFailed": "Could not add to the team: {error}",
1606 "FleetRemoveUsage": "Usage: /fleet remove <provider> <model>",
1607 "FleetRemoveFailed": "Could not remove from the team: {error}",
1608 "FleetToggleFailed": "Could not update the team: {error}",
1609 "FleetDestStepTitle": "Where should this profile live?",
1610 "FleetDestStepSubtitle": "Nothing is written until you confirm on the last step.",
1611 "FleetDestProjectLabel": "This project",
1612 "FleetDestPersonalLabel": "Personal",
1613 "FleetDestProjectSummary": "Only this project",
1614 "FleetDestPersonalSummary": "Available in every project",
1615 "FleetDestProjectDescription": "Takes precedence over a Personal profile with the same ID.",
1616 "FleetDestPersonalDescription": "A project's own profile with the same ID takes precedence in that project.",
1617 "FleetDestPathLine": "File: {path}",
1618 "FleetDestUnavailable": "Not available: {reason}",
1619 "FleetDestReasonNoProjectConfig": "project profiles are disabled for this session (--no-project-config)",
1620 "FleetDestReasonWorkspaceMissing": "the workspace folder {path} does not exist or is not a directory",
1621 "FleetDestReasonHomeUnavailable": "your Codewhale home could not be resolved ({error})",
1622 "FleetDestWillReplace": "Will replace the existing file {path}",
1623 "FleetDestOverridesProject": "This project already has a '{id}' profile, which takes precedence here; this Personal profile applies in other projects.",
1624 "FleetDestOverridesPersonal": "Takes precedence over your Personal '{id}' profile inside this project.",
1625 "FleetDestOverridesBuiltIn": "Replaces the {origin} '{id}' role in the roster.",
1626 "FleetSavesToChip": "Saves to: {scope} · {path}",
1627 "FleetSavesToUndecided": "Saves to: choose in step 3 — This project or Personal",
1628 "FleetActionSaveProject": "Save to this project",
1629 "FleetActionSavePersonal": "Save as Personal profile",
1630 "FleetActionReplaceProject": "Replace in this project",
1631 "FleetActionReplacePersonal": "Replace Personal profile",
1632 "FleetActionConfirmReplace": "Press Enter again to replace {file}",
1633 "FleetActionChangeDestination": "Change destination",
1634 "FleetActionBack": "Back",
1635 "FleetReviewSavesTo": "Saves to",
1636 "FleetModelRowBlockedNotice": "Not selectable: {reason}. Configure it in /provider or pick another row.",
1637 "FleetDestProjectDisabledSave": "Project profiles are off this session (--no-project-config); nothing was saved. Choose Personal or restart without the flag.",
1638 "WorkflowStatusWaiting": "waiting",
1639 "WorkflowStatusDegraded": "degraded",
1640 "WorkflowRunFailedToast": "Workflow run failed",
1641 "WorkflowDebrief": "debrief: {done}/{total} settled · {failed} failed · {cancelled} cancelled · {elapsed}",
1642 "WorkflowDispatchFailureLine": "dispatch failed · {slot}: {message}",
1643 "WorkflowDispatchFailuresOmitted": "dispatch failures: {count} earlier not shown",
1644 "WorkflowDispatchFallbackTask": "task",
1645 "WorkflowTranscriptDetails": "transcript: full run JSON available in tool details ({details})",
1646 "WorkflowReceiptRole": "role {value}",
1647 "WorkflowReceiptReasoning": "reasoning {value}",
1648 "WorkflowReceiptVia": "via {value}",
1649 "WorkflowReceiptTokens": "tokens {value}",
1650 "WorkflowReceiptTools": "tools {value}",
1651 "WorkflowReceiptDuration": "duration {value}",
1652 "WorkflowReceiptUnknown": "unknown",
1653 "WorkflowReceiptProviderReported": "provider-reported",
1654 "WorkflowReceiptEstimated": "estimated",
1655 "SidebarTasksLabel": "Tasks",
1656 "TaskOwnershipUnverified": "Execution ownership unverified",
1657 "TaskInventoryUnavailable": "Task storage is unavailable; showing the last known state.",
1658 "SidebarTodoLabel": "To-do",
1659 "WorkSurfaceTodoProgress": "{label} {completed}/{total} · {remaining} left",
1660 "SidebarStopControl": "stop",
1661 "SidebarDestructiveArmed": "Destructive action armed — press Enter to confirm or clear the draft to cancel",
1662 "WorkSurfaceStopConfirmHint": "confirm stop · Esc cancels",
1663 "CoordinationWorkTitle": "Coordination Work",
1664 "CoordinationSummaryDecisions": "{count} decisions",
1665 "CoordinationSummaryContentions": "{count} contentions",
1666 "CoordinationSummaryReconciled": "{count} reconciled",
1667 "CoordinationSchema": "Schema {value}",
1668 "CoordinationSequence": "sequence {value}",
1669 "CoordinationPerSectionLimit": "up to {limit} per section",
1670 "CoordinationDecisionsHeading": "Decisions",
1671 "CoordinationNone": "None",
1672 "CoordinationNoneValue": "none",
1673 "CoordinationStatus": "status {status}",
1674 "CoordinationOwner": "owner {owner}",
1675 "CoordinationVersion": "version {version}",
1676 "CoordinationWriteClaimsHeading": "Write claims",
1677 "CoordinationIsolated": "isolated",
1678 "CoordinationSharedWorkspace": "shared workspace",
1679 "CoordinationPaths": "paths {paths}",
1680 "CoordinationContracts": "contracts {contracts}",
1681 "CoordinationContentionsHeading": "Contentions",
1682 "CoordinationClaimant": "claimant {claimant}",
1683 "CoordinationDisposition": "disposition {disposition}",
1684 "CoordinationNeutralReconciliationHeading": "Neutral reconciliation",
1685 "CoordinationCandidates": "{count} candidates",
1686 "CoordinationRetry": "retry {count}/{limit}",
1687 "CoordinationReviewer": "reviewer {reviewer}",
1688 "CoordinationVerifier": "verifier {verifier}",
1689 "CoordinationVerification": "verification {verification}",
1690 "CoordinationContextProjectionsHeading": "Context projections",
1691 "CoordinationContextDecisions": "decisions {decisions}",
1692 "CoordinationBytes": "{count} bytes",
1693 "CoordinationDeduplicated": "{count} deduplicated",
1694 "CoordinationOmitted": "{count} omitted",
1695 "CoordinationActiveHotPathsHeading": "Active hot paths",
1696 "CoordinationActiveClaims": "{count} active claims",
1697 "CoordinationMetricsNoteHeading": "Metrics note",
1698 "CoordinationMetricsNoAuthoritativeSource": "growth and route/cost stay null when the coordination ledger has no authoritative source",
1699 "CoordinationStatusProposed": "proposed",
1700 "CoordinationStatusAccepted": "accepted",
1701 "CoordinationStatusSuperseded": "superseded",
1702 "ComposerSlashMenuHint": " enter:run · tab:complete · ↑↓:select · esc:keep typing ",
1703 "ApprovalRepoLawBadge": "REPO LAW",
1704 "ApprovalRepoLawTitle": "Repository constitution",
1705 "ApprovalRepoLawWarning": "Repository law requires confirmation in approval-gated postures.",
1706 "ApprovalRepoLawRuleLabel": "Rule ",
1707 "FilePickerMatchSingular": "@ attach · 1 match",
1708 "FilePickerMatchesPlural": "@ attach · {count} matches",
1709 "FilePickerScanning": "Scanning workspace…",
1710 "BehavioralTipPlanning": "Planning? {key} cycles to Plan mode",
1711 "BehavioralTipBackgroundReceipt": "Receipts live in the Work panel — {key} opens the inspector",
1712 "BehavioralTipClearedInput": "Cleared · {chord} restores",
1713 "BehavioralTipMcpValidation": "{command} starts servers and shows why",
1714 "BehavioralTipRepeatedCommand": "{command} can pin this",
1715 "BehavioralTipDurableStateWritten": "Saved · {command} to inspect",
1716 "BehavioralTipTodoWrite": "Tip: track multi-step work with {command} — it keeps progress visible",
1717 "SettingLockedDuringTurn": "{setting} is locked while a turn is running — press Esc to interrupt first",
1718 "SettingSubjectMode": "Mode",
1719 "SettingSubjectThinking": "Thinking",
1720 "SettingSubjectModel": "Model",
1721 "SettingSubjectModelAndThinking": "Model and thinking",
1722 "SettingSubjectProvider": "Provider",
1723 "SettingSubjectPermissions": "Permissions",
1724 "ThinkingControlledByAutoRouting": "Auto routing controls thinking; pick a fixed model first.",
1725 "SavedAsStartupDefault": "saved as startup default",
1726 "ModeAlreadyActiveSavedAsDefault": "Already in {mode} — saved as startup default.",
1727 "StartupDefaultNotSaved": "{setting} was not saved: {error}",
1728 "StartupDefaultSubjectMode": "startup mode",
1729 "StartupDefaultSubjectThinking": "thinking level",
1730 "StartupDefaultSubjectModel": "model",
1731 "StartupDefaultSubjectAll": "startup defaults",
1732 "SessionsRailTitle": "Sessions",
1733 "SessionsRailEmpty": "No sessions here yet",
1734 "SessionsRailBrowseAll": "Browse all sessions",
1735 "SessionsRailShowingCount": "{shown} of {total} — browse all",
1736 "SessionsRailUnavailable": "Sessions unavailable: {error}",
1737 "SessionsActionArchive": "archive",
1738 "SessionsActionShowArchived": "archived",
1739 "SessionsArchived": "Archived {id}",
1740 "SessionsRestored": "Restored {id}",
1741 "SessionsArchiveFailed": "Could not archive: {error}",
1742 "SessionsShowingArchived": "Showing archived sessions",
1743 "SessionsHidingArchived": "Hiding archived sessions",
1744 "SessionsArchivedCompact": "archived",
1745 "KbReasoningDetail": "Open reasoning detail for the selected or current turn",
1746 "KbTurnInspector": "Open Turn Inspector",
1747 "CmdTurnInspectDescription": "Open the whole-turn inspector",
1748 "CmdAutomationDescription": "Manage durable scheduled automations — the list subcommand opens the automation manager",
1749 "AutomationUsage": "Usage: /automation [list|show <id>|print <id>|pause <id>|resume <id>|delete <id> [--confirm <token>]|run <id>]",
1750 "AutomationManagerUnavailable": "Automations aren't available this session.",
1751 "AutomationListFailed": "Could not list automations: {error}",
1752 "AutomationActionFailed": "Could not {action} automation {id}: {error}",
1753 "AutomationEmpty": "No scheduled automations. Choose New automation.",
1754 "AutomationListHeading": "Scheduled automations",
1755 "AutomationScopeNote": "Automations are yours, not this repository's — they follow you into every repository.",
1756 "AutomationNoun": "Automation",
1757 "AutomationStatusLabel": "status",
1758 "AutomationStatusActive": "active",
1759 "AutomationStatusPaused": "paused",
1760 "AutomationRunStatusQueued": "queued",
1761 "AutomationRunStatusRunning": "running",
1762 "AutomationRunStatusCompleted": "completed",
1763 "AutomationRunStatusFailed": "failed",
1764 "AutomationRunStatusCanceled": "canceled",
1765 "AutomationActionInspect": "inspect",
1766 "AutomationActionPause": "pause",
1767 "AutomationActionResume": "resume",
1768 "AutomationActionDelete": "delete",
1769 "AutomationActionRun": "run",
1770 "AutomationActionCancel": "cancel run",
1771 "AutomationActionPaused": "paused",
1772 "AutomationActionResumed": "resumed",
1773 "AutomationNextLabel": "next",
1774 "AutomationNameLabel": "name",
1775 "AutomationPromptLabel": "prompt",
1776 "AutomationCwdLabel": "cwd",
1777 "AutomationModeLabel": "mode",
1778 "AutomationAllowShellLabel": "allow_shell",
1779 "AutomationTrustModeLabel": "trust_mode",
1780 "AutomationAutoApproveLabel": "auto_approve",
1781 "AutomationRruleLabel": "rrule",
1782 "AutomationDeliveryLabel": "delivery",
1783 "AutomationLastLabel": "last",
1784 "AutomationRecentRunsLabel": "recent runs",
1785 "AutomationNoRuns": "no recorded runs",
1786 "AutomationRunsUnavailable": "runs unavailable",
1787 "AutomationTaskLabel": "task",
1788 "AutomationBandScheduled": "scheduled",
1789 "AutomationReceiptFired": "fired",
1790 "AutomationReceiptStarted": "started in background",
1791 "AutomationReceiptCompleted": "completed in background",
1792 "AutomationReceiptCoalesced": "coalesced",
1793 "AutomationReceiptMissed": "missed",
1794 "AutomationReceiptExpired": "expired",
1795 "AutomationReceiptDeleted": "deleted",
1796 "AutomationRunLabel": "run",
1797 "AutomationDeletedRunsDetail": "recorded runs deleted: {run_count}",
1798 "AutomationDeletePreview": "Not armed. Nothing was deleted.\nAutomation: {id} ({name})\nRecorded runs: {run_count}\nTo delete it and its history, run:\n{command}",
1799 "AutomationDeleteConfirmationStale": "Deletion confirmation no longer matches automation {id}; nothing was deleted. Review the current state with {command}.",
1800 "WhaleStateResting": "Resting",
1801 "WhaleStateThinking": "Thinking",
1802 "WhaleStateWorking": "Working",
1803 "WhaleStateWaiting": "Waiting for you",
1804 "WhaleStateBlocked": "Blocked",
1805 "WhaleStateOffline": "Offline",
1806 "AgentStatusParked": "parked",
1807 "AgentStatusParkedRecovery": "nobody is waiting on it; resume_from to continue, or cancel to dismiss",
1808 "WhaleAnimalScout": "beaked whale",
1809 "WhaleAnimalPatch": "harbor porpoise",
1810 "WhaleAnimalHarbor": "humpback whale",
1811 "WhaleAnimalEcho": "pilot whale",
1812 "WhaleAnimalKeel": "sperm whale",
1813 "WhaleAnimalLantern": "orca",
1814 "WhaleAnimalPlain": "whale",
1815 "WhaleJobScout": "research",
1816 "WhaleJobPatch": "coding",
1817 "WhaleJobHarbor": "coordination",
1818 "WhaleJobEcho": "communications",
1819 "WhaleJobKeel": "operations",
1820 "WhaleJobLantern": "review",
1821 "WhaleJobPlain": "general work",
1822 "SessionMetricsTurn": "turn",
1823 "SessionMetricsTurns": "turns",
1824 "SessionMetricsStep": "step",
1825 "SessionMetricsSteps": "steps",
1826 "SessionMetricsLlm": "LLM",
1827 "SessionMetricsTools": "Tool call",
1828 "SessionMetricsTtft": "TTFT avg",
1829 "SessionMetricsTokensPerSecond": "avg tok/s",
1830 "SessionMetricsCache": "Cache hit",
1831 "SessionMetricsInput": "Input",
1832 "SessionMetricsStatusLine": "Session metrics: {metrics}",
1833 "StatusLabelRoute": "Route",
1834 "StatusLabelDirectory": "Directory",
1835 "StatusLabelProjectDocs": "Project docs",
1836 "StatusLabelMode": "Mode",
1837 "StatusLabelSafety": "Safety",
1838 "StatusLabelMcp": "MCP",
1839 "StatusLabelFleet": "Fleet",
1840 "StatusLabelContextWindow": "Context window",
1841 "StatusLabelWindowSource": "Window source",
1842 "StatusLabelWindowOverride": "Window override",
1843 "StatusLabelCatalog": "Catalog",
1844 "StatusLabelCloudFacts": "Cloud facts",
1845 "StatusLabelSession": "Session",
1846 "StatusLabelSessionTokens": "Session tokens",
1847 "StatusLabelSessionCost": "Session cost",
1848 "StatusLabelToolOutputs": "Tool outputs",
1849 "StatusRouteSummary": "{provider} · {model} · reasoning {reasoning}",
1850 "StatusProjectDocsNone": "no project docs",
1851 "StatusPostureSummary": "{mode} · approvals {approval} · {shell} · {trust}",
1852 "StatusShellOn": "shell on",
1853 "StatusShellOff": "shell off",
1854 "StatusTrustedWorkspace": "trusted workspace",
1855 "StatusWorkspace": "workspace",
1856 "StatusApprovalAsk": "ask",
1857 "StatusApprovalAuto": "auto-review",
1858 "StatusApprovalFullAccess": "full access",
1859 "StatusApprovalNever": "never",
1860 "StatusMcpConfigured": "{count} configured",
1861 "StatusFleetDrifted": "{fleet} · {count} saved routes not in the current catalog: {ids}",
1862 "StatusContextUsage": "{percent}% used ({used} / {max} tokens)",
1863 "StatusContextSourceConfigured": "configured",
1864 "StatusContextSourceConfiguredModel": "configured (per-model)",
1865 "StatusContextSourceProviderReported": "provider-reported",
1866 "StatusContextSourceKimiSafeFloor": "static Kimi Code safe floor",
1867 "StatusContextSourceCatalog": "catalog",
1868 "StatusContextSourceModelHint": "model-name hint (unverified)",
1869 "StatusContextSourceFallback": "fallback (unverified)",
1870 "StatusWindowOverrideProvider": "[providers.{table}] context_window in config.toml",
1871 "StatusWindowOverrideActiveProvider": "`context_window` on the active provider table in config.toml",
1872 "StatusSessionNotSaved": "not saved yet",
1873 "StatusSessionSummary": "{session} · {cells} cells · {messages} API messages",
1874 "StatusSessionTokensSummary": "{input} in · {output} out · {total} total · {cache}",
1875 "StatusCacheNotReported": "cache not reported",
1876 "StatusCacheSummary": "cache {hit} hit / {miss} miss",
1877 "StatusToolRawPressure": "{count} raw over cap (~{chars} chars) adding context pressure",
1878 "StatusToolCompactReceipts": "{count} compact receipt(s)",
1879 "StatusToolArtifacts": "{count} artifact(s), {bytes} stored",
1880 "StatusToolNone": "no large outputs tracked",
1881 "StatusSafetyReadOnlyUnenforced": "no OS sandbox on this platform (read-only requested, not enforced), network off",
1882 "StatusSafetyReadOnly": "sandbox read-only, network off",
1883 "StatusSafetyWorkspaceWriteUnenforcedNetworkOn": "no OS sandbox on this platform (workspace-write requested, not enforced), network on",
1884 "StatusSafetyWorkspaceWriteUnenforcedNetworkOff": "no OS sandbox on this platform (workspace-write requested, not enforced), network requested off, not enforced",
1885 "StatusSafetyWorkspaceWriteNetworkOn": "sandbox workspace-write, network on",
1886 "StatusSafetyWorkspaceWriteNetworkOff": "sandbox workspace-write, network off",
1887 "StatusSafetyDisabled": "sandbox disabled, network unrestricted",
1888 "StatusSafetyDisabledSetuidBlocked": "sandbox disabled, network unrestricted; sudo/setuid blocked (no-new-privs)",
1889 "StatusSafetyDisabledSetuidAllowed": "sandbox disabled, network unrestricted; sudo/setuid allowed",
1890 "StatusSafetyExternal": "external sandbox, network delegated to host",
1891 "StatusPointers": "Per-turn tokens: /tokens · Footer items: /statusline",
1892 "AutoReviewReceiptGuardianAllowed": "Auto-Review allowed '{tool}' ({risk} risk, model guardian): {reason}",
1893 "AutoReviewReceiptGuardianDenied": "Auto-Review denied '{tool}' ({risk} risk, model guardian): {reason}",
1894 "AutoReviewReceiptGuardianUnavailable": "Auto-Review could not review '{tool}' ({reason}); denied, fail closed",
1895 "AutoReviewReceiptDeterministicBlocked": "Auto-Review blocked '{tool}' (deterministic policy): {reason}",
1896 "AutoReviewReceiptHeld": "Auto-Review held '{tool}' without pausing; denied (needs a person — switch to Ask)",
1897 "FooterHintEscInterrupt": "Esc to interrupt",
1898 "PostureHintEnterAgain": "{enter} again to send now · {steer} steers",
1899 "PermissionsPostureHeader": "Access now: {posture}",
1900 "PermissionsPostureAsk": "Ask: tool calls that change authority, cost, scope, or outcome open a prompt; proven-safe read-only calls run without one. Ask rules above always force a prompt.",
1901 "PermissionsPostureAuto": "Auto-Review: never opens a prompt. A deterministic policy allows proven-safe calls and hard-blocks publish-like or destructive background work; calls it cannot prove safe go to a one-shot model guardian that allows or denies with a stated reason (high or critical risk never auto-runs; a failed review denies, fail closed). Holds that require a person are denied, not hidden. Each such decision is written to the transcript as a note and to the audit log.",
1902 "PermissionsPostureBypass": "Full Access: ordinary tool calls run without prompts. Non-bypassable registered holds auto-approve. Repository-law and managed-policy holds fail closed as hard blocks instead of prompting.",
1903 "PermissionsPostureNever": "never: only tools considered safe/read-only run; everything else is blocked without a prompt.",
1904 "PermissionsReceiptsNote": "Decisions made without a prompt (Auto-Review guardian verdicts, blocks, and holds) appear as transcript notes and in the audit log at {audit_path}. Full Access is chosen deliberately with Shift+Tab or /config, never by a rule.",
1905 "AgentFocusOpened": "Talking to {agent} now — Esc returns to the main thread.",
1906 "AgentFocusClosed": "Back to the main thread.",
1907 "AgentFocusBanner": "{agent} · {status}",
1908 "AgentFocusComposerChip": "→ {agent}",
1909 "AgentFocusPlaceholder": "Message {agent} · Esc returns to main",
1910 "AgentFocusNoTranscript": "Nothing from {agent} yet — messages land here as they arrive.",
1911 "AgentFocusOmitted": "Earlier messages ({count}) aren't in memory.",
1912 "AgentFocusFollowUpDelivered": "Queued for {agent} — it reads it next round.",
1913 "AgentFocusFollowUpQueued": "Queued for {agent}",
1914 "AgentFocusFollowUpContinued": "{agent} had finished — continuing on fork ({target}). This view follows the fork.",
1915 "AgentFocusFollowUpFailed": "Couldn't reach {agent}: {reason}",
1916 "FooterHintForAgents": "for agents",
1917 "FooterHintToManage": "to manage",
1918 "AgentRailQueuedCount": "{count} queued",
1919 "AgentFocusPosture": "{role} · {write} · {network} · {shell}",
1920 "AgentFocusPostureWrites": "writes",
1921 "AgentFocusPostureReadOnly": "read-only",
1922 "AgentFocusPostureNetwork": "network",
1923 "AgentFocusPostureNoNetwork": "no network",
1924 "AgentFocusPostureShellFull": "shell",
1925 "AgentFocusPostureShellReadOnly": "read-only shell",
1926 "AgentFocusPostureShellNone": "no shell",
1927 "GoalReceiptSet": "Goal set: \"{objective}\" · /goal shows progress · /goal pause or /goal clear stops it",
1928 "GoalReceiptSetOperate": "◆ goal set · Operate keeps working until it is verified · /goal to edit",
1929 "GoalControlAccepted": "Goal control saved; applying at the next safe boundary.",
1930 "GoalControlRuntimeUnavailable": "Goal control is saved, but the runtime is unavailable. It will be restored after restart.",
1931 "GoalStatusIdleHint": "not running now — send a message or /goal resume to continue",
1932 "CmdAutoDescription": "Work with Auto-Review — skip a goal or workflow",
1933 "AutoReceiptOn": "Auto-Review on. /goal keeps one objective; /workflow runs a script.",
1934 "AutoReceiptPlanNote": "Plan stays Read Only until you switch to Work or Operate.",
1935 "GoalContinuationWaiting": "Goal active · next turn in {delay} · Esc, Ctrl+C, or /goal pause stops the pending continuation",
1936 "GoalContinuationReady": "Goal continuation ready; queued controls run before the next turn.",
1937 "GoalContinuationStopped": "Pending goal continuation stopped; the goal remains active.",
1938 "McpCapabilitiesAdvertised": "Advertised capabilities: {capabilities}",
1939 "McpCapabilitiesLegacyFallback": "Advertised capabilities: not provided; using legacy discovery fallback",
1940 "McpCapabilitiesNotObserved": "Advertised capabilities: not observed because the server is not connected",
1941 "PickerActionTestConnection": "test connection",
1942 "ProviderCustomFormBaseUrl": "Base URL",
1943 "ProviderCustomFormModel": "Default model",
1944 "ProviderCustomFormHint": "OpenAI-compatible endpoint. Store an env var name, not a raw key.",
1945 "ProviderConnectionChecked": "Connection checked (/models returned 2xx). Model availability is not checked.",
1946 "ProviderConnectionCheckedPickModel": "Connection checked (/models returned 2xx). Pick a default model; model availability is not checked.",
1947 "ProviderTestConnectionNeedKey": "No API key saved for {provider}. Add one first, then press T to test.",
1948 "ProviderTestConnectionFailed": "{provider} connection check failed: {error}",
1949 "ProviderTestConnectionNoEndpoint": "{provider} has no /models endpoint; reachability was not probed.",
1950 "OperateBoardHeader": "Operate {id} [{status}] pace={pace} writers={writers}",
1951 "OperateBoardBurnObserved": "burn ${actual}/hr observed vs ${target}/hr target",
1952 "OperateBoardBurnNoCap": "burn No cap",
1953 "OperateBoardDirectionEmpty": "direction (empty — idle-blocked)",
1954 "OperateBoardDirectionLine": "direction {line}",
1955 "OperateBoardPlanMissing": "leadPlan (none — workers not admitted)",
1956 "OperateBoardPlanHeader": "leadPlan id owner start dur est$ depends title",
1957 "OperateBoardGantt": "gantt time →",
1958 "ConfigCategoryAppearance": "Appearance",
1959 "ConfigCategoryModelsProviders": "Models & providers",
1960 "ConfigCategoryFleet": "Fleet",
1961 "ConfigCategoryWork": "Work",
1962 "ConfigCategoryToolsMcp": "Tools & MCP",
1963 "ConfigCategoryTrust": "Trust",
1964 "ConfigCategoryMotion": "Motion",
1965 "ConfigCategoryAdvanced": "Advanced",
1966 "ConfigFactCurrent": "current",
1967 "ConfigFactSaved": "saved",
1968 "ConfigFactStartup": "startup",
1969 "ConfigFactSource": "source",
1970 "ConfigFactScope": "scope",
1971 "ConfigFactApply": "apply",
1972 "ConfigFactKind": "kind",
1973 "ConfigFactAvailable": "available",
1974 "ConfigFactObserved": "observed",
1975 "ConfigFactOpens": "opens",
1976 "ConfigLaneUnobserved": "not observed this session",
1977 "ConfigSourceSession": "session",
1978 "ConfigSourceUserSettings": "settings.toml",
1979 "ConfigSourceConfig": "config.toml",
1980 "ConfigSourceManaged": "managed policy",
1981 "ConfigApplyEffectiveNow": "effective now",
1982 "ConfigApplyOnSave": "applies on save",
1983 "ConfigApplyNextSession": "next session",
1984 "ConfigApplyRestart": "restart required",
1985 "ConfigApplyReadOnly": "read-only",
1986 "ConfigApplyReload": "saved now · `/mcp reload` for running servers",
1987 "ConfigApplyUiNowEngineRestart": "UI now · engine tools after restart",
1988 "ConfigKindToggle": "toggle",
1989 "ConfigKindChoice": "choice",
1990 "ConfigKindNumber": "number",
1991 "ConfigKindText": "text",
1992 "ConfigKindAction": "action",
1993 "ConfigKindReadOnly": "read-only",
1994 "ConfigRowActionNote": "action · not a persisted setting",
1995 "ConfigRowDiagnosticNote": "observed receipt · not editable here",
1996 "ConfigNavHint": "←/→ or Tab category · ↑/↓ setting",
1997 "ConfigActivateAgain": "Enter or click again:",
1998 "ConfigSearchLabel": " Search: ",
1999 "ConfigEditChooseLabel": "Choose:",
2000 "ConfigChoiceFooter": " ↑/↓ or click choose · Enter/Apply · Esc/Cancel · 1-9 jump ",
2001 "ConfigChoiceFooterCompact": " ↑/↓ or click · Enter/Apply · Esc ",
2002 "ConfigEditorApply": "Apply",
2003 "ConfigEditorCancel": "Cancel",
2004 "ConfigLaneUnavailable": "unavailable: {error}",
2005 "ConfigSourceEnvironment": "environment override ({name})",
2006 "ConfigSourceTerminal": "terminal override ({name})",
2007 "ConfigDescriptionDefault": "Enter changes it · Esc closes · the badge shows scope",
2008 "ConfigValueOn": "On",
2009 "ConfigValueOff": "Off",
2010 "ConfigValueProviderDefault": "Provider default",
2011 "ConfigChoiceAsk": "Ask",
2012 "ConfigChoiceAutoReview": "Auto-Review",
2013 "ConfigChoiceUseTuiDefault": "Use TUI permission default",
2014 "ConfigChoiceFullAccess": "Full Access",
2015 "ConfigChoiceNever": "Never",
2016 "ConfigChoiceModeAct": "Act",
2017 "ConfigChoiceModePlan": "Plan (read only)",
2018 "ConfigChoiceModeOperate": "Operate",
2019 "ConfigChoicePlacementTop": "Top",
2020 "ConfigChoicePlacementBottom": "Bottom bar",
2021 "ConfigChoicePlacementLeft": "Left workbar",
2022 "ConfigChoicePlacementRight": "Right workbar",
2023 "ConfigChoiceRailTasks": "Tasks",
2024 "ConfigChoiceRailAgents": "Agents",
2025 "ConfigChoiceRailContext": "Context",
2026 "ConfigChoiceStatusCw": "Codewhale mark",
2027 "ConfigChoiceStatusDots": "Animated dots",
2028 "ConfigChoiceDiffFull": "Full diff",
2029 "ConfigChoiceDiffSummary": "Summary",
2030 "ConfigChoiceDetailAsk": "Ask before tools that can make consequential changes.",
2031 "ConfigChoiceDetailAutoReview": "Review tool risk automatically and ask when a decision needs you.",
2032 "ConfigChoiceDetailUseTuiDefault": "Drop the raw config override; use the saved choice.",
2033 "ConfigChoiceDetailFullAccess": "Run tools without approval prompts; workspace rules still apply.",
2034 "ConfigChoiceDetailNever": "Block every tool that requires approval.",
2035 "ConfigChoiceDetailModeAgent": "Start ready to work with tools.",
2036 "ConfigChoiceDetailModePlan": "Start in a read-only planning workspace.",
2037 "ConfigChoiceDetailModeOperate": "Operate turns your prompt into a goal and works it in parallel: background workers for separable streams, verified before it stops.",
2038 "ConfigChoiceDetailPlacementTop": "Show Tasks, To-do, and Workers above the transcript.",
2039 "ConfigChoiceDetailPlacementBottom": "Show Tasks, To-do, and Workers under the composer.",
2040 "ConfigChoiceDetailPlacementLeft": "Show Tasks, To-do, and Workers in a left workbar when the terminal is wide enough.",
2041 "ConfigChoiceDetailPlacementRight": "Show Tasks, To-do, and Workers in a right workbar when the terminal is wide enough.",
2042 "ConfigChoiceDetailPlacementOff": "Hide the workbar entirely.",
2043 "ConfigChoiceDetailRailTasks": "Workbar shows the live Tasks / To-do / Workers list.",
2044 "ConfigChoiceDetailRailAgents": "Workbar shows sub-agents and fan-out state.",
2045 "ConfigChoiceDetailRailContext": "Workbar shows workspace, token, and cost context.",
2046 "ConfigChoiceDetailLowMotionOn": "Calms live motion; model output is unchanged.",
2047 "ConfigChoiceDetailLowMotionOff": "Lets appearance settings control motion.",
2048 "ConfigChoiceDetailFancyOn": "Animates tool, status, and ocean state.",
2049 "ConfigChoiceDetailFancyOff": "Keeps markers and the ocean still.",
2050 "ConfigChoiceDetailShowThinkingOn": "Show reasoning in the transcript.",
2051 "ConfigChoiceDetailShowThinkingOff": "Hide reasoning; answers and tools stay visible.",
2052 "ConfigChoiceDetailThinkingHighlightOn": "Fill reasoning's background.",
2053 "ConfigChoiceDetailThinkingHighlightOff": "Keep the dashed reasoning line and italic text without a filled background.",
2054 "ConfigHintModel": "this session's model; Enter opens /model",
2055 "ConfigHintFastModel": "used by Auto routing and model_strength=faster when this provider has a known sibling",
2056 "ConfigHintProvider": "credential, model and endpoint switch together",
2057 "ConfigHintApprovalMode": "this session only: Ask | Auto-Review | Full Access",
2058 "ConfigHintPermissionPosture": "default for new sessions: Ask | Auto-Review | Full Access",
2059 "ConfigHintApprovalPolicy": "choosing Full Access releases the raw config override",
2060 "ConfigHintManagedApprovalPolicy": "a project, profile, environment, managed config, or organization requirement controls this value",
2061 "ConfigHintManagedAllowShell": "a project, profile, environment, or managed config controls shell access",
2062 "ConfigHintAllowShell": "on exposes shell tools in Agent mode; permission rules still apply",
2063 "ConfigHintComposerMultilineMode": "off: Enter sends, Shift+Enter adds a line; on: Enter adds a line, Shift+Enter sends",
2064 "ConfigHintBooleanValues": "on/off, true/false, yes/no, 1/0",
2065 "ConfigHintDensity": "compact | comfortable | spacious",
2066 "ConfigHintInlineDiffs": "full | summary | off; full change stays in Alt/Option+V",
2067 "ConfigHintToolCollapse": "compact | expanded | calm",
2068 "ConfigHintBackgroundColor": "#RRGGBB | default",
2069 "ConfigHintWorkSurfacePlacement": "side placements need Ocean mode and 72+ columns",
2070 "ConfigHintRailPanel": "which panel the workbar shows",
2071 "ConfigHintWorkSurfaceTopHeight": "5..=16 rows · or drag the divider",
2072 "ConfigHintWorkSurfaceSideWidth": "26..=80 columns · or drag the divider",
2073 "ConfigHintBaseUrl": "live endpoint receipt (read-only) · switch all three with /provider",
2074 "ConfigHintContextWindow": "max context length / context size in tokens · set `[providers.<name>] context_window` in config.toml",
2075 "ConfigHintEffectiveContextWindow": "resolved max context length / context size · drives compaction, pressure and preflight",
2076 "ConfigHintCostCurrency": "usd | cny",
2077 "ConfigHintCalmMode": "quiets the transcript; motion settings stay separate",
2078 "ConfigHintLowMotion": "on calms live motion; model output is unchanged",
2079 "ConfigHintFancyAnimations": "on animates tool, status, and ocean state",
2080 "ConfigHintShowThinking": "show or hide reasoning; task lists stay short",
2081 "ConfigHintThinkingDefaultExpanded": "expand reasoning by default; Space still toggles",
2082 "ConfigHintThinkingPreviewLines": "collapsed completed-thought preview rows (default 2; 0=header-only; 10=older dump)",
2083 "ConfigHintHelpExpandGroups": "open Help with every group expanded; default folds the tail",
2084 "ConfigHintPinLastPrompt": "keep your last prompt pinned atop the transcript",
2085 "ConfigHintThinkingHighlight": "fill the model reasoning background; the dashed line remains visible when off",
2086 "ConfigHintSynchronizedOutput": "auto | on | off; redraw pacing, not model speed",
2087 "ConfigHintDefaultMode": "act (agent) | plan | operate",
2088 "ConfigHintMaxHistory": "integer (0 allowed)",
2089 "ConfigHintAutoCompactThreshold": "10..=100 · context percent that triggers auto-compaction",
2090 "ConfigHintDefaultModel": "DeepSeek-only legacy fallback; other providers use their provider-scoped model above",
2091 "ConfigHintReasoningEffort": "default restores the model's own default; always-thinking models skip off",
2092 "ConfigHintMcpOpen": "open the MCP manager · Connect / Reconnect / Re-auth / Diagnose",
2093 "ConfigHintMcpReconnect": "reconnect MCP · /mcp reload",
2094 "ConfigHintMcpDiagnose": "diagnose MCP · /mcp validate",
2095 "ConfigHintPluginsOpen": "open plugins · trust, enable, or diagnose",
2096 "ConfigHintMcpConfigPath": "path to mcp.json",
2097 "ConfigHintFleetMaxSpawnDepth": "0 blocks sub-agents; 3 default (same axis as sub-agents); capped at 8",
2098 "ConfigHintFeatureSubagents": "read-only flag; use /fleet setup",
2099 "ConfigHintFeatureWebSearch": "read-only flag for web search tools",
2100 "ConfigHintFeatureApplyPatch": "read-only flag for patch editing tools",
2101 "ConfigHintFeatureMcp": "read-only flag for MCP tools",
2102 "ConfigHintFeatureExecPolicy": "read-only feature flag state for execution policy tools",
2103 "ConfigHintFeatureVisionModel": "beta feature flag for vision/model image support",
2104 "ConfigHintGoalCommand": "/goal tracks objectives, budgets, and status",
2105 "ConfigHintWorkflow": "/workflow runs scripted ops with fan-out",
2106 "LaunchMenuNewWorktree": "New worktree",
2107 "LaunchMenuResume": "Resume session",
2108 "LaunchMenuQuit": "Quit",
2109 "LaunchNoticeClaude": "Claude Code detected. Run /import-claude to review what can come over: MCP servers, safe settings, and permissions. Nothing is applied without your approval.",
2110 "LaunchNewSession": "New session",
2111 "LaunchRecentHeading": "Recent",
2112 "LaunchHelpLine": "/help for commands · {dock} for the work bar",
2113 "LaunchSeeAllSessions": "See all sessions…",
2114 "LaunchNoRecentSessions": "No recent sessions yet — type below to start.",
2115 "LaunchResumeFailed": "Resume failed: {error}",
2116 "ReceiptSessionHooks": "hooks {count}",
2117 "AutomationEditorNew": "New automation",
2118 "AutomationEditorEdit": "Edit automation",
2119 "AutomationEditorSchedule": "Schedule",
2120 "AutomationEditorDaily": "Daily",
2121 "AutomationEditorWeekly": "Weekly",
2122 "AutomationEditorHourly": "Hourly",
2123 "AutomationEditorOnce": "Once",
2124 "AutomationEditorCustom": "Custom",
2125 "AutomationEditorTime": "Time (HH:MM)",
2126 "AutomationEditorDate": "Date (YYYY-MM-DD)",
2127 "AutomationEditorDays": "Days",
2128 "AutomationEditorLocalTime": "Time zone: local ({zone})",
2129 "AutomationEditorProvider": "Model choices pin their provider. Current configuration: {provider}.",
2130 "AutomationEditorDefaultModel": "Default model",
2131 "AutomationEditorInheritedProvider": "runtime defaults",
2132 "AutomationEditorEnabled": "Enabled",
2133 "AutomationEditorControls": "Tab fields · Enter edit · ↑↓ adjust · Ctrl+A select all",
2134 "AutomationEditorPromptControls": "Enter newline · Tab next field · Ctrl+A select all",
2135 "AutomationEditorSaveFailed": "Could not save: {error}",
2136 "AutomationEditorBusy": "Automation store is busy. Retry Save.",
2137 "AutomationEditorSaved": "Saved {name}",
2138 "AutomationEditorPreviewUnavailable": "Next run unavailable; existing schedule will be kept",
2139 "AutomationEditorConflict": "Automation changed since opening. Cancel and reopen.",
2140 "AutomationEditorInvalidWorkspace": "Choose an existing workspace directory.",
2141 "AutomationEditorModelControls": "Type to filter · ↑↓ move · Enter select · Esc back",
2142 "AutomationEditorPausedPreview": "Paused · no scheduled run",
2143 "AutomationEditorInvalidSchedule": "Invalid schedule: {error}",
2144 "AutomationEditorMonday": "Mon",
2145 "AutomationEditorTuesday": "Tue",
2146 "AutomationEditorWednesday": "Wed",
2147 "AutomationEditorThursday": "Thu",
2148 "AutomationEditorFriday": "Fri",
2149 "AutomationEditorSaturday": "Sat",
2150 "AutomationEditorSunday": "Sun",
2151 "CostReasonNotMoney": "not billed per token",
2152 "CostReasonBillingUnknown": "billing basis unknown",
2153 "CostReasonEndpointUnknown": "endpoint not established",
2154 "CostReasonRateMissing": "rate unavailable",
2155 "CostReasonLiveUnverified": "live rate unverified",
2156 "CostReasonRetiredAlias": "retired model alias",
2157 "CostReasonTierMissing": "pricing tier unavailable",
2158 "CostReasonRoutingDependent": "upstream rate not established",
2159 "CostReasonCoverageMissing": "saved coverage unavailable",
2160 "CostReasonTokenRateMissing": "token class rate unavailable",
2161 "CostReasonInvalidRate": "invalid rate",
2162 "CostReasonCurrencyMissing": "currency rate unavailable",
2163 "CostReasonUsageConflict": "conflicting token counts",
2164 "CostChipUnknown": "cost: unknown ({reasons})",
2165 "CostChipSubtotal": "subtotal {amount} + unknown ({reasons})",
2166 "CostChipSavedSubtotal": "saved subtotal {amount} + unknown ({reasons})",
2167 "CostChipLocal": "cost: local",
2168 "CostChipAllowance": "usage: {plan}",
2169 "CostChipAllowancePercent": "usage: {plan} · {percent}%",
2170 "McpLoginInProgress": "OAuth login for MCP server '{server}' is already in progress. {cancel_key} cancels it.",
2171 "McpLoginStarting": "Starting OAuth login for MCP server '{server}'. {cancel_key} cancels it.",
2172 "McpLoginBrowser": "Authorizing '{server}' in your browser. {cancel_key} cancels it. {url}",
2173 "McpLoginStored": "Stored OAuth credentials for MCP server '{server}'. Run {command} to reconnect it.",
2174 "McpLoginFailed": "OAuth login for MCP server '{server}' failed: {error}",
2175 "McpLoginCancelled": "Cancelled the OAuth login for MCP server '{server}'.",
2176 "McpLoginHandshakeTimeout": "OAuth discovery or registration timed out; retry the login.",
2177 "McpLoginServerNotFound": "MCP server '{server}' was not found.",
2178 "McpDiagnosisUnobserved": "MCP server '{server}' has no observed connection state in this session. Run {command} to inspect the live pool.",
2179 "McpDiagnosisSummary": "MCP server '{server}' — last observed: {state}; transport {transport}; {tools} tools, {resources} resources, {prompts} prompts.",
2180 "McpDiagnosisLastError": "Last error: {error}.",
2181 "McpDiagnosisNext": "Next: {command}.",
2182 "McpStateDisabled": "disabled",
2183 "McpStateAuthorizationRequired": "authorization required",
2184 "McpStateConnecting": "connecting",
2185 "McpStateFailed": "connection failed",
2186 "McpStateDisconnected": "not connected",
2187 "RuntimeStoreRecovered": "Conversation recovered into a new runtime store. Previous runtime tasks, approvals and automations were not restored.",
2188 "ResumeExactSessionHint": "To resume this session, run {command}",
2189 "ResumeSavedSessionHint": "To choose a saved session, run {command}",
2190 "GoalProgressLabel": "Goal",
2191 "GoalProgressReceipt": "Reported progress {percent}% {bar}",
2192 "GoalProgressNow": "L now {note}",
2193 "GoalProgressNext": " next {note}",
2194 "ConfigLabelContextualTips": "Contextual tips",
2195 "ConfigHintContextualTips": "Occasional command suggestions after relevant actions; turn off to hide tips.",
2196 "ContextualTipsNotSaved": "The tips preference applies to this session but could not be saved: {error}",
2197 "ConfigLabelNotificationQuiet": "Mute notifications",
2198 "ConfigLabelNotificationSound": "Notification sound",
2199 "ConfigLabelNotificationCondition": "When to notify",
2200 "ConfigLabelNotificationMethod": "Delivery method",
2201 "ConfigLabelNotificationThreshold": "Minimum turn duration (seconds)",
2202 "ConfigLabelNotificationSummary": "Include summary",
2203 "ConfigLabelNotificationSubagents": "Subagent notifications",
2204 "ConfigLabelNotificationTurnComplete": "Turn completed",
2205 "ConfigLabelNotificationSubagentTerminal": "Subagent finished",
2206 "ConfigLabelNotificationApprovalNeeded": "Approval needed",
2207 "ConfigLabelNotificationInputNeeded": "Answer needed",
2208 "ConfigLabelNotificationElevationNeeded": "Elevated access needed",
2209 "ConfigLabelNotificationModelNotify": "Agent requested notification",
2210 "ConfigLabelNotificationCompletionSound": "Previous completion sound",
2211 "ConfigLabelNotificationSoundFile": "Custom sound file",
2212 "ConfigLabelNotificationEventSoundEnabled": "Previous event sounds",
2213 "ConfigLabelNotificationEventSoundEvents": "Previous sound categories",
2214 "ConfigLabelNotificationEventSoundInterval": "Sound repeat interval (ms)",
2215 "ConfigLabelNotificationEventSoundQuiet": "Mute previous event sounds",
2216 "ConfigHintNotificationPolicy": "Applies immediately. Mute, delivery off, attention, duration and category controls also govern sound.",
2217 "ConfigHintNotificationSound": "Whale uses the bundled call. Off silences audio. Legacy keeps previous sound choices.",
2218 "ConfigHintNotificationLegacy": "Used when notification sound is set to legacy.",
2219 "ConfigChoiceNotificationWhale": "Whale",
2220 "ConfigChoiceNotificationLegacy": "Keep previous sounds",
2221 "ConfigChoiceNotificationAlways": "Always",
2222 "ConfigChoiceNotificationUnfocused": "When away",
2223 "ConfigChoiceNotificationNever": "Never",
2224 "ConfigChoiceNotificationFile": "Custom file",
2225 "ConfigChoiceNotificationBell": "System bell",
2226 "NotificationApprovalNeeded": "Approve or deny '{tool}' to continue",
2227 "NotificationInputNeeded": "Answer the question in the terminal to continue",
2228 "NotificationElevationNeeded": "Allow or deny elevated access for '{tool}'",
2229 "NotificationDecisionWebHint": "Decide here or on the web.",
2230 "NotificationTurnFailed": "Turn failed",
2231 "NotificationProviderFallback": "Switched to {provider} (fallback {position}/{total}) after a recoverable provider error.",
2232 "ApprovalNeverPostureBlocked": "Blocked '{tool}': this session does not allow tools that require approval.",
2233 "NotificationWebApproved": "Approved on the web.",
2234 "NotificationWebDenied": "Denied on the web.",
2235 "NotificationInputSubmitFailed": "Could not submit your answer: {error}. Try again.",
2236 "PagerActionConfirm": "Confirm",
2237 "SelectionCopiedAsMarkdown": "Selection copied as Markdown ({count})",
2238 "McpShowCachedWhileTurnRuns": "A turn is running; showing the last known MCP snapshot. Run /mcp again after the turn finishes for a live refresh.",
2239 "McpShowUnavailableWhileTurnRuns": "A turn is running and no MCP snapshot has been observed yet. Run /mcp again after the turn finishes.",
2240 "McpLivePoolRefreshDeferredWhileTurnRuns": "A turn is running; the live MCP pool refresh is deferred. Run /mcp reload after the turn finishes.",
2241 "McpRetryDeferredWhileTurnRuns": "A turn is running; run /mcp retry {server} again after the turn finishes."
2242 }
2243
2243 lines JSON