<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
    <name>AttachedFilesPlace</name>
    <message>
        <source>Open in Qt Creator</source>
        <translation>在 Qt Creator 中打开</translation>
    </message>
    <message>
        <source>Open in External Editor</source>
        <translation>在外部编辑器中打开</translation>
    </message>
    <message>
        <source>Remove</source>
        <translation>移除</translation>
    </message>
</context>
<context>
    <name>BottomBar</name>
    <message>
        <source>Attach file to message</source>
        <translation>附加文件到消息</translation>
    </message>
    <message>
        <source>Attach image to message</source>
        <translation>附加图片到消息</translation>
    </message>
    <message>
        <source>Link file to context</source>
        <translation>将文件链接到上下文</translation>
    </message>
    <message>
        <source>Sync open files</source>
        <translation>同步打开的文件</translation>
    </message>
    <message>
        <source>Automatically synchronize currently opened files with the model context</source>
        <translation>自动将当前打开的文件与模型上下文同步</translation>
    </message>
    <message>
        <source>Compressing...</source>
        <translation>压缩中...</translation>
    </message>
    <message>
        <source>Cancel</source>
        <translation>取消</translation>
    </message>
    <message>
        <source>Cancel compression</source>
        <translation>取消压缩</translation>
    </message>
    <message>
        <source>Compress</source>
        <translation>压缩</translation>
    </message>
    <message>
        <source>Compress chat (create summarized copy using LLM)</source>
        <translation>压缩聊天(使用 LLM 创建摘要副本)</translation>
    </message>
</context>
<context>
    <name>ChatItem</name>
    <message>
        <source>↑ %1 (cached %2)</source>
        <translation>↑ %1 (已缓存 %2)</translation>
    </message>
    <message>
        <source>↑ %1</source>
        <translation>↑ %1</translation>
    </message>
    <message>
        <source>↓ %1 (reasoning %2)</source>
        <translation>↓ %1 (推理 %2)</translation>
    </message>
    <message>
        <source>↓ %1</source>
        <translation>↓ %1</translation>
    </message>
    <message>
        <source>Σ %1</source>
        <translation>Σ %1</translation>
    </message>
    <message>
        <source>Reset chat to this message and edit</source>
        <translation>将聊天重置到此消息并编辑</translation>
    </message>
    <message>
        <source>Click: Open in Qt Creator
Shift+Click: Open in System Editor</source>
        <translation>点击:在 Qt Creator 中打开
Shift+点击:在系统编辑器中打开</translation>
    </message>
    <message>
        <source>Failed to load image</source>
        <translation>加载图片失败</translation>
    </message>
</context>
<context>
    <name>CodeBlock</name>
    <message>
        <source>Code (%1)</source>
        <translation>代码 (%1)</translation>
    </message>
    <message>
        <source>Code</source>
        <translation>代码</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>复制</translation>
    </message>
    <message>
        <source>Collapse</source>
        <translation>折叠</translation>
    </message>
    <message>
        <source>Expand</source>
        <translation>展开</translation>
    </message>
    <message>
        <source>Copied</source>
        <translation>已复制</translation>
    </message>
</context>
<context>
    <name>ContextViewer</name>
    <message>
        <source>Chat Context</source>
        <translation>聊天上下文</translation>
    </message>
    <message>
        <source>Refresh</source>
        <translation>刷新</translation>
    </message>
    <message>
        <source>Close</source>
        <translation>关闭</translation>
    </message>
    <message>
        <source>Base System Prompt</source>
        <translation>基础系统提示词</translation>
    </message>
    <message>
        <source>Active</source>
        <translation>已激活</translation>
    </message>
    <message>
        <source>Empty</source>
        <translation>空</translation>
    </message>
    <message>
        <source>No system prompt configured</source>
        <translation>未配置系统提示词</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>复制</translation>
    </message>
    <message>
        <source>Edit in Settings</source>
        <translation>在设置中编辑</translation>
    </message>
    <message>
        <source>Agent Role</source>
        <translation>智能体角色</translation>
    </message>
    <message>
        <source>No role selected. Using base system prompt only.</source>
        <translation>未选择角色。仅使用基础系统提示词。</translation>
    </message>
    <message>
        <source>Manage Roles</source>
        <translation>管理角色</translation>
    </message>
    <message>
        <source>Project Rules</source>
        <translation>项目规则</translation>
    </message>
    <message>
        <source>%1 active</source>
        <translation>%1 已激活</translation>
    </message>
    <message>
        <source>None</source>
        <translation>无</translation>
    </message>
    <message>
        <source>Rules (%1)</source>
        <translation>规则 (%1)</translation>
    </message>
    <message>
        <source>Content</source>
        <translation>内容</translation>
    </message>
    <message>
        <source>No project rules found.
Create .md files in .qodeassist/rules/common/ or .qodeassist/rules/chat/</source>
        <translation>未找到项目规则。
请在 .qodeassist/rules/common/ 或 .qodeassist/rules/chat/ 中创建 .md 文件</translation>
    </message>
    <message>
        <source>Open Rules Folder</source>
        <translation>打开规则文件夹</translation>
    </message>
    <message>
        <source>Final prompt: Base System Prompt + Agent Role + Project Info + Project Rules + Linked Files</source>
        <translation>最终提示词:基础系统提示词 + 智能体角色 + 项目信息 + 项目规则 + 链接的文件</translation>
    </message>
</context>
<context>
    <name>DiffStatistics</name>
    <message>
        <source>+%1 lines, -%2 lines</source>
        <translation>+%1 行,-%2 行</translation>
    </message>
    <message>
        <source>+%1 lines</source>
        <translation>+%1 行</translation>
    </message>
    <message>
        <source>-%1 lines</source>
        <translation>-%1 行</translation>
    </message>
    <message>
        <source>No changes</source>
        <translation>无变更</translation>
    </message>
</context>
<context>
    <name>FileEditBlock</name>
    <message>
        <source>ARCHIVED</source>
        <translation>已归档</translation>
    </message>
    <message>
        <source>APPLIED</source>
        <translation>已应用</translation>
    </message>
    <message>
        <source>REJECTED</source>
        <translation>已拒绝</translation>
    </message>
    <message>
        <source>PENDING</source>
        <translation>待处理</translation>
    </message>
    <message>
        <source>Replace</source>
        <translation>替换</translation>
    </message>
    <message>
        <source>Append</source>
        <translation>追加</translation>
    </message>
    <message>
        <source>%1: %2 (+%3 -%4)</source>
        <translation>%1: %2 (+%3 -%4)</translation>
    </message>
    <message>
        <source>%1: %2 (+%3)</source>
        <translation>%1: %2 (+%3)</translation>
    </message>
    <message>
        <source>Open file in editor and navigate to changes</source>
        <translation>在编辑器中打开文件并跳转到变更</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>复制</translation>
    </message>
    <message>
        <source>Collapse</source>
        <translation>折叠</translation>
    </message>
    <message>
        <source>Expand</source>
        <translation>展开</translation>
    </message>
</context>
<context>
    <name>FileEditsActionBar</name>
    <message>
        <source>File Edit in Current Message</source>
        <translation>当前消息中的文件编辑</translation>
    </message>
    <message>
        <source>%1 File Edits in Current Message</source>
        <translation>当前消息中的 %1 个文件编辑</translation>
    </message>
    <message>
        <source>%1 applied</source>
        <translation>%1 已应用</translation>
    </message>
    <message>
        <source>%1 pending</source>
        <translation>%1 待处理</translation>
    </message>
    <message>
        <source>%1 rejected</source>
        <translation>%1 已拒绝</translation>
    </message>
    <message>
        <source>Apply All (%1)</source>
        <translation>全部应用 (%1)</translation>
    </message>
    <message>
        <source>Reapply All (%1)</source>
        <translation>全部重新应用 (%1)</translation>
    </message>
    <message>
        <source>Apply all pending and rejected edits in this message</source>
        <translation>应用此消息中所有待处理和已拒绝的编辑</translation>
    </message>
    <message>
        <source>Reapply all rejected edits in this message</source>
        <translation>重新应用此消息中所有已拒绝的编辑</translation>
    </message>
    <message>
        <source>Undo All (%1)</source>
        <translation>全部撤销 (%1)</translation>
    </message>
    <message>
        <source>Undo all applied edits in this message</source>
        <translation>撤销此消息中所有已应用的编辑</translation>
    </message>
</context>
<context>
    <name>MessageNavigator</name>
    <message>
        <source>#%1  ·  %2</source>
        <translation>#%1  ·  %2</translation>
    </message>
    <message>
        <source>Jump to message #%1</source>
        <translation>跳转到消息 #%1</translation>
    </message>
</context>
<context>
    <name>QObject</name>
    <message>
        <source>Template Not Found</source>
        <translation>未找到模板</translation>
    </message>
    <message>
        <source>Template &apos;%1&apos; was not found or has been updated. Please re-set new one.</source>
        <translation>未找到模板 &apos;%1&apos; 或模板已更新。请重新设置新模板。</translation>
    </message>
    <message>
        <source>Providers</source>
        <translation>提供商</translation>
    </message>
    <message>
        <source>Agents</source>
        <translation>智能体</translation>
    </message>
    <message>
        <source>Current Settings</source>
        <translation>当前设置</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Chat::ChatCompressor</name>
    <message>
        <source>Compression already in progress</source>
        <translation>压缩已在进行中</translation>
    </message>
    <message>
        <source>No chat file to compress</source>
        <translation>没有可压缩的聊天文件</translation>
    </message>
    <message>
        <source>Chat is empty, nothing to compress</source>
        <translation>聊天为空,无内容可压缩</translation>
    </message>
    <message>
        <source>No provider available</source>
        <translation>无可用的提供商</translation>
    </message>
    <message>
        <source>No template available</source>
        <translation>无可用的模板</translation>
    </message>
    <message>
        <source>Compression cancelled</source>
        <translation>压缩已取消</translation>
    </message>
    <message>
        <source>Failed to save compressed chat</source>
        <translation>保存压缩后的聊天失败</translation>
    </message>
    <message>
        <source>Compression failed: %1</source>
        <translation>压缩失败:%1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Chat::ChatFileManager</name>
    <message>
        <source>File is not accessible: %1</source>
        <translation>文件不可访问:%1</translation>
    </message>
    <message>
        <source>Failed to copy file: %1</source>
        <translation>复制文件失败:%1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Chat::ChatHistoryStore</name>
    <message>
        <source>Save Chat History</source>
        <translation>保存聊天历史</translation>
    </message>
    <message>
        <source>JSON files (*.json)</source>
        <translation>JSON 文件 (*.json)</translation>
    </message>
    <message>
        <source>Load Chat History</source>
        <translation>加载聊天历史</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Chat::ChatRootView</name>
    <message>
        <source>Chat compressed successfully!</source>
        <translation>聊天压缩成功!</translation>
    </message>
    <message>
        <source>This chat file is already in use by another QodeAssist chat session.</source>
        <translation>此聊天文件已被另一个 QodeAssist 聊天会话使用。</translation>
    </message>
    <message>
        <source>This chat is already open in another QodeAssist chat session.</source>
        <translation>此聊天已在另一个 QodeAssist 聊天会话中打开。</translation>
    </message>
    <message>
        <source>Select Files to Attach</source>
        <translation>选择要附加的文件</translation>
    </message>
    <message numerus="yes">
        <source>Images automatically moved to Attach zone (%n file(s))</source>
        <translation>
            <numerusform>图片已自动移至附加区域 (%n 个文件)</numerusform>
        </translation>
    </message>
    <message>
        <source>Select Images to Attach</source>
        <translation>选择要附加的图片</translation>
    </message>
    <message>
        <source>Images (*.png *.jpg *.jpeg *.gif *.bmp *.webp)</source>
        <translation>图片 (*.png *.jpg *.jpeg *.gif *.bmp *.webp)</translation>
    </message>
    <message>
        <source>Compression is already in progress</source>
        <translation>压缩已在进行中</translation>
    </message>
    <message>
        <source>No chat file to compress. Please save the chat first.</source>
        <translation>没有可压缩的聊天文件。请先保存聊天。</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Chat::NavigationPanel</name>
    <message>
        <source>QodeAssist Chat</source>
        <translation>QodeAssist 聊天</translation>
    </message>
</context>
<context>
    <name>QodeAssist::EditorChatButton</name>
    <message>
        <source>Open QodeAssist Chat</source>
        <translation>打开 QodeAssist 聊天</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Mcp::McpServerManager</name>
    <message>
        <source>QodeAssist MCP server exposing Qt Creator project tools.</source>
        <translation>QodeAssist MCP 服务器,暴露 Qt Creator 项目工具。</translation>
    </message>
