{ "common": { "next": "下一步", "prev": "上一步", "finish": "完成", "cancel": "取消", "save": "保存", "loading": "加载中...", "confirm": "确认", "success": "成功", "error": "错误", "delete": "删除", "edit": "编辑", "add": "添加", "search": "搜索", "clear": "清空", "close": "关闭", "yes": "是", "no": "否", "submit": "提交", "reset": "重置", "import": "导入", "export": "导出", "create": "创建", "update": "更新", "refresh": "刷新", "view": "查看", "name": "姓名", "status": "状态", "operation": "操作", "description": "描述", "total": "共 {{count}} 条", "noData": "暂无数据", "pleaseSelect": "请选择", "pleaseEnter": "请输入", "readOnly": "当前为只读权限", "none": "无" }, "oobe": { "title": "欢迎使用 SecScore", "subtitle": "教育积分管理专家", "step": "第 {{current}}/{{total}} 步", "skip": "跳过", "steps": { "language": { "title": "选择语言", "description": "请选择您偏好的界面语言" }, "theme": { "title": "设置主题", "description": "选择您喜欢的界面外观", "mode": "模式", "lightMode": "浅色", "darkMode": "深色", "primaryColor": "主色", "backgroundGradient": "背景渐变" }, "password": { "title": "设置密码", "description": "设置登录密码以保护您的数据(可选)", "adminPassword": "管理密码", "adminPasswordHint": "可管理所有功能,6位数字", "pointsPassword": "积分密码", "pointsPasswordHint": "仅可操作积分,6位数字", "passwordPlaceholder": "请输入6位数字", "hint": "留空则不设置密码,之后可在设置中配置" }, "students": { "title": "导入名单", "description": "添加学生名单以便开始积分管理", "import": "导入名单", "manual": "手动添加", "importHint": "支持 Excel (.xlsx) 或 JSON 文件", "manualHint": "支持粘贴多行文本,一行一个姓名", "dragDrop": "拖拽文件到此处,或点击选择", "supportedFormats": "支持 .xlsx, .json 格式", "studentName": "学生姓名", "addStudent": "添加学生", "noStudents": "暂无学生,请添加或导入", "studentCount": "已添加 {{count}} 名学生", "studentExists": "学生已存在", "importSuccess": "成功导入 {{count}} 名学生", "noNewStudents": "没有新学生可导入", "parseFailed": "文件解析失败", "unsupportedFormat": "不支持的文件格式" }, "reasons": { "title": "设置理由", "description": "添加常用的积分变动理由", "addReason": "添加理由", "reasonName": "理由名称", "points": "积分", "positive": "加分", "negative": "扣分", "noReasons": "暂无理由,请添加常用理由", "reasonCount": "已添加 {{count}} 个理由", "reasonExists": "理由已存在" }, "start": { "title": "准备就绪", "description": "一切准备就绪,开始使用 SecScore 吧!", "features": { "score": "轻松管理学生积分", "history": "完整的积分变动历史", "settlement": "支持结算与归档" }, "startButton": "开始使用" } } }, "settings": { "title": "系统设置", "tabs": { "appearance": "外观", "security": "安全", "database": "数据库连接", "dataManagement": "数据管理", "urlProtocol": "URL 链接", "about": "关于" }, "language": "语言", "languageHint": "选择界面显示语言", "theme": "主题", "password": "设置密码", "themeMode": "模式", "lightMode": "浅色", "darkMode": "深色", "primaryColor": "主色", "backgroundGradient": "背景渐变", "searchKeyboard": { "title": "搜索小键盘", "hint": "选择搜索框下方弹出的小键盘布局", "options": { "qwerty26": "26 键(QWERTY)", "t9": "9 键(T9)" } }, "interfaceZoom": "界面缩放", "zoomHint": "调节应用界面的整体大小", "zoomUpdated": "界面缩放已更新", "updateFailed": "更新失败", "security": { "title": "密码保护系统", "adminPassword": "管理密码", "pointsPassword": "积分密码", "recoveryString": "找回字符串", "set": "已设置", "notSet": "未设置", "generated": "已生成", "notGenerated": "未生成", "enterPassword": "输入6位数字(留空则不修改)", "adminPasswordPlaceholder": "输入6位数字管理密码(留空则不修改)", "pointsPasswordPlaceholder": "输入6位数字积分密码(留空则不修改)", "recoveryPlaceholder": "输入找回字符串", "savePassword": "保存密码", "savePasswords": "保存密码", "generateRecovery": "生成找回字符串", "clearAllPasswords": "清空所有密码", "recoveryReset": "找回字符串重置", "enterRecovery": "输入找回字符串", "resetPassword": "重置密码", "resetHint": "重置会清空管理/积分密码,并生成新的找回字符串。", "confirmClear": "确认清空所有密码?", "clearHint": "清空后将关闭保护(无密码时默认视为管理权限)。", "saved": "密码已更新", "saveFailed": "更新失败", "generateFailed": "生成失败", "resetFailed": "重置失败", "cleared": "已清空", "clearFailed": "清空失败", "passwordClearedNewRecovery": "密码已清空,新的找回字符串", "newRecoveryString": "新的找回字符串(请保存)" }, "database": { "title": "数据库连接", "currentStatus": "当前数据库状态", "sqliteLocal": "SQLite 本地数据库", "postgresqlRemote": "PostgreSQL 远程数据库", "connected": "已连接", "disconnected": "未连接", "postgresqlConnection": "PostgreSQL 远程连接", "connectionHint": "输入 PostgreSQL 连接字符串以连接远程数据库,支持多端同步操作。", "testConnection": "测试连接", "switchToPostgreSQL": "切换到 PostgreSQL", "switchToSQLite": "切换到本地 SQLite", "connectionTestSuccess": "连接测试成功", "connectionTestFailed": "连接测试失败", "switchedTo": "已切换到 {{type}} 数据库", "switchedToSQLite": "已切换到 SQLite 本地数据库", "switchFailed": "切换失败", "syncDescription": "多端同步说明", "syncPoint1": "使用 PostgreSQL 远程数据库可以实现多端数据同步。", "syncPoint2": "系统内置操作队列机制,确保多端同时操作时数据一致性。", "syncPoint3": "切换数据库后需要重启应用以生效。", "syncPoint4": "建议使用云数据库服务(如 Neon、Supabase、AWS RDS 等)。", "enterConnectionString": "请输入 PostgreSQL 连接字符串", "connectionExample": "示例:postgresql://xxxxxx_xxxxx:xxxxxxxx@xx-xxx.xxx.neon.xxxx/xxxxdxx?sslmode=require" }, "data": { "title": "数据管理", "settlement": "结算", "settlementAndRestart": "结算并重新开始", "settlementHint": "将当前未结算记录划分为一个阶段,并将所有学生积分清零。", "importExport": "导入 / 导出", "exportJson": "导出 JSON", "importJson": "导入 JSON", "importHint": "导入会覆盖现有学生/理由/积分记录/设置(安全相关设置不会导入)。", "logs": "日志", "logLevel": "日志级别", "logOperation": "日志操作", "viewLogs": "查看日志", "exportLogs": "导出日志", "clearLogs": "清空日志", "logsCleared": "日志已清空", "systemLogs": "系统日志 (最后200条)", "noLogs": "暂无日志", "logLevelUpdated": "日志级别已更新", "readLogsFailed": "读取日志失败", "logsExported": "日志已导出", "exportFailed": "导出失败", "exportSuccess": "导出成功", "importSuccess": "导入成功,正在刷新", "importFailed": "导入失败", "clearFailed": "清空失败", "confirmSettlement": "确认结算并重新开始?", "settlementConfirm1": "将把当前未结算的积分记录归档为一个阶段,并将所有学生当前积分清零。", "settlementConfirm2": "学生名单不变;结算后的历史在「结算历史」页面查看。", "settlementSuccess": "结算成功,已重新开始积分", "settlementFailed": "结算失败", "settle": "结算", "logLevels": { "debug": "DEBUG (调试)", "info": "INFO (信息)", "warn": "WARN (警告)", "error": "ERROR (错误)" } }, "url": { "title": "URL 协议 (secscore://)", "protocol": "URL 协议", "description": "可以通过 URL 链接唤起 SecScore 并执行操作,例如:", "register": "注册 URL 协议", "registered": "URL 协议已注册", "registerFailed": "注册失败", "installerRequired": "需要安装版 SecScore,开发模式下可能无效。" }, "about": { "title": "关于", "appName": "教育积分管理", "version": "版本", "copyright": "版权", "ipcStatus": "IPC 状态", "ipcConnected": "已连接", "ipcDisconnected": "未连接 (Preload 失败)", "environment": "环境", "toggleDevTools": "切换开发者工具", "license": "SecScore遵循GPL3.0协议", "copyRightText": "CopyRight © 2025-{{year}} SECTL" } }, "sidebar": { "home": "首页", "students": "学生管理", "score": "积分操作", "leaderboard": "排行榜", "settlements": "结算历史", "reasons": "理由管理", "autoScore": "自动加分", "settings": "系统设置", "remoteDb": "远程数据库", "refreshStatus": "刷新状态", "syncNow": "立即同步", "syncSuccess": "同步成功", "syncFailed": "同步失败", "getDbStatusFailed": "获取数据库状态失败", "notRemoteMode": "当前不是远程数据库模式,请重启应用后重试", "dbNotConnected": "数据库未连接" }, "auth": { "unlock": "权限解锁", "unlockHint": "输入 6 位数字密码:管理密码=全功能,积分密码=仅积分操作。", "unlockButton": "解锁", "unlocked": "权限已解锁", "logout": "已切换为只读", "passwordPlaceholder": "例如 123456", "passwordError": "密码错误", "enterPassword": "输入密码", "lock": "锁定" }, "languages": { "zh-CN": "简体中文", "en-US": "English" }, "theme": { "colorAndBackground": "颜色与背景", "gradientLabels": { "blue": "清爽蓝", "pink": "柔和粉", "cyan": "青蓝", "purple": "紫韵" }, "gradientDirections": { "vertical": "纵向", "horizontal": "横向", "diagonal": "对角" }, "generate": "生成", "saved": "已保存", "saveFailed": "保存失败", "mode": "模式", "myTheme": "我的主题" }, "permissions": { "admin": "管理权限", "points": "积分权限", "view": "只读" }, "home": { "title": "学生积分主页", "subtitle": "共 {{count}} 名学生,点击卡片进行积分操作", "searchPlaceholder": "搜索姓名/拼音...", "sortBy": { "alphabet": "姓名排序", "surname": "姓氏分组", "score": "积分排行" }, "noStudents": "暂无学生数据,请前往学生管理添加", "noMatch": "未找到匹配的学生", "clearSearch": "清除搜索", "points": "分", "currentScore": "当前积分", "quickOptions": "快捷选项", "adjustPoints": "调整分值", "customPoints": "自定义分值", "customPointsHint": "可在输入框微调特输入任意分值", "reason": "操作理由", "reasonPlaceholder": "输入加分/扣分的原因(可选)", "preview": "变更预览", "noReason": "(无理由)", "category": { "others": "其他" }, "scoreAdded": "已为 {{name}} 加{{points}}分", "scoreDeducted": "已为 {{name}} 扣{{points}}分", "submitFailed": "提交失败", "pleaseSelectPoints": "请选择或输入分值", "reasonDefault": "{{action}}{{points}}分", "studentCount": "{{count}} 人", "operationTitle": "积分操作:{{name}}", "submitOperation": "提交操作", "addPoints": "加分", "deductPoints": "扣分", "pointsChange": "积分变更", "reasonLabel": "理由:" }, "students": { "title": "学生管理", "importList": "导入名单", "addStudent": "添加学生", "name": "姓名", "avatar": "头像", "currentScore": "当前积分", "tags": "标签", "noTags": "无标签", "editTags": "编辑标签", "editAvatar": "设置头像", "deleteConfirm": "确认删除该学生?", "addTitle": "添加学生", "addConfirm": "添加", "namePlaceholder": "请输入学生姓名", "nameRequired": "请输入姓名", "nameExists": "学生姓名已存在", "addSuccess": "添加成功", "addFailed": "添加失败", "deleteSuccess": "删除成功", "deleteFailed": "删除失败", "tagSaveSuccess": "标签保存成功", "tagSaveFailed": "保存标签失败", "importTitle": "导入名单", "importTextHint": "支持粘贴多行文本,一行一个姓名", "importTextPlaceholder": "例如:\n张三\n李四\n王五", "importByText": "从文本导入", "importByXlsx": "通过 xlsx 导入", "xlsxPreview": "xlsx 预览与导入", "file": "文件", "selectNameCol": "点击表头选择姓名列", "previewRows": "预览前 50 行", "importConfirm": "导入", "importComplete": "导入完成:新增 {{inserted}},跳过 {{skipped}}", "workerNotReady": "Worker 未初始化", "parseXlsxFailed": "解析 xlsx 失败", "selectNameColFirst": "请先点击选择\"姓名列\"", "noNamesFound": "所选列未解析到可导入的姓名", "importFailed": "导入失败", "editTagTitle": "编辑标签 - {{name}}", "editAvatarTitle": "设置头像 - {{name}}", "avatarUpload": "上传图片", "avatarClear": "清除头像", "noAvatar": "无头像", "avatarTip": "支持常见图片格式,文件大小不超过 2MB", "avatarSaveSuccess": "头像保存成功", "avatarSaveFailed": "头像保存失败", "avatarInvalidFile": "请选择图片文件", "avatarTooLarge": "图片不能超过 2MB", "avatarReadFailed": "读取图片失败" }, "score": { "title": "积分管理", "student": "学生", "change": "变动", "reason": "理由", "time": "时间", "undoConfirm": "确定要撤销这条记录吗?学生积分将回滚。", "undo": "撤销", "undoSuccess": "已撤销操作", "undoFailed": "撤销失败", "recentRecords": "最近记录", "pleaseSelectStudent": "请选择或搜索学生", "points": "分数", "addPoints": "加分", "deductPoints": "扣分", "quickReason": "快捷理由", "selectReason": "选择预设理由", "reasonContent": "理由内容", "reasonPlaceholder": "手动输入或选择快捷理由", "submit": "确认提交", "pleaseEnterInfo": "请填写完整信息", "pleaseEnterPoints": "请填写分值或选择预设理由", "batchSuccess": "已为 {{count}} 名学生提交积分", "batchPartial": "成功提交 {{success}}/{{total}} 名学生的积分" }, "reasons": { "title": "理由管理", "addReason": "添加预设理由", "category": "分类", "content": "理由内容", "presetPoints": "预设分值", "deleteConfirm": "确认删除该理由?", "addTitle": "添加理由", "addConfirm": "添加", "categoryPlaceholder": "例如: 学习, 纪律", "contentPlaceholder": "请输入理由", "pointsPlaceholder": "例如: 2 或 -2", "contentRequired": "请输入理由内容", "pointsRequired": "请输入预设分值", "reasonExists": "该分类下已存在相同理由", "addSuccess": "添加成功", "addFailed": "添加失败", "deleteSuccess": "删除成功", "deleteFailed": "删除失败", "others": "其他" }, "leaderboard": { "title": "积分排行榜", "rank": "排名", "name": "姓名", "totalScore": "总积分", "todayChange": "今日变化", "weekChange": "本周变化", "monthChange": "本月变化", "viewHistory": "查看", "exportXlsx": "导出 XLSX", "exportSuccess": "导出成功", "queryFailed": "查询失败", "historyTitle": "{{name}} - 操作记录", "close": "关闭", "today": "今天", "week": "本周", "month": "本月", "operationRecord": "操作记录", "change": "变化" }, "settlements": { "title": "结算历史", "phase": "阶段 #{{id}}", "viewLeaderboard": "查看排行榜", "recordCount": "记录数: {{count}}", "noRecords": "暂无结算记录", "noSettlements": "暂无结算记录", "back": "返回", "leaderboardTitle": "结算排行榜", "phaseScore": "阶段积分", "queryFailed": "查询失败", "rank": "排名", "name": "姓名" }, "autoScore": { "title": "自动化加分管理", "name": "自动化名称", "namePlaceholder": "例如:每日签到加分", "nameRequired": "请输入自动化名称", "triggers": "触发器", "actions": "行动", "applicableStudents": "适用学生", "allStudents": "所有学生", "lastExecuted": "最后执行", "notExecuted": "未执行", "invalidTime": "无效时间", "addTrigger": "添加规则", "addAction": "添加行动", "whenTriggered": "当以下规则触发时", "triggeredActions": "满足规则时触发的行动", "addAutomation": "添加自动化", "updateAutomation": "更新自动化", "cancelEdit": "取消编辑", "resetForm": "重置表单", "deleteConfirm": "确定要删除这条自动化吗?", "adminRequired": "需要管理员权限以查看自动加分自动化,请先登录管理员账号", "adminCreateRequired": "需要管理员权限以创建或更新自动加分自动化", "adminDeleteRequired": "需要管理员权限以删除自动加分自动化", "adminToggleRequired": "需要管理员权限以启用/禁用自动加分自动化", "fetchFailed": "获取自动化失败", "triggerRequired": "请至少添加一个触发器", "actionRequired": "请至少添加一个行动", "createSuccess": "自动化创建成功", "updateSuccess": "自动化更新成功", "createFailed": "创建自动化失败", "updateFailed": "更新自动化失败", "deleteSuccess": "自动化删除成功", "deleteFailed": "删除自动化失败", "enabled": "自动化已启用", "disabled": "自动化已禁用", "enableFailed": "启用自动化失败", "disableFailed": "禁用自动化失败", "noTriggerAvailable": "没有可用的触发器类型,请检查配置", "noActionAvailable": "没有可用的行动类型,请检查配置", "sort": "排序", "status": "状态", "triggerCount": "{{count}} 个触发器", "actionCount": "{{count}} 个行动", "studentCount": "{{count}} 名学生", "studentPlaceholder": "请选择或搜索学生(留空表示所有学生)", "triggerCondition": "触发条件", "executeAction": "执行操作", "addOperation": "添加操作", "scoreLabel": "分数", "tagNameLabel": "标签名称", "operationNoteLabel": "操作说明(可选)", "triggerIntervalTime": "间隔时间", "triggerStudentTag": "学生标签", "actionAddScore": "加分", "actionAddTag": "添加标签", "minutesPlaceholder": "请输入分钟数", "minutes": "分钟", "tagsPlaceholder": "请输入标签名称", "scorePlaceholder": "请输入分数", "tagNamePlaceholder": "请输入标签名称", "reasonPlaceholder": "请输入理由", "relationAnd": "并且", "relationOr": "或者" }, "triggers": { "studentTag": { "label": "学生标签", "description": "当学生匹配特定标签时触发自动化", "placeholder": "请选择标签", "required": "请输入标签名称" }, "randomTime": { "label": "随机时间触发", "description": "在指定时间范围内随机触发自动化", "required": "请输入有效的时间范围(分钟)" }, "intervalTime": { "label": "间隔时间", "description": "当间隔时间到达时触发自动化", "placeholder": "请输入时间间隔", "required": "请输入有效的时间", "monthLabel": "月", "weekLabel": "周", "timeLabel": "时间" } }, "actions": { "sendNotification": { "label": "发送通知", "description": "向学生发送通知", "placeholder": "请输入通知内容" }, "addTag": { "label": "添加标签", "description": "为学生添加标签", "placeholder": "请输入标签" }, "addScore": { "label": "添加分数", "description": "为学生添加分数", "pointsPlaceholder": "请输入分数", "reasonPlaceholder": "请输入理由" } }, "wizard": { "welcomeTitle": "欢迎使用 SecScore 积分管理", "welcomeDesc": "感谢选择 SecScore。在开始之前,请花一分钟完成基础配置。", "configComplete": "配置完成!", "configFailed": "配置保存失败", "startJourney": "开启积分之旅" }, "tags": { "editTitle": "编辑标签", "inputPlaceholder": "输入标签名称,按 Enter 添加", "selectedTags": "已选标签(点击取消)", "noTagsSelected": "未选择标签", "availableTags": "可选标签(点击选择)", "noAvailableTags": "无可用标签", "fetchFailed": "获取标签列表失败", "nameTooLong": "标签名称不能超过 30 个字符", "addFailed": "添加标签失败", "deleteSuccess": "标签删除成功", "deleteFailed": "删除标签失败" }, "recovery": { "title": "SecScore 找回字符串", "saved": "我已保存", "export": "导出文本文件", "hint": "建议导出后离线保存,遗失将无法找回。" } }