dashboard-nanobot/frontend/src/i18n/dashboard.zh-cn.ts

304 lines
13 KiB
TypeScript
Raw Normal View History

2026-03-01 16:26:03 +00:00
export const dashboardZhCn = {
processing: '处理中...',
executingWith: (action: string) => `执行中:${action}`,
executing: 'Nanobot 正在执行工具...',
thinkingWith: (action: string) => `思考中:${action}`,
thinking: 'Nanobot 正在思考中...',
fileReadFail: '文件读取失败。',
workspaceLoadFail: '无法读取 workspace 目录。',
2026-03-03 06:09:11 +00:00
channelSaved: '渠道配置已保存(重启 Bot 后生效)。',
2026-03-01 16:26:03 +00:00
channelSaveFail: '渠道保存失败。',
channelAddFail: '新增渠道失败。',
2026-04-13 13:03:07 +00:00
channelDeleted: '渠道已删除。',
2026-03-01 16:26:03 +00:00
channelDeleteConfirm: (channelType: string) => `确认删除渠道 ${channelType}`,
channelDeleteFail: '删除渠道失败。',
stopFail: '停止失败,请查看后端日志。',
startFail: '启动失败,请查看后端日志。',
backendDeliverFail: '后端未成功投递指令。',
sendFail: '发送失败。',
uploadFile: '上传文件',
uploadingFile: '上传中...',
uploadFail: '文件上传失败。',
2026-03-09 04:53:15 +00:00
attachmentAdded: (count: number) => `已添加 ${count} 个附件。`,
2026-03-03 06:09:11 +00:00
uploadTooLarge: (files: string, limitMb: number) => `以下文件超过上传上限 ${limitMb}MB${files}`,
2026-03-17 19:52:50 +00:00
uploadTypeNotAllowed: (files: string, allowed: string) => `以下文件类型不允许上传:${files}。允许的后缀:${allowed}`,
2026-03-01 16:26:03 +00:00
attachmentMessage: '[附件消息]',
removeAttachment: '移除附件',
2026-03-03 16:45:51 +00:00
copyPrompt: '复制指令',
2026-03-10 07:04:33 +00:00
editPrompt: '编辑指令',
2026-03-03 16:45:51 +00:00
copyPromptDone: '指令已复制。',
copyPromptFail: '复制指令失败。',
2026-03-10 07:04:33 +00:00
editPromptDone: '已填入输入框。',
voiceInput: '语音输入',
2026-03-11 17:20:57 +00:00
textInput: '文字输入',
voiceUnavailable: '语音识别未启用。',
voiceUnsupported: '当前浏览器不支持录音。',
voicePermissionDenied: '麦克风权限被拒绝,请在浏览器设置中允许访问。',
voiceRecordFail: '录音失败,请重试。',
voiceReady: '点击麦克风开始录音',
voiceRecording: '录音中...',
voiceTranscribing: '语音识别中...',
voiceStart: '开始录音',
voiceStop: '停止录音',
voiceTranscribeDone: '语音已转为文本。',
voiceTranscribeEmpty: '未识别到有效语音内容。',
voiceTranscribeFail: '语音识别失败。',
2026-03-03 16:45:51 +00:00
copyReply: '复制回复',
copyReplyDone: '回复已复制。',
copyReplyFail: '复制回复失败。',
2026-04-02 04:14:08 +00:00
deleteMessage: '删除消息',
deleteMessageConfirm: (role: string) => `确认删除这条${role}消息?`,
deleteMessageDone: '消息已删除。',
deleteMessageFail: '删除消息失败。',
deleteMessagePending: '消息尚未同步,暂不可删除。',
2026-03-09 04:53:15 +00:00
quoteReply: '引用回复',
quotedReplyLabel: '已引用回复',
clearQuote: '取消引用',
quoteOnlyMessage: '[引用回复]',
2026-04-02 12:27:06 +00:00
stagedSubmissionEmpty: '仅包含附件或引用内容',
stagedSubmissionRestore: '编辑',
stagedSubmissionRemove: '移除',
stagedSubmissionQueued: '已加入暂存队列,前序任务结束后会自动提交。',
stagedSubmissionRestored: '暂存内容已恢复到输入框。',
stagedSubmissionAttachmentCount: (count: number) => `附件 ${count}`,
2026-03-03 16:45:51 +00:00
goodReply: '好回复',
badReply: '坏回复',
feedbackUpSaved: '已标记为好回复。',
feedbackDownSaved: '已标记为坏回复。',
2026-03-09 04:53:15 +00:00
feedbackCleared: '反馈已取消。',
2026-03-03 16:45:51 +00:00
feedbackSaveFail: '反馈保存失败。',
feedbackMessagePending: '消息尚未同步,暂不可反馈。',
2026-03-01 16:26:03 +00:00
sendFailMsg: (msg: string) => `指令发送失败:${msg}`,
2026-04-17 05:53:47 +00:00
providerRequired: '请填写 Provider、模型和 API Key 后再测试。',
2026-03-01 16:26:03 +00:00
connOk: (preview: string) => (preview ? `连接成功,模型: ${preview}` : '连接成功'),
connFail: (msg: string) => `连接失败: ${msg}`,
2026-03-03 06:09:11 +00:00
configUpdated: '配置已更新(重启 Bot 后生效)。',
2026-03-01 16:26:03 +00:00
saveFail: '保存失败。',
deleteBotConfirm: (id: string) => `确认删除 Bot ${id}?将删除对应 workspace。`,
deleteBotDone: 'Bot 与 workspace 已删除。',
deleteFail: '删除失败。',
titleBots: 'Bot 列表',
2026-03-09 04:53:15 +00:00
botSearchPlaceholder: '按 Bot 名称或 ID 搜索',
botSearchNoResult: '没有匹配的 Bot。',
2026-03-09 09:52:42 +00:00
workspaceSearchPlaceholder: '按文件名或路径搜索',
workspaceSearchNoResult: '没有匹配的文件或目录。',
searchAction: '搜索',
clearSearch: '清除搜索',
2026-03-17 20:53:49 +00:00
syncingPageSize: '正在同步分页设置...',
2026-03-09 04:53:15 +00:00
paginationPrev: '上一页',
paginationNext: '下一页',
paginationPage: (current: number, total: number) => `${current} / ${total}`,
2026-03-01 16:26:03 +00:00
newBot: '新建机器人',
manageImages: '镜像管理',
2026-03-13 06:40:54 +00:00
extensions: '扩展菜单',
templateManager: '模板管理',
templateManagerTitle: '模板管理',
templateTabAgent: '代理模板',
templateTabTopic: '主题预设模板',
templateAgentFile: '代理模板5 个 MD',
templateTopicFile: '主题预设模板3 项)',
templateJsonHint: '请编辑 JSON 内容,保存后新建配置将读取最新模板。',
templateLoadFail: '读取模板失败。',
templateSaveFail: '保存模板失败。',
templateSaved: '模板已保存。',
batchStart: '批量启动',
batchStop: '批量停止',
batchStartNone: '当前没有可批量启动的 Bot。',
batchStopNone: '当前没有可批量停止的 Bot。',
batchStartConfirm: (count: number) => `确认批量启动 ${count} 个 Bot`,
batchStopConfirm: (count: number) => `确认批量停止 ${count} 个 Bot`,
batchStartDone: (ok: number, fail: number) => `批量启动完成:成功 ${ok},失败 ${fail}`,
batchStopDone: (ok: number, fail: number) => `批量停止完成:成功 ${ok},失败 ${fail}`,
templateAgentInvalid: '代理模板格式错误。',
templateTopicInvalid: '主题模板格式错误。',
templateParseFail: '模板 JSON 解析失败。',
2026-03-01 16:26:03 +00:00
image: '镜像',
2026-03-16 16:07:25 +00:00
disabled: '已禁用',
2026-03-01 16:26:03 +00:00
stop: '停止',
start: '启动',
2026-03-16 16:07:25 +00:00
enable: '启用',
disable: '禁用',
disableConfirm: (id: string) => `确认禁用 Bot ${id}?禁用后将立即停止且不可操作。`,
enableDone: 'Bot 已启用。',
disableDone: 'Bot 已禁用并停止。',
enableFail: '启用失败,请查看后端日志。',
disableFail: '禁用失败,请查看后端日志。',
2026-03-09 04:53:15 +00:00
restart: '重启 Bot',
2026-03-10 05:47:28 +00:00
restartConfirm: (id: string) => `确认重启 Bot ${id}`,
2026-03-09 04:53:15 +00:00
restartFail: '重启失败,请查看后端日志。',
2026-03-01 16:26:03 +00:00
delete: '删除',
noConversation: '暂无对话消息。请先发送指令Bot 回复会在这里按标准会话格式展示。',
clearHistory: '清空对话',
clearHistoryConfirm: (name: string) => `确认清空 ${name} 的面板对话历史?`,
clearHistoryDone: '对话历史已清空。',
clearHistoryFail: '清空对话历史失败。',
exportHistory: '导出对话',
exportHistoryFail: '导出对话失败。',
you: '你',
user: '用户',
inputPlaceholder: '输入指令后回车发送Shift+Enter 换行)',
disabledPlaceholder: 'Bot 未运行,无法发送指令。',
2026-03-18 10:00:48 +00:00
controlCommands: '控制命令',
controlCommandsDesc: '发送 nanobot 内建 slash 指令',
controlCommandNew: '新会话',
controlCommandStop: '停止任务',
controlCommandRestart: '重启进程',
controlCommandHelp: '查看命令',
controlCommandsShow: '展开控制命令',
controlCommandsHide: '收起控制命令',
controlCommandSent: (command: string) => `已发送控制命令 ${command}`,
2026-03-01 16:26:03 +00:00
sending: '发送中...',
send: '发送',
2026-03-09 04:53:15 +00:00
interrupt: '中断',
interruptSent: '已发送中断指令。',
2026-03-01 16:26:03 +00:00
botStarting: 'Bot 正在启动中...',
botStopping: 'Bot 正在停止中...',
2026-03-16 16:07:25 +00:00
botDisabledHint: 'Bot 已禁用,请先启用后再进行操作。',
2026-03-01 16:26:03 +00:00
chatDisabled: 'Bot 已停止,对话区已禁用。',
selectBot: '请选择 Bot 查看详情',
runtime: '运行状态',
base: '基础',
2026-03-05 02:42:39 +00:00
params: '模型',
2026-03-01 16:26:03 +00:00
channels: '渠道',
2026-03-13 06:40:54 +00:00
topic: '主题',
topicPanel: '主题管理',
topicPanelDesc: '管理该 Bot 的主题路由目标。仅启用的主题会接收投递;未配置主题时不投递。',
topicActive: '启用',
topicName: '主题名称',
topicDescription: '主题描述',
topicPurpose: '用途purpose',
topicIncludeWhen: '命中条件include_when',
topicExcludeWhen: '排除条件exclude_when',
topicExamplesPositive: '正例examples.positive',
topicExamplesNegative: '反例examples.negative',
topicPriority: '优先级priority',
topicListHint: '每行一条规则或示例',
topicFilterProgress: '过滤 progress 系统消息',
topicFilterToolHint: '过滤 tool-hint 系统消息',
topicSystemFilterHint: '建议保持开启,避免 feed 被过程噪声污染。',
topicEmpty: '暂无主题。',
topicAdd: '新增主题',
topicAddHint: '主题 Key 仅支持小写字母、数字、点、下划线和连字符。',
topicKey: '主题 Key',
topicKeyPlaceholder: '例如 finance_market',
topicKeyRequired: '请先填写主题 Key。',
topicSaved: '主题配置已保存。',
topicSaveFail: '主题配置保存失败。',
topicDeleted: '主题已删除。',
topicDeleteFail: '主题删除失败。',
topicDeleteConfirm: (topicKey: string) => `确认删除主题 ${topicKey}`,
topicPresetPolitics: '预设:时政新闻',
topicPresetFinance: '预设:财经信息',
topicPresetTech: '预设:技术资讯',
topicPresetBlank: '空白主题',
topicPresetPoliticsApplied: '已填入“时政新闻”主题预设。',
topicPresetFinanceApplied: '已填入“财经信息”主题预设。',
topicPresetTechApplied: '已填入“技术资讯”主题预设。',
2026-03-01 16:26:03 +00:00
skills: '技能',
2026-03-11 12:55:42 +00:00
mcp: 'MCP',
2026-03-01 16:26:03 +00:00
tools: '工具',
skillsPanel: '技能面板',
skillsEmpty: '暂无技能。',
addSkill: '新增技能',
removeSkill: '移除技能',
uploadZipSkill: '上传 ZIP 技能包',
zipOnlyHint: '仅支持 .zip 文件',
invalidZipFile: '只能上传 .zip 文件',
envParams: '环境变量',
envParamsDesc: '配置该 Bot 的运行时环境变量(容器级)。',
noEnvParams: '暂无环境变量。',
envKey: '变量名(如 BRAVE_API_KEY',
envValue: '变量值',
showEnvValue: '显示变量值',
hideEnvValue: '隐藏变量值',
addEnvParam: '新增环境变量',
removeEnvParam: '移除环境变量',
envParamsSaved: '环境变量已保存。',
envParamsSaveFail: '环境变量保存失败。',
envParamsHint: '修改后需重启 Bot 才会生效。',
2026-03-11 12:55:42 +00:00
mcpPanel: 'MCP 配置',
mcpPanelDesc: '配置该 Bot 的 MCP ServersHTTP/SSE。建议每个 Bot 使用独立的 X-Bot-Id / X-Bot-Secret。',
mcpEmpty: '暂无 MCP Server。',
mcpServer: 'MCP Server',
mcpName: '服务名称',
mcpNamePlaceholder: '如 biz_mcp',
mcpType: '传输类型',
mcpUrlPlaceholder: '如 http://mcp.internal:9001/mcp',
mcpBotIdPlaceholder: '如 mula_bot_b02',
mcpBotSecretPlaceholder: '输入该 Bot 对应的密钥',
mcpToolTimeout: 'Tool Timeout',
2026-03-13 06:40:54 +00:00
mcpDraftRequired: '请先填写 MCP 服务名称和 URL。',
mcpDraftAdded: '已加入 MCP 列表,记得保存配置。',
2026-03-11 12:55:42 +00:00
addMcpServer: '新增 MCP Server',
saveMcpConfig: '保存 MCP 配置',
mcpSaved: 'MCP 配置已保存。',
mcpSaveFail: 'MCP 配置保存失败。',
mcpHint: '保存后需重启 Bot 才会生效。',
2026-03-01 16:26:03 +00:00
toolsLoadFail: '读取工具技能失败。',
toolsAddFail: '新增工具失败。',
toolsRemoveFail: '移除工具失败。',
2026-03-11 14:25:31 +00:00
toolsRemoveConfirm: (name: string) => `确认移除技能 ${name}?该操作不可撤销。`,
2026-03-01 16:26:03 +00:00
agent: '代理',
container: '容器状态',
current: '当前状态',
lastAction: '最后动作',
workspaceOutputs: '工作区',
autoRefresh: '自动刷新',
loadingDir: '读取目录中...',
emptyDir: '当前目录为空。',
openingPreview: '正在打开文件预览...',
workspaceHint: '点击目录进入;点击 .md/.json 文件弹出预览。',
noPreviewFile: '本目录没有可预览文件。',
noTelemetry: '暂无可展示信息',
goUpTitle: '点击返回上级目录',
goUp: '返回上级',
openFolderTitle: '点击进入目录',
folder: '目录',
previewTitle: '点击打开预览',
fileNotPreviewable: '该文件类型不可预览',
baseConfig: '基础配置',
2026-03-05 02:42:39 +00:00
accessPassword: '访问密码',
accessPasswordPlaceholder: '留空表示不设置访问密码',
2026-03-01 16:26:03 +00:00
botIdReadonly: 'Bot ID只读',
botName: 'Bot 名称',
botNamePlaceholder: '输入 Bot 名称',
2026-03-03 06:09:11 +00:00
baseImageReadonly: '基础镜像',
2026-03-01 16:26:03 +00:00
modelName: '模型名称',
modelNamePlaceholder: '如 qwen-plus',
2026-04-17 05:53:47 +00:00
newApiKey: 'API Key',
newApiKeyPlaceholder: '请输入 API Key',
2026-03-01 16:26:03 +00:00
testing: '测试中...',
testModelConnection: '测试模型连接',
cancel: '取消',
save: '保存',
2026-03-05 02:42:39 +00:00
modelParams: '模型',
2026-03-01 16:26:03 +00:00
saveParams: '保存参数',
agentFiles: '代理文件配置',
saveFiles: '保存文件',
filePreview: '文件预览',
2026-03-17 19:52:50 +00:00
editFile: '编辑 Markdown',
previewMode: '预览模式',
2026-03-01 16:26:03 +00:00
fileTruncated: '文件较大,当前内容为截断预览。',
2026-03-17 19:52:50 +00:00
fileEditDisabled: '当前为截断预览,不能直接编辑保存。',
fileSaved: 'Markdown 已保存。',
fileSaveFail: 'Markdown 保存失败。',
2026-03-01 16:26:03 +00:00
download: '下载',
2026-03-02 07:51:47 +00:00
copyAddress: '复制地址',
urlCopied: '地址已复制。',
urlCopyFail: '复制地址失败。',
2026-03-01 16:26:03 +00:00
close: '关闭',
cronViewer: '定时任务',
cronReload: '刷新任务',
cronLoading: '读取任务中...',
cronEmpty: '暂无定时任务。',
cronEnabled: '启用',
cronDisabled: '已停用',
2026-03-31 06:04:34 +00:00
cronStart: '启用任务',
2026-03-01 16:26:03 +00:00
cronStop: '停止任务',
cronDelete: '删除任务',
2026-03-31 06:04:34 +00:00
cronStartFail: '启用任务失败。',
2026-03-01 16:26:03 +00:00
cronStopFail: '停止任务失败。',
cronDeleteFail: '删除任务失败。',
cronDeleteConfirm: (id: string) => `确认删除任务 ${id}`,
};