mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-07-25 22:06:06 +00:00
2103 lines
78 KiB
TypeScript
2103 lines
78 KiB
TypeScript
const zhHans = {
|
||
sidebar: {
|
||
home: '首页',
|
||
extensions: '扩展',
|
||
installedPlugins: '已安装插件',
|
||
pluginMarket: '插件市场',
|
||
mcpServers: 'MCP 服务器',
|
||
quickStart: '快速开始向导',
|
||
},
|
||
common: {
|
||
login: '登录',
|
||
logout: '退出登录',
|
||
accountOptions: '系统设置',
|
||
account: '账户',
|
||
integration: '连接',
|
||
email: '邮箱',
|
||
password: '密码',
|
||
welcome: '欢迎回到 LangBot 👋',
|
||
continueToLogin: '登录以继续',
|
||
loginSuccess: '登录成功',
|
||
loginFailed: '登录失败,请检查邮箱和密码是否正确',
|
||
loginLoadError: '无法连接到服务器',
|
||
loginLoadErrorDesc: '无法连接到 LangBot 后端服务,请确认服务已启动后重试。',
|
||
retry: '重试',
|
||
enterEmail: '输入邮箱地址',
|
||
enterPassword: '输入密码',
|
||
invalidEmail: '请输入有效的邮箱地址',
|
||
emptyPassword: '请输入密码',
|
||
language: '语言',
|
||
helpDocs: '帮助文档',
|
||
featureRequest: '需求建议',
|
||
starOnGitHub: '在 GitHub 上 Star',
|
||
create: '创建',
|
||
edit: '编辑',
|
||
delete: '删除',
|
||
add: '添加',
|
||
select: '请选择',
|
||
cancel: '取消',
|
||
submit: '提交',
|
||
next: '下一步',
|
||
back: '返回',
|
||
refresh: '刷新',
|
||
error: '错误',
|
||
success: '成功',
|
||
save: '保存',
|
||
saving: '保存中...',
|
||
confirm: '确认',
|
||
confirmDelete: '确认删除',
|
||
deleteConfirmation: '你确定要删除这个吗?',
|
||
selectOption: '选择一个选项',
|
||
selectPreset: '选择预设',
|
||
required: '必填',
|
||
enable: '是否启用',
|
||
name: '名称',
|
||
description: '描述',
|
||
icon: '图标',
|
||
close: '关闭',
|
||
deleteSuccess: '删除成功',
|
||
deleteError: '删除失败:',
|
||
addRound: '添加回合',
|
||
copy: '复制',
|
||
undo: '撤销',
|
||
redo: '重做',
|
||
copySuccess: '复制成功',
|
||
copyFailed: '复制失败',
|
||
test: '测试',
|
||
forgotPassword: '忘记密码?',
|
||
agreementNotice: '继续即表示您同意我们的',
|
||
privacyPolicy: '隐私政策',
|
||
and: '和',
|
||
dataCollectionPolicy: '数据收集政策',
|
||
dataCollectionPolicyUrl: 'https://link.langbot.app/zh/docs/data-policy',
|
||
loading: '加载中...',
|
||
fieldRequired: '此字段为必填项',
|
||
or: '或',
|
||
loginWithSpace: '通过 Space 登录',
|
||
spaceLoginRecommended: '推荐:使用官方提供的稳定模型 API 和云服务',
|
||
loginLocal: '使用本地账号登录',
|
||
loginWithPassword: '通过密码登录',
|
||
spaceLoginTitle: '通过 Space 登录',
|
||
details: '详情',
|
||
spaceLoginDescription: '扫描二维码或访问下方链接进行授权',
|
||
spaceLoginUserCode: '您的验证码',
|
||
spaceLoginExpires: '验证码将在 {{seconds}} 秒后过期',
|
||
spaceLoginWaiting: '等待授权中...',
|
||
spaceLoginSuccess: '授权成功',
|
||
spaceLoginFailed: 'Space 登录失败',
|
||
spaceLoginExpired: '验证码已过期,请重试',
|
||
spaceLoginCancel: '取消',
|
||
spaceLoginVisitLink: '访问链接',
|
||
spaceLoginProcessing: '正在通过 Space 登录',
|
||
spaceLoginProcessingDescription: '请稍候,正在完成登录...',
|
||
spaceLoginSuccessDescription: '正在跳转到 LangBot...',
|
||
spaceLoginError: '登录失败',
|
||
spaceLoginNoCode: '缺少授权码',
|
||
backToLogin: '返回登录',
|
||
backToHome: '返回首页',
|
||
spaceAccountCannotChangePassword: 'Space 账户无法在此修改密码',
|
||
theme: '主题',
|
||
changePassword: '修改密码',
|
||
currentPassword: '当前密码',
|
||
newPassword: '新密码',
|
||
confirmNewPassword: '确认新密码',
|
||
enterCurrentPassword: '输入当前密码',
|
||
enterNewPassword: '输入新密码',
|
||
enterConfirmPassword: '确认新密码',
|
||
currentPasswordRequired: '当前密码不能为空',
|
||
newPasswordRequired: '新密码不能为空',
|
||
confirmPasswordRequired: '确认密码不能为空',
|
||
passwordsDoNotMatch: '两次输入的密码不一致',
|
||
changePasswordSuccess: '密码修改成功',
|
||
changePasswordFailed: '密码修改失败,请检查当前密码是否正确',
|
||
apiIntegration: 'API 集成',
|
||
apiKeys: 'API 密钥',
|
||
manageApiIntegration: '管理 API 集成',
|
||
manageApiKeys: '管理 API 密钥',
|
||
createApiKey: '创建 API 密钥',
|
||
apiKeyName: 'API 密钥名称',
|
||
apiKeyDescription: 'API 密钥描述',
|
||
apiKeyValue: 'API 密钥值',
|
||
apiKeyCreated: 'API 密钥创建成功',
|
||
apiKeyDeleted: 'API 密钥删除成功',
|
||
apiKeyDeleteConfirm: '确定要删除此 API 密钥吗?',
|
||
apiKeyNameRequired: 'API 密钥名称不能为空',
|
||
copyApiKey: '复制 API 密钥',
|
||
apiKeyCopied: 'API 密钥已复制到剪贴板',
|
||
noApiKeys: '暂无 API 密钥',
|
||
apiKeyHint: 'API 密钥允许外部系统访问 LangBot 的 Service API',
|
||
webhooks: 'Webhooks',
|
||
createWebhook: '创建 Webhook',
|
||
webhookName: 'Webhook 名称',
|
||
webhookUrl: 'Webhook URL',
|
||
webhookDescription: 'Webhook 描述',
|
||
webhookEnabled: '是否启用',
|
||
webhookCreated: 'Webhook 创建成功',
|
||
webhookDeleted: 'Webhook 删除成功',
|
||
webhookDeleteConfirm: '确定要删除此 Webhook 吗?',
|
||
webhookNameRequired: 'Webhook 名称不能为空',
|
||
webhookUrlRequired: 'Webhook URL 不能为空',
|
||
noWebhooks: '暂无 Webhook',
|
||
webhookHint: 'Webhook 允许 LangBot 将个人消息和群消息事件推送到外部系统',
|
||
actions: '操作',
|
||
apiKeyCreatedMessage: '请复制此 API 密钥,若按钮无效,请手动复制。',
|
||
none: '无',
|
||
more: '更多 ({{count}})',
|
||
less: '收起',
|
||
noItems: '暂无内容',
|
||
data: '数据',
|
||
result: '结果',
|
||
body: '请求体',
|
||
headers: '请求头',
|
||
query: '查询参数',
|
||
method: '请求方法',
|
||
},
|
||
notFound: {
|
||
title: '页面不存在',
|
||
description:
|
||
'您要查找的页面似乎不存在。请检查您输入的 URL 是否正确,或者返回首页。',
|
||
back: '上一级',
|
||
home: '返回主页',
|
||
help: '查看帮助文档',
|
||
},
|
||
models: {
|
||
title: '模型配置',
|
||
description: '配置和管理可在流水线中使用的模型',
|
||
createModel: '创建对话模型',
|
||
editModel: '编辑模型',
|
||
getModelListError: '获取模型列表失败:',
|
||
modelName: '模型名称',
|
||
modelProvider: '模型提供商',
|
||
modelBaseURL: '基础 URL',
|
||
modelAbilities: '模型能力',
|
||
saveSuccess: '保存成功',
|
||
saveError: '保存失败:',
|
||
createSuccess: '创建成功',
|
||
createError: '创建失败:',
|
||
deleteSuccess: '删除成功',
|
||
deleteError: '删除失败:',
|
||
deleteConfirmation: '你确定要删除这个模型吗?',
|
||
modelNameRequired: '模型名称不能为空',
|
||
modelProviderRequired: '模型供应商不能为空',
|
||
requestURLRequired: '请求URL不能为空',
|
||
apiKeyRequired: 'API Key不能为空',
|
||
keyNameRequired: '键名不能为空',
|
||
mustBeValidNumber: '必须是有效的数字',
|
||
mustBeTrueOrFalse: '必须是 true 或 false',
|
||
requestURL: '请求URL',
|
||
scanURL: '扫描模型地址',
|
||
scanURLPlaceholder: '留空则默认使用请求URL + /models',
|
||
scanURLDescription:
|
||
'当模型扫描接口与模型调用接口不是同一个地址时,在这里填写实际的模型列表接口。',
|
||
apiKey: 'API Key',
|
||
abilities: '能力',
|
||
selectModelAbilities: '选择模型能力',
|
||
visionAbility: '视觉能力',
|
||
functionCallAbility: '函数调用',
|
||
extraParameters: '额外参数',
|
||
addParameter: '添加参数',
|
||
keyName: '键名',
|
||
type: '类型',
|
||
value: '值',
|
||
string: '字符串',
|
||
number: '数字',
|
||
boolean: '布尔值',
|
||
selectModelProvider: '选择模型供应商',
|
||
modelProviderDescription: '请填写供应商向您提供的模型名称',
|
||
modelManufacturer: '模型厂商',
|
||
aggregationPlatform: '中转平台',
|
||
selfDeployed: '自部署',
|
||
builtin: '内置',
|
||
selectModel: '请选择模型',
|
||
testSuccess: '测试成功',
|
||
testError: '测试失败,请检查模型配置',
|
||
llmModels: '对话模型',
|
||
localProvider: '本地',
|
||
localProviderDescription: '在本地配置和管理的模型',
|
||
spaceProviderDescription: '从您的 Space 账户同步的模型',
|
||
spaceDisabledForLocalAccount: '使用 Space 登录以使用云端模型',
|
||
syncModels: '同步',
|
||
syncSuccess: '同步完成:创建 {{created}} 个,更新 {{updated}} 个',
|
||
syncError: '同步失败:',
|
||
spaceModelReadOnly: 'Space 模型为只读',
|
||
noSpaceModels: '暂无 Space 模型。点击同步按钮从 Space 获取模型。',
|
||
noLocalModels: '暂无本地模型。点击创建按钮添加模型。',
|
||
providerCount: '共 {{count}} 个自定义供应商',
|
||
// 供应商结构新增键
|
||
addModel: '添加模型',
|
||
manualAdd: '手动添加',
|
||
scanAdd: '扫描添加',
|
||
scanModels: '扫描模型',
|
||
scanModelsHint: '从当前供应商接口读取可用模型,然后勾选要添加的模型。',
|
||
scannedModels: '扫描结果',
|
||
scanDebug: '调试信息',
|
||
searchScannedModels: '搜索扫描结果',
|
||
noScannedModels: '还没有扫描结果,点击上方按钮开始扫描。',
|
||
noScannedModelsMatch: '没有匹配的模型',
|
||
addSelectedModels: '添加所选模型',
|
||
addSelectedModelsSuccess: '已添加 {{count}} 个模型',
|
||
selectAll: '全选模型',
|
||
alreadyAdded: '已添加',
|
||
addLLMModel: '添加对话模型',
|
||
addEmbeddingModel: '添加嵌入模型',
|
||
provider: '供应商',
|
||
existingProvider: '已有供应商',
|
||
newProvider: '新建供应商',
|
||
selectProvider: '选择供应商',
|
||
requester: '供应商类型',
|
||
selectRequester: '选择供应商类型',
|
||
langbotModelsDescription: 'LangBot Space 提供的云端模型',
|
||
credits: '积分',
|
||
loginWithSpace: '通过 Space 登录',
|
||
loginToUseModels: '通过 Space 登录以使用云端模型',
|
||
noModels: '暂无模型',
|
||
langbotModels: 'LangBot 模型',
|
||
spaceTrialTooltip:
|
||
'免费试用积分已就绪!通过 Space 登录即可零配置使用云端模型。',
|
||
unlockModels: '登录以使用',
|
||
editProvider: '编辑供应商',
|
||
addProvider: '添加供应商',
|
||
addProviderHint: '添加自定义供应商以使用其他来源的模型',
|
||
addProviderHintSimple: '添加自定义供应商以使用模型',
|
||
noProviders: '暂无自定义供应商',
|
||
providerName: '供应商名称',
|
||
providerNameRequired: '供应商名称不能为空',
|
||
requesterRequired: '供应商类型不能为空',
|
||
providerSaved: '供应商已保存',
|
||
providerCreated: '供应商已创建',
|
||
providerSaveError: '保存供应商失败:',
|
||
providerDeleted: '供应商已删除',
|
||
providerDeleteError: '删除供应商失败:',
|
||
deleteProviderConfirmation: '你确定要删除这个供应商吗?',
|
||
loadError: '加载数据失败',
|
||
chat: '对话',
|
||
embedding: '嵌入',
|
||
rerank: '重排序',
|
||
rerankUrlTooltip:
|
||
'重排序接口的完整 URL 覆盖(如 https://dashscope.aliyuncs.com/compatible-api/v1/reranks)',
|
||
rerankPathTooltip: '添加到基础 URL 后的重排序路径(默认:rerank)',
|
||
modelsCount: '{{count}} 个模型',
|
||
expandModels: '展开',
|
||
collapseModels: '收起',
|
||
fallback: {
|
||
primary: '主模型',
|
||
fallbackList: '备用模型',
|
||
addFallback: '添加备用模型',
|
||
},
|
||
},
|
||
bots: {
|
||
title: '机器人',
|
||
description: '创建和管理机器人,这是 LangBot 与各个平台连接的入口',
|
||
createBot: '创建机器人',
|
||
selectFromSidebar: '从侧边栏选择一个机器人',
|
||
editBot: '编辑机器人',
|
||
getBotListError: '获取机器人列表失败:',
|
||
botName: '机器人名称',
|
||
botDescription: '机器人描述',
|
||
botNameRequired: '机器人名称不能为空',
|
||
botDescriptionRequired: '机器人描述不能为空',
|
||
adapterRequired: '适配器不能为空',
|
||
defaultDescription: '一个机器人',
|
||
getBotConfigError: '获取机器人配置失败:',
|
||
saveSuccess: '保存成功',
|
||
saveError: '保存失败:',
|
||
createSuccess: '创建成功 请启用或修改绑定流水线',
|
||
createError: '创建失败:',
|
||
deleteSuccess: '删除成功',
|
||
deleteError: '删除失败:',
|
||
deleteConfirmation: '你确定要删除这个机器人吗?',
|
||
platformAdapter: '平台/适配器选择',
|
||
selectAdapter: '选择适配器',
|
||
adapterConfig: '适配器配置',
|
||
viewAdapterDocs: '查看文档',
|
||
bindPipeline: '绑定流水线',
|
||
selectPipeline: '选择流水线',
|
||
selectBot: '请选择机器人',
|
||
botLogTitle: '机器人日志',
|
||
enableAutoRefresh: '开启自动刷新',
|
||
session: '会话',
|
||
yesterday: '昨天',
|
||
earlier: '更久之前',
|
||
dateFormat: '{{month}}月{{day}}日',
|
||
setBotEnableError: '设置机器人启用状态失败',
|
||
log: '日志',
|
||
configuration: '配置',
|
||
logs: '日志',
|
||
basicInfo: '基础信息',
|
||
basicInfoDescription: '设置机器人名称和描述',
|
||
routingConnection: '路由与连接',
|
||
routingConnectionDescription: '绑定处理此机器人消息的流水线',
|
||
routingRules: '条件路由规则',
|
||
routingRulesDescription:
|
||
'按顺序匹配,命中第一条规则后路由到对应流水线;都不匹配时使用上方默认流水线',
|
||
addRoutingRule: '添加规则',
|
||
ruleTypeLauncherType: '会话类型',
|
||
ruleTypeLauncherId: '会话 ID',
|
||
ruleTypeMessageContent: '消息内容',
|
||
operatorEq: '等于',
|
||
operatorNeq: '不等于',
|
||
operatorContains: '包含',
|
||
operatorNotContains: '不包含',
|
||
operatorStartsWith: '前缀匹配',
|
||
operatorRegex: '正则匹配',
|
||
operatorHas: '包含',
|
||
operatorNotHas: '不包含',
|
||
ruleTypeMessageHasElement: '消息元素类型',
|
||
ruleValueElementPlaceholder: '选择元素类型',
|
||
elementImage: '图片',
|
||
elementVoice: '语音',
|
||
elementFile: '文件',
|
||
elementForward: '转发',
|
||
elementFace: '表情',
|
||
elementAt: '@某人',
|
||
elementAtAll: '@全体',
|
||
elementQuote: '引用',
|
||
ruleValuePlaceholder: '匹配值',
|
||
ruleValueLauncherIdPlaceholder: '群号或用户 ID',
|
||
ruleValueMessagePlaceholder: '消息内容',
|
||
ruleValuePrefixPlaceholder: '如: !draw',
|
||
ruleValueRegexpPlaceholder: '如: ^/help',
|
||
pipelineDiscard: '丢弃消息',
|
||
sessionTypePerson: '私聊',
|
||
sessionTypeGroup: '群聊',
|
||
// Unified binding (replacing routing rules)
|
||
bindTarget: '绑定目标',
|
||
bindTargetDescription: '选择处理此机器人消息的 Pipeline 或 Workflow',
|
||
bindingType: '绑定类型',
|
||
selectBinding: '请选择绑定目标',
|
||
selectWorkflow: '选择工作流',
|
||
noPipelinesFound: '暂无可用的流水线',
|
||
noWorkflowsFound: '暂无可用的工作流',
|
||
pipelineBindingHelp: '流水线是传统的消息处理方式,通过预定义的阶段处理消息。',
|
||
workflowBindingHelp: '工作流提供可视化的节点编排,支持更灵活的消息处理逻辑。',
|
||
adapterConfigDescription: '配置所选平台适配器',
|
||
dangerZone: '危险区域',
|
||
dangerZoneDescription: '不可逆的操作',
|
||
deleteBotAction: '删除此机器人',
|
||
deleteBotHint: '删除后,所有关联配置将被永久移除,且无法恢复。',
|
||
webhookUrl: 'Webhook 回调地址',
|
||
webhookUrlCopied: 'Webhook 地址已复制',
|
||
webhookUrlHint:
|
||
'点击输入框自动全选,然后按 Ctrl+C (Mac: Cmd+C) 复制,或点击右侧按钮',
|
||
webhookUrlHintEither: '以上两个地址任选其一填入平台配置即可',
|
||
webhookSaasHint:
|
||
'Webhook 需要公网可访问的域名。LangBot Cloud 为你的机器人提供开箱即用的公网地址。',
|
||
webhookSaasLink: '了解 LangBot Cloud',
|
||
adapterCategory: {
|
||
popular: '热门',
|
||
china: '中国',
|
||
global: '全球',
|
||
protocol: '协议',
|
||
},
|
||
logLevel: '日志级别',
|
||
allLevels: '全部级别',
|
||
selectLevel: '选择级别',
|
||
levelsSelected: '个级别已选',
|
||
viewDetailedLogs: '查看详细日志',
|
||
viewDetails: '详情',
|
||
collapse: '收起',
|
||
imagesAttached: '张图片',
|
||
noLogs: '暂无日志',
|
||
sessionMonitor: {
|
||
title: '会话监控',
|
||
sessions: '会话列表',
|
||
noSessions: '暂无会话',
|
||
selectSession: '选择一个会话查看消息',
|
||
noMessages: '该会话暂无消息',
|
||
messages: '条消息',
|
||
messageCount: '{{count}} 条消息',
|
||
loading: '加载中...',
|
||
loadingSessions: '加载会话中...',
|
||
loadingMessages: '加载消息中...',
|
||
user: '用户',
|
||
variables: '变量',
|
||
platform: '平台',
|
||
lastActive: '最近活跃',
|
||
refresh: '刷新',
|
||
active: '活跃',
|
||
inactive: '不活跃',
|
||
discarded: '已丢弃',
|
||
userMessage: '用户',
|
||
botMessage: '助手',
|
||
},
|
||
},
|
||
plugins: {
|
||
title: '插件扩展',
|
||
description: '安装和配置用于扩展功能的插件,请在流水线配置中选用',
|
||
createPlugin: '创建插件',
|
||
editPlugin: '编辑插件',
|
||
installed: '已安装',
|
||
marketplace: '插件市场',
|
||
arrange: '编排',
|
||
install: '安装',
|
||
installPlugin: '安装插件',
|
||
onlySupportGithub: '目前仅支持从 GitHub 安装',
|
||
enterGithubLink: '请输入插件的Github链接',
|
||
installing: '正在安装插件...',
|
||
installSuccess: '插件安装成功',
|
||
installFailed: '插件安装失败:',
|
||
searchPlugin: '搜索插件',
|
||
sortBy: '排序方式',
|
||
mostStars: '最多星标',
|
||
recentlyAdded: '最近新增',
|
||
recentlyUpdated: '最近更新',
|
||
noMatchingPlugins: '没有找到匹配的插件',
|
||
loading: '加载中...',
|
||
getPluginListError: '获取插件列表失败:',
|
||
pluginConfig: '插件配置',
|
||
noPluginInstalled: '暂未安装任何插件',
|
||
pluginSort: '插件排序',
|
||
pluginSortDescription:
|
||
'插件顺序会影响同一事件内的处理顺序,请拖动插件卡片排序',
|
||
pluginSortSuccess: '插件排序成功',
|
||
pluginSortError: '插件排序失败:',
|
||
pluginNoConfig: '插件没有配置项。',
|
||
systemDisabled: '插件系统未启用',
|
||
systemDisabledDesc: '尚未启用插件系统,请根据文档修改配置',
|
||
connectionError: '插件系统连接异常',
|
||
connectionErrorDesc: '请检查插件系统配置或联系管理员',
|
||
errorDetails: '错误详情',
|
||
loadingStatus: '正在检查插件系统状态...',
|
||
failedToGetStatus: '获取插件系统状态失败',
|
||
pluginSystemNotReady: '插件系统未就绪,无法执行此操作',
|
||
debugInfo: '调试信息',
|
||
debugInfoTitle: '插件调试信息',
|
||
debugUrl: '调试地址',
|
||
debugKey: '调试密钥',
|
||
noDebugKey: '(未设置)',
|
||
debugKeyDisabled: '未设置调试密钥,插件调试无需认证',
|
||
failedToGetDebugInfo: '获取调试信息失败',
|
||
copiedToClipboard: '已复制到剪贴板',
|
||
deleting: '删除中...',
|
||
deletePlugin: '删除插件',
|
||
cancel: '取消',
|
||
saveConfig: '保存配置',
|
||
saving: '保存中...',
|
||
confirmDeletePlugin: '你确定要删除插件({{author}}/{{name}})吗?',
|
||
deleteDataCheckbox: '同时删除插件配置和持久化存储',
|
||
confirmDelete: '确认删除',
|
||
deleteError: '删除失败:',
|
||
close: '关闭',
|
||
deleteConfirm: '删除确认',
|
||
deleteSuccess: '删除成功',
|
||
modifyFailed: '修改失败:',
|
||
componentName: {
|
||
Tool: '工具',
|
||
EventListener: '事件监听器',
|
||
Command: '命令',
|
||
KnowledgeEngine: '知识引擎',
|
||
Parser: '解析器',
|
||
},
|
||
uploadLocal: '本地上传',
|
||
debugging: '调试中',
|
||
uploadLocalPlugin: '上传本地插件',
|
||
dragToUpload: '拖拽文件到此处上传',
|
||
unsupportedFileType: '不支持的文件类型,仅支持 .lbpkg 和 .zip 文件',
|
||
uploadingPlugin: '正在上传插件...',
|
||
uploadSuccess: '上传成功',
|
||
uploadFailed: '上传失败',
|
||
selectFileToUpload: '选择要上传的插件文件',
|
||
askConfirm: '确定要安装插件 "{{name}}" ({{version}}) 吗?',
|
||
fromGithub: '来自 GitHub',
|
||
fromLocal: '本地安装',
|
||
fromMarketplace: '来自市场',
|
||
componentsList: '组件: ',
|
||
noComponents: '无组件',
|
||
delete: '删除插件',
|
||
update: '更新插件',
|
||
new: '新',
|
||
updateConfirm: '更新确认',
|
||
confirmUpdatePlugin: '你确定要更新插件({{author}}/{{name}})吗?',
|
||
confirmUpdate: '确认更新',
|
||
updating: '更新中...',
|
||
updateSuccess: '插件更新成功',
|
||
updateError: '更新失败:',
|
||
saveConfigSuccessNormal: '保存配置成功',
|
||
saveConfigError: '保存配置失败:',
|
||
config: '配置',
|
||
readme: '文档',
|
||
viewSource: '查看来源',
|
||
loadingReadme: '正在加载文档...',
|
||
noReadme: '该插件没有提供 README 文档',
|
||
fileUpload: {
|
||
tooLarge: '文件大小超过 10MB 限制',
|
||
success: '文件上传成功',
|
||
failed: '文件上传失败',
|
||
uploading: '上传中...',
|
||
chooseFile: '选择文件',
|
||
addFile: '添加文件',
|
||
},
|
||
installFromGithub: '来自 GitHub',
|
||
enterRepoUrl: '请输入 GitHub 仓库地址',
|
||
repoUrlPlaceholder: '例如: https://github.com/owner/repo',
|
||
fetchingReleases: '正在获取 Release 列表...',
|
||
selectRelease: '选择 Release',
|
||
noReleasesFound: '未找到 Release',
|
||
fetchReleasesError: '获取 Release 列表失败:',
|
||
selectAsset: '选择要安装的文件',
|
||
noAssetsFound: '该 Release 没有可用的 .lbpkg 文件',
|
||
fetchAssetsError: '获取文件列表失败:',
|
||
backToReleases: '返回 Release 列表',
|
||
backToRepoUrl: '返回仓库地址',
|
||
backToAssets: '返回文件选择',
|
||
releaseTag: 'Tag: {{tag}}',
|
||
releaseName: '名称: {{name}}',
|
||
publishedAt: '发布于: {{date}}',
|
||
prerelease: '预发布',
|
||
assetSize: '大小: {{size}}',
|
||
confirmInstall: '确认安装',
|
||
installFromGithubDesc: '从 GitHub Release 安装插件',
|
||
goToMarketplace: '前往插件市场',
|
||
installProgress: {
|
||
title: '正在安装 {{name}}',
|
||
titleGeneric: '插件安装',
|
||
overallProgress: '总体进度',
|
||
downloading: '下载插件',
|
||
installingDeps: '安装依赖',
|
||
initializing: '初始化配置',
|
||
launching: '启动插件',
|
||
completed: '已完成',
|
||
failed: '安装失败',
|
||
downloadSize: '包大小: {{size}}',
|
||
depsInfo: '共 {{count}} 个依赖需要安装',
|
||
depsProgress: '已安装 {{installed}}/{{total}} · 剩余 {{remaining}} 个',
|
||
installComplete: '插件安装成功',
|
||
dismiss: '关闭',
|
||
background: '后台运行',
|
||
taskQueue: '安装任务',
|
||
clearCompleted: '清除已完成',
|
||
noTasks: '暂无安装任务',
|
||
},
|
||
},
|
||
market: {
|
||
searchPlaceholder: '搜索插件...',
|
||
searchResults: '搜索到 {{count}} 个插件',
|
||
totalPlugins: '共 {{count}} 个插件',
|
||
noPlugins: '暂无插件',
|
||
noResults: '未找到相关插件',
|
||
loadingMore: '加载更多...',
|
||
loading: '加载中...',
|
||
allLoaded: '已显示全部插件',
|
||
install: '安装',
|
||
installConfirm: '确定要安装插件 "{{name}}" ({{version}}) 吗?',
|
||
downloadComplete: '插件 "{{name}}" 下载完成',
|
||
installFailed: '安装失败,请稍后重试',
|
||
loadFailed: '获取插件列表失败,请稍后重试',
|
||
noDescription: '暂无描述',
|
||
notFound: '插件信息未找到',
|
||
sortBy: '排序方式',
|
||
sort: {
|
||
recentlyAdded: '最近新增',
|
||
recentlyUpdated: '最近更新',
|
||
mostDownloads: '最多下载',
|
||
leastDownloads: '最少下载',
|
||
},
|
||
downloads: '次下载',
|
||
download: '下载',
|
||
repository: '代码仓库',
|
||
downloadFailed: '下载失败',
|
||
noReadme: '该插件没有提供 README 文档',
|
||
description: '描述',
|
||
tagLabel: '标签',
|
||
submissionTitle: '您有插件提交正在审核中: {{name}}',
|
||
submissionPending: '您的插件提交正在审核中: {{name}}',
|
||
submissionApproved: '您的插件提交已通过审核: {{name}}',
|
||
submissionRejected: '您的插件提交已被拒绝: {{name}}',
|
||
clickToRevoke: '撤回',
|
||
revokeSuccess: '撤回成功',
|
||
revokeFailed: '撤回失败',
|
||
submissionDetails: '插件提交详情',
|
||
markAsRead: '已读',
|
||
markAsReadSuccess: '已标记为已读',
|
||
markAsReadFailed: '标记为已读失败',
|
||
filterByComponent: '组件',
|
||
allComponents: '全部组件',
|
||
requestPlugin: '请求插件',
|
||
tags: {
|
||
filterByTags: '按标签筛选',
|
||
selected: '已选',
|
||
selectTags: '选择标签',
|
||
clearAll: '清空',
|
||
noTags: '暂无标签',
|
||
},
|
||
viewDetails: '查看详情',
|
||
deprecated: '已弃用',
|
||
deprecatedTooltip: '请安装对应「知识引擎」插件',
|
||
},
|
||
mcp: {
|
||
title: 'MCP',
|
||
createServer: '添加 MCP 服务器',
|
||
editServer: '修改 MCP 服务器',
|
||
deleteServer: '删除 MCP 服务器',
|
||
confirmDeleteServer: '你确定要删除此 MCP 服务器吗?',
|
||
confirmDeleteTitle: '删除 MCP 服务器',
|
||
getServerListError: '获取 MCP 服务器列表失败:',
|
||
serverName: '服务器名称',
|
||
serverMode: '连接模式',
|
||
selectMode: '选择模式',
|
||
stdio: 'Stdio模式',
|
||
sse: 'SSE模式',
|
||
http: 'HTTP模式',
|
||
noServerInstalled: '暂未配置任何 MCP 服务器',
|
||
serverNameRequired: '服务器名称不能为空',
|
||
commandRequired: '命令不能为空',
|
||
urlRequired: 'URL 不能为空',
|
||
timeoutMustBePositive: '超时时间必须是正数',
|
||
command: '命令',
|
||
args: '参数',
|
||
env: '环境变量',
|
||
url: 'URL地址',
|
||
headers: '请求头',
|
||
timeout: '超时时间',
|
||
addArgument: '添加参数',
|
||
addEnvVar: '添加环境变量',
|
||
addHeader: '添加请求头',
|
||
keyName: '键名',
|
||
value: '值',
|
||
testing: '测试中...',
|
||
connecting: '连接中...',
|
||
testSuccess: '测试成功',
|
||
testFailed: '测试失败:',
|
||
testError: '刷新出错',
|
||
refreshSuccess: '刷新成功',
|
||
refreshFailed: '刷新失败:',
|
||
connectionSuccess: '连接成功',
|
||
connectionFailed: '连接失败,请检查URL',
|
||
connectionFailedStatus: '连接失败',
|
||
toolsFound: '个工具',
|
||
unknownError: '未知错误',
|
||
noToolsFound: '未找到任何工具',
|
||
parseResultFailed: '解析测试结果失败',
|
||
noResultReturned: '测试未返回结果',
|
||
getTaskFailed: '获取任务状态失败',
|
||
noTaskId: '未获取到任务ID',
|
||
deleteSuccess: '删除成功',
|
||
deleteFailed: '删除失败:',
|
||
deleteError: '删除失败:',
|
||
saveSuccess: '保存成功',
|
||
saveError: '保存失败:',
|
||
createSuccess: '创建成功',
|
||
createFailed: '创建失败:',
|
||
createError: '创建失败:',
|
||
loadFailed: '加载失败',
|
||
modifyFailed: '修改失败:',
|
||
toolCount: '工具:{{count}}',
|
||
statusConnected: '已打开',
|
||
statusDisconnected: '未打开',
|
||
statusError: '连接错误',
|
||
statusDisabled: '已禁用',
|
||
loading: '加载中...',
|
||
starCount: '星标:{{count}}',
|
||
install: '安装',
|
||
installFromGithub: '从Github安装MCP服务器',
|
||
add: '添加',
|
||
name: '名称',
|
||
nameRequired: '名称不能为空',
|
||
sseTimeout: 'SSE超时时间',
|
||
sseTimeoutDescription: '用于建立SSE连接的超时时间',
|
||
extraParametersDescription: '额外参数,用于配置MCP服务器的特定行为',
|
||
timeoutMustBeNumber: '超时时间必须是数字',
|
||
timeoutNonNegative: '超时时间不能为负数',
|
||
sseTimeoutMustBeNumber: 'SSE超时时间必须是数字',
|
||
sseTimeoutNonNegative: 'SSE超时时间不能为负数',
|
||
updateSuccess: '更新成功',
|
||
updateFailed: '更新失败:',
|
||
selectFromSidebar: '从侧边栏选择一个 MCP 服务器',
|
||
dangerZone: '危险区域',
|
||
dangerZoneDescription: '此 MCP 服务器的不可逆操作。',
|
||
deleteMCPAction: '删除此 MCP 服务器',
|
||
deleteMCPHint: '删除后,此 MCP 服务器配置将无法恢复。',
|
||
},
|
||
pipelines: {
|
||
title: '流水线',
|
||
description: '流水线定义了对消息事件的处理流程,用于绑定到机器人',
|
||
createPipeline: '创建流水线',
|
||
selectFromSidebar: '从侧边栏选择一个流水线',
|
||
editPipeline: '编辑流水线',
|
||
chat: '对话',
|
||
configuration: '配置',
|
||
debugChat: '对话调试',
|
||
getPipelineListError: '获取流水线列表失败:',
|
||
daysAgo: '天前',
|
||
today: '今天',
|
||
updateTime: '更新于',
|
||
defaultBadge: '默认',
|
||
sortBy: '排序方式',
|
||
newestCreated: '最新创建',
|
||
earliestCreated: '最早创建',
|
||
recentlyEdited: '最近编辑',
|
||
earliestEdited: '最早编辑',
|
||
basicInfo: '基础信息',
|
||
basicInfoDescription: '设置流水线名称、图标和描述',
|
||
aiCapabilities: 'AI 能力',
|
||
triggerConditions: '触发条件',
|
||
safetyControls: '安全控制',
|
||
outputProcessing: '输出处理',
|
||
nameRequired: '名称不能为空',
|
||
descriptionRequired: '描述不能为空',
|
||
createSuccess: '创建成功 请编辑流水线详细参数',
|
||
createError: '创建失败:',
|
||
saveSuccess: '保存成功',
|
||
saveError: '保存失败:',
|
||
copySuffix: ' Copy',
|
||
deleteConfirmation:
|
||
'你确定要删除这个流水线吗?已绑定此流水线的机器人将无法使用。',
|
||
defaultPipelineCannotDelete: '默认流水线不可删除',
|
||
deleteSuccess: '删除成功',
|
||
deleteError: '删除失败:',
|
||
copyConfirmTitle: '确认复制',
|
||
copyConfirmation:
|
||
'确定要复制这个流水线吗?复制将创建一个包含完整配置的新流水线。',
|
||
unsavedChanges: '有未保存的更改',
|
||
dangerZone: '危险区域',
|
||
dangerZoneDescription: '不可逆的操作',
|
||
deletePipelineAction: '删除此流水线',
|
||
deletePipelineHint: '删除后,绑定此流水线的机器人将无法正常工作。',
|
||
copyPipelineAction: '复制此流水线',
|
||
copyPipelineHint: '创建一条新的流水线,并复制所有配置。',
|
||
extensions: {
|
||
title: '扩展集成',
|
||
loadError: '加载插件列表失败',
|
||
saveSuccess: '保存成功',
|
||
saveError: '保存失败',
|
||
noPluginsAvailable: '暂无可用插件',
|
||
disabled: '已禁用',
|
||
noPluginsSelected: '未选择任何插件',
|
||
addPlugin: '添加插件',
|
||
selectPlugins: '选择插件',
|
||
pluginsTitle: '插件',
|
||
mcpServersTitle: 'MCP 服务器',
|
||
noMCPServersSelected: '未选择任何 MCP 服务器',
|
||
addMCPServer: '添加 MCP 服务器',
|
||
selectMCPServers: '选择 MCP 服务器',
|
||
toolCount: '{{count}} 个工具',
|
||
noPluginsInstalled: '无已安装的插件',
|
||
noMCPServersConfigured: '无已配置的 MCP 服务器',
|
||
selectAll: '全选',
|
||
enableAllPlugins: '启用所有插件',
|
||
enableAllMCPServers: '启用所有 MCP 服务器',
|
||
allPluginsEnabled: '已启用所有插件',
|
||
allMCPServersEnabled: '已启用所有 MCP 服务器',
|
||
},
|
||
debugDialog: {
|
||
title: '流水线对话',
|
||
selectPipeline: '选择流水线',
|
||
sessionType: '会话类型',
|
||
privateChat: '私聊',
|
||
groupChat: '群聊',
|
||
send: '发送',
|
||
reset: '重置对话',
|
||
inputPlaceholder: '发送 {{type}} 消息...',
|
||
noMessages: '暂无消息',
|
||
userMessage: '用户',
|
||
botMessage: '机器人',
|
||
sendFailed: '发送失败',
|
||
resetSuccess: '对话已重置',
|
||
resetFailed: '重置失败',
|
||
loadMessagesFailed: '加载消息失败',
|
||
loadPipelinesFailed: '加载流水线失败',
|
||
atTips: '提及机器人',
|
||
streaming: '流式传输',
|
||
streamOutput: '流式',
|
||
connected: 'WebSocket已连接',
|
||
disconnected: 'WebSocket未连接',
|
||
connectionError: 'WebSocket连接错误',
|
||
connectionFailed: 'WebSocket连接失败',
|
||
notConnected: 'WebSocket未连接,请稍后重试',
|
||
imageUploadFailed: '图片上传失败',
|
||
reply: '回复',
|
||
replyTo: '回复给',
|
||
showMarkdown: '渲染',
|
||
showRaw: '原文',
|
||
allMembers: '全体成员',
|
||
file: '文件',
|
||
voice: '语音',
|
||
uploadImage: '上传图片',
|
||
uploading: '上传中...',
|
||
},
|
||
monitoring: {
|
||
title: '监控日志',
|
||
description: '查看此流水线的运行记录和错误信息(最近24小时)',
|
||
detailedLogs: '详细日志',
|
||
},
|
||
},
|
||
knowledge: {
|
||
title: '知识库',
|
||
createKnowledgeBase: '创建知识库',
|
||
selectFromSidebar: '从侧边栏选择一个知识库',
|
||
editKnowledgeBase: '编辑知识库',
|
||
selectKnowledgeBase: '选择知识库',
|
||
selectKnowledgeBases: '选择知识库',
|
||
addKnowledgeBase: '添加知识库',
|
||
noKnowledgeBaseSelected: '未选择知识库',
|
||
empty: '无',
|
||
editDocument: '文档',
|
||
description: '配置可用于提升模型回复质量的知识库',
|
||
metadata: '元数据',
|
||
documents: '文档',
|
||
kbNameRequired: '知识库名称不能为空',
|
||
kbDescriptionRequired: '知识库描述不能为空',
|
||
embeddingModelUUIDRequired: '嵌入模型不能为空',
|
||
daysAgo: '天前',
|
||
today: '今天',
|
||
kbName: '知识库名称',
|
||
kbDescription: '知识库描述',
|
||
topK: '召回数量',
|
||
topKRequired: '召回数量不能为空',
|
||
topKMax: '召回数量最大值为 30',
|
||
topKdescription: '召回相关文档块的数量,取值范围为 1-30',
|
||
defaultDescription: '一个知识库',
|
||
embeddingModelUUID: '嵌入模型',
|
||
selectEmbeddingModel: '选择嵌入模型',
|
||
embeddingModelDescription: '用于向量化文本,可在模型配置页面配置',
|
||
updateTime: '更新于',
|
||
cannotChangeEmbeddingModel: '知识库创建后不可修改嵌入模型',
|
||
updateKnowledgeBaseSuccess: '知识库更新成功',
|
||
updateKnowledgeBaseFailed: '知识库更新失败:',
|
||
documentsTab: {
|
||
name: '名称',
|
||
status: '状态',
|
||
noResults: '暂无文档',
|
||
dragAndDrop: '拖拽文件到此处或点击上传',
|
||
uploading: '上传中...',
|
||
supportedFormats: '支持 PDF、Word、TXT、Markdown、HTML、ZIP 等文档格式',
|
||
uploadSuccess: '文件上传成功!',
|
||
uploadError: '文件上传失败:',
|
||
uploadingFile: '上传文件中...',
|
||
fileSizeExceeded: '文件大小超过 10MB 限制,请分割成较小的文件后上传',
|
||
actions: '操作',
|
||
delete: '删除文件',
|
||
fileDeleteSuccess: '文件删除成功',
|
||
fileDeleteFailed: '文件删除失败:',
|
||
processing: '处理中',
|
||
completed: '完成',
|
||
failed: '失败',
|
||
selectParser: '选择解析器',
|
||
builtInParser: '由知识引擎提供',
|
||
noParserAvailable:
|
||
'没有解析器支持此文件类型,请安装支持该格式的解析器插件。',
|
||
installParserHint: '前往插件市场安装解析器 →',
|
||
confirmUpload: '上传',
|
||
cancelUpload: '取消',
|
||
},
|
||
deleteKnowledgeBaseConfirmation:
|
||
'你确定要删除这个知识库吗?此知识库下的所有文档将被删除。',
|
||
retrieve: '检索测试',
|
||
retrieveTest: '检索测试',
|
||
query: '查询',
|
||
queryPlaceholder: '输入查询内容...',
|
||
distance: '距离',
|
||
content: '内容',
|
||
fileName: '文件名',
|
||
noResults: '暂无结果',
|
||
retrieveError: '检索失败:',
|
||
unknownEngine: '未知引擎',
|
||
knowledgeEngine: '知识引擎',
|
||
knowledgeEngineRequired: '知识引擎不能为空',
|
||
selectKnowledgeEngine: '选择知识引擎',
|
||
builtInEngine: '内置引擎',
|
||
cannotChangeKnowledgeEngine: '知识库创建后不可修改知识引擎',
|
||
basicInfo: '基础信息',
|
||
basicInfoDescription: '设置知识库名称、图标和描述',
|
||
engineSettings: '引擎设置',
|
||
engineSettingsDescription: '所选知识引擎的配置',
|
||
engineSettingsReadonly: '编辑模式下不可修改',
|
||
retrievalSettings: '检索设置',
|
||
retrievalSettingsDescription: '配置从此知识库检索文档的方式',
|
||
dangerZone: '危险区域',
|
||
dangerZoneDescription: '不可逆的操作',
|
||
deleteKbAction: '删除此知识库',
|
||
deleteKbHint: '删除后,此知识库中的所有文档和数据将被永久移除。',
|
||
noEnginesAvailable: '没有可用的知识库引擎',
|
||
installEngineHint: '请先安装「知识引擎」插件',
|
||
createKnowledgeBaseFailed: '知识库创建失败:',
|
||
loadKnowledgeBaseFailed: '知识库加载失败:',
|
||
deleteKnowledgeBaseFailed: '知识库删除失败:',
|
||
getKnowledgeBaseListError: '获取知识库列表失败:',
|
||
embeddingModel: '嵌入模型',
|
||
embeddingModelRequired: '此引擎需要选择嵌入模型',
|
||
addExternal: '添加外部知识库',
|
||
createExternalSuccess: '外部知识库创建成功',
|
||
updateExternalSuccess: '外部知识库更新成功',
|
||
deleteExternalSuccess: '外部知识库删除成功',
|
||
retriever: '检索器',
|
||
selectRetriever: '选择一个检索器...',
|
||
retrieverConfiguration: '检索器配置',
|
||
retrieverInstallInfo: '您可以从',
|
||
retrieverMarketLink: '此处安装知识检索器插件',
|
||
migration: {
|
||
title: '知识库迁移',
|
||
description:
|
||
'新版本已将知识库重构为插件化架构,并统一内置知识库和外部知识库为「知识引擎」插件,需要对旧知识库数据进行迁移。您的旧数据已自动备份在数据库中。',
|
||
detected:
|
||
'共检测到 {{total}} 个知识库需要迁移({{internal}} 个内置知识库,{{external}} 个外部知识库)。',
|
||
startWithInstall: '自动安装插件并迁移',
|
||
startDataOnly: '仅迁移数据',
|
||
dataOnlyHint:
|
||
'「仅迁移数据」适合内网环境使用,请在迁移完成后自行安装对应插件',
|
||
dismiss: '丢弃原数据',
|
||
running: '正在迁移知识库,请稍候...',
|
||
success: '知识库迁移完成',
|
||
error: '知识库迁移失败:',
|
||
dismissError: '操作失败',
|
||
retry: '重试',
|
||
},
|
||
},
|
||
register: {
|
||
title: '初始化 LangBot 👋',
|
||
description: '这是您首次启动 LangBot',
|
||
adminAccountNote: '您在此处初始化使用的账号将作为管理员账号',
|
||
register: '注册',
|
||
initWithSpace: '通过 Space 初始化',
|
||
spaceRecommended: '推荐:使用官方提供的稳定模型 API 和云服务',
|
||
spaceInfoTip1: 'Space 提供统一的账户鉴权服务,不会上传您的任何敏感信息。',
|
||
spaceInfoTip2:
|
||
'使用 Space 账户登录可使用 LangBot Models 等云服务,您将会获得一定的免费模型调用额度帮助您快速起步。',
|
||
spaceInfoTip3:
|
||
'登录方式不会影响其他功能,您在任何情况下都可以配置使用其他来源的模型。',
|
||
registerLocal: '注册本地账号',
|
||
registerWithPassword: '通过邮箱密码组合注册',
|
||
initSuccess: '初始化成功 请登录',
|
||
initFailed: '初始化失败:',
|
||
},
|
||
resetPassword: {
|
||
title: '重置密码 🔐',
|
||
description: '输入恢复密钥和新的密码来重置您的账户密码',
|
||
recoveryKey: '恢复密钥',
|
||
recoveryKeyDescription:
|
||
'存储在配置文件`data/config.yaml`的`system.recovery_key`中',
|
||
newPassword: '新密码',
|
||
enterRecoveryKey: '输入恢复密钥',
|
||
enterNewPassword: '输入新密码',
|
||
recoveryKeyRequired: '恢复密钥不能为空',
|
||
newPasswordRequired: '新密码不能为空',
|
||
resetPassword: '重置密码',
|
||
resetting: '重置中...',
|
||
resetSuccess: '密码重置成功,请登录',
|
||
resetFailed: '密码重置失败,请检查邮箱和恢复密钥是否正确',
|
||
backToLogin: '返回登录',
|
||
},
|
||
embedding: {
|
||
description: '管理嵌入模型,用于向量化文本',
|
||
createModel: '创建嵌入模型',
|
||
editModel: '编辑嵌入模型',
|
||
getModelListError: '获取嵌入模型列表失败:',
|
||
embeddingModels: '嵌入模型',
|
||
extraParametersDescription:
|
||
'将在请求时附加到请求体中,如 encoding_format, dimensions 等',
|
||
},
|
||
llm: {
|
||
llmModels: '对话模型',
|
||
description: '管理 LLM 模型,用于对话消息生成',
|
||
extraParametersDescription:
|
||
'将在请求时附加到请求体中,如 max_tokens, temperature, top_p 等',
|
||
},
|
||
version: {
|
||
newVersionAvailable: '有新版本可用',
|
||
viewUpdateGuide: '查看更新方式',
|
||
noReleaseNotes: '暂无更新日志',
|
||
},
|
||
account: {
|
||
settings: '账户设置',
|
||
setPassword: '设置密码',
|
||
passwordSetSuccess: '密码设置成功',
|
||
passwordStatus: '本地密码',
|
||
passwordSet: '已设置',
|
||
passwordNotSet: '未设置',
|
||
passwordSetDescription: '您已设置本地密码,可使用邮箱密码登录',
|
||
spaceStatus: 'Space 账户',
|
||
spaceBound: '已绑定',
|
||
spaceNotBound: '未绑定',
|
||
spaceBoundDescription: '已绑定 Space 账户,可使用官方模型 API 和云服务',
|
||
bindSpace: '绑定 Space 账户',
|
||
bindSpaceDescription: '绑定后可使用官方模型 API 和云服务',
|
||
bindSpaceButton: '绑定',
|
||
bindSpaceConfirmTitle: '确认绑定',
|
||
bindSpaceConfirmDescription: '您即将把本地实例绑定到 Space 账户',
|
||
bindSpaceWarning:
|
||
'绑定后,您的登录邮箱将从 {{localEmail}} 更改为 Space 账户的邮箱。',
|
||
bindSpaceSuccess: 'Space 账户绑定成功',
|
||
bindSpaceFailed: '绑定 Space 账户失败',
|
||
bindSpaceInvalidState: '无效的绑定请求,请从账户设置重新发起',
|
||
setPasswordHint: '设置密码后可使用邮箱密码登录',
|
||
spaceEmailMismatch: 'Space登录账号邮箱与本实例账号邮箱不匹配',
|
||
},
|
||
monitoring: {
|
||
title: '仪表盘',
|
||
description: '查看机器人活动、LLM调用和系统性能',
|
||
overview: '概览',
|
||
totalMessages: '总消息数',
|
||
llmCallsCount: 'LLM调用',
|
||
modelCallsCount: '模型调用',
|
||
successRate: '成功率',
|
||
activeSessions: '活跃会话',
|
||
last24Hours: '最近24小时',
|
||
filters: {
|
||
title: '筛选',
|
||
bot: '机器人',
|
||
pipeline: '流水线',
|
||
allBots: '全部机器人',
|
||
selectBot: '选择机器人',
|
||
allPipelines: '全部流水线',
|
||
selectPipeline: '选择流水线',
|
||
loading: '加载中...',
|
||
timeRange: '时间范围',
|
||
customRange: '自定义范围',
|
||
from: '从',
|
||
to: '到',
|
||
apply: '应用',
|
||
reset: '重置筛选',
|
||
lastHour: '最近1小时',
|
||
last6Hours: '最近6小时',
|
||
last24Hours: '最近24小时',
|
||
last7Days: '最近7天',
|
||
last30Days: '最近30天',
|
||
},
|
||
tabs: {
|
||
messages: '消息记录',
|
||
llmCalls: 'LLM调用',
|
||
embeddingCalls: 'Embedding调用',
|
||
modelCalls: '模型调用',
|
||
feedback: '用户反馈',
|
||
sessions: '会话分析',
|
||
errors: '错误日志',
|
||
},
|
||
messageList: {
|
||
timestamp: '时间戳',
|
||
bot: '机器人',
|
||
pipeline: '流水线',
|
||
message: '消息',
|
||
sessionId: '会话ID',
|
||
status: '状态',
|
||
actions: '操作',
|
||
viewDetails: '查看详情',
|
||
copyId: '复制ID',
|
||
noMessages: '未找到消息',
|
||
noMessagesDescription: '尝试调整筛选条件或稍后查看',
|
||
loading: '加载消息中...',
|
||
loadMore: '加载更多',
|
||
autoRefresh: '自动刷新',
|
||
platform: '角色',
|
||
user: '用户',
|
||
level: '级别',
|
||
runner: '执行器',
|
||
viewConversation: '显示对话详情',
|
||
},
|
||
llmCalls: {
|
||
title: 'LLM调用',
|
||
model: '模型',
|
||
tokens: 'Token数',
|
||
duration: '持续时间',
|
||
cost: '成本',
|
||
noData: '未找到LLM调用记录',
|
||
inputTokens: '输入Token',
|
||
outputTokens: '输出Token',
|
||
totalTokens: '总Token数',
|
||
avgDuration: '平均耗时',
|
||
calls: '调用次数',
|
||
},
|
||
embeddingCalls: {
|
||
title: 'Embedding调用',
|
||
model: '模型',
|
||
tokens: 'Token数',
|
||
duration: '持续时间',
|
||
noData: '未找到Embedding调用记录',
|
||
promptTokens: '输入Token',
|
||
totalTokens: '总Token数',
|
||
inputCount: '输入数量',
|
||
knowledgeBase: '知识库',
|
||
queryText: '查询文本',
|
||
},
|
||
modelCalls: {
|
||
title: '模型调用',
|
||
llmModel: '对话模型',
|
||
embeddingModel: '嵌入模型',
|
||
embeddingCall: '嵌入调用',
|
||
retrieveCall: '检索调用',
|
||
noData: '未找到模型调用记录',
|
||
},
|
||
sessions: {
|
||
sessionId: '会话ID',
|
||
messageCount: '消息数',
|
||
duration: '持续时间',
|
||
lastActivity: '最后活动',
|
||
noSessions: '未找到会话',
|
||
startTime: '开始时间',
|
||
messageStats: '消息统计',
|
||
totalMessages: '总消息数',
|
||
successMessages: '成功',
|
||
errorMessages: '失败',
|
||
llmStats: 'LLM统计',
|
||
noData: '会话未找到',
|
||
},
|
||
errors: {
|
||
title: '错误',
|
||
errorType: '错误类型',
|
||
errorMessage: '错误消息',
|
||
occurredAt: '发生时间',
|
||
noErrors: '未找到错误',
|
||
stackTrace: '堆栈追踪',
|
||
},
|
||
feedback: {
|
||
title: '用户反馈',
|
||
totalFeedback: '总反馈数',
|
||
totalLikes: '点赞数',
|
||
totalDislikes: '点踩数',
|
||
satisfactionRate: '满意度',
|
||
like: '点赞',
|
||
dislike: '点踩',
|
||
noFeedback: '暂无反馈',
|
||
noFeedbackDescription: '用户反馈将在此显示',
|
||
feedbackList: '反馈列表',
|
||
feedbackContent: '反馈内容',
|
||
contextInfo: '上下文信息',
|
||
userId: '用户ID',
|
||
messageId: '消息ID',
|
||
streamId: '关联提问ID',
|
||
inaccurateReasons: '不准确原因',
|
||
platform: '平台',
|
||
exportFeedback: '导出反馈',
|
||
},
|
||
queries: {
|
||
title: '查询记录',
|
||
},
|
||
messageDetails: {
|
||
noData: '此查询没有LLM调用或错误记录',
|
||
},
|
||
queryVariables: {
|
||
title: '查询变量',
|
||
},
|
||
trafficChart: {
|
||
title: '流量概览',
|
||
messages: '消息数',
|
||
llmCalls: 'LLM调用',
|
||
noData: '暂无流量数据',
|
||
},
|
||
viewMonitoring: '查看日志监控',
|
||
refreshData: '刷新数据',
|
||
exportData: '导出数据',
|
||
export: {
|
||
title: '导出数据',
|
||
exporting: '导出中...',
|
||
messages: '消息记录',
|
||
llmCalls: 'LLM 调用',
|
||
embeddingCalls: 'Embedding 调用',
|
||
errors: '错误日志',
|
||
sessions: '会话记录',
|
||
feedback: '用户反馈',
|
||
},
|
||
},
|
||
limitation: {
|
||
maxBotsReached:
|
||
'已达到机器人数量上限({{max}}个)。请先删除已有机器人后再创建新的。',
|
||
maxPipelinesReached:
|
||
'已达到流水线数量上限({{max}}个)。请先删除已有流水线后再创建新的。',
|
||
maxExtensionsReached:
|
||
'已达到扩展数量上限({{max}}个)。请先删除已有的 MCP 服务器或插件后再添加新的。',
|
||
},
|
||
wizard: {
|
||
sidebarDescription: '通过引导步骤创建机器人',
|
||
loading: '正在加载向导...',
|
||
loadError: '加载向导数据失败',
|
||
skip: '跳过',
|
||
skipConfirmMessage:
|
||
'您之后可以在账户菜单重新进入快速开始向导,或手动创建机器人。',
|
||
skipConfirmOk: '确定',
|
||
prev: '上一步',
|
||
next: '下一步',
|
||
finish: '创建并部署',
|
||
confirmCreateBot: '确定,创建机器人',
|
||
createSuccess: '流水线已创建并关联到机器人!',
|
||
botCreateSuccess: '机器人创建成功!',
|
||
botSaveSuccess: '机器人配置已保存并启用!',
|
||
createError: '创建资源失败',
|
||
spaceAuthError: '无法发起 Space 授权',
|
||
skipSaveError: '保存跳过状态失败,请重试。',
|
||
completeSaveError: '保存完成状态失败,请重试。',
|
||
step: {
|
||
platform: '平台接入',
|
||
botConfig: '机器人配置',
|
||
aiEngine: 'AI 引擎',
|
||
done: '完成',
|
||
},
|
||
platform: {
|
||
title: '选择平台',
|
||
description: '选择机器人要接入的消息平台。',
|
||
},
|
||
botConfig: {
|
||
title: '配置机器人',
|
||
description: '配置好机器人并确认其正常运行后再继续。',
|
||
saveBot: '保存并启用',
|
||
resaveBot: '重新保存配置',
|
||
botSaved: '机器人配置已保存并启用,请查看日志确认连接正常。',
|
||
logsTitle: '机器人日志',
|
||
logsDescription: '监控机器人活动,确认平台连接是否正常工作。',
|
||
},
|
||
aiEngine: {
|
||
title: '选择 AI 引擎',
|
||
description: '选择驱动机器人智能的 AI 引擎。',
|
||
},
|
||
spaceBanner: {
|
||
message: '接入 LangBot Space,获取免费试用模型额度,零配置极速开箱!',
|
||
action: '前往授权登录',
|
||
},
|
||
config: {
|
||
botInfo: '机器人信息',
|
||
botNamePlaceholder: '请输入机器人名称',
|
||
botDescPlaceholder: '请输入机器人描述(可选)',
|
||
platformConfig: '{{platform}} 配置',
|
||
aiConfig: '{{engine}} 配置',
|
||
},
|
||
done: {
|
||
title: '一切就绪!',
|
||
description:
|
||
'机器人已创建并连接到 AI 流水线。你现在可以在工作台中管理它。',
|
||
backToWorkbench: '返回工作台',
|
||
},
|
||
},
|
||
workflows: {
|
||
title: '工作流',
|
||
description: '创建和管理可视化工作流,实现复杂的消息处理逻辑',
|
||
createWorkflow: '创建工作流',
|
||
selectFromSidebar: '从侧边栏选择一个工作流',
|
||
editWorkflow: '编辑工作流',
|
||
newWorkflow: '新工作流',
|
||
getWorkflowListError: '获取工作流列表失败:',
|
||
workflowName: '工作流名称',
|
||
workflowDescription: '工作流描述',
|
||
workflowNameRequired: '工作流名称不能为空',
|
||
defaultDescription: '一个工作流',
|
||
getWorkflowError: '获取工作流失败:',
|
||
loadError: '加载工作流失败',
|
||
saveSuccess: '保存成功',
|
||
saveError: '保存失败:',
|
||
createSuccess: '工作流创建成功',
|
||
createError: '创建失败:',
|
||
deleteSuccess: '删除成功',
|
||
deleteError: '删除失败:',
|
||
deleteConfirmation: '你确定要删除这个工作流吗?',
|
||
copySuccess: '复制成功',
|
||
copyError: '复制失败:',
|
||
export: '导出',
|
||
import: '导入',
|
||
exportSuccess: '工作流已导出',
|
||
importSuccess: '工作流已导入',
|
||
importError: '导入失败:文件格式无效',
|
||
publish: '发布',
|
||
publishSuccess: '发布成功',
|
||
publishError: '发布失败',
|
||
configuration: '配置',
|
||
executions: '执行记录',
|
||
editor: '编辑器',
|
||
debugChat: '对话调试',
|
||
basicInfo: '基础信息',
|
||
basicInfoDesc: '设置工作流名称、图标和描述',
|
||
basicInfoDescription: '设置工作流名称和描述',
|
||
dangerZone: '危险区域',
|
||
dangerZoneDesc: '不可逆的操作',
|
||
dangerZoneDescription: '不可逆的操作',
|
||
deleteWorkflowAction: '删除此工作流',
|
||
deleteWorkflowHint: '删除后,所有关联配置将被永久移除,且无法恢复。',
|
||
deleteWorkflow: '删除工作流',
|
||
deleteConfirm: '确认删除',
|
||
deleteConfirmDesc: '您确定要删除工作流 "{{name}}" 吗?此操作无法撤销。',
|
||
// Form component
|
||
name: '名称',
|
||
namePlaceholder: '输入工作流名称',
|
||
descriptionPlaceholder: '输入工作流描述(可选)',
|
||
enabled: '启用',
|
||
enabledDesc: '启用后,工作流将可以被触发执行',
|
||
loading: '加载中...',
|
||
info: '工作流信息',
|
||
uuid: 'UUID',
|
||
version: '版本',
|
||
createdAt: '创建时间',
|
||
updatedAt: '更新时间',
|
||
// Executions tab
|
||
totalExecutions: '共 {{count}} 条执行记录',
|
||
statistics: '统计分析',
|
||
successfulCount: '成功 {{count}} 次',
|
||
successRate: '成功率',
|
||
averageDuration: '平均耗时',
|
||
perExecution: '每次执行',
|
||
failedExecutions: '失败次数',
|
||
lastExecution: '最后执行',
|
||
filterByStatus: '按状态筛选',
|
||
allStatuses: '全部状态',
|
||
manualTrigger: '手动触发',
|
||
executionId: '执行 ID',
|
||
status: '状态',
|
||
triggerType: '触发类型',
|
||
startedAt: '开始时间',
|
||
duration: '耗时',
|
||
noExecutions: '暂无执行记录',
|
||
executionDetails: '执行详情',
|
||
error: '错误信息',
|
||
nodeExecutions: '节点执行记录',
|
||
result: '执行结果',
|
||
'status.pending': '等待中',
|
||
'status.running': '执行中',
|
||
'status.completed': '已完成',
|
||
'status.failed': '失败',
|
||
'status.cancelled': '已取消',
|
||
// Editor component translations
|
||
nodePalette: '节点面板',
|
||
properties: '属性',
|
||
zoomIn: '放大',
|
||
zoomOut: '缩小',
|
||
fitView: '适应视图',
|
||
unsavedChanges: '有未保存的更改',
|
||
paste: '粘贴',
|
||
deleted: '已删除',
|
||
nothingToCopy: '没有选中的节点可复制',
|
||
nothingToPaste: '剪贴板为空',
|
||
copied: '已复制 {{count}} 个节点',
|
||
pasted: '已粘贴 {{count}} 个节点',
|
||
nodesSelected: '已选中 {{count}} 个节点',
|
||
edgesSelected: '已选中 {{count}} 条连线',
|
||
// Node palette
|
||
searchNodes: '搜索节点...',
|
||
loadingNodeTypes: '正在加载节点类型...',
|
||
noNodesFound: '未找到匹配的节点',
|
||
clearSearch: '清除搜索',
|
||
dragToAdd: '拖拽节点到画布添加',
|
||
// Property panel
|
||
selectNodeOrEdge: '选择一个节点或连线',
|
||
selectNodeOrEdgeHint: '点击画布中的节点或连线来查看和编辑其属性',
|
||
edgeProperties: '连线属性',
|
||
nodeProperties: '节点属性',
|
||
condition: '条件',
|
||
hasCondition: '已设置',
|
||
conditionPlaceholder: '输入条件表达式,如: output.success == true',
|
||
conditionHelp: '条件为空时,该连线将始终被执行。支持使用 {{变量名}} 引用上下文变量。',
|
||
deleteEdge: '删除连线',
|
||
deleteEdgeConfirm: '确认删除连线',
|
||
deleteEdgeConfirmDesc: '删除后,该连线将被永久移除。',
|
||
nodeLabel: '节点名称',
|
||
nodeLabelPlaceholder: '输入节点显示名称',
|
||
nodeId: '节点 ID',
|
||
inputOutputVariables: '输入/输出变量',
|
||
inputs: '输入',
|
||
outputs: '输出',
|
||
availableVariables: '可用变量',
|
||
globalVariables: '全局变量',
|
||
messageContent: '消息内容',
|
||
messageSender: '发送者',
|
||
platform: '平台',
|
||
sessionId: '会话 ID',
|
||
timestamp: '时间戳',
|
||
nodeConfig: '节点配置',
|
||
noConfigOptions: '该节点类型暂无配置选项',
|
||
deleteNode: '删除节点',
|
||
deleteNodeConfirm: '确认删除节点',
|
||
deleteNodeConfirmDesc: '删除后,该节点及其所有连线将被永久移除。',
|
||
// Node inputs/outputs i18n (for port labels)
|
||
nodeInputs: {
|
||
// Common inputs
|
||
input: '输入',
|
||
message: '消息内容',
|
||
text: '文本',
|
||
query: '查询',
|
||
data: '数据',
|
||
condition: '条件',
|
||
value: '值',
|
||
// Trigger inputs
|
||
content: '内容',
|
||
context: '上下文',
|
||
body: '请求体',
|
||
variables: '变量',
|
||
items: '项目列表',
|
||
arguments: '参数',
|
||
// AI/Process inputs
|
||
question: '问题',
|
||
parameters: '参数定义',
|
||
key: '键',
|
||
payload: '载荷',
|
||
input_value: '输入值',
|
||
conversation_id: '会话 ID',
|
||
// Control inputs
|
||
case_1: '分支1输入',
|
||
case_2: '分支2输入',
|
||
branch_1: '分支1',
|
||
branch_2: '分支2',
|
||
// Action inputs
|
||
notification_id: '通知ID',
|
||
// Integration inputs
|
||
key_template: '键模板',
|
||
hash_field: '哈希字段',
|
||
server_name: '服务器名称',
|
||
tool_name: '工具名称',
|
||
arguments_template: '参数模板',
|
||
scope: '作用域',
|
||
},
|
||
nodeOutputs: {
|
||
// Common outputs
|
||
output: '输出',
|
||
result: '结果',
|
||
response: '响应',
|
||
message: '消息',
|
||
data: '数据',
|
||
error: '错误',
|
||
// Trigger outputs
|
||
sender: '发送者',
|
||
sender_id: '发送者 ID',
|
||
sender_name: '发送者名称',
|
||
conversation_id: '会话 ID',
|
||
context: '上下文',
|
||
cron_timestamp: 'Cron 时间戳',
|
||
cron_schedule: 'Cron 调度表达式',
|
||
cron_context: 'Cron 上下文',
|
||
trigger_time: '触发时间',
|
||
schedule: '触发计划',
|
||
headers: '请求头',
|
||
query_params: '查询参数',
|
||
query: '查询参数',
|
||
method: '请求方法',
|
||
body: '请求体',
|
||
is_group: '是否群聊',
|
||
platform: '平台',
|
||
event: '事件',
|
||
event_type: '事件类型',
|
||
event_data: '事件数据',
|
||
event_timestamp: '事件时间戳',
|
||
// AI/Process outputs
|
||
usage: 'Token使用统计',
|
||
parsed: '解析结果',
|
||
category: '分类结果',
|
||
confidence: '置信度',
|
||
all_scores: '所有分数',
|
||
missing: '缺失参数',
|
||
success: '是否成功',
|
||
scores: '分数',
|
||
chunks: '文本块',
|
||
count: '数量',
|
||
logs: '日志',
|
||
embedding: '向量',
|
||
dimensions: '维度',
|
||
intent: '意图',
|
||
entities: '实体',
|
||
prompt: '提示/问题',
|
||
context_info: '上下文信息',
|
||
console: '控制台输出',
|
||
code_input: '代码输入',
|
||
code_output: '代码输出',
|
||
http_body: 'HTTP 请求体',
|
||
http_headers: 'HTTP 请求头',
|
||
http_response: 'HTTP 响应',
|
||
response_headers: '响应头',
|
||
transform_input: '转换输入',
|
||
transform_result: '转换结果',
|
||
question: '用户问题',
|
||
parameters: '提取的参数',
|
||
extraction_success: '提取成功',
|
||
extract_text: '输入文本',
|
||
documents: '检索的文档',
|
||
citations: '引用信息',
|
||
knowledge_context: '合并上下文',
|
||
knowledge_query: '检索查询',
|
||
text: '文本',
|
||
// Control outputs
|
||
true: '条件为真输出',
|
||
false: '条件为假输出',
|
||
matched_case: '匹配分支',
|
||
case_1: '分支 1',
|
||
case_2: '分支 2',
|
||
default: '默认分支',
|
||
item: '当前项',
|
||
index: '当前索引',
|
||
completed: '是否完成',
|
||
is_first: '是否第一个',
|
||
is_last: '是否最后一个',
|
||
results: '结果',
|
||
branch_1: '分支1输出',
|
||
branch_2: '分支2输出',
|
||
condition_input: '条件输入',
|
||
switch_input: '开关输入',
|
||
loop_items: '迭代项目',
|
||
iterator_array: '输入数组',
|
||
iterator_item: '当前元素',
|
||
iterator_index: '当前索引',
|
||
errors: '错误列表',
|
||
parallel_input: '并行输入',
|
||
parallel_results: '所有分支结果',
|
||
wait_input: '透传输入',
|
||
wait_output: '透传输出',
|
||
merged: '合并结果',
|
||
merge_array: '数组结果',
|
||
merge_input_1: '输入 1',
|
||
merge_input_2: '输入 2',
|
||
merge_input_3: '输入 3',
|
||
merge_input_4: '输入 4',
|
||
aggregated: '聚合变量',
|
||
aggregator_variables: '变量输入',
|
||
// Action outputs
|
||
message_id: '消息ID',
|
||
status_code: '状态码',
|
||
status: '状态',
|
||
execution_id: '执行ID',
|
||
notification_id: '通知ID',
|
||
target: '目标 ID',
|
||
reply_message: '回复内容',
|
||
pipeline_response: 'Pipeline 响应',
|
||
pipeline_result: '完整结果',
|
||
pipeline_query: '查询内容',
|
||
context_data: '上下文数据',
|
||
store_status: '存储状态',
|
||
store_key: '存储键',
|
||
store_value: '存储值',
|
||
variable_value: '变量值',
|
||
variable_result: '设置变量结果',
|
||
statement: '开场白',
|
||
suggested_questions: '建议问题',
|
||
suggestions: '建议问题',
|
||
workflow_output: '工作流输出',
|
||
final_result: '最终结果',
|
||
// Integration outputs
|
||
query_results: '查询结果',
|
||
row_count: '行数',
|
||
query_success: '查询成功',
|
||
redis_result: 'Redis结果',
|
||
redis_success: 'Redis成功',
|
||
redis_key: 'Redis 键',
|
||
redis_value: 'Redis 值',
|
||
plugin_input: '插件输入',
|
||
tool_result: '工具结果',
|
||
tool_success: '工具成功',
|
||
mcp_arguments: '工具参数',
|
||
memory_result: '记忆结果',
|
||
memory_success: '记忆成功',
|
||
memory_value: '存储值',
|
||
answer: '答案',
|
||
dify_success: 'Dify成功',
|
||
dify_query: '用户输入/查询',
|
||
dify_conversation_id: '会话 ID',
|
||
search_results: '搜索结果',
|
||
knowledge_base_query: '查询内容',
|
||
n8n_result: 'N8n结果',
|
||
n8n_success: 'N8n成功',
|
||
n8n_payload: '工作流输入数据',
|
||
flow_result: '流程结果',
|
||
flow_success: '流程成功',
|
||
langflow_input: '输入内容',
|
||
bot_answer: '机器人回复',
|
||
bot_success: '机器人成功',
|
||
coze_query: '用户输入/查询',
|
||
coze_conversation_id: '会话 ID',
|
||
bot_conversation_id: '会话 ID',
|
||
webhook_body: 'Webhook 请求体',
|
||
webhook_headers: 'Webhook 请求头',
|
||
webhook_query: 'Webhook 查询参数',
|
||
webhook_method: 'Webhook 请求方法',
|
||
timestamp: '时间戳',
|
||
},
|
||
// Data type labels
|
||
'type.string': '字符串',
|
||
'type.object': '对象',
|
||
'type.array': '数组',
|
||
'type.boolean': '布尔值',
|
||
'type.number': '数字',
|
||
'type.any': '任意类型',
|
||
'type.datetime': '日期时间',
|
||
// Legacy editor keys for compatibility
|
||
legacyEditor: {
|
||
title: '可视化编辑器',
|
||
save: '保存',
|
||
undo: '撤销',
|
||
redo: '重做',
|
||
zoomIn: '放大',
|
||
zoomOut: '缩小',
|
||
fitView: '适应视图',
|
||
unsavedChanges: '有未保存的更改',
|
||
nodePalette: '节点面板',
|
||
properties: '属性',
|
||
nodeLabel: '节点名称',
|
||
nodeConfig: '节点配置',
|
||
deleteNode: '删除节点',
|
||
deleteNodeConfirm: '确定删除此节点?',
|
||
deleteEdge: '删除连线',
|
||
deleteEdgeConfirm: '确定删除此连线?',
|
||
edgeCondition: '条件表达式',
|
||
edgeConditionPlaceholder: '如: ${output.success} == true',
|
||
noNodeSelected: '未选中节点',
|
||
selectNodeToEdit: '点击节点查看和编辑属性',
|
||
dragNodeHint: '拖拽节点到画布',
|
||
},
|
||
nodes: {
|
||
trigger: '触发器',
|
||
triggerDescription: '工作流的起始节点',
|
||
messageTrigger: '消息触发',
|
||
messageTriggerDescription: '当收到消息时触发',
|
||
scheduleTrigger: '定时触发',
|
||
scheduleTriggerDescription: '按计划定时触发',
|
||
cronTrigger: '定时触发',
|
||
cronTriggerDescription: '按定时计划触发工作流',
|
||
webhookTrigger: 'Webhook 触发',
|
||
webhookTriggerDescription: '通过 HTTP 请求触发',
|
||
eventTrigger: '事件触发',
|
||
eventTriggerDescription: '当系统事件发生时触发',
|
||
process: 'AI/处理',
|
||
processDescription: '数据处理节点',
|
||
aiProcess: 'AI 处理',
|
||
aiProcessDescription: '使用 AI 模型处理消息',
|
||
llmCall: 'LLM 调用',
|
||
llmCallDescription: '调用大语言模型进行对话或生成',
|
||
codeProcess: '代码处理',
|
||
codeProcessDescription: '执行自定义代码',
|
||
codeExecutor: '代码执行',
|
||
codeExecutorDescription: '执行 Python/JavaScript 代码',
|
||
templateProcess: '模板处理',
|
||
templateProcessDescription: '使用模板格式化输出',
|
||
httpRequest: 'HTTP 请求',
|
||
httpRequestDescription: '发送 HTTP 请求',
|
||
dataTransform: '数据转换',
|
||
dataTransformDescription: '转换数据格式',
|
||
questionClassifier: '问题分类器',
|
||
questionClassifierDescription: '使用 LLM 将用户问题分类到预定义类别',
|
||
parameterExtractor: '参数提取器',
|
||
parameterExtractorDescription: '使用 LLM 从文本中提取结构化参数',
|
||
knowledgeRetrieval: '知识库检索',
|
||
knowledgeRetrievalDescription: '从知识库中检索相关内容',
|
||
textTemplate: '文本模板',
|
||
textTemplateDescription: '使用模板生成文本',
|
||
jsonTransform: 'JSON 转换',
|
||
jsonTransformDescription: '转换 JSON 数据',
|
||
dataAggregator: '数据聚合',
|
||
dataAggregatorDescription: '聚合多个数据源',
|
||
textSplitter: '文本分割',
|
||
textSplitterDescription: '将文本分割成块',
|
||
variableAssignment: '变量赋值',
|
||
variableAssignmentDescription: '为工作流变量赋值',
|
||
control: '控制流',
|
||
controlDescription: '流程控制节点',
|
||
condition: '条件分支',
|
||
conditionDescription: '根据条件分流',
|
||
switch: '多路分支',
|
||
switchDescription: '多条件分支选择',
|
||
loop: '循环',
|
||
loopDescription: '重复执行',
|
||
iterator: '迭代器',
|
||
iteratorDescription: '遍历数组元素',
|
||
parallel: '并行执行',
|
||
parallelDescription: '并行执行多个分支',
|
||
wait: '等待',
|
||
waitDescription: '等待指定时间',
|
||
delay: '延迟',
|
||
delayDescription: '等待指定时间',
|
||
merge: '合并',
|
||
mergeDescription: '合并多个分支',
|
||
variableAggregator: '变量聚合器',
|
||
variableAggregatorDescription: '聚合多个分支的变量输出',
|
||
action: '动作',
|
||
actionDescription: '执行动作的节点',
|
||
sendMessage: '发送消息',
|
||
sendMessageDescription: '发送消息到平台',
|
||
replyMessage: '回复消息',
|
||
replyMessageDescription: '回复触发工作流的消息',
|
||
storeData: '存储数据',
|
||
storeDataDescription: '存储数据到数据库',
|
||
callPipeline: '调用 Pipeline',
|
||
callPipelineDescription: '调用现有的 Pipeline',
|
||
setVariable: '设置变量',
|
||
setVariableDescription: '设置上下文变量',
|
||
openingStatement: '对话开场白',
|
||
openingStatementDescription: '提供对话开场白和建议问题',
|
||
end: '结束',
|
||
endDescription: '标记工作流执行结束',
|
||
log: '日志',
|
||
logDescription: '记录日志信息',
|
||
integration: '集成',
|
||
integrationDescription: '第三方平台集成节点',
|
||
difyWorkflow: 'Dify 工作流',
|
||
difyWorkflowDescription: '调用 Dify 平台工作流',
|
||
difyKnowledgeQuery: 'Dify 知识库',
|
||
difyKnowledgeQueryDescription: '查询 Dify 知识库',
|
||
n8nWorkflow: 'n8n 工作流',
|
||
n8nWorkflowDescription: '调用 n8n 工作流',
|
||
langflowFlow: 'Langflow 流程',
|
||
langflowFlowDescription: '调用 Langflow 流程',
|
||
cozeBot: 'Coze Bot',
|
||
cozeBotDescription: '调用扣子 Bot',
|
||
// Data & Tools integration nodes
|
||
databaseQuery: '数据库查询',
|
||
databaseQueryDescription: '执行数据库查询',
|
||
redisOperation: 'Redis 操作',
|
||
redisOperationDescription: '执行 Redis 缓存操作',
|
||
mcpTool: 'MCP 工具',
|
||
mcpToolDescription: '调用 MCP 工具',
|
||
memoryStore: '记忆存储',
|
||
memoryStoreDescription: '从工作流记忆中存储和检索数据',
|
||
},
|
||
executionHistory: {
|
||
title: '执行记录',
|
||
noExecutions: '暂无执行记录',
|
||
status: '状态',
|
||
startTime: '开始时间',
|
||
duration: '耗时',
|
||
running: '运行中',
|
||
completed: '已完成',
|
||
failed: '失败',
|
||
cancelled: '已取消',
|
||
viewDetails: '查看详情',
|
||
cancel: '取消执行',
|
||
retry: '重试',
|
||
nodeResults: '节点执行结果',
|
||
},
|
||
versions: {
|
||
title: '版本历史',
|
||
current: '当前版本',
|
||
rollback: '回滚到此版本',
|
||
rollbackConfirm: '确定回滚到此版本?当前更改将丢失。',
|
||
rollbackSuccess: '回滚成功',
|
||
rollbackError: '回滚失败:',
|
||
},
|
||
// Debug and monitoring
|
||
debug: {
|
||
title: '调试',
|
||
mode: '调试模式',
|
||
panel: '调试面板',
|
||
start: '开始调试',
|
||
pause: '暂停',
|
||
resume: '继续',
|
||
step: '单步执行',
|
||
stop: '停止',
|
||
context: '调试上下文',
|
||
messageContent: '模拟消息',
|
||
messageContentPlaceholder: '输入要模拟的消息内容',
|
||
senderId: '发送者 ID',
|
||
senderIdPlaceholder: '发送者唯一标识',
|
||
senderName: '发送者名称',
|
||
senderNamePlaceholder: '发送者显示名称',
|
||
platform: '平台',
|
||
platformPlaceholder: '例如 qq、wechat、telegram',
|
||
conversationId: '会话 ID',
|
||
conversationIdPlaceholder: '会话唯一标识',
|
||
isGroup: '群聊',
|
||
customVariables: '自定义变量',
|
||
customVariablesDesc: '添加自定义变量用于调试',
|
||
variableKey: '变量名',
|
||
variableValue: '变量值',
|
||
addVariable: '添加变量',
|
||
variables: '监控变量',
|
||
watchedVariables: '监控变量',
|
||
noWatchedVariables: '暂无监控变量',
|
||
addWatchVariable: '添加监控',
|
||
nodeStates: '节点状态',
|
||
nodeOutputs: '节点输出',
|
||
noNodeOutputs: '暂无节点输出',
|
||
toggleBreakpoint: '切换断点',
|
||
clearBreakpoints: '清除所有断点',
|
||
breakpointSet: '断点已设置',
|
||
breakpointRemoved: '断点已移除',
|
||
logs: '调试日志',
|
||
noLogs: '暂无日志',
|
||
clearLogs: '清空日志',
|
||
autoScroll: '自动滚动',
|
||
logEntries: '条日志',
|
||
resetContext: '重置上下文',
|
||
// Debug execution messages
|
||
starting: '正在启动调试执行...',
|
||
started: '调试执行已启动 (ID: {{id}})',
|
||
startError: '启动调试失败',
|
||
completed: '调试执行已完成',
|
||
unknownError: '未知错误',
|
||
paused: '执行已暂停',
|
||
pauseError: '暂停失败',
|
||
resumed: '执行已恢复',
|
||
resumeError: '恢复失败',
|
||
steppedTo: '已执行到节点: {{node}}',
|
||
stepError: '单步执行失败',
|
||
stopped: '调试已停止',
|
||
stopError: '停止失败',
|
||
},
|
||
debugMode: '调试模式',
|
||
debugPanel: '调试面板',
|
||
startDebug: '开始调试',
|
||
pauseDebug: '暂停',
|
||
resumeDebug: '继续',
|
||
stepDebug: '单步执行',
|
||
stopDebug: '停止',
|
||
debugContext: '调试上下文',
|
||
simulatedMessage: '模拟消息',
|
||
simulatedMessagePlaceholder: '输入要模拟的消息内容',
|
||
senderId: '发送者 ID',
|
||
senderIdPlaceholder: '发送者唯一标识',
|
||
senderName: '发送者名称',
|
||
senderNamePlaceholder: '发送者显示名称',
|
||
conversationId: '会话 ID',
|
||
conversationIdPlaceholder: '会话唯一标识',
|
||
isGroup: '群聊',
|
||
customVariables: '自定义变量',
|
||
addVariable: '添加变量',
|
||
variableName: '变量名',
|
||
variableValue: '变量值',
|
||
watchedVariables: '监控变量',
|
||
addWatchVariable: '添加监控',
|
||
nodeStates: '节点状态',
|
||
breakpoints: '断点',
|
||
toggleBreakpoint: '切换断点',
|
||
breakpointSet: '断点已设置',
|
||
breakpointRemoved: '断点已移除',
|
||
debugLogs: '调试日志',
|
||
noLogs: '暂无日志',
|
||
clearLogs: '清空日志',
|
||
autoScroll: '自动滚动',
|
||
debugState: {
|
||
idle: '空闲',
|
||
running: '运行中',
|
||
paused: '已暂停',
|
||
completed: '已完成',
|
||
error: '错误',
|
||
},
|
||
nodeStatus: {
|
||
pending: '等待中',
|
||
running: '执行中',
|
||
completed: '已完成',
|
||
failed: '失败',
|
||
skipped: '已跳过',
|
||
},
|
||
debugDialog: {
|
||
title: '工作流对话',
|
||
selectWorkflow: '选择工作流',
|
||
sessionType: '会话类型',
|
||
privateChat: '私聊',
|
||
groupChat: '群聊',
|
||
send: '发送',
|
||
reset: '重置对话',
|
||
inputPlaceholder: '发送 {{type}} 消息...',
|
||
noMessages: '暂无消息',
|
||
userMessage: '用户',
|
||
botMessage: '机器人',
|
||
sendFailed: '发送失败',
|
||
resetSuccess: '对话已重置',
|
||
resetFailed: '重置失败',
|
||
loadMessagesFailed: '加载消息失败',
|
||
loadWorkflowsFailed: '加载工作流失败',
|
||
atTips: '提及机器人',
|
||
streaming: '流式传输',
|
||
streamOutput: '流式',
|
||
connected: 'WebSocket已连接',
|
||
disconnected: 'WebSocket未连接',
|
||
connectionError: 'WebSocket连接错误',
|
||
connectionFailed: 'WebSocket连接失败',
|
||
notConnected: 'WebSocket未连接,请稍后重试',
|
||
imageUploadFailed: '图片上传失败',
|
||
reply: '回复',
|
||
replyTo: '回复给',
|
||
showMarkdown: '渲染',
|
||
showRaw: '原文',
|
||
allMembers: '全体成员',
|
||
file: '文件',
|
||
voice: '语音',
|
||
uploadImage: '上传图片',
|
||
uploading: '上传中...',
|
||
},
|
||
// Execution history and monitoring
|
||
filterByDate: '按日期筛选',
|
||
allTime: '全部时间',
|
||
today: '今天',
|
||
lastWeek: '最近一周',
|
||
lastMonth: '最近一个月',
|
||
showingExecutions: '显示 {{shown}} / {{total}} 条记录',
|
||
rerun: '重新运行',
|
||
rerunExecution: '重新执行',
|
||
logs: '日志',
|
||
details: '详情',
|
||
completedAt: '完成时间',
|
||
noNodeExecutions: '暂无节点执行记录',
|
||
// Node config field labels (used by DynamicFormComponent)
|
||
nodeConfigFields: {
|
||
// trigger.py - MessageTriggerNode
|
||
conditions: '触发条件',
|
||
keyword_filter: '关键词过滤',
|
||
regex_filter: '正则过滤',
|
||
min_length: '最小长度',
|
||
max_length: '最大长度',
|
||
require_mention: '需要@机器人',
|
||
respond_rules: '群响应规则',
|
||
access_control: '访问控制',
|
||
// trigger.py - CronTriggerNode
|
||
cron: 'Cron表达式',
|
||
timezone: '时区',
|
||
description: '描述',
|
||
// trigger.py - WebhookTriggerNode
|
||
path: 'Webhook路径',
|
||
allowed_methods: '允许的HTTP方法',
|
||
content_type: 'Content-Type',
|
||
auth_type: '认证方式',
|
||
auth_key: '认证密钥',
|
||
validation: '请求验证',
|
||
timeout: '超时时间',
|
||
// trigger.py - EventTriggerNode
|
||
event_types: '事件类型',
|
||
filter: '事件过滤',
|
||
debounce_ms: '防抖时间',
|
||
// process.py - LLMCallNode
|
||
model: '模型',
|
||
prompt_template: '提示词模板',
|
||
system_prompt: '系统提示词',
|
||
temperature: '温度',
|
||
top_p: 'Top P',
|
||
frequency_penalty: '频率惩罚',
|
||
presence_penalty: '存在惩罚',
|
||
max_tokens: '最大Token数',
|
||
stop_sequences: '停止序列',
|
||
seed: '随机种子',
|
||
stream: '流式输出',
|
||
use_conversation_history: '使用对话历史',
|
||
// process.py - CodeExecutorNode
|
||
language: '编程语言',
|
||
code: '代码',
|
||
// process.py - HTTPRequestNode
|
||
url: '请求URL',
|
||
method: '请求方法',
|
||
auth_config: '认证配置',
|
||
// process.py - DataTransformNode
|
||
transform_type: '转换类型',
|
||
template: '模板',
|
||
expression: '表达式',
|
||
output_type: '输出类型',
|
||
// process.py - QuestionClassifierNode
|
||
categories: '分类类别',
|
||
instruction: '指令',
|
||
// process.py - ParameterExtractorNode
|
||
parameters: '参数定义',
|
||
// process.py - KnowledgeRetrievalNode
|
||
knowledge_bases: '知识库',
|
||
top_k: '返回数量',
|
||
score_threshold: '相似度阈值',
|
||
search_method: '搜索方法',
|
||
enable_citations: '启用引用',
|
||
// control.py - ConditionNode
|
||
condition_type: '条件类型',
|
||
condition_expression: '条件表达式',
|
||
left_value: '左值',
|
||
operator: '比较运算符',
|
||
right_value: '右值',
|
||
// control.py - SwitchNode
|
||
cases: '分支条件',
|
||
// control.py - LoopNode
|
||
max_iterations: '最大迭代次数',
|
||
break_condition: '中断条件',
|
||
// control.py - IteratorNode
|
||
parallel: '并行处理',
|
||
max_concurrency: '最大并发数',
|
||
// control.py - ParallelNode
|
||
branches: '分支配置',
|
||
wait_all: '等待所有',
|
||
fail_fast: '快速失败',
|
||
// control.py - WaitNode
|
||
duration: '等待时间',
|
||
duration_type: '时间单位',
|
||
// control.py - MergeNode
|
||
merge_strategy: '合并策略',
|
||
// control.py - VariableAggregatorNode
|
||
variable_mappings: '变量映射',
|
||
aggregation_mode: '聚合模式',
|
||
// action.py - SendMessageNode
|
||
target_type: '目标类型',
|
||
target_id: '目标ID',
|
||
platform: '平台',
|
||
message_type: '消息类型',
|
||
// action.py - ReplyMessageNode
|
||
reply_mode: '回复模式',
|
||
message_template: '消息模板',
|
||
long_text_processing: '长文本处理',
|
||
force_delay: '强制延迟',
|
||
// action.py - CallPipelineNode
|
||
pipeline_uuid: '流水线',
|
||
inherit_context: '继承上下文',
|
||
// action.py - StoreDataNode
|
||
storage_type: '存储类型',
|
||
ttl: '过期时间',
|
||
key_prefix: '键前缀',
|
||
// action.py - SetVariableNode
|
||
variable_name: '变量名称',
|
||
variable_scope: '变量作用域',
|
||
set_variable_operation: '操作类型',
|
||
// action.py - OpeningStatementNode
|
||
statement: '开场白',
|
||
suggested_questions: '建议问题',
|
||
show_suggestions: '显示建议',
|
||
// action.py - EndNode
|
||
output_format: '输出格式',
|
||
success_message: '成功消息',
|
||
// integration.py - DatabaseQueryNode
|
||
connection_type: '数据库类型',
|
||
connection_string: '连接字符串',
|
||
query: 'SQL查询',
|
||
query_type: '查询类型',
|
||
// integration.py - RedisOperationNode
|
||
connection_url: '连接URL',
|
||
operation: '操作类型',
|
||
key_template: '键模板',
|
||
hash_field: '哈希字段',
|
||
// integration.py - MCPToolNode
|
||
server_name: '服务器名称',
|
||
tool_name: '工具名称',
|
||
arguments_template: '参数模板',
|
||
// integration.py - MemoryStoreNode
|
||
scope: '作用域',
|
||
// integration.py - DifyWorkflowNode
|
||
'base-url': '基础URL',
|
||
'api-key': 'API密钥',
|
||
'app-type': '应用类型',
|
||
// integration.py - DifyKnowledgeQueryNode
|
||
dataset_id: '知识库ID',
|
||
// integration.py - N8nWorkflowNode
|
||
'webhook-url': 'Webhook URL',
|
||
// integration.py - LangflowFlowNode
|
||
'flow-id': '流程ID',
|
||
// integration.py - CozeBotNode
|
||
'bot-id': '机器人ID',
|
||
'api-base': 'API基础URL',
|
||
// process-configs.ts - TextTemplateNode
|
||
escape_html: '转义HTML',
|
||
trim_whitespace: '去除空白',
|
||
// process-configs.ts - JsonTransformNode
|
||
json_transform_type: 'JSON转换类型',
|
||
json_expression: 'JSON表达式',
|
||
mapping: '字段映射',
|
||
// process-configs.ts - CodeExecutorNode
|
||
code_language: '编程语言',
|
||
code_content: '代码内容',
|
||
// process-configs.ts - DataAggregatorNode
|
||
aggregation_type: '聚合类型',
|
||
separator: '分隔符',
|
||
field_path: '字段路径',
|
||
// process-configs.ts - TextSplitterNode
|
||
split_type: '分割类型',
|
||
chunk_size: '块大小',
|
||
chunk_overlap: '块重叠',
|
||
regex_pattern: '正则表达式',
|
||
remove_empty: '移除空块',
|
||
// process-configs.ts - VariableAssignmentNode
|
||
assign_variable_name: '变量名',
|
||
value_type: '值类型',
|
||
static_value: '静态值',
|
||
// integration-configs.ts - N8nWorkflowNode
|
||
n8n_webhook_url: 'Webhook URL',
|
||
n8n_auth_type: '认证方式',
|
||
// integration-configs.ts - LangflowFlowNode
|
||
langflow_flow_id: '流程ID',
|
||
// integration-configs.ts - CozeBotNode
|
||
coze_bot_id: '机器人ID',
|
||
coze_api_base: 'API基础URL',
|
||
},
|
||
},
|
||
unifiedBinding: {
|
||
bindingType: '绑定类型',
|
||
pipeline: '流水线',
|
||
workflow: '工作流',
|
||
pipelineDescription: '使用传统流水线处理消息',
|
||
workflowDescription: '使用可视化工作流处理消息',
|
||
selectPipeline: '选择流水线',
|
||
selectWorkflow: '选择工作流',
|
||
noPipelines: '暂无流水线',
|
||
noWorkflows: '暂无工作流',
|
||
createPipeline: '创建流水线',
|
||
createWorkflow: '创建工作流',
|
||
},
|
||
};
|
||
|
||
export default zhHans;
|