- Updated PersonalityForm to handle multiple reply styles and probabilities. - Removed unused fields from PersonalityConfig and adjusted default values. - Refactored loadPersonalityConfig and loadEmojiConfig to align with new structure. - Introduced ChatComposer, ChatHeaderBar, ChatWorkspaceSidebar, and MessageList components for improved chat interface. - Enhanced user experience with dynamic message rendering and connection status indicators. - Cleaned up API calls for saving configurations, focusing on essential fields. Co-authored-by: Copilot <copilot@github.com>
885 lines
36 KiB
JSON
885 lines
36 KiB
JSON
{
|
||
"header": {
|
||
"collapseSidebar": "收起侧边栏",
|
||
"expandSidebar": "展开侧边栏",
|
||
"toggleConnection": "切换后端连接",
|
||
"viewAnnualSummary": "查看年度总结",
|
||
"annualSummary": "2025 年度总结",
|
||
"searchPlaceholder": "搜索...",
|
||
"viewDocs": "查看麦麦文档",
|
||
"docs": "麦麦文档",
|
||
"switchToLight": "切换到浅色模式",
|
||
"switchToDark": "切换到深色模式",
|
||
"logout": "登出系统",
|
||
"logoutLabel": "登出",
|
||
"notConnected": "未连接"
|
||
},
|
||
"sidebar": {
|
||
"groups": {
|
||
"overview": "概览",
|
||
"botConfig": "麦麦配置编辑",
|
||
"botResources": "麦麦资源管理",
|
||
"extensionsMonitor": "扩展与监控",
|
||
"system": "系统"
|
||
},
|
||
"menu": {
|
||
"home": "首页",
|
||
"botMainConfig": "麦麦主程序配置",
|
||
"aiModelProvider": "AI模型厂商配置",
|
||
"modelManagement": "模型管理与分配",
|
||
"adapterConfig": "麦麦适配器配置",
|
||
"emojiManagement": "表情包管理",
|
||
"expressionManagement": "表达方式管理",
|
||
"slangManagement": "黑话管理",
|
||
"personInfo": "人物信息管理",
|
||
"knowledgeGraph": "长期记忆图谱",
|
||
"knowledgeBase": "长期记忆控制台",
|
||
"pluginMarket": "插件市场",
|
||
"configTemplate": "配置模板市场",
|
||
"pluginConfig": "插件配置",
|
||
"logViewer": "日志查看器",
|
||
"maisakaMonitor": "MaiSaka 聊天流监控",
|
||
"localChat": "本地聊天室",
|
||
"settings": "系统设置"
|
||
}
|
||
},
|
||
"workspace": {
|
||
"switcherLabel": "切换麦麦工作区",
|
||
"settings": "麦麦设置",
|
||
"chat": "麦麦聊天"
|
||
},
|
||
"chat": {
|
||
"defaultTab": "WebUI",
|
||
"botNameFallback": "麦麦",
|
||
"userFallback": "用户",
|
||
"userNameFallback": "WebUI用户",
|
||
"virtualGroupFallback": "WebUI虚拟群聊",
|
||
"status": {
|
||
"connected": "已连接",
|
||
"connecting": "连接中...",
|
||
"disconnected": "未连接"
|
||
},
|
||
"actions": {
|
||
"cancel": "取消",
|
||
"reconnect": "重新连接",
|
||
"save": "保存",
|
||
"send": "发送消息"
|
||
},
|
||
"identity": {
|
||
"current": "当前身份:",
|
||
"editName": "修改昵称",
|
||
"group": "群:{{group}}",
|
||
"namePlaceholder": "输入昵称",
|
||
"virtual": "虚拟身份:"
|
||
},
|
||
"input": {
|
||
"placeholder": "输入消息...",
|
||
"waiting": "等待连接..."
|
||
},
|
||
"message": {
|
||
"empty": "开始与 {{bot}} 对话吧!",
|
||
"emptyHint": "在下方输入框输入消息,按 Enter 发送",
|
||
"errorFallback": "发生错误",
|
||
"thinking": "思考中..."
|
||
},
|
||
"composer": {
|
||
"hint": "Enter 发送 · Shift + Enter 换行"
|
||
},
|
||
"sidebar": {
|
||
"closeConversation": "关闭 {{label}}",
|
||
"conversations": "聊天会话",
|
||
"emptyPreview": "暂无消息",
|
||
"identityHint": "本地聊天室身份",
|
||
"newVirtual": "新建虚拟身份对话",
|
||
"online": "在线",
|
||
"offline": "离线",
|
||
"subtitle": "{{count}} 个会话",
|
||
"title": "聊天",
|
||
"webuiBadge": "WebUI",
|
||
"virtualBadge": "虚拟",
|
||
"profileTitle": "我的身份",
|
||
"editName": "编辑昵称",
|
||
"saveName": "保存"
|
||
},
|
||
"dialog": {
|
||
"create": "创建对话",
|
||
"description": "选择一个麦麦已认识的用户,以该用户的身份与麦麦对话。麦麦将使用她对该用户的记忆和认知来回应。",
|
||
"groupName": "虚拟群名(可选)",
|
||
"groupNameHint": "麦麦会认为这是一个名为此名称的群聊",
|
||
"knownUserSuffix": " · 已认识",
|
||
"loading": "加载中...",
|
||
"noUsers": "没有找到用户",
|
||
"personCount": "({{count}} 人)",
|
||
"platform": "选择平台",
|
||
"platformPlaceholder": "选择平台",
|
||
"searchUser": "搜索用户名...",
|
||
"title": "新建虚拟身份对话",
|
||
"user": "选择用户"
|
||
},
|
||
"media": {
|
||
"audioUnsupported": "您的浏览器不支持音频播放",
|
||
"emoji": "表情包",
|
||
"face": "[表情:{{data}}]",
|
||
"file": "[文件: {{data}}]",
|
||
"forward": "[转发消息]",
|
||
"image": "图片",
|
||
"loadFailed": "[{{type}}加载失败]",
|
||
"music": "[音乐分享]",
|
||
"noCaptions": "无字幕",
|
||
"reply": "[回复消息]",
|
||
"unknown": "[{{type}}]",
|
||
"unknownMessage": "未知消息",
|
||
"videoUnsupported": "您的浏览器不支持视频播放"
|
||
},
|
||
"toast": {
|
||
"backendUnavailable": "无法连接到后端服务,请确保 MaiBot 已启动",
|
||
"backendUnavailableShort": "无法连接到后端服务",
|
||
"connectionFailed": "连接失败",
|
||
"currentSessionUnavailable": "当前聊天会话不可用,请稍后重试",
|
||
"error": "错误",
|
||
"incompleteConfig": "配置不完整",
|
||
"networkError": "网络错误",
|
||
"platformFailed": "获取平台失败",
|
||
"selectPlatformAndUser": "请选择平台和用户",
|
||
"sendFailed": "发送失败",
|
||
"serverError": "服务器返回错误: {{status}}",
|
||
"sessionUnavailable": "无法建立聊天会话,请稍后重试",
|
||
"virtualTabCreated": "虚拟身份标签页",
|
||
"virtualTabCreatedDesc": "已创建 {{label}} 的对话"
|
||
}
|
||
},
|
||
"layout": {
|
||
"verifyingLogin": "正在验证登录状态...",
|
||
"logoTitle": "MaiBot WebUI",
|
||
"logoTitleShort": "M"
|
||
},
|
||
"httpWarning": {
|
||
"title": "安全提示:",
|
||
"message": "当前正在通过 HTTP 访问 WebUI。",
|
||
"description": "非本地 HTTP 连接可能暴露访问令牌和配置内容,建议改用 HTTPS 或受信任的内网连接。",
|
||
"dismiss": "关闭 HTTP 安全提示"
|
||
},
|
||
"settings": {
|
||
"title": "系统设置",
|
||
"description": "管理您的应用偏好设置",
|
||
"tabs": {
|
||
"appearance": "外观",
|
||
"security": "安全",
|
||
"other": "其他",
|
||
"about": "关于"
|
||
},
|
||
"appearance": {
|
||
"themeMode": "主题模式",
|
||
"themeModeDesc": "浅色/深色/跟随系统",
|
||
"light": "浅色",
|
||
"dark": "深色",
|
||
"system": "跟随系统",
|
||
"accentColor": "主题色",
|
||
"resetDefault": "重置默认",
|
||
"colorPreview": "实时色板预览",
|
||
"styleTweaks": "界面样式微调",
|
||
"typography": "字体排版",
|
||
"visualEffects": "视觉效果",
|
||
"layout": "布局",
|
||
"animation": "动画",
|
||
"background": "背景设置",
|
||
"customCss": "自定义 CSS",
|
||
"animationEffect": "动画效果",
|
||
"importExportTheme": "主题导入/导出",
|
||
"importTheme": "导入主题",
|
||
"exportTheme": "导出主题",
|
||
"importSuccess": "导入成功",
|
||
"importFailed": "导入失败",
|
||
"resetSuccess": "重置成功",
|
||
"fontFamily": "字体",
|
||
"fontSize": "字号",
|
||
"borderRadius": "圆角",
|
||
"contentWidth": "内容宽度",
|
||
"sidebarWidth": "侧边栏宽度",
|
||
"animationSpeed": "动画速度",
|
||
"backgroundImage": "背景图片",
|
||
"backgroundBlur": "背景模糊",
|
||
"backgroundOpacity": "背景透明度",
|
||
"lightDesc": "始终使用浅色主题",
|
||
"darkDesc": "始终使用深色主题",
|
||
"systemDesc": "根据系统设置自动切换",
|
||
"accentPrimary": "主色调",
|
||
"accentHint": "点击色环选择或输入 HEX 值",
|
||
"resetTheme": "重置为默认",
|
||
"confirmResetTheme": "确认重置主题",
|
||
"confirmResetThemeDesc": "这将重置所有主题设置为默认值,包括颜色、字体、布局和自定义 CSS。此操作不可撤销,确定要继续吗?",
|
||
"confirmResetAction": "确认重置",
|
||
"cssWarningTitle": "以下内容已被安全过滤:",
|
||
"cssPlaceholder": "/* 在这里输入自定义 CSS */\n\n/* 例如: */\n/* .sidebar { background: #1a1a2e; } */",
|
||
"cssDescription": "编写自定义 CSS 来进一步个性化界面。危险的 CSS(如 @import、url())将被自动过滤。",
|
||
"clearCss": "清除",
|
||
"exportDesc": "导出主题为 JSON 文件便于分享或备份,导入时会自动应用所有配置。",
|
||
"importSuccessDesc": "主题配置已导入,页面将自动刷新",
|
||
"resetSuccessDesc": "主题已重置为默认值",
|
||
"enableAnimations": "启用动画效果",
|
||
"enableAnimationsDesc": "关闭后将禁用所有过渡动画和特效,提升性能",
|
||
"loginWavesBackground": "登录页波浪背景",
|
||
"loginWavesBackgroundDesc": "关闭后登录页将使用纯色背景,适合低性能设备",
|
||
"inheritParentBg": "继承上级背景",
|
||
"inheritParentBgDesc": "开启后将使用上级层级的背景配置",
|
||
"fontFamilyLabel": "字体族 (Font Family)",
|
||
"fontFamilyPlaceholder": "选择字体族",
|
||
"fontFamilySystem": "系统默认 (System)",
|
||
"fontFamilySans": "无衬线 (Sans-serif)",
|
||
"fontFamilySerif": "衬线 (Serif)",
|
||
"fontFamilyMono": "等宽 (Monospace)",
|
||
"baseFontSize": "基准字体大小 (Base Size)",
|
||
"lineHeight": "行高 (Line Height)",
|
||
"lineHeightPlaceholder": "选择行高",
|
||
"lineHeightCompact": "紧凑 (1.2)",
|
||
"lineHeightNormal": "正常 (1.5)",
|
||
"lineHeightLoose": "宽松 (1.75)",
|
||
"borderRadiusLabel": "圆角大小 (Radius)",
|
||
"shadowLabel": "阴影强度 (Shadow)",
|
||
"shadowPlaceholder": "选择阴影强度",
|
||
"shadowNone": "无阴影 (None)",
|
||
"shadowSm": "轻微 (Small)",
|
||
"shadowMd": "中等 (Medium)",
|
||
"shadowLg": "强烈 (Large)",
|
||
"shadowXl": "极强 (Extra Large)",
|
||
"blurLabel": "模糊效果 (Blur)",
|
||
"sidebarWidthLabel": "侧边栏宽度 (Sidebar Width)",
|
||
"maxContentWidth": "内容区最大宽度 (Max Width)",
|
||
"spacingUnit": "基准间距 (Spacing Unit)",
|
||
"animationSpeedLabel": "动画速度 (Speed)",
|
||
"animationSpeedPlaceholder": "选择动画速度",
|
||
"animationFast": "快速 (100ms)",
|
||
"animationNormal": "正常 (300ms)",
|
||
"animationSlow": "慢速 (500ms)",
|
||
"animationOff": "关闭 (0ms)",
|
||
"bgPage": "页面",
|
||
"bgSidebar": "侧边栏",
|
||
"typographyGroup": "字体排版 (Typography)",
|
||
"visualGroup": "视觉效果 (Visual)",
|
||
"layoutGroup": "布局 (Layout)",
|
||
"animationGroup": "动画 (Animation)",
|
||
"backgroundGroup": "背景设置 (Backgrounds)"
|
||
},
|
||
"security": {
|
||
"currentToken": "当前 Access Token",
|
||
"yourToken": "您的访问令牌",
|
||
"regenerate": "重新生成",
|
||
"customToken": "自定义 Access Token",
|
||
"securityTip": "安全提示",
|
||
"cannotCopy": "无法复制",
|
||
"copySuccess": "复制成功",
|
||
"copyFailed": "复制失败",
|
||
"updateSuccess": "更新成功",
|
||
"updateFailed": "更新失败",
|
||
"generateSuccess": "生成成功",
|
||
"generateFailed": "生成失败",
|
||
"newToken": "新的 Access Token",
|
||
"confirmRegenerate": "确认重新生成 Token",
|
||
"confirmRegenerateDesc": "重新生成后,旧 Token 将失效,需重新登录",
|
||
"cancel": "取消",
|
||
"confirm": "确认",
|
||
"cannotCopyDesc": "Token 存储在安全 Cookie 中,请重新生成以获取新 Token",
|
||
"copySuccessDesc": "Token 已复制到剪贴板",
|
||
"copyFailedDesc": "请手动复制 Token",
|
||
"inputError": "输入错误",
|
||
"inputErrorDesc": "请输入新的 Token",
|
||
"formatError": "格式错误",
|
||
"formatErrorDesc": "Token 不符合要求: {{failedRules}}",
|
||
"updateSuccessDesc": "Access Token 已更新,即将跳转到登录页",
|
||
"updateFailedDesc": "无法更新 Token",
|
||
"updateFailedConn": "连接服务器失败",
|
||
"generateSuccessDesc": "新的 Access Token 已生成,请及时保存",
|
||
"generateFailedDesc": "无法生成新 Token",
|
||
"generateFailedConn": "连接服务器失败",
|
||
"cannotView": "无法查看",
|
||
"cannotViewDesc": "Token 存储在安全 Cookie 中,如需新 Token 请点击\"重新生成\"",
|
||
"hide": "隐藏",
|
||
"show": "显示",
|
||
"copyTip": "复制到剪贴板",
|
||
"regenerateShort": "生成",
|
||
"confirmRegenerateFullDesc": "这将生成一个新的 64 位安全令牌,并使当前 Token 立即失效。您需要使用新 Token 重新登录系统。此操作不可撤销,确定要继续吗?",
|
||
"confirmGenerate": "确认生成",
|
||
"tokenStorePlaceholder": "Token 存储在安全 Cookie 中",
|
||
"safekeepTip": "请妥善保管您的 Access Token,不要泄露给他人",
|
||
"newTokenLabel": "新的访问令牌",
|
||
"customTokenPlaceholder": "输入自定义 Token",
|
||
"tokenReqTitle": "Token 安全要求:",
|
||
"tokenValid": "Token 格式正确,可以使用",
|
||
"updateBtn": "更新自定义 Token",
|
||
"updating": "更新中...",
|
||
"dialogTitle": "新的 Access Token",
|
||
"dialogDesc": "这是您的新 Token,请立即保存。关闭此窗口后将跳转到登录页面。",
|
||
"dialogTokenLabel": "您的新 Token (64位安全令牌)",
|
||
"important": "重要提示",
|
||
"tip1": "此 Token 仅显示一次,关闭后无法再查看",
|
||
"tip2": "请立即复制并保存到安全的位置",
|
||
"tip3": "关闭窗口后将自动跳转到登录页面",
|
||
"tip4": "请使用新 Token 重新登录系统",
|
||
"copied": "已复制",
|
||
"copyToken": "复制 Token",
|
||
"savedClose": "我已保存,关闭",
|
||
"securityTip1": "重新生成 Token 会创建系统随机生成的 64 位安全令牌",
|
||
"securityTip2": "自定义 Token 必须满足所有安全要求才能使用",
|
||
"securityTip3": "更新 Token 后,旧的 Token 将立即失效",
|
||
"securityTip4": "请在安全的环境下查看和复制 Token",
|
||
"securityTip5": "如果怀疑 Token 泄露,请立即重新生成或更新",
|
||
"securityTip6": "建议使用系统生成的 Token 以获得最高安全性"
|
||
},
|
||
"other": {
|
||
"performance": "性能与存储",
|
||
"localStorage": "本地存储使用",
|
||
"logCache": "日志缓存大小",
|
||
"importExport": "导入/导出设置",
|
||
"configWizard": "配置向导",
|
||
"devTools": "开发者工具",
|
||
"clearStorage": "清空本地存储",
|
||
"clearStorageDesc": "清空所有本地存储数据",
|
||
"clearStorageConfirm": "确认清空",
|
||
"clearLogCache": "清空日志缓存",
|
||
"clearLogCacheDesc": "清空所有缓存的日志数据",
|
||
"clearLogCacheConfirm": "确认清空",
|
||
"importSettings": "导入设置",
|
||
"exportSettings": "导出设置",
|
||
"resetAllSettings": "重置所有设置",
|
||
"resetAllSettingsDesc": "将所有设置恢复到默认值",
|
||
"resetAllSettingsConfirm": "确认重置",
|
||
"clearStorageSuccess": "本地存储已清空",
|
||
"clearStorageFailed": "清空失败",
|
||
"clearLogSuccess": "日志缓存已清空",
|
||
"clearLogFailed": "清空失败",
|
||
"importSuccess": "导入成功",
|
||
"importFailed": "导入失败",
|
||
"exportSuccess": "导出成功",
|
||
"exportFailed": "导出失败",
|
||
"resetSuccess": "重置成功",
|
||
"resetFailed": "重置失败",
|
||
"storageItems": "{{count}} 个存储项",
|
||
"logCacheSizeDesc": "控制日志查看器最多缓存的日志条数,较大的值会占用更多内存",
|
||
"logCacheSizeUnit": "条",
|
||
"dataSyncIntervalLabel": "首页数据刷新间隔",
|
||
"dataSyncIntervalUnit": "秒",
|
||
"dataSyncIntervalDesc": "控制首页统计数据的自动刷新间隔",
|
||
"wsReconnectLabel": "WebSocket 重连间隔",
|
||
"wsReconnectUnit": "秒",
|
||
"wsReconnectDesc": "日志 WebSocket 连接断开后的重连基础间隔",
|
||
"wsMaxReconnectLabel": "WebSocket 最大重连次数",
|
||
"wsMaxReconnectUnit": "次",
|
||
"wsMaxReconnectDesc": "连接失败后的最大重连尝试次数",
|
||
"clearLogCacheFn": "清除日志缓存",
|
||
"clearLocalCache": "清除本地缓存",
|
||
"confirmClearCache": "确认清除本地缓存",
|
||
"confirmClearCacheDesc": "这将清除所有本地缓存的设置和数据(不包括登录凭证)。您可能需要重新配置部分偏好设置。确定要继续吗?",
|
||
"confirmClear": "确认清除",
|
||
"importExportDesc": "导出当前的界面设置以便备份,或从之前导出的文件中恢复设置。",
|
||
"exporting": "导出中...",
|
||
"importing": "导入中...",
|
||
"resetAllSettingsBtn": "重置所有设置为默认值",
|
||
"confirmResetAll": "确认重置所有设置",
|
||
"confirmResetAllDesc": "这将把所有界面设置恢复为默认值,包括主题、颜色、动画等偏好设置。此操作不会影响您的登录状态。确定要继续吗?",
|
||
"configWizardDesc": "重新进行初次配置向导,可以帮助您重新设置系统的基础配置。",
|
||
"rerunSetup": "重新进行初次配置",
|
||
"confirmRerunSetup": "确认重新配置",
|
||
"confirmRerunSetupDesc": "这将带您重新进入初次配置向导。您可以重新设置系统的基础配置项。确定要继续吗?",
|
||
"devToolsDesc": "以下功能仅供开发调试使用,可能会导致页面崩溃或异常。",
|
||
"triggerError": "触发测试错误",
|
||
"confirmTriggerError": "确认触发错误",
|
||
"confirmTriggerErrorDesc": "这将手动触发一个 React 错误,用于测试错误边界组件的显示效果。页面将显示错误界面,您可以通过刷新页面或点击返回首页来恢复。",
|
||
"confirmTrigger": "确认触发",
|
||
"logCleared": "日志已清除",
|
||
"logClearedDesc": "日志缓存已清空",
|
||
"cacheCleared": "缓存已清除",
|
||
"cacheClearedDesc": "已清除 {{count}} 项缓存数据",
|
||
"exportSuccessDesc": "设置已导出为 JSON 文件",
|
||
"exportFailedDesc": "无法导出设置",
|
||
"importSuccessDesc": "成功导入 {{imported}} 项设置",
|
||
"importSkippedSuffix": ",跳过 {{skipped}} 项",
|
||
"importRefreshHint": "提示",
|
||
"importRefreshHintDesc": "部分设置需要刷新页面才能完全生效",
|
||
"importNoDataDesc": "没有有效的设置项可导入",
|
||
"importInvalidDesc": "文件格式无效",
|
||
"resetDone": "已重置",
|
||
"resetDoneDesc": "所有设置已恢复为默认值,刷新页面以应用更改"
|
||
},
|
||
"about": {
|
||
"openSource": "开源项目",
|
||
"aboutApp": "关于 MaiBot Dashboard",
|
||
"version": "版本:",
|
||
"author": "作者",
|
||
"techStack": "技术栈",
|
||
"frontendFramework": "前端框架",
|
||
"uiComponents": "UI 组件",
|
||
"backend": "后端",
|
||
"buildTool": "构建工具",
|
||
"openSourceThanks": "开源库感谢",
|
||
"openSourceLicense": "开源许可",
|
||
"openSourceDesc": "本项目在 GitHub 开源,欢迎 Star ⭐ 支持!",
|
||
"visitGitHub": "前往 GitHub",
|
||
"appDesc": "麦麦(MaiBot)的现代化 Web 管理界面",
|
||
"maimaiCore": "MaiBot 核心",
|
||
"uiFrameworkGroup": "UI 框架与组件",
|
||
"routingStateGroup": "路由与状态管理",
|
||
"formGroup": "表单处理",
|
||
"utilsGroup": "工具库",
|
||
"animationGroup": "动画效果",
|
||
"backendGroup": "后端框架",
|
||
"devToolsGroup": "开发工具",
|
||
"openSourceThanksDesc": "本项目使用了以下优秀的开源库,感谢他们的贡献:",
|
||
"licenseDesc": "本项目采用 GNU General Public License v3.0 开源许可证。您可以自由地使用、修改和分发本软件,但必须保持相同的开源许可。",
|
||
"licenseDeps": "本项目依赖的所有开源库均遵循各自的开源许可证(MIT、Apache-2.0、BSD 等)。感谢所有开源贡献者的无私奉献。",
|
||
"lib": {
|
||
"react": "用户界面构建库",
|
||
"shadcn": "优雅的 React 组件库",
|
||
"radix": "无样式的可访问组件库",
|
||
"tailwind": "实用优先的 CSS 框架",
|
||
"lucide": "精美的图标库",
|
||
"tanstackRouter": "类型安全的路由库",
|
||
"zustand": "轻量级状态管理",
|
||
"reactHookForm": "高性能表单库",
|
||
"zod": "TypeScript 优先的 schema 验证",
|
||
"clsx": "条件 className 构建工具",
|
||
"tailwindMerge": "Tailwind 类名合并工具",
|
||
"cva": "组件变体管理",
|
||
"dateFns": "现代化日期处理库",
|
||
"framerMotion": "React 动画库",
|
||
"vaul": "抽屉组件动画",
|
||
"fastapi": "现代化 Python Web 框架",
|
||
"uvicorn": "ASGI 服务器",
|
||
"pydantic": "数据验证库",
|
||
"pythonMultipart": "文件上传支持",
|
||
"typescript": "JavaScript 的超集",
|
||
"vite": "下一代前端构建工具",
|
||
"eslint": "JavaScript 代码检查工具"
|
||
}
|
||
}
|
||
},
|
||
"auth": {
|
||
"title": "登录",
|
||
"description": "请输入访问令牌以继续",
|
||
"tokenLabel": "Access Token",
|
||
"tokenPlaceholder": "请输入 Access Token",
|
||
"loginButton": "登录",
|
||
"loggingIn": "登录中...",
|
||
"loginFailed": "登录失败",
|
||
"loginSuccess": "登录成功",
|
||
"checkingAuth": "正在检查登录状态...",
|
||
"welcome": "欢迎使用 MaiBot",
|
||
"accessDesc": "请输入您的 Access Token 以继续访问系统",
|
||
"tokenRequired": "请输入 Access Token",
|
||
"verifyingLabel": "验证中...",
|
||
"verifyEnter": "验证并进入",
|
||
"helpLink": "我没有 Token,我该去哪里获得 Token?",
|
||
"helpTitle": "如何获取 Access Token",
|
||
"helpDesc": "Access Token 是访问 MaiBot WebUI 的唯一凭证,请按以下方式获取",
|
||
"method1Title": "方式一:查看启动日志",
|
||
"method1Desc": "在 MaiBot 启动时,控制台会显示 WebUI Access Token。",
|
||
"method1Example1": "🔑 WebUI Access Token: abc123...",
|
||
"method1Example2": "💡 请使用此 Token 登录 WebUI",
|
||
"method2Title": "方式二:查看配置文件",
|
||
"method2Desc": "Token 保存在项目根目录的配置文件中:",
|
||
"method2FileHint": "打开此文件,复制 access_token 字段的值",
|
||
"securityTipTitle": "安全提示",
|
||
"securityTip1": "请妥善保管您的 Token,不要泄露给他人",
|
||
"securityTip2": "如需重置 Token,请在登录后前往系统设置",
|
||
"slowLink": "我觉得这个界面很卡怎么办?",
|
||
"disableAnimTitle": "关闭背景动画",
|
||
"disableAnimDesc": "背景动画可能会在低性能设备上造成卡顿。关闭动画可以显著提升界面流畅度。",
|
||
"disableAnimDetail": "关闭动画后,背景将变为纯色,但不影响任何功能的使用。您可以随时在系统设置中重新开启动画。",
|
||
"disableAnimBtn": "关闭动画",
|
||
"verifyFailed": "Token 验证失败,请检查后重试",
|
||
"connFailed": "连接服务器失败,请检查网络连接",
|
||
"switchToLight": "切换到浅色模式",
|
||
"switchToDark": "切换到深色模式"
|
||
},
|
||
"setupPage": {
|
||
"steps": {
|
||
"botBasic": {
|
||
"title": "Bot基础",
|
||
"description": "配置机器人的基本信息"
|
||
},
|
||
"personality": {
|
||
"title": "人格配置",
|
||
"description": "定义机器人的性格和说话风格"
|
||
},
|
||
"emoji": {
|
||
"title": "表情包",
|
||
"description": "配置表情包相关设置"
|
||
},
|
||
"other": {
|
||
"title": "其他设置",
|
||
"description": "配置全局黑话等基础选项"
|
||
},
|
||
"siliconFlow": {
|
||
"title": "API配置",
|
||
"description": "配置硅基流动 API 密钥"
|
||
}
|
||
},
|
||
"loading": {
|
||
"title": "加载配置中...",
|
||
"description": "正在读取现有配置"
|
||
},
|
||
"header": {
|
||
"title": "首次配置向导",
|
||
"description": "让我们一起完成 {{appName}} 的初始配置"
|
||
},
|
||
"progress": {
|
||
"stepCounter": "步骤 {{current}} / {{total}}"
|
||
},
|
||
"validation": {
|
||
"selectPlatform": "请选择平台",
|
||
"enterNickname": "请输入昵称",
|
||
"enterQqAccount": "请输入 QQ 账号",
|
||
"enterAccountId": "请输入账号 ID"
|
||
},
|
||
"toast": {
|
||
"loadFailedTitle": "加载配置失败",
|
||
"loadFailedDescription": "无法加载现有配置,将使用默认值",
|
||
"saveSuccessTitle": "保存成功",
|
||
"saveSuccessDescription": "{{step}} 配置已保存",
|
||
"saveFailedTitle": "保存失败",
|
||
"validationFailedTitle": "验证失败",
|
||
"completeSuccessTitle": "配置完成",
|
||
"completeSuccessDescription": "{{appName}} 正在重启以应用新配置...",
|
||
"completeFailedTitle": "配置失败",
|
||
"skipFailedTitle": "跳过失败",
|
||
"unknownError": "未知错误"
|
||
},
|
||
"actions": {
|
||
"previous": "上一步",
|
||
"next": "下一步",
|
||
"skip": "跳过向导",
|
||
"complete": "完成配置",
|
||
"saving": "保存中...",
|
||
"completing": "完成中..."
|
||
},
|
||
"skipDialog": {
|
||
"title": "确认跳过配置向导",
|
||
"description": "您可以随时在系统设置中重新进入配置向导。确定要跳过吗?",
|
||
"confirm": "确认跳过"
|
||
},
|
||
"footer": "您可以随时在设置中修改这些配置",
|
||
"defaults": {
|
||
"personality": {
|
||
"personality": "是一个女大学生,现在在读大二,会刷贴吧。",
|
||
"replyStyle": "请回复得平淡一些,简短一些,说中文,不要刻意突出自身学科背景。可以参考贴吧、知乎和微博的回复风格。",
|
||
"multipleReplyStyles": {
|
||
"plain": "你的风格平淡但不失讽刺,很简短,很白话。可以参考贴吧、微博的回复风格。",
|
||
"shortText": "用1-2个字进行回复",
|
||
"shortSymbol": "用1-2个符号进行回复",
|
||
"translation": "带点翻译腔,但不要太长"
|
||
}
|
||
},
|
||
"emoji": {
|
||
"filtrationPrompt": "符合公序良俗"
|
||
}
|
||
},
|
||
"forms": {
|
||
"botBasic": {
|
||
"platform": {
|
||
"label": "平台 *",
|
||
"placeholder": "请选择平台",
|
||
"description": "选择机器人运行的平台",
|
||
"options": {
|
||
"custom": "其他平台"
|
||
}
|
||
},
|
||
"customPlatform": {
|
||
"label": "平台名称 *",
|
||
"placeholder": "请输入平台名称,如 matrix"
|
||
},
|
||
"qqAccount": {
|
||
"label": "QQ账号 *",
|
||
"placeholder": "请输入机器人的 QQ 账号",
|
||
"description": "机器人登录使用的 QQ 账号"
|
||
},
|
||
"primaryAccount": {
|
||
"label": "账号 ID *",
|
||
"placeholder": "请输入机器人的账号 ID",
|
||
"description": "机器人在该平台上的账号标识"
|
||
},
|
||
"nickname": {
|
||
"label": "昵称 *",
|
||
"placeholder": "请输入机器人的昵称",
|
||
"description": "机器人的主要称呼名称"
|
||
},
|
||
"alias": {
|
||
"label": "别名",
|
||
"placeholder": "输入别名后按回车添加",
|
||
"add": "添加",
|
||
"description": "机器人的其他称呼,可以添加多个",
|
||
"remove": "移除别名 {{alias}}"
|
||
}
|
||
},
|
||
"personality": {
|
||
"personality": {
|
||
"label": "人格特征 *",
|
||
"placeholder": "描述机器人的人格特质和身份特征(建议 120 字以内)",
|
||
"description": "例如:是一个女大学生,现在在读大二,会刷贴吧"
|
||
},
|
||
"replyStyle": {
|
||
"label": "表达风格 *",
|
||
"placeholder": "描述机器人说话的表达风格、表达习惯",
|
||
"description": "例如:回复平淡一些,简短一些,说中文,参考贴吧、知乎和微博的回复风格"
|
||
},
|
||
"multipleReplyStyle": {
|
||
"label": "备用表达风格",
|
||
"placeholder": "每行输入一种备用表达风格",
|
||
"description": "当列表不为空时,麦麦会按概率从这些风格中随机替换默认表达风格"
|
||
},
|
||
"multipleProbability": {
|
||
"label": "备用风格触发概率",
|
||
"description": "每次构建回复时,从备用表达风格中随机替换默认表达风格的概率"
|
||
}
|
||
},
|
||
"emoji": {
|
||
"emojiSendNum": {
|
||
"label": "表情包候选数量",
|
||
"description": "每次发送前从多少个表情包中选择,最大为 64"
|
||
},
|
||
"maxRegNum": {
|
||
"label": "最大表情包数量",
|
||
"description": "机器人最多保存的表情包数量"
|
||
},
|
||
"doReplace": {
|
||
"label": "达到最大数量时替换",
|
||
"description": "开启后会删除旧表情包,关闭则不再收集新表情包"
|
||
},
|
||
"checkInterval": {
|
||
"label": "检查间隔(分钟)",
|
||
"description": "检查表情包注册、破损、删除的时间间隔"
|
||
},
|
||
"stealEmoji": {
|
||
"label": "偷取表情包",
|
||
"description": "允许机器人将一些表情包据为己有"
|
||
},
|
||
"contentFiltration": {
|
||
"label": "启用表情包过滤",
|
||
"description": "只保存符合要求的表情包"
|
||
},
|
||
"filtrationPrompt": {
|
||
"label": "过滤要求",
|
||
"placeholder": "例如:符合公序良俗",
|
||
"description": "描述表情包应该符合的要求"
|
||
}
|
||
},
|
||
"other": {
|
||
"allGlobal": {
|
||
"label": "启用全局黑话模式",
|
||
"description": "允许机器人学习和使用群组黑话"
|
||
}
|
||
},
|
||
"siliconFlow": {
|
||
"about": {
|
||
"title": "关于硅基流动 (SiliconFlow)",
|
||
"description": "硅基流动提供了完整的模型覆盖,包括 DeepSeek V3、Qwen、视觉模型、语音识别和嵌入模型。只需一个 API Key 即可使用麦麦的所有功能!",
|
||
"link": "前往硅基流动获取 API Key"
|
||
},
|
||
"apiKey": {
|
||
"label": "SiliconFlow API Key *",
|
||
"description": "请输入您的硅基流动 API 密钥。获取后,麦麦将自动配置所有必需的模型。",
|
||
"show": "显示 API Key",
|
||
"hide": "隐藏 API Key"
|
||
},
|
||
"autoConfig": {
|
||
"title": "将自动配置以下模型:",
|
||
"items": {
|
||
"deepseek": "DeepSeek V3 - 主要对话和工具模型",
|
||
"qwen3": "Qwen3 30B - 高频小任务和工具调用",
|
||
"qwen3Vl": "Qwen3 VL 30B - 图像识别",
|
||
"senseVoice": "SenseVoice - 语音识别",
|
||
"bgeM3": "BGE-M3 - 文本嵌入",
|
||
"lpmm": "知识库相关模型 (LPMM)"
|
||
}
|
||
},
|
||
"hint": {
|
||
"title": "💡 提示:",
|
||
"description": "完成向导后,您可以在“系统设置 -> 模型配置”中添加更多 API 提供商和模型。"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"common": {
|
||
"loading": "加载中...",
|
||
"error": "错误",
|
||
"retry": "重试",
|
||
"save": "保存",
|
||
"cancel": "取消",
|
||
"confirm": "确认",
|
||
"delete": "删除",
|
||
"edit": "编辑",
|
||
"close": "关闭",
|
||
"search": "搜索",
|
||
"noData": "暂无数据",
|
||
"success": "成功",
|
||
"failed": "失败"
|
||
},
|
||
"restart": {
|
||
"preparing": "准备重启",
|
||
"preparingDesc": "正在发送重启请求...",
|
||
"preparingTip": "🔄 正在准备重启麦麦...",
|
||
"restarting": "正在重启麦麦",
|
||
"restartingDesc": "请稍候,麦麦正在重启中...",
|
||
"restartingTip": "🔄 配置已保存,正在重启主程序...",
|
||
"checking": "检查服务状态",
|
||
"checkingDesc": "等待服务恢复... ({{current}}/{{max}})",
|
||
"checkingTip": "⏳ 正在等待服务恢复,请勿关闭页面...",
|
||
"success": "重启成功",
|
||
"successDesc": "正在跳转到登录页面...",
|
||
"successTip": "✅ 配置已生效,服务运行正常",
|
||
"failed": "重启超时",
|
||
"failedDesc": "服务未能在预期时间内恢复",
|
||
"failedTip": "⚠️ 如果长时间无响应,请尝试手动重启",
|
||
"refreshPage": "刷新页面",
|
||
"retryCheck": "重试检测",
|
||
"elapsed": "已用时:"
|
||
},
|
||
"errorBoundary": {
|
||
"title": "页面出现了问题",
|
||
"description": "应用程序遇到了意外错误。您可以尝试刷新页面或返回首页。",
|
||
"refreshPage": "刷新页面",
|
||
"goHome": "返回首页",
|
||
"footer": "如果问题持续存在,请将错误信息复制并反馈给开发者",
|
||
"copiedToClipboard": "已复制到剪贴板",
|
||
"copyError": "复制错误信息"
|
||
},
|
||
"search": {
|
||
"placeholder": "搜索页面...",
|
||
"title": "搜索",
|
||
"noResults": "未找到匹配的页面",
|
||
"startSearch": "输入关键词开始搜索",
|
||
"navigate": "导航",
|
||
"select": "选择",
|
||
"close": "关闭",
|
||
"categories": {
|
||
"overview": "概览",
|
||
"config": "配置",
|
||
"resources": "资源",
|
||
"monitor": "监控",
|
||
"extensions": "扩展",
|
||
"system": "系统"
|
||
},
|
||
"items": {
|
||
"home": "首页",
|
||
"homeDesc": "查看仪表板概览",
|
||
"botConfig": "麦麦主程序配置",
|
||
"botConfigDesc": "配置麦麦的核心设置",
|
||
"modelProvider": "麦麦模型提供商配置",
|
||
"modelProviderDesc": "配置模型提供商",
|
||
"model": "麦麦模型配置",
|
||
"modelDesc": "配置模型参数",
|
||
"emoji": "表情包管理",
|
||
"emojiDesc": "管理麦麦的表情包",
|
||
"expression": "表达方式管理",
|
||
"expressionDesc": "管理麦麦的表达方式",
|
||
"person": "人物信息管理",
|
||
"personDesc": "管理人物信息",
|
||
"jargon": "黑话管理",
|
||
"jargonDesc": "管理麦麦学习到的黑话和俚语",
|
||
"statistics": "统计信息",
|
||
"statisticsDesc": "查看使用统计",
|
||
"plugins": "插件市场",
|
||
"pluginsDesc": "浏览和安装插件",
|
||
"logs": "日志查看器",
|
||
"logsDesc": "查看系统日志",
|
||
"settings": "系统设置",
|
||
"settingsDesc": "配置系统参数"
|
||
}
|
||
},
|
||
"a11y": {
|
||
"skipToContent": "跳过导航,直达主内容",
|
||
"sidebarNav": "主导航",
|
||
"closeMenu": "关闭菜单",
|
||
"navigatedTo": "已导航至 {{page}}"
|
||
},
|
||
"home": {
|
||
"title": "实时监控面板",
|
||
"subtitle": "麦麦运行状态和统计数据一览",
|
||
"loading": "加载统计数据中...",
|
||
"loadingHint": "正在获取麦麦运行数据",
|
||
"timeRange": {
|
||
"24h": "24小时",
|
||
"7d": "7天",
|
||
"30d": "30天"
|
||
},
|
||
"autoRefresh": "自动刷新",
|
||
"botStatus": {
|
||
"title": "麦麦状态",
|
||
"running": "运行中",
|
||
"stopped": "已停止",
|
||
"uptime": "运行 {{time}}"
|
||
},
|
||
"quickActions": {
|
||
"title": "快速操作",
|
||
"restart": "重启麦麦",
|
||
"restarting": "重启中...",
|
||
"expressionReview": "表达审核",
|
||
"viewLogs": "查看日志",
|
||
"pluginManage": "插件管理",
|
||
"systemSettings": "系统设置"
|
||
},
|
||
"survey": {
|
||
"title": "反馈问卷",
|
||
"description": "帮助我们改进产品体验",
|
||
"webui": "WebUI 反馈",
|
||
"maibot": "麦麦反馈"
|
||
},
|
||
"stats": {
|
||
"totalRequests": "总请求数",
|
||
"totalCost": "总花费",
|
||
"tokenUsage": "Token消耗",
|
||
"avgResponse": "平均响应",
|
||
"avgResponseDesc": "API平均耗时",
|
||
"onlineTime": "在线时长",
|
||
"messageProcessing": "消息处理",
|
||
"costEfficiency": "成本效率",
|
||
"recentPeriod": "最近{{range}}",
|
||
"perHour": "{{value}}/小时",
|
||
"noData": "暂无数据",
|
||
"replied": "回复 {{num}} 条",
|
||
"per100Messages": "每100条消息",
|
||
"seconds": "秒",
|
||
"hours": "小时",
|
||
"days": "天"
|
||
},
|
||
"charts": {
|
||
"tabs": {
|
||
"trends": "趋势",
|
||
"models": "模型",
|
||
"activity": "活动",
|
||
"daily": "日统计"
|
||
},
|
||
"requestTrend": "请求趋势",
|
||
"requestTrendDesc": "最近{{hours}}小时的请求量变化",
|
||
"costTrend": "花费趋势",
|
||
"costTrendDesc": "API调用成本变化",
|
||
"tokenUsage": "Token消耗",
|
||
"tokenUsageDesc": "Token使用量变化",
|
||
"modelDistribution": "模型请求分布",
|
||
"modelDistributionDesc": "各模型使用占比 (共 {{count}} 个模型)",
|
||
"modelDetails": "模型详细统计",
|
||
"modelDetailsDesc": "请求数、花费和性能",
|
||
"recentActivity": "最近活动",
|
||
"recentActivityDesc": "最新的API调用记录",
|
||
"dailyStats": "每日统计",
|
||
"dailyStatsDesc": "最近7天的数据汇总",
|
||
"requests": "请求数",
|
||
"cost": "花费(¥)",
|
||
"requestCount": "请求数",
|
||
"costLabel": "花费",
|
||
"avgTime": "平均耗时",
|
||
"timeCost": "耗时",
|
||
"status": "状态"
|
||
},
|
||
"time": {
|
||
"hoursMinutes": "{{hours}}小时{{minutes}}分钟"
|
||
},
|
||
"hitokotoFallback": "人生就像一盒巧克力,你永远不知道下一颗是什么味道。",
|
||
"hitokotoFallbackFrom": "阿甘正传",
|
||
"unknownSource": "未知",
|
||
"ariaLabel": {
|
||
"requestTrend": "每小时请求量趋势图,显示最近若干小时的请求次数变化",
|
||
"costTrend": "API花费趋势图,显示最近若干小时的API调用成本变化",
|
||
"tokenUsage": "Token消耗趋势图,显示最近若干小时的Token使用量变化"
|
||
}
|
||
}
|
||
}
|