export default {
    // Brand and titles
    "brand.title": "Tinybot",
    "brand.subtitle": "Minimal Web UI",
    "ui.newChat": "New Chat",
    "ui.refresh": "Refresh",
    "ui.sessions": "Sessions",
    "ui.systemStatus": "System Status",
    "ui.provider": "Provider",
    "ui.model": "Model",
    "ui.websocket": "WebSocket",
    "ui.tokenUsage": "Token Usage",
    "ui.currentSession": "Current Session",
    "ui.notConnected": "Not Connected",
    "ui.newSessionTitle": "New chat",
    "ui.clear": "Clear",
    "ui.enterMessage": "Enter Message",
    "ui.inputPlaceholder": "Press Enter to send, Shift+Enter for new line",
    "ui.send": "Send",
    "ui.wsStreaming": "WebSocket real-time streaming",
    "ui.tools": "AI capabilities",
    "ui.skills": "AI behavior templates",
    "ui.workspace": "Workspace",
    "ui.basicMode": "Basic",
    "ui.advancedMode": "Advanced",
    "tools.total": "items",
    "skills.total": "items",
    "skills.enabled": "enabled",
    "ui.reload": "Reload",
    "ui.save": "Save",
    "ui.fileNotSelected": "No file selected",
    "ui.filePlaceholder": "Select a workspace Markdown file to edit",
    "ui.settings": "Settings",
    "ui.settingsText": "Settings",
    "ui.language": "Language",
    "ui.lastUpdate": "Last update",
    "ui.fileNotCreated": "File not created yet, will be written to workspace on save",
    "ui.updatedAt": "Updated at",
    "ui.noTime": "No time",
    "ui.deleteSession": "Delete session",
    "ui.confirmDelete": "Confirm delete session",
    "ui.confirm": "Confirm",
    "ui.close": "Close",
    "ui.skipToChat": "Skip to chat",
    "ui.switchLanguage": "Switch language",
    "ui.initializing": "Initializing...",
    "ui.toggleVisibility": "Toggle visibility",

    // Copy actions
    "ui.copy": "Copy",
    "ui.copied": "Copied",
    "ui.copyFailed": "Failed",
    "ui.copyContent": "Copy message content",
    "ui.copyToolResult": "Copy tool result",
    "message.thinking": "Thinking",
    "message.thinkingCollapsed": "Hidden by default, click to expand",
    "message.thinkingVisible": "Click to collapse",
    "message.toolCall": "Tool call",
    "message.toolResult": "Tool response",
    "message.toolArgs": "Arguments",
    "message.toolResponse": "Response",
    "message.toolNoArgs": "No arguments",
    "message.collapsedCount": "{count} messages collapsed",
    "message.collapsedHint": "Click to expand",
    "message.collapseAgain": "Click to collapse",
    "tool.name": "Name",
    "tool.description": "Description",
    "tool.parameters": "Parameters",
    "tool.display.readFile": "Read file",
    "tool.display.writeFile": "Write file",
    "tool.display.exec": "Run command",
    "tool.display.spawn": "Background task",
    "tool.display.cron": "Scheduled task",
    "tool.risk.modifyFiles": "May modify files; key actions require confirmation",
    "tool.risk.background": "Runs in the background; check scope first",

    // Tooltips
    "ui.toggleTheme": "Toggle theme",
    "ui.settings": "Settings",
    "ui.docs": "Usage Guide",
    "ui.newSession": "New session",
    "ui.clearSession": "Clear current session",
    "ui.showShortcuts": "Show keyboard shortcuts",
    "ui.github": "GitHub Repository",

    // Shortcuts modal
    "shortcuts.title": "Shortcuts",
    "shortcuts.newChat": "New chat",
    "shortcuts.clearSession": "Clear current session",
    "shortcuts.saveEdit": "Save file edit",
    "shortcuts.showHelp": "Show shortcuts",
    "shortcuts.showPageHelp": "Show page help overlay",
    "shortcuts.sendMessage": "Send message",
    "shortcuts.newLine": "New line",
    "shortcuts.closeModal": "Close modal",
    "ui.helpTour": "Page tour",
    "tour.pageHelp.title": "Page help",
    "tour.pageHelp.subtitle": "These notes explain what each area does and when to use it. Press Esc to close.",
    "tour.start": "Start tour",
    "tour.step": "Step",
    "tour.back": "Back",
    "tour.next": "Next",
    "tour.skip": "Skip",
    "tour.done": "Done",
    "tour.sidebar.title": "Session sidebar",
    "tour.sidebar.desc": "This is your chat history. Use it to switch context, find previous questions, or start a new topic without old context.",
    "tour.newChat.title": "New chat",
    "tour.newChat.desc": "Create a clean chat. Use it for a new topic so older messages do not affect the answer.",
    "tour.sessions.title": "Session list",
    "tour.sessions.desc": "Select a session to continue its context. Delete appears on hover and asks for confirmation first.",
    "tour.status.title": "System status",
    "tour.status.desc": "Use this to check whether the service is connected, which model is active, and whether context usage is near the limit.",
    "tour.chat.title": "Chat workspace",
    "tour.chat.desc": "This is where conversation appears. Thinking is collapsed by default; expand it only when you need to debug.",
    "tour.messages.title": "Message list",
    "tour.messages.desc": "Messages appear in order. Tool calls and long process details are folded so you can read the final answer first.",
    "tour.upload.title": "Upload temporary file",
    "tour.upload.desc": "Add a file to this conversation for one-off summarizing or explanation. Save it to the knowledge base only when you need reuse.",
    "tour.composer.title": "Message composer",
    "tour.composer.desc": "Ask questions or give tasks here. Press Enter to send and Shift+Enter for a new line. Specific requests get steadier answers.",
    "tour.send.title": "Send",
    "tour.send.desc": "Click the round button to send the current message. Enter works too.",
    "tour.ragToggle.title": "Material answer toggle",
    "tour.ragToggle.desc": "When enabled, answers prefer uploaded or knowledge-base materials. Keep it off for normal chat or open-ended questions.",
    "tour.mode.title": "Basic / Advanced mode",
    "tour.mode.desc": "Basic mode keeps only common entry points. Switch to Advanced for tools, skills, workspace, or search strategy controls.",
    "tour.tools.title": "Tools panel",
    "tour.tools.desc": "These are capabilities the AI can call, such as file access, commands, and scheduled tasks. Watch risk hints for file or command tools.",
    "tour.knowledge.title": "Knowledge base",
    "tour.knowledge.desc": "Use this after adding materials when you want answers from documents, source snippets, or the knowledge graph.",
    "tour.skills.title": "Skills",
    "tour.skills.desc": "Skills preset how the AI works. Configure them only when you want a repeatable workflow, tone, or tool-use habit.",
    "tour.workspace.title": "Workspace",
    "tour.workspace.desc": "If you ask the AI to edit files, this shows workspace files. Review content before saving changes.",
    "tour.language.title": "Language",
    "tour.language.desc": "Switch UI language. This changes page labels, not model capability.",
    "tour.theme.title": "Theme",
    "tour.theme.desc": "Switch between light and dark themes for your reading environment.",
    "tour.settingsButton.title": "Settings",
    "tour.settingsButton.desc": "Configure model, workspace, and knowledge base. Basic mode shows core settings; advanced parameters stay in Advanced mode.",
    "tour.settings.title": "Settings and help",
    "tour.settings.desc": "Global actions live here: language, theme, docs, tour, settings, and repository link. They usually do not affect the current message.",

    // Status
    "status.connecting": "Connecting...",
    "status.connected": "Connected",
    "status.disconnected": "Disconnected",
    "status.failed": "Connection failed",
    "status.serverError": "Server error",
    "status.initFailed": "Initialization failed",
    "status.init": "Initializing",
    "status.loaded": "Loaded",
    "status.loading": "Loading",
    "status.saving": "Saving",
    "status.saved": "Saved",
    "status.cleared": "Cleared",
    "status.editing": "Editing",
    "status.conflict": "Conflict",
    "status.saveFailed": "Save failed",
    "status.loadFailed": "Load failed",
    "status.notConfigured": "Not configured",
    "status.running": "Running",
    "status.stopped": "Stopped",
    "status.available": "Available",
    "status.always": "Always",
    "status.unavailable": "Unavailable",
    "status.enabled": "Enabled",
    "status.disabled": "Disabled",
    "status.creatingSession": "Creating session...",
    "status.externalUpdate": "External update",
    "status.initializing": "Initializing...",
    "ui.clickToEnable": "Click to enable",
    "ui.clickToDisable": "Click to disable",
    "ui.clickToView": "Click to view details",
    "ui.delete": "Delete",

    // Skill modal
    "skill.name": "Name",
    "skill.namePlaceholder": "skill-name",
    "skill.description": "Description",
    "skill.descriptionPlaceholder": "Skill description",
    "skill.always": "Always load",
    "skill.source": "Source",
    "skill.content": "Content (SKILL.md)",
    "skill.contentPlaceholder": "# Skill instructions...",
    "skill.validate": "Validate",
    "skill.new": "New Skill",
    "skill.workspaceNew": "Will be created in workspace/skills",
    "skill.nameRequired": "Name is required",
    "skill.createFailed": "Create failed",
    "skill.created": "Skill created",
    "skill.updateFailed": "Update failed",
    "skill.updated": "Skill updated",
    "skill.deleteFailed": "Delete failed",
    "skill.valid": "Valid format",
    "skill.invalid": "Invalid format",
    "skill.saveFirst": "Please save before validating",
    "skill.validateFailed": "Validation failed",

    // Messages
    "msg.noSession": "Please create or select a session first.",
    "msg.noMessages": "No messages in current session.",
    "chat.example.summarizeFile": "Summarize my uploaded file",
    "chat.example.explainConcept": "Explain a concept",
    "chat.example.askKnowledge": "Answer from the knowledge base",
    "chat.example.createReminder": "Create a todo or reminder",
    "msg.noSessions": "No sessions yet.",
    "msg.noTools": "No available tools.",
    "msg.noSkills": "No available skills.",
    "msg.noDescription": "No description",
    "msg.versionConflict": "File was updated elsewhere, please reload before saving.",
    "msg.externalFileUpdate": "Current file was updated elsewhere, you have unsaved changes.",
    "msg.websocketNotConnected": "websocket is not connected",

    // Settings modal
    "settings.title": "Settings",
    "settings.configSections": "Config sections",
    "settings.modelList": "Model list",
    "settings.agent": "Agent Config",
    "settings.agent.workspace": "Workspace",
    "settings.agent.workspacePlaceholder": "Workspace path",
    "settings.agent.model": "Model",
    "settings.agent.modelPlaceholder": "Model name",
    "settings.agent.activeProfile": "Active Profile",
    "settings.agent.provider": "Provider",
    "settings.agent.providerAuto": "auto (auto detect)",
    "settings.agent.temperature": "Temperature",
    "settings.agent.temperaturePlaceholder": "0.0 - 2.0",
    "settings.agent.maxTokens": "Max Tokens",
    "settings.agent.maxTokensPlaceholder": "Max output length",
    "settings.agent.contextWindow": "Context Window",
    "settings.agent.contextWindowPlaceholder": "Context window size",
    "settings.agent.maxToolIterations": "Max Tool Iterations",
    "settings.agent.maxToolIterationsPlaceholder": "Max tool iterations",
    "settings.agent.reasoningEffort": "Reasoning Effort",
    "settings.agent.reasoningEffortDefault": "Default",
    "settings.agent.timezone": "Timezone",
    "settings.agent.timezonePlaceholder": "e.g. Asia/Shanghai",

    // Knowledge settings
    "settings.knowledge": "Knowledge Config",
    "settings.knowledge.enabled": "Enable knowledge base",
    "settings.knowledge.autoRetrieve": "Auto retrieve",
    "settings.knowledge.maxChunks": "Max Chunks",
    "settings.knowledge.chunkSize": "Chunk Size",
    "settings.knowledge.chunkOverlap": "Chunk Overlap",
    "settings.knowledge.retrievalMode": "Retrieval Mode",
    "settings.knowledge.rerankEnabled": "Enable rerank",
    "settings.knowledge.rerankModel": "Rerank Model",
    "settings.knowledge.rerankApiKey": "Rerank API Key",
    "settings.knowledge.rerankApiKeyEnvVar": "Rerank API Key Env Var",
    "settings.knowledge.rerankApiBase": "Rerank API Base",
    "settings.knowledge.rerankTopN": "Rerank Top N",
    "settings.knowledge.generateSummary": "Generate summary",
    "settings.knowledge.semanticExtractionMode": "Semantic Extraction Mode",
    "settings.knowledge.semanticLlmMaxTokens": "Semantic LLM Max Tokens",
    "settings.knowledge.semanticLlmTimeout": "Semantic LLM Timeout (s)",
    "settings.knowledge.graphRagCommunityAlgorithm": "GraphRAG Community Algorithm",
    "settings.knowledge.graphRagCommunityLevel": "GraphRAG Community Level",
    "settings.knowledge.graphRagReportLlmEnabled": "GraphRAG LLM Reports",
    "settings.knowledge.graphRagReportMaxTokens": "GraphRAG Report Max Tokens",
    "settings.knowledge.graphRagEntitySummaryEnabled": "GraphRAG Entity Summaries",
    "settings.semanticExtraction.rule": "Rule",
    "settings.semanticExtraction.llm": "LLM",
    "settings.semanticExtraction.hybrid": "Hybrid",

    // Embedding settings
    "settings.embedding": "Embedding Config",
    "settings.embedding.provider": "Provider",
    "settings.embedding.modelName": "Model Name",
    "settings.embedding.apiKey": "API Key",
    "settings.embedding.apiBase": "API Base",
    "settings.optionHybrid": "Hybrid",
    "settings.optionDense": "Dense",
    "settings.optionSparse": "Sparse",
    "settings.optionLocal": "Local",
    "settings.temperaturePrecise": "Precise 0",
    "settings.temperatureCreative": "Creative 2",

    "settings.provider": "Provider Config",
    "settings.provider.name": "Provider name",
    "settings.provider.profileId": "Profile ID",
    "settings.provider.apiKey": "API Key",
    "settings.provider.apiKeyPlaceholder": "API key",
    "settings.provider.apiBase": "API Base",
    "settings.provider.apiBasePlaceholder": "API base URL",
    "settings.provider.models": "Models",
    "settings.provider.supportsModelDiscovery": "Supports /v1/models",
    "settings.provider.modelSelectPlaceholder": "Manual / custom model",
    "settings.provider.refreshModels": "Refresh models",
    "settings.provider.modelsLoading": "Loading models...",
    "settings.provider.modelsLoaded": "Loaded models",
    "settings.provider.modelsFailed": "Model discovery failed",
    "settings.provider.modelsFallback": "Discovery failed; using the manual list.",

    "settings.tools": "Tools Config",
    "settings.tools.web": "Web tools",
    "settings.tools.webEnable": "Enable web tools",
    "settings.tools.proxy": "Proxy",
    "settings.tools.proxyPlaceholder": "HTTP/SOCKS5 proxy",
    "settings.tools.searchProvider": "Search Provider",
    "settings.tools.exec": "Exec tools",
    "settings.tools.execEnable": "Enable exec tools",
    "settings.tools.timeout": "Timeout (seconds)",
    "settings.tools.timeoutPlaceholder": "Execution timeout",
    "settings.tools.mcp": "MCP Servers",
    "settings.tools.mcpServers": "MCP Servers JSON",
    "settings.tools.mcpServersPlaceholder": "External MCP server config JSON",
    "settings.tools.restrictWorkspace": "Restrict to workspace",

    "settings.gateway": "Gateway Config",
    "settings.gateway.host": "Host",
    "settings.gateway.hostPlaceholder": "Listen address",
    "settings.gateway.port": "Port",
    "settings.gateway.portPlaceholder": "Port",
    "settings.gateway.heartbeat": "Heartbeat",
    "settings.gateway.heartbeatEnable": "Enable heartbeat",
    "settings.gateway.interval": "Interval (seconds)",
    "settings.gateway.intervalPlaceholder": "Heartbeat interval",

    "settings.channels": "Channels Config",
    "settings.channels.sendProgress": "Send progress messages",
    "settings.channels.sendToolHints": "Send tool hints",
    "settings.channels.maxRetries": "Max Retries",
    "settings.channels.maxRetriesPlaceholder": "Send retry count",

    // Config parameter help tooltips
    "help.workspace": "Where AI reads/writes files\nDefault: ~/.tinybot/workspace",
    "help.model": "AI model name\ne.g. deepseek-chat, gpt-4o, qwen-max",
    "help.activeProfile": "Provider profile used by the agent\nLeave blank to keep legacy model-name matching",
    "help.provider": "AI service provider\nauto detects from model name",
    "help.temperature": "Response randomness\n0=precise, 1=creative\nSuggest 0.1 for coding",
    "help.maxTokens": "Max response length\nLonger = more detailed, more cost",
    "help.contextWindow": "Context memory capacity\nLarger = remembers more history",
    "help.maxToolIterations": "Max tool call attempts\nPrevents infinite loops",
    "help.reasoningEffort": "Thinking depth\nlow=fast, high=deep reasoning\n(Some models only)",
    "help.timezone": "Your timezone\nHelps AI know current time\ne.g. Asia/Shanghai",
    "help.knowledgeEnabled": "Enable knowledge base\nAI can search uploaded docs",
    "help.knowledgeAutoRetrieve": "Auto search knowledge each query\nNo manual prompt needed",
    "help.knowledgeMaxChunks": "Max chunks per retrieval\nSuggest 5-10",
    "help.knowledgeChunkSize": "Document chunk size (chars)\nAffects retrieval precision",
    "help.knowledgeChunkOverlap": "Overlap chars between chunks\nImproves coherence",
    "help.knowledgeRetrievalMode": "Retrieval method\nhybrid=mixed with GraphRAG fusion\ndense=vector\nsparse=keyword\nsemantic=entities/claims/relations\nlocal=GraphRAG entity-local search\nglobal=community reports\ndrift=community + local search",
    "help.knowledgeRerankEnabled": "Reorder results\nImproves relevance",
    "help.knowledgeRerankModel": "Rerank model name\nDefault: qwen3-rerank",
    "help.knowledgeRerankApiKey": "Rerank API key\nPrefer env var",
    "help.knowledgeRerankApiKeyEnvVar": "Env var name for API key\nSafer than direct input",
    "help.knowledgeRerankApiBase": "Rerank API endpoint URL",
    "help.knowledgeRerankTopN": "Results after rerank\n0=use maxChunks",
    "help.knowledgeGenerateSummary": "Generate AI summary for each chunk\nCalls LLM during indexing\nIncreases API cost",
    "help.knowledgeSemanticExtractionMode": "Semantic extraction method\nrule=pattern matching(free)\nllm=AI extraction(requires API)\nhybrid=combine both",
    "help.knowledgeSemanticLlmMaxTokens": "Max output length for semantic extraction\nSuggest 1200",
    "help.knowledgeSemanticLlmTimeout": "Semantic extraction API timeout in seconds\nSuggest 30",
    "help.knowledgeGraphRagCommunityAlgorithm": "GraphRAG community split algorithm\ngreedy=weighted split\nconnected=component fallback",
    "help.knowledgeGraphRagCommunityLevel": "Default GraphRAG community level\n0=broad\n1=fine-grained",
    "help.knowledgeGraphRagReportLlmEnabled": "Generate community reports with the LLM\nImproves global/drift quality and adds API cost",
    "help.knowledgeGraphRagReportMaxTokens": "Max LLM output for community reports\nSuggest 1200",
    "help.knowledgeGraphRagEntitySummaryEnabled": "Merge entity and relationship descriptions after indexing\nRecommended on",
    "help.embeddingProvider": "Embedding service\nlocal=free offline\nopenai/azure=API",
    "help.embeddingModelName": "Embedding model\nlocal: all-MiniLM-L6-v2\nAPI: text-embedding-3-small",
    "help.embeddingApiKey": "API service key\nPrefer env var",
    "help.embeddingApiBase": "API endpoint URL\nRequired for Azure",
    "help.providerSelect": "Select AI provider to configure",
    "help.providerProfileId": "Name for an API key, API base, and model list\nUseful for different plans or endpoints from the same provider",
    "help.apiKey": "API key\nPrefer env var over direct input",
    "help.apiBase": "Custom API endpoint\nUsually leave default",
    "help.providerModels": "Models commonly used by this profile\nOne model per line; manual model input still works",
    "help.supportsModelDiscovery": "Whether this endpoint supports OpenAI-compatible /v1/models\nManual model names still work if it does not",
    "help.webEnable": "Allow AI to search web\nGet latest information",
    "help.proxy": "Network proxy URL\ne.g. http://127.0.0.1:7890\nor socks5://127.0.0.1:1080",
    "help.searchProvider": "Search engine\nduckduckgo=free\nbrave/tavily=require API",
    "help.execEnable": "Allow AI to run shell commands\nSecurity risk - use carefully",
    "help.execTimeout": "Command timeout in seconds\nAuto-kill on timeout",
    "help.mcpServers": "Configure external MCP servers\nSupports stdio, sse, streamableHttp\nReconnects after saving",
    "help.restrictWorkspace": "AI can only access workspace dir\nMore secure",
    "help.gatewayHost": "WebUI listen address\n0.0.0.0=all interfaces\n127.0.0.1=localhost only",
    "help.gatewayPort": "WebUI port\nDefault: 18790",
    "help.heartbeatEnable": "Send periodic status updates\nKeeps connection stable",
    "help.heartbeatInterval": "Heartbeat interval in seconds\nDefault: 30 minutes",
    "help.sendProgress": "Show AI thinking process text\nMore engaging responses",
    "help.sendToolHints": "Show active tool calls\ne.g. \"Reading file...\"",
    "help.sendMaxRetries": "Retry count on send failure\nIncludes initial attempt",

    // Sensitive field badge
    "settings.sensitive": "Sensitive",
    "settings.validation.urlError": "Invalid URL format",
    "settings.validation.timezoneError": "Invalid timezone format",
    "settings.validation.modelEmpty": "Model name required",
    "settings.validation.portRange": "Port range 1-65535",
    "settings.validation.jsonObjectError": "Must be a valid JSON object",
    "settings.validation.valid": "Valid format",

    "settings.saved": "Config saved",
    "settings.saveFailed": "Save failed",
    "settings.noValidFields": "no valid fields to update",
    "settings.searchPlaceholder": "Search settings, help text, or current values",
    "settings.expandAll": "Expand all",
    "settings.collapseAll": "Collapse all",
    "settings.noSearchResults": "No matching settings",
    "settings.noChanges": "No unsaved changes",
    "settings.unsavedChanges": "Unsaved changes",
    "settings.resetChanges": "Reset",

    // Role labels
    "role.assistant": "assistant",
    "role.user": "user",
    "role.system": "system",

    // Theme
    "theme.toggle": "Toggle theme",
    "theme.light": "Light",
    "theme.dark": "Dark",

    // Knowledge
    "ui.knowledge": "Knowledge",
    "knowledge.docs": "Docs",
    "knowledge.chunks": "Chunks",
    "knowledge.entities": "Entities",
    "knowledge.claims": "Claims",
    "knowledge.relations": "Relations",
    "knowledge.communities": "Communities",
    "knowledge.reports": "Reports",
    "knowledge.indexingTitle": "Generating knowledge graph",
    "knowledge.indexingDesc": "Entities, relationships, communities, and reports are being built. Large datasets can take a while; you can come back shortly.",
    "knowledge.indexingAddDoc": "Adding the document and generating the knowledge graph...",
    "knowledge.indexingUploadDoc": "Uploading the document and generating the knowledge graph...",
    "knowledge.indexingRebuild": "Rebuilding indexes and the knowledge graph...",
    "knowledge.indexingDone": "Knowledge graph is ready",
    "knowledge.indexingFailed": "Knowledge graph generation failed",
    "knowledge.communityReports": "Community reports",
    "knowledge.views": "Knowledge views",
    "knowledge.overview": "Overview",
    "knowledge.graph": "Knowledge graph",
    "knowledge.refreshGraph": "Refresh graph",
    "knowledge.noGraph": "No knowledge graph",
    "knowledge.allKnowledge": "All knowledge",
    "knowledge.clearFilter": "Clear filter",
    "knowledge.graphLevel": "Level {level}",
    "knowledge.graphMetaLevel": "level {level}",
    "knowledge.graphLevelShort": "L{level}",
    "knowledge.graphLevelCount": "L{level}: {count}",
    "knowledge.graphMetaNodes": "{count} nodes",
    "knowledge.graphMetaEdges": "{count} edges",
    "knowledge.graphMetaEntities": "{count} entities",
    "knowledge.graphMetaCommunities": "{count} communities",
    "knowledge.graphMetaReports": "{count} reports",
    "knowledge.graphOverview": "Graph overview",
    "knowledge.graphOverviewDesc": "{entities} entities, {relationships} relationships. Select any node or edge to inspect evidence.",
    "knowledge.filteredScope": "Filtered: {name} / {level}",
    "knowledge.coreEntities": "Core entities",
    "knowledge.community": "Community",
    "knowledge.communityName": "Community {id}",
    "knowledge.noDescriptionAvailable": "No description available.",
    "knowledge.noRelationshipDescription": "No relationship description available.",
    "knowledge.degree": "Degree",
    "knowledge.frequency": "Frequency",
    "knowledge.sourceDocuments": "Source documents",
    "knowledge.relationship": "relationship",
    "knowledge.weight": "Weight",
    "knowledge.strength": "Strength",
    "knowledge.evidence": "Evidence",
    "knowledge.rank": "rank {rank}",
    "knowledge.childCount": "{count} child",
    "knowledge.parentCommunity": "parent {id}",
    "knowledge.healthReady": "Knowledge graph is ready",
    "knowledge.healthSearchable": "Knowledge base is searchable",
    "knowledge.healthNeedsSemantic": "Documents need semantic indexing",
    "knowledge.healthEmpty": "No knowledge loaded",
    "knowledge.readiness": "Knowledge readiness",
    "knowledge.healthDesc": "{docs} documents, {chunks} chunks, {entities} entities, {relations} relationships, {communities} communities.",
    "knowledge.healthDescEmpty": "Add documents, then rebuild indexes to create retrieval and graph signals.",
    "knowledge.insightRetrievalIndex": "Retrieval index",
    "knowledge.insightRetrievalReady": "{dense} dense documents and {sparse} sparse chunks are indexed.",
    "knowledge.insightRetrievalEmpty": "No retrieval index is visible yet. Rebuild the index after adding documents.",
    "knowledge.insightSemanticModel": "Semantic model",
    "knowledge.insightSemanticReady": "{entities} entities and {relations} relationships were extracted from source chunks.",
    "knowledge.insightSemanticEmpty": "No entities extracted yet. Semantic rebuild will unlock graph exploration.",
    "knowledge.insightGraphRagLayer": "GraphRAG layer",
    "knowledge.insightGraphRagReady": "{communities} communities{levels} and {reports} reports are available for global/drift search.",
    "knowledge.insightGraphRagEmpty": "No communities yet. Relationships are needed before community reports can form.",
    "knowledge.freeze": "Freeze",
    "knowledge.freezeLayout": "Freeze layout",
    "knowledge.release": "Release",
    "knowledge.releaseLayout": "Release layout",
    "knowledge.graphHint": "Scroll to zoom, drag background to pan, drag nodes to shape the map",
    "knowledge.interactiveGraph": "Interactive knowledge graph",
    "knowledge.graphButton": "Graph",
    "knowledge.viewDocGraph": "View this document in the graph",
    "knowledge.highlightInGraph": "Highlight in graph",
    "knowledge.documents": "Documents",
    "knowledge.addDoc": "Add",
    "knowledge.upload": "Upload",
    "knowledge.query": "Ask documents",
    "knowledge.queryPlaceholder": "Ask a question about your documents...",
    "knowledge.modeHybrid": "Hybrid",
    "knowledge.modeDense": "Dense",
    "knowledge.modeSparse": "Sparse",
    "knowledge.modeSemantic": "Semantic",
    "knowledge.modeLocal": "Local",
    "knowledge.modeGlobal": "Global",
    "knowledge.modeDrift": "DRIFT",
    "knowledge.search": "Search",
    "knowledge.advancedOptions": "Advanced options",
    "knowledge.resultSummary": "Found {count} possibly relevant snippets, mainly from: {docs}. Start with the summary, then expand raw snippets if needed.",
    "knowledge.lowConfidence": "No clearly relevant content was found. These are only possibly related snippets.",
    "knowledge.unknownSource": "unknown source",
    "knowledge.whyMatched": "Why it matched:",
    "knowledge.reasonSection": "from section \"{section}\"",
    "knowledge.reasonEntities": "matched entities {entities}",
    "knowledge.reasonMethod": "retrieved by {method}",
    "knowledge.reasonContent": "snippet text is similar to the question",
    "knowledge.reasonFallback": "the system returned a similar snippet",
    "knowledge.rawDetails": "Raw retrieval details",
    "knowledge.noRawDetails": "No raw retrieval details",
    "knowledge.queryHintHybrid": "Blends vector, keyword, semantic, and graph signals. Best default.",
    "knowledge.queryHintDense": "Vector similarity over embedded chunks.",
    "knowledge.queryHintSparse": "Keyword/BM25 matching over child chunks.",
    "knowledge.queryHintSemantic": "Entity, claim, and relationship matching.",
    "knowledge.queryHintLocal": "Starts from matched entities, then expands nearby graph neighbors.",
    "knowledge.queryHintGlobal": "Searches community reports for broad topic answers.",
    "knowledge.queryHintDrift": "Uses communities to guide local graph expansion.",
    "knowledge.noDocs": "No documents",
    "knowledge.noCategory": "No category",
    "knowledge.docDetail": "Document Detail",
    "knowledge.docId": "ID",
    "knowledge.docName": "Name",
    "knowledge.docNamePlaceholder": "Document name",
    "knowledge.category": "Category",
    "knowledge.categoryPlaceholder": "Category name",
    "knowledge.tags": "Tags",
    "knowledge.tagsPlaceholder": "tag1, tag2 (comma separated)",
    "knowledge.fileType": "File Type",
    "knowledge.content": "Content",
    "knowledge.contentPlaceholder": "Enter document content...",
    "knowledge.createdAt": "Created At",
    "knowledge.nameRequired": "Document name is required",
    "knowledge.contentRequired": "Document content is required",
    "knowledge.addFailed": "Failed to add document",
    "knowledge.docAdded": "Document added",
    "knowledge.deleteFailed": "Failed to delete document",
    "knowledge.queryFailed": "Query failed",
    "knowledge.queryRequired": "Please enter query text",
    "knowledge.noResults": "No results found",
    "knowledge.uploadSuccess": "File uploaded successfully",
    "knowledge.uploadAccepted": "Document imported; knowledge graph is building in the background",
    "knowledge.uploadFailed": "File upload failed",
    "sessionFiles.upload": "Upload temporary file",
    "sessionFiles.uploading": "Uploading temporary file...",
    "sessionFiles.uploaded": "Added to this conversation. Save it to the knowledge base for long-term use.",
    "sessionFiles.uploadFailed": "Temporary file upload failed",
    "sessionFiles.useRag": "Answer using uploaded/imported materials",
    "sessionFiles.useRagHelp": "When enabled, answers prefer documents in the knowledge base. Turn it off for normal chat.",
    "sessionFiles.contextLabel": "Session files",
    "sessionFiles.unnamed": "Untitled file",
    "knowledge.rebuildAccepted": "Rebuild started; indexes and knowledge graph are building in the background",
    "knowledge.rebuildingTitle": "Rebuilding knowledge graph",
    "knowledge.rebuildingDesc": "The previous index is stale. Retrieval indexes, entities, relationships, and community reports are being rebuilt.",
    "knowledge.rebuildingRetrieval": "Rebuilding dense / sparse retrieval indexes.",
    "knowledge.rebuildingSemantic": "Extracting entities, claims, and relationships again.",
    "knowledge.rebuildingGraph": "Generating the knowledge graph and GraphRAG communities.",
    "knowledge.rebuildIndex": "Rebuild Index",
    "knowledge.rebuildConfirm": "Are you sure you want to rebuild the knowledge index? This will re-process BM25 index for all documents.",
    "knowledge.rebuildSuccess": "Index rebuilt successfully. Processed {chunks} chunks, {terms} terms.",
    "knowledge.rebuildSuccessAll": "Index rebuilt successfully",
    "knowledge.rebuildSuccessDetailed": "Index rebuilt successfully: BM25({chunks} chunks), semantic({entities} entities, {claims} claims, {communities} communities)",
    "knowledge.rebuildFailed": "Rebuild index failed",

    // Feature config hints
    "knowledge.configHintTitle": "Knowledge base not enabled",
    "knowledge.configHintDesc": "Enable 'Enable knowledge base' in Settings → Knowledge Config to use this feature.",
    "knowledge.gotoConfig": "Go to Settings",
    "tools.configHintTitle": "Some tools not enabled",
    "tools.configHintDesc": "Web search, Exec execution etc. can be enabled/disabled individually in Settings → Tools Config.",
    "tools.gotoConfig": "Go to Settings",

    // Non-docs WebUI surfaces
    "a11y.collapseSidebar": "Collapse sidebar",
    "a11y.expandSidebar": "Expand sidebar",
    "a11y.workspaceNavigation": "Workspace navigation",
    "sidebar.control": "Control",
    "sidebar.automation": "Automation",
    "sidebar.settings": "Settings",
    "status.completed": "Completed",
    "status.pending": "Pending",
    "msg.noParameters": "No parameters defined",
    "approval.title": "Approval required",
    "approval.subtitle": "A high-risk tool call is paused and will continue after approval.",
    "approval.approveOnce": "Approve once",
    "approval.allowSession": "Allow for session",
    "approval.deny": "Deny",
    "approval.approved": "Approved",
    "approval.approvedToolTitle": "The user approved this tool execution",
    "browser.title": "Browser",
    "browser.idle": "Idle",
    "browser.waiting": "Waiting for browser activity",
    "browser.collapseView": "Collapse browser view",
    "browser.expandView": "Expand browser view",
    "browser.activity": "Browser activity",
    "browser.activitySubtitle": "Browser action summary. Raw output is folded.",
    "browser.command": "Browser command",
    "browser.pageSnapshot": "Page snapshot",
    "browser.rawOutput": "Raw output",
    "browser.urlUnavailable": "No URL returned",
    "browser.action.activity": "Activity",
    "browser.action.open": "Open page",
    "browser.action.back": "Back",
    "browser.action.forward": "Forward",
    "browser.action.reload": "Reload",
    "browser.action.click": "Click",
    "browser.action.type": "Type",
    "browser.action.select": "Select",
    "browser.action.keys": "Keys",
    "browser.action.wait": "Wait",
    "browser.action.state": "Read state",
    "browser.action.screenshot": "Screenshot",
    "browser.action.network": "Network",
    "browser.metric.action": "Action",
    "browser.metric.viewport": "Viewport",
    "browser.metric.scroll": "Scroll",
    "inspector.panel": "Inspector Panel",
    "inspector.title": "Inspector",
    "inspector.selectChainItem": "Select a chain item",
    "inspector.subtitle": "Tool, file, and artifact details appear here.",
    "inspector.close": "Close inspector",
    "inspector.empty": "Select an inspectable Run Chain item.",
    "inspector.inspect": "Inspect",
    "inspector.inspectItem": "Inspect {title}",
    "inspector.noSavedDetail": "No saved detail is available for this item.",
    "memory.referencesCount": "{count} related memories",
    "memory.openSourceHint": "Open source",
    "memory.lineLabel": "line {line}",
    "memory.positionUnknown": "position unknown",
    "memory.inspectReference": "Open {file} at {location}",
    "memory.sourceSubtitle": "{file}, line {line}",
    "memory.selectedReference": "Selected memory",
    "memory.sourceFile": "Source file",
    "memory.loadingSource": "Loading memory source...",
    "memory.sourceUnavailable": "Unable to load this memory source.",
    "runChain.title": "Run Chain",
    "runChain.item": "Run Chain item",
    "runChain.planning": "Planning",
    "runChain.planningLower": "planning",
    "runChain.thinkingTrace": "Thinking trace",
    "runChain.toolCallAndResponse": "Tool call and response",
    "runChain.toolDetail": "Tool detail",
    "runChain.toolDetailAndResponse": "Tool detail and response",
    "runChain.toolActivity": "Tool activity",
    "runChain.detail": "Detail",
    "runChain.itemsCount": "{count} item(s)",
    "runChain.toolsCount": "{count} tool(s)",
    "runChain.needsAttention": "Needs attention",
    "runChain.hideDetails": "Hide details",
    "runChain.showDetails": "Show details",
    "runChain.kind.read": "Read",
    "runChain.kind.file": "File",
    "runChain.kind.command": "Command",
    "runChain.kind.browser": "Browser",
    "runChain.kind.agent": "Agent",
    "runChain.kind.tool": "Tool",
    "knowledge.viewSources": "View sources",
    "cowork.title": "Cowork",
    "cowork.workspace": "Cowork workspace",
    "cowork.console": "Cowork Console",
    "cowork.consoleSubtitle": "Sessions, work units, trace, and outputs.",
    "cowork.backToChat": "Back to chat",
    "cowork.completed": "Completed",
    "cowork.noSession": "No session",
    "cowork.selectOrStart": "Select or start a session",
    "cowork.selectOrStartSentence": "Select or start a session.",
    "cowork.branches": "Cowork branches",
    "cowork.emergencyStop": "Emergency stop",
    "cowork.resume": "Resume",
    "cowork.hideMap": "Hide map",
    "cowork.map": "Map",
    "cowork.summary": "Summary",
    "cowork.sessionFocus": "Cowork session focus",
    "cowork.progress": "Progress",
    "cowork.running": "Running",
    "cowork.next": "Next",
    "cowork.output": "Output",
    "cowork.noActiveSession": "No active session",
    "cowork.noActiveAgents": "No active agents",
    "cowork.noFinalDraft": "No final draft",
    "cowork.teamMap": "Cowork team map",
    "cowork.workflowGraph": "Workflow Graph",
    "cowork.workflowGraphCaption": "Focused agents and the live communication between them.",
    "cowork.teamMapControls": "Team map controls",
    "cowork.zoomOut": "Zoom out",
    "cowork.zoomIn": "Zoom in",
    "cowork.fit": "Fit",
    "cowork.interactiveGraph": "Interactive cowork state graph",
    "cowork.graphInspectorEmpty": "Select an agent to inspect its current focus and communication state.",
    "cowork.conversation": "Conversation",
    "cowork.observability": "Cowork observability",
    "cowork.detailViews": "Cowork detail views",
    "cowork.trace": "Trace",
    "cowork.tasks": "Tasks",
    "cowork.mailbox": "Mailbox",
    "cowork.outputs": "Outputs",
    "cowork.runMetrics": "Run metrics",
    "cowork.noDecisions": "No decisions",
    "cowork.filterPlaceholder": "Filter workstream, unit, agent, artifact, trace, status...",
    "cowork.filterConsole": "Filter cowork console",
    "cowork.swarmPlan": "Swarm plan",
    "cowork.noPlan": "No plan",
    "cowork.architectureProjection": "Architecture projection",
    "cowork.noProjection": "No projection",
    "cowork.workUnits": "Work units",
    "cowork.noUnits": "No units",
    "cowork.taskDag": "Task DAG",
    "cowork.noGraph": "No graph",
    "cowork.agentLanes": "Agent lanes",
    "cowork.noAgents": "No agents",
    "cowork.sharedPool": "Shared pool",
    "cowork.agentMessages": "Agent messages",
    "cowork.threads": "Threads",
    "cowork.topics": "Topics",
    "cowork.traceTimeline": "Trace timeline",
    "cowork.traceMode": "Trace mode",
    "cowork.key": "Key",
    "cowork.all": "All",
    "cowork.traceFilter": "Trace filter",
    "cowork.scheduler": "Scheduler",
    "cowork.agent": "Agent",
    "cowork.task": "Task",
    "cowork.review": "Review",
    "cowork.error": "Error",
    "cowork.artifactsAndFinalDraft": "Artifacts and final draft",
    "cowork.artifacts": "Artifacts",
    "cowork.noArtifacts": "No artifacts",
    "cowork.branchResults": "Branch results",
    "cowork.noResults": "No results",
    "cowork.mergeSelected": "Merge selected",
    "cowork.blockersAndOutputState": "Blockers and output state",
    "cowork.blockers": "Blockers",
    "cowork.noBlockers": "No blockers",
    "cowork.evaluations": "Evaluations",
    "cowork.noEvals": "No evals",
    "cowork.selectedEntityActions": "Cowork selected entity actions",
    "cowork.selectedEntity": "Selected cowork entity",
    "cowork.nothingSelected": "Nothing selected",
    "cowork.addTaskPlaceholder": "Add a task...",
    "cowork.assignTaskToAgent": "Assign task to agent",
    "cowork.add": "Add",
    "cowork.assign": "Assign",
    "cowork.retry": "Retry",
    "cowork.skip": "Skip",
    "cowork.cancel": "Cancel",
    "cowork.architecture": "Architecture",
    "cowork.goalPlaceholder": "Describe the shared goal...",
    "cowork.goalOrMessage": "Cowork goal or message",
    "cowork.blueprint": "Blueprint",
    "cowork.validate": "Validate",
    "cowork.preview": "Preview",
    "cowork.startCowork": "Start Cowork",
    "cowork.agentTraceCard": "Agent Trace Card",
    "cowork.genericTraceCard": "{stage} Trace Card",
    "cowork.schedulerTraceCard": "Scheduler Trace Card",
    "cowork.workflowTraceCard": "Workflow Trace Card",
    "cowork.taskTraceCard": "Task Trace Card",
    "cowork.mailboxTraceCard": "Mailbox Trace Card",
    "cowork.systemTraceCard": "System Trace Card",
    "cowork.workflow": "Workflow",
    "cowork.taskRuntime": "Task Runtime",
    "cowork.systemEntry": "System Entry",
    "cowork.traceSpan": "Trace span",
    "cowork.toolObservation": "Tool observation",
    "cowork.browserObservation": "Browser observation",
    "cowork.redacted": "redacted",
    "cowork.sensitive": "sensitive",
    "cowork.loadObservationFailed": "Failed to load observation detail",
    "cowork.retryDetail": "Retry detail",
    "cowork.observationsCount": "Observations ({count})",
    "cowork.noSummary": "No summary.",
    "cowork.loadDetail": "Load detail",
    "cowork.noSessionSelected": "No cowork session selected",
    "cowork.standingBy": "Standing by",
    "cowork.agentField": "Agent field",
    "cowork.currentFocus": "Current focus",
    "cowork.inboxCount": "Inbox {count}",
    "cowork.pendingCount": "Pending {count}",
    "cowork.roundsCount": "Rounds {count}",
    "cowork.waitingOn": "Waiting on {value}",
    "cowork.noPendingReplies": "No pending replies.",
    "cowork.inbox": "Inbox",
    "cowork.noInboxItems": "No inbox items.",
    "cowork.sent": "Sent",
    "cowork.noSentMailboxItems": "No sent mailbox items.",
    "cowork.recentDialog": "Recent dialog",
    "cowork.noDialogYet": "No dialog yet.",
    "cowork.peerZone": "Peer Collaboration Zone",
    "cowork.peerZoneDesc": "Agents coordinate here; handoff and mailbox edges appear as the run evolves.",
    "cowork.blockedCount": "{count} blocked",
    "cowork.readyCount": "{count} ready",
    "cowork.runningCount": "{count} running",
    "cowork.noQueuedWork": "No queued work",
    "cowork.workItemsCount": "{count} work item(s)",
    "cowork.artifactsCount": "{count} artifact(s)",
    "cowork.artifactsAvailable": "Artifacts available",
    "cowork.rounds": "Rounds",
    "cowork.agentCalls": "Agent calls",
    "cowork.done": "Done",
    "cowork.stop": "Stop",
    "cowork.width": "Width",
    "cowork.schedulerDecision": "Scheduler decision",
    "cowork.sectionsCount": "{count} section(s)",
    "cowork.noArchitectureProjection": "No architecture projection for this session.",
    "cowork.projection": "Projection",
    "cowork.unitsCount": "{count} units",
    "cowork.noSwarmPlan": "No swarm plan for this session.",
    "cowork.widthValue": "width {value}",
    "cowork.unitsProgress": "units {count}/{total}",
    "cowork.streamsCount": "{count} streams",
    "cowork.callsCount": "calls {count}",
    "cowork.swarmOrganization": "Swarm organization",
    "cowork.schedulerQueues": "Scheduler queues",
    "cowork.slotsCount": "{count} slots",
    "cowork.retryCount": "{count} retry",
    "cowork.doneCount": "{count} done",
    "cowork.reducerStatus": "reducer {status}",
    "cowork.reviewerStatus": "reviewer {status}",
    "cowork.efficiencyValue": "eff {value}",
    "cowork.coverageValue": "coverage {value}",
    "cowork.queueReplayHint": "Dependency-aware queues survive refresh and replay.",
    "cowork.noSwarmWorkUnits": "No swarm work units yet.",
    "cowork.workstream": "workstream",
    "cowork.agentsValue": "agents {value}",
    "cowork.riskValue": "risk {value}",
    "cowork.blockersCount": "{count} blockers",
    "cowork.agentValue": "Agent {value}",
    "cowork.streamValue": "Stream {value}",
    "cowork.depsValue": "Deps {value}",
    "cowork.confidenceValue": "Confidence {value}",
    "cowork.loadingSessions": "Loading sessions...",
    "cowork.noSessions": "No cowork sessions.",
    "cowork.noCompletedBranchResults": "No completed branch results yet.",
    "cowork.noEvaluationResults": "No evaluation results yet.",
    "cowork.noDagNodes": "No DAG nodes yet.",
    "cowork.noTraceEvents": "No trace events yet.",
    "cowork.payload": "Payload",
    "cowork.noLinkedArtifacts": "No linked artifacts yet.",
    "cowork.selectInspectable": "Select a task, work unit, agent, trace span, artifact, or mailbox record.",
    "cowork.noActivity": "No activity yet.",
    "cowork.finalDraft": "Final draft",
    "cowork.noAgentsSentence": "No agents.",
    "cowork.noTasks": "No tasks.",
    "cowork.noMailbox": "No mailbox.",
    "cowork.noMailboxRecords": "No mailbox records.",
    "cowork.noTopics": "No topics.",
    "cowork.sessionOutput": "Session Output",
    "cowork.noTeamActivity": "No team activity yet.",
    "cowork.noEvents": "No events.",
    "cowork.noBlueprintJson": "No blueprint JSON",
    "cowork.mode.adaptiveStarter": "Adaptive Starter",
    "cowork.mode.agentTeam": "Agent Team",
    "cowork.mode.generatorVerifier": "Generator-Verifier",
    "cowork.mode.messageBus": "Message Bus",
    "cowork.mode.sharedState": "Shared State",
    "cowork.mode.swarm": "Swarm",

    // Docs page
    "docs.title": "Tinybot Usage Guide",
    "docs.subtitle": "Detailed feature documentation",
    "docs.heroTitle": "Tinybot Documentation",
    "docs.heroDesc": "A lightweight personal AI assistant framework integrating LLMs, multiple chat platforms, tool systems, and automation.",
    "docs.allDocs": "All Documentation",
    "docs.readMore": "Read more",
    "docs.onThisPage": "On this page",
    // Navigation
    "docs.nav.docs": "Docs Home",
    "docs.nav.quickstart": "Quick Start",
    "docs.nav.webui": "WebUI Guide",
    "docs.nav.tasks": "Task Scheduling",
    "docs.nav.knowledge": "Knowledge RAG",
    "docs.nav.tools": "Tools",
    "docs.nav.skills": "Skills",
    "docs.nav.cli": "CLI Commands",
    "docs.nav.providers": "Providers",
    "docs.nav.gateway": "Gateway",
    "docs.nav.config": "Configuration",
    // Descriptions
    "docs.quickstartDesc": "Installation and basic usage guide",
    "docs.webuiDesc": "Web interface features and API endpoints",
    "docs.tasksDesc": "Agentic DAG task decomposition system",
    "docs.knowledgeDesc": "Vector retrieval and Rerank",
    "docs.toolsDesc": "Built-in tools and MCP support",
    "docs.skillsDesc": "Define custom skills in Markdown",
    "docs.cliDesc": "Interactive commands and config editor",
    "docs.providersDesc": "14+ LLM providers support",
    "docs.gatewayDesc": "Multi-channel and scheduled tasks",
    "docs.configDesc": "Configuration files and editor",
    // Page titles
    "docs.pages.quickstart": "Quick Start",
    "docs.pages.webui": "WebUI Guide",
    "docs.pages.tasks": "Task Scheduling",
    "docs.pages.knowledge": "Knowledge RAG",
    "docs.pages.tools": "Tools System",
    "docs.pages.skills": "Skills System",
    "docs.pages.cli": "CLI Commands",
    "docs.pages.providers": "Provider Configuration",
    "docs.pages.gateway": "Gateway Configuration",
    "docs.pages.config": "Configuration System",
    "docs.backToChat": "Back to Chat",
    "docs.quickStart": "Quick Start",
    "docs.installation": "Installation",
    "docs.installDesc": "Use uv for dependency management and installation:",
    "docs.startModes": "Startup Modes",
    "docs.command": "Command",
    "docs.description": "Description",
    "docs.agentMode": "Interactive chat mode",
    "docs.gatewayMode": "Start gateway (WebUI + multi-channel)",
    "docs.apiMode": "Run as OpenAI-compatible API server",
    "docs.webuiSection": "WebUI Guide",
    "docs.webuiSetup": "Enable WebUI",
    "docs.webuiSetupDesc": "Edit config file to enable WebSocket channel:",
    "docs.webuiStart": "Start Gateway and visit",
    "docs.webuiFeatures": "WebUI Features",
    "docs.webuiFeature1": "Real-time streaming chat with Markdown rendering and code highlighting",
    "docs.webuiFeature2": "Session management: create, switch, clear, delete sessions",
    "docs.webuiFeature3": "Tools and skills viewing and management",
    "docs.webuiFeature4": "Knowledge base: add documents, query, rebuild index",
    "docs.webuiFeature5": "Workspace file editing",
    "docs.webuiFeature6": "Config management: modify all settings directly in UI",
    "docs.webuiFeature7": "Chinese/English bilingual support",
    "docs.webuiFeature8": "Light/Dark theme switching",
    "docs.coreFeatures": "Core Features",
    "docs.taskScheduling": "Agentic DAG Task Scheduling",
    "docs.taskSchedulingDesc": "Automatically decompose complex tasks into executable subtask DAGs:",
    "docs.taskFeature1": "Intelligent Decomposition — LLM analyzes tasks and generates dependency-based subtask graphs",
    "docs.taskFeature2": "Automatic Chain Execution — SubAgent completions automatically trigger dependent tasks",
    "docs.taskFeature3": "Parallel Execution — Parallel-safe tasks run simultaneously for maximum efficiency",
    "docs.taskFeature4": "Dynamic Adjustment — Add/remove subtasks during runtime",
    "docs.experienceSystem": "Experience Self-Evolution System",
    "docs.experienceDesc": "A self-learning system that continuously improves from problem-solving experiences:",
    "docs.experienceFeature1": "Semantic Experience Search — Vector search understands problem intent",
    "docs.experienceFeature2": "Auto Context Injection — Relevant past solutions automatically appear",
    "docs.experienceFeature3": "Proactive Error Diagnosis — Tool failures trigger automatic suggestions",
    "docs.experienceFeature4": "Smart Confidence Model — Multi-dimensional scoring evaluates experience validity",
    "docs.knowledgeRAG": "Knowledge Base (RAG)",
    "docs.knowledgeDesc": "Vector storage-based knowledge retrieval system:",
    "docs.knowledgeFeature1": "Hybrid retrieval (dense + sparse/BM25)",
    "docs.knowledgeFeature2": "Optional Rerank for improved retrieval precision",
    "docs.knowledgeFeature3": "Auto retrieval mode: automatically inject relevant knowledge in conversations",
    "docs.knowledgeFeature4": "Local Embedding support, no external API required",
    "docs.skillsSystem": "Skills System",
    "docs.skillsDesc": "Define custom skills through Markdown files, no coding required:",
    "docs.skillsFeature1": "Skills auto-loaded, Agent follows defined workflows when conditions match",
    "docs.skillsFeature2": "Create, edit, enable/disable skills in WebUI",
    "docs.skillsFeature3": "Validate skill format",
    "docs.toolsSection": "Tools System",
    "docs.builtInTools": "Built-in Tools",
    "docs.tool": "Tool",
    "docs.toolReadWrite": "File read/write operations",
    "docs.toolExec": "Shell command execution",
    "docs.toolWebSearch": "Web search (DuckDuckGo/Brave/Tavily etc.)",
    "docs.toolBrowser": "Browser automation (via OpenCLI)",
    "docs.toolCron": "Scheduled task management",
    "docs.toolMcp": "MCP protocol tool integration",
    "docs.cliCommands": "CLI Interactive Commands",
    "docs.cmdConfig": "Open configuration editor",
    "docs.cmdHelp": "Show available commands",
    "docs.cmdClear": "Clear conversation history",
    "docs.cmdNew": "Start new conversation session",
    "docs.cmdExit": "Exit chat",
    "docs.llmSupport": "Multi-LLM Support",
    "docs.llmProviders": "Supported providers:",
    "docs.moreResources": "More Resources",
    "docs.githubDesc": "Source code and latest updates",
    "docs.issuesDesc": "Issue reports and feature suggestions",
    "docs.releasesDesc": "Version release history",
  }
;
