{
  "app": {
    "brand": "nanobot",
    "loading": {
      "connecting": "正在连接 nanobot…",
      "boot": "正在加载 nanobot…"
    },
    "error": {
      "title": "无法连接到 nanobot",
      "gatewayHint": "请确认 gateway 已启动（`nanobot gateway`），并且当前页面与 gateway 运行在同一台机器上。"
    },
    "system": {
      "section": "系统",
      "restartHint": "重启 nanobot 以应用运行时更改。",
      "restart": "重启 nanobot",
      "restarting": "正在重启..."
    },
    "restart": {
      "completed": "重启已完成，用时 {{seconds}} 秒。"
    },
    "documentTitle": {
      "base": "nanobot",
      "chat": "{{title}} · nanobot"
    },
    "meta": {
      "description": "nanobot Web UI —— 与你的 nanobot 工作区对话。"
    }
  },
  "sidebar": {
    "navigation": "侧边栏导航",
    "globalActions": "全局操作",
    "collapse": "收起侧边栏",
    "toggleTheme": "切换主题",
    "home": "首页",
    "newChat": "新建对话",
    "searchAria": "搜索会话",
    "searchPlaceholder": "搜索会话",
    "searchResults": "搜索结果",
    "noSearchResults": "没有匹配的会话。",
    "recent": "最近对话",
    "refreshSessions": "刷新会话",
    "settings": "设置",
    "language": {
      "label": "语言",
      "ariaLabel": "切换语言"
    }
  },
  "settings": {
    "backToChat": "返回对话",
    "sidebar": {
      "title": "设置",
      "ariaLabel": "设置分区"
    },
    "nav": {
      "general": "通用",
      "byok": "BYOK"
    },
    "sections": {
      "interface": "界面",
      "ai": "AI",
      "system": "系统"
    },
    "rows": {
      "theme": "主题",
      "language": "语言",
      "provider": "提供商",
      "model": "模型",
      "restart": "重启 nanobot",
      "configPath": "配置路径"
    },
    "help": {
      "theme": "在浅色和深色外观之间切换。",
      "language": "选择 WebUI 使用的语言。",
      "provider": "选择新模型请求使用的服务提供商。",
      "model": "设置 nanobot 默认使用的模型名称。",
      "configPath": "当前网关正在使用的配置文件。"
    },
    "values": {
      "light": "浅色",
      "dark": "深色",
      "notAvailable": "不可用"
    },
    "status": {
      "loading": "正在加载设置...",
      "loadError": "无法加载设置",
      "unsaved": "有未保存的更改。",
      "savedRestart": "已保存。重启 nanobot 后生效。"
    },
    "actions": {
      "save": "保存",
      "saving": "保存中",
      "edit": "编辑",
      "cancel": "取消"
    },
    "byok": {
      "description": "自带 provider key。Nanobot 会从当前 config 读取这些值，只有已配置的 provider 才能在通用设置里选择。",
      "configured": "已配置",
      "notConfigured": "未配置",
      "configuredSection": "已配置",
      "notConfiguredSection": "未配置",
      "showMore": "再显示 {{count}} 个",
      "showLess": "收起",
      "apiKey": "API key",
      "apiBase": "API base",
      "apiKeyPlaceholder": "输入 API key",
      "apiKeyConfiguredPlaceholder": "留空则保留当前 key",
      "configuredKeyHint": "已配置的 key",
      "apiBasePlaceholder": "使用 provider 默认地址",
      "apiKeyRequired": "需要 API key 才能配置此 provider。",
      "showApiKey": "显示 API key",
      "hideApiKey": "隐藏 API key",
      "noConfiguredProviders": "没有已配置的 provider",
      "configureFirst": "请先在 BYOK 里配置 provider。",
      "openByok": "打开 BYOK",
      "tabs": {
        "ariaLabel": "BYOK 凭证类型",
        "llm": "LLM",
        "webSearch": "Web Search"
      },
      "webSearch": {
        "provider": "搜索 provider",
        "providerHelp": "选择 web search 工具使用的后端。",
        "selectProvider": "选择 provider",
        "credentials": "凭证",
        "noCredentialRequired": "无需 key",
        "noCredentialHelp": "DuckDuckGo 不需要保存 API key。",
        "apiKeyHelp": "保存到 config 后只显示掩码提示。",
        "baseUrl": "Base URL",
        "baseUrlHelp": "SearXNG 需要你自己的实例地址。",
        "baseUrlPlaceholder": "https://search.example.com",
        "apiKeyRequired": "这个搜索 provider 需要 API key。",
        "baseUrlRequired": "SearXNG 需要 Base URL。",
        "missingCredential": "填写所需凭证后才能保存。",
        "saveHint": "改动会应用到新的 web search 请求。"
      }
    }
  },
  "chat": {
    "fallbackTitle": "对话 {{id}}",
    "loading": "加载中…",
    "noSessions": "还没有会话。",
    "actions": "“{{title}}” 的会话操作",
    "delete": "删除",
    "newChat": "新建对话",
    "groups": {
      "today": "今天",
      "yesterday": "昨天",
      "earlier": "更早"
    }
  },
  "deleteConfirm": {
    "title": "删除这个对话？",
    "description": "此操作无法撤销。",
    "cancel": "取消",
    "confirm": "删除"
  },
  "connection": {
    "idle": "空闲",
    "connecting": "连接中…",
    "open": "已连接",
    "reconnecting": "重连中…",
    "closed": "已断开",
    "error": "连接出错"
  },
  "thread": {
    "loadingConversation": "正在加载对话…",
    "empty": {
      "greeting": "我可以帮你做什么？",
      "quickActions": {
        "plan": {
          "title": "创建项目计划",
          "prompt": "帮我为接下来要做的事情写一份简洁的项目计划。"
        },
        "analyze": {
          "title": "分析这些数据",
          "prompt": "帮我分析这些数据，并指出最重要的模式。"
        },
        "brainstorm": {
          "title": "头脑风暴想法",
          "prompt": "围绕这个问题头脑风暴几个实用方案，并说明取舍。"
        },
        "code": {
          "title": "编写代码",
          "prompt": "帮我为这个任务写代码，先从最小可用改动开始。"
        },
        "summarize": {
          "title": "总结这份文档",
          "prompt": "帮我总结这份文档，并列出关键要点。"
        },
        "more": {
          "title": "更多",
          "prompt": "展示几个你在这个工作区里可以帮我的实用方式。"
        }
      },
      "imageQuickActions": {
        "icon": {
          "title": "设计应用图标",
          "prompt": "生成一个干净的 1:1 nanobot 应用图标：友好的机器人，简洁矢量风格，蓝白柔和配色，不要文字。"
        },
        "sticker": {
          "title": "制作贴纸",
          "prompt": "生成一张可爱的贴纸风小机器人助手图片，背景像透明贴纸，表情活泼有趣。"
        },
        "poster": {
          "title": "创建海报",
          "prompt": "生成一张个人 AI 助手的精致海报概念图，现代构图，视觉层级清晰，适合落地页展示。"
        },
        "product": {
          "title": "产品样机",
          "prompt": "生成一张对话式 AI Web 应用的干净产品样机图，极简界面，高级光影，真实设备边框。"
        },
        "portrait": {
          "title": "风格化头像",
          "prompt": "生成一个友好的 AI 伙伴风格化头像，柔和光线，细节丰富但亲切，现代插画风格。"
        },
        "edit": {
          "title": "编辑图片",
          "prompt": "帮我编辑一张图片。先让我上传或指定要编辑的图片，然后生成编辑后的结果。"
        }
      }
    },
    "header": {
      "toggleSidebar": "切换侧边栏",
      "newChat": "从顶部新建对话",
      "toggleTheme": "从顶部切换主题",
      "settings": "打开设置"
    },
    "composer": {
      "placeholderThread": "输入消息…",
      "placeholderHero": "问任何问题...",
      "placeholderOpening": "正在打开新对话…",
      "placeholderStreaming": "模型正在回复…",
      "inputAria": "消息输入框",
      "sendHint": "Enter 发送 · Shift+Enter 换行",
      "send": "发送消息",
      "stop": "停止响应",
      "attachImage": "添加图片",
      "imageMode": {
        "label": "图片生成",
        "toggle": "切换图片生成模式",
        "placeholder": "描述或编辑图片…",
        "aspectAria": "图片画幅",
        "aspectLabel": "图片画幅",
        "aspect": {
          "auto": "自动",
          "1_1": "方形 1:1",
          "3_4": "竖版 3:4",
          "9_16": "故事版 9:16",
          "4_3": "横版 4:3",
          "16_9": "宽屏 16:9"
        }
      },
      "tools": {
        "search": "搜索",
        "reason": "推理",
        "deepResearch": "深度研究",
        "voice": "语音输入"
      },
      "slash": {
        "ariaLabel": "斜杠命令",
        "label": "命令",
        "navigateHint": "↑↓ 选择",
        "selectHint": "Enter/Tab 填入",
        "closeHint": "Esc 关闭",
        "commands": {
          "new": {
            "title": "新建对话",
            "description": "停止当前任务，并开始一个新的对话。"
          },
          "stop": {
            "title": "停止当前任务",
            "description": "取消这个对话中正在运行的 agent 回合。"
          },
          "restart": {
            "title": "重启 nanobot",
            "description": "原地重启 bot 进程。"
          },
          "status": {
            "title": "查看状态",
            "description": "显示运行时、provider 和 channel 状态。"
          },
          "history": {
            "title": "查看对话历史",
            "description": "打印最近 N 条已持久化的对话消息。"
          },
          "dream": {
            "title": "运行 Dream",
            "description": "手动触发记忆整理。"
          },
          "dream_log": {
            "title": "查看 Dream 日志",
            "description": "查看上一次 Dream 整理改变了什么。"
          },
          "dream_restore": {
            "title": "恢复记忆",
            "description": "将记忆恢复到之前的 Dream 快照。"
          },
          "help": {
            "title": "查看帮助",
            "description": "列出可用的斜杠命令。"
          }
        }
      },
      "encoding": "处理中…",
      "remove": "移除附件",
      "normalizedSizeHint": "{{orig}} → {{current}}（已自动压缩）",
      "imageRejected": {
        "unsupported_type": "不支持的文件类型",
        "too_many_images": "每条消息最多 {{max}} 张图片",
        "magic_mismatch": "文件看起来不像真实的图片",
        "decode_failed": "无法解码这张图片",
        "too_large": "图片太大，请换一张小一点的",
        "io": "无法读取该文件"
      }
    },
    "scrollToBottom": "滚动到底部"
  },
  "message": {
    "streaming": "流式输出中",
    "assistantTyping": "助手正在输入",
    "toolSingle": "正在使用工具",
    "toolMany": "已使用 {{count}} 个工具",
    "reasoning": "思考过程",
    "reasoningStreaming": "正在思考…",
    "imageAttachment": "图片附件",
    "copyReply": "复制回复",
    "copiedReply": "已复制回复"
  },
  "lightbox": {
    "title": "图片预览",
    "open": "查看图片",
    "prev": "上一张",
    "next": "下一张",
    "close": "关闭预览"
  },
  "code": {
    "fallbackLanguage": "代码",
    "copyAria": "复制代码",
    "copy": "复制",
    "copied": "已复制"
  },
  "common": {
    "dismiss": "关闭"
  },
  "errors": {
    "messageTooBig": {
      "title": "消息过大",
      "body": "服务端因超过大小限制拒收了上一条消息。可移除部分图片或使用更小的图片后重试。"
    }
  }
}
