mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-02 03:55:55 +00:00
1571 lines
61 KiB
TypeScript
1571 lines
61 KiB
TypeScript
const zhHans = {
|
||
sidebar: {
|
||
home: '首页',
|
||
extensions: '扩展',
|
||
installedPlugins: '已安装扩展',
|
||
pluginMarket: '扩展市场',
|
||
mcpServers: 'MCP 服务器',
|
||
addExtension: '添加扩展',
|
||
pluginPages: '插件页面',
|
||
pluginPagesTooltip: '由已安装的插件提供的可视化页面',
|
||
quickStart: '快速开始向导',
|
||
scrollToBottom: '滚动到底部',
|
||
editionCommunity: '社区版',
|
||
editionCloud: '云端版',
|
||
},
|
||
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: '请选择',
|
||
skill: '技能',
|
||
cancel: '取消',
|
||
submit: '提交',
|
||
error: '错误',
|
||
success: '成功',
|
||
save: '保存',
|
||
saving: '保存中...',
|
||
recommend: '推荐',
|
||
start: '开始',
|
||
confirm: '确认',
|
||
confirmDelete: '确认删除',
|
||
deleteConfirmation: '你确定要删除这个吗?',
|
||
selectOption: '选择一个选项',
|
||
selectPreset: '选择预设',
|
||
required: '必填',
|
||
enable: '是否启用',
|
||
name: '名称',
|
||
description: '描述',
|
||
icon: '图标',
|
||
close: '关闭',
|
||
deleteSuccess: '删除成功',
|
||
deleteError: '删除失败:',
|
||
addRound: '添加回合',
|
||
copy: '复制',
|
||
copySuccess: '复制成功',
|
||
copyFailed: '复制失败',
|
||
test: '测试',
|
||
forgotPassword: '忘记密码?',
|
||
agreementNotice: '继续即表示您同意我们的',
|
||
termsOfService: '服务条款',
|
||
privacyPolicy: '隐私政策',
|
||
and: '和',
|
||
dataCollectionPolicy: '数据收集政策',
|
||
dataCollectionPolicyUrl: 'https://link.langbot.app/zh/docs/data-policy',
|
||
loading: '加载中...',
|
||
fieldRequired: '此字段为必填项',
|
||
or: '或',
|
||
loginWithSpace: '通过 Space 登录',
|
||
spaceLoginRecommended: '推荐:使用官方提供的稳定模型 API 和云服务',
|
||
loginLocal: '使用本地账号登录',
|
||
loginWithPassword: '通过密码登录',
|
||
spaceLoginTitle: '通过 Space 登录',
|
||
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: '暂无内容',
|
||
},
|
||
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: '布尔值',
|
||
object: '对象',
|
||
objectJsonPlaceholder: '{ "type": "disabled" }',
|
||
invalidJsonObject: '值必须是有效的 JSON 对象',
|
||
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: '群聊',
|
||
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: '安装插件',
|
||
newPlugin: '新建插件',
|
||
onlySupportGithub: '目前仅支持从 GitHub 安装',
|
||
enterGithubLink: '请输入插件的Github链接',
|
||
installing: '正在安装插件...',
|
||
installSuccess: '插件安装成功',
|
||
installFailed: '插件安装失败:',
|
||
searchPlugin: '搜索插件',
|
||
sortBy: '排序方式',
|
||
mostStars: '最多星标',
|
||
recentlyAdded: '最近新增',
|
||
recentlyUpdated: '最近更新',
|
||
noMatchingPlugins: '没有找到匹配的插件',
|
||
loading: '加载中...',
|
||
getPluginListError: '获取插件列表失败:',
|
||
pluginConfig: '插件配置',
|
||
noPluginInstalled: '暂未安装任何插件',
|
||
noExtensionInstalled: '暂未安装任何扩展',
|
||
loadingExtensions: '正在加载扩展...',
|
||
groupByType: '按格式分组',
|
||
pluginSort: '插件排序',
|
||
pluginSortDescription:
|
||
'插件顺序会影响同一事件内的处理顺序,请拖动插件卡片排序',
|
||
pluginSortSuccess: '插件排序成功',
|
||
pluginSortError: '插件排序失败:',
|
||
pluginNoConfig: '插件没有配置项。',
|
||
systemDisabled: '插件系统未启用',
|
||
systemDisabledDesc: '尚未启用插件系统,请根据文档修改配置',
|
||
connectionError: '插件系统连接异常',
|
||
connectionErrorDesc: '请检查插件系统配置或联系管理员',
|
||
errorDetails: '错误详情',
|
||
loadingStatus: '正在检查插件系统状态...',
|
||
failedToGetStatus: '获取插件系统状态失败',
|
||
pluginSystemNotReady: '插件系统未就绪,无法执行此操作',
|
||
debugInfo: '调试信息',
|
||
debugInfoTitle: '插件调试信息',
|
||
debugUrl: '调试地址',
|
||
debugKey: '调试密钥',
|
||
noDebugKey: '(未设置)',
|
||
debugKeyDisabled: '未设置调试密钥,插件调试无需认证',
|
||
boxStatusTitle: 'Box 运行时',
|
||
boxStatus: '状态',
|
||
boxConnected: '已连接',
|
||
boxUnavailable: '不可用',
|
||
boxBackend: '后端',
|
||
boxProfile: '配置',
|
||
boxSandboxes: '沙箱数',
|
||
boxErrors: '错误数',
|
||
boxSessionImage: '镜像',
|
||
boxSessionBackend: '后端',
|
||
boxSessionResources: '资源',
|
||
boxSessionNetwork: '网络',
|
||
boxStatusLoadFailed: '加载 Box 状态失败',
|
||
failedToGetDebugInfo: '获取调试信息失败',
|
||
copiedToClipboard: '已复制到剪贴板',
|
||
deleting: '删除中...',
|
||
deletePlugin: '删除插件',
|
||
cancel: '取消',
|
||
saveConfig: '保存配置',
|
||
saving: '保存中...',
|
||
confirmDeletePlugin: '你确定要删除插件({{author}}/{{name}})吗?',
|
||
deleteDataCheckbox: '同时删除插件配置和持久化存储',
|
||
confirmDelete: '确认删除',
|
||
deleteError: '删除失败:',
|
||
close: '关闭',
|
||
deleteConfirm: '删除确认',
|
||
deleteSuccess: '删除成功',
|
||
dangerZone: '危险区域',
|
||
dangerZoneDescription: '不可逆的操作',
|
||
modifyFailed: '修改失败:',
|
||
componentName: {
|
||
Tool: '工具',
|
||
EventListener: '事件监听器',
|
||
Command: '命令',
|
||
KnowledgeEngine: '知识引擎',
|
||
Parser: '解析器',
|
||
Page: '页面',
|
||
},
|
||
uploadLocal: '本地上传',
|
||
debugging: '调试中',
|
||
uploadLocalPlugin: '上传本地插件',
|
||
localPreview: {
|
||
title: '预览本地插件包',
|
||
unpacking: '正在解包预览...',
|
||
unpackComplete: '解包预览完成',
|
||
failed: '解包预览失败',
|
||
pluginInfo: '插件信息',
|
||
packageInfo: '包信息',
|
||
name: '名称',
|
||
author: '作者',
|
||
version: '版本',
|
||
fileCount: '文件数',
|
||
dependencies: '依赖',
|
||
components: '组件',
|
||
ready: '插件包已解包,确认后开始安装。',
|
||
},
|
||
uploadPluginOnly: '仅支持 .lbpkg 文件',
|
||
dragToUpload: '拖拽文件到此处上传',
|
||
unsupportedFileType: '不支持的文件类型,仅支持 .lbpkg 文件',
|
||
uploadingPlugin: '正在上传插件...',
|
||
uploadSuccess: '上传成功',
|
||
uploadFailed: '上传失败',
|
||
selectFileToUpload: '选择要上传的插件文件',
|
||
askConfirm: '确定要安装插件 "{{name}}" ({{version}}) 吗?',
|
||
askConfirmNoVersion: '确定要安装插件 "{{name}}" 吗?',
|
||
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: '扩展安装',
|
||
titlePlugin: '正在安装插件 {{name}}',
|
||
titleMCP: '正在安装 MCP 服务器 {{name}}',
|
||
titleSkill: '正在安装技能 {{name}}',
|
||
overallProgress: '总体进度',
|
||
downloading: '下载中',
|
||
installingDeps: '安装依赖',
|
||
initializing: '初始化配置',
|
||
launching: '启动中',
|
||
completed: '已完成',
|
||
failed: '安装失败',
|
||
downloadSize: '包大小: {{size}}',
|
||
depsInfo: '共 {{count}} 个依赖需要安装',
|
||
depsProgress: '已安装 {{installed}}/{{total}} · 剩余 {{remaining}} 个',
|
||
installComplete: '安装成功',
|
||
installCompletePlugin: '插件安装成功',
|
||
installCompleteMCP: 'MCP 服务器安装成功',
|
||
installCompleteSkill: '技能安装成功',
|
||
dismiss: '关闭',
|
||
background: '后台运行',
|
||
taskQueue: '安装任务',
|
||
clearCompleted: '清除已完成',
|
||
noTasks: '暂无安装任务',
|
||
},
|
||
},
|
||
market: {
|
||
searchPlaceholder: '搜索插件...',
|
||
searchResults: '搜索到 {{count}} 个插件',
|
||
totalPlugins: '共 {{count}} 个插件',
|
||
noPlugins: '暂无插件',
|
||
noResults: '未找到相关插件',
|
||
loadingMore: '加载更多...',
|
||
loading: '加载中...',
|
||
allLoaded: '已显示全部插件',
|
||
install: '安装',
|
||
installCard: '安装 {{name}}',
|
||
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: '插件组件',
|
||
filterByComponentHint:
|
||
'插件提供的能力类型,如工具(Tool)、命令(Command)、事件监听器(EventListener)等,用于扩展 LangBot 的各项能力。按组件筛选可只看提供对应能力的插件。',
|
||
allComponents: '全部组件',
|
||
componentName: {
|
||
Tool: '工具',
|
||
EventListener: '事件监听器',
|
||
Command: '命令',
|
||
KnowledgeEngine: '知识引擎',
|
||
Parser: '解析器',
|
||
Page: '页面',
|
||
},
|
||
filterByType: '类型',
|
||
allTypes: '全部类型',
|
||
typePlugin: '插件',
|
||
typeMCP: 'MCP',
|
||
typeSkill: '技能',
|
||
requestPlugin: '请求插件',
|
||
tags: {
|
||
filterByTags: '按标签筛选',
|
||
selected: '已选',
|
||
selectTags: '选择标签',
|
||
clearAll: '清空',
|
||
noTags: '暂无标签',
|
||
},
|
||
filters: {
|
||
allFormats: '全部格式',
|
||
more: '筛选',
|
||
advancedTitle: '高级筛选',
|
||
advancedDescription:
|
||
'普通用户通常不需要选择这些类型;仅在你明确知道扩展格式时使用。',
|
||
technicalType: '扩展格式',
|
||
},
|
||
allExtensions: '全部扩展',
|
||
viewDetails: '查看详情',
|
||
deprecated: '已弃用',
|
||
deprecatedTooltip: '请安装对应「知识引擎」插件',
|
||
},
|
||
mcp: {
|
||
title: 'MCP',
|
||
createServer: '添加 MCP 服务器',
|
||
addMCPServer: '添加 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: '连接失败',
|
||
boxDisabledStdioRefused:
|
||
'Stdio 模式的 MCP 服务器依赖 Box 沙箱,目前已在配置中禁用(box.enabled = false)。',
|
||
boxUnavailableStdioRefused:
|
||
'Stdio 模式的 MCP 服务器依赖 Box 沙箱,目前无法连接。',
|
||
boxStdioRefusedSuggestion:
|
||
'请启用 Box(box.enabled = true)并确认运行时连接正常,或将此服务器切换到 http/sse 模式。',
|
||
boxRequired: '需要 Box',
|
||
stdioBlockedByBoxToast:
|
||
'Box 沙箱已禁用或不可用,无法保存 stdio 模式的 MCP。请启用 Box 或改为 http/sse 模式。',
|
||
toolsFound: '个工具',
|
||
unknownError: '未知错误',
|
||
noToolsFound: '未找到任何工具',
|
||
parseResultFailed: '解析测试结果失败',
|
||
noResultReturned: '测试未返回结果',
|
||
getTaskFailed: '获取任务状态失败',
|
||
noTaskId: '未获取到任务ID',
|
||
deleteSuccess: '删除成功',
|
||
deleteFailed: '删除失败:',
|
||
deleteError: '删除失败:',
|
||
saveSuccess: '保存成功',
|
||
saveError: '保存失败:',
|
||
createSuccess: '创建成功',
|
||
createFailed: '创建失败:',
|
||
createError: '创建失败:',
|
||
loadFailed: '加载失败',
|
||
modifyFailed: '修改失败:',
|
||
toolCount: '工具:{{count}}',
|
||
parameterCount: '参数:{{count}}',
|
||
noParameters: '无参数',
|
||
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 服务器',
|
||
enableAllSkills: '启用所有技能',
|
||
allPluginsEnabled: '已启用所有插件',
|
||
allMCPServersEnabled: '已启用所有 MCP 服务器',
|
||
allSkillsEnabled: '已启用所有技能',
|
||
skillsTitle: '技能',
|
||
noSkillsSelected: '未选择任何技能',
|
||
addSkill: '添加技能',
|
||
selectSkills: '选择技能',
|
||
noSkillsAvailable: '暂无可用技能',
|
||
},
|
||
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: '编辑模式下不可修改',
|
||
engineSettingsInvalid: '引擎设置中存在无效项,请检查必填字段',
|
||
retrievalSettingsInvalid: '检索设置中存在无效项,请检查必填字段',
|
||
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: '用户反馈',
|
||
},
|
||
systemStatus: '系统状态',
|
||
pluginRuntime: '插件运行时',
|
||
boxRuntime: 'Box 运行时',
|
||
connected: '已连接',
|
||
disconnected: '未连接',
|
||
disabled: '已禁用',
|
||
statusDetail: '状态',
|
||
pluginDisabled: '插件系统已禁用',
|
||
boxDisabled:
|
||
'Box 沙箱已在配置中禁用——沙箱工具、技能添加/编辑与 stdio MCP 均不可用',
|
||
boxUnavailable:
|
||
'Box 沙箱不可用——沙箱工具、技能添加/编辑与 stdio MCP 均不可用',
|
||
boxRequiredHint:
|
||
'此功能依赖 Box 运行时。请在配置中启用(box.enabled = true)并确认运行时连接正常。',
|
||
boxBackend: '后端',
|
||
boxProfile: '配置',
|
||
boxSandboxes: '沙箱数',
|
||
boxSessionCreated: '创建时间',
|
||
boxSessionLastUsed: '最后使用',
|
||
},
|
||
storageAnalysis: {
|
||
title: '存储分析',
|
||
description: '查看存储占用和可清理文件',
|
||
openDialog: '查看分析',
|
||
dialogTitle: '存储分析',
|
||
generatedAt: '生成时间 {{time}}',
|
||
loading: '加载中...',
|
||
refresh: '刷新',
|
||
totalSize: '总占用',
|
||
binaryStorage: '插件二进制存储',
|
||
uploadCleanup: '过期上传文件',
|
||
logCleanup: '过期日志',
|
||
sections: '存储分区',
|
||
monitoringTables: '监控表',
|
||
runtimeTasks: '运行任务',
|
||
cleanupPolicy: '清理策略',
|
||
uploadRetention: '上传文件保留',
|
||
logRetention: '日志保留',
|
||
databaseType: '数据库类型',
|
||
days: '天',
|
||
missing: '不存在',
|
||
expiredUploads: '过期上传文件',
|
||
expiredLogs: '过期日志',
|
||
noExpiredUploads: '暂无过期上传文件',
|
||
noExpiredLogs: '暂无过期日志',
|
||
sectionNames: {
|
||
database: '数据库',
|
||
logs: '日志',
|
||
storage: '上传文件',
|
||
vector_store: '向量库',
|
||
plugins: '插件',
|
||
mcp: 'MCP',
|
||
temp: '临时文件',
|
||
},
|
||
},
|
||
limitation: {
|
||
maxBotsReached:
|
||
'已达到机器人数量上限({{max}}个)。请先删除已有机器人后再创建新的。',
|
||
maxPipelinesReached:
|
||
'已达到流水线数量上限({{max}}个)。请先删除已有流水线后再创建新的。',
|
||
maxExtensionsReached:
|
||
'已达到扩展数量上限({{max}}个)。请先删除已有扩展后再添加新的。',
|
||
},
|
||
skills: {
|
||
title: '技能',
|
||
description: '创建和管理可在对话中激活的技能',
|
||
createSkill: '创建技能',
|
||
createSkillDescription: '导入本地目录或手动填写信息创建',
|
||
editSkill: '编辑技能',
|
||
getSkillListError: '获取技能列表失败:',
|
||
skillName: '技能名称',
|
||
displayName: '技能名称',
|
||
displayNamePlaceholder: '显示名称(支持中文)',
|
||
skillSlug: '目录名称',
|
||
skillSlugPlaceholder: 'english-name-only',
|
||
skillSlugHelp: '用作技能目录名,仅支持英文字母、数字、连字符和下划线。',
|
||
skillDescription: '技能描述',
|
||
skillInstructions: '指令内容',
|
||
saveSuccess: '保存成功',
|
||
saveError: '保存失败:',
|
||
createSuccess: '创建成功',
|
||
createError: '创建失败:',
|
||
deleteSuccess: '删除成功',
|
||
deleteError: '删除失败:',
|
||
deleteConfirmation: '你确定要删除这个技能吗?',
|
||
delete: '删除技能',
|
||
skillNameRequired: '技能名称不能为空',
|
||
skillDescriptionRequired: '技能描述不能为空',
|
||
packageRootRequired: '技能目录不能为空',
|
||
scan: '扫描',
|
||
scanSuccess: '目录扫描成功',
|
||
scanError: '扫描目录失败:',
|
||
noSkills: '暂未配置任何技能',
|
||
preview: '预览',
|
||
previewInstructions: 'SKILL.md 内容预览',
|
||
instructionsPlaceholder: '使用 Markdown 格式输入技能指令...',
|
||
descriptionPlaceholder: '简短描述此技能的功能(会展示给 LLM)',
|
||
packageRoot: '技能目录',
|
||
packageRootHelp:
|
||
'非必填。仅在导入已有技能目录时需要填写,新建技能可留空。扫描会检查当前目录及两级子目录。',
|
||
importLocalDirectory: '导入本地技能目录',
|
||
chooseSkillDirectory: '选择 SKILL.md 所在目录',
|
||
chooseAnotherDirectory: '重新选择目录',
|
||
importingDirectory: '正在预览...',
|
||
clearDirectoryPreview: '清除已选目录',
|
||
noSkillMdInDirectory: '选择的目录中没有找到 SKILL.md',
|
||
multipleSkillMdInDirectory:
|
||
'选择的目录中包含多个 SKILL.md,请直接选择单个技能目录。',
|
||
importDirectoryError: '导入目录失败:',
|
||
advancedSettings: '高级设置',
|
||
searchSkills: '搜索技能...',
|
||
selectSkills: '选择技能',
|
||
builtin: '内置',
|
||
addSkill: '添加技能',
|
||
importFromGithub: '从 GitHub 安装技能',
|
||
createManually: '手动创建',
|
||
uploadZip: '上传 ZIP 包',
|
||
uploadZipOnly: '仅支持 .zip 技能包',
|
||
installSuccess: '技能安装成功',
|
||
installError: '安装技能失败:',
|
||
enterRepoUrl: '输入 GitHub 仓库地址',
|
||
repoUrlPlaceholder: '例如 https://github.com/owner/repo',
|
||
fetchingReleases: '正在获取发布版本...',
|
||
selectRelease: '选择发布版本',
|
||
noReleasesFound: '未找到发布版本',
|
||
fetchReleasesError: '获取发布版本失败:',
|
||
selectAsset: '选择要安装的文件',
|
||
sourceArchive: '源码包 (zip)',
|
||
noAssetsFound: '此版本暂无可安装的文件',
|
||
fetchAssetsError: '获取文件列表失败:',
|
||
backToReleases: '返回版本列表',
|
||
backToRepoUrl: '返回仓库地址',
|
||
backToAssets: '返回文件列表',
|
||
releaseTag: '标签:{{tag}}',
|
||
publishedAt: '发布于:{{date}}',
|
||
prerelease: '预发布',
|
||
assetSize: '大小:{{size}}',
|
||
confirmInstall: '确认安装',
|
||
installing: '正在安装技能...',
|
||
loading: '加载中...',
|
||
previewLoadError: '加载预览失败',
|
||
selectFromSidebar: '从侧边栏选择一个技能',
|
||
dangerZone: '危险区域',
|
||
dangerZoneDescription: '不可逆的操作',
|
||
files: '文件',
|
||
noFiles: '暂无文件',
|
||
loadFilesError: '加载文件失败:',
|
||
readFileError: '读取文件失败:',
|
||
saveFile: '保存文件',
|
||
saveFileSuccess: '文件保存成功',
|
||
saveFileError: '保存文件失败:',
|
||
},
|
||
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: '返回工作台',
|
||
},
|
||
},
|
||
addExtension: {
|
||
installTitle: '安装{{type}}',
|
||
installConfirm: '确定要安装{{type}} "{{name}}" 吗?',
|
||
installInfoType: '类型',
|
||
installInfoId: '标识',
|
||
installInfoVersion: '版本',
|
||
installSuccess: '安装成功',
|
||
installStage: {
|
||
mcpInstalling: '正在添加并连接 MCP 服务器…',
|
||
skillInstalling: '正在安装技能…',
|
||
installed: '已完成',
|
||
},
|
||
manualAdd: '手动添加',
|
||
uploadExtension: '拖拽或点击上传扩展包',
|
||
uploadHint: '支持 .zip(技能)和 .lbpkg(插件)文件',
|
||
orContinueWith: '或选择以下操作',
|
||
addMCPServerHint: '连接一个 MCP 工具服务器扩展',
|
||
installFromGithub: '从 GitHub 安装',
|
||
installFromGithubHint: '插件包或技能(SKILL.md)',
|
||
githubUrlHelp: '粘贴 GitHub 地址',
|
||
githubUrlTooltip:
|
||
'插件:粘贴仓库、Release 或 Tag 地址。技能:粘贴技能目录里的 SKILL.md 页面地址。',
|
||
githubUrlPlaceholder: 'GitHub 仓库、Release 或 SKILL.md 链接',
|
||
githubUrlRequired: '请输入 GitHub 地址',
|
||
previewSkill: '预览技能',
|
||
noSkillPreviewFound: '未找到可导入的技能',
|
||
createSkill: '创建新的技能',
|
||
createSkillHint: '从本地目录导入或手动创建',
|
||
unsupportedFileType: '不支持的文件类型,仅支持 .zip 和 .lbpkg 文件',
|
||
},
|
||
errorPage: {
|
||
unexpectedError: '出错了',
|
||
unexpectedErrorDescription: '发生了意外错误,请稍后重试。',
|
||
notFound: '页面未找到',
|
||
notFoundDescription: '你访问的页面不存在或已被移动。',
|
||
backendUnavailableStatus: '后端服务不可用',
|
||
goBack: '返回上页',
|
||
backToHome: '返回首页',
|
||
backToLogin: '返回登录',
|
||
retrying: '正在重试',
|
||
retryFailed: '仍然无法连接后端,请确认服务已启动后再重试。',
|
||
},
|
||
feishu: {
|
||
createApp: '一键创建飞书应用',
|
||
scanQRCode: '请使用飞书扫描以下二维码,授权后将自动创建应用并填写凭据',
|
||
waitingForScan: '等待扫码中',
|
||
createSuccess: '应用创建成功!凭据已自动填入',
|
||
createFailed: '创建失败',
|
||
connecting: '正在连接飞书服务...',
|
||
expired: '二维码已过期,请重试',
|
||
denied: '用户已拒绝授权',
|
||
connectionLost: '连接已断开,请重试',
|
||
reconnecting: '正在重新连接...',
|
||
retry: '重试',
|
||
},
|
||
weixin: {
|
||
scanLogin: '扫码登录微信',
|
||
scanQRCode: '请使用微信扫描以下二维码,授权后将自动登录并填写令牌',
|
||
loginSuccess: '登录成功!令牌已自动填入',
|
||
loginFailed: '登录失败',
|
||
},
|
||
dingtalk: {
|
||
createApp: '一键创建钉钉应用',
|
||
scanQRCode: '请使用钉钉扫描以下二维码,授权后将自动创建应用并填写凭据',
|
||
waitingForScan: '等待扫码中',
|
||
createSuccess: '应用创建成功!凭据已自动填入',
|
||
createFailed: '创建失败',
|
||
connecting: '正在连接钉钉服务...',
|
||
retry: '重试',
|
||
robotCodeNote:
|
||
'机器人代码无法自动获取,请前往钉钉开发者后台 > 机器人配置中手动复制。识图、上传文件等功能需要填写此字段。',
|
||
},
|
||
wecombot: {
|
||
createBot: '一键创建企业微信机器人',
|
||
scanQRCode:
|
||
'请使用企业微信扫描以下二维码,授权后将自动创建机器人并填写凭据',
|
||
waitingForScan: '等待扫码中',
|
||
createSuccess: '机器人创建成功!凭据已自动填入',
|
||
createFailed: '创建失败',
|
||
connecting: '正在连接企业微信服务...',
|
||
retry: '重试',
|
||
robotNameNote: '机器人名称无法自动获取,请手动填写。',
|
||
},
|
||
pluginPages: {
|
||
selectFromSidebar: '从侧边栏选择一个插件页面',
|
||
invalidPage: '无效的插件页面',
|
||
},
|
||
};
|
||
|
||
export default zhHans;
|