Messages
Every translatable message in Ballmac UI, with its key and English text.
This page is generated from registry/ballmac. To change it, change the source and run pnpm docs:generate.
Every built-in label, placeholder and screen reader text is a message with an English default: 773 in all. To translate them, see Translate Ballmac UI. The same keys are available as JSON at /i18n/en.json.
| Key | English |
|---|---|
activity-feed.emptyMessage | No activity yet |
agent-graph.ends | Nothing follows it. |
agent-graph.hint | Select a node to see its connections. The arrow keys follow the edges. |
agent-graph.label | How the agents and tools are connected |
agent-graph.node | {label}, {kind}{status} |
agent-graph.receives | Receives from {names}. |
agent-graph.sends | Sends to {names}. |
agent-graph.starts | Starts the work. |
agent-lanes.handedBy | Started by {from}. |
agent-lanes.handoffText | {from} hands over to {to} at {time} |
agent-lanes.handsTo | Hands over to {to}. |
agent-lanes.hint | Select a step to see what happened. Arrow keys move between steps. |
agent-lanes.legend | Step kinds |
agent-lanes.now | Now |
agent-lanes.step | {label}, {lane}, {kind}, {from} to {to} |
agent-plan.progress | {title} progress |
agent-plan.retry | Retry |
agent-plan.title | Plan |
agent-roster.all | All |
agent-roster.count | {count} agents shown |
agent-roster.filter | Filter by status |
agent-roster.load | {name} load |
agent-roster.title | Agents |
ai-chat.label | Conversation |
ai-chat.scrollButtonLabel | Scroll to latest message |
ai-chat.suggestions | Suggestions |
ai-message.label | Copy message |
ai-message.messageActions | Message actions |
api-endpoint.defaultValue | Default: {value} |
api-endpoint.parameters | {group} parameters |
api-endpoint.requestAndResponses | Request and responses |
api-key-field.copied | Copied |
api-key-field.copyKey | Copy key |
api-key-field.hideKey | Hide key |
api-key-field.label | API key |
api-key-field.regenerateKey | Regenerate key |
api-key-field.showKey | Show key |
app-shell.label | Sidebar |
app-shell.label2 | Details |
app-shell.navigation | Navigation |
app-shell.openNavigation | Open navigation |
app-window.close | Close window |
app-window.fullscreen | Enter full screen |
app-window.maximize | Maximize window |
app-window.minimize | Minimize window |
app-window.restore | Restore window |
app-window.zoom | Zoom window |
approval-card.alwaysAllowLabel | Always allow |
approval-card.approveLabel | Approve |
approval-card.deniesItselfIn | Denies itself in {seconds}s |
approval-card.denyLabel | Deny |
approval-card.previewLabel | Exactly what will run |
artifact-panel.close | Close |
artifact-panel.closeArtifact | Close artifact |
artifact-panel.copied | Copied |
artifact-panel.copyCode | Copy code |
artifact-panel.download | Download |
artifact-panel.downloadFile | Download {name} |
artifact-panel.file | file |
artifact-panel.nextVersion | Next version |
artifact-panel.previousVersion | Previous version |
artifact-panel.versionOf | of {total} |
artifact-panel.versions | Versions |
artifact-panel.view | View |
audio-player.audioPlayer | Audio player: {title} |
audio-player.backSeconds | Back {back} seconds |
audio-player.chapter | Chapter: |
audio-player.forwardSeconds | Forward {forward} seconds |
audio-player.pause | Pause |
audio-player.play | Play |
audio-player.playbackSpeedChangeSpeed | Playback speed {rate}×. Change speed |
audio-player.seek | Seek |
autonomy-dial.asks | Stops to ask about |
autonomy-dial.does | Does on its own |
autonomy-dial.label | How much can the agent do on its own? |
avatar-circles.andMore | and {extra} more |
avatar.more | {count} more |
back-to-top.label | Back to top |
banner.dismiss | Dismiss {title} |
billing-card.cancelSubscription | Cancel subscription |
billing-card.changePlan | Change plan |
billing-card.currentPlan | Current plan |
billing-card.downloadInvoice | Download invoice {id} |
billing-card.exp | Exp {date} |
billing-card.paymentMethod | Payment method |
billing-card.recentInvoices | Recent invoices |
billing-card.seats | Seats |
billing-card.seatsOf | {used} of {total} used |
billing-card.seatsUsed | Seats used |
billing-card.update | Update |
breadcrumb.label | Breadcrumb |
breadcrumb.morePages | More pages |
browser-frame.secureConnection | Secure connection |
bullet-chart.of | of {target} |
calendar-agenda.agenda | Agenda |
calendar-agenda.chooseDate | Choose date |
calendar-agenda.emptyMessage | No events scheduled |
calendar-agenda.nextDay | Next day |
calendar-agenda.previousDay | Previous day |
carousel.chooseSlide | Choose slide |
carousel.goToSlide | Go to slide {n} |
carousel.label | Carousel |
carousel.nextSlide | Next slide |
carousel.pauseAutoplay | Pause autoplay |
carousel.previousSlide | Previous slide |
carousel.startAutoplay | Start autoplay |
changelog-feed.all | All |
changelog-feed.filterChanges | Filter changes |
changelog-feed.latest | Latest |
changelog-feed.noReleasesMatchThisFilter | No releases match this filter. |
chart-bar.category | Category |
chart-frame.category | Category |
chart-frame.chart | Chart |
chart-frame.download | Download CSV |
chart-frame.emptyDescription | The chart appears when there is something to plot. |
chart-frame.emptyTitle | No data yet |
chart-frame.errorDescription | Check your connection and try again. |
chart-frame.errorTitle | The chart could not be loaded |
chart-frame.loading | Loading {title} |
chart-frame.patterns | Patterns |
chart-frame.patternsHint | Fill with patterns as well as color |
chart-frame.ranking | {series}: {list}. |
chart-frame.series | Series |
chart-frame.single | {series}: {value} in {at}. |
chart-frame.table | Table |
chart-frame.tableLabel | {title}, data table |
chart-frame.trend | {series}: from {first} in {firstAt} to {last} in {lastAt}; highest {max} in {maxAt}, lowest {min} in {minAt}. |
chart-frame.view | View |
chart-pie.category | Category |
chart-pie.share | Share |
chart-pie.totalLabel | Total |
chart-pie.value | Value |
chart-radial.category | Category |
chart-radial.share | Of {max} |
chart-radial.summary | {name}: {value} of {max} ({share}). |
chart-radial.value | Value |
chart-scatter.group | Group |
chart-scatter.name | Name |
chat-attachment.label | Attachments |
chat-attachment.open | Open {name} |
chat-attachment.remove | Remove {name} |
chat-attachment.retry | Retry |
chat-attachment.retryUploading | Retry uploading {name} |
chat-attachment.uploading | Uploading {name} |
chat-attachment.uploadingEllipsis | Uploading… |
chat-attachment.uploadingPercent | Uploading {percent}% |
citation-coverage.gapHelp | This claim has no source. |
citation-coverage.legend | A wavy underline means no source backs the claim. |
citation-coverage.noSource | no source |
citation-coverage.none | Every claim has a source. |
citation-coverage.onlyGaps | Show only claims without a source |
citation-coverage.source | source |
citation-coverage.sources | Sources |
citation-coverage.summary | {supported} of {total} claims have a source |
citation-coverage.title | Source coverage |
citation.nextSource | Next source |
citation.openSource | Open source |
citation.previousSource | Previous source |
citation.sourceOf | Source {n} of {total} |
code-block.copied | Copied |
code-block.copy | Copy |
code-block.files | Files |
code-block.label | Copy code |
code-block.wrapLines | Wrap lines |
color-picker.choose | Choose {label} |
color-picker.hexColor | Hex color |
color-picker.hexValue | {label} hex value |
color-picker.label | Color |
combobox.clearSelection | Clear selection |
combobox.emptyText | No results found. |
combobox.placeholder | Select an option |
combobox.searchPlaceholder | Search |
command-bar.all | All |
command-bar.back | Back |
command-bar.close | Close |
command-bar.currentPage | Current page |
command-bar.emptyText | No results found. |
command-bar.esc | Esc |
command-bar.navigate | Navigate |
command-bar.placeholder | Search commands… |
command-bar.select | Select |
command-bar.title | Command bar |
command.description | Type a command or search. Use the arrow keys to move and Enter to run. |
command.label | Command menu |
command.title | Command menu |
comparison-table.available | Available |
comparison-table.feature | Feature |
comparison-table.notSpecified | Not specified |
comparison-table.unavailable | Unavailable |
contribution-graph.less | Less |
contribution-graph.more | More |
contribution-graph.summary | {label}: {total} total across 0 days |
control-center.label | Control Center |
control-center.nextTrack | Next track |
control-center.pause | Pause |
control-center.play | Play |
control-center.previousTrack | Previous track |
cookie-consent.acceptAll | Accept all |
cookie-consent.alwaysOn | Always on |
cookie-consent.back | Back |
cookie-consent.cookiePolicy | Cookie policy |
cookie-consent.customize | Customize |
cookie-consent.description | We use cookies to make the site work, understand how it is used and, with your permission, personalize content. |
cookie-consent.rejectNonEssential | Reject non-essential |
cookie-consent.savePreferences | Save preferences |
cookie-consent.title | We value your privacy |
copy-button.ariaLabel | Copy to clipboard |
copy-button.copiedLabel | Copied |
countdown.complete | {label} complete |
countdown.label | Time remaining |
data-grid.editCell | Edit {column}, row {n} |
data-grid.loading | Loading rows |
data-grid.no | No |
data-grid.noMatches | No rows match “{search}”. |
data-grid.noRows | No rows. |
data-grid.notDate | Enter a date as year-month-day. |
data-grid.notNumber | Enter a number. |
data-grid.notOption | Choose one of the options. |
data-grid.pastedSome | Pasted {count} cells. Some were refused: {problem} |
data-grid.resize | Resize {column} |
data-grid.rowsOfTotal | {n} of {total} rows |
data-grid.selectAll | Select all rows |
data-grid.selectRow | Select row {n} |
data-grid.selectedCount | {n} selected |
data-grid.sortHint | Sort by {column}. Hold Shift to add a second sort. |
data-grid.yes | Yes |
data-table.emptyMessage | No results. |
data-table.nextPage | Next page |
data-table.pageOf | Page {page} of {total} |
data-table.previousPage | Previous page |
data-table.search | Search {label} |
data-table.searchPlaceholder | Search |
data-table.selectAllRows | Select all rows on this page |
data-table.selectRow | Select row {n} |
data-table.showColumns | Show columns |
date-picker.clearDate | Clear date |
date-picker.placeholder | Pick a date |
date-range-picker.from | From |
date-range-picker.to | To |
desktop-icons.label | Desktop |
dialog.closeLabel | Close |
diff-viewer.diff | {label} diff |
diff-viewer.summary | {added} added · {removed} removed |
dotted-map.label | World map |
emoji-picker.clear | Clear search |
emoji-picker.errorDescription | Check your connection and try again. |
emoji-picker.errorTitle | Could not load the emoji |
emoji-picker.groups | Emoji groups |
emoji-picker.label | Emoji picker |
emoji-picker.loading | Loading emoji |
emoji-picker.none | No emoji found for “{query}” |
emoji-picker.prompt | Pick an emoji |
emoji-picker.recent | Recently used |
emoji-picker.results | Search results |
emoji-picker.search | Search emoji |
emoji-picker.selected | Selected {name} |
emoji-picker.skinTone | Skin tone |
emoji-picker.tone | Skin tone {n} |
emoji-picker.toneDefault | Default skin tone |
env-editor.addVariable | Add variable |
env-editor.cancel | Cancel |
env-editor.hideValueOf | Hide value of {name} |
env-editor.import | Import |
env-editor.key | KEY |
env-editor.nameOfVariable | Name of variable {n} |
env-editor.noVariablesYet | No variables yet |
env-editor.pasteAEnvFile | Paste a .env file |
env-editor.pasteEnv | Paste .env |
env-editor.remove | Remove {name} |
env-editor.showValueOf | Show value of {name} |
env-editor.tipPasteSeveralLinesInto | Tip: paste several lines into any name field to import them. |
env-editor.title | Environment variables |
env-editor.toFix | {count} to fix |
env-editor.value | value |
env-editor.valueOf | Value of {name} |
env-editor.variableN | variable {n} |
escalation-card.agent | Agent |
escalation-card.failed | That did not go through. Nothing was changed. |
escalation-card.feels | Seems |
escalation-card.messages | Last messages |
escalation-card.reply | Suggested reply, edit before sending |
escalation-card.send | Send reply |
escalation-card.sent | Reply sent to {customer}. |
escalation-card.snooze | Snooze |
escalation-card.snoozed | Snoozed. It will come back if the customer writes again. |
escalation-card.summary | What the agent understood |
escalation-card.take | Take over |
escalation-card.taken | You have taken over from the agent. |
escalation-card.waiting | Waiting {time} |
escalation-card.why | Why a person is needed: |
event-calendar.add | Add event |
event-calendar.allDay | All day |
event-calendar.describeAllDay | {title}, {date}, all day{where} |
event-calendar.describeAllDayRange | {title}, {from} to {to}, all day{where} |
event-calendar.describeTimed | {title}, {date}, {from} to {to}{where} |
event-calendar.describeTimedRange | {title}, {from} to {to}{where} |
event-calendar.emptyDescription | Events you add will be listed here by day. |
event-calendar.emptyTitle | No events this month |
event-calendar.eventsOn | Events on {date} |
event-calendar.loading | Loading the calendar |
event-calendar.more | +{count} more |
event-calendar.moreOn | {count} more events on {date} |
event-calendar.movedTimed | Moved {title} to {date}, {from} to {to}. |
event-calendar.movedTo | Moved {title} to {date}. |
event-calendar.openDay | Open {date} |
event-calendar.today | Today |
event-calendar.viewSwitch | Calendar view |
feedback-widget.tellUsMore | Tell us more |
feedback-widget.thankYou | Thank you |
feedback-widget.topic | Topic |
feedback-widget.triggerLabel | Feedback |
feedback-widget.whatWorkedWellOrWhat | What worked well, or what could be better? |
feedback-widget.yourFeedbackHelpsUsImprove | Your feedback helps us improve. |
file-browser.clear | Clear |
file-browser.delete | Delete |
file-browser.download | Download |
file-browser.files | Files |
file-browser.folder | folder |
file-browser.folderPath | Folder path |
file-browser.rootLabel | All files |
file-browser.rowLabel | {name}, {detail} |
file-browser.searchFiles | Search files |
file-browser.select | Select {name} |
file-browser.selectAllFiles | Select all files |
file-browser.selectedCount | {count} selected |
file-browser.selectionActions | Selection actions |
file-browser.view | View |
file-dropzone.choose | Choose |
file-dropzone.dropFilesHereOrBrowse | Drop files here or browse |
file-dropzone.filesToUpload | Files to upload |
file-dropzone.maxSize | {size} MB each |
file-dropzone.remove | Remove {name} |
file-dropzone.sizeKb | {size} KB |
file-tree.label | Files |
finder-window.asIcons | as Icons |
finder-window.asList | as List |
finder-window.back | Back |
finder-window.dateModified | Date Modified |
finder-window.document | document |
finder-window.forward | Forward |
finder-window.itemLabel | {name}, {kind} |
finder-window.name | Name |
finder-window.path | Path |
finder-window.search | Search |
finder-window.searchThisFolder | Search this folder |
finder-window.size | Size |
finder-window.view | View |
floating-nav.label | Primary |
flow-sankey.from | From |
flow-sankey.hint | Select a step to follow its flows. |
flow-sankey.inout | {inV} in · {outV} out |
flow-sankey.label | Flows between steps |
flow-sankey.node | {label}: {inV} in, {outV} out |
flow-sankey.table | Flows, from one step to the next |
flow-sankey.to | To |
flow-sankey.value | Amount |
git-graph.label | Commit history |
git-graph.merge | Merge |
globe.label | Rotating globe |
guardrail-feed.all | All |
guardrail-feed.count | {count} checks shown |
guardrail-feed.empty | Nothing here yet. |
guardrail-feed.filter | Filter by action |
guardrail-feed.title | Guardrail activity |
handoff-card.context | Context passed |
handoff-card.handsOver | hands over to |
handoff-card.questions | Open questions |
handoff-card.rules | Rules to keep |
heat-grid.cell | {row}, {column}: {value} |
heat-grid.label | Values |
heat-grid.legend | Legend |
heat-grid.none | No data |
icon-cloud.label | Items |
image-cropper.degrees | {degrees} degrees |
image-cropper.errorTitle | The picture could not be loaded |
image-cropper.help | Arrow keys move the picture. Plus and minus zoom. The square brackets turn it a quarter. Zero resets. |
image-cropper.label | Crop the picture |
image-cropper.loading | Loading the picture |
image-cropper.reset | Reset |
image-cropper.resetDone | Reset |
image-cropper.retry | Try again |
image-cropper.role | image cropper |
image-cropper.rotateLeft | Turn left |
image-cropper.rotateRight | Turn right |
image-cropper.rotationSpoken | Rotated to {degrees} degrees |
image-cropper.straighten | Straighten |
image-cropper.zoom | Zoom |
image-cropper.zoomSpoken | Zoom {percent}% |
image-cropper.zoomValue | {percent}% |
install-tabs.copied | Copied |
install-tabs.copyCommand | Copy command |
install-tabs.packageManager | Package manager |
invite-members.description | They will get an email with a link to join. |
invite-members.emailAddresses | Email addresses |
invite-members.nameCompanyCom | name@company.com |
invite-members.pending | Pending ({count}) |
invite-members.remove | Remove {chip} |
invite-members.resendInvitationTo | Resend invitation to {email} |
invite-members.revokeInvitationFor | Revoke invitation for {email} |
invite-members.role | Role |
invite-members.separateAddressesWithAComma | Separate addresses with a comma, space or Enter. You can paste a list. |
invite-members.title | Invite teammates |
json-viewer.collapse | Collapse {name} |
json-viewer.expand | Expand {name} |
json-viewer.label | JSON data |
json-viewer.root | root |
k | Press {key} to open |
kanban-board.label | Task board |
kanban-board.moveToNextColumn | Move {title} to next column |
kanban-board.moveToPreviousColumn | Move {title} to previous column |
kanban-board.useAltAndArrowKeys | {title}, {column}. Use Alt and arrow keys to move. |
keyboard-shortcuts.description | Work faster without leaving the keyboard. |
keyboard-shortcuts.noShortcutMatches | No shortcut matches “{query}”. |
keyboard-shortcuts.press | Press {key} anywhere to open this list. |
keyboard-shortcuts.searchPlaceholder | Search shortcuts |
keyboard-shortcuts.title | Keyboard shortcuts |
launchpad.label | Launchpad |
launchpad.noAppsMatch | No apps match “{query}”. |
launchpad.page | Page {n} |
launchpad.pageOf | Page {n} of {pages} |
launchpad.pages | Pages |
launchpad.search | Search |
launchpad.searchApps | Search apps |
lens.label | Zoomable image |
lens.moveThePointerOverIt | {label}. Move the pointer over it, or use the arrow keys, to magnify. Escape hides the lens. |
loading-dots.label | Loading |
lock-screen.enterPassword | Enter Password |
lock-screen.hint | Touch ID or enter password |
lock-screen.lockScreen | Lock screen |
lock-screen.passwordFor | Password for {name} |
lock-screen.unlock | Unlock |
log-stream.clear | Clear |
log-stream.emptyText | Waiting for output… |
log-stream.filter | Filter |
log-stream.filterLogLines | Filter log lines |
log-stream.lines | {title}, {length} lines |
log-stream.pauseStream | Pause stream |
log-stream.resumeStream | Resume stream |
log-stream.showLevels | Show levels |
log-stream.title | Logs |
log-stream.wrapLongLines | Wrap long lines |
mac-window.close | Close window |
mac-window.minimize | Minimize window |
mac-window.zoom | Zoom window |
mega-menu.label | Main |
mega-menu.learnMore | Learn more |
mention-input.noMatches | No matches for “{query}” |
mention-input.searching | Searching |
mention-input.suggestions | Suggestions |
model-picker.availableWith | Available with {plan} |
model-picker.contextTokens | {size} tokens |
model-picker.costHigh | High |
model-picker.costLevel | {level} cost |
model-picker.costLow | Low |
model-picker.costMedium | Medium |
model-picker.higherPlan | a higher plan |
model-picker.locked | Locked |
model-picker.modelDetails | Model details |
model-picker.new | New |
model-picker.placeholder | Select a model |
model-picker.searchPlaceholder | Search models… |
multi-select.label | Select options |
multi-select.noMatchingOptions | No matching options |
multi-select.placeholder | Choose options |
multi-select.searchOptions | Search options |
multi-select.searchOptions2 | Search options… |
multi-select.selected | {count} selected |
multi-select.selectedOf | {count} selected of {max} |
navbar.label | Main |
navbar.label2 | Menu |
navbar.siteNavigation | Site navigation |
notification-center.allNotifications | All notifications |
notification-center.dismiss | Dismiss "{title}" |
notification-center.emptyText | You're all caught up. |
notification-center.filterNotifications | Filter notifications |
notification-center.label | Notifications |
notification-center.markAllAsRead | Mark all as read |
notification-center.markAsRead | Mark "{title}" as read |
notification-center.unread | Unread |
notification-center.unreadNotifications | Unread notifications |
notification-stack.clearAllNotifications | Clear all notifications |
notification-stack.dismissLabel | Dismiss |
notification-stack.label | Notifications |
notification-stack.showAllNotifications | Show all {count} notifications |
notification-stack.showLess | Show less |
number-input.decrease | Decrease {label} |
number-input.increase | Increase {label} |
number-input.label | Number |
onboarding-checklist.completeMessage | You're all set. Nice work. |
onboarding-checklist.description | Finish these steps to set up your workspace. |
onboarding-checklist.dismissChecklist | Dismiss checklist |
onboarding-checklist.markDone | {title}: mark as done |
onboarding-checklist.markNotDone | {title}: mark as not done |
onboarding-checklist.reviewTheStepsAgain | Review the steps again |
onboarding-checklist.title | Get started |
package-badge.perWeek | {count}/wk |
package-badge.typesIncluded | Types included |
pagination.label | Pagination |
pagination.morePages | More pages |
pagination.nextPage | Next page |
pagination.previousPage | Previous page |
parallel-attempts.added | {count} added |
parallel-attempts.choose | Continue with {label} |
parallel-attempts.chooseNone | Continue |
parallel-attempts.files | {count} files |
parallel-attempts.hint | Pick a finished attempt to continue with. |
parallel-attempts.label | Attempts |
parallel-attempts.picked | {label} is selected. |
parallel-attempts.progress | {label} progress |
parallel-attempts.recommended | Suggested |
parallel-attempts.removed | {count} removed |
password-input.fair | Fair |
password-input.good | Good |
password-input.hidePassword | Hide password |
password-input.label | Password |
password-input.needsWork | Needs work |
password-input.showPassword | Show password |
password-input.strengthHint | Strength: {strength}. Use 8+ characters, mixed case, a number, and a symbol. |
password-input.strong | Strong |
password-input.tooShort | Too short |
permission-grid.noAsk | Runs without asking |
permission-grid.permission | Permission |
permission-grid.presets | Presets |
permission-grid.radio | {label}: {decision} |
permission-grid.summary | {allow} allowed, {ask} ask first, {deny} denied |
permission-grid.title | What the agent may do |
phone-input.countryDialingCode | Country dialing code |
phone-input.label | Phone number |
plan-selector.billingPeriod | Billing period |
plan-selector.perMonth | / month |
plan-selector.save | Save |
popover.closeLabel | Close popover |
progress-steps.label | Progress |
progress-steps.returnTo | Return to {label} |
prompt-diff.added | +{count} words |
prompt-diff.addedMark | [added: |
prompt-diff.after | After |
prompt-diff.before | Before |
prompt-diff.removed | −{count} words |
prompt-diff.removedMark | [removed: |
prompt-diff.restore | Restore {label} |
prompt-diff.same | The two versions are the same. |
prompt-diff.split | Side by side |
prompt-diff.unified | Inline |
prompt-diff.view | View |
prompt-input.attachments | Attachments |
prompt-input.label | Attach files |
prompt-input.message | Message |
prompt-input.placeholder | Send a message… |
prompt-input.remove | Remove {name} |
prompt-input.stopLabel | Stop generating |
prompt-input.submitLabel | Send message |
qr-code.empty | Nothing to encode yet |
qr-code.label | QR code for {value} |
qr-code.tooLong | This is too long to fit in a QR code. Use a shorter link. |
questionnaire.next | Next |
questionnaire.previous | Previous |
questionnaire.skip | Skip |
questionnaire.submit | Submit |
rating.clear | Clear |
rating.label | Rating |
rating.ofStars | {number} of {count} stars |
resizable.label | Resize panels |
rich-text-editor.charsOf | {count} of {limit} characters |
rich-text-editor.hint | Press Escape, then Tab, to leave the editor. |
rich-text-editor.linkInvalid | Enter a web address like example.com. |
rich-text-editor.loading | Loading the editor |
rich-text-editor.placeholder | Write something, or type / for blocks |
rich-text-editor.slash.bullets | Bulleted list |
rich-text-editor.slash.bulletsHint | A simple list of points |
rich-text-editor.slash.code | Code block |
rich-text-editor.slash.codeHint | Monospaced code |
rich-text-editor.slash.divider | Divider |
rich-text-editor.slash.dividerHint | A line between sections |
rich-text-editor.slash.h1 | Heading 1 |
rich-text-editor.slash.h1Hint | A large section heading |
rich-text-editor.slash.h2 | Heading 2 |
rich-text-editor.slash.h2Hint | A medium heading |
rich-text-editor.slash.h3 | Heading 3 |
rich-text-editor.slash.h3Hint | A small heading |
rich-text-editor.slash.numbers | Numbered list |
rich-text-editor.slash.numbersHint | Steps in order |
rich-text-editor.slash.quote | Quote |
rich-text-editor.slash.quoteHint | Set a passage apart |
rich-text-editor.slash.tasks | Checklist |
rich-text-editor.slash.tasksHint | Things to tick off |
rich-text-editor.slashLabel | Blocks |
rich-text-editor.slashNone | No matching blocks |
rich-text-editor.toolbar | Formatting |
run-ledger.budget | Budget |
run-ledger.cost | Cost |
run-ledger.left | {amount} left in the budget |
run-ledger.nearing | Nearing the budget, {amount} left |
run-ledger.over | Over budget by {amount} |
run-ledger.step | Step |
run-ledger.summary | {count} steps, {time}, {tokens} tokens |
run-ledger.time | Time |
run-ledger.title | Run ledger |
run-ledger.tokens | Tokens |
run-ledger.top | Most expensive |
run-ledger.total | Total |
run-replay.markers | Markers |
run-replay.next | Next marker |
run-replay.pause | Pause |
run-replay.play | Play |
run-replay.prev | Previous marker |
run-replay.reached | Reached: {label} |
run-replay.replay | Replay from the start |
run-replay.scrub | Position in the run |
run-replay.speed | Playback speed |
scroll-velocity.label | Scrolling content |
search-field.clearSearch | Clear search |
search-field.label | Search |
section-tabs.label | Sections |
settings-panel.dirtyMessage | You have unsaved changes |
settings-panel.discard | Discard |
settings-panel.label | Settings |
settings-panel.saveLabel | Save changes |
sheet.closeLabel | Close |
shortcut-hint.label | {label}: {keys} |
shortcut-hint.plus | plus |
sidebar.label | Sidebar |
sidebar.navigation | Navigation |
sidebar.toggleSidebar | Toggle sidebar |
signature-pad.clearSignature | Clear signature |
signature-pad.draw | Draw |
signature-pad.drawOrType | Draw or type |
signature-pad.drawingArea | {label} drawing area |
signature-pad.signatureMethod | Signature method |
signature-pad.type | Type |
signature-pad.typeLabel | Type {label} |
signature-pad.typeYourFullName | Type your full name |
signature-pad.undoLastStroke | Undo last stroke |
slider-range.maximum | {label} maximum |
slider-range.minimum | {label} minimum |
snippet-tabs.code | {label} code |
snippet-tabs.language | Language |
sortable.cancelled | Cancelled. {item} went back to position {position}. |
sortable.dropped | Dropped {item} at position {position} of {total}. |
sortable.droppedBack | Dropped {item}. It did not move. |
sortable.groupCancelled | Cancelled. {item} went back to {group}. |
sortable.groupDropped | Dropped {item} in {group} at position {position} of {total}. |
sortable.groupMoved | Moved {item} to position {position} of {total} in {group}. |
sortable.groupOver | {item} is over {group}, position {position} of {total}. |
sortable.groupPickedUp | Picked up {item} from {group}. It is position {position} of {total}. |
sortable.handle | Reorder {item} |
sortable.instructions | To pick up an item, press Space or Enter. While dragging, use the arrow keys to move it, Space or Enter to drop it, and Escape to cancel. |
sortable.moveEarlier | Move {item} earlier |
sortable.moveLater | Move {item} later |
sortable.moved | Moved {item} to position {position} of {total}. |
sortable.over | {item} is over position {position} of {total}. |
sortable.pickedUp | Picked up {item}. It is position {position} of {total}. |
sources-list.showAll | Show all |
sources-list.title | Sources |
sparkline.noData | {label}: no data |
sparkline.range | {label}: from {from} to {to} |
spinner.label | Loading |
split-view.label | List |
split-view.label2 | Detail |
split-view.resizeList | Resize list |
spotlight-search.placeholder | Spotlight Search |
spotlight-search.title | Spotlight Search |
spring-drawer.closeLabel | Close |
spring-drawer.handleLabel | Resize drawer |
state-view.details | Details |
state-view.emptyDescription | When there is something to show, it will appear here. |
state-view.emptyTitle | Nothing here yet |
state-view.errorDescription | We could not load this. Check your connection and try again. |
state-view.errorTitle | Something went wrong |
state-view.loading | Loading |
state-view.retry | Try again |
status-badge-row.historyDays | {name} history, {length} days |
status-badge-row.title | System status |
status-badge-row.today | Today |
status-badge-row.uptime | {percent}% uptime |
stepper-form.back | Back |
stepper-form.completeLabel | Complete |
stepper-form.progress | Progress |
stepper-form.ready | Ready |
stepper-form.stepCompleted | {title}, step {n} of {total}, completed |
stepper-form.stepLabel | {title}, step {n} of {total} |
stepper-form.stepOf | Step {n} of {total} |
suggestion-chips.label | Suggested prompts |
suggestion-chips.refreshLabel | Show other suggestions |
table-of-contents.title | On this page |
tag-input.label | Tags |
tag-input.placeholder | Add a tag… |
tag-input.remove | Remove {tag} |
team-switcher.addLabel | Add team |
team-switcher.teams | Teams |
terminal.copied | Copied |
terminal.copyCommand | Copy command |
terminal.terminal | Terminal |
thinking-indicator.label | Thinking |
thinking-indicator.statusLabel | Assistant is thinking |
time-picker.label | Time |
toast-stack.dismiss | Dismiss {title} |
toast-stack.label | Notifications |
token-meter.full | Context is full |
token-meter.left | {left} left |
token-meter.nearingLimit | Nearing the limit, {left} left |
token-meter.pill | {title}: {percent}% used. {state}. |
token-meter.summary | {used} of {limit} tokens used, {percent}%. {state}. |
token-meter.title | Context window |
tool-catalog.all | All |
tool-catalog.attention | Needs attention |
tool-catalog.calls | {count} calls this week |
tool-catalog.count | {count} tools shown |
tool-catalog.errors | {rate}% fail |
tool-catalog.failed | {name} could not be changed, so it is as it was. |
tool-catalog.filter | Filter tools |
tool-catalog.flaky | fails often |
tool-catalog.highOn | On for a high-risk tool: check it is meant to be. |
tool-catalog.latency | {ms} ms typical |
tool-catalog.none | No tools match. |
tool-catalog.off | Off |
tool-catalog.on | On |
tool-catalog.schema | {name} input schema |
tool-catalog.search | Search tools |
tool-catalog.searchPlaceholder | Search by name or description |
tool-catalog.switch | {name} is on |
tool-catalog.title | Tools |
toolbar.ariaLabel | Search |
toolbar.clearSearch | Clear search |
toolbar.search | Search |
trace-waterfall.failed | failed |
trace-waterfall.failedShort | Failed |
trace-waterfall.hint | Select a span to see its timing. Right opens a span, Left closes it. |
trace-waterfall.item | {name}, {kind}, {duration}, starts at {start}{failed} |
trace-waterfall.label | Spans of the run |
trace-waterfall.share | {percent}% of the run |
trace-waterfall.span | Step |
treemap.cell | {label}: {value}{unit}, {share}% of the total{group} |
treemap.groups | Groups |
treemap.hint | Select a block to see its share. |
treemap.label | Share of the total by item |
treemap.share | {percent}% of the total |
user-menu.signOut | Sign out |
video-dialog.closeVideo | Close video |
video-dialog.playVideo | Play video: {title} |
video-dialog.videoPlayerPressEscapeTo | Video player. Press Escape to close. |
voice-input.discardRecording | Discard recording |
voice-input.label | Start voice input |
voice-input.processingLabel | Transcribing… |
voice-input.recordingTime | Recording time |
voice-input.stopAndUseRecording | Stop and use recording |
waterfall-chart.after | Total after |
waterfall-chart.change | Change |
waterfall-chart.ends | Ends at {value}. |
waterfall-chart.step | Step |
webhook-card.events | Events |
webhook-card.hideSigningSecret | Hide signing secret |
webhook-card.moreEvents | +{count} more |
webhook-card.noDeliveriesYetEventsAppear | No deliveries yet. Events appear here as soon as they are sent. |
webhook-card.recentDeliveries | Recent deliveries |
webhook-card.redeliver | Redeliver |
webhook-card.requestBody | Request body |
webhook-card.revealSigningSecret | Reveal signing secret |
webhook-card.sendEventsToThisEndpoint | Send events to this endpoint |
webhook-card.sendTestEvent | Send test event |
webhook-card.signingSecret | Signing secret |
webhook-card.successRate | {percent}% of {count} deliveries succeeded |
webhook-card.webhook | Webhook {url} |
webhook-card.yourResponse | Your response |
widgets.noEventsToday | No events today |
window-manager.label | Desktop |
window-manager.restore | Restore {title} |
window-manager.trayLabel | Minimized windows |
window-manager.windowAltAndArrowKeys | {title} window. Alt and arrow keys move it; Alt, Shift and arrow keys resize it. |
workspace-card.actions | {name} actions |
workspace-card.current | Current |
workspace-card.loadingWorkspace | Loading workspace |
workspace-card.storageUsed | Storage used |