import { en } from './en.js';

type EnglishMessages = Record<keyof typeof en, string>;

export const zhCN = {
  'common.notIndexed': '未找到已索引的仓库。',
  'common.runAnalyze': '请在 git 仓库中运行 `gitnexus analyze` 进行索引。',
  'common.runAnalyzeShort': '运行：gitnexus analyze',
  'common.runForceConfirm': '添加 --force 以确认删除。',
  'common.path': '路径',
  'common.storage': '存储',
  'common.deleted': '已删除：{{target}}',
  'common.error': '错误：{{message}}',
  'list.title': '已索引仓库（{{count}}）',
  'list.indexed': '索引时间',
  'list.commit': '提交',
  'list.stats': '统计',
  'list.statsValue': '{{files}} 个文件，{{symbols}} 个符号，{{edges}} 条边',
  'list.clusters': '聚类',
  'list.processes': '流程',
  'list.unknown': 'unknown',
  'status.notGitRepo': '当前目录不是 git 仓库。',
  'status.staleKuzu': '仓库包含旧版本遗留的 KuzuDB 索引。',
  'status.rebuildLadybug': '运行：gitnexus analyze   （使用 LadybugDB 重建索引）',
  'status.repoNotIndexed': '仓库尚未索引。',
  'status.repository': '仓库',
  'status.indexed': '索引时间',
  'status.indexedCommit': '索引提交',
  'status.currentCommit': '当前提交',
  'status.status': '状态',
  'status.upToDate': '✅ 已是最新',
  'status.stale': '⚠️ 已过期（重新运行 gitnexus analyze）',
  'clean.deleteAll': '将删除 {{count}} 个仓库的 GitNexus 索引：',
  'clean.deletedRepo': '已删除：{{name}}（{{storagePath}}）',
  'clean.notFoundHere': '当前目录未找到已索引仓库。',
  'clean.deleteCurrent': '将删除该仓库的 GitNexus 索引：{{repoName}}',
  'clean.lbugSidecars.state': 'LadybugDB sidecar 状态：{{state}}',
  'clean.lbugSidecars.none': '未找到已隔离的 LadybugDB missing-shadow WAL sidecar。',
  'clean.lbugSidecars.preview':
    '将删除 {{count}} 个已隔离的 LadybugDB missing-shadow WAL sidecar：',
  'clean.lbugSidecars.deleted':
    '已删除 {{count}} 个已隔离的 LadybugDB missing-shadow WAL sidecar。',
  'remove.nothingToRemove': '无需移除：{{message}}',
  'remove.deleteTarget': '将删除该仓库的 GitNexus 索引：{{name}}',
  'remove.removed': '已移除：{{name}}',
  'remove.failed': '移除 {{name}} 失败：{{message}}',
  'tool.noIndexed': 'GitNexus：未找到已索引仓库。请运行：gitnexus analyze',
  'tool.usage.query': '用法：gitnexus query <搜索词>',
  'tool.usage.context': '用法：gitnexus context <符号名> [--uid <uid>] [--file <路径>]',
  'tool.usage.impact':
    '用法：gitnexus impact <符号名> [--uid <uid>] [--file <路径>] [--kind <类型>] [--direction upstream|downstream]',
  'tool.usage.cypher': '用法：gitnexus cypher <Cypher 查询>',
  'tool.warn.unknownKind':
    "--kind '{{kind}}' 不是已知的符号类型（如 Function、Class、Method），不会用于缩小结果范围。",
  'tool.detectChanges.noChanges': '未检测到变更。',
  'tool.detectChanges.changesSummary': '变更：{{files}} 个文件，{{symbols}} 个符号',
  'tool.detectChanges.affectedProcesses': '受影响流程：{{count}}',
  'tool.detectChanges.riskLevel': '风险等级：{{risk}}',
  'tool.detectChanges.unknownRisk': '未知',
  'tool.detectChanges.changedSymbols': '已变更符号：',
  'tool.detectChanges.overflowMore': '... 以及另外 {{count}} 个',
  'tool.detectChanges.affectedExecutionFlows': '受影响执行流程：',
  'tool.detectChanges.steps': '{{count}} 步',
  'tool.detectChanges.steps_one': '{{count}} 步',
  'tool.detectChanges.steps_other': '{{count}} 步',
  'tool.detectChanges.changedSteps': '已变更：{{steps}}',
  'serve.walCorruption': '\nGitNexus 服务器无法启动：索引 WAL 文件已损坏。\n  {{suggestion}}\n',
  'serve.portInUse':
    '\nGitNexus 服务器启动失败：\n  {{message}}\n\n  端口 {{port}} 已被占用。可选择：\n    1. 停止占用端口 {{port}} 的其他进程\n    2. 使用其他端口：gitnexus serve --port 4748\n',
  'serve.startFailed': '\nGitNexus 服务器启动失败：\n  {{message}}\n',
  'doctor.title': 'GitNexus 诊断',
  'doctor.runtime': '运行时',
  'doctor.capabilities': '能力',
  'doctor.embeddings': '嵌入',
  'doctor.labels.os': '系统：',
  'doctor.labels.node': 'Node：',
  'doctor.labels.gitnexus': 'GitNexus：',
  'doctor.labels.ladybugdb': 'LadybugDB：',
  'doctor.labels.onnx': 'ONNX：',
  'doctor.labels.graphStore': '图存储：',
  'doctor.labels.fullTextSearch': '全文搜索：',
  'doctor.labels.vectorIndex': '向量索引：',
  'doctor.labels.semanticMode': '语义模式：',
  'doctor.labels.exactScanLimit': '精确扫描上限：',
  'doctor.labels.note': '说明：',
  'doctor.labels.backend': '后端：',
  'doctor.labels.device': '设备：',
  'doctor.labels.threads': '线程：',
  'doctor.labels.batch': '批次：',
  'doctor.labels.subBatch': '子批次：',
  'doctor.nodes': '{{count}} 个节点',
  'doctor.nodes_one': '{{count}} 个节点',
  'doctor.nodes_other': '{{count}} 个节点',
  'doctor.chunks': '{{count}} 个分块',
  'doctor.chunks_one': '{{count}} 个分块',
  'doctor.chunks_other': '{{count}} 个分块',
  'help.title.usage': '用法：',
  'help.title.arguments': '参数：',
  'help.title.options': '选项：',
  'help.title.globalOptions': '全局选项：',
  'help.title.commands': '命令：',
  'help.optionMeta.choices': '可选值',
  'help.optionMeta.default': '默认',
  'help.optionMeta.preset': '预设',
  'help.optionMeta.env': '环境变量',
  'help.description.root': 'GitNexus 本地 CLI 和 MCP 服务器',
  'help.command.help.description': '显示命令帮助',
  'help.option.help': '显示命令帮助',
  'help.option.version': '输出版本号',
  'help.command.setup.description': '一次性设置：为 Cursor、Claude Code、OpenCode、Codex 配置 MCP',
  'help.command.analyze.description': '索引仓库（完整分析）',
  'help.command.index.description': '将现有 .gitnexus/ 文件夹注册到全局注册表（无需重新分析）',
  'help.command.serve.description': '启动供 Web UI 连接的本地 HTTP 服务器',
  'help.command.mcp.description': '启动 MCP 服务器（stdio）— 提供所有已索引仓库',
  'help.command.list.description': '列出所有已索引仓库',
  'help.command.status.description': '显示当前仓库的索引状态',
  'help.command.doctor.description': '显示运行平台能力和嵌入配置',
  'help.command.clean.description': '删除当前仓库的 GitNexus 索引',
  'help.command.remove.description':
    '删除已注册仓库的 GitNexus 索引（按别名、名称或绝对路径）。与 `clean` 不同，不要求位于仓库内；未知目标会幂等处理。',
  'help.command.wiki.description': '从知识图谱生成仓库 Wiki',
  'help.command.augment.description': '使用知识图谱上下文增强搜索模式（供 hooks 使用）',
  'help.command.publish.description':
    '通知 understand-quickly 注册表该仓库已有新的 GitNexus 索引。需显式启用：要求 UNDERSTAND_QUICKLY_TOKEN（对 looptech-ai/understand-quickly 具备 `Repository dispatches: write` 的细粒度 PAT）。无 token 时不执行。参见 https://github.com/looptech-ai/understand-quickly。',
  'help.command.query.description': '搜索知识图谱中与概念相关的执行流程',
  'help.command.context.description': '查看代码符号的 360 度视图：调用者、被调用者、流程',
  'help.command.impact.description': '影响面分析：修改符号会影响什么',
  'help.command.cypher.description': '对知识图谱执行原始 Cypher 查询',
  'help.command.detectChanges.description': '将 git diff hunk 映射到已索引符号和受影响执行流程',
  'help.command.evalServer.description': '启动轻量 HTTP 服务器，用于评测期间的快速工具调用',
  'help.command.group.description': '管理仓库组，用于跨索引影响分析',
  'help.command.group.create.description': '使用模板 group.yaml 创建新仓库组',
  'help.command.group.add.description':
    '向仓库组添加仓库。<groupPath> = 层级路径（如 hr/hiring/backend），<registryName> = 注册表中的名称',
  'help.command.group.remove.description': '从仓库组移除仓库',
  'help.command.group.list.description': '列出所有仓库组或查看某个仓库组详情',
  'help.command.group.status.description': '检查仓库组和仓库是否过期',
  'help.command.group.sync.description': '同步 Contract Registry — 提取契约并构建跨仓库链接',
  'help.command.group.impact.description': '分析仓库组中某个成员仓库符号的跨仓库影响',
  'help.command.group.query.description': '跨仓库组所有仓库搜索执行流程',
  'help.command.group.contracts.description': '查看 Contract Registry',
  'help.option.analyze.force': '即使已是最新也强制完整重建索引',
  'help.option.analyze.repairFts': '修复/重建搜索 FTS 索引，不执行完整重新分析',
  'help.option.analyze.embeddings':
    '启用语义搜索的嵌入生成（默认关闭）。可选 [limit] 覆盖 50,000 节点安全上限；传 0 可完全禁用上限。',
  'help.option.analyze.dropEmbeddings':
    '重建时删除现有嵌入。默认情况下，未传 `--embeddings` 的 `analyze` 会保留索引中已有嵌入。',
  'help.option.analyze.skills':
    '根据检测到的社区生成仓库专属 skill 文件（同时设置 --index-only 时无效）。',
  'help.option.analyze.skipAgentsMd': '跳过更新 AGENTS.md 和 CLAUDE.md 中的 gitnexus 区块',
  'help.option.analyze.noStats': '从 AGENTS.md 和 CLAUDE.md 中省略易变的文件/符号计数',
  'help.option.analyze.skipSkills':
    '跳过安装 .claude/skills/gitnexus/ 下的标准 GitNexus skill 文件。不抑制 --skills 生成的社区 skill（位于 .claude/skills/generated/）。使用 --index-only 可跳过所有 AI 上下文文件注入。',
  'help.option.analyze.indexOnly': '纯索引模式：跳过所有文件注入（AGENTS.md、CLAUDE.md、skills）',
  'help.option.skipGit': '将提供的路径/cwd 视为索引根目录，并跳过向上查找 git 根目录',
  'help.option.analyze.name':
    '在 ~/.gitnexus/registry.json 中使用自定义名称注册该仓库（用于区分路径 basename 相同的仓库，例如两个不同的 .../app 目录）',
  'help.option.analyze.allowDuplicateName':
    '即使已有其他路径使用相同 --name 别名，也注册该仓库。会使两个路径的 `-r <name>` 产生歧义；请用 -r <path> 消除歧义。',
  'help.option.verbose': '启用详细输出',
  'help.option.analyze.maxFileSize':
    '跳过大于该值的文件（KB）。默认：512。硬上限：32768（tree-sitter 限制）。',
  'help.option.analyze.workerTimeout': 'Worker 子批次空闲超时，超时后重试/回退。默认：30。',
  'help.option.analyze.walCheckpointThreshold':
    'analyze 期间 LadybugDB WAL 自动 checkpoint 阈值（字节，整数 >= -1；默认：67108864 = 64 MiB；-1 保持 Ladybug 默认约 16 MiB）。',
  'help.option.analyze.workers':
    '解析 worker 池大小（>=1）。默认：cores-1，最多 16，按仓库规模自适应。',
  'help.option.analyze.embeddingThreads': '限制本地 ONNX 嵌入 CPU 线程数',
  'help.option.analyze.embeddingBatchSize': '每个嵌入批次的节点数',
  'help.option.analyze.embeddingSubBatchSize': '每次嵌入模型调用的分块数',
  'help.option.analyze.embeddingDevice': '嵌入设备：auto、cpu、dml、cuda 或 wasm',
  'help.option.index.force': '即使缺少 meta.json 也注册（统计为空）',
  'help.option.index.allowNonGit': '允许注册非 Git 仓库文件夹',
  'help.option.port': '端口号',
  'help.option.serve.host': '绑定地址（默认：127.0.0.1；远程访问可用 0.0.0.0）',
  'help.option.force.confirmation': '跳过确认提示',
  'help.option.clean.all': '清理所有已索引仓库',
  'help.option.clean.lbugSidecars': '清理已隔离的 LadybugDB missing-shadow WAL sidecar',
  'help.option.wiki.force': '即使已是最新也强制完整重新生成',
  'help.option.wiki.provider':
    'LLM 提供商：openai、openrouter、azure、custom、cursor、claude、codex 或 opencode（默认：openai）',
  'help.option.wiki.model': 'LLM 模型或 Azure deployment 名称（默认：minimax/minimax-m2.5）',
  'help.option.wiki.baseUrl':
    'LLM API base URL。Azure v1：https://{resource}.openai.azure.com/openai/v1',
  'help.option.wiki.apiKey': 'LLM API key 或 Azure api-key（保存到 ~/.gitnexus/config.json）',
  'help.option.wiki.apiVersion': 'Azure api-version 查询参数，例如 2024-10-21（仅旧版 Azure API）',
  'help.option.wiki.reasoningModel':
    '标记 deployment 为 reasoning model（o1/o3/o4-mini）— 去除 temperature，使用 max_completion_tokens',
  'help.option.wiki.noReasoningModel': '禁用 reasoning model 模式（覆盖已保存配置）',
  'help.option.wiki.concurrency': '并行 LLM 调用数（默认：3）',
  'help.option.wiki.timeout': 'LLM 请求超时时间（秒，默认：禁用）',
  'help.option.wiki.retries': '每个请求的最大 LLM 重试次数（默认：3）',
  'help.option.wiki.gist': '生成后发布 Wiki 为公开 GitHub Gist',
  'help.option.wiki.review': '分组后停止，以便在生成页面前审查模块结构',
  'help.option.wiki.lang': '生成文档的输出语言（如 english、chinese、spanish、japanese）',
  'help.option.publish.id': '覆盖注册表 id（默认使用 origin remote）',
  'help.option.repo.targetOmitOne': '目标仓库（仅有一个已索引仓库时可省略）',
  'help.option.query.context': '用于提升排序质量的任务上下文',
  'help.option.query.goal': '你想查找的目标',
  'help.option.query.limit': '最多返回的流程数（默认：5）',
  'help.option.content': '包含完整符号源码',
  'help.option.repo.target': '目标仓库',
  'help.option.context.uid': '直接符号 UID（零歧义查找）',
  'help.option.context.file': '用于消除常见名称歧义的文件路径',
  'help.option.impact.kind': '用于消除常见名称歧义的类型过滤（如 Function、Class、Method）',
  'help.option.impact.direction': 'upstream（依赖它的项）或 downstream（它依赖的项）',
  'help.option.impact.depth': '最大关系遍历深度（默认：3）',
  'help.option.impact.includeTests': '在结果中包含测试文件',
  'help.option.impact.limit': '每层深度最大符号数（默认：100）',
  'help.option.impact.offset': '每层深度跳过 N 个符号（分页用）',
  'help.option.impact.summaryOnly': '仅返回计数和风险等级，省略符号列表',
  'help.option.detectChanges.scope': '分析范围：unstaged、staged、all 或 compare',
  'help.option.detectChanges.baseRef': 'compare 范围的分支/提交（例如 main）',
  'help.option.evalServer.host': '绑定地址（默认：127.0.0.1；用 0.0.0.0 暴露到所有网卡）',
  'help.option.evalServer.idleTimeout': '空闲 N 秒后自动关闭（0 = 禁用）',
  'help.option.group.create.force': '覆盖现有仓库组',
  'help.option.group.sync.skipEmbeddings': '仅使用 exact + BM25（不使用嵌入回退）',
  'help.option.group.sync.exactOnly': '仅精确匹配',
  'help.option.group.sync.allowStale': '跳过过期索引警告',
  'help.option.group.sync.verbose': '显示每条跨仓库链接详情',
  'help.option.json': 'JSON 输出',
  'help.option.group.impact.target': '要分析的符号或文件名',
  'help.option.group.impact.repo': 'group.yaml 中的成员路径（如 app/backend），不是已索引仓库名称',
  'help.option.group.impact.service': '可选的 monorepo 服务目录前缀（路径过滤器）',
  'help.option.group.impact.subgroup': '可选前缀，用于限制参与跨仓库扇出的仓库组成员',
  'help.option.group.impact.crossDepth': '跨仓库跳转深度',
  'help.option.group.impact.minConfidence': '最小关系置信度（0–1）',
  'help.option.group.impact.timeoutMs': 'Phase-1 本地影响分析墙钟时间（毫秒）',
  'help.option.group.query.subgroup': '限制搜索范围',
  'help.option.group.query.limit': '最大合并结果数',
  'help.option.group.contracts.type': '按契约类型过滤',
  'help.option.group.contracts.repo': '按仓库过滤',
  'help.option.group.contracts.unmatched': '仅显示未匹配契约',
  'help.analyze.environment':
    '\n环境变量：\n  GITNEXUS_NO_GITIGNORE=1   跳过 .gitignore 解析（仍读取 .gitnexusignore）\n  GITNEXUS_MAX_FILE_SIZE=N  覆盖大文件跳过阈值（KB）。默认 512，最大 32768。\n  GITNEXUS_WORKER_SUB_BATCH_TIMEOUT_MS=N  Worker 空闲超时（毫秒）。默认 30000。\n  GITNEXUS_WAL_CHECKPOINT_THRESHOLD=N  LadybugDB WAL 自动 checkpoint 阈值（字节，默认 67108864 = 64 MiB；-1 保持 Ladybug 默认约 16 MiB）。\n  GITNEXUS_WORKER_SUB_BATCH_MAX_BYTES=N  Worker 作业字节预算。默认 8388608。\n  GITNEXUS_WORKER_POOL_SIZE=N  解析 worker 数量覆盖值。默认 cores-1，最多 16。\n  GITNEXUS_PARSE_CHUNK_CONCURRENCY=N  并发进行中的解析分块数。默认 2。\n  GITNEXUS_WORKER_MAX_RESPAWNS_PER_SLOT=N  每个 slot 丢弃前允许的最大替换进程数。默认 3。\n  GITNEXUS_WORKER_MAX_CUMULATIVE_TIMEOUT_MS=N  每个作业的总重试墙钟时间。默认 5 倍子批次超时。\n  GITNEXUS_WORKER_CONSECUTIVE_FAILURE_THRESHOLD=N  每个 slot 触发熔断的死亡次数。默认 max(3, poolSize)。\n  GITNEXUS_EMBEDDING_THREADS=N  限制 --embeddings 的本地 ONNX CPU 线程数。\n  GITNEXUS_SEMANTIC_EXACT_SCAN_LIMIT=N  exact-scan 回退的最大嵌入分块数。默认 10000。\n\n当参数和对应环境变量同时提供时，参数优先。\n\n提示：`.gitnexusignore` 支持 `.gitignore` 风格的取反。比如添加\n     `!__tests__/` 可以索引默认自动过滤的目录（#771）。',
} satisfies EnglishMessages;
