{
  "nav": {
    "chat": "对话",
    "monitor": "监控",
    "overview": "概览",
    "analytics": "分析",
    "logs": "日志",
    "agents": "智能体",
    "sessions": "会话",
    "approvals": "审批",
    "comms": "通讯",
    "automation": "自动化",
    "workflows": "工作流",
    "scheduler": "调度器",
    "goals": "目标",
    "extensions": "扩展",
    "channels": "频道",
    "skills": "技能",
    "hands": "执行器",
    "plugins": "插件",
    "system": "系统",
    "runtime": "运行时",
    "settings": "设置",
    "memory": "记忆"
  },
  "status": {
    "connecting": "连接中...",
    "reconnecting": "重新连接中...",
    "disconnected": "已断开",
    "ready": "就绪",
    "error": "错误",
    "notConfigured": "未配置",
    "unknown": "未知"
  },
  "btn": {
    "refresh": "刷新",
    "unlock": "解锁控制台",
    "retry": "重试",
    "send": "发送",
    "stop": "停止",
    "cancel": "取消",
    "save": "保存",
    "delete": "删除",
    "edit": "编辑",
    "add": "添加",
    "close": "关闭",
    "back": "返回",
    "next": "下一步",
    "skip": "跳过",
    "test": "测试连接",
    "go": "前往",
    "chat": "对话",
    "copy": "复制",
    "copied": "已复制!"
  },
  "label": {
    "agents": "个智能体运行中",
    "status": "状态",
    "version": "版本",
    "provider": "提供商",
    "model": "模型",
    "agent": "智能体",
    "messages": "消息",
    "actions": "操作",
    "name": "名称",
    "key": "键",
    "value": "值"
  },
  "auth": {
    "title": "需要 API 密钥",
    "description": "此实例需要 API 密钥。请输入 config.toml 中的密钥。",
    "placeholder": "输入 API 密钥...",
    "hint": "在 ~/.librefang/config.toml 顶部添加 api_key = \"your-key\""
  },
  "page": {
    "overview": "概览",
    "sessions": "会话",
    "approvals": "审批",
    "logs": "日志",
    "runtime": "运行时"
  },
  "health": {
    "healthy": "健康",
    "unreachable": "不可达"
  },
  "stat": {
    "agentsRunning": "运行中智能体",
    "tokensUsed": "已使用令牌",
    "totalCost": "总费用",
    "uptime": "运行时间",
    "channels": "频道",
    "skills": "技能",
    "mcpServers": "MCP 服务器",
    "toolCalls": "工具调用",
    "providers": "提供商"
  },
  "card": {
    "gettingStarted": "入门指南",
    "llmProviders": "LLM 提供商",
    "systemHealth": "系统健康",
    "securitySystems": "安全系统",
    "connectedChannels": "已连接频道"
  },
  "agents": {
    "newAgent": "+ 新建智能体",
    "stopAll": "全部停止",
    "yourAgents": "你的智能体",
    "startNew": "或新建一个智能体",
    "startChatting": "开始对话"
  },
  "detail": {
    "info": "信息",
    "files": "文件",
    "config": "配置",
    "id": "ID",
    "state": "状态",
    "mode": "模式",
    "profile": "配置档",
    "provider": "提供商",
    "model": "模型",
    "change": "更改",
    "created": "创建时间",
    "fallbacks": "回退链",
    "none": "暂无，可添加回退模型链",
    "addFallback": "+ 添加",
    "loadingFiles": "正在加载文件...",
    "notCreated": "尚未创建",
    "noWorkspaceFiles": "未找到工作区文件",
    "saving": "保存中...",
    "name": "名称",
    "systemPrompt": "系统提示词",
    "emoji": "表情",
    "color": "颜色",
    "archetype": "原型",
    "vibe": "风格",
    "noneValue": "无",
    "saveConfig": "保存配置",
    "toolFilters": "工具过滤器",
    "toolFiltersDesc": "允许列表：仅允许这些工具（留空表示全部）。阻止列表：排除这些工具。",
    "allowlist": "允许列表",
    "blocklist": "阻止列表",
    "toolNamePlaceholder": "工具名",
    "clone": "克隆",
    "clearHistory": "清空历史",
    "removeTool": "点击移除 {tool}"
  },
  "mode": {
    "observe": "观察",
    "assist": "辅助",
    "full": "完全"
  },
  "category": {
    "all": "全部",
    "general": "通用",
    "development": "开发",
    "research": "研究",
    "writing": "写作",
    "business": "业务"
  },
  "profile": {
    "minimal": {
      "label": "最小",
      "desc": "只读文件访问"
    },
    "coding": {
      "label": "编程",
      "desc": "文件 + 终端 + 网络"
    },
    "research": {
      "label": "研究",
      "desc": "网络搜索 + 文件读写"
    },
    "messaging": {
      "label": "消息",
      "desc": "智能体 + 记忆访问"
    },
    "automation": {
      "label": "自动化",
      "desc": "除自定义外所有工具"
    },
    "balanced": {
      "label": "均衡",
      "desc": "通用工具集"
    },
    "precise": {
      "label": "精确",
      "desc": "聚焦准确性的工具集"
    },
    "creative": {
      "label": "创意",
      "desc": "带创意倾向的完整工具集"
    },
    "full": {
      "label": "完整",
      "desc": "全部 35+ 工具"
    }
  },
  "template": {
    "GeneralAssistant": {
      "name": "通用助手",
      "desc": "适合日常任务、答疑和建议的多用途对话智能体。"
    },
    "CodeHelper": {
      "name": "代码助手",
      "desc": "专注编程，可跨多种语言编写、审查和调试代码。"
    },
    "Researcher": {
      "name": "研究员",
      "desc": "擅长拆解复杂主题、综合信息并输出带引用的总结。"
    },
    "Writer": {
      "name": "写作助手",
      "desc": "帮助起草、编辑和润色各类书面内容的创作型智能体。"
    },
    "DataAnalyst": {
      "name": "数据分析师",
      "desc": "帮助分析数据集、编写查询并解释统计结果。"
    },
    "DevOpsEngineer": {
      "name": "DevOps 工程师",
      "desc": "面向 CI/CD、基础设施、Docker 和部署排障。"
    },
    "CustomerSupport": {
      "name": "客服助手",
      "desc": "专业且富有同理心，适合处理客户咨询和问题。"
    },
    "Tutor": {
      "name": "导师",
      "desc": "耐心讲解概念，分步骤教学，并根据学习者水平调整。"
    },
    "APIDesigner": {
      "name": "API 设计师",
      "desc": "专注 RESTful API 设计、OpenAPI 规范和集成架构。"
    },
    "MeetingNotes": {
      "name": "会议纪要",
      "desc": "把会议内容整理成结构化纪要、行动项和关键决策。"
    }
  },
  "time": {
    "now": "刚刚",
    "secondsAgo": "{count} 秒前",
    "minutesAgo": "{count} 分钟前",
    "hoursAgo": "{count} 小时前",
    "daysAgo": "{count} 天前"
  },
  "onboarding": {
    "welcome": "欢迎使用 LibreFang",
    "launchWizard": "启动设置向导",
    "configureManually": "手动配置",
    "dismiss": "关闭"
  },
  "provider": {
    "bannerText": "尚未配置 AI 提供商 — 智能体已暂停运行",
    "bannerAction": "配置提供商",
    "tierFree": "免费 / 本地",
    "tierRecommended": "推荐",
    "tierOther": "其他提供商",
    "getKey": "获取 API Key",
    "ollamaDetected": "已检测到本机 Ollama",
    "ollamaNotDetected": "未检测到 Ollama",
    "ollamaActivate": "激活 Ollama",
    "activateSuccess": "提供商已激活 — 智能体恢复运行中",
    "setupTitle": "AI 提供商设置",
    "setupDesc": "配置至少一个 AI 提供商以激活智能体。"
  },
  "overview": {
    "connectionError": "连接错误",
    "stepsCompleted": "已完成 {count} / 5 步",
    "setupWizard": "设置向导",
    "welcomeDesc": "使用引导式设置向导快速开始，或手动配置：",
    "llmProviders": "LLM 提供商",
    "providersConfigured": "已配置 {configured}/{total}",
    "systemHealth": "系统健康",
    "securitySystems": "安全系统",
    "connectedChannels": "已连接频道",
    "quickActions": "快捷操作",
    "newAgent": "新建智能体",
    "browseSkills": "浏览技能",
    "addChannel": "添加频道",
    "createWorkflow": "创建工作流",
    "settings": "设置",
    "recentActivity": "最近活动",
    "viewAll": "查看全部",
    "noRecentActivity": "暂无最近活动",
    "activityWillAppear": "智能体开始处理后，活动将显示在这里。",
    "chatWithAgent": "与智能体对话",
    "createAgent": "创建智能体",
    "spawnNewAgent": "创建一个新智能体",
    "configureProvider": "配置提供商",
    "setupLlmProvider": "设置 LLM 提供商",
    "exploreSkills": "探索可用技能",
    "defenseActive": "{count} 个纵深防御系统已激活",
    "channelsConnected": "已连接 {count} 个频道",
    "toolsCount": "（{count} 个工具）",
    "providerCoolingDown": "{provider} - 冷却中（已触发限流）",
    "providerCircuitOpen": "{provider} - 熔断器已开启",
    "providerReady": "{provider} - 就绪",
    "providerNotConfigured": "{provider} - 未配置",
    "setupProvider": "配置一个 LLM 提供商",
    "setupAgent": "创建你的第一个智能体",
    "setupChat": "发送第一条消息",
    "setupChannel": "连接一个消息频道",
    "setupSkill": "浏览或安装一个技能",
    "actionUnknown": "未知",
    "actionAgentCreated": "智能体已创建",
    "actionAgentStopped": "智能体已停止",
    "actionToolUsed": "工具已使用",
    "actionToolCompleted": "工具已完成",
    "actionMessageIn": "收到消息",
    "actionNetworkAccess": "网络访问",
    "actionShellCommand": "Shell 命令",
    "actionFileAccess": "文件访问",
    "actionMemoryAccess": "记忆访问",
    "actionResponseSent": "已发送回复",
    "actionSessionReset": "会话已重置",
    "actionCompacted": "已压缩",
    "actionModelChanged": "模型已切换",
    "actionLoginAttempt": "登录尝试",
    "actionLoginOk": "登录成功",
    "actionLoginFailed": "登录失败",
    "actionDenied": "已拒绝",
    "actionRateLimited": "已限流",
    "actionWorkflowRun": "工作流运行",
    "actionTriggerFired": "触发器已触发",
    "actionSkillInstalled": "技能已安装",
    "actionMcpConnected": "MCP 已连接",
    "loadError": "无法加载概览数据。"
  },
  "security": {
    "merkleAudit": "默克尔审计",
    "taintTracking": "污点追踪",
    "wasmSandbox": "WASM 沙盒",
    "gcraRateLimit": "GCRA 速率限制",
    "ed25519Signing": "Ed25519 签名",
    "ssrfProtection": "SSRF 防护",
    "secretZeroize": "密钥清零",
    "loopGuard": "循环保护",
    "sessionRepair": "会话修复"
  },
  "agentChat": {
    "backToAgents": "返回智能体列表",
    "ready": "就绪",
    "generating": "生成中...",
    "queueCount": "+{count} 个排队中",
    "queueCountCompact": "{count} 个排队中",
    "sessions": "会话",
    "newSession": "+ 新建",
    "sessionDefault": "会话 {id}",
    "messagesCount": "{count} 条消息",
    "noSessions": "暂无会话",
    "searchMessages": "搜索消息（Ctrl+F）",
    "searchMessagesPlaceholder": "搜索消息...",
    "searchResults": "{filtered} / {total}",
    "selectAgentToChat": "选择一个智能体开始对话",
    "chooseAgentFromSidebar": "从侧边栏选择智能体，或前往智能体页面创建新的智能体。",
    "copyMessage": "复制消息",
    "copied": "已复制！",
    "dropFilesHere": "将文件拖到这里",
    "running": "运行中...",
    "done": "完成",
    "input": "输入",
    "result": "结果",
    "chars": "（{count} 字符）",
    "recordingRelease": "录音中，松开发送",
    "messageLibreFang": "给 LibreFang 发消息...（/ 查看命令）",
    "stopGenerating": "停止生成",
    "attachFile": "附加文件",
    "holdToRecord": "按住录音",
    "availableModels": "可用模型，可选择或继续输入",
    "switching": "切换中...",
    "noModelsFound": "未找到模型",
    "searchModels": "搜索模型...",
    "all": "全部",
    "tokens": "令牌",
    "filesCount": "{count} 个文件",
    "audio": "音频：{name}",
    "secondsShort": "{count} 秒",
    "loadingFiles": "加载文件中...",
    "notCreated": "尚未创建",
    "noWorkspaceFiles": "未找到工作区文件",
    "saveConfig": "保存配置",
    "toolFilters": "工具过滤",
    "toolFiltersDesc": "允许列表：仅这些工具可用（空表示全部）。阻止列表：这些工具将被排除。",
    "allowlist": "允许列表",
    "blocklist": "阻止列表",
    "processing": "处理中...",
    "thinking": "思考中...",
    "thinkingWithLevel": "思考中（{level}）...",
    "usingTool": "正在使用 {tool}...",
    "working": "工作中...",
    "usingHttpMode": "正在使用 HTTP 模式（无流式输出）",
    "loadModelsFailed": "加载模型失败：{message}",
    "newSessionPrompt": "会话名称（可选）：",
    "newSessionCreated": "已创建新会话",
    "newSessionFailed": "创建会话失败",
    "switchSessionFailed": "切换会话失败",
    "errorPrefix": "错误：{message}",
    "memoryConflict": "记忆已更新：之前是「{old}」，现在是「{new}」",
    "runCancelled": "运行已取消",
    "stopFailed": "停止失败：{message}",
    "stopAgentTitle": "停止智能体",
    "stopAgentConfirm": "停止智能体“{name}”？该智能体将被关闭。",
    "agentStopped": "智能体“{name}”已停止",
    "fileTooLarge": "文件“{name}”超过 10MB 限制",
    "fileTypeNotSupported": "不支持的文件类型：{name}",
    "microphoneDenied": "麦克风访问被拒绝",
    "transcribingAudio": "正在转录音频...",
    "failedUploadAudio": "上传音频失败：{message}",
    "failedUploadFile": "上传 {name} 失败",
    "welcomeTips": "**欢迎使用 LibreFang 对话！**\n\n- 输入 `/` 查看可用命令\n- `/help` 显示全部命令\n- `/think on` 开启扩展推理\n- `/context` 查看上下文窗口使用情况\n- `/verbose off` 隐藏工具详情\n- `Ctrl+Shift+F` 切换专注模式\n- 可拖放文件作为附件\n- `Ctrl+/` 打开命令面板",
    "tipCommands": "输入 / 查看命令",
    "tipThinking": "/think on 开启推理",
    "tipFocus": "Ctrl+Shift+F 切换专注模式",
    "tipAttach": "可拖放文件作为附件",
    "tipModel": "/model 切换模型",
    "tipContext": "/context 查看上下文使用情况",
    "tipVerbose": "/verbose off 隐藏工具详情",
    "cmd": {
      "help": "显示可用命令",
      "agents": "切换到代理页面",
      "new": "重置会话（清除历史）",
      "reboot": "硬重置会话（完全清除上下文，不保存摘要）",
      "compact": "触发LLM会话压缩",
      "model": "显示或切换模型（/model [名称]）",
      "stop": "取消当前代理运行",
      "usage": "显示会话令牌用量与费用",
      "think": "切换深度思考（/think [on|off|stream]）",
      "context": "显示上下文窗口用量与压力",
      "verbose": "切换工具详情级别（/verbose [off|on|full]）",
      "queue": "检查代理是否正在处理",
      "status": "显示系统状态",
      "clear": "清除聊天显示",
      "exit": "断开与代理的连接",
      "budget": "显示支出限额与当前费用",
      "peers": "显示OFP对等网络状态",
      "a2a": "列出已发现的外部A2A代理"
    },
    "toast": {
      "modelSwitched": "已切换到 {model}",
      "switchFailed": "切换失败：{message}",
      "sessionReset": "会话已重置",
      "sessionRebooted": "会话已重启，上下文已清除。",
      "resetFailed": "重置失败：{message}",
      "rebootFailed": "重启失败：{message}",
      "compactFailed": "压缩失败：{message}",
      "stopFailed": "停止失败：{message}",
      "modelSwitchFailed": "模型切换失败：{message}"
    },
    "sys": {
      "compacting": "正在压缩会话...",
      "compactDone": "压缩完成",
      "runCancelled": "运行已取消",
      "sessionUsageTitle": "会话用量",
      "messages": "消息数",
      "approxTokens": "约估令牌数",
      "thinkStatus": "深度思考",
      "thinkStream": "已启用（流式推理）",
      "thinkOn": "已启用",
      "thinkOff": "已禁用",
      "thinkStreamDesc": "推理令牌将在可折叠面板中显示。",
      "thinkOnDesc": "代理将在模型支持时展示其推理过程。",
      "thinkOffDesc": "普通响应模式。",
      "notConnected": "未连接。请先连接到一个代理。",
      "notConnectedShort": "未连接。",
      "systemStatus": "系统状态",
      "agents": "代理",
      "uptime": "运行时间",
      "version": "版本",
      "modelSwitchedTo": "模型已切换为：`{model}`",
      "provider": "提供者",
      "currentModel": "当前模型",
      "providerLabel": "提供者",
      "modelLabel": "模型",
      "noAgent": "未选择代理。",
      "budgetStatus": "预算状态",
      "unlimited": "无限制",
      "hourly": "每小时",
      "daily": "每日",
      "monthly": "每月",
      "ofpNetwork": "OFP 网络",
      "status": "状态",
      "enabled": "已启用",
      "disabled": "已禁用",
      "connectedPeers": "已连接的对等节点",
      "noA2aAgents": "未发现外部A2A代理。",
      "a2aAgents": "A2A 代理"
    }
  },
  "sessionsPage": {
    "title": "会话",
    "filterByAgent": "按智能体过滤...",
    "memory": "记忆",
    "loading": "加载会话中...",
    "loadError": "无法加载会话。",
    "conversationSessions": "对话会话",
    "conversationSessionsDesc": "与智能体的每次对话都会创建一个会话。会话会保存完整消息历史，方便你稍后恢复对话或回顾过去的交互。",
    "session": "会话",
    "created": "创建时间",
    "noSessionsYet": "暂无会话",
    "sessionsCreatedWhen": "当你与智能体对话时会创建会话。开始对话后，这里会显示会话历史。",
    "startChatting": "开始对话",
    "noSessionsMatch": "没有匹配当前筛选条件的会话。",
    "agentMemory": "智能体记忆",
    "agentMemoryDesc": "每个智能体都有自己的键值记忆存储。智能体会用记忆在对话之间保存偏好、笔记和上下文。",
    "selectAgent": "选择智能体...",
    "loadingMemory": "加载记忆中...",
    "loadMemoryError": "无法加载记忆数据。",
    "keysCount": "{count} 个键",
    "addKey": "+ 添加键",
    "key": "键",
    "value": "值",
    "noKeysStored": "暂无已存储的键",
    "noMemoryEntries": "这个智能体还没有记忆条目。智能体会在对话中自动创建记忆条目，你也可以手动添加。",
    "addFirstKey": "+ 添加第一个键",
    "valueJson": "值（JSON）",
    "selectAnAgent": "选择一个智能体",
    "chooseAgentFromDropdown": "从上方下拉框选择智能体，以浏览和编辑它的记忆存储。",
    "deleteSessionTitle": "删除会话",
    "deleteSessionConfirm": "这会永久移除该会话及其中的消息。",
    "sessionDeleted": "会话已删除",
    "deleteSessionFailed": "删除会话失败：{message}",
    "deleteKeyTitle": "删除键",
    "deleteKeyConfirm": "删除键“{key}”？此操作无法撤销。",
    "keySaved": "键“{key}”已保存",
    "saveKeyFailed": "保存键失败：{message}",
    "keyDeleted": "键“{key}”已删除",
    "deleteKeyFailed": "删除键失败：{message}",
    "keyUpdated": "键“{key}”已更新",
    "saveFailed": "保存失败：{message}"
  },
  "agentsPage": {
    "createAgent": "创建智能体",
    "wizard": "向导",
    "rawToml": "原始 TOML",
    "agentManifest": "智能体清单（TOML）",
    "spawnAgent": "启动智能体",
    "spawning": "启动中...",
    "agentName": "智能体名称",
    "agentNamePlaceholder": "my-agent",
    "providerModelPlaceholder": "provider/model",
    "choose": "请选择...",
    "systemPromptPlaceholder": "你是一个乐于助人的助手。",
    "personality": "人格",
    "soulPersona": "灵魂 / 人设",
    "editable": "（可编辑）",
    "soulPlaceholder": "描述这个智能体的人格特征和沟通风格...",
    "toolProfile": "工具配置档",
    "customCapabilities": "自定义（手动配置能力）",
    "toolsIncluded": "包含的工具",
    "capabilities": "能力",
    "memoryRead": "读取记忆",
    "memoryWrite": "写入记忆",
    "network": "网络",
    "shell": "Shell",
    "agentSpawn": "创建智能体",
    "unnamed": "未命名",
    "genericAgent": "智能体",
    "waitingProvider": "等待 AI 配置",
    "fileBytes": "{count} 字节",
    "loadAgentsFailed": "无法加载智能体。守护进程是否正在运行？",
    "loadAgentsFailedShort": "无法加载智能体。",
    "loadTemplatesFailed": "无法加载模板。",
    "stopAgentTitle": "停止智能体",
    "stopAgentConfirm": "停止智能体“{name}”？该智能体将被关闭。",
    "agentStopped": "智能体“{name}”已停止",
    "stopAgentFailed": "停止智能体失败：{message}",
    "stopAllTitle": "停止全部智能体",
    "stopAllConfirm": "停止 {count} 个智能体？所有智能体都会被关闭。",
    "stopSomeFailed": "部分智能体停止失败：{errors}",
    "agentsStopped": "已停止 {count} 个智能体",
    "pleaseEnterAgentName": "请输入智能体名称",
    "modeSet": "模式已设为 {mode}",
    "setModeFailed": "设置模式失败：{message}",
    "manifestEmpty": "清单为空，请先输入智能体配置",
    "agentSpawned": "智能体“{name}”已启动",
    "newAgentName": "新智能体",
    "spawnFailed": "启动失败：{message}",
    "unknownError": "未知错误",
    "spawnAgentFailed": "启动智能体失败：{message}",
    "loadFilesFailed": "加载文件失败：{message}",
    "readFileFailed": "读取文件失败：{message}",
    "fileSaved": "{file} 已保存",
    "saveFileFailed": "保存文件失败：{message}",
    "configUpdated": "配置已更新",
    "saveConfigFailed": "保存配置失败：{message}",
    "clonedAs": "已克隆为“{name}”",
    "cloneFailed": "克隆失败：{message}",
    "spawnedFromTemplate": "已从模板启动智能体“{name}”",
    "spawnFromTemplateFailed": "从模板启动失败：{message}",
    "clearHistoryTitle": "清空历史",
    "clearHistoryConfirm": "清空“{name}”的全部对话历史？此操作无法撤销。",
    "historyCleared": "已清空“{name}”的历史记录",
    "clearHistoryFailed": "清空历史失败：{message}",
    "providerSuffix": "（提供商：{provider}）",
    "modelChanged": "模型已切换{provider}（记忆已重置）",
    "changeModelFailed": "切换模型失败：{message}",
    "fallbackAdded": "已添加回退模型：{value}",
    "saveFallbacksFailed": "保存回退链失败：{message}",
    "fallbackRemoved": "已移除回退模型",
    "updateToolFiltersFailed": "更新工具过滤器失败：{message}",
    "spawnBuiltinFailed": "启动智能体失败：{message}",
    "archetype": {
      "assistant": "助手",
      "researcher": "研究员",
      "coder": "程序员",
      "writer": "写作者",
      "devops": "DevOps",
      "support": "支持",
      "analyst": "分析师",
      "custom": "自定义"
    },
    "vibe": {
      "professional": "专业",
      "friendly": "友好",
      "technical": "技术型",
      "creative": "创意型",
      "concise": "简洁",
      "mentor": "导师型"
    }
  },
  "approvals": {
    "title": "执行审批",
    "loading": "加载中...",
    "loadError": "无法加载审批列表。",
    "pendingCount": "{count} 条待处理",
    "filter": {
      "all": "全部",
      "pending": "待处理",
      "approved": "已批准",
      "rejected": "已拒绝"
    },
    "status": {
      "pending": "待处理",
      "approved": "已批准",
      "rejected": "已拒绝",
      "expired": "已过期"
    },
    "emptyTitle": "暂无审批",
    "emptyDesc": "当智能体请求执行敏感操作时，会在这里显示。",
    "agentMeta": "智能体：{agent} - {time}",
    "approve": "批准",
    "reject": "拒绝",
    "approvedToast": "已批准",
    "rejectTitle": "拒绝操作",
    "rejectConfirm": "确定要拒绝这项操作吗？",
    "rejectedToast": "已拒绝"
  },
  "logsPage": {
    "title": "日志",
    "allLevels": "全部",
    "searchPlaceholder": "搜索...",
    "resume": "继续",
    "pause": "暂停",
    "clear": "清空",
    "export": "导出",
    "autoScroll": "自动滚动",
    "scrollLocked": "滚动已锁定",
    "verifyChain": "验证链",
    "liveTab": "实时",
    "auditTab": "审计轨迹",
    "connectingStream": "正在连接日志流...",
    "loadError": "无法加载日志。",
    "noEntries": "暂无日志条目",
    "noEntriesHint": "当智能体运行时，这里会显示活动。",
    "loadingAudit": "正在加载审计日志...",
    "auditLoadError": "无法加载审计日志。",
    "auditTitle": "防篡改审计轨迹",
    "auditDesc": "每个智能体操作都会记录到加密哈希链中。使用“验证链”可确认没有条目被篡改或删除。",
    "allActions": "全部操作",
    "entriesCount": "{filtered} / {total} 条记录",
    "tipHash": "tip: {hash}",
    "timestamp": "时间戳",
    "action": "操作",
    "detail": "详情",
    "outcome": "结果",
    "noAuditEntries": "暂无审计条目",
    "noAuditEntriesHint": "当智能体运行时，这里会显示活动。",
    "paused": "已暂停",
    "live": "实时",
    "polling": "轮询中",
    "disconnected": "已断开",
    "valid": "有效",
    "broken": "损坏",
    "chainVerified": "审计链验证通过，共 {count} 条记录有效",
    "chainBrokenToast": "审计链已损坏！",
    "chainVerifyFailed": "链验证失败：{message}"
  },
  "runtimePage": {
    "title": "运行时",
    "loading": "正在加载运行时信息...",
    "loadError": "无法加载运行时数据。",
    "agents": "智能体",
    "defaultModel": "默认模型",
    "system": "系统",
    "platform": "平台",
    "architecture": "架构",
    "apiListen": "API 监听地址",
    "homeDirectory": "主目录",
    "logLevel": "日志级别",
    "network": "网络",
    "enabled": "已启用",
    "disabled": "已禁用",
    "providers": "提供商",
    "models": "模型",
    "latency": "延迟",
    "online": "在线",
    "ready": "就绪",
    "notConfigured": "未配置",
    "secondsShort": "{count} 秒",
    "minutesSecondsShort": "{minutes} 分 {seconds} 秒",
    "hoursMinutesShort": "{hours} 小时 {minutes} 分",
    "daysHoursShort": "{days} 天 {hours} 小时"
  },
  "settingsPage": {
    "title": "设置",
    "loading": "正在加载设置...",
    "loadError": "无法加载设置。",
    "providersTab": "提供商",
    "modelsTab": "模型",
    "toolsTab": "工具",
    "securityTab": "安全",
    "networkTab": "网络",
    "budgetTab": "预算",
    "proactiveMemoryTab": "主动记忆",
    "systemTab": "系统",
    "migrationTab": "迁移",
    "proactiveMemory": "主动记忆",
    "proactiveMemoryDesc": "配置 mem0 风格的主动记忆系统，在 Agent 对话中自动提取和回忆相关记忆。",
    "loadingProactiveMemory": "正在加载主动记忆设置...",
    "loadProactiveMemoryFailed": "加载主动记忆设置失败：{message}",
    "autoMemorize": "自动记忆",
    "autoMemorizeDesc": "每次 Agent 执行后自动从对话中提取并存储记忆。",
    "autoRetrieve": "自动回忆",
    "autoRetrieveDesc": "每次 Agent 执行前自动回忆相关记忆以丰富上下文。",
    "maxRetrieve": "最大检索数",
    "maxRetrieveDesc": "每次查询最多检索的记忆条数。",
    "extractionThreshold": "提取阈值",
    "extractionThresholdDesc": "提取时近重复检测的置信度阈值（0.0 - 1.0）。",
    "extractionModel": "提取模型",
    "extractionModelPlaceholder": "留空则使用 Agent 的默认模型",
    "extractionModelDesc": "用于记忆提取的 LLM 模型。留空则使用 Agent 的默认模型。",
    "extractCategories": "提取类别",
    "extractCategoriesPlaceholder": "偏好, 不满, 工作流, 事实, ...",
    "extractCategoriesDesc": "逗号分隔的记忆提取类别列表。留空则使用默认类别。",
    "sessionTtlHours": "会话过期时间（小时）",
    "sessionTtlHoursDesc": "超过此时间的会话记忆会在每次 Agent 执行前自动清理。",
    "confidenceDecayRate": "置信度衰减率",
    "confidenceDecayRateDesc": "每日指数衰减率。较低的值使记忆保留更久（0.01 ≈ 70 天减半）。",
    "duplicateThreshold": "去重阈值",
    "duplicateThresholdDesc": "Jaccard 词重叠阈值，用于检测重复记忆。超过此相似度的记忆会被合并。",
    "maxMemoriesPerAgent": "每个 Agent 最大记忆数",
    "maxMemoriesPerAgentDesc": "每个 Agent 允许的最大记忆条数。超出上限时，置信度最低的记忆会被自动淘汰。设为 0 表示不限制。",
    "proactiveMemorySaved": "主动记忆设置已保存。",
    "proactiveMemorySaveFailed": "保存主动记忆设置失败：{message}",
    "llmProviders": "LLM 提供商",
    "llmProvidersDesc": "LibreFang 内置支持 12 个 LLM 提供商。配置 API 密钥即可解锁各提供商的模型。你可以设置环境变量并重启，也可以直接用下面的表单保存密钥。",
    "providerModels": "可用模型 {count} 个",
    "envLabel": "环境变量：{env}",
    "enterEnv": "输入 {env}",
    "envRestart": "或者在环境中设置 {env} 后重启",
    "loginWithGitHub": "使用 GitHub 登录",
    "visitAndEnter": "访问 {url} 并输入：",
    "waitingForAuthorization": "等待授权中...",
    "installLabel": "安装：",
    "removeKey": "移除密钥",
    "noApiKeyNeeded": "无需 API 密钥，可本地运行或免费使用",
    "baseUrl": "基础 URL",
    "localBaseUrlPlaceholder": "http://localhost:...",
    "addCustomProvider": "添加自定义提供商",
    "addCustomProviderDesc": "连接任意兼容 OpenAI 的 API（vLLM、LiteLLM、LocalAI 等）",
    "providerName": "提供商名称",
    "baseUrlRequired": "基础 URL（必填）",
    "apiKeyOptional": "API 密钥（可选）",
    "addProvider": "添加提供商",
    "noProvidersFound": "未找到提供商",
    "noProvidersFoundDesc": "无法加载提供商信息，请检查 API 是否正在运行。",
    "modelCatalog": "模型目录",
    "modelCatalogDesc": "浏览所有提供商下的可用模型。标记为「可用」的模型表示其提供商已经配置完成，可以直接使用。",
    "catalogSync": "目录同步",
    "catalogSyncDesc": "社区维护的模型定义，来自",
    "updateCatalog": "更新目录",
    "updating": "更新中...",
    "catalogUpdated": "已更新：{files} 个文件，{models} 个模型",
    "catalogError": "错误：{message}",
    "lastSynced": "上次同步：{time}",
    "neverSynced": "从未同步",
    "searchModels": "搜索模型...",
    "allProviders": "全部提供商",
    "allTiers": "全部层级",
    "customModelButton": "+ 自定义模型",
    "addCustomModel": "添加自定义模型",
    "modelIdRequired": "模型 ID（必填）",
    "contextWindow": "上下文窗口",
    "maxOutputTokens": "最大输出 Token",
    "addModel": "添加模型",
    "modelsSummary": "{filtered} / {total} 个模型",
    "noModelsMatch": "没有匹配搜索条件的模型",
    "noModelsMatchDesc": "尝试换个关键词，或清空筛选条件。",
    "noModelsAvailable": "暂无可用模型",
    "noModelsAvailableDesc": "请先配置一个 LLM 提供商以查看可用模型。",
    "clearFilters": "清空筛选",
    "tier": "层级",
    "context": "上下文",
    "inputCost": "输入成本",
    "outputCost": "输出成本",
    "available": "可用",
    "needsKey": "需要密钥",
    "deleteCustomModelTitle": "删除自定义模型",
    "searchTools": "搜索工具...",
    "toolsSummary": "{filtered} / {total} 个工具",
    "noToolsMatch": "没有匹配搜索条件的工具",
    "noToolsMatchDesc": "尝试换个搜索词。",
    "noToolsAvailable": "暂无工具",
    "noToolsAvailableDesc": "智能体配置完成后，这里会显示可用工具。",
    "clearSearch": "清空搜索",
    "tool": "工具",
    "description": "描述",
    "runtimeConfiguration": "运行时配置",
    "runtimeConfigurationPrefix": "查看并编辑当前生效的配置。修改会立即应用。若需高级编辑，请修改",
    "runtimeConfigurationSuffix": "中的配置文件。",
    "rawConfigJson": "原始配置 JSON（点击展开）",
    "loadingSecurityData": "正在加载安全数据...",
    "securityHeroTitle": "纵深防御",
    "securityHeroDesc": "LibreFang 在整条链路上实现了 15 项分层安全能力，从网络入口、智能体沙箱到加密审计链。核心保护不可关闭。",
    "coreProtections": "核心防护",
    "coreProtectionsDesc": "始终启用，无法关闭。",
    "alwaysOn": "始终开启",
    "protectsAgainst": "可防御：",
    "configurableControls": "可配置控制项",
    "configurableControlsDesc": "已启用，并支持参数调节。",
    "configurable": "可配置",
    "monitoringAnalysis": "监控与分析",
    "monitoringAnalysisDesc": "持续运行中的监控系统。",
    "monitoring": "监控中",
    "auditChainIntegrity": "审计链完整性",
    "verifyNow": "立即验证",
    "auditChainIntegrityDesc": "对整条 SHA-256 Merkle 哈希链执行密码学验证。",
    "chainValid": "链有效，共验证 {count} 条记录",
    "chainBroken": "链损坏：{message}",
    "securityDependencies": "安全依赖",
    "securityDependency": {
      "sha256": "SHA-256",
      "hmacSha256": "HMAC-SHA256",
      "constantTime": "常数时间比较",
      "signing": "签名",
      "secretWiping": "敏感数据清理",
      "randomness": "随机数",
      "rateLimiting": "限流"
    },
    "peerNetworkingTitle": "节点互联（OFP）",
    "peerNetworkingDesc": "通过 OFP 线协议将多个 LibreFang 实例连接成网状拓扑。",
    "nodeLabel": "节点：",
    "listeningOn": "监听地址",
    "loadingPeers": "正在加载节点...",
    "connectedPeers": "已连接",
    "totalPeers": "节点总数",
    "node": "节点",
    "address": "地址",
    "protocol": "协议",
    "noPeersConnected": "当前没有已连接节点",
    "noPeersConnectedPrefix": "请在",
    "noPeersConnectedMiddle": "配置文件中加入",
    "noPeersConnectedSuffix": "以及其他节点地址。",
    "a2aExternalAgents": "A2A 外部智能体",
    "a2aExternalAgentsDesc": "此节点已发现的其他 LibreFang 或兼容 A2A 实例上的智能体，可直接与之通信。",
    "remoteAgentPlaceholder": "https://remote-agent.example.com",
    "discover": "发现",
    "noExternalAgents": "还没有发现外部智能体。请在上方输入 URL 开始发现。",
    "url": "URL",
    "accessDenied": "用户拒绝了授权。",
    "active": "已启用",
    "added": "已添加！",
    "adding": "添加中...",
    "addProviderFailed": "添加提供商失败：{message}",
    "apiKeyRemoved": "已移除 {provider} 的 API 密钥",
    "apiKeySaved": "已保存 {provider} 的 API 密钥",
    "auditTrailValue": "{state} | {algorithm} | 已记录 {count} 条",
    "authValue": "模式：{mode}{suffix}",
    "configured": "已配置",
    "connectionFailed": "连接失败",
    "copilotAuthenticated": "GitHub Copilot 认证成功！",
    "customModelIdPlaceholder": "例如 my-org/my-model",
    "customModelProviderPlaceholder": "例如 openai, groq, anthropic",
    "deleteCustomModelConfirm": "删除自定义模型“{model}”？",
    "deleteFailed": "删除失败：{message}",
    "deviceCodeExpired": "设备码已过期，请重试。",
    "disabled": "已禁用",
    "enterApiKey": "请输入 API 密钥",
    "enterBaseUrl": "请输入基础 URL",
    "enterProviderName": "请输入提供商名称",
    "errorMessage": "错误：{message}",
    "failed": "失败",
    "fieldSaved": "已保存 {field}",
    "keyConfiguredSuffix": "（已配置密钥）",
    "loadPeersFailed": "无法加载节点列表。",
    "manifestSigningValue": "算法：{algorithm} | {availability}",
    "modelDeleted": "模型已删除",
    "noKeyNeeded": "无需密钥",
    "noKeySetSuffix": "（未设置密钥）",
    "notAvailable": "不可用",
    "notInstalled": "未安装",
    "notSet": "未设置",
    "oauthError": "OAuth 错误：{message}",
    "off": "关闭",
    "on": "开启",
    "pollError": "轮询失败：{message}",
    "providerAddedNotReachable": "提供商“{name}”已添加（暂不可达）",
    "providerAddedReachable": "提供商“{name}”已添加（可达）",
    "providerConnected": "{provider} 已连接（{latency}ms）",
    "providerConnectionFailed": "{provider}：{message}",
    "providerKeyOptionalPlaceholder": "sk-...（如不需要可留空）",
    "providerNamePlaceholder": "例如 my-local-llm",
    "providerUrlPlaceholder": "http://localhost:8080/v1",
    "rateLimiterValue": "算法：{algorithm} | 每 IP 每分钟 {count} token",
    "confirmRemoveKey": "确定要移除 {provider} 的 API 密钥吗？",
    "removeKeyFailed": "移除密钥失败：{message}",
    "saveFailed": "保存失败：{message}",
    "saving": "正在保存...",
    "saveKeyFailed": "保存密钥失败：{message}",
    "saveUrlFailed": "保存 URL 失败：{message}",
    "scanError": "扫描错误：{message}",
    "scanFailed": "扫描失败：{message}",
    "scanning": "正在扫描...",
    "startCopilotFailed": "启动 Copilot 登录失败：{message}",
    "taintTrackingValue": "{state} | 追踪标签：{labels}",
    "testFailed": "测试失败：{message}",
    "unknownError": "未知错误",
    "urlMustStart": "URL 必须以 http:// 或 https:// 开头",
    "urlSavedNotReachable": "已保存 {provider} 的 URL，但当前不可达",
    "urlSavedReachable": "已保存 {provider} 的 URL，且可达（{latency}ms）",
    "wasmSandboxValue": "Fuel：{fuel} | Epoch：{epoch} | 超时：{timeout} 秒",
    "websocketLimitsValue": "每 IP 最多 {max} 连接 | 空闲超时 {idle} 分钟 | 单消息最大 {size}KB",
    "perAgent": "每个智能体",
    "unlimited": "不限",
    "ofLimit": "占 {limit}",
    "budgetTitle": "预算与限制",
    "budgetDesc": "设置费用上限和 token 限制，让智能体保持在预算范围内。",
    "editLimits": "编辑限制",
    "loadingBudget": "正在加载预算...",
    "hourly": "每小时",
    "daily": "每日",
    "monthly": "每月",
    "alertThreshold": "预警阈值",
    "ofAnyLimit": "任一限制的",
    "hourlyTokenLimitPerAgent": "每个智能体的每小时 token 限制",
    "hourlyLimit": "每小时限制",
    "unlimitedPlaceholder": "不限",
    "dailyLimit": "每日限制",
    "monthlyLimit": "每月限制",
    "alertPercent": "预警百分比",
    "hourlyTokenLimitEdit": "每小时 token 限制",
    "perAgentDefaultPlaceholder": "使用每个智能体默认值",
    "budgetEditHint": "留空表示移除该限制。",
    "topSpendersToday": "今日最高支出",
    "today": "今日",
    "hourlyLimitShort": "每小时",
    "dailyLimitShort": "每日",
    "monthlyLimitShort": "每月",
    "tokenLimitPerHour": "每小时 token 限制",
    "noSpendingToday": "今日暂无支出记录。",
    "migrateFromOpenClaw": "从 OpenClaw / OpenFang 迁移",
    "migrateFromOpenClawDesc": "从现有 OpenClaw 或 OpenFang 安装导入 manifest、工具、频道和工作区数据。",
    "autoDetect": "自动检测",
    "autoDetectOpenClaw": "自动检测",
    "enterPathManually": "手动输入路径",
    "specifySourcePath": "指定源路径",
    "specifyOpenClawPath": "指定源路径",
    "sourceFramework": "源框架",
    "sourceHomeDirectory": "源主目录",
    "openClawHomeDirectory": "源主目录",
    "libreFangTargetDirectory": "LibreFang 目标目录",
    "scanDirectory": "扫描目录",
    "openClawWorkspaceFound": "已找到 OpenClaw 工作区",
    "readyToMigrate": "准备迁移",
    "migrateNow": "立即迁移",
    "migrating": "正在迁移...",
    "dryRun": "仅演练",
    "startOver": "重新开始",
    "dryRunComplete": "演练完成",
    "migrationComplete": "迁移完成",
    "success": "成功",
    "failedShort": "失败",
    "runMigrationForReal": "正式执行迁移",
    "startNewMigration": "开始新的迁移",
    "notFound": "未找到",
    "openClawNotFound": "未找到",
    "notFoundDesc": "未检测到 OpenClaw 或 OpenFang 安装。你可以手动输入路径后再扫描。",
    "openClawNotFoundDesc": "未检测到 OpenClaw 或 OpenFang 安装。你可以手动输入路径后再扫描。",
    "peerState": {
      "connected": "已连接",
      "disconnected": "已断开"
    },
    "migrationFeature": {
      "manifest": "Manifest 与智能体",
      "tools": "工具与提供商",
      "channels": "频道与密钥",
      "workspace": "工作区与记忆"
    },
    "coreFeatures": {
      "path_traversal": {
        "name": "路径穿越防护",
        "description": "在所有文件操作中阻止目录逃逸攻击（../）。采用两阶段校验：先拒绝非法路径片段，再通过规范化解析符号链接。",
        "threat": "目录逃逸、借助符号链接提权"
      },
      "ssrf_protection": {
        "name": "SSRF 防护",
        "description": "阻止访问私有 IP、localhost 以及云元数据端点（AWS/GCP/Azure）。同时校验 DNS 解析结果，防止重绑定攻击。",
        "threat": "内网探测、云凭据窃取"
      },
      "capability_system": {
        "name": "基于能力的访问控制",
        "description": "默认拒绝的权限系统。每个智能体操作（文件 I/O、网络、Shell、内存、派生）都必须在 manifest 中显式授予能力。",
        "threat": "未授权资源访问、沙箱逃逸"
      },
      "privilege_escalation_prevention": {
        "name": "权限提升防护",
        "description": "父智能体派生子智能体时，内核会强制子能力集必须是父能力集的子集。任何智能体都不能授予自己没有的权限。",
        "threat": "通过多级派生产生的能力提升"
      },
      "subprocess_isolation": {
        "name": "子进程环境隔离",
        "description": "子进程（Shell 工具）只会继承安全白名单中的环境变量。API 密钥、数据库密码等敏感信息不会泄露给子进程。",
        "threat": "通过子进程环境变量窃取密钥"
      },
      "security_headers": {
        "name": "安全响应头",
        "description": "每个 HTTP 响应都会附带 CSP、X-Frame-Options: DENY、X-Content-Type-Options: nosniff、Referrer-Policy 和 X-XSS-Protection。",
        "threat": "XSS、点击劫持、MIME 嗅探、内容注入"
      },
      "wire_hmac_auth": {
        "name": "线协议认证",
        "description": "智能体之间的 OFP 连接使用 HMAC-SHA256 双向认证，包含基于 nonce 的握手和常数时间签名比较（subtle crate）。",
        "threat": "网状网络中的中间人攻击"
      },
      "request_id_tracking": {
        "name": "请求 ID 跟踪",
        "description": "每个 API 请求都会分配唯一 UUID（x-request-id 头），并记录方法、路径、状态码和延迟，便于完整追踪。",
        "threat": "行为不可追踪、取证盲区"
      }
    },
    "configurableFeatures": {
      "rate_limiter": {
        "name": "API 限流",
        "description": "使用具备成本感知的 GCRA（通用单元速率算法）。不同接口消耗不同 token，例如派生智能体消耗 50，健康检查只消耗 1。",
        "hint": "硬编码：每 IP 每分钟 500 token。可编辑 rate_limiter.rs 调整。"
      },
      "websocket_limits": {
        "name": "WebSocket 连接限制",
        "description": "按 IP 限制连接数，防止连接耗尽。空闲超时会关闭废弃连接，消息速率限制可防止刷屏。",
        "hint": "硬编码：每 IP 5 个连接、30 分钟空闲超时、64KB 最大消息。可编辑 ws.rs 调整。"
      },
      "wasm_sandbox": {
        "name": "WASM 双重计量",
        "description": "WASM 模块运行时有两套独立资源限制：fuel 计量（CPU 指令数）和 epoch 中断（由看门狗线程控制的墙钟超时）。",
        "hint": "默认：100 万 fuel、30 秒超时。可通过每个智能体的 SandboxConfig 配置。"
      },
      "auth": {
        "name": "Bearer Token 认证",
        "description": "除健康检查外，所有接口都需要 Authorization: Bearer 请求头。未配置 API 密钥时，所有请求仅允许从 localhost 访问。",
        "hint": "在 ~/.librefang/config.toml 中设置 api_key 以开放远程访问。留空则仅限 localhost。"
      }
    },
    "monitoringFeatures": {
      "audit_trail": {
        "name": "Merkle 审计链",
        "description": "所有关键安全操作都会写入不可篡改、可验证的日志，每条记录都通过 SHA-256 哈希链与上一条加密关联。",
        "hint": "始终启用。可在审计日志页面验证链完整性。"
      },
      "taint_tracking": {
        "name": "信息流污点追踪",
        "description": "按来源给数据打标签（ExternalNetwork、UserInput、PII、Secret、UntrustedAgent），并阻止危险流向：外部数据不能进入 shell_exec，密钥不能进入网络。",
        "threat": "数据流越权和敏感信息泄露",
        "hint": "始终启用。会自动阻止危险数据流。"
      },
      "manifest_signing": {
        "name": "Ed25519 Manifest 签名",
        "description": "智能体 manifest 可使用 Ed25519 进行签名。加载前可验证完整性，防止供应链篡改。",
        "hint": "已可使用。可通过 ed25519-dalek 为 manifest 签名并验证。"
      }
    }
  },
  "workflowsPage": {
    "title": "工作流",
    "listTab": "列表",
    "builderTab": "可视化构建",
    "loading": "正在加载工作流...",
    "whatAreWorkflows": "什么是工作流？",
    "whatAreWorkflowsDesc": "工作流会把多个智能体步骤串联成可复用的自动化流程。",
    "tryVisualBuilderPrefix": "想更快地设计它们？试试",
    "tryVisualBuilderSuffix": "进行拖拽编辑。",
    "newWorkflow": "+ 新建工作流",
    "steps": "步骤",
    "run": "运行",
    "history": "历史",
    "noWorkflows": "暂无工作流",
    "noWorkflowsDesc": "创建第一个工作流来自动化多步骤智能体任务。",
    "createWorkflow": "创建工作流",
    "workflowNamePlaceholder": "我的工作流",
    "workflowDescPlaceholder": "描述这个工作流的用途",
    "stepsDescPrefix": "按顺序定义每个步骤。你也可以使用",
    "stepsDescSuffix": "标签页获得更丰富的编辑体验。",
    "stepNamePlaceholder": "步骤名称",
    "agentNamePlaceholder": "智能体名称",
    "mode": {
      "sequential": "顺序执行",
      "fanOut": "扇出",
      "conditional": "条件",
      "loop": "循环"
    },
    "promptPlaceholder": "提示词模板",
    "addStep": "+ 添加步骤",
    "create": "创建",
    "input": "输入",
    "runInputPlaceholder": "输入工作流内容...",
    "execute": "执行",
    "running": "运行中...",
    "result": "结果",
    "stepsCount": "{count} 个步骤",
    "runTitle": "运行：{name}",
    "loadError": "无法加载工作流。",
    "created": "工作流“{name}”已创建",
    "createFailed": "创建工作流失败：{message}",
    "completed": "工作流执行完成",
    "errorMessage": "错误：{message}",
    "runFailed": "工作流执行失败：{message}",
    "historyFailed": "加载运行历史失败：{message}"
  },
  "workflowBuilder": {
    "nodePalette": "节点面板",
    "dragNodes": "将节点拖到画布上",
    "exportToml": "导出 TOML",
    "saveWorkflow": "保存工作流",
    "autoLayout": "自动布局",
    "zoomOut": "缩小",
    "zoomIn": "放大",
    "resetView": "重置视图",
    "fit": "适应",
    "canvasHint": "从输出端口拖到输入端口即可连接节点。",
    "label": "标签",
    "selectAgent": "选择智能体",
    "promptTemplate": "提示词模板",
    "modelOptional": "模型（可选）",
    "defaultModelPlaceholder": "使用默认模型",
    "expression": "表达式",
    "conditionPorts": "第一个输出为 true，第二个输出为 false。",
    "maxIterations": "最大迭代次数",
    "untilStopCondition": "直到 / 停止条件",
    "fanOutCount": "扇出数量",
    "strategyLabel": "策略",
    "strategy": {
      "all": "等待全部",
      "first": "最先完成",
      "majority": "多数投票"
    },
    "duplicate": "复制",
    "connectionSelected": "已选中连线",
    "deleteConnection": "删除连线",
    "generatedToml": "生成的 TOML",
    "copyToClipboard": "复制到剪贴板",
    "summary": "{nodes} 个节点，{connections} 条连线",
    "nodeType": {
      "agentStep": "智能体步骤",
      "parallelFanOut": "并行扇出",
      "condition": "条件",
      "loop": "循环",
      "collect": "收集",
      "start": "开始",
      "end": "结束"
    },
    "noAgent": "无智能体",
    "noCondition": "无条件",
    "maxIterationsShort": "最多 {count} 次",
    "branchesShort": "{count} 个分支",
    "branch": {
      "true": "是",
      "false": "否"
    },
    "copySuffix": "{label} 副本",
    "untitled": "未命名",
    "saved": "工作流已保存！",
    "saveFailed": "保存失败：{message}",
    "copied": "已复制！",
    "copyFailed": "复制失败"
  },
  "schedulerPage": {
    "title": "调度器",
    "newJob": "+ 新建任务",
    "scheduledJobsTab": "定时任务",
    "eventTriggersTab": "事件触发器",
    "runHistoryTab": "运行历史",
    "loadingJobs": "正在加载任务...",
    "scheduledJobsTitle": "定时任务",
    "scheduledJobsDescPrefix": "按 Cron 计划运行智能体。需要更复杂的逻辑？使用",
    "scheduledJobsDescMiddle": "工作流",
    "scheduledJobsDescSuffix": "来构建多步骤自动化。",
    "schedule": "计划",
    "lastRun": "上次运行",
    "nextRun": "下次运行",
    "pause": "暂停",
    "enable": "启用",
    "deleteShort": "删除",
    "noJobs": "暂无定时任务",
    "noJobsDesc": "创建一个计划以自动运行智能体。",
    "createScheduledJob": "创建定时任务",
    "createScheduledJobTitle": "创建一个定时任务",
    "jobName": "任务名称",
    "jobNamePlaceholder": "每日摘要",
    "cronExpression": "Cron 表达式",
    "cronPlaceholder": "0 9 * * *",
    "cronFormat": "Cron 格式：分 时 日 月 周",
    "quickPresets": "快捷预设",
    "targetAgent": "目标智能体",
    "anyAvailableAgent": "任意可用智能体",
    "noAgentsRunningPrefix": "当前没有运行中的智能体。你仍然可以先保存计划，或者",
    "spawnOneFirst": "先启动一个",
    "messageToSend": "发送消息",
    "messagePlaceholder": "当这个计划运行时，智能体应该做什么？",
    "messageHelp": "如果留空，LibreFang 会根据任务名称生成默认消息。",
    "enabledCreate": "创建后启用",
    "disabledCreate": "创建为禁用",
    "createSchedule": "创建计划",
    "creating": "创建中...",
    "loadingTriggers": "正在加载触发器...",
    "eventTriggersTitle": "事件触发器",
    "eventTriggersDescPrefix": "触发器会响应生命周期、系统或记忆事件，并自动启动",
    "eventTriggersDescSuffix": "。",
    "pattern": "模式",
    "fires": "触发次数",
    "enabledColumn": "已启用",
    "noTriggers": "暂无触发器",
    "noTriggersPrefix": "前往",
    "noTriggersSuffix": "页面创建一个，用于响应运行时事件。",
    "loadingHistory": "正在加载历史...",
    "runHistoryTitle": "运行历史",
    "runHistoryDesc": "最近的调度器与触发器活动。",
    "time": "时间",
    "type": "类型",
    "totalRuns": "总运行次数",
    "noHistory": "暂无运行历史",
    "noHistoryDesc": "已完成的计划和已触发的触发器会显示在这里。",
    "activeJobsCount": "{active}/{total} 个已启用",
    "triggersCount": "{count}",
    "active": "已启用",
    "paused": "已暂停",
    "cronJob": "Cron 任务",
    "trigger": "触发器",
    "loadError": "无法加载调度器数据。",
    "loadTriggersError": "无法加载触发器。",
    "unnamed": "（未命名）",
    "completedStatus": "已完成",
    "triggerPrefix": "触发器：{type}",
    "firedStatus": "已触发",
    "enterJobName": "请输入任务名称",
    "enterCron": "请输入 Cron 表达式",
    "defaultMessage": "定时任务：{name}",
    "created": "计划“{name}”已创建",
    "createFailed": "创建计划失败：{message}",
    "enabledToast": "计划已启用",
    "pausedToast": "计划已暂停",
    "toggleFailed": "切换计划失败：{message}",
    "deleteScheduleTitle": "删除计划",
    "deleteScheduleConfirm": "删除“{name}”？此操作无法撤销。",
    "deleted": "计划“{name}”已删除",
    "deleteFailed": "删除计划失败：{message}",
    "runSuccess": "计划“{name}”执行成功",
    "job": "任务",
    "runFailed": "计划执行失败：{message}",
    "unknownError": "未知错误",
    "runUnavailable": "Cron 任务暂不支持立即运行",
    "triggerEnabled": "触发器已启用",
    "triggerDisabled": "触发器已禁用",
    "toggleTriggerFailed": "切换触发器失败：{message}",
    "deleteTriggerTitle": "删除触发器",
    "deleteTriggerConfirm": "删除这个触发器？此操作无法撤销。",
    "triggerDeleted": "触发器已删除",
    "deleteTriggerFailed": "删除触发器失败：{message}",
    "anyAgent": "（任意）",
    "oneTimeAt": "单次：{time}",
    "everyMinutes": "每 {count} 分钟",
    "everyHours": "每 {count} 小时",
    "dailyAt": "每天 {time}",
    "dayOfWeek": "周 {value}",
    "dayAt": "{day} {time}",
    "never": "从不",
    "inLessThanMinute": "不到 1 分钟后",
    "inMinutes": "{count} 分钟后",
    "inHours": "{count} 小时后",
    "inDays": "{count} 天后",
    "triggerType": {
      "lifecycle": "生命周期",
      "agentSpawned": "智能体已启动",
      "agentTerminated": "智能体已终止",
      "system": "系统",
      "systemKeyword": "系统关键词",
      "memoryUpdate": "记忆更新",
      "memoryKey": "记忆键",
      "allEvents": "全部事件",
      "contentMatch": "内容匹配"
    },
    "cron": {
      "everyMinute": "每分钟",
      "every2Minutes": "每 2 分钟",
      "every5Minutes": "每 5 分钟",
      "every10Minutes": "每 10 分钟",
      "every15Minutes": "每 15 分钟",
      "every30Minutes": "每 30 分钟",
      "everyHour": "每小时",
      "every2Hours": "每 2 小时",
      "every4Hours": "每 4 小时",
      "every6Hours": "每 6 小时",
      "every12Hours": "每 12 小时",
      "dailyMidnight": "每天午夜",
      "daily6am": "每天 6:00",
      "daily9am": "每天 9:00",
      "daily9amLong": "每天 9:00",
      "dailyNoon": "每天中午",
      "daily6pm": "每天 18:00",
      "weekdays9am": "工作日 9:00",
      "weekdays9amLong": "工作日 9:00",
      "everyMonday9am": "每周一 9:00",
      "mondays9am": "周一 9:00",
      "sundaysMidnight": "周日午夜",
      "firstOfMonth": "每月第一天",
      "firstOfMonthLong": "每月 1 日",
      "mondaysMidnight": "周一午夜"
    }
  },
  "channelsPage": {
    "title": "频道",
    "loading": "正在加载频道...",
    "searchPlaceholder": "搜索频道...",
    "noResults": "没有匹配搜索条件的频道。",
    "categoryCount": "{label} ({count})",
    "configuredSummary": "{configured}/{total} 已配置",
    "setUp": "设置",
    "saving": "正在保存...",
    "update": "更新",
    "saveAndTest": "保存并测试",
    "testing": "测试中...",
    "loadError": "无法加载频道。",
    "whatsAppConnected": "WhatsApp 已连接！",
    "qrStartFailed": "无法启动二维码登录",
    "connected": "已连接！",
    "whatsAppLinked": "WhatsApp 绑定成功！",
    "qrExpired": "二维码已过期。点击生成新的二维码。",
    "waitingForScan": "等待扫码...",
    "activated": "{name} 已激活！",
    "savedWithMessage": "{name} 已保存。{message}",
    "savedTestToVerify": "{name} 已保存。请测试以验证连接。",
    "failedMessage": "失败：{message}",
    "unknownError": "未知错误",
    "removeTitle": "移除频道",
    "removeConfirm": "移除 {name} 的配置？这会停用该频道。",
    "removed": "{name} 已移除并停用。",
    "testFailed": "测试失败：{message}",
    "copied": "已复制到剪贴板",
    "copyFailed": "复制失败",
    "readyTitle": "{name} 已就绪！",
    "readyDesc": "你的频道已配置完成，可以开始接收消息。",
    "editConfig": "编辑配置",
    "done": "完成",
    "connectingWhatsApp": "正在连接 WhatsApp...",
    "generateNewQr": "生成新二维码",
    "channelActivatesAutomatically": "扫码后此频道会自动激活。",
    "gatewayUnavailable": "当前环境不支持网关。",
    "orUseBusinessApiPrefix": "你也可以改用",
    "businessApi": "Business API",
    "orUseBusinessApiSuffix": "方式进行配置。",
    "haveMetaBusiness": "已有 Meta Business 账号？",
    "useBusinessApiInstead": "改用 Business API",
    "refreshQr": "刷新二维码",
    "testingConnection": "正在测试连接...",
    "testConnection": "测试连接",
    "remove": "移除",
    "backToQr": "返回二维码登录",
    "businessApiDesc": "使用永久 token 和 phone number ID 代替二维码登录。",
    "howToGetCredentials": "如何获取凭据",
    "secretPlaceholderKeep": "留空以保留当前值",
    "secretPlaceholderSet": "输入密钥值",
    "commaSeparated": "用逗号分隔的值",
    "envVarSet": "通过环境变量设置",
    "hideAdvanced": "隐藏高级选项",
    "showAdvanced": "显示高级选项",
    "step": {
      "configure": "配置",
      "verify": "验证",
      "ready": "就绪"
    },
    "status": {
      "notConfigured": "未配置",
      "missingToken": "缺少令牌",
      "ready": "就绪",
      "configured": "已配置"
    },
    "category": {
      "all": "全部",
      "messaging": "消息",
      "social": "社交",
      "enterprise": "企业",
      "developer": "开发",
      "notifications": "通知"
    }
  },
  "skillsPage": {
    "title": "技能",
    "introTitle": "技能与生态",
    "introDesc": "技能可以为你的智能体扩展新能力。LibreFang 支持 OpenClaw/ClawHub 生态（3000+ 社区技能）以及本地技能。",
    "introPromptOnly": "仅 Prompt - 将上下文和说明注入到智能体的系统提示词中（大多数 ClawHub 技能）",
    "introCode": "Python / Node.js - 智能体可在对话中调用的可执行工具",
    "introMcp": "MCP Servers - 通过 Model Context Protocol 接入外部工具（GitHub、文件系统、数据库等）",
    "loading": "正在加载技能...",
    "loadError": "无法加载技能。",
    "installedTab": "已安装",
    "clawHubTab": "ClawHub",
    "mcpTab": "MCP 服务器",
    "quickStartTab": "快速开始",
    "toolCount": "{count} 个工具",
    "promptContext": "（提示词上下文）",
    "uninstall": "卸载",
    "noSkillsTitle": "暂无已安装技能",
    "noSkillsDesc": "技能可以为你的智能体增加新能力。你可以浏览 ClawHub 的 3000+ 社区技能，或者自己创建。",
    "browseClawHub": "浏览 ClawHub",
    "searchPlaceholder": "搜索 ClawHub 技能...（输入即搜索）",
    "clearSearchTitle": "清空搜索（Esc）",
    "clearSearch": "清空搜索",
    "sort": {
      "trending": "热门趋势",
      "downloads": "下载最多",
      "stars": "收藏最多",
      "updated": "最近更新"
    },
    "categoriesTitle": "分类",
    "searching": "正在搜索 ClawHub...",
    "searchFailed": "搜索失败",
    "browseFailed": "浏览失败",
    "clawHubUnavailable": "ClawHub 可能暂时不可用。OpenClaw 生态托管在 clawhub.ai。",
    "resultsFor": "“{query}” 共 {count} 条结果",
    "downloads": "{count} 次下载",
    "stars": "{count} 个收藏",
    "install": "安装",
    "installed": "已安装",
    "installing": "安装中...",
    "loadMore": "加载更多",
    "noResultsFor": "没有找到“{query}”相关技能",
    "noResultsHint": "试试其他搜索词，或按分类浏览。",
    "backToBrowse": "返回浏览",
    "mcpTitle": "MCP 服务器（Model Context Protocol）",
    "mcpDesc": "MCP 服务器可以为你的智能体提供外部工具，包括 GitHub、文件系统、数据库、API 等。LibreFang 兼容所有 OpenClaw MCP 服务器。",
    "mcpConfigHint": "请在 config.toml 的 [mcp_servers] 下配置 MCP 服务器。",
    "loadingMcp": "正在加载 MCP 服务器...",
    "connectedServers": "已连接服务器",
    "configuredServers": "已配置服务器",
    "connected": "已连接",
    "toolsAvailable": "{count} 个可用工具",
    "toolsLabel": "工具：",
    "andMore": "……还有 {count} 个",
    "envPrefix": "环境变量：{value}",
    "noMcpTitle": "未配置 MCP 服务器",
    "noMcpDesc": "MCP 服务器可以为你的智能体扩展外部工具。请将服务器添加到 config.toml：",
    "noMcpHint": "LibreFang 支持所有兼容 OpenClaw 的 MCP 服务器。",
    "quickStartTitle": "快速开始技能",
    "quickStartDesc": "一键创建仅 Prompt 的技能。这些技能会把上下文注入到智能体的系统提示词中，无需编写代码。非常适合添加领域知识或工作流规范。",
    "createdShort": "已创建",
    "createSkill": "创建技能",
    "created": "技能“{name}”已创建",
    "createFailed": "创建技能失败：{message}",
    "loadingDetail": "正在加载技能详情...",
    "detailFailed": "加载技能详情失败",
    "codeFailed": "无法加载技能源码",
    "byAuthor": "作者：{name}",
    "securityWarnings": "安全警告",
    "alreadyInstalled": "已安装",
    "alreadyInstalledToast": "该技能已安装",
    "installFromClawHub": "从 ClawHub 安装",
    "installedSuccess": "技能“{name}”安装成功",
    "installedWithWarnings": "技能“{name}”安装完成，但有 {count} 条警告",
    "installFailedShort": "安装失败",
    "installFailed": "安装失败：{message}",
    "securityBlocked": "技能被安全扫描阻止",
    "uninstallTitle": "卸载技能",
    "uninstallConfirm": "卸载技能“{name}”？此操作无法撤销。",
    "uninstalled": "技能“{name}”已卸载",
    "uninstallFailed": "卸载技能失败：{message}",
    "loadingShort": "加载中...",
    "viewCode": "查看代码",
    "hideCode": "隐藏代码",
    "securityScanned": "技能在安装前会进行安全扫描。提示词注入和恶意模式会被阻止。",
    "runtime": {
      "prompt": "PROMPT"
    },
    "source": {
      "local": "本地",
      "clawhub": "ClawHub",
      "openclaw": "OpenClaw",
      "bundled": "内置"
    },
    "category": {
      "coding": "编程与 IDE",
      "git": "Git 与 GitHub",
      "web": "Web 与前端",
      "devops": "DevOps 与云",
      "browser": "浏览器与自动化",
      "search": "搜索与研究",
      "ai": "AI 与 LLM",
      "data": "数据与分析",
      "productivity": "效率",
      "communication": "沟通协作",
      "media": "媒体与流媒体",
      "notes": "笔记与 PKM",
      "security": "安全",
      "cli": "CLI 工具",
      "marketing": "市场与销售",
      "finance": "金融",
      "smart-home": "智能家居与 IoT",
      "docs": "PDF 与文档"
    },
    "quickStartSkill": {
      "code-review-guide": {
        "name": "代码审查指南",
        "description": "把代码审查最佳实践和检查清单注入到智能体上下文中。"
      },
      "writing-style": {
        "name": "写作风格指南",
        "description": "为内容生成提供可配置的写作规范。"
      },
      "api-design": {
        "name": "API 设计模式",
        "description": "REST API 设计模式与约定。"
      },
      "security-checklist": {
        "name": "安全检查清单",
        "description": "对齐 OWASP 的安全审查清单。"
      }
    }
  },
  "handsPage": {
    "title": "Hands",
    "introTitle": "Hands - 精选自治能力包",
    "introDesc": "Hands 是预先配置好的 AI 智能体，能够自主处理特定任务。每个 hand 都包含调优过的系统提示词、所需工具，以及用于跟踪工作的仪表板。",
    "loading": "正在加载 hands...",
    "loadError": "无法加载 hands。",
    "availableTab": "可用",
    "activeTab": "运行中",
    "requirementsTitle": "依赖要求",
    "toolsCount": "{count} 个工具",
    "metricsCount": "{count} 个指标",
    "details": "详情",
    "activate": "激活",
    "activateNamed": "激活 {name}",
    "loadingShort": "加载中...",
    "noHandsTitle": "暂无可用 hand",
    "noHandsDesc": "Hands 是精选的 AI 能力包。内核加载内置 hands 后，它们会出现在这里。",
    "loadingActive": "正在加载运行中的 hands...",
    "activatedAt": "激活时间：{time}",
    "agentLabel": "智能体：{id}",
    "stats": "统计",
    "viewBrowser": "查看浏览器",
    "pause": "暂停",
    "resume": "恢复",
    "errorHint": "错误 - 请先停用再重新激活",
    "deactivate": "停用",
    "noActiveTitle": "没有运行中的 hand",
    "noActiveDesc": "从“可用”标签页激活一个 hand 开始使用。每个 hand 都会启动一个专属智能体。",
    "browseHands": "浏览 Hands",
    "agentConfig": "智能体配置",
    "toolsLabel": "工具",
    "dashboardMetrics": "仪表板指标",
    "setupTitle": "设置 {name}",
    "step": {
      "dependencies": "依赖",
      "configure": "配置",
      "launch": "启动"
    },
    "detectedOnSystem": "已在你的系统中检测到",
    "noCommand": "没有可用命令",
    "copy": "复制",
    "copied": "已复制！",
    "getApiKey": "获取 API 密钥 ->",
    "docs": "文档",
    "manualDownload": "手动下载 ->",
    "installingDeps": "正在安装依赖...",
    "installComplete": "安装完成！",
    "waiting": "等待中...",
    "progressReady": "{ready}/{total} 已就绪",
    "progressAllSet": "全部就绪！",
    "progressInstallMissing": "请先安装上方缺失的依赖",
    "noConfigNeeded": "这个 hand 不需要额外配置。点击下一步继续。",
    "requiresBinary": "需要：{binary}",
    "optionReady": "就绪",
    "optionMissing": "缺失",
    "enabled": "已启用",
    "disabled": "已禁用",
    "activating": "激活中...",
    "loadingBrowser": "正在加载浏览器状态...",
    "browserTitle": "标题：",
    "allDepsInstalled": "所有依赖都已安装！",
    "installDepsSuccess": "所有依赖安装成功！",
    "installDepsFailedCount": "{count} 个依赖安装失败。请查看下方详情。",
    "installRequestFailed": "安装请求失败",
    "allDepsSatisfied": "所有依赖都已满足！",
    "checkFailed": "检查失败：{message}",
    "checking": "检查中...",
    "verify": "验证",
    "installAll": "全部安装",
    "installingShort": "安装中...",
    "detailLoadFailed": "加载 hand 详情失败：{message}",
    "activated": "Hand “{hand}” 已激活为 {name}",
    "activationFailed": "激活失败：{message}",
    "pauseFailed": "暂停失败：{message}",
    "resumeFailed": "恢复失败：{message}",
    "deactivateTitle": "停用 Hand",
    "deactivateConfirm": "停用 hand “{name}”？这会终止它的智能体。",
    "deactivated": "Hand 已停用。",
    "deactivationFailed": "停用失败：{message}",
    "statsError": "无法加载统计：{message}",
    "errorLabel": "错误",
    "noBrowserSession": "没有活动的浏览器会话",
    "browserLoadFailed": "无法加载浏览器状态",
    "ready": "就绪",
    "setupNeeded": "需要设置",
    "unknownError": "未知错误",
    "status": {
      "active": "运行中",
      "paused": "已暂停",
      "inactive": "未运行",
      "error": "错误"
    }
  },
  "pluginsPage": {
    "title": "插件",
    "newPlugin": "新建插件",
    "install": "安装",
    "installedTab": "已安装",
    "registryTab": "插件市场",
    "loading": "加载中...",
    "loadingRegistries": "加载插件源...",
    "noPlugins": "暂无已安装插件",
    "noPluginsDesc": "从插件市场安装插件，或点击安装按钮手动安装。",
    "noRegistries": "未配置插件源",
    "noAvailable": "暂无可用插件",
    "name": "名称",
    "version": "版本",
    "description": "描述",
    "hooks": "钩子",
    "size": "大小",
    "actions": "操作",
    "deps": "依赖",
    "remove": "移除",
    "installed": "已安装",
    "installTitle": "安装插件",
    "source": "来源",
    "sourceRegistry": "插件源",
    "sourceLocal": "本地路径",
    "sourceGit": "Git 地址",
    "pluginName": "插件名称",
    "registryOptional": "插件源（可选）",
    "registryPlaceholder": "owner/repo（默认：官方源）",
    "path": "路径",
    "url": "地址",
    "branch": "分支（可选）",
    "cancel": "取消",
    "scaffoldTitle": "创建新插件",
    "scaffoldDesc": "这个插件的用途是？",
    "create": "创建",
    "depsInstalled": "依赖安装完成",
    "ingest": "ingest",
    "afterTurn": "after_turn",
    "invalid": "无效"
  },
  "commsPage": {
    "title": "智能体通信",
    "loadError": "无法加载通信数据。",
    "connectionError": "连接错误",
    "sendMessage": "发送消息",
    "postTask": "发布任务",
    "agentTopology": "智能体拓扑",
    "agentsCount": "{count} 个智能体",
    "noAgentsRunning": "当前没有运行中的智能体",
    "liveEventFeed": "实时事件流",
    "liveBadge": "实时",
    "eventsCount": "{count} 条事件",
    "noEventsYet": "还没有智能体之间的事件",
    "sendAgentMessage": "发送智能体消息",
    "fromAgent": "发送方智能体",
    "toAgent": "接收方智能体",
    "messageLabel": "消息",
    "typeMessage": "输入消息...",
    "sending": "发送中...",
    "selectAgent": "选择智能体...",
    "messageSent": "消息已发送",
    "sendFailed": "发送失败",
    "titleLabel": "标题",
    "taskTitlePlaceholder": "任务标题...",
    "taskDescriptionPlaceholder": "任务描述...",
    "assignToOptional": "指派给（可选）",
    "unassigned": "未指派",
    "posting": "发布中...",
    "taskPosted": "任务已发布",
    "taskFailed": "任务发布失败",
    "event": {
      "message": "消息",
      "spawned": "已派生",
      "terminated": "已终止",
      "taskPosted": "任务已发布",
      "taskClaimed": "任务已领取",
      "taskDone": "任务已完成"
    },
    "state": {
      "running": "运行中",
      "suspended": "已挂起",
      "terminated": "已终止",
      "crashed": "已崩溃"
    }
  },
  "setupWizard": {
    "title": "设置向导",
    "skipSetup": "跳过设置",
    "loading": "加载中...",
    "welcomeStep": "欢迎",
    "providerStep": "提供商",
    "agentStep": "智能体",
    "tryItStep": "试用",
    "channelStep": "频道",
    "doneStep": "完成",
    "welcomeToLibreFang": "欢迎使用 LibreFang",
    "libreFangDesc": "LibreFang 是一个开源智能体操作系统。你可以通过一个统一的仪表板运行能够对话、使用工具、访问记忆并连接消息频道的 AI 智能体。",
    "wizardWillHelp": "这个向导将帮助你：",
    "connectLlmProvider": "连接一个 LLM 提供商（Anthropic、OpenAI、Gemini 等）",
    "createFirstAgent": "从 10 个模板中创建你的第一个 AI 智能体",
    "tryWithTestMessage": "用一条快速测试消息试用它",
    "optionallyConnectChannel": "可选连接一个消息频道（Telegram、Discord、Slack）",
    "takesAbout2Min": "大约需要 2 分钟。你可以跳过任意步骤，稍后再配置。",
    "getStarted": "开始使用",
    "connectAnLlmProvider": "连接 LLM 提供商",
    "needsAtLeastOne": "LibreFang 至少需要一个 LLM 提供商来驱动你的智能体。请选择一个提供商并输入 API 密钥。",
    "providerAlreadyConfigured": "提供商已配置",
    "alreadyHaveProvider": "你已经至少配置了一个提供商。你可以继续下一步，也可以继续配置更多提供商。",
    "popularProviders": "热门提供商",
    "otherProviders": "其他提供商",
    "ready": "就绪",
    "modelsAvailable": "{count} 个模型",
    "configureClaudeCode": "配置 Claude Code",
    "claudeCodeNoApiKey": "Claude Code 使用自己的 CLI 认证方式，无需 API 密钥。",
    "detectInstructions3": "点击下方“检测”进行验证",
    "detect": "检测 Claude Code",
    "claudeCodeDetected": "已检测到 Claude Code",
    "claudeCodeNotDetected": "未检测到 Claude Code CLI。请确认你已经运行：npm install -g @anthropic-ai/claude-code && claude auth",
    "environmentVariable": "环境变量：",
    "apiKey": "API 密钥",
    "enterApiKey": "输入你的 {provider} API 密钥",
    "saveAndTest": "保存并测试",
    "connectedSuccessfully": "连接成功",
    "connectionFailed": "连接失败",
    "isConfiguredAndReady": "{provider} 已配置并可用",
    "youCanTestOrContinue": "你可以测试连接，或者直接继续下一步。",
    "testConnection": "测试连接",
    "createYourFirstAgent": "创建你的第一个智能体",
    "pickTemplateToStart": "选择一个模板快速开始。你之后仍然可以自定义这个智能体，或在智能体页面创建更多智能体。",
    "agentName": "智能体名称",
    "createAgentButton": "创建智能体",
    "willUseWithProfile": "将使用 {provider} / {model}，并采用 {profile} 配置档",
    "createdSuccessfully": "智能体“{name}”创建成功",
    "nextTryIt": "下一步：试用",
    "tryYourAgent": "试用你的智能体",
    "sendQuickMessage": "发送一条快速消息来测试你的新智能体。你可以直接使用下方建议，或输入自己的内容。",
    "thinking": "思考中...",
    "typeMessage": "输入消息...",
    "continue": "继续",
    "connectChannel": "连接频道",
    "optional": "可选",
    "channelsLetAgent": "频道能让你的智能体通过消息平台通信。这一步是可选的，你始终可以使用内置网页对话。",
    "save": "保存",
    "orSetEnv": "或者在环境变量中设置 {env}",
    "configuredAndActivated": "{channel} 已配置并激活。",
    "canSkipThis": "你可以跳过这一步。内置网页对话始终可以从智能体页面使用。你也可以稍后在“设置 -> 频道”中随时添加频道。",
    "youreAllSet": "全部就绪！",
    "libreFangConfigured": "LibreFang 已配置完毕，可以开始使用。以下是已完成设置的摘要：",
    "llmProvider": "LLM 提供商",
    "preConfigured": "预先已配置",
    "skipped": "已跳过",
    "firstAgent": "第一个智能体",
    "channel": "频道",
    "noneWebChatAvailable": "无（网页对话仍可使用）",
    "nextSteps": "后续步骤",
    "openAgentsToChat": "打开“智能体”页面，开始与你的智能体对话",
    "goToAgentsToCreate": "前往“智能体”页面，创建你的第一个智能体",
    "browseSkillsToAdd": "浏览“技能”，为它添加更多能力（网页搜索、代码执行等）",
    "checkSettingsForAdvanced": "查看“设置”进行高级配置",
    "visitChannelsToConnect": "前往“频道”连接消息平台",
    "goToDashboard": "返回仪表板",
    "pleaseEnterApiKey": "请输入 API 密钥",
    "apiKeySavedFor": "已为 {provider} 保存 API 密钥",
    "saveKeyFailed": "保存密钥失败：{message}",
    "testFailed": "测试失败：{message}",
    "pleaseEnterAgentName": "请输入你的智能体名称",
    "agentCreatedToast": "智能体“{name}”已创建",
    "agentCreateFailed": "创建智能体失败：{message}",
    "pleaseEnterToken": "请输入 {label}",
    "channelConfigFailed": "失败：{message}"
  },
  "goalsPage": {
    "title": "目标",
    "newGoal": "+ 新建目标",
    "statTotal": "总数",
    "statInProgress": "进行中",
    "statCompleted": "已完成",
    "statPending": "待处理",
    "loading": "正在加载目标...",
    "loadError": "无法加载目标",
    "noGoalsYet": "暂无目标",
    "createFirstGoal": "+ 创建第一个目标",
    "thTitle": "标题",
    "thStatus": "状态",
    "thProgress": "进度",
    "thAgent": "智能体",
    "thActions": "操作",
    "statusPending": "待处理",
    "statusInProgress": "进行中",
    "statusCompleted": "已完成",
    "statusCancelled": "已取消",
    "addSubGoal": "添加子目标",
    "del": "删除",
    "createGoal": "创建目标",
    "createFailed": "创建目标失败",
    "updateFailed": "更新目标失败",
    "deleteFailed": "删除目标失败",
    "deleteConfirm": "删除此目标？",
    "deleteWithChildrenConfirm": "删除此目标及其所有子目标？",
    "labelTitle": "标题 *",
    "placeholderTitle": "目标标题",
    "labelDescription": "描述",
    "placeholderDescription": "描述该目标...",
    "labelParentGoal": "父目标",
    "noneTopLevel": "无（顶级目标）",
    "labelStatus": "状态",
    "creating": "创建中..."
  },
  "analyticsPage": {
    "title": "分析",
    "loading": "正在加载用量数据...",
    "loadError": "无法加载用量数据。",
    "totalTokens": "总令牌数",
    "estimatedCost": "预估成本",
    "apiCalls": "API 调用",
    "toolCalls": "工具调用",
    "tabSummary": "汇总",
    "tabByModel": "按模型",
    "tabByAgent": "按智能体",
    "tabCosts": "成本",
    "tokenBreakdown": "令牌明细",
    "inputTokens": "输入令牌",
    "outputTokens": "输出令牌",
    "totalCost": "总成本",
    "thModel": "模型",
    "thCalls": "调用次数",
    "thInputTokens": "输入令牌",
    "thOutputTokens": "输出令牌",
    "thCost": "成本",
    "thUsage": "用量",
    "noModelData": "暂无模型用量数据。",
    "thAgent": "智能体",
    "thTotalTokens": "总令牌数",
    "thToolCalls": "工具调用",
    "noAgentData": "暂无智能体用量数据。",
    "totalSpend": "总支出",
    "todaysSpend": "今日支出",
    "projectedMonthly": "预计月支出",
    "avgCostPerMessage": "单条消息平均成本",
    "costByProvider": "按提供商统计成本",
    "noCostData": "暂无成本数据。",
    "dailyCost": "每日成本（最近 7 天）",
    "barTooltip": "{date}: {cost}（{calls} 次调用）",
    "noDailyData": "暂无每日数据。",
    "costByModel": "按模型统计成本",
    "thProvider": "提供商",
    "thTier": "层级",
    "thCostShare": "成本占比",
    "noModelCostData": "暂无模型成本数据。",
    "providerUnknown": "未知",
    "providerOther": "其他",
    "tierFrontier": "前沿",
    "tierSmart": "智能",
    "tierBalanced": "均衡",
    "tierFast": "快速",
    "dayShort": {
      "sun": "日",
      "mon": "一",
      "tue": "二",
      "wed": "三",
      "thu": "四",
      "fri": "五",
      "sat": "六"
    }
  },
  "memoryPage": {
    "title": "记忆",
    "subtitle": "主动记忆系统 — 智能体对用户的记忆内容。",
    "totalMemories": "总记忆数",
    "userLevel": "用户级别",
    "sessionLevel": "会话级别",
    "agentLevel": "智能体级别",
    "searchPlaceholder": "搜索记忆...",
    "search": "搜索",
    "all": "全部",
    "content": "内容",
    "level": "级别",
    "category": "分类",
    "created": "创建时间",
    "noMemoriesFound": "未找到记忆",
    "versionHistory": "版本历史",
    "replacedAt": "替换于：",
    "noPreviousVersions": "无历史版本",
    "allAgents": "所有智能体",
    "filterByAgent": "按智能体筛选",
    "addMemory": "添加记忆",
    "contentLabel": "内容",
    "contentPlaceholder": "输入记忆内容...",
    "levelLabel": "级别",
    "save": "保存",
    "saving": "保存中...",
    "contentRequired": "请输入记忆内容",
    "memoryAdded": "已添加 {count} 条记忆",
    "addMemoryFailed": "添加记忆失败：{message}",
    "memoryDeleted": "记忆已删除",
    "deleteMemoryFailed": "删除记忆失败",
    "confirmDelete": "确定删除此记忆？",
    "memoriesUsed": "条记忆被使用",
    "memoriesSaved": "条记忆已保存",
    "recalled": "已检索",
    "saved": "已保存"
  },
  "theme": {
    "light": "浅色",
    "system": "跟随系统",
    "dark": "深色"
  },
  "sidebar": {
    "shortcutHint": "Ctrl+K 智能体 | Ctrl+N 新建"
  },
  "agentChat2": {
    "focusMode": "专注模式 (Ctrl+Shift+F)",
    "switchModel": "切换模型 (Ctrl+M)",
    "vision": "视觉",
    "tools": "工具",
    "agentSettings": "智能体设置",
    "providerModelPlaceholder": "提供商/模型",
    "doubleClickToEdit": "双击编辑"
  },
  "settingsPage2": {
    "enabled": "启用",
    "pmMasterToggleDesc": "主开关，控制整个主动记忆子系统。关闭后将不会存储或检索任何记忆。",
    "pluginNamePlaceholder": "例如 echo-memory"
  },
  "agentsPage2": {
    "modelPlaceholder": "例如 llama-3.3-70b-versatile"
  },
  "schedulerPage2": {
    "deleteTrigger": "删除"
  },
  "analyticsPage2": {
    "total": "总计"
  },
  "memoryPage2": {
    "deleteSelected": "删除 {count} 条已选"
  },
  "confirm": {
    "cancel": "取消",
    "confirm": "确认"
  },
  "setupWizard2": {
    "configure": "配置 {name}"
  }
}