</context>
<context>
    <name>QodeAssist::QodeAssistClient</name>
    <message>
        <source>Code completion failed: %1</source>
        <translation>代码补全失败:%1</translation>
    </message>
    <message>
        <source>Quick refactor failed</source>
        <translation>快速重构失败</translation>
    </message>
    <message>
        <source>Quick refactor failed: %1</source>
        <translation>快速重构失败:%1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::RefactorWidget</name>
    <message>
        <source>◄ Original</source>
        <translation>◄ 原始</translation>
    </message>
    <message>
        <source>Refactored ►</source>
        <translation>重构后 ►</translation>
    </message>
    <message>
        <source>✓ Apply (⌘+Enter)</source>
        <translation>✓ 应用 (⌘+Enter)</translation>
    </message>
    <message>
        <source>✓ Apply (Ctrl+Enter)</source>
        <translation>✓ 应用 (Ctrl+Enter)</translation>
    </message>
    <message>
        <source>✗ Decline (Esc)</source>
        <translation>✗ 拒绝 (Esc)</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::AgentDetailPane</name>
    <message>
        <source>Open in editor</source>
        <translation>在编辑器中打开</translation>
    </message>
    <message>
        <source>Duplicate…</source>
        <translation>复制…</translation>
    </message>
    <message>
        <source>Delete</source>
        <translation>删除</translation>
    </message>
    <message>
        <source>Identity</source>
        <translation>标识</translation>
    </message>
    <message>
        <source>Extends:</source>
        <translation>继承自:</translation>
    </message>
    <message>
        <source>Name:</source>
        <translation>名称:</translation>
    </message>
    <message>
        <source>Description:</source>
        <translation>描述:</translation>
    </message>
    <message>
        <source>Tags:</source>
        <translation>标签:</translation>
    </message>
    <message>
        <source>Comma-separated. Free-form — used to filter and group the agent list.</source>
        <translation>逗号分隔,自由格式 — 用于筛选和分组智能体列表。</translation>
    </message>
    <message>
        <source>System role</source>
        <translation>系统角色</translation>
    </message>
    <message>
        <source>Prepended to every request as the system message.</source>
        <translation>作为系统消息添加到每个请求的开头。</translation>
    </message>
    <message>
        <source>Context</source>
        <translation>上下文</translation>
    </message>
    <message>
        <source>Jinja2 template rendered with ContextManager bindings into the agent.context system-prompt layer. Empty = no context block.</source>
        <translation>使用 ContextManager 绑定渲染的 Jinja2 模板,作为 agent.context 系统提示词层。留空 = 无上下文块。</translation>
    </message>
    <message>
        <source>Connection</source>
        <translation>连接</translation>
    </message>
    <message>
        <source>Provider:</source>
        <translation>提供商:</translation>
    </message>
    <message>
        <source>The provider instance this agent uses. URL is inherited from the instance.</source>
        <translation>此智能体使用的提供商实例。URL 从实例继承。</translation>
    </message>
    <message>
        <source>Endpoint:</source>
        <translation>端点:</translation>
    </message>
    <message>
        <source>Appended to the provider&apos;s URL. Blank uses the provider default.</source>
        <translation>附加到提供商 URL 之后。留空则使用提供商默认值。</translation>
    </message>
    <message>
        <source>Model:</source>
        <translation>模型:</translation>
    </message>
    <message>
        <source>Match</source>
        <translation>匹配</translation>
    </message>
    <message>
        <source>When a feature slot has multiple bound agents, the first whose match rules satisfy the current context wins.</source>
        <translation>当一个功能槽绑定了多个智能体时,匹配规则满足当前上下文的第一个智能体胜出。</translation>
    </message>
    <message>
        <source>File patterns:</source>
        <translation>文件模式:</translation>
    </message>
    <message>
        <source>Globs, comma-separated. Empty matches every file.</source>
        <translation>Glob 表达式,逗号分隔。留空匹配所有文件。</translation>
    </message>
    <message>
        <source>Template</source>
        <translation>模板</translation>
    </message>
    <message>
        <source>Jinja2 template (via inja) rendered to the request body. Built-in context: ctx.prefix, ctx.suffix, ctx.history, ctx.system_prompt, agent.model.</source>
        <translation>Jinja2 模板(通过 inja)渲染到请求体。内置上下文:ctx.prefix、ctx.suffix、ctx.history、ctx.system_prompt、agent.model。</translation>
    </message>
    <message>
        <source>message_format:</source>
        <translation>message_format:</translation>
    </message>
    <message>
        <source>Load errors</source>
        <translation>加载错误</translation>
    </message>
    <message>
        <source>▸ Show raw TOML</source>
        <translation>▸ 显示原始 TOML</translation>
    </message>
    <message>
        <source>▾ Hide raw TOML</source>
        <translation>▾ 隐藏原始 TOML</translation>
    </message>
    <message>
        <source>No description provided.</source>
        <translation>未提供描述。</translation>
    </message>
    <message>
        <source>%1  (missing — not in provider library)</source>
        <translation>%1  (缺失 — 不在提供商库中)</translation>
    </message>
    <message>
        <source>(provider default)</source>
        <translation>(提供商默认)</translation>
    </message>
    <message>
        <source># effective request line
(unknown — provider instance not found)</source>
        <translation># 有效请求行
(未知 — 未找到提供商实例)</translation>
    </message>
    <message>
        <source>effective request line</source>
        <translation>有效请求行</translation>
    </message>
    <message>
        <source>(no system role set)</source>
        <translation>(未设置系统角色)</translation>
    </message>
    <message>
        <source>(no context block)</source>
        <translation>(无上下文块)</translation>
    </message>
    <message>
        <source>(matches every file)</source>
        <translation>(匹配所有文件)</translation>
    </message>
    <message>
        <source>(inherited from parent / none)</source>
        <translation>(从父级继承 / 无)</translation>
    </message>
    <message>
        <source>(truncated at %1 bytes)</source>
        <translation>(在 %1 字节处截断)</translation>
    </message>
    <message>
        <source>(source file is empty)</source>
        <translation>(源文件为空)</translation>
    </message>
    <message>
        <source>(source file unavailable: %1)</source>
        <translation>(源文件不可用:%1)</translation>
    </message>
    <message>
        <source>Bundled agents are read-only — duplicate to edit.</source>
        <translation>捆绑的智能体为只读 — 请复制后再编辑。</translation>
    </message>
    <message>
        <source>Bundled agents cannot be deleted.</source>
        <translation>捆绑的智能体无法删除。</translation>
    </message>
    <message>
        <source>Select an agent</source>
        <translation>选择一个智能体</translation>
    </message>
    <message>
        <source>Pick an agent from the list to see its details.</source>
        <translation>从列表中选择一个智能体以查看其详情。</translation>
    </message>
    <message>
        <source>error: %1</source>
        <translation>错误:%1</translation>
    </message>
    <message>
        <source>warning: %1</source>
        <translation>警告:%1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::AgentListPane</name>
    <message>
        <source>Filter agents…</source>
        <translation>筛选智能体…</translation>
    </message>
    <message>
        <source>User</source>
        <translation>用户</translation>
    </message>
    <message>
        <source>Bundled</source>
        <translation>捆绑</translation>
    </message>
    <message>
        <source>No agents match these filters.</source>
        <translation>没有智能体符合这些筛选条件。</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::AgentRoleDialog</name>
    <message>
        <source>Add Agent Role</source>
        <translation>添加智能体角色</translation>
    </message>
    <message>
        <source>Duplicate Agent Role</source>
        <translation>复制智能体角色</translation>
    </message>
    <message>
        <source>Edit Agent Role</source>
        <translation>编辑智能体角色</translation>
    </message>
    <message>
        <source>e.g., Developer, Code Reviewer</source>
        <translation>例如:Developer、Code Reviewer</translation>
    </message>
    <message>
        <source>Name:</source>
        <translation>名称:</translation>
    </message>
    <message>
        <source>e.g., developer, code_reviewer</source>
        <translation>例如:developer、code_reviewer</translation>
    </message>
    <message>
        <source>ID:</source>
        <translation>ID:</translation>
    </message>
    <message>
        <source>Brief description of this role...</source>
        <translation>对此角色的简短描述...</translation>
    </message>
    <message>
        <source>Description:</source>
        <translation>描述:</translation>
    </message>
    <message>
        <source>System Prompt:</source>
        <translation>系统提示词:</translation>
    </message>
    <message>
        <source>You are an expert in...

Your role is to:
- Task 1
- Task 2
- Task 3</source>
        <translation>你是 ... 方面的专家

你的职责是:
- 任务 1
- 任务 2
- 任务 3</translation>
    </message>
    <message>
        <source>ID cannot be changed for existing roles</source>
        <translation>已存在角色的 ID 无法更改</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::AgentsWidget</name>
    <message>
        <source>Agents</source>
        <translation>智能体</translation>
    </message>
    <message>
        <source>Reload from disk</source>
        <translation>从磁盘重新加载</translation>
    </message>
    <message>
        <source>Open agents folder</source>
        <translation>打开智能体文件夹</translation>
    </message>
    <message>
        <source>Open agent</source>
        <translation>打开智能体</translation>
    </message>
    <message>
        <source>&apos;%1&apos; is bundled with the plugin and read-only.
Use Duplicate to create an editable user copy.</source>
        <translation>&apos;%1&apos; 是随插件捆绑的只读项。
请使用复制功能创建可编辑的用户副本。</translation>
    </message>
    <message>
        <source>Agent &apos;%1&apos; has no editable source file.</source>
        <translation>智能体 &apos;%1&apos; 没有可编辑的源文件。</translation>
    </message>
    <message>
        <source>Could not open %1.</source>
        <translation>无法打开 %1。</translation>
    </message>
    <message>
        <source>Duplicate</source>
        <translation>复制</translation>
    </message>
    <message>
        <source>Delete Agent</source>
        <translation>删除智能体</translation>
    </message>
    <message>
        <source>Delete agent &apos;%1&apos;?

This will remove the file:
%2</source>
        <translation>删除智能体 &apos;%1&apos;?

这将删除文件:
%2</translation>
    </message>
    <message>
        <source>Could not delete the agent file:
%1</source>
        <translation>无法删除智能体文件:
%1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::McpClientsListAspect</name>
    <message>
        <source>Connected.</source>
        <translation>已连接。</translation>
    </message>
    <message>
        <source>Connecting…</source>
        <translation>连接中…</translation>
    </message>
    <message>
        <source>Failed.</source>
        <translation>失败。</translation>
    </message>
    <message>
        <source>Failed: %1</source>
        <translation>失败:%1</translation>
    </message>
    <message>
        <source>Disabled.</source>
        <translation>已禁用。</translation>
    </message>
    <message>
        <source>everything (reference test server)</source>
        <translation>everything (参考测试服务器)</translation>
    </message>
    <message>
        <source>filesystem (local files)</source>
        <translation>filesystem (本地文件)</translation>
    </message>
    <message>
        <source>memory (in-memory key-value)</source>
        <translation>memory (内存键值)</translation>
    </message>
    <message>
        <source>git (local git ops)</source>
        <translation>git (本地 git 操作)</translation>
    </message>
    <message>
        <source>time (system clock)</source>
        <translation>time (系统时钟)</translation>
    </message>
    <message>
        <source>qtcreator (Qt Creator&apos;s built-in MCP server)</source>
        <translation>qtcreator (Qt Creator 内置 MCP 服务器)</translation>
    </message>
    <message>
        <source>qt-docs (Qt documentation)</source>
        <translation>qt-docs (Qt 文档)</translation>
    </message>
    <message>
        <source>remote (SSE / HTTP)</source>
        <translation>remote (SSE / HTTP)</translation>
    </message>
    <message>
        <source>Server reports no tools.</source>
        <translation>服务器报告无可用工具。</translation>
    </message>
    <message>
        <source>Tools</source>
        <translation>工具</translation>
    </message>
    <message>
        <source>Enable / disable this MCP server</source>
        <translation>启用 / 禁用此 MCP 服务器</translation>
    </message>
    <message>
        <source>Remove this server from the config.</source>
        <translation>从配置中移除此服务器。</translation>
    </message>
    <message>
        <source>Remove server</source>
        <translation>移除服务器</translation>
    </message>
    <message>
        <source>Remove server &apos;%1&apos; from the config?</source>
        <translation>从配置中移除服务器 &apos;%1&apos;?</translation>
    </message>
    <message>
        <source>Open Config</source>
        <translation>打开配置</translation>
    </message>
    <message>
        <source>Refresh MCP List</source>
        <translation>刷新 MCP 列表</translation>
    </message>
    <message>
        <source>Note: restart Qt Creator to apply MCP changes to already-opened chats and running sessions.</source>
        <translation>注意:重启 Qt Creator 以将 MCP 变更应用到已打开的聊天和正在运行的会话。</translation>
    </message>
    <message>
        <source>Quick Setup</source>
        <translation>快速设置</translation>
    </message>
    <message>
        <source>Pick a preset to append a ready-made server entry to the config (auto-suffixed if the name is taken).</source>
        <translation>选择预设以将现成的服务器条目追加到配置(若名称已被占用则自动添加后缀)。</translation>
    </message>
    <message>
        <source>-- Select Preset --</source>
        <translation>-- 选择预设 --</translation>
    </message>
    <message>
        <source>No servers configured. Add a preset below or edit the JSON.</source>
        <translation>未配置任何服务器。请在下方添加预设或编辑 JSON。</translation>
    </message>
    <message>
        <source>0 server(s) defined.</source>
        <translation>已定义 0 个服务器。</translation>
    </message>
    <message>
        <source>%1 server(s) defined, %2 enabled.</source>
        <translation>已定义 %1 个服务器,已启用 %2 个。</translation>
    </message>
    <message>
        <source>MCP configuration</source>
        <translation>MCP 配置</translation>
    </message>
    <message>
        <source>Failed to write %1:
%2</source>
        <translation>写入 %1 失败:
