Files
NextEdu/src/shared/i18n/messages/zh-CN/onboarding.json
SpecialX c90748124d feat: introduce i18n system and class invitation codes
Add complete i18n infrastructure using next-intl (cookie-driven, without i18n routing) with zh-CN/en dictionary files, locale switcher, and NextIntlClientProvider in root layout. Add class invitation code system with new class_invitation_codes table, data-access layer (generate/validate/consume/revoke), server actions with permission checks, rate limiting, and audit logging. Add class-invitation-manager UI component. Refactor onboarding stepper to use i18n translations and accept new invitation code format (6-char alphanumeric) with backward compatibility for legacy 6-digit codes.
2026-06-22 14:04:55 +08:00

79 lines
3.0 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"title": "首次登录引导",
"description": "完成首次登录信息配置",
"steps": {
"roleConfirm": "角色确认",
"basicInfo": "基础信息",
"roleInfo": "角色信息",
"complete": "完成"
},
"role": {
"yourRole": "你的角色",
"allRoles": "全部角色:{roles}",
"adminAssigned": "角色由管理员预分配,如需变更请联系管理员。",
"admin": "管理员",
"teacher": "教师",
"student": "学生",
"parent": "家长",
"grade_head": "年级主任",
"teaching_head": "教研组长"
},
"form": {
"name": "姓名",
"nameRequired": "请填写姓名",
"nameMax": "姓名长度不能超过 50 个字符",
"phone": "电话",
"phoneRequired": "请填写电话",
"phoneInvalid": "请输入有效的手机号11 位,以 1 开头)",
"address": "住址",
"addressMax": "住址长度不能超过 200 个字符"
},
"teacher": {
"classCodes": "班级邀请码",
"classCodesOptional": "班级邀请码(可选,可多个)",
"classCodesPlaceholder": "每行一个或用逗号分隔6 位字母数字",
"classCodesHint": "服务端会校验邀请码有效性及科目是否已被其他教师占用。",
"subjects": "教学科目",
"subjectsOptional": "教学科目(可选,可多选)",
"subjectsHint": "可选多个科目,服务端会为每个班级的每个所选科目绑定任课教师。若班级该科目已有任课教师,绑定将被拒绝。"
},
"student": {
"classCodesOptional": "班级邀请码(可选)",
"classCodesPlaceholder": "每行一个或用逗号分隔6 位字母数字",
"classCodesHint": "若管理员已预分配班级,可跳过此项。"
},
"parent": {
"bindHint": "通过子女邮箱 + 子女生日 + 子女手机号后 4 位绑定子女(至少完整填写一个,可添加多个)。",
"childN": "子女 {index}",
"childEmail": "子女邮箱",
"childEmailRequired": "请填写子女邮箱",
"childEmailInvalid": "子女邮箱格式错误",
"childBirthDate": "子女生日",
"childBirthDateRequired": "请填写子女生日",
"childBirthDateInvalid": "子女生日格式错误YYYY-MM-DD",
"childPhoneSuffix": "子女手机号后 4 位",
"childPhoneSuffixRequired": "请填写子女手机号后 4 位",
"childPhoneSuffixInvalid": "子女手机号后 4 位格式错误",
"childRelation": "关系",
"childRelationPlaceholder": "父亲 / 母亲 / 其他",
"addChild": "添加子女"
},
"complete": {
"ready": "已准备完成",
"readyHint": "点击完成后进入系统。"
},
"validation": {
"needNamePhone": "请填写姓名与电话",
"needOneChild": "请至少完整填写一个子女的绑定信息"
},
"progress": {
"label": "Onboarding 进度"
},
"toast": {
"completeSuccess": "配置完成",
"partialFailure": "配置完成,但 {count} 项绑定失败",
"submitFailed": "提交失败",
"inputInvalid": "输入校验失败"
}
}