- Update src/shared/db/schema.ts - Update i18n messages for en and zh-CN (error-book, exam-homework, leave, lesson-preparation, notifications, rbac, student, textbooks, diagnostic) - Update src/shared/lib/rate-limit/index.ts and redis-limiter.ts - Update src/shared/components/auth-session-provider.tsx
86 lines
3.4 KiB
JSON
86 lines
3.4 KiB
JSON
{
|
|
"title": {
|
|
"default": "Leave Request",
|
|
"parent": "Online Leave",
|
|
"teacher": "Leave Approval",
|
|
"student": "My Leave Requests"
|
|
},
|
|
"description": {
|
|
"default": "Submit a leave request for your child.",
|
|
"parent": "Submit a leave request for your child. Attendance is auto-synced after homeroom teacher approval.",
|
|
"teacher": "View and approve leave requests from students in your classes. Approved leaves automatically mark attendance as 'excused'.",
|
|
"student": "Submit your own leave request. It takes effect after homeroom teacher approval."
|
|
},
|
|
"backToDashboard": "Back to Dashboard",
|
|
"onlineLeave": "Online Leave Request",
|
|
"comingSoon": "Coming soon",
|
|
"comingSoonDesc": "The online leave request feature is being developed and will be available soon. For now, please contact the homeroom teacher or school office directly.",
|
|
"contactOptions": "Contact options",
|
|
"callOffice": "Call the school office during working hours",
|
|
"sendMessage": "Send a message to the homeroom teacher via the Messages page",
|
|
"goToMessages": "Go to Messages",
|
|
"types": {
|
|
"sick": "Sick Leave",
|
|
"personal": "Personal Leave",
|
|
"family": "Family Affairs",
|
|
"other": "Other"
|
|
},
|
|
"status": {
|
|
"pending": "Pending",
|
|
"approved": "Approved",
|
|
"rejected": "Rejected",
|
|
"cancelled": "Cancelled"
|
|
},
|
|
"form": {
|
|
"student": "Student",
|
|
"studentPlaceholder": "Select your child",
|
|
"leaveType": "Leave Type",
|
|
"dateRange": "Leave Dates",
|
|
"reason": "Reason",
|
|
"reasonPlaceholder": "Briefly explain the reason for leave (max 500 chars)",
|
|
"submit": "Submit Request",
|
|
"submitting": "Submitting…"
|
|
},
|
|
"list": {
|
|
"reason": "Reason",
|
|
"reviewedBy": "Reviewed by {name} ({date})",
|
|
"reviewComment": "Review Comment",
|
|
"attendanceSynced": "Attendance synced"
|
|
},
|
|
"review": {
|
|
"title": "Review Leave Request",
|
|
"description": "{name} · {className} · {dateRange}",
|
|
"approve": "Approve",
|
|
"reject": "Reject",
|
|
"cancel": "Cancel",
|
|
"commentLabel": "Review Comment",
|
|
"commentPlaceholder": "Enter review comment (required for rejection, optional for approval)",
|
|
"openButton": "Review"
|
|
},
|
|
"errors": {
|
|
"invalidForm": "The form has errors, please check and retry",
|
|
"noRelation": "You have no parent-child relation with this student",
|
|
"classMismatch": "Selected class does not match the student's current class",
|
|
"overlappingLeave": "An active leave request already exists in this date range",
|
|
"reviewCommentRequired": "Review comment is required when rejecting",
|
|
"notFound": "Leave request not found or no access",
|
|
"alreadyReviewed": "This leave request has already been reviewed",
|
|
"notOwner": "You can only cancel your own leave requests",
|
|
"cannotCancel": "Current status does not allow cancellation (only pending can be cancelled)"
|
|
},
|
|
"messages": {
|
|
"created": "Leave request submitted, waiting for homeroom teacher approval",
|
|
"approved": "Leave request approved, attendance synced",
|
|
"rejected": "Leave request rejected",
|
|
"cancelled": "Leave request cancelled"
|
|
},
|
|
"empty": {
|
|
"parentTitle": "No leave records",
|
|
"parentDesc": "You have not submitted any leave requests for your children",
|
|
"teacherTitle": "No leave requests",
|
|
"teacherDesc": "No pending or reviewed leave requests from your classes",
|
|
"studentTitle": "No leave records",
|
|
"studentDesc": "You have not submitted any leave requests"
|
|
}
|
|
}
|