UI translation todo¶
Generated by node scripts/ui-i18n.mjs --todo (from web/). Do not edit by hand; regenerate after translating.
The agent-control screens (runtime settings, the settings catalog copy, the approvals queue, the prompt registry, the turn
timeline, the eval controls, the agent Behavior tab and "Where do I control...?") added 1255 message keys. Every one
of them exists in every locale file in web/messages, so no screen shows a raw key. Where nobody has translated a key yet, the
locale file carries the English text as the fallback. This list is what a translator has to do.
98 of 1255 keys are still English in all 29 non-English locales. A key whose English text is correct in a language (a product name, "OK") will show up here too; leave it and move on.
How to translate¶
- Open
web/messages/<locale>.jsonand find the key (the table gives the dotted path:namespace.key.path). - Replace the English value with the translation. Keep
{placeholders}exactly as they are and keep<strong>tags if present. - Run
node scripts/ui-i18n.mjs --check(every key present) andnode scripts/ui-i18n.mjs --todo(refresh this file). - A new message added to
en.jsonin these namespaces needsnode scripts/ui-i18n.mjs --fillso every locale has at least the English fallback;app/lib/uiI18n.test.tsfails otherwise.
Still English, per locale¶
| Locale | Keys still in English | Keys translated |
|---|---|---|
| ar | 98 | 1157 |
| as | 98 | 1157 |
| bn | 98 | 1157 |
| brx | 98 | 1157 |
| de | 124 | 1131 |
| doi | 98 | 1157 |
| es | 104 | 1151 |
| fr | 120 | 1135 |
| gu | 98 | 1157 |
| hi | 98 | 1157 |
| ja | 98 | 1157 |
| kn | 98 | 1157 |
| kok | 98 | 1157 |
| ks | 98 | 1157 |
| mai | 98 | 1157 |
| ml | 98 | 1157 |
| mni | 98 | 1157 |
| mr | 98 | 1157 |
| ne | 98 | 1157 |
| or | 98 | 1157 |
| pa | 98 | 1157 |
| pt | 108 | 1147 |
| sa | 98 | 1157 |
| sat | 98 | 1157 |
| sd | 98 | 1157 |
| ta | 98 | 1157 |
| te | 98 | 1157 |
| ur | 98 | 1157 |
| zh | 98 | 1157 |
Keys needing translation, by namespace¶
requestInspector (0 of 8 to translate)¶
All keys are translated in at least one locale.
nav (0 of 2 to translate)¶
All keys are translated in at least one locale.
agentLab (0 of 8 to translate)¶
All keys are translated in at least one locale.
agentPlayground (3 of 135 to translate)¶
Show the keys and their English text
| Key | English | |---|---| | `agentPlayground.rsParam_topP` | Top-P | | `agentPlayground.rsParam_topK` | Top-K | | `agentPlayground.rsUnitSeconds` | {n} s |agentWorkbench (17 of 43 to translate)¶
Show the keys and their English text
| Key | English | |---|---| | `agentWorkbench.samplingTopK` | Top-K | | `agentWorkbench.samplingPlaceholderZero` | 0 | | `agentWorkbench.reasoningDepthFASTCost` | Quickest and cheapest: one pass, and the reply streams in as it is written. | | `agentWorkbench.reasoningDepthPLANNEDCost` | Writes a plan before acting: more model calls per task, and the reply appears all at once instead of streaming. | | `agentWorkbench.reasoningDepthCAREFULCost` | Checks its answer before showing it: slower, and the reply appears all at once instead of streaming. | | `agentWorkbench.reasoningDepthRIGOROUSCost` | Checks its answer before showing it: slower, and the reply appears all at once instead of streaming. Uses the most tokens. | | `agentWorkbench.autonomyLabel` | Autonomy | | `agentWorkbench.autonomyTierSUPERVISED` | Supervised | | `agentWorkbench.autonomyTierSUPERVISEDHint` | Every tool call waits for a human to approve it, whatever the workspace policy says. Tighter step ceiling. | | `agentWorkbench.autonomyTierSUPERVISEDCost` | Asks you before every tool call, searches included. | | `agentWorkbench.autonomyTierSEMI_AUTONOMOUS` | Semi-autonomous | | `agentWorkbench.autonomyTierSEMI_AUTONOMOUSHint` | Follows the workspace's approval policy for each action type. The default for every agent. | | `agentWorkbench.autonomyTierSEMI_AUTONOMOUSCost` | Asks you only for the actions your workspace's approval rules name; the rest run without asking. | | `agentWorkbench.autonomyTierFULLY_AUTONOMOUS` | Fully autonomous | | `agentWorkbench.autonomyTierFULLY_AUTONOMOUSHint` | Never waits for approval, and gets a higher step ceiling. It will act without asking. | | `agentWorkbench.autonomyTierFULLY_AUTONOMOUSCost` | Never asks you: every tool call runs as soon as the agent makes it, sends and payments included. | | `agentWorkbench.autonomyQueueNote` | Approval requests land in the workspace's approvals queue, and a tool call that is waiting is not run - the agent is told so and carries on with the rest of the turn. |tutorPage (0 of 1 to translate)¶
All keys are translated in at least one locale.
toolApproval (20 of 23 to translate)¶
Show the keys and their English text
| Key | English | |---|---| | `toolApproval.continuingWaiting` | Your decision is recorded. The agent is picking the task back up. | | `toolApproval.continuingRunning` | The agent is working on the next step. Its reply appears here as soon as it is ready. | | `toolApproval.continuingStill` | Still working. A model running on this computer can take a few minutes; you can keep reading meanwhile. | | `toolApproval.continuingLongWait` | This is taking longer than usual, but the agent has not stopped. Its reply will appear here when it is done. | | `toolApproval.continuingStagesLabel` | Progress | | `toolApproval.continuingStageDecided` | Decision recorded | | `toolApproval.continuingStageRestarted` | Agent restarted | | `toolApproval.continuingStageWorking` | Working on it | | `toolApproval.panelLabel` | Tool approvals | | `toolApproval.queuePosition` | Approval {position} of {total} | | `toolApproval.queueMore` | {count} more waiting. The next one appears when you decide this one. | | `toolApproval.rawName` | Technical name | | `toolApproval.approveAll` | Approve all {count} | | `toolApproval.rejectAll` | Reject all | | `toolApproval.approvingProgress` | Approving {position} of {total} | | `toolApproval.rejectingProgress` | Rejecting {position} of {total} | | `toolApproval.bulkHint` | Decides the waiting calls one after another, oldest first, and stops at the first problem. | | `toolApproval.bulkStoppedTruncated` | Stopped: the next call's arguments are too long to show here, so it waits for your own decision. | | `toolApproval.bulkStoppedError` | Stopped after a problem; the calls below it are still waiting. | | `toolApproval.waitingList` | Waiting calls |toolLabels (29 of 29 to translate)¶
Show the keys and their English text
| Key | English | |---|---| | `toolLabels.mcpTool` | {tool} ({server}) | | `toolLabels.label_web_search` | Search the web | | `toolLabels.does_web_search` | Looks up public web pages that match a search and reads their titles and snippets. | | `toolLabels.label_fetch_web_page` | Open a web page | | `toolLabels.does_fetch_web_page` | Downloads one public web page and reads its text. | | `toolLabels.label_deep_research` | Research a topic on the web | | `toolLabels.does_deep_research` | Runs several web searches and reads the pages it finds. | | `toolLabels.label_verify_citations` | Check quotes against sources | | `toolLabels.does_verify_citations` | Compares quoted text with the web pages it was taken from. | | `toolLabels.label_http_request` | Call a web API | | `toolLabels.does_http_request` | Sends a request to a web address or API; depending on the request it can read or change something there. | | `toolLabels.label_http_request_write` | Send data to a web API | | `toolLabels.does_http_request_write` | Sends data to a web address, which can change something on that service. | | `toolLabels.label_schedule_task` | Schedule a task | | `toolLabels.does_schedule_task` | Sets up a task to run later or on a repeating schedule. | | `toolLabels.label_create_workflow` | Create a workflow | | `toolLabels.does_create_workflow` | Creates a new workflow in this workspace. | | `toolLabels.label_data_table_query` | Look up a data table | | `toolLabels.does_data_table_query` | Reads rows from one of this workspace's data tables. | | `toolLabels.label_data_table_write` | Change a data table | | `toolLabels.does_data_table_write` | Adds or changes rows in one of this workspace's data tables. | | `toolLabels.label_coding_task` | Run a coding task | | `toolLabels.does_coding_task` | Starts a coding task that can read and change files in a code workspace. | | `toolLabels.label_delegate_to_specialist` | Ask a specialist agent | | `toolLabels.does_delegate_to_specialist` | Hands part of the task to another agent and reads its answer. | | `toolLabels.label_delegate_parallel` | Ask several agents at once | | `toolLabels.does_delegate_parallel` | Hands parts of the task to several agents and reads their answers. | | `toolLabels.label_web_task` | Use a browser on a website | | `toolLabels.does_web_task` | Opens a browser that reads pages and can click and type on the sites it visits. |tour (0 of 2 to translate)¶
All keys are translated in at least one locale.
turnInspector (0 of 88 to translate)¶
All keys are translated in at least one locale.
evalControls (2 of 62 to translate)¶
Show the keys and their English text
| Key | English | |---|---| | `evalControls.trajectoryOn` | On | | `evalControls.toolStatusOk` | ok |assistant (15 of 17 to translate)¶
Show the keys and their English text
| Key | English | |---|---| | `assistant.searchingWebFor` | Searching the web for “{target}”… | | `assistant.readingPageAt` | Reading {target}… | | `assistant.researchingTopic` | Researching “{target}”… | | `assistant.statusWriting` | Writing the answer… | | `assistant.quietFor` | still waiting on the model ({duration} since the last update) | | `assistant.toolStepsLabel` | Steps | | `assistant.chipDone` | finished | | `assistant.chipFailed` | failed | | `assistant.moreSteps` | +{n} more | | `assistant.sourcesLabel` | Sources | | `assistant.closePanel` | Close the panel | | `assistant.conversationLabel` | Conversation | | `assistant.copiedReply` | Copied | | `assistant.jumpToLatest` | Jump to the latest message | | `assistant.taskPhonePlaceholder` | +14155552671 |promptDirectives (2 of 91 to translate)¶
Show the keys and their English text
| Key | English | |---|---| | `promptDirectives.regSourceVersion` | {source} v{version} | | `promptDirectives.regBy` | by {who} on {when} |settingsUi (5 of 140 to translate)¶
Show the keys and their English text
| Key | English | |---|---| | `settingsUi.bool.on` | On | | `settingsUi.units.usd` | USD | | `settingsUi.units.percent` | % | | `settingsUi.durationUnits.ms` | ms | | `settingsUi.risky.to` | to |approvalsQueue (5 of 140 to translate)¶
Show the keys and their English text
| Key | English | |---|---| | `approvalsQueue.durationDaysHours` | {d}d {h}h | | `approvalsQueue.durationHoursMinutes` | {h}h {m}m | | `approvalsQueue.durationMinutes` | {m}m | | `approvalsQueue.durationSeconds` | {s}s | | `approvalsQueue.rulesToolPlaceholder` | send_email |settings (0 of 241 to translate)¶
All keys are translated in at least one locale.
runtimeSettings (0 of 105 to translate)¶
All keys are translated in at least one locale.
agentBehavior (0 of 71 to translate)¶
All keys are translated in at least one locale.
controls (0 of 49 to translate)¶
All keys are translated in at least one locale.