%2</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::ProviderDetailPane</name>
    <message>
        <source>Edit…</source>
        <translation>编辑…</translation>
    </message>
    <message>
        <source>Open in editor</source>
        <translation>在编辑器中打开</translation>
    </message>
    <message>
        <source>Open this provider&apos;s TOML file in Qt Creator. Bundled providers are read-only — duplicate first.</source>
        <translation>在 Qt Creator 中打开此提供商的 TOML 文件。捆绑提供商为只读 — 请先复制。</translation>
    </message>
    <message>
        <source>Duplicate…</source>
        <translation>复制…</translation>
    </message>
    <message>
        <source>Delete</source>
        <translation>删除</translation>
    </message>
    <message>
        <source>Cancel</source>
        <translation>取消</translation>
    </message>
    <message>
        <source>Save</source>
        <translation>保存</translation>
    </message>
    <message>
        <source>Identity</source>
        <translation>标识</translation>
    </message>
    <message>
        <source>Name:</source>
        <translation>名称:</translation>
    </message>
    <message>
        <source>Client API:</source>
        <translation>客户端 API:</translation>
    </message>
    <message>
        <source>The client API this provider speaks. Cannot be changed after creation.</source>
        <translation>此提供商使用的客户端 API。创建后无法更改。</translation>
    </message>
    <message>
        <source>Description:</source>
        <translation>描述:</translation>
    </message>
    <message>
        <source>Endpoint</source>
        <translation>端点</translation>
    </message>
    <message>
        <source>URL:</source>
        <translation>URL:</translation>
    </message>
    <message>
        <source>Base URL. Agents append their endpoint path (e.g. /chat/completions) to this.</source>
        <translation>基础 URL。智能体将其端点路径(例如 /chat/completions)追加在此之后。</translation>
    </message>
    <message>
        <source>Credentials</source>
        <translation>凭证</translation>
    </message>
    <message>
        <source>Enter API key…</source>
        <translation>输入 API 密钥…</translation>
    </message>
    <message>
        <source>Show / hide API key</source>
        <translation>显示 / 隐藏 API 密钥</translation>
    </message>
    <message>
        <source>Save key</source>
        <translation>保存密钥</translation>
    </message>
    <message>
        <source>Clear</source>
        <translation>清除</translation>
    </message>
    <message>
        <source>Erase the stored API key for this provider</source>
        <translation>清除此提供商已存储的 API 密钥</translation>
    </message>
    <message>
        <source>API key:</source>
        <translation>API 密钥:</translation>
    </message>
    <message>
        <source>Launch</source>
        <translation>启动</translation>
    </message>
    <message>
        <source>idle</source>
        <translation>空闲</translation>
    </message>
    <message>
        <source>Start</source>
        <translation>启动</translation>
    </message>
    <message>
        <source>Stop</source>
        <translation>停止</translation>
    </message>
    <message>
        <source>Restart</source>
        <translation>重启</translation>
    </message>
    <message>
        <source>▸ Show launch terminal</source>
        <translation>▸ 显示启动终端</translation>
    </message>
    <message>
        <source>▾ Hide launch terminal</source>
        <translation>▾ 隐藏启动终端</translation>
    </message>
    <message>
        <source>▸ Show raw TOML</source>
        <translation>▸ 显示原始 TOML</translation>
    </message>
    <message>
        <source>▾ Hide raw TOML</source>
        <translation>▾ 隐藏原始 TOML</translation>
    </message>
    <message>
        <source>No description provided.</source>
        <translation>未提供描述。</translation>
    </message>
    <message>
        <source>— not required (local provider)</source>
        <translation>— 不需要(本地提供商)</translation>
    </message>
    <message>
        <source>This provider type does not use a key.</source>
        <translation>此类型的提供商不使用密钥。</translation>
    </message>
    <message>
        <source>Stored — enter a new key to replace it.</source>
        <translation>已存储 — 输入新密钥以替换。</translation>
    </message>
    <message>
        <source>A key is stored. Type a new key and press Save key to replace it, or Clear to erase it.</source>
        <translation>已存储一个密钥。输入新密钥并点击保存密钥进行替换,或点击清除将其删除。</translation>
    </message>
    <message>
        <source>No key stored yet. Type a key and press Save key.</source>
        <translation>尚未存储密钥。请输入密钥并点击保存密钥。</translation>
    </message>
    <message>
        <source>Select a provider</source>
        <translation>选择一个提供商</translation>
    </message>
    <message>
        <source>No [launch] block. This provider is treated as external — the plugin will not spawn or supervise any process. Add a [launch] block to the TOML to have the plugin manage a local server here.</source>
        <translation>无 [launch] 块。此提供商被视为外部提供商 — 插件不会启动或管理任何进程。请在 TOML 中添加 [launch] 块以让插件在此管理本地服务器。</translation>
    </message>
    <message>
        <source> &lt;span style=&apos;color:gray&apos;&gt;(detached — survives Qt Creator restart)&lt;/span&gt;</source>
        <translation> &lt;span style=&apos;color:gray&apos;&gt;(已分离 — 可在 Qt Creator 重启后继续运行)&lt;/span&gt;</translation>
    </message>
    <message>
        <source>starting…</source>
        <translation>启动中…</translation>
    </message>
    <message>
        <source>probing…</source>
        <translation>探测中…</translation>
    </message>
    <message>
        <source>ready</source>
        <translation>就绪</translation>
    </message>
    <message>
        <source>stopping…</source>
        <translation>停止中…</translation>
    </message>
    <message>
        <source>failed</source>
        <translation>失败</translation>
    </message>
    <message>
        <source>failed — %1</source>
        <translation>失败 — %1</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::ProvidersPageWidget</name>
    <message>
        <source>Providers</source>
        <translation>提供商</translation>
    </message>
    <message>
        <source>Filter providers…</source>
        <translation>筛选提供商…</translation>
    </message>
    <message>
        <source>Open in editor</source>
        <translation>在编辑器中打开</translation>
    </message>
    <message>
        <source>Bundled providers are read-only. Use Duplicate to create an editable user copy first.</source>
        <translation>捆绑提供商为只读。请先使用复制功能创建可编辑的用户副本。</translation>
    </message>
    <message>
        <source>No user instances yet.</source>
        <translation>尚无用户实例。</translation>
    </message>
    <message>
        <source>No bundled instances loaded.</source>
        <translation>未加载任何捆绑实例。</translation>
    </message>
    <message>
        <source>User</source>
        <translation>用户</translation>
    </message>
    <message>
        <source>Bundled</source>
        <translation>捆绑</translation>
    </message>
    <message>
        <source>Duplicate provider</source>
        <translation>复制提供商</translation>
    </message>
    <message>
        <source>Name for the new provider:</source>
        <translation>新提供商的名称:</translation>
    </message>
    <message>
        <source>An instance named &apos;%1&apos; already exists.</source>
        <translation>名为 &apos;%1&apos; 的实例已存在。</translation>
    </message>
    <message>
        <source>Delete provider</source>
        <translation>删除提供商</translation>
    </message>
    <message>
        <source>Delete user provider &apos;%1&apos;?

File: %2</source>
        <translation>删除用户提供商 &apos;%1&apos;?

文件:%2</translation>
    </message>
    <message>
        <source>Failed to delete file:
%1</source>
        <translation>删除文件失败:
%1</translation>
    </message>
    <message>
        <source>Save</source>
        <translation>保存</translation>
    </message>
    <message>
        <source>Name cannot be empty.</source>
        <translation>名称不能为空。</translation>
    </message>
    <message>
        <source>Save anyway?</source>
        <translation>仍要保存?</translation>
    </message>
    <message>
        <source>Saved to:
%1

but could not remove the old file:
%2

Two provider files now describe this instance — delete the old file manually to avoid a duplicate-name error.</source>
        <translation>已保存到:
%1

但无法删除旧文件:
%2

现在有两个提供商文件描述同一实例 — 请手动删除旧文件以避免名称冲突错误。</translation>
    </message>
    <message>
        <source>Clear API key</source>
        <translation>清除 API 密钥</translation>
    </message>
    <message>
        <source>Erase the stored API key for &apos;%1&apos;?</source>
        <translation>清除 &apos;%1&apos; 已存储的 API 密钥?</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Settings::TagFilterStrip</name>
    <message>
        <source>FILTER BY TAG</source>
        <translation>按标签筛选</translation>
    </message>
    <message>
        <source>clear</source>
        <translation>清除</translation>
    </message>
</context>
<context>
    <name>QodeAssist::Tools::TodoTool</name>
    <message>
        <source>Error: &apos;tasks&apos; parameter (array) is required for &apos;add&apos; operation. Example: {&quot;operation&quot;: &quot;add&quot;, &quot;tasks&quot;: [&quot;Task 1&quot;, &quot;Task 2&quot;]}</source>
        <translation>错误:&apos;add&apos; 操作需要 &apos;tasks&apos; 参数(数组)。示例:{&quot;operation&quot;: &quot;add&quot;, &quot;tasks&quot;: [&quot;Task 1&quot;, &quot;Task 2&quot;]}</translation>
    </message>
    <message>
        <source>Error: &apos;tasks&apos; array cannot be empty. Provide at least one task.</source>
        <translation>错误:&apos;tasks&apos; 数组不能为空。请至少提供一个任务。</translation>
    </message>
    <message>
        <source>Error: All tasks in &apos;tasks&apos; array are empty strings.</source>
        <translation>错误:&apos;tasks&apos; 数组中所有任务均为空字符串。</translation>
    </message>
    <message>
        <source>Error: &apos;todo_ids&apos; parameter (array) is required for &apos;complete&apos; operation. Example: {&quot;operation&quot;: &quot;complete&quot;, &quot;todo_ids&quot;: [1, 2, 3]}</source>
        <translation>错误:&apos;complete&apos; 操作需要 &apos;todo_ids&apos; 参数(数组)。示例:{&quot;operation&quot;: &quot;complete&quot;, &quot;todo_ids&quot;: [1, 2, 3]}</translation>
    </message>
    <message>
        <source>Error: &apos;todo_ids&apos; array cannot be empty. Provide at least one ID.</source>
        <translation>错误:&apos;todo_ids&apos; 数组不能为空。请至少提供一个 ID。</translation>
    </message>
    <message>
        <source>Error: All IDs in &apos;todo_ids&apos; array are invalid. IDs must be positive integers.</source>
        <translation>错误:&apos;todo_ids&apos; 数组中所有 ID 均无效。ID 必须为正整数。</translation>
    </message>
    <message>
        <source>Error: Unknown operation &apos;%1&apos;. Valid operations: &apos;add&apos;, &apos;complete&apos;, &apos;list&apos;</source>
        <translation>错误:未知操作 &apos;%1&apos;。有效操作:&apos;add&apos;、&apos;complete&apos;、&apos;list&apos;</translation>
    </message>
    <message>
        <source>✓ Added 1 new task</source>
        <translation>✓ 已添加 1 个新任务</translation>
    </message>
    <message>
        <source>✓ Added %1 new tasks</source>
        <translation>✓ 已添加 %1 个新任务</translation>
    </message>
    <message>
        <source>Error: No todos found in this session</source>
        <translation>错误:此会话中未找到待办事项</translation>
    </message>
    <message>
        <source>✓ Marked 1 task as completed</source>
        <translation>✓ 已将 1 个任务标记为已完成</translation>
    </message>
    <message>
        <source>✓ Marked %1 tasks as completed</source>
        <translation>✓ 已将 %1 个任务标记为已完成</translation>
    </message>
    <message>
        <source>⚠ %1 already completed</source>
        <translation>⚠ %1 已完成</translation>
    </message>
    <message>
        <source>❌ Not found: %1</source>
        <translation>❌ 未找到:%1</translation>
    </message>
    <message>
        <source>📋 TODO List: (empty)</source>
        <translation>📋 待办列表:(空)</translation>
    </message>
    <message>
        <source>📋 TODO List:</source>
        <translation>📋 待办列表:</translation>
    </message>
    <message>
        <source>Progress: %1/%2 completed (%3%)</source>
        <translation>进度:%1/%2 已完成 (%3%)</translation>
    </message>
    <message>
        <source>📋 All tasks completed! 🎉</source>
        <translation>📋 所有任务已完成!🎉</translation>
    </message>
    <message>
        <source>📋 Remaining tasks:</source>
        <translation>📋 剩余任务:</translation>
    </message>
</context>
<context>
    <name>QodeAssist::UpdateDialog</name>
    <message>
        <source>QodeAssist Update</source>
        <translation>QodeAssist 更新</translation>
    </message>
    <message>
        <source>QodeAssist is an open-source project that helps
developers write better code. If you find it useful, please</source>
        <translation>QodeAssist 是一个帮助开发者
写出更好代码的开源项目。如果您觉得它有用,请</translation>
    </message>
    <message>
        <source>Install via Extension Registry (recommended)</source>
        <translation>通过 Extension Registry 安装（推荐）</translation>
    </message>
    <message>
        <source>In Qt Creator open Extensions → Browser tab, enable &quot;Use External Repository&quot;, add one of the URLs below and click Apply to install QodeAssist. Updates are then installed from the same screen.</source>
        <translation>在 Qt Creator 中打开 Extensions → Browser 选项卡，启用“Use External Repository”，添加下面的某个 URL，然后点击 Apply 安装 QodeAssist。之后可在同一界面安装更新。</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>复制</translation>
    </message>
    <message>
        <source>Latest (for the newest Qt Creator, always up to date)</source>
        <translation>最新（适用于最新的 Qt Creator，始终保持最新）</translation>
    </message>
    <message>
        <source>Only for Qt Creator %1</source>
        <translation>仅适用于 Qt Creator %1</translation>
    </message>
    <message>
        <source>Alternative: QodeAssistUpdater</source>
        <translation>备选方案：QodeAssistUpdater</translation>
    </message>
    <message>
        <source>A standalone tool for installing and updating the plugin.</source>
        <translation>用于安装和更新插件的独立工具。</translation>
    </message>
    <message>
        <source>Download QodeAssistUpdater</source>
        <translation>下载 QodeAssistUpdater</translation>
    </message>
    <message>
        <source>A new version of QodeAssist is available!</source>
        <translation>QodeAssist 有新版本可用!</translation>
    </message>
    <message>
        <source>Version %1 is now available - you have %2</source>
        <translation>版本 %1 现已可用 - 您当前为 %2</translation>
    </message>
    <message>
        <source>Release Notes:</source>
        <translation>发行说明:</translation>
    </message>
    <message>
        <source>Open Release Page</source>
        <translation>打开发行页面</translation>
    </message>
    <message>
        <source>Open Plugin Folder</source>
        <translation>打开插件文件夹</translation>
    </message>
    <message>
        <source>Close</source>
        <translation>关闭</translation>
    </message>
    <message>
        <source>QodeAssist is up to date</source>
        <translation>QodeAssist 已是最新版本</translation>
    </message>
    <message>
        <source>You are using the latest version: %1</source>
        <translation>您正在使用最新版本:%1</translation>
    </message>
    <message>
        <source>No release notes available. Check the release page for more information.</source>
        <translation>无可用的发行说明。请查看发行页面以获取更多信息。</translation>
    </message>
