feat(shared,tests): add error boundaries, lib utils, i18n messages, and integration tests
shared: - Add class-filter, error-state, route-error, section-error-boundary, widget-boundary components - Add ui/alert component - Add constants directory - Add breached-password, export-utils, permission-bitmap, rate-limit, resolve-action-error, route-permissions, route-resolver, type-guards lib - Add i18n messages (en, zh-CN) for invitation-codes, parent, questions, rbac tests: - Add integration tests for elective - Add tests/setup/empty-stub scripts: - Add update-md.cjs, tmp_append_en.ps1, tmp_merge_en.ps1 utilities
This commit is contained in:
@@ -30,9 +30,9 @@
|
||||
"alreadyInClass": "你已在该班级中",
|
||||
"subjectConflict": "该班级此科目已有任课教师",
|
||||
"generateSuccess": "邀请码生成成功",
|
||||
"generateFailed": "邀请码生成失败",
|
||||
"generateFailed": "生成邀请码失败",
|
||||
"revokeSuccess": "邀请码已撤销",
|
||||
"revokeFailed": "邀请码撤销失败",
|
||||
"revokeFailed": "撤销邀请码失败",
|
||||
"regenerateSuccess": "邀请码已重新生成",
|
||||
"regenerateConfirm": "重新生成后旧邀请码将立即失效,确定继续吗?",
|
||||
"revokeConfirm": "撤销后此邀请码将立即失效,确定继续吗?",
|
||||
@@ -51,5 +51,418 @@
|
||||
"homeroomTeacher": "班主任",
|
||||
"studentCount": "学生人数",
|
||||
"actions": "操作"
|
||||
},
|
||||
"list": {
|
||||
"title": "班级管理",
|
||||
"description": "管理班级并分配教师。",
|
||||
"new": "新建班级",
|
||||
"empty": {
|
||||
"title": "暂无班级",
|
||||
"description": "创建你的第一个班级以开始使用。",
|
||||
"noMatch": "没有匹配结果",
|
||||
"noMatchDescription": "尝试修改筛选条件或清空搜索。"
|
||||
},
|
||||
"column": {
|
||||
"school": "学校",
|
||||
"grade": "年级",
|
||||
"name": "班级名称",
|
||||
"homeroom": "班主任",
|
||||
"room": "教室",
|
||||
"subjectTeachers": "任课教师",
|
||||
"studentCount": "学生人数",
|
||||
"invitationCode": "邀请码",
|
||||
"updated": "更新时间",
|
||||
"actions": "操作"
|
||||
},
|
||||
"actions": {
|
||||
"edit": "编辑",
|
||||
"delete": "删除",
|
||||
"viewDetail": "查看详情"
|
||||
},
|
||||
"failedCreate": "创建班级失败",
|
||||
"failedUpdate": "更新班级失败",
|
||||
"failedDelete": "删除班级失败",
|
||||
"failedStatus": "更新状态失败",
|
||||
"failedRegenerate": "重新生成邀请码失败",
|
||||
"failedCopy": "复制失败"
|
||||
},
|
||||
"form": {
|
||||
"createTitle": "新建班级",
|
||||
"editTitle": "编辑班级",
|
||||
"name": "班级名称",
|
||||
"namePlaceholder": "如:一年级一班",
|
||||
"school": "学校",
|
||||
"schoolPlaceholder": "选择学校",
|
||||
"grade": "年级",
|
||||
"gradePlaceholder": "选择年级",
|
||||
"homeroom": "班主任",
|
||||
"homeroomPlaceholder": "选择班主任",
|
||||
"homeroomLabel": "班号",
|
||||
"room": "教室",
|
||||
"roomPlaceholder": "可选",
|
||||
"subjectTeachers": "任课教师",
|
||||
"subjectTeacherPlaceholder": "选择教师",
|
||||
"noSchools": "暂无学校",
|
||||
"noGrades": "暂无年级",
|
||||
"noTeachers": "暂无教师",
|
||||
"selectSchool": "选择学校",
|
||||
"selectGrade": "选择年级",
|
||||
"selectTeacher": "选择教师",
|
||||
"optional": "可选",
|
||||
"cancel": "取消",
|
||||
"create": "创建",
|
||||
"save": "保存",
|
||||
"saveChanges": "保存更改",
|
||||
"saving": "保存中...",
|
||||
"creating": "创建中...",
|
||||
"deleting": "删除中...",
|
||||
"adding": "添加中...",
|
||||
"add": "添加"
|
||||
},
|
||||
"delete": {
|
||||
"title": "删除班级",
|
||||
"description": "确定要删除「{name}」吗?此操作不可撤销。",
|
||||
"cancel": "取消",
|
||||
"confirm": "删除",
|
||||
"thisClass": "此班级"
|
||||
},
|
||||
"filters": {
|
||||
"search": "搜索班级...",
|
||||
"school": "学校",
|
||||
"allSchools": "全部学校",
|
||||
"grade": "年级",
|
||||
"allGrades": "全部年级",
|
||||
"class": "班级",
|
||||
"allClasses": "全部班级",
|
||||
"status": "状态",
|
||||
"allStatuses": "全部状态",
|
||||
"weekday": "星期",
|
||||
"selectWeekday": "选择星期",
|
||||
"allWeekdays": "全部",
|
||||
"selectClass": "选择班级",
|
||||
"selectSchool": "选择学校",
|
||||
"selectGrade": "选择年级",
|
||||
"clear": "清除筛选",
|
||||
"reset": "重置",
|
||||
"unknownClass": "未知班级",
|
||||
"filterByClass": "按班级筛选",
|
||||
"filterByStatus": "按状态筛选",
|
||||
"addEvent": "添加事件",
|
||||
"addStudent": "添加学生",
|
||||
"email": "邮箱",
|
||||
"emailPlaceholder": "student@example.com",
|
||||
"subjectPlaceholderExample": "例如 数学",
|
||||
"createScheduleEntryDescription": "创建一条课表项。",
|
||||
"enrollStudentDescription": "通过邮箱将学生加入班级。",
|
||||
"startTime": "开始",
|
||||
"endTime": "结束"
|
||||
},
|
||||
"myClasses": {
|
||||
"title": "我的班级",
|
||||
"joinNew": "加入新班级",
|
||||
"joinTitle": "加入班级",
|
||||
"joinDescription": "输入管理员提供的 6 位邀请码。",
|
||||
"invitationCode": "邀请码",
|
||||
"invitationCodePlaceholder": "如:123456",
|
||||
"invitationCodeHint": "如果没有邀请码,请向管理员索取。",
|
||||
"subject": "教学科目",
|
||||
"subjectPlaceholder": "选择教学科目",
|
||||
"noSubjects": "暂无可选科目",
|
||||
"selectSubject": "选择教学科目",
|
||||
"join": "加入班级",
|
||||
"joining": "加入中...",
|
||||
"cancel": "取消",
|
||||
"empty": {
|
||||
"title": "暂无班级",
|
||||
"description": "加入一个班级或等待管理员分配。"
|
||||
},
|
||||
"entryPass": "入门卡",
|
||||
"submissionTrends": "提交趋势",
|
||||
"students": "学生",
|
||||
"room": "教室",
|
||||
"noRoom": "无教室",
|
||||
"vsLastWeek": "较上周",
|
||||
"viewDetail": "查看详情",
|
||||
"copyCode": "复制邀请码",
|
||||
"regenerateCode": "重新生成",
|
||||
"codeCopied": "邀请码已复制"
|
||||
},
|
||||
"students": {
|
||||
"title": "学生名单",
|
||||
"searchPlaceholder": "搜索学生...",
|
||||
"empty": {
|
||||
"title": "暂无学生",
|
||||
"description": "该班级还没有学生。",
|
||||
"noMatch": "没有匹配的学生",
|
||||
"noMatchDescription": "尝试清除筛选或调整关键词。"
|
||||
},
|
||||
"column": {
|
||||
"name": "姓名",
|
||||
"email": "邮箱",
|
||||
"status": "状态",
|
||||
"scores": "成绩",
|
||||
"actions": "操作"
|
||||
},
|
||||
"status": {
|
||||
"active": "在读",
|
||||
"inactive": "停用"
|
||||
},
|
||||
"actions": {
|
||||
"setActive": "设为在读",
|
||||
"setInactive": "设为停用",
|
||||
"remove": "移出班级"
|
||||
},
|
||||
"removeTitle": "移出班级",
|
||||
"removeDescription": "确定要将「{name}」移出班级吗?"
|
||||
},
|
||||
"schedule": {
|
||||
"title": "班级课表",
|
||||
"empty": {
|
||||
"title": "暂无课表",
|
||||
"description": "该班级尚未设置课表。",
|
||||
"noMatch": "该班级暂无课表",
|
||||
"noMatchDescription": "尝试选择其他班级。"
|
||||
},
|
||||
"column": {
|
||||
"weekday": "星期",
|
||||
"period": "节次",
|
||||
"subject": "科目",
|
||||
"location": "地点",
|
||||
"teacher": "教师",
|
||||
"actions": "操作"
|
||||
},
|
||||
"form": {
|
||||
"createTitle": "新增课表项",
|
||||
"editTitle": "编辑课表项",
|
||||
"createDescription": "新增一个课表项。",
|
||||
"editDescription": "更新课表项信息。",
|
||||
"weekday": "星期",
|
||||
"period": "节次",
|
||||
"subject": "科目",
|
||||
"location": "地点",
|
||||
"locationPlaceholder": "可选",
|
||||
"subjectPlaceholder": "如:数学",
|
||||
"startLabel": "开始时间",
|
||||
"endLabel": "结束时间",
|
||||
"cancel": "取消",
|
||||
"create": "创建",
|
||||
"save": "保存",
|
||||
"deleteTitle": "确定删除?",
|
||||
"deleteDescription": "此操作将永久删除该课表项。"
|
||||
},
|
||||
"weekday": {
|
||||
"1": "周一",
|
||||
"2": "周二",
|
||||
"3": "周三",
|
||||
"4": "周四",
|
||||
"5": "周五",
|
||||
"6": "周六",
|
||||
"7": "周日"
|
||||
}
|
||||
},
|
||||
"detail": {
|
||||
"header": {
|
||||
"students": "{count} 名学生",
|
||||
"homeroom": "班主任 {name}",
|
||||
"room": "教室 {room}",
|
||||
"invite": "邀请",
|
||||
"editDetails": "编辑详情",
|
||||
"inviteStudents": "邀请学生",
|
||||
"classSettings": "班级设置",
|
||||
"moreActions": "更多操作"
|
||||
},
|
||||
"overview": {
|
||||
"averageScore": "平均分",
|
||||
"submissionRate": "提交率",
|
||||
"papersToGrade": "待批改",
|
||||
"overdueCount": "逾期数",
|
||||
"overallPerformance": "整体表现",
|
||||
"averageTurnInRate": "平均提交率",
|
||||
"pendingReviews": "待审核",
|
||||
"activeAssignmentsPastDue": "逾期活跃作业"
|
||||
},
|
||||
"trends": {
|
||||
"submitted": "已提交",
|
||||
"totalStudents": "总学生数",
|
||||
"averageScore": "平均分",
|
||||
"medianScore": "中位数",
|
||||
"latest": "最新",
|
||||
"submission": "提交",
|
||||
"score": "成绩",
|
||||
"allSubjects": "全部科目",
|
||||
"scoreTrends": "成绩趋势",
|
||||
"recentTurnInRates": "最近作业提交率",
|
||||
"avgVsMedian": "均分与中位数对比",
|
||||
"noDataForSubject": "该科目暂无数据"
|
||||
},
|
||||
"assignments": {
|
||||
"due": "截止 {date}",
|
||||
"noDueDate": "无截止日期",
|
||||
"viewAll": "查看全部",
|
||||
"createHomework": "创建作业",
|
||||
"activeCount": "{count} 个进行中的作业",
|
||||
"submittedCount": "{submitted}/{total} 已提交",
|
||||
"avgLabel": "均分"
|
||||
},
|
||||
"widgets": {
|
||||
"recentHomework": "最近作业",
|
||||
"weeklySchedule": "本周课表",
|
||||
"quickActions": "快捷操作",
|
||||
"submissionTrends": "提交趋势",
|
||||
"studentList": "学生名单"
|
||||
},
|
||||
"edit": {
|
||||
"title": "编辑班级",
|
||||
"name": "班级名称",
|
||||
"homeroom": "班主任",
|
||||
"room": "教室",
|
||||
"cancel": "取消",
|
||||
"save": "保存"
|
||||
},
|
||||
"empty": {
|
||||
"noSchedule": "暂无课表",
|
||||
"noScheduleDescription": "该班级尚未设置课表。",
|
||||
"noAssignments": "暂无作业",
|
||||
"noAssignmentsDescription": "该班级尚未布置任何作业。"
|
||||
},
|
||||
"students": {
|
||||
"viewAll": "查看全部",
|
||||
"activeCount": "{count} 名在读学生"
|
||||
},
|
||||
"schedule": {
|
||||
"manage": "管理",
|
||||
"showingWeekdays": "仅显示周一至周五课表"
|
||||
},
|
||||
"quickActions": {
|
||||
"manageSchedule": "管理课表",
|
||||
"messageClassComingSoon": "班级通知(即将上线)"
|
||||
}
|
||||
},
|
||||
"grade": {
|
||||
"title": "班级管理",
|
||||
"description": "管理你所在年级的班级。",
|
||||
"noManagedGrades": "暂无负责年级",
|
||||
"noManagedGradesDescription": "你尚未管理任何年级。",
|
||||
"insights": {
|
||||
"title": "年级学情",
|
||||
"description": "查看你负责年级的作业整体统计。",
|
||||
"filters": "筛选",
|
||||
"grade": "年级",
|
||||
"apply": "应用",
|
||||
"selectGrade": "选择年级",
|
||||
"noGrades": "暂无负责年级",
|
||||
"noGradesDescription": "你尚未被指派为任何年级的年级主任或教研组长。",
|
||||
"selectToView": "请选择年级查看学情",
|
||||
"selectToViewDescription": "选择一个年级以查看最新作业与历史成绩统计。",
|
||||
"notFound": "年级不存在",
|
||||
"notFoundDescription": "该年级可能不存在或暂无可访问数据。",
|
||||
"noData": "该年级暂无作业数据",
|
||||
"noDataDescription": "该年级学生尚未收到任何作业。",
|
||||
"classes": "班级",
|
||||
"students": "学生",
|
||||
"overallAvg": "整体均分",
|
||||
"latestAvg": "最新均分",
|
||||
"homeworkTimeline": "作业时间线",
|
||||
"classRanking": "班级排名",
|
||||
"assignment": "作业",
|
||||
"status": "状态",
|
||||
"created": "创建时间",
|
||||
"targeted": "目标人数",
|
||||
"submitted": "已提交",
|
||||
"graded": "已批改",
|
||||
"avg": "均分",
|
||||
"median": "中位数",
|
||||
"class": "班级",
|
||||
"latestAvgCol": "最新均分",
|
||||
"prevAvg": "上次均分",
|
||||
"delta": "变化",
|
||||
"overallAvgCol": "整体均分",
|
||||
"active": "活跃",
|
||||
"inactive": "非活跃"
|
||||
}
|
||||
},
|
||||
"bulk": {
|
||||
"importStudents": {
|
||||
"title": "批量导入学生",
|
||||
"description": "每行一个邮箱,格式:name,email 或仅 email",
|
||||
"placeholder": "张三,zhangsan@example.com\nlisi@example.com",
|
||||
"submit": "导入",
|
||||
"success": "成功导入 {imported} 个学生,{failed} 个失败",
|
||||
"failed": "批量导入失败"
|
||||
},
|
||||
"assignTeachers": {
|
||||
"title": "批量分配教师",
|
||||
"description": "每行格式:班级名称,科目,教师邮箱",
|
||||
"placeholder": "一班,语文,zhangsan@example.com\n二班,数学,lisi@example.com",
|
||||
"submit": "分配",
|
||||
"success": "成功更新 {updated} 个分配,{failed} 个失败",
|
||||
"failed": "批量分配失败"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"boundary": {
|
||||
"title": "加载失败",
|
||||
"description": "数据加载时发生错误,请重试",
|
||||
"retry": "重试"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
"title": "加载失败",
|
||||
"description": "数据加载时发生错误,请重试",
|
||||
"retry": "重试"
|
||||
},
|
||||
"actions": {
|
||||
"classCreated": "班级创建成功",
|
||||
"classUpdated": "班级更新成功",
|
||||
"classDeleted": "班级删除成功",
|
||||
"studentAdded": "学生添加成功",
|
||||
"studentUpdated": "学生状态更新成功",
|
||||
"invitationCodeReady": "邀请码已就绪",
|
||||
"invitationCodeUpdated": "邀请码已更新",
|
||||
"invitationCodeGenerated": "邀请码已生成",
|
||||
"invitationCodeRevoked": "邀请码已撤销",
|
||||
"scheduleItemCreated": "课表项创建成功",
|
||||
"scheduleItemUpdated": "课表项更新成功",
|
||||
"scheduleItemDeleted": "课表项删除成功",
|
||||
"joinedClass": "加入班级成功",
|
||||
"bulkImportResult": "成功导入 {imported} 个学生,{failed} 个失败",
|
||||
"bulkAssignResult": "成功更新 {updated} 个分配,{failed} 个失败",
|
||||
"missingClassId": "缺少班级 ID",
|
||||
"missingScheduleId": "缺少课表 ID",
|
||||
"missingCodeId": "缺少邀请码 ID",
|
||||
"missingEnrollmentInfo": "缺少注册信息",
|
||||
"invalidScheduleData": "课表项数据无效",
|
||||
"invalidExpiresInHours": "有效期(小时)无效",
|
||||
"invalidMaxUses": "最大使用次数无效",
|
||||
"csvRequired": "CSV 数据为必填",
|
||||
"noValidEntries": "未找到有效条目",
|
||||
"classNameGradeTeacherRequired": "班级名称、年级和教师为必填",
|
||||
"classNameGradeRequired": "班级名称和年级为必填",
|
||||
"invitationCodeRequired": "邀请码为必填",
|
||||
"subjectRequired": "科目为必填",
|
||||
"tooManyAttempts": "尝试过于频繁,请稍后再试",
|
||||
"scheduleItemNotFound": "未找到课表项",
|
||||
"classNotFoundOrNotLinked": "班级不存在或未关联年级",
|
||||
"notPermissionCreateGrade": "无权为该年级创建班级",
|
||||
"notPermissionUpdateClass": "无权更新此班级",
|
||||
"notPermissionMoveClass": "无权将班级移动到该年级",
|
||||
"notPermissionDeleteClass": "无权删除此班级",
|
||||
"notOwnClass": "你不是此班级的所有者",
|
||||
"notPermissionManageClass": "无权管理此班级",
|
||||
"notPermissionManageClassSchedule": "无权管理此班级课表",
|
||||
"onlyAdminsAndGradeHeads": "仅管理员和年级主任可创建班级",
|
||||
"classAndEmailRequired": "请选择班级并填写学生邮箱",
|
||||
"invalidWeekday": "无效的星期值",
|
||||
"invalidSubjectTeachers": "任课教师数据无效"
|
||||
},
|
||||
"metadata": {
|
||||
"myClasses": "我的班级",
|
||||
"classDetail": "班级详情",
|
||||
"schedule": "班级课表",
|
||||
"students": "学生名单",
|
||||
"studentLearning": "学习中心",
|
||||
"studentCourses": "我的课程",
|
||||
"studentClassDetail": "班级主页",
|
||||
"studentSchedule": "我的课表"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user