{
  "appName": "LibrAgent",
  "assistant": {
    "nameLabel": "Assistant Name *",
    "namePlaceholder": "Enter assistant name...",
    "descriptionLabel": "Description",
    "descriptionPlaceholder": "Brief description of what this assistant does...",
    "systemPromptLabel": "System Prompt *",
    "systemPromptPlaceholder": "Describe the AI's role and behavior...",
    "tabs": {
      "general": "General",
      "tools": "Tools",
      "skills": "Skills"
    },
    "builtin": {
      "title": "Built-in Tools",
      "loading": "Loading tools...",
      "noTools": "No built-in tools available.",
      "toolAccess": "Tool Access",
      "noOptional": "Core built-in tools are managed automatically. There are no optional built-in tools available in this environment.",
      "description": "Core built-in tools are always enabled automatically. Only optional tools are shown below.",
      "toolCount_one": "{{count}} tool available",
      "toolCount_other": "{{count}} tools available"
    },
    "mcp": {
      "label": "MCP Servers",
      "description": "Select which MCP servers this assistant can access",
      "noActive": "No active MCP servers.",
      "addServersLink": "Add servers in Settings",
      "searchPlaceholder": "Search servers...",
      "noMatch": "No servers match your search",
      "transport": {
        "stdio": "stdio",
        "http": "http"
      }
    },
    "edit": {
      "titleNew": "Create New Assistant",
      "titleEdit": "Edit Assistant",
      "cancel": "Cancel",
      "save": "Save"
    },
    "list": {
      "title": "Assistants",
      "subtitle": "Manage your customized AI agents",
      "create": "Create New Assistant",
      "searchPlaceholder": "Search assistants...",
      "searchAriaLabel": "Search assistants",
      "clearSearchAriaLabel": "Clear search",
      "searching": "Searching...",
      "searchResults": "Found {{count}} results for \"{{query}}\"",
      "noResults": "No assistants found matching your search",
      "empty": "No assistants available",
      "pagination": {
        "previous": "Previous",
        "next": "Next",
        "pageInfo": "Page {{current}} of {{total}}",
        "totalInfo": "({{count}} of {{total}} assistants)"
      }
    },
    "card": {
      "protected": "PROTECTED",
      "active": "ACTIVE",
      "mcpCount": "MCP Servers: {{count}}",
      "builtinCount": "Built-in: {{count}}",
      "builtinCountAll": "Built-in: All",
      "allBuiltin": "All Built-in Tools",
      "coreBuiltin": "Built-in Automation",
      "edit": "Edit",
      "checkStatus": "Check Status",
      "checking": "Checking...",
      "delete": "Delete",
      "deleting": "Deleting...",
      "deleteBlocked": "Protected assistant cannot be deleted.",
      "deleteConfirmTitle": "Delete Assistant",
      "confirmDelete": "Confirm Delete",
      "cancel": "Cancel",
      "created": "Created",
      "updated": "Updated",
      "description": "Description",
      "expand": "Expand configuration",
      "collapse": "Collapse configuration"
    }
  },
  "status": {
    "connected": "Connected",
    "disconnected": "Disconnected",
    "unknown": "Unknown",
    "connecting": "Connecting..."
  },
  "sessionFiles": {
    "readError": "Error reading file.",
    "viewFiles": "View session files",
    "fileList": "Session file list",
    "noFiles": "No saved files.",
    "type": "Type:",
    "size": "Size:",
    "created": "Created:",
    "workspace": "Workspace:",
    "sessionId": "Session ID:",
    "workspaceValue": "Workspace"
  },
  "fileAttachment": {
    "attachFiles": "Attach files",
    "attachedFilesLabel": "Attached Files:",
    "attachedFilesList": "Attached files",
    "removeFile": "Remove {{name}}"
  },
  "common": {
    "loading": "Loading...",
    "cancel": "Cancel",
    "close": "Close",
    "delete": "Delete",
    "restartNow": "Restart now",
    "copy": "Copy",
    "copied": "Copied!"
  },
  "baseBubble": {
    "copy": "Copy {{title}} to clipboard",
    "toggle": "Toggle {{title}}"
  },
  "error": {
    "title": "Something went wrong",
    "details": "Error Details",
    "reload": "Reload Application"
  },
  "theme": {
    "toggle": "Toggle theme"
  },
  "notifications": {
    "open": "Open notifications",
    "title": "Notifications",
    "empty": "No attention-needed sessions or pending approvals.",
    "recurringStop": "Recurring stop",
    "pendingApprovals_one": "{{count}} approval",
    "pendingApprovals_other": "{{count}} approvals",
    "viewSession": "Open session {{name}}"
  },
  "sidebar": {
    "mobileTitle": "Sidebar",
    "mobileDescription": "Displays the mobile sidebar.",
    "toggle": "Toggle Sidebar",
    "library": "Library",
    "chat": "Chat",
    "assistants": "Assistants",
    "playbooks": "Playbooks",
    "extensions": "Extensions",
    "recentSessions": "Recent Sessions",
    "seeAllSessions": "See all sessions →",
    "settings": "Settings",
    "history": "History",
    "bookmarked": "Bookmarked",
    "scheduledTasks": "Scheduled Tasks",
    "session": "Session",
    "knowledge": "Knowledge",
    "org": "Org"
  },
  "sessionHistory": {
    "heading": "Session History",
    "description": "Browse and manage your conversation sessions",
    "defaultHeading": "Recent Sessions",
    "defaultDescription": "Resume previous agent sessions",
    "searchPlaceholder": "Search sessions by name or ID...",
    "defaultEmptyTitle": "No previous sessions",
    "defaultEmptySubtitle": "Start a conversation to create your first session",
    "refreshAria": "Refresh sessions",
    "searchAria": "Search sessions",
    "clearSearchAria": "Clear search",
    "focusedLineage": "Focused lineage: {{id}}",
    "showAllLineages": "Show all lineages",
    "loading": "Loading sessions...",
    "noSessionsInLineage": "No sessions visible in lineage {{id}}",
    "clearLineageFocus": "Clear lineage focus",
    "noSessionsMatching": "No sessions found matching \"{{query}}\"",
    "clearSearch": "Clear search",
    "bookmarkedCountSummary": "{{count}} bookmarked sessions",
    "bookmarkedSection": {
      "heading": "Bookmarked Sessions",
      "description": "Pinned sessions stay here for quick access while the full history remains below.",
      "resumeAria": "Open bookmarked session {{name}}",
      "open": "Open session",
      "lastUsed": "Used {{time}}",
      "defaultMeta": "Saved for quick access",
      "more": "+{{count}} more bookmarked sessions",
      "browseAll": "Browse all bookmarked sessions"
    },
    "toasts": {
      "deleted": "Session deleted",
      "deleteFailed": "Failed to delete session"
    },
    "tabs": {
      "all": "All",
      "bookmarked": "Bookmarked",
      "busy": "Busy",
      "idle": "Idle",
      "paused": "Paused",
      "error": "Error"
    },
    "statusFilter": {
      "label": "Status",
      "all": "All statuses"
    },
    "bookmarkFilter": {
      "focused": "Showing bookmarked sessions",
      "clear": "Show all sessions",
      "empty": "No bookmarked sessions yet"
    },
    "sort": {
      "label": "Sort sessions",
      "updatedAt": "Recent activity",
      "createdAt": "Created",
      "name": "Name",
      "ascending": "Sort ascending",
      "descending": "Sort descending"
    },
    "lineageHint": {
      "child": "↳ Child of {{parentName}}",
      "topLevel": "Top-level session"
    },
    "status": {
      "busy": "Active",
      "idle": "Idle",
      "paused": "Paused",
      "error": "Error",
      "unknown": "Unknown"
    },
    "card": {
      "fallbackName": "Session {{id}}",
      "ariaLabel": "Session: {{name}}",
      "level": "Level {{level}}",
      "child": "Child",
      "parent": "Parent",
      "root": "Root",
      "descendants": "{{count}} descendants",
      "parentBadge": "Parent: {{id}}",
      "lineageBadge": "Lineage: {{id}}",
      "lineageFilterAria": "Filter by lineage {{id}}",
      "statusAriaLabel": "Session status: {{status}}",
      "descendantBusy": "Busy: {{count}}",
      "descendantIdle": "Idle: {{count}}",
      "descendantPaused": "Paused: {{count}}",
      "descendantError": "Error: {{count}}",
      "model": "Model:",
      "createdAt": "Created {{time}}",
      "updatedAt": "Updated {{time}}",
      "justNow": "just now",
      "subagentsCount_one": "+{{count}} subagent",
      "subagentsCount_other": "+{{count}} subagents",
      "subagentsKept": "Subagents kept",
      "bookmarkedBadge": "Bookmarked"
    },
    "actions": {
      "view": "View",
      "continue": "Continue",
      "resume": "Resume",
      "bookmark": "Bookmark",
      "bookmarked": "Bookmarked",
      "bookmarkAria": "Bookmark session",
      "unbookmark": "Remove bookmark",
      "unbookmarkAria": "Remove bookmark",
      "viewAria": "View session {{name}}",
      "continueAria": "Continue session {{name}}",
      "resumeAria": "Resume session {{name}}",
      "expandChildrenAria": "Expand child sessions for {{name}}",
      "collapseChildrenAria": "Collapse child sessions for {{name}}",
      "groupAria": "Session actions",
      "deleteTooltip": "Delete session",
      "deleteAria": "Delete session {{name}}",
      "deleting": "Deleting...",
      "deleteAll": "Delete all",
      "deleteAllAria": "Delete this session and all subagent sessions",
      "deleteOnlyThis": "Delete only this",
      "deleteOnlyThisAria": "Delete only this session",
      "confirmDelete": "Confirm Delete",
      "confirmDeleteAria": "Confirm deletion",
      "cancel": "Cancel",
      "cancelDeletionAria": "Cancel deletion"
    },
    "emptyState": {
      "title": "No sessions yet",
      "subtitle": "Start a conversation to create your first session"
    }
  },
  "orgHistory": {
    "heading": "Org View",
    "description": "Explicit org-created lineages only. One-off delegated sessions stay in ordinary history.",
    "cardLabel": "Explicit Org",
    "rootLabel": "Root Session",
    "updatedLabel": "Updated",
    "resumeRoot": "Resume Root Session",
    "delete": "Delete Organization",
    "deleteConfirm": {
      "title": "Delete Organization?",
      "description": "This will permanently delete this organization and all of its associated member sessions, including all files and histories. This action cannot be undone."
    },
    "toasts": {
      "deleted": "Organization deleted",
      "deleteFailed": "Failed to delete organization"
    },
    "emptyState": {
      "title": "No org lineages yet",
      "subtitle": "Create an org explicitly, then spawn org members through the org-aware tools. Plain sub-agent lineage does not belong here."
    }
  },
  "settings": {
    "title": "Settings",
    "versionLabel": "{{appName}} v{{version}}",
    "unsaved": "Unsaved",
    "saved": "Settings saved successfully",
    "saving": "Saving...",
    "saveFailed": "Failed to save settings",
    "applyChanges": "Apply Changes",
    "language": {
      "label": "Language",
      "en": "English",
      "ko": "한국어",
      "zh": "简体中文",
      "ja": "日本語",
      "fr": "Français",
      "es": "Español",
      "de": "Deutsch",
      "pt": "Português"
    },
    "tabs": {
      "general": "General",
      "aiModels": "AI & Models",
      "chatInterface": "Chat Interface",
      "mcpServers": "MCP Servers",
      "advanced": "Advanced",
      "extensions": "Extensions",
      "dev": "Dev",
      "system": "System",
      "experimental": "Experimental"
    },
    "llmPreference": "Default LLM",
    "messageWindowSize": "Message Window Size",
    "messageWindowSizeDescription": "Number of messages to keep in conversation history",
    "messageWindowSizePlaceholder": "e.g., 50",
    "maxInputContext": "Max Input Context",
    "maxInputContextDescription": "Maximum token count before summarizing old turns. Higher values keep more detail but increase cost.",
    "toolCallGroupVisibleCount": "Tool Calls Visible Count",
    "toolCallGroupVisibleCountDescription": "Number of tool calls to show in collapsed group view",
    "toolCallGroupVisibleCountPlaceholder": "e.g., 4",
    "decreaseToolCallCount": "Decrease tool call count",
    "increaseToolCallCount": "Increase tool call count",
    "general": {
      "skillsDirectory": "Skills Directory",
      "skillsDirectorySelectTitle": "Select Skills Directory",
      "skillsDirectoryPlaceholder": "Select a directory for local skills...",
      "browse": "Browse",
      "browseAriaLabel": "Browse skills directory",
      "openInExplorer": "Open in Explorer",
      "verifying": "Verifying...",
      "error": "Error: {{message}}",
      "skillsFound_one": "Found {{count}} skill",
      "skillsFound_other": "Found {{count}} skills",
      "invalidDirectory": "Invalid directory",
      "skillsDirectoryDescription": "Directory containing Agent Skills (folders with SKILL.md). New skills will be discovered automatically."
    },
    "aiModels": {
      "apiKeys": "Provider API Keys",
      "preferences": "Model Preferences",
      "fallbackModel": "Fallback LLM",
      "fallbackModelDescription": "Used as a last resort when the primary model returns malformed or empty responses after all retries.",
      "agentHub": "Agent Hub",
      "agentHubUrlLabel": "Agent Hub URL",
      "agentHubUrlDescription": "URL of the remote Agent Hub server. If set, assistants will be synced with this server.",
      "agentHubUrlPlaceholder": "https://api.agenthub.com",
      "responseBehavior": "Response Behavior",
      "decreaseRetries": "Decrease retry attempts",
      "increaseRetries": "Increase retry attempts",
      "providers": {
        "openai": {
          "name": "OpenAI",
          "description": "GPT-4o, o3, o4-mini and more"
        },
        "anthropic": {
          "name": "Anthropic",
          "description": "Claude 3.5 Sonnet, Haiku and more"
        },
        "gemini": {
          "name": "Google Gemini",
          "description": "Gemini 2.5 Pro, Flash and more"
        },
        "ollama": {
          "name": "Ollama",
          "description": "Run open models locally on your machine"
        },
        "groq": {
          "name": "Groq",
          "description": "Ultra-fast inference via Groq LPU chips"
        },
        "fireworks": {
          "name": "Fireworks AI",
          "description": "Fast hosting for open-source models"
        },
        "cerebras": {
          "name": "Cerebras",
          "description": "World's fastest AI inference chips"
        },
        "openrouter": {
          "name": "OpenRouter",
          "description": "Access 200+ models through one API key"
        },
        "empty": {
          "name": "None",
          "description": ""
        }
      }
    },
    "provider": {
      "apiKey": "API Key",
      "apiKeyPlaceholder": "Enter your {{name}} API key",
      "showApiKey": "Show API key",
      "hideApiKey": "Hide API key",
      "baseUrl": "Base URL",
      "baseUrlPlaceholder": "http://localhost:11434",
      "use3rdParty": "Use 3rd party OpenAI-compatible API",
      "customModelId": "Custom Model ID",
      "customModelIdPlaceholder": "e.g., llama-3.1-70b, mistral-large",
      "customModelIdDescription": "Enter the model ID supported by your 3rd party API (e.g., LM Studio, LocalAI)"
    },
    "chatInterface": {
      "diffContextLines": "Diff Context Lines",
      "diffContextLinesPlaceholder": "e.g., 3",
      "diffContextLinesDescription": "Number of context lines to show in file edit diffs (1-10).",
      "decreaseDiffLines": "Decrease diff context lines",
      "increaseDiffLines": "Increase diff context lines"
    },
    "display": {
      "fontFamilyOptions": {
        "pretendard": "Pretendard (Standard Sans)",
        "inter": "Inter (Clean UI Sans)",
        "nanumSquareNeo": "NanumSquare Neo (Modern Geometric)",
        "d2coding": "D2Coding (Developer Mono)"
      },
      "metricsTitle": "Performance Metrics",
      "metricDisplayMode": "Metric Display Mode",
      "inline": "Inline (show in message)",
      "tooltip": "Tooltip (hover to see)",
      "metricDisplayModeDescription": "Choose how token metrics are displayed in chat messages",
      "prefillDisplayFormat": "Prefill Performance Format",
      "time": "Time to First Token (e.g., 245ms)",
      "tokensPerSecond": "Tokens Per Second (e.g., 520 tok/s)",
      "prefillDisplayFormatDescription": "Choose how prefill performance is displayed",
      "showTokenSpeed": "Show Token Speed",
      "showTokenSpeedDescription": "Display generation speed (tokens per second) in metrics",
      "compactMetrics": "Compact Metrics",
      "compactMetricsDescription": "Use compact display format for token metrics",
      "toolCallsTitle": "Tool Calls",
      "toolDetailLevel": "Tool Detail Level",
      "toolDetailSimple": "Simple (tool name only)",
      "toolDetailDeveloper": "Developer (params, errors, timing)",
      "toolDetailLevelDescription": "Simple mode shows only tool names and status icons. Developer mode shows full parameters, error details, and execution time.",
      "uiVisualsTitle": "UI Visuals",
      "fontFamily": "Font Family",
      "fontFamilyDescription": "Change the default font family for the UI."
    },
    "advanced": {
      "maxRetries": "Max Retry Attempts",
      "maxRetriesDescription": "Maximum number of retries for failed AI requests.",
      "retryDelay": "Retry Delay (ms)",
      "retryDelayDescription": "Delay in milliseconds between retry attempts.",
      "circuitBreaker": "Tool Loop Threshold",
      "circuitBreakerDescription": "Number of repeated errors or tool calls before triggering the circuit breaker.",
      "maxOutputTokens": "Max Output Tokens (Default)",
      "maxOutputTokensDescription": "Default maximum output tokens for new sessions if not specified by assistant.",
      "defaultSessionMaxDepth": "Session Branching Limit (Advanced)",
      "defaultSessionMaxDepthDescription": "Controls how many child-session levels are allowed by default. Set 0 for unlimited. Most users can leave this as-is.",
      "defaultSessionMaxDepthPlaceholder": "e.g., 3",
      "defaultSessionMaxFanout": "Session Child Limit (Advanced)",
      "defaultSessionMaxFanoutDescription": "Controls how many direct child sessions each parent can create by default. Set 0 for unlimited. Most users can leave this as-is.",
      "defaultSessionMaxFanoutPlaceholder": "0 = unlimited",
      "maxConcurrentActiveSessions": "Max Concurrent Agent Sessions",
      "maxConcurrentActiveSessionsDescription": "Maximum number of agent sessions running their LLM loop simultaneously. Higher values use more API quota and memory.",
      "maxConcurrentActiveSessionsPlaceholder": "e.g., 4",
      "maxSuspendedSessions": "Max Suspended Agent Sessions",
      "maxSuspendedSessionsDescription": "Maximum number of agent sessions that can be paused waiting for a child agent to complete. Should be ≥ active sessions.",
      "maxSuspendedSessionsPlaceholder": "e.g., 8",
      "maxConcurrentActiveProcesses": "Max Concurrent Shell Processes",
      "maxConcurrentActiveProcessesDescription": "Maximum number of shell/code processes running simultaneously across all agent sessions.",
      "maxConcurrentActiveProcessesPlaceholder": "e.g., 10",
      "maxSuspendedProcesses": "Max Suspended Shell Processes",
      "maxSuspendedProcessesDescription": "Maximum number of processes that can be paused waiting on pollProcess. Should be ≥ active processes.",
      "maxSuspendedProcessesPlaceholder": "e.g., 20",
      "toolResultInlineLimit": "Tool Result Inline Limit (KB)",
      "toolResultInlineLimitPlaceholder": "e.g., 16",
      "toolResultInlineLimitDescription": "Controls how much tool output stays inline before LibrAgent spills the full result to a workspace file. Lower values keep the agent context leaner.",
      "shellIsolation": "Shell Isolation Level",
      "shellIsolationModes": {
        "basic": "Basic - Full PATH access (less secure)",
        "medium": "Medium - Restricted PATH (balanced)",
        "high": "High - Sandboxed (most secure)"
      },
      "shellIsolationDescription": "Controls environment isolation for shell commands. Basic allows user-installed tools, High provides maximum security.",
      "shellRuntimeBootstrap": "Shell runtime bootstrap",
      "shellRuntimeBootstrapDescription": "When enabled, persistent shells source conda.sh and nvm.sh only (not your full shell rc). PATH is extended without running conda activate.",
      "performance": "Performance & Concurrency",
      "performanceDescription": "These runtime limits control how many agents and workspace processes can run at once.",
      "title": "Advanced Runtime Controls",
      "summary": "These settings change runtime safety rails, multi-agent limits, and shell isolation. Most users should leave them alone.",
      "loopPreventionThreshold": "Loop Prevention Threshold",
      "loopPreventionThresholdDescription": "Number of repeated identical tool outcomes before the agent attempts natural recovery or triggers a hard stop."
    },
    "system": {
      "title": "System & Performance",
      "network": "Network",
      "httpServerPort": "HTTP Server Port",
      "httpServerPortDescription": "Port used by the internal HTTP API server.",
      "httpServerExpose": "Expose HTTP Server",
      "httpServerExposeMode": {
        "local": "Local only (127.0.0.1)",
        "public": "Expose to network (0.0.0.0)"
      },
      "httpServerExposeDescription": "Use local-only by default. Exposing allows access from other devices on your network.",
      "httpServerExposeWarning": "Warning: HTTP API is exposed to your network (0.0.0.0). Use only in trusted networks and protect access appropriately.",
      "fileWorkspace": "File & Workspace",
      "maxFileUploadSize": "Max File Upload Size (MB)",
      "maxFileUploadSizeDescription": "Maximum size for a single file upload. Increase if you often work with large documents.",
      "workspaceCapacity": "Workspace Capacity (MB)",
      "workspaceCapacityDescription": "Total limit for your current workspace's text content.",
      "automation": "Automation Governance",
      "scheduledTaskMinimumInterval": "Scheduled Task Minimum Interval (Min)",
      "scheduledTaskMinimumIntervalDescription": "Minimum allowed interval for new or re-enabled scheduled tasks. Set 0 to disable the guard.",
      "maxScheduledTaskGroups": "Max Scheduled Task Groups",
      "maxScheduledTaskGroupsDescription": "Maximum number of distinct scheduled task groups allowed across recurring teamwork automation.",
      "backgroundTasks": "Background Tasks",
      "searchIndexFrequency": "Search Index Frequency (Min)",
      "searchIndexFrequencyDescription": "How often the AI updates its memory search. Faster updates keep search fresh but use more battery/CPU.",
      "webActionTimeout": "Web Action Timeout (Sec)",
      "webActionTimeoutDescription": "How long the AI waits for a webpage to load or a click to finish.",
      "mcpServerStartupTimeout": "MCP Server Startup Timeout (Sec)",
      "mcpServerStartupTimeoutDescription": "How long to wait for MCP tool servers to initialize. Increase if servers fail to start.",
      "mcpToolTimeout": "MCP Tool Execution Timeout (Sec)",
      "mcpToolTimeoutDisabled": "Disabled",
      "mcpToolTimeoutDescription": "How long to wait for a single tool call before cancelling it. Set to 0 to disable (recommended for long-running agent tools like awaitAgent).",
      "activeSessionRetention": "Keep Active Sessions For (Hours)",
      "activeSessionRetentionDescription": "How long to keep session data in fast memory.",
      "networkRestartFailed": "Failed to restart the app. Please restart manually.",
      "networkRestartNotice": "Changes to HTTP server network settings are applied after restarting the app.",
      "placeholders": {
        "scheduledTaskMinimumInterval": "0 = disabled",
        "maxScheduledTaskGroups": "e.g., 10",
        "maxFileUploadSize": "e.g., 50",
        "workspaceCapacity": "e.g., 10",
        "searchIndexFrequency": "e.g., 5",
        "webActionTimeout": "e.g., 30",
        "mcpServerStartupTimeout": "e.g., 60",
        "mcpToolTimeout": "0 (disabled)",
        "activeSessionRetention": "e.g., 24",
        "httpServerPort": "e.g., 3030"
      },
      "description": "Control app runtime, background workers, automation limits, and network behavior.",
      "restartRequired": "Restart required after save",
      "networkRestartPending": "You changed network settings. Save changes, then restart the app to apply them."
    },
    "about": {
      "title": "About",
      "version": "Version",
      "updateAvailable": "v{{version}} available",
      "upToDate": "Up to date",
      "checkFailed": "Check failed",
      "installing": "Installing…",
      "downloading": "Downloading {{pct}}%",
      "installUpdate": "Install Update",
      "checkForUpdates": "Check for Updates"
    },
    "dangerZone": {
      "title": "⚠️ Danger Zone",
      "description": "These actions permanently delete local data. Double-check the scope before continuing."
    },
    "factoryReset": {
      "title": "Factory Reset",
      "description": "This will perform a complete factory reset. It deletes ALL data.",
      "button": "Reset All Data & Settings",
      "confirmTitle": "Factory Reset Confirmation",
      "confirmDescription": "This will permanently delete ALL data including sessions, assistants, MCP servers, and playbooks. Are you sure?",
      "typeReset": "Type RESET to enable factory reset.",
      "typeResetPlaceholder": "Type RESET",
      "confirmButton": "Reset Everything",
      "resetting": "Resetting...",
      "success": "Factory reset complete. Restart required to fully apply changes.",
      "error": "Failed to perform factory reset. See logs for details."
    },
    "dataReset": {
      "title": "Data & Reset",
      "description": "This will permanently delete all local sessions, their messages, and workspace file stores.",
      "clearAll": "Clear All Sessions & Workspace",
      "confirmTitle": "Delete All Sessions, Messages & Workspace",
      "confirmDescription": "This will permanently delete all local sessions, their messages, and workspace file stores. This action cannot be undone. Are you sure you want to continue?",
      "deleting": "Deleting...",
      "success": "All sessions have been deleted. Restart recommended.",
      "error": "Failed to clear sessions."
    },
    "skills": {
      "modalTitle": "Installed Skills ({{count}})",
      "noSkills": "No skills found.",
      "title": "Skills Management",
      "saveFirst": "Please save the assistant to manage skills.",
      "fetchFailed": "Failed to fetch skills",
      "importing": "Importing skills...",
      "importSuccess_one": "Imported {{count}} skill",
      "importSuccess_other": "Imported {{count}} skills",
      "importSuccessWithOverwrite_one": "Imported {{count}} skill ({{overwrittenCount}} overwritten)",
      "importSuccessWithOverwrite_other": "Imported {{count}} skills ({{overwrittenCount}} overwritten)",
      "importFailed": "Failed to import skills",
      "overrideSuccess": "Skill overridden successfully",
      "overrideFailed": "Failed to override skill",
      "revertSuccess": "Skill reverted to global version",
      "revertFailed": "Failed to revert skill",
      "resetSuccess": "Assistant skills reset successfully",
      "resetFailed": "Failed to reset skills",
      "deleteUserSkill": "Delete {{name}}",
      "userSkillDeleted": "User skill deleted.",
      "userSkillsReset": "User skills reset.",
      "dragDropDesc": "Drag and drop a .skill, .zip, or skill folder to override skills.",
      "resetTooltip": "Remove all assistant-specific skills",
      "reset": "Reset Override",
      "dropHere": "Drop to import skills",
      "sourceAssistant": "Assistant",
      "sourceGlobal": "Global",
      "override": "Override for this assistant",
      "revert": "Revert to global",
      "resetTitle": "Reset Skills Override?",
      "resetConfirm": "This will remove all assistant-specific skills and revert to global defaults. This action cannot be undone."
    },
    "dev": {
      "devOnly": "DEV ONLY",
      "testerTitle": "sampleText / compact tester",
      "provider": "Provider",
      "noKey": " (no key)",
      "promptLabel": "Prompt (for sampleText)",
      "promptPlaceholder": "Enter a test prompt...",
      "compactUses": "compact() uses {{count}} sample messages:",
      "running": "Running…",
      "runSampleText": "Run sampleText()",
      "runCompact": "Run compact()",
      "error": "ERROR",
      "ok": "OK",
      "model": "model: {{model}}",
      "tokensInfo": "tokens: {{promptTokens}} prompt + {{completionTokens}} completion = {{totalTokens}} total",
      "emptyResponse": "(empty response)"
    },
    "pendingChanges": "{{count}} sections changed",
    "discardChanges": "Discard",
    "saveChanges": "Save Changes",
    "discardTitle": "Discard unsaved changes?",
    "discardDescription": "This will revert every pending change on this page back to the last saved state.",
    "leaveTitle": "Leave without saving?",
    "leaveDescription": "You have unsaved changes. Save them before leaving, or discard them and leave this page.",
    "discardAndLeave": "Discard and Leave",
    "saveAndLeave": "Save and Leave",
    "contextStrategyLabel": "Context Management Strategy",
    "contextStrategy": {
      "window": "Sliding Window",
      "compact": "Compact",
      "windowDescription": "Keep the N most recent messages. Simple and predictable.",
      "compactDescription": "Summarize old turns and keep a recent window. Better for long sessions."
    },
    "experimental": {
      "title": "Experimental Features",
      "summary": "These features are in development. Turn them on to preview early capabilities, but keep in mind they might be unstable.",
      "inlineAudioAttachment": {
        "title": "Inline Audio Attachments",
        "description": "Convert attached audio files into base64 inline content for LLM requests. Disabling this saves significant context window tokens by keeping audio files as workspace-only references."
      }
    }
  },
  "mcpServer": {
    "title": "Extensions",
    "pageSubtitle": "Manage your AI extensions and tools",
    "addServer": "Add Extension",
    "recommended": "Recommended Extensions",
    "installed": "Installed",
    "installExtension": "Install {{name}} extension",
    "loading": "Loading extensions...",
    "noServers": "No extensions installed. Add one or choose a recommended extension above.",
    "updating": "Updating...",
    "unnamed": "Unnamed Server",
    "noDescription": "No description",
    "transport": "Transport",
    "toolsAvailable_one": "{{count}} tool available",
    "toolsAvailable_other": "{{count}} tools available",
    "toolCountUnknown": "Tool count unknown (not yet verified)",
    "active": "Active",
    "toggleActive": "Toggle active state for {{name}}",
    "edit": "Edit",
    "editServer": "Edit {{name}}",
    "delete": "Delete",
    "deleteServer": "Delete {{name}}",
    "loadMore": "Load more",
    "loadingMore": "Loading...",
    "verifying": "Verifying...",
    "verified": "Verified",
    "verifiedWithCount": "{{count}} tools verified",
    "verificationFailed": "Connection failed",
    "deleteDialog": {
      "title": "Delete Extension",
      "description": "Are you sure you want to delete \"{{name}}\"? This action cannot be undone.",
      "cancel": "Cancel",
      "confirm": "Delete"
    },
    "dialog": {
      "titleNew": "Add Extension",
      "titleEdit": "Edit Extension: {{name}}",
      "validationError": "Please fill in all required fields",
      "reservedNameError": "\"{{name}}\" is a reserved builtin service name. Choose a different name.",
      "nameLabel": "Name",
      "namePlaceholder": "e.g., filesystem, github, sequential-thinking",
      "nameDesc": "Unique identifier for this extension",
      "descLabel": "Description",
      "descPlaceholder": "Optional description for this extension",
      "transportLabel": "Transport Type",
      "transportStdio": "stdio (Local Process)",
      "transportHttp": "HTTP (Remote Server)",
      "commandLabel": "Command",
      "commandPlaceholder": "e.g., npx, node, python",
      "commandDesc": "Executable command to start the extension",
      "argsLabel": "Arguments",
      "argsPlaceholder": "e.g., -y @modelcontextprotocol/server-filesystem /tmp",
      "argsDesc": "Space-separated command arguments. Multiple spaces will be normalized when saving.",
      "envVarsLabel": "Environment Variables",
      "addEnvVar": "Add Variable",
      "requiredConfig": "Required Configuration",
      "noCustomEnv": "No custom environment variables configured.",
      "customVarsLabel": "Custom Variables",
      "envVarKeyPlaceholder": "Key (e.g. API_KEY)",
      "envVarValuePlaceholder": "Value",
      "envVarDesc": "Environment variables passed to the process (e.g. API Keys).",
      "urlLabel": "URL",
      "urlPlaceholder": "https://api.example.com/mcp",
      "urlDesc": "Full URL to the remote extension endpoint",
      "apiKeyLabel": "API Key / Token",
      "apiKeyOptional": "(Optional)",
      "apiKeyPlaceholder": "Secret Token",
      "apiKeyDesc": "Automatically adds 'Authorization: Bearer <token>' header.",
      "advancedSettings": "Advanced Settings",
      "customHeadersLabel": "Custom Headers",
      "addHeader": "Add Header",
      "noCustomHeaders": "No custom headers configured.",
      "headerKeyPlaceholder": "Key (e.g. User-Agent)",
      "headerValuePlaceholder": "Value",
      "removeHeader": "Remove header {{key}}",
      "removeUnnamedHeader": "Remove unnamed header",
      "removeEnvVar": "Remove environment variable {{key}}",
      "removeUnnamedEnvVar": "Remove unnamed environment variable",
      "sseLabel": "Enable Server-Sent Events (SSE)",
      "sseDesc": "Keep enabled for streaming responses. Disable for stateless HTTP.",
      "cancel": "Cancel",
      "save": "Save",
      "saving": "Saving..."
    },
    "toasts": {
      "saved": "Extension saved successfully",
      "saveFailed": "Failed to save extension: {{error}}",
      "deleted": "Extension deleted successfully",
      "deleteFailed": "Failed to delete extension: {{error}}",
      "toggled": "Extension {{status}}",
      "toggleFailed": "Failed to toggle extension: {{error}}",
      "activated": "activated",
      "deactivated": "deactivated"
    },
    "toolsModal": {
      "description": "Tool names and descriptions as returned by the MCP server.",
      "connecting": "Connecting to server…",
      "failedToLoad": "Failed to load tools",
      "noTools": "No tools returned.",
      "toolListAria": "Tool list",
      "inputSchema": "Input schema",
      "toolsCount_one": "({{count}} tool)",
      "toolsCount_other": "({{count}} tools)"
    }
  },
  "playbook": {
    "title": "Playbooks",
    "description": "Browse and execute automated workflows",
    "searchPlaceholder": "Search playbooks...",
    "loading": "Loading playbooks...",
    "list": {
      "refreshAria": "Refresh playbooks",
      "refreshTooltip": "Refresh playbooks"
    },
    "emptyState": {
      "title": "Start Playbook",
      "description": "A playbook is a record of complex requests that the Agent has successfully executed.",
      "step1": "You can create one by telling the Agent \"Create a playbook\".",
      "step2": "Using the created Playbook allows you to repeat complex tasks without re-entering complex prompts."
    },
    "card": {
      "unknownAssistant": "Unknown",
      "steps_one": "{{count}} Step",
      "steps_other": "{{count}} Steps",
      "start": "Start",
      "deleteTooltip": "Delete Playbook",
      "created": "Created {{date}}",
      "bookmark": "Bookmark"
    },
    "deleteDialog": {
      "title": "Delete Playbook",
      "description": "Are you sure you want to delete \"{{goal}}\"? This action cannot be undone.",
      "cancel": "Cancel",
      "confirm": "Delete"
    },
    "sort": {
      "display": "Display",
      "sortBy": "Sort By",
      "dateCreated": "Date Created",
      "assistant": "Assistant",
      "order": "Order",
      "newestFirst": "Newest First (Desc)",
      "oldestFirst": "Oldest First (Asc)",
      "grouping": "Grouping",
      "none": "None",
      "byTime": "By Time",
      "byAssistant": "By Assistant",
      "bookmarksFirst": "Bookmarks First"
    },
    "group": {
      "ariaLabel": "{{title}} playbooks",
      "today": "Today",
      "yesterday": "Yesterday",
      "thisWeek": "This Week",
      "lastMonth": "Last Month",
      "older": "Older",
      "unknownAssistant": "Unknown Assistant"
    },
    "toasts": {
      "loadFailed": "Failed to load playbooks",
      "bookmarkFailed": "Failed to update bookmark",
      "deleted": "Playbook deleted",
      "deleteFailed": "Failed to delete playbook"
    }
  },
  "agent": {
    "messages": {
      "loadingOlder": "Loading older messages...",
      "scrollToLoadOlder": "Scroll up to load older messages"
    },
    "draft": {
      "send": "Send message",
      "attachFiles": "Attach files",
      "attachedFiles": "Attached Files",
      "removeWorkspaceOverride": "Remove workspace override",
      "removeFile": "Remove {{name}}",
      "dropFilesHint": "Drop files here...",
      "unsupportedFile": "Unsupported file!",
      "uploading": "Uploading...",
      "placeholder": "Message {{name}}...",
      "failedToRegisterDroppedFiles": "Failed to register dropped files",
      "dropFilesInChatInput": "Drop files in the chat input to attach them.",
      "failedToProcessFile": "Failed to process: {{file}}",
      "noAssistantSpecified": "No assistant specified",
      "failedToLoadAssistant": "Failed to load assistant",
      "failedToAttach": "Failed to attach: {{file}}",
      "creatingSession": "Creating session...",
      "failedToStartSession": "Failed to start session",
      "newSession": "New Session",
      "workspaceOverrideActive": "Workspace Override Active",
      "workspaceOverrideDescription": "The agent will use this directory as its primary workspace for this session.",
      "filesWillBeListedAfterStart": "Files will be listed after session starts",
      "basicTools": "Basic Tools",
      "basicToolsDescription": "Includes core capabilities like reading files, managing tasks, and executing code. Always available to help you!",
      "addTools": "+ Add tools",
      "addMoreCapabilities": "Add more capabilities in the settings",
      "localContext": "Local Context"
    },
    "header": {
      "copySuccess": "Conversation copied to clipboard",
      "copyError": "Failed to copy conversation",
      "copyAria": "Copy conversation as JSON",
      "copyTooltip": "Copy conversation as JSON",
      "toggleWorkspaceAria": "Toggle Workspace Files Panel",
      "toggleWorkspaceTooltip": "Toggle Workspace Files Panel",
      "togglePlanningAria": "Toggle AI Planning Panel",
      "togglePlanningTooltip": "Toggle AI Planning Panel",
      "defaultAssistant": "Agent",
      "untitledSession": "Untitled Session",
      "sessionLabel": "Session",
      "renameAria": "Rename session",
      "renameInputAria": "Edit session title",
      "renameSaveAria": "Save session title",
      "renameCancelAria": "Cancel editing session title",
      "renameSuccess": "Session title updated",
      "renameError": "Failed to update session title",
      "renameEmptyError": "Session title cannot be empty"
    },
    "workspace": {
      "loadError": "Failed to load directory",
      "importFileError": "Failed to import file",
      "setOverrideSuccess": "Workspace override set successfully",
      "setOverrideError": "Failed to set override: {{error}}",
      "cancelOverrideSuccess": "Workspace override cancelled",
      "cancelOverrideError": "Failed to cancel override: {{error}}",
      "openExplorerError": "Failed to open explorer: {{error}}",
      "openTerminalError": "Failed to open terminal: {{error}}",
      "selectDirectoryTitle": "Select Workspace Directory",
      "openFolderDialogError": "Failed to open folder dialog: {{error}}",
      "selectFilesTitle": "Select files to upload",
      "selectFilesError": "Failed to select files: {{error}}",
      "fileOpened": "File opened",
      "fileOpenedDescription": "Opened {{name}} with system default app",
      "fileOpenError": "Failed to open file",
      "title": "Workspace Files",
      "openInExplorer": "Open in Explorer",
      "openInExplorerAria": "Open in Explorer",
      "openInTerminal": "Open in Terminal",
      "openInTerminalAria": "Open in Terminal",
      "refresh": "Refresh",
      "refreshAria": "Refresh workspace files",
      "overridePlaceholder": "No workspace override (click Browse to select)",
      "overrideAria": "Workspace override path",
      "browse": "Browse...",
      "setting": "Setting...",
      "set": "Set",
      "canceling": "Canceling...",
      "cancel": "Cancel",
      "usingCustom": "Using custom workspace",
      "loading": "Loading...",
      "noFilesFound": "No files found",
      "uploadAria": "Upload files to workspace",
      "uploading": "Uploading...",
      "dropFiles": "Drop files here or click to upload",
      "dropFolderHint": "Drop a folder here to set as workspace",
      "dropDirToastError": "Drop directories in the central area to set workspace override.",
      "dropMixedFoldersError": "Drop files to import them, or a single folder to set workspace override."
    },
    "statusBar": {
      "retryError": "Failed to retry message",
      "resumeError": "Failed to resume session",
      "loadingTools": "Loading tools...",
      "toolsError": "Tools error",
      "toolsCount": "{{totalCount}}({{mcpCount}}) available • builtin {{builtinCount}}",
      "statusCompacting": "Compressing conversation context in background...",
      "statusAwaitingCompact": "Waiting for context compression to complete...",
      "statusError": "An error occurred: {{error}}",
      "statusIdle": "Ready for input. Type a message to start.",
      "statusBusy": "Processing your request... Agent is thinking and using tools.",
      "statusPaused": "Workflow paused. Click Continue to resume processing.",
      "statusWorkflowError": "Workflow encountered an error.",
      "statusUnknown": "Status: {{status}}",
      "retry": "Retry",
      "retrying": "Retrying...",
      "continue": "Continue",
      "resuming": "Resuming...",
      "agentModeOnTitle": "Agent Mode ON: Forces tool use for autonomous tasks",
      "agentModeOffTitle": "Agent Mode OFF: Standard interaction",
      "agentMode": "Agent Mode",
      "chatMode": "Chat Mode",
      "toolsLabel": "Tools:",
      "viewToolsTitle": "Click to view available tools"
    },
    "attachment": {
      "sessionError": "Cannot attach file: session not available.",
      "validationError": "Failed to validate dropped files. Please try again.",
      "processingFileError": "Error processing file \"{{filePath}}\": {{error}}",
      "processingBatchError": "Error processing files: {{error}}"
    },
    "input": {
      "placeholderDropValid": "Drop supported files here...",
      "placeholderDropInvalid": "Unsupported file type!",
      "placeholderUploading": "Uploading...",
      "placeholderBusy": "Agent busy. Message will be queued...",
      "placeholderDefault": "Query agent or drop files... (@ for references)",
      "ariaLabel": "Chat input",
      "cancelAriaLabel": "Cancel request",
      "cancellingTooltip": "Cancelling...",
      "cancelTooltip": "Cancel",
      "resumeAriaLabel": "Resume workflow",
      "resumeTooltip": "Resume",
      "sendAriaLabel": "Send message",
      "sendTooltip": "Send"
    },
    "toolGroup": {
      "header_one": "Tool Executions ({{count}} call)",
      "header_other": "Tool Executions ({{count}} calls)",
      "hiddenCalls_one": "{{count}} older call hidden",
      "hiddenCalls_other": "{{count}} older calls hidden",
      "showLess": "Show Less",
      "showAllWithCount_one": "Show All ({{count}} call)",
      "showAllWithCount_other": "Show All ({{count}} calls)"
    },
    "toolDetails": {
      "toggleAriaLabel": "Toggle {{toolName}} details",
      "parameters": "Parameters",
      "errorDetails": "Error Details",
      "result": "Result",
      "executing": "Executing tool..."
    },
    "compactDivider": {
      "label": "Context compressed above",
      "ariaLabel": "Context compressed at this point"
    },
    "modelPicker": {
      "provider": "Provider",
      "model": "Model",
      "loading": "Loading...",
      "refreshModels": "Refresh models",
      "refreshRequiresApiKey": "Add an API key to enable model refresh"
    },
    "toolsModal": {
      "title": "Available Tools",
      "subtitleWithCounts": "Built-in tools: {{builtinCount}} • MCP tools: {{mcpCount}}",
      "subtitleDefault": "List of tools available to this agent session.",
      "loading": "Loading tools...",
      "errorTitle": "Error loading tools",
      "empty": "No tools available for this agent session.",
      "ariaLabel": "Available tools list",
      "badgeBuiltin": "builtin",
      "badgeMcp": "mcp",
      "viewSchema": "View Input Schema"
    },
    "planning": {
      "title": "AI Planning",
      "currentGoal": "Current Goal",
      "noGoal": "No active goal",
      "tasks": "Tasks",
      "noTasks": "No tasks",
      "priorityHigh": "High",
      "priorityMedium": "Medium",
      "priorityLow": "Low",
      "scratchpad": "Scratchpad",
      "noScratchpad": "No scratchpad notes",
      "untitledNote": "Untitled note",
      "moreTasks": "more tasks",
      "updated": "updated",
      "schedules": {
        "title": "Schedules",
        "empty": "No session callbacks scheduled",
        "oneShot": "One-shot",
        "recurring": "Recurring",
        "remaining": "{{time}} remaining",
        "nextRun": "Next run: {{time}}",
        "nextRunNone": "Not scheduled",
        "cancelFailed": "Failed to cancel scheduled callback",
        "cancelAria": "Cancel {{name}}"
      }
    },
    "bubble": {
      "notification": "Notification",
      "channel": "CHANNEL",
      "assistant": "ASSISTANT",
      "youQueued": "You (queued)",
      "you": "You",
      "filesAttached_one": "1 file attached",
      "filesAttached_other": "{{count}} files attached",
      "attachedFilesAria": "Attached files",
      "lines_one": "1 line",
      "lines_other": "{{count}} lines",
      "noContent": "No content",
      "thinkingProcess": "Thinking Process",
      "thinkingProcessWithTime": "Thinking Process {{time}}",
      "thinking": "Thinking..."
    },
    "start": {
      "heroTitle": "What would you like to do today?",
      "heroSubtitle": "Select an assistant to begin a new autonomous session.",
      "builtinAssistants": "Built-in Assistants",
      "myAssistants": "My Assistants",
      "assistantsLoadFailed": "Failed to load assistants.",
      "noAssistantsAvailable": "No assistants available yet.",
      "createAssistant": "Create Assistant",
      "manageAssistants": "+ Manage Assistants",
      "playbookNotFound": "Playbook not found",
      "assistantNotFound": "Assistant not found",
      "startingPlaybook": "Starting playbook: {{goal}}",
      "failedToStartPlaybookSession": "Failed to start playbook session",
      "startingSession": "Starting session..."
    },
    "chat": {
      "loadingSession": "Loading session...",
      "playbookStartedAutomatically": "Playbook started automatically",
      "failedToStartPlaybookWorkflow": "Failed to start playbook workflow",
      "sessionContextUnavailable": "Session context is unavailable.",
      "sessionNotFoundOrFailed": "Session not found or failed to load."
    },
    "mediaRenderer": {
      "failedToLoadImage": "Failed to load image",
      "failedToLoadAudio": "Failed to load audio",
      "failedToLoadVideo": "Failed to load video",
      "unsupportedClipboard": "Image clipboard is not supported in this environment",
      "copySuccess": "Image copied to clipboard",
      "copyError": "Failed to copy image to clipboard",
      "copyAria": "Copy image to clipboard",
      "copyTooltip": "Copy Image",
      "downloadCancelled": "Download cancelled",
      "downloadError": "Failed to download image",
      "downloadAria": "Download image",
      "downloadTooltip": "Download Image",
      "imageAlt": "Tool output",
      "unsupportedAudio": "Your browser does not support the audio element.",
      "unsupportedVideo": "Your browser does not support the video element."
    }
  },
  "scheduledTasks": {
    "title": "Scheduled Tasks",
    "subtitle": "Cron-backed tasks that trigger agent workflows automatically",
    "newTask": "New task",
    "noTasks": "No scheduled tasks yet",
    "createFirst": "Create your first task",
    "disabled": "disabled",
    "nextRun": "Next run: {{time}}",
    "nextRunNone": "—",
    "editTask": "Edit Task",
    "deleteTask": "Delete Task",
    "editTaskAria": "Edit task: {{name}}",
    "deleteTaskAria": "Delete task: {{name}}",
    "modal": {
      "titleNew": "New Scheduled Task",
      "titleEdit": "Edit Scheduled Task",
      "nameLabel": "Task name",
      "namePlaceholder": "Daily standup summary",
      "assistantLabel": "Assistant",
      "assistantPlaceholder": "Select an assistant…",
      "scheduleLabel": "Schedule",
      "workspaceLabel": "Workspace",
      "workspaceOptional": "Optional workspace override",
      "workspaceHint": "Browse or drag a folder here to run this task inside a specific workspace.",
      "workspaceSelected": "Workspace override selected",
      "workspaceBrowse": "Browse",
      "workspaceBrowseTitle": "Select Scheduled Task Workspace",
      "workspaceBrowseError": "Failed to open folder picker",
      "workspaceDropHint": "Drop a folder here to use it as the task workspace.",
      "workspaceDropFolderError": "Drop a folder here, not individual files.",
      "workspaceRegisterFailed": "Failed to register dropped folder paths",
      "workspaceClearAria": "Clear workspace override",
      "messageLabel": "Message",
      "messageHint": "Use @playbook:, @skill:, or @file: for autocomplete.",
      "workspaceAutocompleteHint": "Workspace override enables @skill: and @file: autocomplete.",
      "messagePlaceholder": "Type a message… use @playbook:, @skill:, or @file: for autocomplete",
      "cancel": "Cancel",
      "saveChanges": "Save changes",
      "createTask": "Create task",
      "saving": "Saving…"
    },
    "schedule": {
      "repeat": "Repeat",
      "every": "Every",
      "on": "On",
      "onDay": "On day",
      "at": "At",
      "hour": "Hour",
      "minute": "Minute",
      "modes": {
        "minutes": "Every N minutes",
        "hours": "Every N hours",
        "daily": "Daily",
        "weekly": "Weekly",
        "monthly": "Monthly"
      },
      "units": {
        "minutes": "minutes",
        "hours": "hours"
      },
      "summary": "Schedule: ",
      "describe": {
        "minutes_one": "Every {{count}} minute",
        "minutes_other": "Every {{count}} minutes",
        "hours_one": "Every {{count}} hour",
        "hours_other": "Every {{count}} hours",
        "daily": "Daily at {{time}}",
        "weekly": "Every {{day}} at {{time}}",
        "monthly": "Monthly on day {{day}} at {{time}}"
      },
      "days": {
        "0": "Sunday",
        "1": "Monday",
        "2": "Tuesday",
        "3": "Wednesday",
        "4": "Thursday",
        "5": "Friday",
        "6": "Saturday"
      }
    }
  },
  "mentions": {
    "skillSourceWorkspace": "Workspace",
    "skillSourceAssistant": "Assistant",
    "skillSourceUser": "User",
    "skillSourceSystem": "System",
    "skillSourceGlobal": "Global"
  },
  "errorBubble": {
    "title": "Error",
    "unknownError": "An unknown error occurred.",
    "retrying": "Retrying...",
    "tryAgain": "Try Again"
  },
  "knowledge": {
    "untitledEntry": "Untitled knowledge entry",
    "detailTitle": "Knowledge Detail",
    "detailDescription": "Inspect the selected entry, its evidence, and its local graph.",
    "close": "Close",
    "delete": "Delete",
    "tabs": {
      "overview": "Overview",
      "graph": "Graph"
    },
    "metadataTitle": "Metadata",
    "fields": {
      "createdAt": "Created",
      "primaryEntities": "Primary entities",
      "relationships": "Relationships"
    },
    "entitiesTitle": "Entities",
    "noEntities": "No linked entities for this entry.",
    "primaryEntity": "Primary",
    "relationshipListTitle": "Relationships",
    "noRelationships": "No relationships linked to this entry.",
    "loadListFailed": "Failed to load global knowledge entries.",
    "loadDetailFailed": "Failed to load knowledge details.",
    "loadMoreFailed": "Failed to load more knowledge entries.",
    "deleteSuccess": "Knowledge entry deleted.",
    "deleteSuccessDescription": "Removed {{entities}} orphan entities and {{relationships}} orphan relationships.",
    "deleteFailed": "Failed to delete knowledge entry.",
    "pageTitle": "Global Knowledge",
    "pageSubtitle": "Search shared memory, inspect evidence, and prune stale knowledge.",
    "refresh": "Refresh",
    "browserTitle": "Knowledge Browser",
    "browserDescription": "Find chunks first, then inspect their evidence and graph neighborhood.",
    "searchPlaceholder": "Search content, tags, or source...",
    "assistantFilterPlaceholder": "Filter by assistant",
    "assistantFilterAll": "All assistants",
    "emptyState": "No knowledge entries match the current filters.",
    "loadMore": "Load more",
    "endOfResults": "You have reached the end of the current results.",
    "confirmDeleteTitle": "Delete knowledge entry",
    "confirmDelete": "Delete this knowledge entry and clean up orphaned graph data?",
    "cancel": "Cancel",
    "graph": {
      "empty": "No graph data linked to this knowledge entry.",
      "primaryEntity": "Primary entity",
      "relatedEntity": "Related entity"
    },
    "excerpt": "Excerpt"
  }
}