</context>
<context>
    <name>QodeAssist::UpdateStatusWidget</name>
    <message>
        <source>Update</source>
        <translation>更新</translation>
    </message>
    <message>
        <source>New version: v%1</source>
        <translation>新版本:v%1</translation>
    </message>
    <message>
        <source>Check update information</source>
        <translation>查看更新信息</translation>
    </message>
</context>
<context>
    <name>QtC::QodeAssist</name>
    <message>
        <source>Cannot create user provider folder:
%1</source>
        <translation>无法创建用户提供商文件夹:
%1</translation>
    </message>
    <message>
        <source>Cannot pick a free filename in:
%1</source>
        <translation>无法在以下位置选取空闲文件名:
%1</translation>
    </message>
    <message>
        <source>Cannot write %1:
%2</source>
        <translation>无法写入 %1:
%2</translation>
    </message>
    <message>
        <source>Write failed for %1:
%2</source>
        <translation>写入 %1 失败:
%2</translation>
    </message>
    <message>
        <source>Request timeout (seconds):</source>
        <translation>请求超时（秒）:</translation>
    </message>
    <message>
        <source>Maximum time to wait for the model to send data before a request is aborted. Applies to all requests — chat, code completion, quick refactor and chat compression. The timer resets every time data is received, so this effectively limits the time-to-first-token and any stall between tokens. Increase it for slow or local models that need a long time to start responding. Set to 0 to disable the timeout.</source>
        <translation>在中止请求之前，等待模型发送数据的最长时间。适用于所有请求——聊天、代码补全、快速重构和聊天压缩。每次收到数据时计时器都会重置，因此它实际上限制了首个 token 的等待时间以及 token 之间的任何停顿。对于需要较长时间才能开始响应的慢速或本地模型，请增大该值。设为 0 可禁用超时。</translation>
    </message>
    <message>
        <source>Quick Setup</source>
        <translation>快速设置</translation>
    </message>
    <message>
        <source>Configure API Key</source>
        <translation>配置 API 密钥</translation>
    </message>
    <message>
        <source>Open Provider Settings to configure API keys</source>
        <translation>打开提供商设置以配置 API 密钥</translation>
    </message>
    <message>
        <source>Load configuration (includes predefined cloud models)</source>
        <translation>加载配置(包含预定义的云端模型)</translation>
    </message>
    <message>
        <source>Show template information</source>
        <translation>显示模板信息</translation>
    </message>
    <message>
        <source>Network</source>
        <translation>网络</translation>
    </message>
    <message>
        <source>Support the development of QodeAssist:</source>
        <translation>支持 QodeAssist 的开发:</translation>
    </message>
    <message>
        <source>Template Information</source>
        <translation>模板信息</translation>
    </message>
    <message>
        <source>Template</source>
        <translation>模板</translation>
    </message>
    <message>
        <source>Description:</source>
        <translation>描述:</translation>
    </message>
    <message>
        <source>Failed to save configuration. Check logs for details.</source>
        <translation>保存配置失败。请查看日志了解详情。</translation>
    </message>
    <message>
        <source>[Preset] configurations are predefined cloud models ready to use.</source>
        <translation>[Preset] 配置为可直接使用的预定义云端模型。</translation>
    </message>
    <message>
        <source>Predefined configurations cannot be deleted.</source>
        <translation>预定义配置无法删除。</translation>
    </message>
    <message>
        <source>Failed to delete configuration.</source>
        <translation>删除配置失败。</translation>
    </message>
    <message>
        <source>-- Select Preset --</source>
        <translation>-- 选择预设 --</translation>
    </message>
    <message>
        <source>Enable QodeAssist</source>
        <translation>启用 QodeAssist</translation>
    </message>
    <message>
        <source>General</source>
        <translation>常规</translation>
    </message>
    <message>
        <source>Reset Page to Defaults</source>
        <translation>将本页重置为默认值</translation>
    </message>
    <message>
        <source>Check Update</source>
        <translation>检查更新</translation>
    </message>
    <message>
        <source>Select...</source>
        <translation>选择...</translation>
    </message>
    <message>
        <source>Provider:</source>
        <translation>提供商:</translation>
    </message>
    <message>
        <source>Model:</source>
        <translation>模型:</translation>
    </message>
    <message>
        <source>Template:</source>
        <translation>模板:</translation>
    </message>
    <message>
        <source>URL:</source>
        <translation>URL:</translation>
    </message>
    <message>
        <source>Status:</source>
        <translation>状态:</translation>
    </message>
    <message>
        <source>Test</source>
        <translation>测试</translation>
    </message>
    <message>
        <source>Enable Logging</source>
        <translation>启用日志</translation>
    </message>
    <message>
        <source>Log messages are visible in General Messages pane</source>
        <translation>日志消息可在常规消息面板中查看</translation>
    </message>
    <message>
        <source>Check for updates when Qt Creator starts</source>
        <translation>Qt Creator 启动时检查更新</translation>
    </message>
    <message>
        <source>Enable Chat(If you have performance issues try disabling this, need restart QtC)</source>
        <translation>启用聊天(如有性能问题请尝试禁用,需要重启 Qt Creator)</translation>
    </message>
    <message>
        <source>Custom endpoint:</source>
        <translation>自定义端点:</translation>
    </message>
    <message>
        <source>Code Completion</source>
        <translation>代码补全</translation>
    </message>
    <message>
        <source>Chat Assistant</source>
        <translation>聊天助手</translation>
    </message>
    <message>
        <source>Quick Refactor</source>
        <translation>快速重构</translation>
    </message>
    <message>
        <source>Chat Compression</source>
        <translation>聊天压缩</translation>
    </message>
    <message>
        <source>Agent Pipelines</source>
        <translation>智能体流水线</translation>
    </message>
    <message>
        <source>Inline completions while you type. Matchers run on every request.</source>
        <translation>在您输入时进行内联补全。匹配器在每次请求时运行。</translation>
    </message>
    <message>
        <source>Conversational assistant in the QodeAssist panel.</source>
        <translation>QodeAssist 面板中的会话式助手。</translation>
    </message>
    <message>
        <source>Used when a chat conversation needs to be summarised to stay within context.</source>
        <translation>当需要对聊天对话进行摘要以保持在上下文范围内时使用。</translation>
    </message>
    <message>
        <source>Inline editor-driven refactors via the Quick Refactor action.</source>
        <translation>通过快速重构动作进行编辑器内的内联重构。</translation>
    </message>
    <message>
        <source>Reset Settings</source>
        <translation>重置设置</translation>
    </message>
    <message>
        <source>Are you sure you want to reset all settings to default values?</source>
        <translation>您确定要将所有设置重置为默认值吗?</translation>
    </message>
    <message>
        <source>Current template description:</source>
        <translation>当前模板描述:</translation>
    </message>
    <message>
        <source>Connection Error</source>
        <translation>连接错误</translation>
    </message>
    <message>
        <source>Unable to retrieve the list of models from the server.</source>
        <translation>无法从服务器获取模型列表。</translation>
    </message>
    <message>
        <source>Please verify the following:
- Server is running and accessible
- URL is correct
- Provider is properly configured
- API key is correctly set (if required)

You can try selecting a different provider or changing the URL:</source>
        <translation>请检查以下内容:
- 服务器正在运行且可访问
- URL 正确
- 提供商配置正确
- API 密钥已正确设置(如有需要)

您可以尝试选择其他提供商或更改 URL:</translation>
    </message>
    <message>
        <source>Select Provider</source>
        <translation>选择提供商</translation>
    </message>
    <message>
        <source>Select URL</source>
        <translation>选择 URL</translation>
    </message>
    <message>
        <source>Close</source>
        <translation>关闭</translation>
    </message>
    <message>
        <source>Model Selection</source>
        <translation>模型选择</translation>
    </message>
    <message>
        <source>Select from previously used models or enter a new model name.

If entering a new model name:
• For providers with automatic listing - ensure the model is installed
• For providers without listing support - check provider&apos;s documentation
• Make sure the model name matches exactly</source>
        <translation>从之前使用过的模型中选择,或输入新的模型名称。

如果输入新的模型名称:
• 对于支持自动列出的提供商 - 请确保模型已安装
• 对于不支持列出的提供商 - 请查阅提供商文档
• 请确保模型名称完全匹配</translation>
    </message>
    <message>
        <source>Model name:</source>
        <translation>模型名称:</translation>
    </message>
    <message>
        <source>OK</source>
        <translation>确定</translation>
    </message>
    <message>
        <source>Cancel</source>
        <translation>取消</translation>
    </message>
    <message>
        <source>Enter Model Manually</source>
        <translation>手动输入模型</translation>
    </message>
    <message>
        <source>URL Selection</source>
        <translation>URL 选择</translation>
    </message>
    <message>
        <source>Select from the list of default and previously used URLs, or enter a custom one.
Please ensure the selected URL is accessible and the service is running.</source>
        <translation>从默认或之前使用过的 URL 列表中选择,或输入自定义 URL。
请确保所选 URL 可访问且服务正在运行。</translation>
    </message>
    <message>
        <source>Use default provider URL or from history</source>
        <translation>使用默认提供商 URL 或历史 URL</translation>
    </message>
    <message>
        <source>Enter custom URL</source>
        <translation>输入自定义 URL</translation>
    </message>
    <message>
        <source>Enter Model Name Manually</source>
        <translation>手动输入模型名称</translation>
    </message>
    <message>
        <source>Auto Completion Settings</source>
        <translation>自动补全设置</translation>
    </message>
    <message>
        <source>Add new preset for language</source>
        <translation>为语言添加新预设</translation>
    </message>
    <message>
        <source>Save Config...</source>
        <translation>保存配置...</translation>
    </message>
    <message>
        <source>Load Config...</source>
        <translation>加载配置...</translation>
    </message>
    <message>
        <source>Open Folder</source>
        <translation>打开文件夹</translation>
    </message>
    <message>
        <source>Save Configuration</source>
        <translation>保存配置</translation>
    </message>
    <message>
        <source>Load Configuration</source>
        <translation>加载配置</translation>
    </message>
    <message>
        <source>Configuration name:</source>
        <translation>配置名称:</translation>
    </message>
    <message>
        <source>Select Configuration</source>
        <translation>选择配置</translation>
    </message>
    <message>
        <source>No saved configurations found.</source>
        <translation>未找到已保存的配置。</translation>
    </message>
    <message>
        <source>Configuration saved successfully.</source>
        <translation>配置保存成功。</translation>
    </message>
    <message>
        <source>Configuration loaded successfully.</source>
        <translation>配置加载成功。</translation>
    </message>
    <message>
        <source>Delete</source>
        <translation>删除</translation>
    </message>
    <message>
        <source>Are you sure you want to delete this configuration?</source>
        <translation>您确定要删除此配置吗?</translation>
    </message>
    <message>
        <source>Enable Auto Complete</source>
        <translation>启用自动补全</translation>
    </message>
    <message>
        <source>Enable Multiline Completion</source>
        <translation>启用多行补全</translation>
    </message>
    <message>
        <source>Text output proccessing mode:</source>
        <translation>文本输出处理模式:</translation>
    </message>
    <message>
        <source>Auto: Automatically detects codeblock and applies processing when found, other text as comments
Force Processing: Always processes text with codeblock formatting and other text as comments
Raw Text: Shows unprocessed text without any formatting</source>
        <translation>自动:自动检测代码块并在发现时应用处理,其他文本作为注释
强制处理:始终以代码块格式处理文本,其他文本作为注释
原始文本:显示未处理的文本,不进行任何格式化</translation>
    </message>
    <message>
        <source>Completion trigger mode:</source>
        <translation>补全触发模式:</translation>
    </message>
    <message>
        <source>Hint-based: Shows a hint when typing, press Tab to request completion
Automatic: Automatically requests completion after typing threshold</source>
        <translation>基于提示:输入时显示提示,按 Tab 请求补全
自动:在达到输入阈值后自动请求补全</translation>
    </message>
    <message>
        <source>Completion mode:</source>
        <translation>补全模式:</translation>
    </message>
    <message>
        <source>Automatic: requests completion while typing (with smart context gates).
Manual: no auto-triggering; invoke via the &apos;Request QodeAssist Suggestion&apos; shortcut (default Ctrl+Alt+Q, reconfigurable in Preferences &gt; Keyboard).</source>
        <translation>自动:在输入时请求补全(带智能上下文门控)。
