Skip to content

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

  1. Open web/messages/<locale>.json and find the key (the table gives the dotted path: namespace.key.path).
  2. Replace the English value with the translation. Keep {placeholders} exactly as they are and keep <strong> tags if present.
  3. Run node scripts/ui-i18n.mjs --check (every key present) and node scripts/ui-i18n.mjs --todo (refresh this file).
  4. A new message added to en.json in these namespaces needs node scripts/ui-i18n.mjs --fill so every locale has at least the English fallback; app/lib/uiI18n.test.ts fails 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.

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.