agent-orchestrator/ui-electrobun/locales/en.json
Hibryda aae86a4001 feat(electrobun): i18n system — @formatjs/intl + Svelte 5 runes + 3 locales
- i18n.svelte.ts: store with $state locale + createIntl(), t() function,
  formatDate/Number/RelativeTime, getDir() for RTL, async setLocale()
- i18n.types.ts: TranslationKey union (codegen from en.json)
- locales/en.json: 200+ strings in ICU MessageFormat
- locales/pl.json: full Polish translation
- locales/ar.json: partial Arabic (validates 6-form plural + RTL)
- scripts/i18n-types.ts: codegen script for type-safe keys
- 6 components wired: StatusBar, AgentPane, CommandPalette,
  SettingsDrawer, SplashScreen, ChatInput
- Language selector in AppearanceSettings
- App.svelte: document.dir reactive for RTL
- CONTRIBUTING_I18N.md: guide for adding languages

Note: currently Electrobun-only. Will extract to @agor/i18n shared
package for both Tauri and Electrobun.
2026-03-22 10:28:13 +01:00

150 lines
5.2 KiB
JSON

{
"sidebar.settings": "Settings",
"sidebar.addGroup": "Add group",
"sidebar.addProject": "Add project",
"sidebar.groupName": "Group name",
"sidebar.notifications": "Notifications",
"sidebar.notifCount": "{count, plural, =0 {Notifications} one {{count} notification} other {{count} notifications}}",
"sidebar.close": "Close window",
"sidebar.maximize": "Maximize window",
"sidebar.minimize": "Minimize window",
"agent.prompt.placeholder": "Ask a question or describe a task...",
"agent.prompt.send": "Send",
"agent.prompt.stop": "Stop agent",
"agent.status.running": "Running",
"agent.status.idle": "Idle",
"agent.status.done": "Done",
"agent.status.error": "Error",
"agent.status.stalled": "Stalled",
"agent.status.thinking": "Thinking",
"agent.tokens": "{count} tok",
"agent.toolCall": "Tool call",
"agent.toolResult": "Tool result",
"agent.contextMeter": "Context: {pct}%",
"terminal.shell": "Shell",
"terminal.addTab": "New tab",
"terminal.closeTab": "Close tab",
"terminal.collapse": "Collapse",
"terminal.expand": "Expand",
"settings.title": "Settings",
"settings.close": "Close settings",
"settings.appearance": "Appearance",
"settings.agents": "Agents",
"settings.security": "Security",
"settings.projects": "Projects",
"settings.orchestration": "Orchestration",
"settings.machines": "Machines",
"settings.keyboard": "Keyboard",
"settings.advanced": "Advanced",
"settings.marketplace": "Marketplace",
"settings.diagnostics": "Diagnostics",
"settings.theme": "Theme",
"settings.uiFont": "UI Font",
"settings.termFont": "Terminal Font",
"settings.termCursor": "Terminal Cursor",
"settings.scrollback": "Scrollback",
"settings.language": "Language",
"settings.editTheme": "Edit Theme",
"settings.customTheme": "+ Custom",
"settings.deleteTheme": "Delete theme",
"settings.cursorBlink": "Blink",
"settings.cursorOn": "On",
"settings.cursorOff": "Off",
"settings.scrollbackHint": "lines (100-100k)",
"statusbar.running": "running",
"statusbar.idle": "idle",
"statusbar.stalled": "stalled",
"statusbar.attention": "attention",
"statusbar.needsAttention": "Needs attention",
"statusbar.burnRate": "Burn rate",
"statusbar.activeGroup": "Active group",
"statusbar.projects": "projects",
"statusbar.session": "session",
"statusbar.tokens": "tokens",
"statusbar.cost": "cost",
"statusbar.search": "Search (Ctrl+Shift+F)",
"notifications.title": "Notifications",
"notifications.clearAll": "Clear all",
"notifications.noNotifications": "No notifications",
"files.open": "Open",
"files.save": "Save",
"files.saving": "Saving...",
"files.modified": "Modified",
"files.tooLarge": "File too large to display",
"files.empty": "Empty file",
"search.placeholder": "Search messages, tasks, comms...",
"search.noResults": "No results found",
"search.searching": "Searching...",
"search.resultsCount": "{count, plural, one {{count} result} other {{count} results}}",
"comms.channels": "Channels",
"comms.directMessages": "Direct Messages",
"comms.sendMessage": "Send message",
"comms.placeholder": "Type a message...",
"tasks.todo": "To Do",
"tasks.inProgress": "In Progress",
"tasks.review": "Review",
"tasks.done": "Done",
"tasks.blocked": "Blocked",
"tasks.addTask": "Add task",
"tasks.deleteTask": "Delete task",
"tasks.taskCount": "{count, plural, =0 {No tasks} one {{count} task} other {{count} tasks}}",
"errors.connectionFailed": "Connection failed",
"errors.sessionExpired": "Session expired",
"errors.fileNotFound": "File not found",
"errors.unhandled": "Unhandled error: {message}",
"errors.generic": "Something went wrong",
"splash.loading": "Loading...",
"common.cancel": "Cancel",
"common.confirm": "Confirm",
"common.close": "Close",
"common.save": "Save",
"common.delete": "Delete",
"common.edit": "Edit",
"common.refresh": "Refresh",
"common.add": "Add",
"common.back": "Back",
"common.noItems": "No items",
"project.name": "Project name",
"project.cwd": "Working directory (e.g. ~/code/myproject)",
"project.deleteConfirm": "Delete project \"{name}\"?",
"project.emptyGroup": "No projects in {group}",
"project.clone": "Clone",
"project.cloneBranch": "Branch name",
"palette.title": "Command Palette",
"palette.placeholder": "Type a command...",
"palette.newTerminal": "New Terminal Tab",
"palette.openSettings": "Open Settings",
"palette.searchMessages": "Search Messages",
"palette.addProject": "Add Project",
"palette.clearAgent": "Clear Agent Context",
"palette.copyCost": "Copy Session Cost",
"palette.openDocs": "Open Documentation",
"palette.changeTheme": "Change Theme",
"palette.splitH": "Split Horizontally",
"palette.splitV": "Split Vertically",
"palette.focusNext": "Focus Next Project",
"palette.focusPrev": "Focus Previous Project",
"palette.closeTab": "Close Tab",
"palette.toggleTerminal": "Toggle Terminal",
"palette.reloadPlugins": "Reload Plugins",
"palette.toggleSidebar": "Toggle Sidebar",
"palette.zoomIn": "Zoom In",
"palette.zoomOut": "Zoom Out",
"palette.addProjectDesc": "Open a project directory",
"palette.clearAgentDesc": "Reset agent session",
"palette.changeThemeDesc": "Switch between 17 themes"
}