手动:不自动触发;通过 &apos;请求 QodeAssist 建议&apos; 快捷键调用(默认 Ctrl+Alt+Q,可在首选项 &gt; 键盘中重新配置)。</translation>
    </message>
    <message>
        <source>Smart context-aware triggering</source>
        <translation>智能上下文感知触发</translation>
    </message>
    <message>
        <source>When enabled, auto-completion is suppressed in places where Qt Creator&apos;s built-in completion is usually stronger (middle of an identifier, right after &apos;.&apos;, &apos;-&gt;&apos;, &apos;::&apos;) and is triggered more eagerly after structural characters like &apos;(&apos;, &apos;,&apos;, &apos;{&apos;, &apos;=&apos; and on fresh indented lines.</source>
        <translation>启用后,在 Qt Creator 内置补全通常更强的位置(标识符中间,&apos;.&apos;、&apos;-&gt;&apos;、&apos;::&apos; 之后)抑制自动补全,而在 &apos;(&apos;、&apos;,&apos;、&apos;{&apos;、&apos;=&apos; 等结构性字符之后以及新缩进行上更积极地触发。</translation>
    </message>
    <message>
        <source>Don&apos;t dismiss Qt Creator&apos;s completion popup</source>
        <translation>不关闭 Qt Creator 的补全弹窗</translation>
    </message>
    <message>
        <source>When enabled, an AI completion arriving while Qt Creator&apos;s own completion popup is already visible will not force it closed. The LLM suggestion still appears inline.</source>
        <translation>启用后,当 Qt Creator 自身的补全弹窗已显示时到达的 AI 补全不会强制关闭该弹窗。LLM 建议仍以内联方式显示。</translation>
    </message>
    <message>
        <source>Cancel in-flight request on new input</source>
        <translation>在新输入时取消进行中的请求</translation>
    </message>
    <message>
        <source>When enabled, every new keystroke cancels any completion request already in flight and restarts the debounce timer. Useful for slow local models where an outdated answer is rarely worth waiting for.
When disabled (default), the in-flight request is kept; when the answer arrives, the plugin compares it with characters typed in the meantime and either trims the matching prefix or drops the answer.</source>
        <translation>启用后,每次新按键都会取消任何进行中的补全请求并重启防抖定时器。对于过时答案很少值得等待的慢速本地模型非常有用。
禁用时(默认),进行中的请求会保留;答案到达时,插件会将其与同时输入的字符进行比较,然后修剪匹配的前缀或丢弃答案。</translation>
    </message>
    <message>
        <source>with delay(ms)</source>
        <translation>延迟(毫秒)</translation>
    </message>
    <message>
        <source>Delay before sending the completion request.
(Only for Automatic trigger mode)</source>
        <translation>发送补全请求前的延迟。
(仅适用于自动触发模式)</translation>
    </message>
    <message>
        <source>AI suggestion triggers after typing</source>
        <translation>AI 建议在输入后触发</translation>
    </message>
    <message>
        <source>The number of characters that need to be typed within the typing interval before an AI suggestion request is sent automatically.
(Only for Automatic trigger mode)</source>
        <translation>在输入间隔内需要输入的字符数,达到后自动发送 AI 建议请求。
(仅适用于自动触发模式)</translation>
    </message>
    <message>
        <source>character(s) within(ms)</source>
        <translation>字符,时间窗口(毫秒)</translation>
    </message>
    <message>
        <source>The time window (in milliseconds) during which the character threshold must be met to trigger an AI suggestion request automatically.
(Only for Automatic trigger mode)</source>
        <translation>在该时间窗口内(毫秒)必须达到字符阈值才会自动触发 AI 建议请求。
(仅适用于自动触发模式)</translation>
    </message>
    <message>
        <source>Hint shows after typing</source>
        <translation>输入后显示提示</translation>
    </message>
    <message>
        <source>The number of characters that need to be typed before the hint widget appears (only for Hint-based trigger mode).</source>
        <translation>需要输入的字符数,达到后显示提示部件(仅适用于基于提示的触发模式)。</translation>
    </message>
    <message>
        <source>Hint auto-hide timeout (ms)</source>
        <translation>提示自动隐藏超时(毫秒)</translation>
    </message>
    <message>
        <source>Time in milliseconds after which the hint widget will automatically hide (only for Hint-based trigger mode).</source>
        <translation>提示部件自动隐藏的时间(毫秒)(仅适用于基于提示的触发模式)。</translation>
    </message>
    <message>
        <source>Trigger key:</source>
        <translation>触发键:</translation>
    </message>
    <message>
        <source>Key to press for requesting completion when hint is visible.
Space is recommended as least conflicting with context menu.
(Only for Hint-based trigger mode)</source>
        <translation>提示可见时用于请求补全的按键。
推荐使用空格键,与上下文菜单冲突最小。
(仅适用于基于提示的触发模式)</translation>
    </message>
    <message>
        <source>Ignore spaces and tabs in character count</source>
        <translation>在字符计数中忽略空格和制表符</translation>
    </message>
    <message>
        <source>When enabled, spaces and tabs are not counted towards the character threshold for triggering completions. This helps trigger completions based on actual code characters only.</source>
        <translation>启用后,空格和制表符不计入触发补全的字符阈值。这有助于仅基于实际代码字符触发补全。</translation>
    </message>
    <message>
        <source>Temperature:</source>
        <translation>温度:</translation>
    </message>
    <message>
        <source>Max Tokens:</source>
        <translation>最大 Token 数:</translation>
    </message>
    <message>
        <source>Top P:</source>
        <translation>Top P:</translation>
    </message>
    <message>
        <source>Top K:</source>
        <translation>Top K:</translation>
    </message>
    <message>
        <source>Presence Penalty:</source>
        <translation>存在惩罚:</translation>
    </message>
    <message>
        <source>Frequency Penalty:</source>
        <translation>频率惩罚:</translation>
    </message>
    <message>
        <source>Read Full File</source>
        <translation>读取整个文件</translation>
    </message>
    <message>
        <source>Read Strings Before Cursor:</source>
        <translation>读取光标前的字符串数:</translation>
    </message>
    <message>
        <source>Read Strings After Cursor:</source>
        <translation>读取光标后的字符串数:</translation>
    </message>
    <message>
        <source>Use System Prompt</source>
        <translation>使用系统提示词</translation>
    </message>
    <message>
        <source>Use special system prompt and user message for non FIM models</source>
        <translation>为非 FIM 模型使用特殊的系统提示词和用户消息</translation>
    </message>
    <message>
        <source>System prompt for non FIM models:</source>
        <translation>非 FIM 模型的系统提示词:</translation>
    </message>
    <message>
        <source>User message for non FIM models:</source>
        <translation>非 FIM 模型的用户消息:</translation>
    </message>
    <message>
        <source>Additional Programming Languages for handling: Example: rust,//,rust rs,rs</source>
        <translation>需要处理的附加编程语言:示例:rust,//,rust rs,rs</translation>
    </message>
    <message>
        <source>Specify additional programming languages in format: name,comment_style,model_names,extensions
Example: rust,//,rust rs,rs
Fields: language name, comment prefix, names from LLM (space-separated), file extensions (space-separated)</source>
        <translation>按以下格式指定附加编程语言:name,comment_style,model_names,extensions
示例:rust,//,rust rs,rs
字段:语言名称、注释前缀、LLM 中的名称(空格分隔)、文件扩展名(空格分隔)</translation>
    </message>
    <message>
        <source>Show progress indicator during code completion</source>
        <translation>在代码补全期间显示进度指示器</translation>
    </message>
    <message>
        <source>Abort existing assist on new completion request</source>
        <translation>在新的补全请求时中止已有的辅助</translation>
    </message>
    <message>
        <source>When enabled, cancels any active Qt Creator code assist popup before requesting LLM completion.
(Only for Automatic trigger mode)</source>
        <translation>启用后,在请求 LLM 补全之前取消任何活动的 Qt Creator 代码辅助弹窗。
(仅适用于自动触发模式)</translation>
    </message>
    <message>
        <source>Include context from open files</source>
        <translation>包含来自打开文件的上下文</translation>
    </message>
    <message>
        <source>Max Changes Cache Size:</source>
        <translation>最大变更缓存大小:</translation>
    </message>
    <message>
        <source>Time to suspend Ollama after completion request (in minutes), Only Ollama,  -1 to disable</source>
        <translation>补全请求后挂起 Ollama 的时间(分钟),仅 Ollama,-1 为禁用</translation>
    </message>
    <message>
        <source>Context Window:</source>
        <translation>上下文窗口:</translation>
    </message>
    <message>
        <source>Reasoning effort:</source>
        <translation>推理强度:</translation>
    </message>
    <message>
        <source>Constrains effort on reasoning for OpenAI gpt-5 and o-series models:

None: No reasoning (gpt-5.1 only)
Minimal: Minimal reasoning effort (o-series only)
Low: Low reasoning effort
Medium: Balanced reasoning (default for most models)
High: Maximum reasoning effort (gpt-5-pro only supports this)

Note: Reducing effort = faster responses + fewer tokens</source>
        <translation>限制 OpenAI gpt-5 和 o 系列模型的推理强度:

None:无推理(仅 gpt-5.1)
Minimal:最小推理强度(仅 o 系列)
Low:低推理强度
Medium:平衡推理(大多数模型的默认值)
High:最大推理强度(仅 gpt-5-pro 支持)

注意:降低强度 = 更快响应 + 更少 Token</translation>
    </message>
    <message>
        <source>Prompts for FIM models</source>
        <translation>FIM 模型的提示词</translation>
    </message>
    <message>
        <source>Prompts for Non FIM models</source>
        <translation>非 FIM 模型的提示词</translation>
    </message>
    <message>
        <source>General Settings</source>
        <translation>常规设置</translation>
    </message>
    <message>
        <source>Automatic Trigger Mode</source>
        <translation>自动触发模式</translation>
    </message>
    <message>
        <source>General Parameters</source>
        <translation>常规参数</translation>
    </message>
    <message>
        <source>Advanced Parameters</source>
        <translation>高级参数</translation>
    </message>
    <message>
        <source>Context Settings</source>
        <translation>上下文设置</translation>
    </message>
    <message>
        <source>OpenAI Responses API</source>
        <translation>OpenAI Responses API</translation>
    </message>
    <message>
        <source>Ollama Settings</source>
        <translation>Ollama 设置</translation>
    </message>
    <message>
        <source>Sync open files with assistant by default</source>
        <translation>默认将打开的文件与助手同步</translation>
    </message>
    <message>
        <source>Enable autosave when message received</source>
        <translation>收到消息时启用自动保存</translation>
    </message>
    <message>
        <source>Enable chat in bottom toolbar</source>
        <translation>在底部工具栏启用聊天</translation>
    </message>
    <message>
        <source>Enable chat in navigation panel</source>
        <translation>在导航面板启用聊天</translation>
    </message>
    <message>
        <source>Enable tools/function calling</source>
        <translation>启用工具/函数调用</translation>
    </message>
    <message>
        <source>When enabled, AI can use tools to read files, search project, and build code</source>
        <translation>启用后,AI 可使用工具读取文件、搜索项目并构建代码</translation>
    </message>
    <message>
        <source>Auto-compress chat when session tokens exceed:</source>
        <translation>会话 Token 数超过以下值时自动压缩聊天:</translation>
    </message>
    <message>
        <source>After each assistant response, if the running session token total exceeds the threshold, the chat is summarized and a new compressed chat is started automatically. The original chat is preserved on disk.</source>
        <translation>每次助手响应后,如果当前会话的 Token 总数超过阈值,聊天将被摘要并自动开启一个新的压缩聊天。原始聊天会保留在磁盘上。</translation>
    </message>
    <message>
        <source>Enable extended thinking mode.</source>
        <translation>启用扩展思考模式。</translation>
    </message>
    <message>
        <source>Enable extended thinking mode for complex reasoning tasks.This provides step-by-step reasoning before the final answer.Temperature is 1.0 accordingly API requirement</source>
        <translation>为复杂推理任务启用扩展思考模式。该模式在最终答案前提供分步推理。根据 API 要求,温度为 1.0。</translation>
    </message>
    <message>
        <source>Thinking budget tokens:</source>
        <translation>思考预算 Token 数:</translation>
    </message>
    <message>
        <source>Maximum number of tokens Claude can use for internal reasoning. Larger budgets improve quality but increase latency. Minimum: 1024, Recommended: 10000-16000.</source>
        <translation>Claude 可用于内部推理的最大 Token 数。更大的预算可提升质量但会增加延迟。最小值:1024,推荐:10000-16000。</translation>
    </message>
    <message>
        <source>Thinking mode max output tokens:</source>
        <translation>思考模式最大输出 Token 数:</translation>
    </message>
    <message>
        <source>Maximum number of tokens for the final response when thinking mode is enabled. Set to -1 to use the default max tokens setting. Recommended: 4096-16000.</source>
        <translation>启用思考模式时最终响应的最大 Token 数。设为 -1 则使用默认最大 Token 设置。推荐:4096-16000。</translation>
    </message>
    <message>
        <source>Text Font:</source>
        <translation>文本字体:</translation>
    </message>
    <message>
        <source>Text Font Size:</source>
        <translation>文本字号:</translation>
    </message>
    <message>
        <source>Code Font:</source>
        <translation>代码字体:</translation>
    </message>
    <message>
        <source>Code Font Size:</source>
        <translation>代码字号:</translation>
    </message>
    <message>
        <source>Text Format:</source>
        <translation>文本格式:</translation>
    </message>
    <message>
        <source>Chat Renderer:</source>
        <translation>聊天渲染器:</translation>
    </message>
    <message>
        <source>Chat Settings</source>
        <translation>聊天设置</translation>
    </message>
    <message>
        <source>Tools</source>
        <translation>工具</translation>
    </message>
    <message>
        <source>Extended Thinking (Claude)</source>
        <translation>扩展思考 (Claude)</translation>
    </message>
    <message>
        <source>Agent Roles</source>
        <translation>智能体角色</translation>
    </message>
    <message>
        <source>Enable Tools</source>
        <translation>启用工具</translation>
    </message>
    <message>
        <source>Enable AI tools/functions for quick refactoring (allows reading project files, searching code, etc.)</source>
        <translation>为快速重构启用 AI 工具/函数(允许读取项目文件、搜索代码等)</translation>
    </message>
    <message>
        <source>Enable Thinking Mode</source>
        <translation>启用思考模式</translation>
    </message>
    <message>
        <source>Enable extended thinking mode for complex refactoring tasks (supported by compatible models like Claude and Google AI)</source>
        <translation>为复杂重构任务启用扩展思考模式(由 Claude 和 Google AI 等兼容模型支持)</translation>
    </message>
    <message>
        <source>Thinking Budget Tokens:</source>
        <translation>思考预算 Token 数:</translation>
    </message>
    <message>
        <source>Number of tokens allocated for thinking process. Use -1 for dynamic thinking (model decides), 0 to disable, or positive value for custom budget</source>
        <translation>分配给思考过程的 Token 数。使用 -1 表示动态思考(由模型决定),0 表示禁用,正值表示自定义预算</translation>
    </message>
    <message>
        <source>Thinking Max Output Tokens:</source>
        <translation>思考最大输出 Token 数:</translation>
    </message>
    <message>
        <source>Maximum output tokens when thinking mode is enabled (includes thinking + response)</source>
        <translation>启用思考模式时的最大输出 Token 数(包括思考 + 响应)</translation>
    </message>
    <message>
        <source>Lines Before Cursor/Selection:</source>
        <translation>光标/选择前的行数:</translation>
    </message>
    <message>
        <source>Number of lines to include before cursor or selection for context</source>
        <translation>作为上下文包含在光标或选择之前的行数</translation>
    </message>
    <message>
        <source>Lines After Cursor/Selection:</source>
        <translation>光标/选择后的行数:</translation>
    </message>
    <message>
        <source>Number of lines to include after cursor or selection for context</source>
        <translation>作为上下文包含在光标或选择之后的行数</translation>
    </message>
    <message>
        <source>Display Mode:</source>
        <translation>显示模式:</translation>
    </message>
    <message>
        <source>Choose how to display refactoring suggestions:
- Inline Widget: Shows refactor in a widget overlay with Apply/Decline buttons (default)
- Qt Creator Suggestion: Uses Qt Creator&apos;s built-in suggestion system</source>
        <translation>选择如何显示重构建议:
- 内联部件:在带有应用/拒绝按钮的部件覆盖层中显示重构(默认)
- Qt Creator 建议:使用 Qt Creator 内置的建议系统</translation>
    </message>
    <message>
        <source>Inline Widget</source>
        <translation>内联部件</translation>
    </message>
    <message>
        <source>Qt Creator Suggestion</source>
        <translation>Qt Creator 建议</translation>
    </message>
    <message>
        <source>Widget Orientation:</source>
        <translation>部件方向:</translation>
    </message>
    <message>
        <source>Choose default orientation for refactor widget:
- Horizontal: Original and refactored code side by side (default)
- Vertical: Original and refactored code stacked vertically</source>
        <translation>选择重构部件的默认方向:
- 水平:原始代码和重构后代码并排显示(默认)
- 垂直:原始代码和重构后代码垂直堆叠</translation>
    </message>
    <message>
        <source>Horizontal</source>
        <translation>水平</translation>
    </message>
    <message>
        <source>Vertical</source>
        <translation>垂直</translation>
    </message>
    <message>
        <source>Widget Minimum Width:</source>
        <translation>部件最小宽度:</translation>
    </message>
    <message>
        <source>Minimum width for the refactor widget (in pixels)</source>
        <translation>重构部件的最小宽度(像素)</translation>
    </message>
    <message>
        <source>Widget Maximum Width:</source>
        <translation>部件最大宽度:</translation>
    </message>
    <message>
        <source>Maximum width for the refactor widget (in pixels)</source>
        <translation>重构部件的最大宽度(像素)</translation>
    </message>
    <message>
        <source>Widget Minimum Height:</source>
        <translation>部件最小高度:</translation>
    </message>
    <message>
        <source>Minimum height for the refactor widget (in pixels)</source>
        <translation>重构部件的最小高度(像素)</translation>
    </message>
    <message>
        <source>Widget Maximum Height:</source>
        <translation>部件最大高度:</translation>
    </message>
    <message>
        <source>Maximum height for the refactor widget (in pixels)</source>
        <translation>重构部件的最大高度(像素)</translation>
    </message>
    <message>
        <source>System Prompt:</source>
        <translation>系统提示词:</translation>
    </message>
    <message>
        <source>Include context from open files in quick refactor</source>
        <translation>在快速重构中包含来自打开文件的上下文</translation>
    </message>
    <message>
        <source>Tools Settings</source>
        <translation>工具设置</translation>
    </message>
    <message>
        <source>Display Settings</source>
        <translation>显示设置</translation>
    </message>
    <message>
        <source>Prompt Settings</source>
        <translation>提示词设置</translation>
    </message>
    <message>
        <source>Allow file access outside project</source>
        <translation>允许访问项目外的文件</translation>
    </message>
    <message>
        <source>Allow tools to read, write, and create files outside the project scope (system headers, Qt files, external libraries).</source>
        <translation>允许工具读取、写入和创建项目范围之外的文件(系统头文件、Qt 文件、外部库)。</translation>
    </message>
    <message>
        <source>Automatically apply file edits</source>
        <translation>自动应用文件编辑</translation>
    </message>
    <message>
        <source>When enabled, file edits suggested by AI are applied immediately. When disabled, each edit is staged for manual approval.</source>
        <translation>启用后,AI 建议的文件编辑会立即应用。禁用后,每项编辑都会暂存以待手动批准。</translation>
    </message>
    <message>
        <source>Max tool continuations:</source>
        <translation>最大工具连续次数:</translation>
    </message>
    <message>
        <source>Maximum number of consecutive tool-use rounds in a single request. Each round lets the model call tools and receive results before continuing. Higher values allow more complex multi-step tasks but increase token usage.</source>
        <translation>单次请求中连续使用工具的最大轮数。每一轮允许模型调用工具并接收结果后继续。更高的值可支持更复杂的多步任务,但会增加 Token 用量。</translation>
    </message>
    <message>
        <source>List Project Files</source>
        <translation>列出项目文件</translation>
    </message>
    <message>
        <source>Lists every source file tracked by the active Qt Creator project(s).</source>
        <translation>列出活动 Qt Creator 项目跟踪的每个源文件。</translation>
    </message>
    <message>
        <source>Find File</source>
        <translation>查找文件</translation>
    </message>
    <message>
        <source>Locates a file in the project by name or partial path. Returns paths only, without file content.</source>
        <translation>按名称或部分路径在项目中定位文件。仅返回路径,不返回文件内容。</translation>
    </message>
    <message>
        <source>Read File</source>
        <translation>读取文件</translation>
    </message>
    <message>
        <source>Reads the content of a file by absolute path or path relative to the project root.</source>
        <translation>按绝对路径或相对于项目根目录的路径读取文件内容。</translation>
    </message>
    <message>
        <source>Search in Project</source>
        <translation>在项目中搜索</translation>
    </message>
    <message>
        <source>Searches project files for text occurrences or C++ symbol definitions.</source>
        <translation>在项目文件中搜索文本出现或 C++ 符号定义。</translation>
    </message>
    <message>
        <source>Create New File</source>
        <translation>创建新文件</translation>
    </message>
    <message>
        <source>Creates a new empty file at the given absolute path, making missing directories.</source>
        <translation>在指定的绝对路径处创建新的空文件,并创建缺失的目录。</translation>
    </message>
    <message>
        <source>Edit File</source>
        <translation>编辑文件</translation>
    </message>
    <message>
        <source>Applies find-and-replace edits to files. See &quot;Automatically apply file edits&quot; to control whether edits apply immediately or wait for review.</source>
        <translation>对文件应用查找替换编辑。请参阅 &quot;自动应用文件编辑&quot; 以控制编辑是立即应用还是等待审阅。</translation>
    </message>
    <message>
        <source>Build Project</source>
        <translation>构建项目</translation>
    </message>
    <message>
        <source>Triggers a build of the active Qt Creator project and reports the result.</source>
        <translation>触发活动 Qt Creator 项目的构建并报告结果。</translation>
    </message>
    <message>
        <source>Get Issues List</source>
        <translation>获取问题列表</translation>
    </message>
    <message>
        <source>Reads compiler/clang diagnostics from Qt Creator&apos;s Issues panel.</source>
        <translation>从 Qt Creator 的问题面板读取编译器/clang 诊断信息。</translation>
    </message>
    <message>
        <source>Execute Terminal Command</source>
        <translation>执行终端命令</translation>
    </message>
    <message>
        <source>Runs a command from the OS-specific allowed list below, in the project directory.</source>
        <translation>在项目目录中运行下方特定操作系统允许列表中的命令。</translation>
    </message>
    <message>
        <source>Todo</source>
        <translation>待办</translation>
    </message>
    <message>
        <source>Lets the AI maintain a session-scoped todo list for multi-step workflows.</source>
        <translation>让 AI 为多步工作流维护一个会话范围的待办列表。</translation>
    </message>
    <message>
        <source>Read Original History (Pre-Compression)</source>
        <translation>读取原始历史(压缩前)</translation>
    </message>
    <message>
        <source>Lets the AI read the original, full chat history from before the conversation was compressed into a summary. Useful when a detail is missing from the summary currently in context. Has no effect if the chat was never compressed.</source>
        <translation>让 AI 读取在对话被压缩为摘要之前的原始完整聊天历史。当当前上下文中的摘要缺少某些细节时很有用。如果聊天从未被压缩,则此功能无效。</translation>
    </message>
    <message>
        <source>Load Skill</source>
        <translation>加载技能</translation>
    </message>
    <message>
        <source>Lets the AI load the full instructions of a skill on demand. The Available Skills catalog in the system prompt lists each skill; this tool pulls a skill&apos;s complete instructions into context when needed.</source>
        <translation>让 AI 按需加载技能的完整指令。系统提示词中的可用技能目录列出了每个技能;此工具在需要时将技能的完整指令拉入上下文。</translation>
    </message>
    <message>
        <source>Allowed Commands (Linux)</source>
        <translation>允许的命令 (Linux)</translation>
    </message>
    <message>
        <source>Comma-separated list of terminal commands that AI is allowed to execute on Linux. Example: git, ls, cat, grep, find, cmake</source>
        <translation>允许 AI 在 Linux 上执行的终端命令列表,以逗号分隔。示例:git、ls、cat、grep、find、cmake</translation>
    </message>
    <message>
        <source>Allowed Commands (macOS)</source>
        <translation>允许的命令 (macOS)</translation>
    </message>
    <message>
        <source>Comma-separated list of terminal commands that AI is allowed to execute on macOS. Example: git, ls, cat, grep, find, cmake</source>
        <translation>允许 AI 在 macOS 上执行的终端命令列表,以逗号分隔。示例:git、ls、cat、grep、find、cmake</translation>
    </message>
    <message>
        <source>Allowed Commands (Windows)</source>
        <translation>允许的命令 (Windows)</translation>
    </message>
    <message>
        <source>Comma-separated list of terminal commands that AI is allowed to execute on Windows. Example: git, dir, type, findstr, where, cmake</source>
        <translation>允许 AI 在 Windows 上执行的终端命令列表,以逗号分隔。示例:git、dir、type、findstr、where、cmake</translation>
    </message>
    <message>
        <source>Command Timeout (seconds)</source>
        <translation>命令超时(秒)</translation>
    </message>
    <message>
        <source>Maximum time in seconds to wait for a terminal command to complete. Increase for long-running commands like builds.</source>
        <translation>等待终端命令完成的最长时间(秒)。对于构建等长时间运行的命令请增大此值。</translation>
    </message>
    <message>
        <source>Tool Settings</source>
        <translation>工具设置</translation>
    </message>
    <message>
        <source>Skills</source>
        <translation>技能</translation>
    </message>
    <message>
        <source>Enable skills</source>
        <translation>启用技能</translation>
    </message>
    <message>
        <source>Discover Agent Skills from the configured skill directories and expose them to the chat assistant. Each skill is a folder containing a SKILL.md file.</source>
        <translation>从已配置的技能目录中发现智能体技能并将其暴露给聊天助手。每个技能是一个包含 SKILL.md 文件的文件夹。</translation>
    </message>
    <message>
        <source>Global skill directories:</source>
        <translation>全局技能目录:</translation>
    </message>
    <message>
        <source>Absolute paths scanned for skills, one per line. Each path is a directory whose subfolders contain SKILL.md files. A leading ~ expands to your home directory. Lets QodeAssist pick up skills shared with other agents (e.g. ~/.claude/skills).</source>
        <translation>用于扫描技能的绝对路径,每行一个。每个路径是一个其子文件夹包含 SKILL.md 文件的目录。前导 ~ 将展开为您的主目录。让 QodeAssist 能够使用与其他智能体共享的技能(例如 ~/.claude/skills)。</translation>
    </message>
    <message>
        <source>No skills discovered.</source>
        <translation>未发现任何技能。</translation>
    </message>
    <message>
        <source>Skill Directories</source>
        <translation>技能目录</translation>
    </message>
    <message>
        <source>Discovered global skills:</source>
        <translation>已发现的全局技能:</translation>
    </message>
    <message>
        <source>MCP</source>
        <translation>MCP</translation>
    </message>
    <message>
        <source>Enable MCP server</source>
        <translation>启用 MCP 服务器</translation>
    </message>
    <message>
        <source>Expose QodeAssist tools to external MCP clients over HTTP. Which tools are visible is controlled on the client side.</source>
        <translation>通过 HTTP 将 QodeAssist 工具暴露给外部 MCP 客户端。哪些工具可见由客户端控制。</translation>
    </message>
    <message>
        <source>Server port</source>
        <translation>服务器端口</translation>
    </message>
    <message>
        <source>TCP port the MCP server listens on (localhost only). Requires restart of the server after change.</source>
        <translation>MCP 服务器监听的 TCP 端口(仅限 localhost)。更改后需要重启服务器。</translation>
    </message>
    <message>
        <source>Connect to external MCP servers</source>
        <translation>连接到外部 MCP 服务器</translation>
    </message>
    <message>
        <source>Connect to MCP servers listed in mcp-server.json and expose their tools to chat/quick-refactor/code-completion. Toggling this off disconnects all currently running MCP client sessions.</source>
        <translation>连接到 mcp-server.json 中列出的 MCP 服务器,并将其工具暴露给聊天/快速重构/代码补全。关闭此项将断开所有当前正在运行的 MCP 客户端会话。</translation>
    </message>
    <message>
        <source>Extra PATH for stdio servers</source>
        <translation>stdio 服务器的额外 PATH</translation>
    </message>
    <message>
        <source>Directories to prepend to PATH when launching stdio MCP servers. Useful when Qt Creator is started from the dock and doesn&apos;t see Homebrew, nvm, uv, etc. Separate multiple entries with &apos;%1&apos;. Per-server &apos;env&apos; overrides in mcp-server.json still win.</source>
        <translation>启动 stdio MCP 服务器时要添加到 PATH 前面的目录。当从 Dock 启动 Qt Creator 而看不到 Homebrew、nvm、uv 等时很有用。多个条目使用 &apos;%1&apos; 分隔。mcp-server.json 中每个服务器的 &apos;env&apos; 覆盖仍然优先。</translation>
    </message>
    <message>
        <source>How to connect...</source>
        <translation>如何连接...</translation>
    </message>
    <message>
        <source>Server</source>
        <translation>服务器</translation>
    </message>
    <message>
        <source>Clients</source>
        <translation>客户端</translation>
    </message>
    <message>
        <source>Connect to QodeAssist MCP</source>
        <translation>连接到 QodeAssist MCP</translation>
    </message>
    <message>
        <source>Server URL: &lt;code&gt;%1&lt;/code&gt;. If your MCP client speaks HTTP/SSE natively, use the &lt;b&gt;Direct&lt;/b&gt; tab. If it only speaks stdio (e.g. Claude Desktop), use the &lt;b&gt;Bridge&lt;/b&gt; tab.</source>
        <translation>服务器 URL:&lt;code&gt;%1&lt;/code&gt;。如果您的 MCP 客户端原生支持 HTTP/SSE,请使用 &lt;b&gt;直连&lt;/b&gt; 选项卡。如果它仅支持 stdio(例如 Claude Desktop),请使用 &lt;b&gt;桥接&lt;/b&gt; 选项卡。</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>复制</translation>
    </message>
    <message>
        <source>&lt;b&gt;Claude Code&lt;/b&gt; (CLI): run once —</source>
        <translation>&lt;b&gt;Claude Code&lt;/b&gt; (CLI):运行一次 —</translation>
    </message>
    <message>
        <source>&lt;b&gt;VS Code&lt;/b&gt;: save as &lt;code&gt;.vscode/mcp.json&lt;/code&gt; in the workspace:</source>
        <translation>&lt;b&gt;VS Code&lt;/b&gt;:在工作区中另存为 &lt;code&gt;.vscode/mcp.json&lt;/code&gt;:</translation>
    </message>
    <message>
        <source>Any other client that reads an &lt;code&gt;mcpServers&lt;/code&gt; JSON block:</source>
        <translation>任何其他读取 &lt;code&gt;mcpServers&lt;/code&gt; JSON 块的客户端:</translation>
    </message>
    <message>
        <source>Direct (HTTP/SSE)</source>
        <translation>直连 (HTTP/SSE)</translation>
    </message>
    <message>
        <source>&lt;b&gt;1.&lt;/b&gt; Download &lt;code&gt;mcp-bridge&lt;/code&gt; for your OS from &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt;.</source>
        <translation>&lt;b&gt;1.&lt;/b&gt; 从 &lt;a href=&quot;%1&quot;&gt;%1&lt;/a&gt; 下载适用于您操作系统的 &lt;code&gt;mcp-bridge&lt;/code&gt;。</translation>
    </message>
    <message>
        <source>&lt;b&gt;2.&lt;/b&gt; Save the following as &lt;code&gt;mcp-bridge.json&lt;/code&gt;:</source>
        <translation>&lt;b&gt;2.&lt;/b&gt; 将以下内容保存为 &lt;code&gt;mcp-bridge.json&lt;/code&gt;:</translation>
    </message>
    <message>
        <source>&lt;b&gt;3.&lt;/b&gt; Point the stdio-only client at the bridge. Example for &lt;code&gt;claude_desktop_config.json&lt;/code&gt;:</source>
        <translation>&lt;b&gt;3.&lt;/b&gt; 将仅支持 stdio 的客户端指向桥接。&lt;code&gt;claude_desktop_config.json&lt;/code&gt; 的示例:</translation>
    </message>
    <message>
        <source>Bridge (stdio)</source>
        <translation>桥接 (stdio)</translation>
    </message>
    <message>
        <source>Chat History Path:</source>
        <translation>聊天历史路径:</translation>
    </message>
    <message>
        <source>Skill directories:</source>
        <translation>技能目录:</translation>
    </message>
    <message>
        <source>Project-relative subdirectories scanned for Agent Skills, one per line. Resolved against the project root. These take priority over the global skill directories when a skill name appears in both.</source>
        <translation>用于扫描智能体技能的项目相对子目录,每行一个。相对于项目根目录解析。当一个技能名称同时出现在两处时,这些目录优先于全局技能目录。</translation>
    </message>
    <message>
        <source>Discovered project skills:</source>
        <translation>已发现的项目技能:</translation>
    </message>
    <message>
        <source>QodeAssist</source>
        <translation>QodeAssist</translation>
    </message>
    <message>
        <source>Provider Settings</source>
        <translation>提供商设置</translation>
    </message>
    <message>
        <source>OpenRouter API Key:</source>
        <translation>OpenRouter API 密钥:</translation>
    </message>
    <message>
        <source>Enter your API key here</source>
        <translation>在此输入您的 API 密钥</translation>
    </message>
    <message>
        <source>OpenAI Compatible API Key:</source>
        <translation>OpenAI 兼容 API 密钥:</translation>
    </message>
    <message>
        <source>Claude API Key:</source>
        <translation>Claude API 密钥:</translation>
    </message>
    <message>
        <source>Enable prompt caching</source>
        <translation>启用提示词缓存</translation>
    </message>
    <message>
        <source>Marks the system prompt, tool definitions, and stable chat history with cache_control so Anthropic caches the request prefix (5-minute TTL). Reduces cost and latency on repeated turns.</source>
        <translation>使用 cache_control 标记系统提示词、工具定义和稳定的聊天历史,以便 Anthropic 缓存请求前缀(5 分钟 TTL)。可降低重复轮次的成本和延迟。</translation>
    </message>
    <message>
        <source>Use 1h cache TTL (beta)</source>
        <translation>使用 1 小时缓存 TTL (beta)</translation>
    </message>
    <message>
        <source>Requests Anthropic&apos;s 1-hour cache TTL instead of the default 5 minutes. Sends the extended-cache-ttl-2025-04-11 beta header.</source>
        <translation>请求 Anthropic 1 小时的缓存 TTL,而不是默认的 5 分钟。发送 extended-cache-ttl-2025-04-11 beta 标头。</translation>
    </message>
    <message>
        <source>OpenAI API Key:</source>
        <translation>OpenAI API 密钥:</translation>
    </message>
    <message>
        <source>Mistral AI API Key:</source>
        <translation>Mistral AI API 密钥:</translation>
    </message>
    <message>
        <source>Codestral API Key:</source>
        <translation>Codestral API 密钥:</translation>
    </message>
    <message>
        <source>Google AI API Key:</source>
        <translation>Google AI API 密钥:</translation>
    </message>
    <message>
        <source>Ollama(Bearer) API Key:</source>
        <translation>Ollama (Bearer) API 密钥:</translation>
    </message>
    <message>
        <source>llama.cpp API Key:</source>
        <translation>llama.cpp API 密钥:</translation>
    </message>
    <message>
        <source>Qwen API Key:</source>
        <translation>Qwen API 密钥:</translation>
    </message>
    <message>
        <source>DeepSeek API Key:</source>
        <translation>DeepSeek API 密钥:</translation>
    </message>
    <message>
        <source>OpenRouter Settings</source>
        <translation>OpenRouter 设置</translation>
    </message>
    <message>
        <source>OpenAI Settings</source>
        <translation>OpenAI 设置</translation>
    </message>
    <message>
        <source>OpenAI Compatible Settings</source>
        <translation>OpenAI 兼容设置</translation>
    </message>
    <message>
        <source>Claude Settings</source>
        <translation>Claude 设置</translation>
    </message>
    <message>
        <source>Mistral AI Settings</source>
        <translation>Mistral AI 设置</translation>
    </message>
    <message>
        <source>Google AI Settings</source>
        <translation>Google AI 设置</translation>
    </message>
    <message>
        <source>llama.cpp Settings</source>
        <translation>llama.cpp 设置</translation>
    </message>
    <message>
        <source>Qwen (Alibaba) Settings</source>
        <translation>Qwen (Alibaba) 设置</translation>
    </message>
    <message>
        <source>DeepSeek Settings</source>
        <translation>DeepSeek 设置</translation>
    </message>
    <message>
        <source>Agent roles define different system prompts for specific tasks.</source>
        <translation>智能体角色为特定任务定义不同的系统提示词。</translation>
    </message>
    <message>
        <source>Open Roles Folder...</source>
        <translation>打开角色文件夹...</translation>
    </message>
    <message>
        <source>Add...</source>
        <translation>添加...</translation>
    </message>
    <message>
        <source>Edit...</source>
        <translation>编辑...</translation>
    </message>
    <message>
        <source>Duplicate...</source>
        <translation>复制...</translation>
    </message>
    <message>
        <source>(Built-in role)</source>
        <translation>(内置角色)</translation>
    </message>
    <message>
        <source>Role Already Exists</source>
        <translation>角色已存在</translation>
    </message>
    <message>
        <source>A role with ID &apos;%1&apos; already exists. Please use a different ID.</source>
        <translation>ID 为 &apos;%1&apos; 的角色已存在。请使用其他 ID。</translation>
    </message>
    <message>
        <source>Error</source>
        <translation>错误</translation>
    </message>
    <message>
        <source>Failed to save role &apos;%1&apos;.</source>
        <translation>保存角色 &apos;%1&apos; 失败。</translation>
    </message>
    <message>
        <source>Cannot Edit Built-in Role</source>
        <translation>无法编辑内置角色</translation>
    </message>
    <message>
        <source>Built-in roles cannot be edited. You can duplicate this role and modify the copy.</source>
        <translation>内置角色无法编辑。您可以复制此角色并修改副本。</translation>
    </message>
    <message>
        <source>Failed to update role &apos;%1&apos;.</source>
        <translation>更新角色 &apos;%1&apos; 失败。</translation>
    </message>
    <message>
        <source>Failed to duplicate role.</source>
        <translation>复制角色失败。</translation>
    </message>
    <message>
        <source>Cannot Delete Built-in Role</source>
        <translation>无法删除内置角色</translation>
    </message>
    <message>
        <source>Built-in roles cannot be deleted.</source>
        <translation>内置角色无法删除。</translation>
    </message>
    <message>
        <source>Delete Role</source>
        <translation>删除角色</translation>
    </message>
    <message>
        <source>Are you sure you want to delete the role &apos;%1&apos;?</source>
        <translation>您确定要删除角色 &apos;%1&apos; 吗?</translation>
    </message>
    <message>
        <source>Failed to delete role &apos;%1&apos;.</source>
        <translation>删除角色 &apos;%1&apos; 失败。</translation>
    </message>
    <message>
        <source>Generate QodeAssist suggestion at the current cursor position.</source>
        <translation>在当前光标位置生成 QodeAssist 建议。</translation>
    </message>
    <message>
        <source>Request QodeAssist Suggestion</source>
        <translation>请求 QodeAssist 建议</translation>
    </message>
    <message>
        <source>Refactor code using QodeAssist</source>
        <translation>使用 QodeAssist 重构代码</translation>
    </message>
    <message>
        <source>Quick Refactor with QodeAssist</source>
        <translation>使用 QodeAssist 快速重构</translation>
    </message>
    <message>
        <source>Open QodeAssist Chat as an editor tab</source>
        <translation>将 QodeAssist 聊天作为编辑器标签打开</translation>
    </message>
    <message>
        <source>Show QodeAssist Chat</source>
        <translation>显示 QodeAssist 聊天</translation>
    </message>
    <message>
        <source>Close QodeAssist Chat</source>
        <translation>关闭 QodeAssist 聊天</translation>
    </message>
    <message>
        <source>Open QodeAssist Chat in Separate Window</source>
        <translation>在单独窗口中打开 QodeAssist 聊天</translation>
    </message>
    <message>
        <source>Open the QodeAssist chat in a separate window</source>
        <translation>在单独窗口中打开 QodeAssist 聊天</translation>
    </message>
    <message>
        <source>New QodeAssist Chat</source>
        <translation>新建 QodeAssist 聊天</translation>
    </message>
    <message>
        <source>Open a fresh chat in a new editor tab</source>
        <translation>在新的编辑器标签中打开新聊天</translation>
    </message>
    <message>
        <source>Send QodeAssist Chat Message</source>
        <translation>发送 QodeAssist 聊天消息</translation>
    </message>
    <message>
        <source>Send the current message to the LLM</source>
        <translation>将当前消息发送到 LLM</translation>
    </message>
    <message>
        <source>Clear QodeAssist Chat Session</source>
        <translation>清除 QodeAssist 聊天会话</translation>
    </message>
    <message>
        <source>Clear the current chat session</source>
        <translation>清除当前聊天会话</translation>
    </message>
    <message>
        <source>QodeAssist Chat</source>
        <translation>QodeAssist 聊天</translation>
    </message>
    <message>
        <source>Chat in Bottom Panel</source>
        <translation>底部面板中的聊天</translation>
    </message>
    <message>
        <source>Chat in Sidebar</source>
        <translation>侧边栏中的聊天</translation>
    </message>
    <message>
        <source>Open Chat in Editor</source>
        <translation>在编辑器中打开聊天</translation>
    </message>
    <message>
        <source>Open Chat in Separate Window</source>
        <translation>在单独窗口中打开聊天</translation>
    </message>
    <message>
        <source>Select LLM Provider</source>
        <translation>选择 LLM 提供商</translation>
    </message>
    <message>
        <source>Providers:</source>
        <translation>提供商:</translation>
    </message>
    <message>
        <source>Select LLM Model</source>
        <translation>选择 LLM 模型</translation>
    </message>
    <message>
        <source>Models:</source>
        <translation>模型:</translation>
    </message>
    <message>
        <source>Select Template</source>
        <translation>选择模板</translation>
    </message>
    <message>
        <source>Templates:</source>
        <translation>模板:</translation>
    </message>
    <message>
        <source>Switch AI configuration</source>
        <translation>切换 AI 配置</translation>
    </message>
    <message>
        <source>Enable/Disable AI Tools</source>
        <translation>启用/禁用 AI 工具</translation>
    </message>
    <message>
        <source>Enable/Disable Thinking Mode</source>
        <translation>启用/禁用思考模式</translation>
    </message>
    <message>
        <source>Open Quick Refactor Settings</source>
        <translation>打开快速重构设置</translation>
    </message>
    <message>
        <source>Your Current Instruction:</source>
        <translation>您当前的指令:</translation>
    </message>
    <message>
        <source>Type or edit your instruction...</source>
        <translation>输入或编辑您的指令...</translation>
    </message>
    <message>
        <source>Or Load saved:</source>
        <translation>或加载已保存:</translation>
    </message>
    <message>
        <source>Search saved instructions...</source>
        <translation>搜索已保存的指令...</translation>
    </message>
    <message>
        <source>Add Custom Instruction</source>
        <translation>添加自定义指令</translation>
    </message>
    <message>
        <source>Edit Custom Instruction</source>
        <translation>编辑自定义指令</translation>
    </message>
    <message>
        <source>Delete Custom Instruction</source>
        <translation>删除自定义指令</translation>
    </message>
    <message>
        <source>Open Instructions Folder</source>
        <translation>打开指令文件夹</translation>
    </message>
    <message>
        <source>Repeat Last Instructions</source>
        <translation>重复上一条指令</translation>
    </message>
    <message>
        <source>Improve Current Code</source>
        <translation>改进当前代码</translation>
    </message>
    <message>
        <source>Suggest Alternative Solution</source>
        <translation>建议替代方案</translation>
    </message>
    <message>
        <source>Improve the selected code by enhancing readability, efficiency, and maintainability. Follow best practices for C++/Qt and fix any potential issues.</source>
        <translation>通过提升可读性、效率和可维护性来改进所选代码。遵循 C++/Qt 最佳实践并修复任何潜在问题。</translation>
    </message>
    <message>
        <source>Suggest an alternative implementation approach for the selected code. Provide a different solution that might be cleaner, more efficient, or uses different Qt/C++ patterns or idioms.</source>
        <translation>为所选代码建议一种替代的实现方式。提供一种可能更简洁、更高效,或使用不同 Qt/C++ 模式或习惯用法的解决方案。</translation>
    </message>
    <message>
        <source>Failed to save custom instruction. Check logs for details.</source>
        <translation>保存自定义指令失败。请查看日志了解详情。</translation>
    </message>
    <message>
        <source>No Instruction Selected</source>
        <translation>未选择指令</translation>
    </message>
    <message>
        <source>Please select an instruction to edit.</source>
        <translation>请选择要编辑的指令。</translation>
    </message>
    <message>
        <source>Failed to update custom instruction. Check logs for details.</source>
        <translation>更新自定义指令失败。请查看日志了解详情。</translation>
    </message>
    <message>
        <source>Please select an instruction to delete.</source>
        <translation>请选择要删除的指令。</translation>
    </message>
    <message>
        <source>Confirm Deletion</source>
        <translation>确认删除</translation>
    </message>
    <message>
        <source>Are you sure you want to delete the instruction &apos;%1&apos;?</source>
        <translation>您确定要删除指令 &apos;%1&apos; 吗?</translation>
    </message>
    <message>
        <source>Failed to delete custom instruction. Check logs for details.</source>
        <translation>删除自定义指令失败。请查看日志了解详情。</translation>
    </message>
    <message>
        <source>Current</source>
        <translation>当前</translation>
    </message>
    <message>
        <source>Current (%1)</source>
        <translation>当前 (%1)</translation>
    </message>
    <message>
        <source>No Instruction</source>
        <translation>无指令</translation>
    </message>
    <message>
        <source>Please type an instruction or select a saved one.</source>
        <translation>请输入指令或选择一个已保存的指令。</translation>
    </message>
    <message>
        <source>Enter instruction name...</source>
        <translation>输入指令名称...</translation>
    </message>
    <message>
        <source>Name:</source>
        <translation>名称:</translation>
    </message>
    <message>
        <source>Instruction Body:</source>
        <translation>指令正文:</translation>
    </message>
    <message>
        <source>Enter the refactoring instruction that will be sent to the LLM...</source>
        <translation>输入将发送到 LLM 的重构指令...</translation>
    </message>
    <message>
        <source>Set as default instruction</source>
        <translation>设为默认指令</translation>
    </message>
    <message>
        <source>This instruction will be automatically selected when opening Quick Refactor dialog</source>
        <translation>打开快速重构对话框时将自动选择此指令</translation>
    </message>
    <message>
        <source>Invalid Input</source>
        <translation>输入无效</translation>
    </message>
    <message>
        <source>Instruction name cannot be empty.</source>
        <translation>指令名称不能为空。</translation>
    </message>
    <message>
        <source>Instruction body cannot be empty.</source>
        <translation>指令正文不能为空。</translation>
    </message>
</context>
<context>
    <name>RootItem</name>
    <message>
        <source>Compressing chat…</source>
        <translation>正在压缩聊天…</translation>
    </message>
    <message>
        <source>next ~%1  ·  session ↑%2 ↓%3 ↻%4</source>
        <translation>下次 ~%1  ·  会话 ↑%2 ↓%3 ↻%4</translation>
    </message>
    <message>
        <source>next ~%1  ·  session ↑%2 ↓%3</source>
        <translation>下次 ~%1  ·  会话 ↑%2 ↓%3</translation>
    </message>
    <message>
        <source>next request (estimate)  ·  session prompt ↑ / completion ↓ / cached ↻ (provider cache hits)</source>
        <translation>下次请求(估算)  ·  会话提示词 ↑ / 补全 ↓ / 缓存 ↻ (提供商缓存命中)</translation>
    </message>
    <message>
        <source>next request (estimate)  ·  session prompt ↑ / completion ↓</source>
        <translation>下次请求(估算)  ·  会话提示词 ↑ / 补全 ↓</translation>
    </message>
    <message>
        <source>Сhat name: %1</source>
        <translation>聊天名称:%1</translation>
    </message>
    <message>
        <source>Move this chat to an editor tab</source>
        <translation>将此聊天移到编辑器标签</translation>
    </message>
    <message>
        <source>Move this chat to a separate window</source>
        <translation>将此聊天移到单独窗口</translation>
    </message>
    <message>
        <source>Type your message here... (%1 to send)</source>
        <translation>在此输入您的消息... (%1 发送)</translation>
    </message>
    <message>
        <source>Cut</source>
        <translation>剪切</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>复制</translation>
    </message>
    <message>
        <source>Paste</source>
        <translation>粘贴</translation>
    </message>
    <message>
        <source>Select All</source>
        <translation>全选</translation>
    </message>
    <message>
        <source>Clear</source>
        <translation>清除</translation>
    </message>
    <message>
        <source>Send</source>
        <translation>发送</translation>
    </message>
    <message>
        <source>Stop</source>
        <translation>停止</translation>
    </message>
    <message>
        <source>Send message to LLM %1</source>
        <translation>向 LLM %1 发送消息</translation>
    </message>
    <message>
        <source>Compress Chat</source>
        <translation>压缩聊天</translation>
    </message>
    <message>
        <source>Create a summarized copy of this chat?

The summary will be generated by LLM and saved as a new chat file.</source>
        <translation>创建此聊天的摘要副本?

摘要将由 LLM 生成并保存为新的聊天文件。</translation>
    </message>
    <message>
        <source>Copied</source>
        <translation>已复制</translation>
    </message>
</context>
<context>
    <name>SplitDropZone</name>
    <message numerus="yes">
        <source>%n file(s) to drop</source>
        <translation>
            <numerusform>%n 个文件待放置</numerusform>
        </translation>
    </message>
    <message>
        <source>Attach</source>
        <translation>附加</translation>
    </message>
    <message>
        <source>Images &amp; Text Files</source>
        <translation>图片和文本文件</translation>
    </message>
    <message>
        <source>(for one-time use)</source>
        <translation>(一次性使用)</translation>
    </message>
    <message>
        <source>LINK</source>
        <translation>链接</translation>
    </message>
    <message>
        <source>Text Files</source>
        <translation>文本文件</translation>
    </message>
    <message>
        <source>(added to context)</source>
        <translation>(已添加到上下文)</translation>
    </message>
</context>
<context>
    <name>TextBlock</name>
    <message>
        <source>Copy</source>
        <translation>复制</translation>
    </message>
    <message>
        <source>Select All</source>
        <translation>全选</translation>
    </message>
</context>
<context>
    <name>ThinkingBlock</name>
    <message>
        <source>Thinking (Redacted)</source>
        <translation>思考(已删减)</translation>
    </message>
    <message>
        <source>Thinking</source>
        <translation>思考</translation>
    </message>
    <message>
        <source>Thinking content was redacted by safety systems</source>
        <translation>思考内容已被安全系统删减</translation>
    </message>
    <message>
        <source>Collapse</source>
        <translation>折叠</translation>
    </message>
    <message>
        <source>Expand</source>
        <translation>展开</translation>
    </message>
</context>
<context>
    <name>ToolBlock</name>
    <message>
        <source>Tool: %1</source>
        <translation>工具:%1</translation>
    </message>
    <message>
        <source>Copy</source>
        <translation>复制</translation>
    </message>
    <message>
        <source>Select All</source>
        <translation>全选</translation>
    </message>
    <message>
        <source>Collapse</source>
        <translation>折叠</translation>
    </message>
    <message>
        <source>Expand</source>
        <translation>展开</translation>
    </message>
</context>
<context>
    <name>TopBar</name>
    <message>
        <source>Unpin chat window</source>
        <translation>取消固定聊天窗口</translation>
    </message>
    <message>
        <source>Pin chat window to the top</source>
        <translation>将聊天窗口固定到顶部</translation>
    </message>
    <message>
        <source>Clean chat</source>
        <translation>清空聊天</translation>
    </message>
    <message>
        <source>Open new chat in a new tab</source>
        <translation>在新标签中打开新聊天</translation>
    </message>
    <message>
        <source>Switch saved AI configuration</source>
        <translation>切换已保存的 AI 配置</translation>
    </message>
    <message>
        <source>Switch agent role (different system prompts)</source>
        <translation>切换智能体角色(不同的系统提示词)</translation>
    </message>
    <message>
        <source>Tools are disabled in General Settings</source>
        <translation>工具已在常规设置中禁用</translation>
    </message>
    <message>
        <source>Tools enabled: AI can use tools to read files, search project, and build code</source>
        <translation>工具已启用:AI 可使用工具读取文件、搜索项目并构建代码</translation>
    </message>
    <message>
        <source>Tools disabled: Simple conversation without tool access</source>
        <translation>工具已禁用:无工具访问的简单对话</translation>
    </message>
    <message>
        <source>Thinking Mode enabled (Check model list support it)</source>
        <translation>思考模式已启用(请检查模型列表是否支持)</translation>
    </message>
    <message>
        <source>Thinking Mode disabled</source>
        <translation>思考模式已禁用</translation>
    </message>
    <message>
        <source>Thinking Mode is not available for this provider</source>
        <translation>此提供商不支持思考模式</translation>
    </message>
    <message>
        <source>Open Chat Assistant Settings</source>
        <translation>打开聊天助手设置</translation>
    </message>
    <message>
        <source>Save chat to *.json file</source>
        <translation>将聊天保存到 *.json 文件</translation>
    </message>
    <message>
        <source>Load chat from *.json file</source>
        <translation>从 *.json 文件加载聊天</translation>
    </message>
    <message>
        <source>Show in system</source>
        <translation>在系统中显示</translation>
    </message>
    <message>
        <source>View chat context (system prompt, role, rules)</source>
        <translation>查看聊天上下文(系统提示词、角色、规则)</translation>
    </message>
    <message>
        <source>Current amount tokens in chat and LLM limit threshold</source>
        <translation>聊天中当前的 Token 数量和 LLM 限制阈值</translation>
    </message>
</context>
</TS>
