{
  "app": {
    "title": "LLM Wiki",
    "subtitle": "用 LLM 构建和维护你的个人知识库"
  },
  "common": {
    "retry": "重试", "cancel": "取消", "ignore": "忽略", "close": "关闭",
    "dismiss": "关闭", "loading": "加载中……", "optional": "可选"
  },
  "layout": { "showSidebar": "展开侧栏", "hideSidebar": "收起侧栏" },
  "errors": { "generic": "出现错误" },
  "mermaid": {
    "renderFailed": "无法渲染 Mermaid 图表",
    "showDetails": "查看解析器详情",
    "enlarge": "放大图表",
    "rendering": "正在渲染图表……",
    "diagram": "图表"
  },
  "nav": {
    "chat": "对话",
    "wiki": "Wiki",
    "sources": "原始资料",
    "search": "搜索",
    "graph": "关系图",
    "lint": "检查",
    "review": "待审阅",
    "skills": "Skills",
    "settings": "设置",
    "switchProject": "切换项目",
    "updateAvailable": "有可用更新",
    "updateAvailableSuffix": " · 有更新"
  },
  "updateBanner": {
    "message": "新版本 {{version}} 已发布",
    "openDownload": "打开下载页",
    "dismiss": "关闭"
  },
  "welcome": {
    "newProject": "新建项目",
    "openProject": "打开项目",
    "recentProjects": "最近项目"
  },
  "sidebar": {
    "knowledge": "知识库",
    "files": "文件",
    "rawSources": "原始资料",
    "noWikiPages": "暂无 Wiki 页面，请先导入原始资料。",
    "typeLabels": {
      "overview": "概览", "entity": "实体", "concept": "概念",
      "source": "来源", "synthesis": "综合", "finding": "发现",
      "thesis": "论点", "methodology": "方法论",
      "comparison": "比较", "query": "查询"
    }
  },
  "editor": {
    "edit": "编辑",
    "done": "完成",
    "editRaw": "编辑原始 Markdown",
    "doneEditing": "完成编辑",
    "selection": {
      "askAgent": "让 Agent 处理选中内容",
      "placeholder": "解释、改写、缩短……",
      "send": "发送",
      "ask": "询问",
      "edit": "修改",
      "generating": "正在生成……",
      "stop": "停止",
      "askAgain": "继续询问",
      "askOnlyHint": "该渲染选区无法唯一映射到 Markdown 源码位置。你仍可询问，但为防止误改，当前不能直接写回修改。",
      "wordDiff": "词级修改",
      "regenerate": "重新生成",
      "closeReference": "关闭",
      "requestFailed": "选区助手未能完成本次请求。",
      "applyFailed": "无法更新选中的文本。",
      "sourceChanged": "选中文本后文件已经发生变化。请重新选择文本，再应用修改。",
      "referenceFailed": "无法打开引用页面。",
      "emptyResponse": "模型没有返回回答，请重试。"
    },
    "pageLinks": {
      "button": "链接",
      "title": "页面链接",
      "outgoing": "出站链接",
      "backlinks": "反向链接",
      "missing": "缺失链接",
      "noOutgoing": "当前页面没有出站 Wiki 链接。",
      "noBacklinks": "暂无其他页面链接到这里。",
      "noMissing": "所有 Wiki 链接都能解析到现有页面。",
      "create": "创建",
      "draft": "Agent 草稿",
      "loadFailed": "无法加载页面链接。",
      "createFailed": "无法创建缺失页面。",
      "emptyDraftError": "模型返回了空白草稿。"
    },
    "frontmatter": { "origin": "来源", "more": "更多" },
    "rawMarkdownEditor": "Markdown 源码编辑器"
  },
  "research": {
    "title": "深度研究",
    "notConfigured": "深度研究信息来源尚未配置。请到设置 → 外部信息源中配置网页搜索或 AnyTXT。",
    "activeBadge": "{{running}} 个运行中{{queued, plural, =0 {} other {，{{queued}} 个排队中}}}",
    "inputPlaceholder": "输入研究主题...",
    "emptyTitle": "还没有研究任务",
    "emptyHint": "在上方输入主题，或在待审阅中点击深度研究",
    "sourcesCount": "来源（{{count}}）",
    "anyTxtSource": "AnyTXT 来源",
    "webSource": "网页来源",
    "synthesis": "综合结果",
    "thinking": "思考中",
    "open": "打开",
    "remove": "移除",
    "status": {
      "queued": "排队中",
      "searching": "正在搜索来源...",
      "synthesizing": "正在综合...",
      "saving": "正在保存到 Wiki...",
      "saved": "已保存",
      "done": "已完成",
      "failed": "失败"
    }
  },
  "project": {
    "createTitle": "新建 Wiki 项目",
    "name": "项目名称",
    "namePlaceholder": "my-research-wiki",
    "parentDir": "父目录",
    "parentDirPlaceholder": "/Users/you/projects",
    "template": "模板",
    "cancel": "取消",
    "create": "创建",
    "creating": "创建中...",
    "errorNameRequired": "名称和路径不能为空",
    "errorLanguageRequired": "请选择 AI 输出语言",
    "requiredHint": "填写项目名称、选择输出语言和父目录后即可创建项目。",
    "requiredMarker": "*",
    "browse": "选择父目录",
    "aiOutputLanguage": "AI 输出语言",
    "aiOutputLanguageHint": "所有 AI 生成的内容（Wiki 页面、聊天回复、Research 结果）都将使用此语言。您可以在设置 → 输出 中稍后更改。",
    "pickLanguage": "选择语言..."
  },
  "templates": {
    "research": {
      "name": "研究",
      "description": "用于深度研究，包含假设跟踪和方法论记录"
    },
    "reading": {
      "name": "阅读",
      "description": "跟踪书籍的人物、主题、情节线和章节笔记"
    },
    "personal": {
      "name": "个人成长",
      "description": "记录目标、习惯、反思和成长日志"
    },
    "business": {
      "name": "商务",
      "description": "管理团队会议、决策、项目和干系人背景"
    },
    "general": {
      "name": "通用",
      "description": "最小化初始结构，适合从空白开始"
    }
  },
  "sources": {
    "title": "原始资料",
    "import": "导入",
    "importing": "导入中...",
    "noSources": "暂无资料",
    "importHint": "导入文档，开始构建你的 Wiki",
    "importFiles": "导入文件",
    "importFolder": "文件夹",
    "importUrls": "网址",
    "importSourceFiles": "导入源文件",
    "importSourceFolder": "导入源文件夹",
    "urlImport": {
      "title": "导入网页",
      "description": "每行输入一个 HTTP(S) 网址。网页会保存为原始资料并进入提取队列；单个网址失败不会中断整批任务。",
      "placeholder": "https://example.com/article-one\nhttps://example.com/article-two",
      "submit": "导入网址",
      "empty": "请至少输入一个网址。",
      "imported": "已导入"
    },
    "refresh": "刷新",
    "refreshFolder": "刷新文件夹",
    "refreshingFolder": "刷新中...",
    "refreshFolderHint": "重新扫描资料文件夹，并处理新增、修改或删除的文件。",
    "refreshFolderTooltip": "按自动监控相同规则重新扫描当前项目的资料文件夹。允许的新增或修改文件会加入提取队列；已删除的资料会走正常的 Wiki 与索引清理流程；随后重建文件树。",
    "refreshFailed": "刷新原始资料失败：{{error}}",
    "ingest": "提取到 Wiki",
    "delete": "删除资料及相关 Wiki 页面",
    "deleteConfirm": "删除「{{name}}」及其相关 Wiki 页面？\n\n此操作将：\n- 删除原始资料文件\n- 删除由该资料生成的 Wiki 页面\n- 更新 index.md",
    "deleteFolder": "删除文件夹 {{name}}（递归）",
    "deleteFolderConfirm": "再次点击删除文件夹 {{name}} 及全部内容",
    "deleteFile": "删除 {{name}}",
    "deleteFileConfirm": "再次点击删除 {{name}}",
    "confirm": "确认",
    "loadingMore": "加载更多资料...",
    "sourceCount": "{{count}} 个资料",
    "sourceCount_plural": "{{count}} 个资料"
  },
  "chat": {
    "selectionEdit": {
      "title": "选中内容修改建议",
      "reviewHint": "写入前请确认",
      "original": "原文",
      "replacement": "替换内容",
      "accept": "接受",
      "reject": "拒绝",
      "applying": "正在应用……"
    },
    "agentChanges": {
      "title": "Agent 文件修改",
      "taskTitle": "Agent 活动",
      "fileCount": "{{count}} 个文件",
      "fileCount_other": "{{count}} 个文件",
      "editCount": "{{count}} 次修改",
      "editCount_other": "{{count}} 次修改",
      "editNumber": "第 {{number}} 次修改",
      "expandDiff": "展开文件差异",
      "collapseDiff": "收起文件差异",
      "undo": "撤销本次 Agent 修改",
      "undoUnavailable": "应用重启后无法撤销",
      "diffUnavailable": "原文件过大，未保存安全快照，无法显示差异。",
      "shellSnapshotUnavailable": "该文件由 Shell 命令修改，无法获取安全的写入前快照。",
      "undoConflict": "文件在 Agent 写入后又发生了变化，已停止撤销。"
    },
    "contextFileHint": "将项目文件加入当前会话上下文",
    "removeContextFile": "从上下文中移除 {{name}}",
    "placeholder": "向你的 Wiki 提问...",
    "ingestPlaceholder": "讨论资料内容或继续追问...",
    "saveToWiki": "保存到 Wiki",
    "saving": "保存中...",
    "saved": "已保存！",
    "regenerate": "重新生成",
    "regenerateResponse": "重新生成此回复",
    "copy": "复制",
    "copied": "已复制！",
    "copyToClipboard": "复制到剪贴板",
    "thinking": "思考中……",
    "lineCount": "{{count}} 行",
    "lineCount_other": "{{count}} 行",
    "thoughtLineCount": "思考过程共 {{count}} 行",
    "thoughtLineCount_other": "思考过程共 {{count}} 行",
    "writeToWiki": "写入 Wiki",
    "emptyHint": "提问或开始提取资料。",
    "sources": "来源",
    "newChat": "新建对话",
    "newConversation": "新对话",
    "noConversationsYet": "暂无对话",
    "msgCount": "条消息",
    "startNewConversation": "开始新对话",
    "clickNewChatToBegin": "点击「新建对话」开始",
    "typeAMessage": "输入消息...",
    "useWebSearch": "网页搜索",
    "useAnyTxtSearch": "AnyTXT 搜索",
    "skills": "Skills",
    "enabledSkills": "已启用 Skills",
    "skillsAutoMode": "自动",
    "slashSkillHint": "选择 Skill",
    "removeSkill": "移除 {{name}}",
    "noSkillsAvailable": "未找到 Skill。可在 .llm-wiki/skills 或用户级 skills 目录中添加 SKILL.md。",
    "approveCommand": "批准命令",
    "skillSources": {
      "project": "项目",
      "claude": "Claude",
      "codex": "Codex",
      "agents": "Agents"
    },
    "agentMode": "Agent 模式",
    "retrievalMode": "检索模式",
    "retrievalModeHint": "传统检索保持现有行为；智能检索按证据缺口迭代；只读原文模式只依据原始资料片段回答。",
    "retrievalModes": {
      "standard": "传统检索",
      "smart": "智能检索",
      "faithful": "只读原文"
    },
    "agentModes": {
      "fast": "快速",
      "standard": "标准",
      "deep": "深度",
      "localFirst": "本地优先"
    },
    "enableAnyTxtInSettings": "请在设置 → 外部信息源中启用 AnyTXT",
    "sendMessage": "发送消息",
    "stopGeneration": "停止生成",
    "attachImage": "添加图片",
    "removeImage": "移除图片",
    "imageMessage": "图片",
    "imageVisionHint": "图片会发送给当前 LLM。图片提问需要使用支持视觉的模型。",
    "imageInputUnavailable": "当前 Provider 不支持图片输入。请在设置中切换到支持视觉的 Provider。",
    "imageTooLarge": "图片过大（最大 {{max}}MB）：{{name}}",
    "tooManyImages": "图片数量过多（最多 {{max}} 张）",
    "unsupportedImageType": "不支持的图片类型：{{type}}",
    "referencePreview": "引用预览",
    "references": "引用",
    "generatedOutputs": "生成物",
    "generatedOutput": "生成",
    "openGeneratedOutputFolder": "打开生成物目录",
    "generatedOutputCount": "{{count}} 个文件",
    "generatedOutputCount_plural": "{{count}} 个文件",
    "closeGeneratedOutputs": "关闭生成物列表",
    "closeGeneratedOutputPreview": "关闭生成物预览",
    "closeReferencePreview": "关闭引用预览",
    "resizeReferencePreview": "调整引用预览宽度",
    "noReferencePreviewFragment": "没有返回可预览的片段。",
    "userInputRequiredDescription": "请提供所需信息以继续。",
    "userInputSubmit": "提交并继续",
    "userInputSubmitted": "已提交",
    "userInputRecommended": "推荐",
    "userInputEnabled": "启用",
    "agent": {
      "understanding": "理解问题",
      "routing": "规划下一步",
      "tool_call": "调用工具",
      "tool_result": "工具结果",
      "searching_wiki": "搜索 Wiki",
      "searching_graph": "探索知识图谱",
      "searching_web": "搜索网页",
      "searching_anytxt": "搜索 AnyTXT",
      "reading_context": "读取上下文",
      "writing": "生成回答",
      "resultCount": "{{count}} 条结果"
    }
  },
  "search": {
    "title": "搜索",
    "placeholder": "搜索 Wiki 页面...",
    "placeholderWithShortcut": "搜索 Wiki 页面……（按 Enter 搜索）",
    "searching": "正在搜索……",
    "pressEnter": "按 Enter 开始搜索",
    "pageCount": "{{count}} 个页面",
    "pageCount_other": "{{count}} 个页面",
    "imageMatchCount": "{{count}} 个图片匹配",
    "imageMatchCount_other": "{{count}} 个图片匹配",
    "supportingImageCount": "匹配页面中的另外 {{count}} 张图片",
    "images": "图片",
    "pages": "页面",
    "hideSupporting": "隐藏补充图片",
    "showAllSupporting": "显示全部（+{{count}}）",
    "noCaption": "无图片说明",
    "fromSource": "来源：{{source}}",
    "jumpToSource": "跳转到来源文档",
    "noResults": "未找到相关结果",
    "startSearching": "输入关键词搜索 Wiki 页面"
  },
  "lint": {
    "title": "Wiki 检查",
    "semantic": "语义检查 (LLM)",
    "running": "检查中...",
    "cancel": "取消检查",
    "cancelProgress": "取消 {{completed}}/{{total}}",
    "runLint": "开始检查",
    "runLintHint": "运行检查以诊断 Wiki 健康状况",
    "runLintDescription": "检查孤立页面、失效链接等问题",
    "allClear": "一切正常！",
    "noIssues": "未发现问题。",
    "warnings": "警告",
    "info": "提示",
    "sectionCount": "{{label}} ({{count}})",
    "open": "打开",
    "fixing": "修复中...",
    "fix": "修复",
    "fixFailed": "修复失败：{{error}}",
    "delete": "删除",
    "selectAll": "全选",
    "selectItem": "选择 {{page}}",
    "selectedCount": "已选择 {{count}} 项",
    "fixSelected": "修复选中项",
    "sendSelectedToReview": "转入待审阅",
    "ignoreSelected": "忽略选中项",
    "openEdit": "打开编辑",
    "skip": "跳过",
    "deletePage": "删除页面",
    "fixBrokenLink": "修复 {{page}} 中的失效链接",
    "addCrossRefs": "为 {{page}} 添加交叉引用",
    "addCrossRefsDescription": "此页面没有出站 [[wikilinks]]。建议添加与相关实体和概念的交叉引用。",
    "suggestedTarget": "建议目标：{{page}}",
    "suggestedSource": "建议来源：{{page}}",
    "deleteOrphanConfirm": "删除孤立页面「{{page}}」？",
    "typeLabels": {
      "orphan": "孤立页面",
      "broken-link": "失效链接",
      "no-outlinks": "无出站链接",
      "semantic": "语义问题"
    },
    "issues": "{{count}} 个问题",
    "issues_plural": "{{count}} 个问题"
  },
  "review": {
    "title": "待审阅",
    "clearResolved": "清除已解决",
    "refresh": "刷新",
    "refreshHint": "从磁盘重新加载审阅项",
    "selectPending": "选择待处理项",
    "selectItem": "选择 {{title}}",
    "selectedCount": "已选择 {{count}} 项",
    "markSelectedResolved": "标记为已解决",
    "dismissSelected": "忽略选中项",
    "affectedPages": "相关页面",
    "allClear": "一切正常，无需审阅",
    "resolvedDivider": "— 已解决 —"
  },
  "settings": {
    "title": "设置",
    "llmProvider": "LLM 提供商",
    "provider": "提供商",
    "apiKey": "API 密钥",
    "apiKeyPlaceholder": "请输入你的 {{provider}} API 密钥",
    "model": "模型",
    "customModel": "或手动输入模型名称",
    "ollamaUrl": "Ollama 地址",
    "customEndpoint": "API 端点（OpenAI 兼容）",
    "customEndpointHint": "任何兼容 OpenAI 的 API 端点（如 LiteLLM、vLLM、LocalAI、Azure OpenAI）",
    "customApiKey": "请输入 API 密钥（如需要）",
    "modelPlaceholder": "请输入模型名称",
    "save": "保存",
    "saved": "已保存",
    "savedTick": "已保存 ✓",
    "changeHint": "改动会在保存后应用。",
    "saveFailed": "保存失败，部分设置可能没有保存。详细信息见控制台。",
    "language": "语言",
    "languageHint": "界面语言（Wiki 内容语言以原始资料为准）",
    "categories": {
      "general": "通用",
      "llm": "LLM 模型",
      "embedding": "向量嵌入",
      "multimodal": "图片描述",
      "webSearch": "外部信息源",
      "network": "网络",
      "sourceWatch": "资料文件夹监控",
      "scheduledImport": "定时导入",
      "mineru": "MinerU PDF",
      "apiServer": "API + MCP",
      "output": "输出偏好",
      "interface": "界面",
      "maintenance": "维护",
      "changelog": "更新日志",
      "about": "关于"
    },
    "sections": {
      "general": {
        "title": "通用",
        "description": "桌面应用的启动和窗口关闭行为。",
        "autostart": "登录系统后自动启动",
        "autostartHint": "登录这台电脑后自动启动 LLM Wiki。",
        "closeBehavior": "关闭窗口时",
        "closeBehaviorHint": "点击标题栏关闭按钮时使用这个设置。托盘菜单仍可直接退出应用。",
        "closeAsk": "每次询问",
        "closeAskHint": "显示确认框。取消会隐藏窗口，并保持后台功能继续运行。",
        "closeMinimize": "隐藏窗口",
        "closeMinimizeHint": "关闭窗口时让 LLM Wiki 留在后台运行。在 macOS 上这符合红色关闭按钮的常规行为；如果 Linux 托盘不可用，会最小化窗口而不是隐藏。",
        "closeExit": "退出应用",
        "closeExitHint": "关闭窗口时立即退出 LLM Wiki。"
      },
      "skills": {
        "title": "Skills",
        "description": "扫描项目和用户级 Skill 文件夹，并选择哪些 Skill 可以在对话中使用。",
        "paths": "扫描目录：.llm-wiki/skills、~/.claude/skills、~/.codex/skills、~/.agents/skills。",
        "summary": "已启用 {{enabled}} 个 / 共发现 {{total}} 个",
        "enableAll": "全部启用",
        "disableAll": "全部禁用",
        "refresh": "重新扫描",
        "searchPlaceholder": "按名称、ID、描述或来源搜索 Skill...",
        "scanDone": "发现 {{count}} 个 Skill。",
        "empty": "未找到 Skill。请在扫描目录中添加 SKILL.md 后重新扫描。",
        "noSearchResults": "没有匹配当前搜索的 Skill。",
        "enabled": "已启用",
        "disabled": "已禁用"
      },
      "llm": {
        "title": "LLM 模型",
        "description": "配置内置 Provider，或添加多个自定义端点。启用一个会自动停用其他项，每个 Provider 都独立保存凭据与模型设置。",
        "taskRouting": {
          "chat": "Chat 模型",
          "ingest": "Ingest 模型",
          "activeDefault": "使用当前活跃模型",
          "hint": "可为交互聊天和文档摄取分别选择模型；未指定时继续使用当前活跃模型。"
        },
      "projectOverride": {
          "enabled": "为当前项目使用独立模型",
          "provider": "项目 Provider",
          "selectProvider": "选择 Provider",
          "model": "项目模型",
          "modelPlaceholder": "使用 Provider 已配置的模型",
          "hint": "启用后，当前项目的 Chat 和 Ingest 都使用这里选择的 Provider 与模型；API Key 仍保存在全局 Provider 设置中。"
        },
        "customProfiles": {
          "add": "添加自定义 Provider",
          "defaultName": "自定义 Provider {{number}}",
          "name": "Provider 名称",
          "delete": "删除自定义 Provider"
        },
        "expand": "展开配置",
        "collapse": "收起",
        "toggleOff": "点击关闭",
        "toggleOn": "点击启用（会关闭其他 provider）",
        "deactivate": "停用",
        "activate": "启用",
        "apiMode": "API 模式",
        "endpoint": "Endpoint",
        "contextWindow": "上下文窗口",
        "wireOpenAi": "OpenAI 兼容",
        "wireAnthropic": "Anthropic 兼容",
        "apiKeyPlaceholderCustom": "无 Key 可留空（本地模型）",
        "apiKeyPlaceholder": "请输入 API Key",
        "savedBadge": "已保存",
        "configuredBadge": "已配置",
        "activeBadge": "● 活跃",
        "useModel": "使用 {{model}}",
        "typeCustomModel": "输入自定义模型 ID",
        "customModel": "自定义…",
        "customModelBadge": "自定义：{{model}}",
        "endpointPreviewWillUse": "将使用",
        "endpointPreviewAutoApply": "（离开输入框时自动套用）",
        "providerTests": "Provider 测试",
        "providerTestsHint": "连接测试用于确认 endpoint 能正常响应；功能测试会让模型执行一个极小指令。",
        "localCliIsolation": "隔离本地 CLI 配置",
        "localCliIsolationHint": "仅用于 Claude Code 和 Codex CLI。开启后，LLM Wiki 会让 CLI 尽量忽略用户级 rules / config / MCP / tools。这是配置隔离，不是进程沙箱：CLI 仍会使用你的本机登录凭据和网络能力。若你有意依赖本机 CLI 配置，请保持关闭。",
        "localCliIsolationOn": "隔离已开启：在 CLI 支持的范围内禁用用户规则、MCP/tools 和持久会话。本机凭据和网络访问仍由 CLI 自身控制。",
        "localCliIsolationOff": "隔离已关闭：该 Provider 可以使用你平时的本地 CLI 配置。",
        "codexCliTimeout": "Codex CLI 超时时间",
        "codexCliTimeoutUnit": "分钟",
        "codexCliTimeoutHint": "单次 Codex CLI 请求的总超时时间。长 PDF 摄取或较慢的本地 / 网络会话可适当调大。",
        "requestTimeout": "请求超时时间（分钟）",
        "requestTimeoutHint": "本地 CPU 模型响应较慢时可适当调高，默认 30 分钟。",
        "streamingOutput": "启用流式输出",
        "streamingOutputHint": "关闭后，HTTP Provider 会等待完整响应后再显示。CLI Provider 仍使用其原生协议，但会缓存可见内容并在完成后一次性显示。",
        "streamingOutputOn": "流式输出已开启：生成内容会逐步显示。",
        "streamingOutputOff": "流式输出已关闭：生成完成后一次性显示内容。",
        "customHeaders": "自定义请求头",
        "customHeadersHint": "可选。每行填写一条 Header-Name: value。Content-Type 和已配置的 API 密钥请求头优先。",
        "cliStatus": "CLI 状态",
        "checkingCli": "正在检查……",
        "recheckCli": "重新检查",
        "detectingCli": "正在检测本地 {{name}} 程序……",
        "cliDetected": "已检测到{{version}}，可以使用本地{{login}}，无需 API Key。",
        "claudeSubscription": "订阅账户",
        "codexLogin": "Codex 登录",
        "cliAuthBefore": "如果聊天提示认证失败，请在终端运行",
        "cliAuthAfter": "以刷新登录状态。",
        "cliUnavailable": "无法使用 {{name}} CLI。",
        "cliInstallBefore": "请运行",
        "cliInstallAfter": "完成安装后重新检查。",
        "testConnection": "测试连接",
        "testFunction": "测试功能",
        "testingConnection": "正在测试连接…",
        "testingFunction": "正在测试功能…",
        "deploymentName": "部署名称",
        "azureApiVersion": "Azure API 版本",
        "azureApiVersionHint": "会作为 Azure OpenAI 的 api-version 查询参数发送。",
        "azureModelFamily": "Azure 模型族",
        "azureModelFamilyAuto": "根据部署名称自动判断",
        "azureModelFamilyGpt5": "GPT-5 / o-series 严格参数",
        "azureModelFamilyHint": "Azure 的 deployment 名称可以任意命名。如果该部署拒绝 max_tokens 或非默认 temperature，请选择 GPT-5 / o-series。",
        "reasoning": {
          "title": "Reasoning / thinking",
          "auto": "自动",
          "off": "关闭",
          "low": "低",
          "medium": "中",
          "high": "高",
          "max": "最大",
          "custom": "自定义",
          "budgetTokens": "thinking token 预算",
          "hint": "结构化任务（如 ingest）可能会自动关闭 reasoning，避免模型只输出思考过程而没有正文。"
        }
      },
      "embedding": {
        "title": "向量嵌入",
        "description": "启用语义搜索。支持 OpenAI 兼容的 /v1/embeddings endpoint、Google Gemini 原生 embedContent endpoint，以及火山方舟 / 豆包 embedding endpoint。本地模型（如 LM Studio、Ollama embedding）不需要 API Key。",
        "enableLabel": "启用向量搜索",
        "enableHint": "关掉后搜索只走 token 匹配。",
        "endpoint": "Endpoint",
        "endpointHint": "OpenAI 兼容示例：http://127.0.0.1:1234/v1/embeddings。Gemini 示例：https://generativelanguage.googleapis.com/v1beta，模型填 gemini-embedding-001。火山方舟示例：https://ark.cn-beijing.volces.com/api/v3，模型填 doubao-embedding-vision。",
        "apiKey": "API Key（可选）",
        "apiKeyPlaceholder": "本地模型留空即可",
        "model": "Model",
        "modelHint": "输入框会提示常见模型；OpenAI 兼容 endpoint 的自定义模型 ID 也可以直接填写。",
        "outputDimensionality": "输出维度（仅 Gemini）",
        "outputDimensionalityHint": "可选。仅对 Gemini 原生 embedContent endpoint 作为 `output_dimensionality` 发送；OpenAI 兼容 endpoint 会忽略此项。留空则使用模型默认值。修改模型或维度后需要重建嵌入。",
        "extraHeaders": "自定义请求头",
        "extraHeadersHint": "可选。每行一条，格式 `Header-Name: value`。用于需要按请求头路由的网关，例如 mify 需要 `X-Model-Provider-Id: siliconflow`。Authorization、Content-Type、Host、Content-Length、x-goog-api-key 由系统管理，会被忽略。",
        "chunking": "切分参数",
        "maxChunkChars": "每块最大字符数",
        "maxChunkCharsHint": "单个 chunk 的目标长度。endpoint 上下文较小时（llama.cpp n_ctx=512、mxbai-embed-large 等）调低（如 500）。",
        "overlapChunkChars": "重叠字符数",
        "overlapChunkCharsHint": "相邻 chunk 之间的重叠字符数，避免语义在边界被切断。",
        "concurrency": "并发请求数",
        "concurrencyHint": "同时进行的 embedding 请求上限（1–32）。请根据 endpoint 承载能力逐步调高。",
        "batchSize": "单次请求输入数",
        "batchSizeHint": "仅 OpenAI 兼容 endpoint 支持（1–64）；不支持的 Provider 会自动使用单条请求。",
        "providerTests": "Provider 测试",
        "providerTestsHint": "连接测试会发送一次短 embedding 请求；功能测试会验证返回的是稳定、有限的向量，并显示维度。",
        "testConnection": "测试连接",
        "testFunction": "测试功能",
        "testingConnection": "正在测试 embedding 连接…",
        "testingFunction": "正在测试 embedding 功能…",
        "statsHeading": "索引状态",
        "chunkCount": "已索引 {{count}} 个 chunk",
        "lastErrorHeading": "上次 embedding 错误",
        "reindexAll": "重新索引全部页面",
        "reindexing": "索引中 {{done}}/{{total}}…",
        "reindexDone": "已索引 {{count}} 个页面。",
        "reindexError": "重新索引失败：{{message}}",
        "legacyPromptTitle": "检测到旧版（按页）索引",
        "legacyPromptBody": "当前项目在旧版按页向量存储里有 {{count}} 条记录。新版按 chunk 索引检索质量更高,但需要一次性重新 embed。点击\"重新索引全部页面\"完成升级。",
        "dropLegacy": "删除旧版索引",
        "dropLegacyDone": "旧版索引已删除。"
      },
      "multimodal": {
        "title": "图片描述",
        "description": "导入时调用视觉模型为 PDF / DOCX / PPTX 中提取的图片生成事实性描述。描述会写入源 markdown 的 alt 属性，语义搜索按图片内容查询时就靠它命中。按图片字节 SHA-256 缓存，跨文档重复出现的 logo / 图表模板只调用一次。",
        "enableLabel": "导入时生成图片描述",
        "enableHint": "关：ingest 时把图片引用从内容里剥掉 —— wiki 页面里不会出现图片，搜索也不会返回。（图片仍会落到 wiki/media/，原始文档预览能看到。）开：每张新图调用视觉模型生成事实性 caption（按 hash 缓存），写入 wiki 页面 alt 属性。",
        "stateOn": "已开启",
        "stateOff": "已关闭",
        "useMainLabel": "使用主 LLM 生成 caption",
        "useMainHint": "复用「设置 → LLM Provider」里选的模型。仅当主模型支持图像输入时打开 —— 纯文本模型会返回 400。",
        "dedicatedHeading": "独立视觉端点",
        "provider": "Provider",
        "ollamaUrl": "Ollama URL",
        "customEndpoint": "端点 URL",
        "customEndpointHint": "OpenAI 兼容的 /v1 根地址。LM Studio、llama.cpp server、vLLM、LocalAI 都可以。",
        "azureEndpoint": "Azure 端点",
        "azureEndpointHint": "填写 Azure OpenAI resource endpoint。模型字段填写 deployment name。",
        "azureApiVersion": "Azure API 版本",
        "azureApiVersionHint": "会作为 Azure OpenAI 的 api-version 查询参数发送。",
        "azureModelFamily": "Azure 模型族",
        "azureModelFamilyAuto": "根据部署名称自动判断",
        "azureModelFamilyGpt5": "GPT-5 / o-series 严格参数",
        "azureModelFamilyHint": "如果该部署拒绝 max_tokens 或非默认 temperature，请选择 GPT-5 / o-series。",
        "azureDeployment": "部署名称",
        "apiKey": "API Key",
        "apiKeyPlaceholder": "本地 / 无鉴权端点留空",
        "model": "模型",
        "modelHint": "必须是支持视觉输入的模型。文本-only 模型会在首次 ingest 时报 400 / image-not-supported。",
        "concurrency": "并发 caption 请求数",
        "concurrencyHint": "并行多少个 caption 请求。1 = 严格串行。多数场景 4 合适；只有在高性能 GPU 或托管端点上才考虑 8+。",
        "costHeading": "费用提示",
        "costPoint1": "每张新图触发一次视觉模型调用（约 500-2000 token，取决于模型和 thinking 模式）。",
        "costPoint2": "Caption 按图片字节 SHA-256 缓存。跨文档重复的 logo / 通用图表模板只调用 ONE 次。",
        "costPoint3": "Rust 端过滤掉小于 100×100 像素的图，并限制每文档最多 500 张 —— 病态 PDF 不会无限放大费用。",
        "costPoint4": "批量 ingest 推荐用本地视觉模型（LM Studio / Ollama 跑 Qwen2.5-VL）；托管视觉 API 留给少量高价值文档。"
      },
      "webSearch": {
        "title": "外部信息源",
        "description": "配置 LLM Wiki 可以使用的外部信息来源。",
        "deepResearchSources": "深度研究来源模式",
        "deepResearchSourcesHint": "网页搜索使用当前选中的在线搜索 Provider。AnyTXT 会通过本机 ATGUI.exe 的本地索引搜索文件内容。",
        "sourceWeb": "网页搜索",
        "sourceAnyTxt": "AnyTXT",
        "sourceBoth": "两者都用",
        "webProviders": "网页搜索 Provider",
        "anyTxtTitle": "AnyTXT 本地文件搜索",
        "anyTxtDescription": "把 AnyTXT 的本地 JSON-RPC API 作为 Deep Research 的信息来源。开始研究前请保持 ATGUI.exe 运行。",
        "anyTxtEndpoint": "AnyTXT 端点",
        "anyTxtFilterDir": "搜索文件夹",
        "anyTxtFilterDirPlaceholder": "留空则使用 AnyTXT 默认范围；Windows 如需其他盘符请指定盘符或文件夹",
        "anyTxtFilterExt": "扩展名过滤",
        "anyTxtLimit": "最多本地结果数",
        "anyTxtHint": "AnyTXT pattern 会直接传给 AnyTXT，因此会使用 AnyTXT 自己的搜索语法。AnyTXT API 是本地 Beta 能力，请遵守 AnyTXT 的使用条款。",
        "anyTxtBroadDirWarning": "这个目录范围很大。Deep Research 可能会把匹配到的本地文件片段（包括敏感内容）发送给当前选择的 LLM。",
        "expand": "展开",
        "collapse": "收起",
        "activate": "启用",
        "deactivate": "停用",
        "configuredBadge": "已配置",
        "activeBadge": "活跃",
        "savedBadge": "已保存",
        "instanceUrl": "实例 URL",
        "ollamaHint": "使用官方 Ollama Web Search API（`https://ollama.com/api/web_search`），需要填写 Ollama API Key。",
        "bochaHint": "使用博查官方网页搜索 API。可前往 open.bocha.cn 创建和管理 API Key。",
        "firecrawlHint": "API Key 留空时使用匿名搜索；填写 Firecrawl API Key 后使用认证额度。Base URL 也可指向兼容的自托管端点。",
        "searxngJsonHint": "实例必须允许 JSON 搜索响应（`format=json`）。",
        "searchCategories": "搜索分类",
        "searxngCategoriesHint": "分类会作为 SearXNG 的 `categories` 参数发送。",
        "searchEngine": "搜索引擎 / 分类",
        "customSerpApiPlaceholder": "自定义 SerpApi engine，例如 google_finance",
        "customSerpApiHint": "自定义 engine 会作为 SerpApi 的 `engine` 参数发送。",
        "testProvider": "测试搜索",
        "testRunning": "测试中...",
        "testSuccess": "搜索测试成功（{{count}} 条结果）。",
        "testSuccess_plural": "搜索测试成功（{{count}} 条结果）。",
        "testNoResults": "连接可用，但测试查询没有返回结果。",
        "testFailed": "搜索测试失败：{{message}}",
        "firecrawlIpBlocked": "Firecrawl 匿名搜索已被当前 IP 拦截。请切换其他网页搜索 Provider，或尝试更换网络。",
        "firecrawlNetworkError": "无法连接 Firecrawl Search。请检查网络，或切换其他网页搜索 Provider。",
        "firecrawlInvalidJson": "Firecrawl 返回了无效响应。请稍后重试，或切换其他网页搜索 Provider。",
        "configureBeforeTesting": "请先配置"
      },
      "network": {
        "title": "网络",
        "description": "让所有外部 HTTP 请求（LLM、向量、搜索、更新检查）走代理。点击保存即时生效，不需要重启应用。",
        "enable": "启用代理",
        "url": "代理地址",
        "urlHelp": "完整 URL，必须带协议头。支持：http://、https://（当前版本不支持 SOCKS5）。",
        "bypassLocal": "本地地址不走代理（推荐）",
        "bypassLocalHelp": "对 localhost、127.0.0.0/8、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 以及 *.local 的请求会绕过代理。如果你用 Ollama / LM Studio 或局域网内的 LLM 服务，请保持开启。"
      },
      "sourceWatch": {
        "title": "资料文件夹自动监控",
        "description": "监控 raw/sources 的外部变化，并选择哪些文件允许自动进入提取队列。",
        "enable": "监控项目资料文件夹",
        "enableDescription": "刷新原始资料列表，并为 raw/sources 下允许的新文件或修改文件建立提取任务。",
        "autoIngest": "自动提取允许的原始资料文件",
        "autoIngestDescription": "关闭后，外部变化仍会刷新文件树，但不会创建提取任务。",
        "noProject": "打开项目后才能修改这个项目级设置。",
        "fileTypes": "允许的文件类型",
        "fileTypesDescription": "常见文档类型默认开启。媒体、二进制、源码和配置类格式默认关闭，需要时再手动选择。",
        "exclusions": "排除规则和限制",
        "maxSize": "自动提取的最大文件大小（MB）",
        "excludeDirs": "排除的文件夹",
        "excludeDirsPlaceholder": ".git, node_modules, drafts, subdir/drafts",
        "excludeDirsHint": "文件夹名称会匹配任意路径段。subdir/drafts 这类路径会匹配对应的嵌套文件夹。",
        "excludeExtensions": "排除的文件扩展名",
        "excludeExtensionsPlaceholder": "tmp, bak, exe, dll, iso, dmg",
        "excludeExtensionsHint": "不需要写点号。这些扩展名会覆盖上面的允许文件类型勾选。",
        "excludeGlobs": "排除的文件名模式",
        "excludeGlobsHint": "用逗号分隔模式，例如 *.draft.*、~$*、.~lock.*#。",
        "groups": {
          "documents": "文档",
          "presentations": "演示文稿",
          "spreadsheets": "表格",
          "web": "网页文档",
          "data": "数据 / 配置",
          "images": "图片",
          "media": "音频 / 视频",
          "code": "源码"
        }
      },
      "scheduledImport": {
        "title": "定时导入",
        "description": "自动监控指定目录，按固定间隔导入新增或修改的文件。",
        "enable": "启用定时导入",
        "directory": "监控目录",
        "directoryHelp": "请选择当前 LLM Wiki 项目之外的外部文件夹。raw、raw/sources、wiki、.llm-wiki 等项目内部目录会被跳过，因为资料文件夹监控已经负责这些内容。",
        "managedPathWarning": "该路径位于当前 LLM Wiki 项目内部，已经由资料文件夹监控负责。请选择外部文件夹，避免重复扫描。",
        "privacyNotice": "所选目录中的文件可能会被复制到当前项目，并在提取时发送给你配置的 LLM。源目录中删除文件不会自动删除项目内已导入内容。",
        "browse": "浏览",
        "selectDirectory": "选择监控目录",
        "interval": "扫描间隔（分钟）",
        "intervalHelp": "检查变更的频率。最小值：1 分钟。",
        "scanNow": "立即扫描",
        "scanning": "扫描中...",
        "lastScan": "上次扫描：{{time}}",
        "never": "从未"
      },
      "apiServer": {
        "title": "API + MCP",
        "description": "通过本地 HTTP API 将 LLM Wiki 开放给你的脚本和工具，也可以额外启用内置 MCP 服务供智能体客户端访问。",
        "enable": "启用本地 HTTP API",
        "enableHint": "关闭后，即使已配置 token，除 /health 外的所有接口都会返回 503。可作为不清空 token 的临时关闭开关。",
        "status": "状态",
        "statusRunning": "运行中",
        "statusOpen": "运行中，无需鉴权",
        "statusNoToken": "运行中，未配置 token",
        "statusDisabled": "已禁用",
        "statusStarting": "启动中…",
        "statusPortConflict": "端口 19828 被占用",
        "statusError": "错误",
        "statusUnknown": "未知",
        "baseUrl": "服务地址",
        "openHealth": "打开 /health",
        "openHealthHint": "在系统浏览器中打开。/health 是唯一不需要 token 的接口。",
        "allowUnauthenticated": "允许无 token 访问",
        "allowUnauthenticatedHint": "仅用于可信的本地智能体。启用后，这台机器上的任何进程或浏览器页面都可以调用 API。",
        "allowLanAccess": "允许 API 和 Clip server 局域网访问",
        "allowLanAccessHint": "重启应用后，API 和 Clip server 会监听 0.0.0.0，而不是 127.0.0.1。仅在可信网络中使用，除非完全信任局域网，否则请保留 token 鉴权。",
        "mcpEnable": "启用 MCP 访问",
        "mcpEnableHint": "MCP 复用本地 API 和同一套 token 规则。保持 HTTP API 启用后，将 MCP 客户端连接到内置 Node 服务即可。",
        "mcpUsage": "MCP 使用说明",
        "mcpUsageHint": "先执行一次 `npm run mcp:build`，然后让 MCP 客户端运行下面的服务配置。除非启用了无认证访问，否则需要设置 LLM_WIKI_API_TOKEN。",
        "mcpPathUnavailable": "没有找到 MCP 服务入口。请在 LLM Wiki 仓库中先执行 `npm run mcp:build`，然后重新打开设置。",
        "token": "访问令牌",
        "tokenHint": "除非启用了无认证访问，否则必须配置。通过 `Authorization: Bearer <token>` 或 `X-LLM-Wiki-Token: <token>` 发送。设置了环境变量 LLM_WIKI_API_TOKEN 时优先生效。",
        "tokenPlaceholder": "粘贴已有 token，或点击生成",
        "generate": "生成新 token",
        "show": "显示",
        "hide": "隐藏",
        "copy": "复制",
        "copied": "已复制",
        "tokenMissing": "未配置 token —— 所有接口都会返回 401",
        "tokenUnused": "启用无认证访问时，token 不会参与鉴权",
        "envTokenActive": "LLM_WIKI_API_TOKEN 正在生效，并会覆盖此处填写的 token",
        "tokenWeak": "token 长度偏短 —— 建议使用「生成新 token」获得 256 位熵",
        "saveFirst": "保存设置后 API/MCP 改动才会生效",
        "saveFirstExample": "请先保存设置，然后再复制示例请求。",
        "tokenWarning": "请妥善保管。任何能访问这台机器 localhost 的进程拿到 token 后，都能通过 API 读取你的项目内容。",
        "tokenQueryWarning": "推荐使用 Authorization header —— 将 token 放在 ?token=… 查询参数里会泄露到 shell 历史、日志和 Referer。",
        "sample": "示例请求",
        "endpoints": "接口列表",
        "endpointsHint": "把 {id} 替换为项目 UUID、项目文件系统路径，或字面量 'current'。",
        "endpointHealthNote": "存活探针。无需鉴权。",
        "endpointProjectsNote": "列出所有已知项目及其 ID 和路径。",
        "endpointFilesNote": "?root=wiki|sources|all；?recursive=false；?maxFiles=N（≤10000）。",
        "endpointContentNote": "?path=wiki/index.md —— 仅文本文件，最大 2 MB。",
        "endpointReviewsNote": "?status=unresolved|resolved|all；?type=missing-page；?limit=N。默认返回未解决的 Review 项。",
        "endpointPatchReviewNote": "更新单个 Review 项。JSON body：{ resolved?, action? }（resolved 默认为 true；传 false 可重新打开）。使用 Review 标签页的刷新按钮重新读取。",
        "endpointBulkResolveNote": "批量解决 Review 项。JSON body：{ ids, action? }。返回 { resolved, notFound, count }。",
        "endpointSearchNote": "JSON body：{ query, topK?, includeContent?, queryEmbedding? }。配置嵌入后使用统一的关键词 + 向量检索。",
        "endpointGraphNote": "?q=…&nodeType=…&limit=N —— 基于 wiki/*.md 的双链图谱。",
        "endpointRescanNote": "使用你的资料文件夹监控配置触发后端重新扫描。",
        "endpointChatNote": "尚未实现（返回 501）。"
      },
      "output": {
        "title": "输出偏好",
        "description": "影响生成内容的语言、对话历史长度等参数。",
        "aiLanguage": "AI 输出语言",
        "aiLanguageHint": "强制 AI 生成内容（chat 回复、wiki 页面、research 结果、lint 报告）使用指定语言。选 \"Auto\" 让 AI 跟随用户输入或源文档的语言。",
        "historyLength": "对话历史长度",
        "historyHint": "每次请求发给 AI 的历史消息条数。多 = 上下文更完整但更费 token。",
        "historyCurrent": "当前 {{count}} 条消息（约 {{turns}} 轮对话）"
      },
      "interface": {
        "title": "界面",
        "description": "界面语言和外观样式。切换后立即生效并持久化。",
        "uiLanguage": "UI 语言",
        "uiLanguageHint": "只影响按钮、标签这些 UI 文案,不影响 AI 输出语言(那个在\"输出偏好\"里单独设置)。",
        "theme": "主题",
        "themeHint": "预览会立即生效。保存设置后会记住所选主题。跟随系统会使用操作系统的外观设置。",
        "themeLight": "浅色",
        "themeDark": "深色",
        "themeSystem": "跟随系统",
        "zoom": "界面缩放",
        "zoomHint": "缩放应用内文字和基于 rem 的间距。少数固定像素面板会保留实际尺寸限制。",
        "zoomIn": "放大",
        "zoomOut": "缩小"
      },
      "maintenance": {
        "title": "维护",
        "description": "清理 wiki 的工具 —— 检测并合并 LLM 在多次再导入时用不同名字创建的重复实体 / 概念。",
        "noProject": "请先打开一个项目。",
        "noLlm": "请先配置 LLM 服务。",
        "projectData": {
          "title": "项目数据",
          "description": "根据现有页面重建导航，或完整迁移项目及其隐藏的处理状态。",
          "rebuild": "重建索引",
          "export": "导出项目",
          "import": "导入项目",
          "rebuilt": "已使用 {{pages}} 个页面、{{groups}} 个分组重建索引。",
          "exported": "项目已导出到 {{path}}",
          "imported": "已导入 {{name}}，请切换项目后打开。"
        },
        "dedup": {
          "title": "检测重复实体 / 概念",
          "description": "让 LLM 扫描全部 entity / concept 页面，把可能指向同一主题但用了不同名字的页面分组（中英对照、单复数、缩写与全称等）。每一组都需要你确认后才会合并。合并任务会进入串行队列依次执行，避免交叉引用被并发改写覆盖。",
          "scanButton": "扫描重复项",
          "scanning": "扫描中…",
          "noneFound": "未发现重复分组，wiki 很干净。",
          "candidates": "{{n}} 个候选",
          "canonicalLabel": "保留以下 slug 作为主条目：",
          "mergeButton": "合并到 {{slug}}",
          "merging": "合并中…",
          "queued": "排队中",
          "queuedAhead": "排队中（前面还有 {{n}} 个）",
          "failed": "失败（{{retries}}/3）",
          "cancel": "取消",
          "retry": "重试",
          "delete": "删除",
          "queueTitle": "进行中的合并",
          "queueDescription": "上次扫描后排进队列、还未跑完的合并任务。每次只跑一个。",
          "restoredBacklog": "这些合并任务由上次会话恢复，当前已暂停，以免意外消耗 LLM 配额。",
          "resumeRestored": "继续合并",
          "notDuplicates": "不是重复",
          "merged": "已合并",
          "skipped": "已标记为不重复"
        }
      },
      "changelog": {
        "title": "更新日志",
        "description": "每个版本对用户可见的功能改动，最新版本在最前面。"
      },
      "about": {
        "title": "关于",
        "description": "构建信息和运行时状态。",
        "version": "版本",
        "clipServer": "Clip 服务",
        "apiServer": "API 服务",
        "apiDisabled": "已禁用",
        "apiOpen": "运行中（无认证）",
        "apiNoToken": "运行中（未配置 token）",
        "updateCheck": "更新检查",
        "lastChecked": "上次检查",
        "lastCheckedNever": "从未",
        "unreachable": "未能连接 GitHub",
        "checkNow": "立即检查",
        "checking": "检查中…",
        "upToDate": "已是最新版本（v{{version}}）。",
        "updateAvailable": "有可用更新：v{{version}}",
        "openDownload": "打开下载页",
        "later": "稍后",
        "autoCheck": "应用启动时自动检查更新（每 6 小时最多一次）",
        "appDescription": "一个由 LLM 驱动的个人知识库。源代码："
      },
      "mineru": {
        "title": "MinerU PDF 解析",
        "description": "使用 MinerU 云端或自托管本地服务获得更高质量的 PDF 解析（表格、公式、复杂排版）。默认使用内置 pdfium 提取。",
        "privacyNotice": "启用后，PDF 内容会上传到 MinerU 云端进行解析。除非你接受这一点，否则不要用于敏感文档。",
        "enabled": "启用 MinerU",
        "backend": "解析后端",
        "cloudBackend": "云端（mineru.net）——需要 Token，解析质量更高",
        "localBackend": "官方自托管 mineru-api——私有、离线",
        "localEndpoint": "本地服务地址",
        "localInfo": "填写官方 mineru-api 或 mineru-router 服务的基础地址。",
        "parsingBackend": "解析后端",
        "backendHybrid": "Hybrid engine（推荐）",
        "backendPipeline": "Pipeline",
        "backendVlm": "VLM engine",
        "backendHybridHttp": "Hybrid HTTP client",
        "backendVlmHttp": "VLM HTTP client",
        "effort": "Hybrid 精度",
        "effortMedium": "Medium（更快）",
        "effortHigh": "High（图片分析和最高精度）",
        "ocrLanguage": "OCR 语言",
        "parseMethod": "解析方式",
        "parseAuto": "自动",
        "parseText": "文本提取",
        "parseOcr": "强制 OCR",
        "serverUrl": "OpenAI-compatible 模型服务地址",
        "formulaParsing": "公式解析",
        "tableParsing": "表格解析",
        "imageAnalysis": "图片分析",
        "token": "API Token",
        "tokenHint": "从 mineru.net 获取您的 Token",
        "model": "模型版本",
        "modelVlm": "VLM（推荐，适合复杂排版）",
        "modelPipeline": "Pipeline（更快）",
        "modelHint": "PDF 解析仅使用 pipeline 或 vlm。MinerU-HTML 用于 HTML 文件，这里不会使用。",
        "test": "测试连接",
        "testQuotaNotice": "连接测试会向 MinerU 提交一个小型示例文件，可能消耗少量额度。",
        "testing": "测试中...",
        "testSuccess": "连接成功",
        "testFailed": "测试失败"
      }
    }
  },
  "preview": {
    "selectFile": "选择文件以预览",
    "notAvailable": "该文件类型暂不支持预览",
    "viewAsText": "作为文本查看",
    "loadingText": "正在读取文本...",
    "openWithSystem": "使用系统应用打开",
    "showSource": "查看源码",
    "showRendered": "查看渲染结果",
    "reload": "重新加载预览",
    "history": "文件历史",
    "historyLoading": "正在加载...",
    "historyEmpty": "暂无已记录的版本。",
    "historySelect": "选择一个版本进行比较。",
    "historyRestore": "恢复此版本",
    "pdfText": "文本",
    "pdfDocument": "PDF",
    "pdfPage": "页码",
    "pdfLoading": "正在加载 PDF...",
    "pdfLoadError": "无法渲染此 PDF。你可以重试或使用系统应用打开。",
    "pdfTooLarge": "此 PDF 文件过大，无法在应用内预览。请使用系统应用打开。"
  },
  "activity": {
    "processing": "处理中：{{title}}",
    "done": "已完成：{{title}}",
    "clearCompleted": "清除已完成",
    "ingestQueue": "摄取队列",
    "ingestQueuePaused": "摄取队列（已暂停）",
    "pauseQueue": "暂停",
    "resumeQueue": "继续",
    "pauseQueueTitle": "当前任务完成后暂停，不再启动新的摄取任务。",
    "resumeQueueTitle": "继续处理排队中的摄取任务",
    "queueCompleteCount": "{{done}}/{{total}} 已完成",
    "failedCount": "{{count}} 个失败",
    "cancelAll": "全部取消",
    "cancelAllTitle": "取消所有排队和正在处理的任务",
    "cancelAllConfirm": "要取消全部 {{count}} 个排队/处理中摄取任务吗？正在处理任务产生的部分文件会被移除；失败任务会保留，之后仍可重试。",
    "retryFailed": "重试失败项",
    "retryFailedTitle": "重试所有失败的摄取任务",
    "fileSync": "文件同步",
    "rescan": "重新扫描",
    "rescanTitle": "扫描项目文件的外部变更",
    "changeKinds": { "created": "已创建", "modified": "已修改", "deleted": "已删除" },
    "fileTypes": {
      "entity": "实体", "concept": "概念", "source": "来源", "query": "查询",
      "synthesis": "综合", "comparison": "比较", "finding": "发现",
      "thesis": "论点", "methodology": "方法论", "overview": "概览",
      "index": "索引", "log": "日志", "file": "文件"
    }
  },
  "fileTree": {
    "noProject": "未打开项目",
    "openProjectFolder": "打开项目目录",
    "openProjectFolderFailed": "无法打开项目目录。"
  },
  "graph": {
    "openProject": "打开项目以查看关系图",
    "buildingGraph": "正在构建关系图...",
    "retry": "重试",
    "noPages": "暂无页面",
    "importSourcesHint": "导入资料以开始构建知识图谱",
    "knowledgeGraph": "知识关系图",
    "hidden": "已隐藏",
    "pages": "页面",
    "links": "链接",
    "searchLabel": "搜索关系图",
    "searchPlaceholder": "搜索节点...",
    "clearSearch": "清除关系图搜索",
    "closeSearch": "关闭关系图搜索",
    "noSearchResults": "没有匹配的节点",
    "noVisibleNodes": "没有可见节点",
    "filter": "过滤器",
    "reset": "重置",
    "resetFilters": "重置图谱筛选条件",
    "any": "不限",
    "showAllTypes": "显示全部类型",
    "doubleClickToggle": "双击切换可见性",
    "expandLegend": "展开图例",
    "collapseLegend": "收起图例",
    "type": "类型",
    "community": "社区",
    "insights": "洞察",
    "resizing": "调整中...",
    "graphFilters": "关系图过滤器",
    "quickFilters": "快速过滤",
    "hideIndexOverview": "隐藏索引/概述/日志",
    "hideIsolated": "隐藏孤立节点",
    "minLinks": "最小链接数",
    "minLinksHint": "隐藏链接数低于此值的节点",
    "maxLinks": "最大链接数",
    "maxLinksHint": "隐藏链接数超过此值的节点",
    "displayTuning": "显示调节",
    "nodeSize": "节点大小",
    "spacing": "间距",
    "displayTuningHint": "用这些控制项让大型关系图在小屏幕上更容易阅读。",
    "nodeTypes": "节点类型",
    "hiddenNodes": "已隐藏节点",
    "show": "显示",
    "showingStats": "显示 {{pages}}/{{total}} 个页面和 {{links}}/{{totalLinks}} 条链接。",
    "hideThisNode": "隐藏此节点",
    "nodeTypesLabel": "节点类型",
    "communitiesLabel": "社区",
    "showAll": "显示全部",
    "cluster": "簇 {{id}}",
    "surprisingConnections": "意外连接",
    "knowledgeGaps": "知识缺口",
    "deepResearch": "深度研究",
    "generatingTopic": "正在生成研究主题...",
    "researchTopic": "研究主题",
    "searchQueries": "搜索查询",
    "cancel": "取消",
    "startResearch": "开始研究",
    "nodeTypeLabels": {
      "entity": "实体",
      "concept": "概念",
      "source": "来源",
      "query": "查询",
      "synthesis": "综合",
      "overview": "概述",
      "comparison": "比较",
      "finding": "发现",
      "thesis": "论点",
      "methodology": "方法论",
      "other": "其他"
    }
  },
  "time": {
    "justNow": "刚刚",
    "minutesAgo": "{{count}} 分钟前",
    "hoursAgo": "{{count}} 小时前",
    "daysAgo": "{{count}} 天前"
  }
}
