Files
LangBot/web/src/i18n/locales/zh-Hans.ts
T
2026-05-05 15:08:04 +08:00

2103 lines
78 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;