{
  "Metadata": {
    "title": "School System",
    "description": "School System"
  },
  "Nav": {
    "brand": "School System",
    "dashboard": "Dashboard",
    "myInfo": "My info",
    "stages": "Stages",
    "grades": "Grades",
    "classrooms": "Classrooms",
    "academicYears": "Academic years",
    "subjects": "Subjects",
    "students": "Students",
    "allStudents": "All students",
    "addStudent": "Add student",
    "promoteStudents": "Promote students",
    "promotionHistory": "Promotion history",
    "graduateStudents": "Graduate students",
    "graduationHistory": "Graduation history",
    "teachers": "Teachers",
    "allTeachers": "All teachers",
    "teacherSubjects": "Subject assignments",
    "fees": "Fees",
    "manageUsers": "Manage users",
    "logout": "Log out",
    "switchSchool": "Switch to",
    "platformSchools": "Schools",
    "login": "Log in",
    "register": "Register",
    "switchToArabic": "العربية",
    "switchToEnglish": "English",
    "collapseSidebar": "Collapse sidebar",
    "expandSidebar": "Expand sidebar",
    "switchToLightTheme": "Switch to light theme",
    "switchToDarkTheme": "Switch to dark theme",
    "attendance": "Attendance",
    "takeAttendance": "Take attendance",
    "attendanceHistory": "Attendance history",
    "myClassrooms": "My classrooms",
    "myPortal": "My portal",
    "myExams": "My exams",
    "myAttendance": "My attendance",
    "mySubjects": "My subjects",
    "myFees": "My fees",
    "exams": "Exams",
    "allExams": "All exams",
    "createExam": "Create exam",
    "meetings": "Meetings",
    "myMeetings": "My meetings",
    "library": "Library",
    "settings": "Settings",
    "createSchool": "Create a new school",
    "platformOverview": "Central dashboard",
    "platformAudit": "Audit log",
    "systemAdminActivity": "System admin activity",
    "platformAnnouncements": "Announcements",
    "platformPlans": "Plans"
  },
  "LoginPage": {
    "headingAdmin": "Admin log in",
    "headingTeacher": "Teacher log in",
    "headingStudent": "Student log in",
    "headingParent": "Parent log in",
    "emailLabel": "Email",
    "passwordLabel": "Password",
    "submit": "Log in",
    "submitting": "Logging in…",
    "forgotPassword": "Forgot password?",
    "backToChooser": "Not you? Choose a different login",
    "schoolLabel": "School",
    "schoolPlaceholder": "Choose a school",
    "schoolHint": "Your account belongs to more than one school. Choose which one to sign in to."
  },
  "LoginChooserPage": {
    "heading": "Log in as",
    "admin": "Admin",
    "teacher": "Teacher",
    "student": "Student",
    "parent": "Parent",
    "newHere": "New here?",
    "createSchoolLink": "Create your school",
    "systemAdmin": "System admin sign-in"
  },
  "RegisterPage": {
    "heading": "Create an account",
    "nameLabel": "Name",
    "emailLabel": "Email",
    "passwordLabel": "Password",
    "confirmPasswordLabel": "Confirm password",
    "submit": "Register",
    "submitting": "Creating account…",
    "haveAccount": "Already have an account?",
    "loginLink": "Log in",
    "settingUpSchool": "Setting up a school?",
    "createSchoolLink": "Create your school instead"
  },
  "ForgotPasswordPage": {
    "heading": "Forgot password",
    "emailLabel": "Email",
    "submit": "Send reset link",
    "submitting": "Sending…",
    "backToLogin": "Back to log in"
  },
  "ResetPasswordPage": {
    "heading": "Reset password",
    "newPasswordLabel": "New password",
    "confirmPasswordLabel": "Confirm new password",
    "submit": "Reset password",
    "submitting": "Resetting…",
    "invalidLink": "This reset link is invalid or incomplete.",
    "requestNew": "Request a new one"
  },
  "DashboardPage": {
    "welcome": "Welcome, {name}"
  },
  "Avatar": {
    "changeAvatar": "Change avatar",
    "uploading": "Uploading…",
    "remove": "Remove",
    "removing": "Removing…",
    "uploadSuccess": "Avatar updated.",
    "uploadError": "Failed to upload avatar.",
    "removeSuccess": "Avatar removed.",
    "removeError": "Failed to remove avatar."
  },
  "PostsPage": {
    "newPost": "New post",
    "editPost": "Edit post",
    "postsHeading": "Posts",
    "noPosts": "No posts yet.",
    "titleColumn": "Title",
    "statusColumn": "Status",
    "categoryColumn": "Category",
    "authorColumn": "Author",
    "featured": "featured",
    "edit": "Edit",
    "delete": "Delete",
    "deleteSuccess": "Post deleted.",
    "deleteError": "Failed to delete post.",
    "loadError": "Failed to load posts."
  },
  "PostForm": {
    "titleLabel": "Title",
    "contentLabel": "Content",
    "statusLabel": "Status",
    "statusDraftLabel": "Draft",
    "statusDraftDescription": "Only visible to you.",
    "statusPublishedLabel": "Published",
    "statusPublishedDescription": "Visible to everyone.",
    "categoryLabel": "Category",
    "categoryPlaceholder": "Choose a category",
    "categoryGeneral": "General",
    "categoryTutorial": "Tutorial",
    "categoryNews": "News",
    "categoryOpinion": "Opinion",
    "tagsLabel": "Tags",
    "tagsPlaceholder": "Choose tags",
    "tagLaravel": "Laravel",
    "tagNextjs": "Next.js",
    "tagTypescript": "TypeScript",
    "tagReact": "React",
    "tagPhp": "PHP",
    "tagTesting": "Testing",
    "featuredLabel": "Featured post",
    "featuredDescription": "Shown in the featured section on the homepage.",
    "readingMinutesLabel": "Reading time (minutes)",
    "priorityLabel": "Priority: {value}",
    "publishDateLabel": "Publish date",
    "saving": "Saving…",
    "saveChanges": "Save changes",
    "createPost": "Create post",
    "cancel": "Cancel",
    "createdToast": "Post created.",
    "updatedToast": "Post updated."
  },
  "Pagination": {
    "previous": "Previous",
    "next": "Next",
    "pageInfo": "Page {page} of {lastPage}"
  },
  "Table": {
    "selectAll": "Select all",
    "selectRow": "Select row"
  },
  "StagesPage": {
    "newStage": "New stage",
    "editStage": "Edit stage",
    "stagesHeading": "Stages",
    "noStages": "No stages yet.",
    "noResults": "No stages match your search.",
    "nameColumn": "Name",
    "edit": "Edit",
    "delete": "Delete",
    "deleteSuccess": "Stage deleted.",
    "deleteError": "Failed to delete stage.",
    "loadError": "Failed to load stages.",
    "searchPlaceholder": "Search stages...",
    "deleteSelected": "Delete selected ({count})",
    "confirmBulkDelete": "Delete {count} selected stage(s)? This cannot be undone.",
    "bulkDeleteSuccess": "Selected stages deleted.",
    "bulkDeleteError": "Failed to delete selected stages.",
    "cancel": "Cancel",
    "confirmDeleteTitle": "Delete stage?",
    "confirmDeleteDescription": "This will permanently delete \"{name}\". This cannot be undone.",
    "confirmBulkDeleteTitle": "Delete selected stages?"
  },
  "StageForm": {
    "nameEnLabel": "Name (English)",
    "nameArLabel": "Name (Arabic)",
    "saveChanges": "Save changes",
    "createStage": "Create stage",
    "cancel": "Cancel",
    "createdToast": "Stage created.",
    "updatedToast": "Stage updated."
  },
  "GradesPage": {
    "newGrade": "New grade",
    "editGrade": "Edit grade",
    "gradesHeading": "Grades",
    "noGrades": "No grades yet.",
    "noResults": "No grades match your filters.",
    "nameColumn": "Name",
    "stageColumn": "Stage",
    "edit": "Edit",
    "delete": "Delete",
    "deleteSuccess": "Grade deleted.",
    "deleteError": "Failed to delete grade.",
    "loadError": "Failed to load grades.",
    "searchPlaceholder": "Search grades...",
    "stageFilterLabel": "Stage",
    "allStages": "All stages",
    "deleteSelected": "Delete selected ({count})",
    "confirmBulkDelete": "Delete {count} selected grade(s)? This cannot be undone.",
    "bulkDeleteSuccess": "Selected grades deleted.",
    "bulkDeleteError": "Failed to delete selected grades.",
    "cancel": "Cancel",
    "confirmDeleteTitle": "Delete grade?",
    "confirmDeleteDescription": "This will permanently delete \"{name}\". This cannot be undone.",
    "confirmBulkDeleteTitle": "Delete selected grades?"
  },
  "GradeForm": {
    "stageLabel": "Stage",
    "stagePlaceholder": "Select a stage",
    "nameEnLabel": "Name (English)",
    "nameArLabel": "Name (Arabic)",
    "saveChanges": "Save changes",
    "createGrade": "Create grade",
    "cancel": "Cancel",
    "createdToast": "Grade created.",
    "updatedToast": "Grade updated."
  },
  "ClassroomsPage": {
    "newClassrooms": "New classrooms",
    "editClassroom": "Edit classroom",
    "classroomsHeading": "Classrooms",
    "noClassrooms": "No classrooms yet.",
    "noResults": "No classrooms match your search.",
    "noStagesYet": "No stages yet. Create a stage first.",
    "nameColumn": "Name",
    "gradeColumn": "Grade",
    "capacityColumn": "Capacity",
    "edit": "Edit",
    "delete": "Delete",
    "deleteSuccess": "Classroom deleted.",
    "deleteError": "Failed to delete classroom.",
    "loadError": "Failed to load classrooms.",
    "searchPlaceholder": "Search classrooms...",
    "deleteSelected": "Delete selected ({count})",
    "confirmBulkDelete": "Delete {count} selected classroom(s)? This cannot be undone.",
    "bulkDeleteSuccess": "Selected classrooms deleted.",
    "bulkDeleteError": "Failed to delete selected classrooms.",
    "cancel": "Cancel",
    "confirmDeleteTitle": "Delete classroom?",
    "confirmDeleteDescription": "This will permanently delete \"{name}\". This cannot be undone.",
    "confirmBulkDeleteTitle": "Delete selected classrooms?"
  },
  "ClassroomForm": {
    "gradeLabel": "Grade",
    "gradePlaceholder": "Select a grade",
    "nameLabel": "Name",
    "capacityLabel": "Capacity",
    "capacityPlaceholder": "Optional",
    "subjectTeachersLabel": "Subjects & teachers",
    "saveChanges": "Save changes",
    "cancel": "Cancel",
    "updatedToast": "Classroom updated."
  },
  "ClassroomsBulkForm": {
    "gradeLabel": "Grade",
    "gradePlaceholder": "Select a grade",
    "nameLabel": "Name",
    "namePlaceholder": "e.g. 1A",
    "capacityLabel": "Capacity",
    "capacityPlaceholder": "Optional",
    "subjectTeachersLabel": "Subjects & teachers",
    "addRow": "Add another classroom",
    "removeRow": "Remove",
    "createClassrooms": "Create classrooms",
    "cancel": "Cancel",
    "createdToast": "{count, plural, one {Classroom created.} other {# classrooms created.}}"
  },
  "ClassroomSubjectTeachers": {
    "noSubjects": "No subjects for this grade yet.",
    "unassigned": "Unassigned",
    "teacherPlaceholder": "Choose a teacher",
    "noEligibleTeachers": "No teachers are set up to teach this subject yet.",
    "clear": "Remove teacher"
  },
  "PlatformSchoolsPage": {
    "heading": "Schools",
    "intro": "Every school on the platform. Only platform admins see this page.",
    "newSchool": "New school",
    "nameLabel": "School name",
    "slugLabel": "Short name (used in links)",
    "adminNameLabel": "First admin's name",
    "adminEmailLabel": "First admin's email",
    "adminHint": "If this email already has an account, it becomes an admin of the new school. Otherwise a new account is created and sent a link to set its password.",
    "create": "Create school",
    "creating": "Creating…",
    "createdInvited": "School created. An invitation was sent to {email}.",
    "createdExisting": "School created. {email} is now its admin.",
    "nameColumn": "Name",
    "slugColumn": "Short name",
    "membersColumn": "Members",
    "statusColumn": "Status",
    "statusActive": "Active",
    "statusSuspended": "Suspended",
    "suspend": "Suspend",
    "activate": "Activate",
    "current": "(you're here)",
    "cannotSuspendCurrent": "Switch to another school before suspending this one.",
    "loadError": "Couldn't load schools.",
    "updateError": "Couldn't update the school.",
    "manage": "Manage",
    "statusArchived": "Archived"
  },
  "AdminUsersPage": {
    "heading": "Users",
    "loadError": "Couldn't load users.",
    "nameColumn": "Name",
    "emailColumn": "Email",
    "rolesColumn": "Roles"
  },
  "AcademicYearsPage": {
    "newAcademicYear": "New academic year",
    "editAcademicYear": "Edit academic year",
    "academicYearsHeading": "Academic years",
    "noAcademicYears": "No academic years yet.",
    "noResults": "No academic years match your search.",
    "nameColumn": "Name",
    "currentColumn": "Current",
    "yes": "Yes",
    "no": "No",
    "edit": "Edit",
    "delete": "Delete",
    "deleteSuccess": "Academic year deleted.",
    "deleteError": "Failed to delete academic year.",
    "loadError": "Failed to load academic years.",
    "searchPlaceholder": "Search academic years...",
    "deleteSelected": "Delete selected ({count})",
    "confirmBulkDelete": "Delete {count} selected academic year(s)? This cannot be undone.",
    "bulkDeleteSuccess": "Selected academic years deleted.",
    "bulkDeleteError": "Failed to delete selected academic years.",
    "cancel": "Cancel",
    "confirmDeleteTitle": "Delete academic year?",
    "confirmDeleteDescription": "This will permanently delete \"{name}\". This cannot be undone.",
    "confirmBulkDeleteTitle": "Delete selected academic years?"
  },
  "AcademicYearForm": {
    "yearLabel": "Year",
    "yearPlaceholder": "e.g. 2026",
    "isCurrentLabel": "This is the current academic year",
    "saveChanges": "Save changes",
    "createAcademicYear": "Create academic year",
    "cancel": "Cancel",
    "createdToast": "Academic year created.",
    "updatedToast": "Academic year updated."
  },
  "SubjectsPage": {
    "newSubject": "New subject",
    "editSubject": "Edit subject",
    "subjectsHeading": "Subjects",
    "noSubjects": "No subjects yet.",
    "noResults": "No subjects match your search.",
    "nameColumn": "Name",
    "scopeColumn": "Taught to",
    "edit": "Edit",
    "delete": "Delete",
    "deleteSuccess": "Subject deleted.",
    "deleteError": "Failed to delete subject.",
    "loadError": "Failed to load subjects.",
    "searchPlaceholder": "Search subjects...",
    "deleteSelected": "Delete selected ({count})",
    "confirmBulkDelete": "Delete {count} selected subject(s)? This cannot be undone.",
    "bulkDeleteSuccess": "Selected subjects deleted.",
    "bulkDeleteError": "Failed to delete selected subjects.",
    "cancel": "Cancel",
    "confirmDeleteTitle": "Delete subject?",
    "confirmDeleteDescription": "This will permanently delete \"{name}\". This cannot be undone.",
    "confirmBulkDeleteTitle": "Delete selected subjects?"
  },
  "SubjectForm": {
    "nameEnLabel": "Name (English)",
    "nameArLabel": "Name (Arabic)",
    "scopeTypeLabel": "Taught to",
    "scopeStageLabel": "A whole stage",
    "scopeGradeLabel": "A specific grade",
    "stagesLabel": "Stages",
    "stagesPlaceholder": "Choose stages",
    "gradesLabel": "Grades",
    "gradesPlaceholder": "Choose grades",
    "saveChanges": "Save changes",
    "createSubject": "Create subject",
    "cancel": "Cancel",
    "createdToast": "Subject created.",
    "updatedToast": "Subject updated."
  },
  "FeesPage": {
    "newFee": "New fee",
    "editFee": "Edit fee",
    "chargeAll": "Charge all matching students",
    "feesHeading": "Fees",
    "noFees": "No fees yet.",
    "noResults": "No fees match your search.",
    "nameColumn": "Name",
    "academicYearColumn": "Academic year",
    "amountColumn": "Amount",
    "scopeColumn": "Applies to",
    "scopeAllStudents": "All students",
    "statusColumn": "Status",
    "statusActive": "Active",
    "statusInactive": "Inactive",
    "edit": "Edit",
    "delete": "Delete",
    "deleteSuccess": "Fee deleted.",
    "deleteError": "Failed to delete fee.",
    "loadError": "Failed to load fees.",
    "searchPlaceholder": "Search fees...",
    "deleteSelected": "Delete selected ({count})",
    "confirmBulkDelete": "Delete {count} selected fee(s)? This cannot be undone.",
    "bulkDeleteSuccess": "Selected fees deleted.",
    "bulkDeleteError": "Failed to delete selected fees.",
    "cancel": "Cancel",
    "confirmDeleteTitle": "Delete fee?",
    "confirmDeleteDescription": "This will permanently delete \"{name}\". This cannot be undone.",
    "confirmBulkDeleteTitle": "Delete selected fees?"
  },
  "FeeForm": {
    "nameEnLabel": "Name (English)",
    "nameArLabel": "Name (Arabic)",
    "academicYearLabel": "Academic year",
    "academicYearPlaceholder": "Select academic year",
    "amountLabel": "Amount",
    "isActiveLabel": "Active",
    "isForAllLabel": "Applies to all students",
    "stageLabel": "Stage",
    "stagePlaceholder": "Select a stage",
    "gradeLabel": "Grade",
    "gradePlaceholder": "Select a grade",
    "saveChanges": "Save changes",
    "createFee": "Create fee",
    "cancel": "Cancel",
    "createdToast": "Fee created.",
    "updatedToast": "Fee updated."
  },
  "TeachersPage": {
    "newTeacher": "New teacher",
    "editTeacher": "Edit teacher",
    "teachersHeading": "Teachers",
    "noTeachers": "No teachers yet.",
    "noResults": "No teachers match your search.",
    "nameColumn": "Name",
    "emailColumn": "Email",
    "joiningDateColumn": "Joining date",
    "statusColumn": "Status",
    "statusActive": "Active",
    "statusInactive": "Inactive",
    "statusOnLeave": "On leave",
    "edit": "Edit",
    "delete": "Delete",
    "deleteSuccess": "Teacher deleted.",
    "deleteError": "Failed to delete teacher.",
    "loadError": "Failed to load teachers.",
    "searchPlaceholder": "Search teachers...",
    "deleteSelected": "Delete selected ({count})",
    "confirmBulkDelete": "Delete {count} selected teacher(s)? This cannot be undone.",
    "bulkDeleteSuccess": "Selected teachers deleted.",
    "bulkDeleteError": "Failed to delete selected teachers.",
    "cancel": "Cancel",
    "confirmDeleteTitle": "Delete teacher?",
    "confirmDeleteDescription": "This will permanently delete \"{name}\". This cannot be undone.",
    "confirmBulkDeleteTitle": "Delete selected teachers?"
  },
  "TeacherForm": {
    "nameLabel": "Name",
    "emailLabel": "Email",
    "phoneLabel": "Phone",
    "joiningDateLabel": "Joining date",
    "statusLabel": "Status",
    "statusActiveLabel": "Active",
    "statusInactiveLabel": "Inactive",
    "statusOnLeaveLabel": "On leave",
    "saveChanges": "Save changes",
    "createTeacher": "Create teacher",
    "cancel": "Cancel",
    "createdToast": "Teacher created.",
    "updatedToast": "Teacher updated.",
    "loginSectionLabel": "Login access",
    "loginSectionHasLoginHint": "This teacher can already log in. Leave the password blank to keep it unchanged.",
    "loginSectionNoLoginHint": "This teacher has no login yet. Set a password to let them log in and mark attendance.",
    "passwordLabel": "Password",
    "newPasswordLabel": "New password",
    "passwordConfirmationLabel": "Confirm password"
  },
  "TeacherSubjectsPage": {
    "heading": "Subject assignments",
    "description": "Choose which subjects each teacher teaches.",
    "noTeachers": "No teachers yet.",
    "noSubjectsAssigned": "No subjects assigned.",
    "teacherColumn": "Teacher",
    "subjectsColumn": "Subjects",
    "assign": "Assign subjects",
    "assignDialogTitle": "Assign subjects to {name}",
    "subjectsPlaceholder": "Choose subjects",
    "save": "Save",
    "cancel": "Cancel",
    "loadError": "Failed to load teachers.",
    "updatedToast": "Subjects updated.",
    "updateError": "Failed to update subjects."
  },
  "StudentsPage": {
    "indexHeading": "Students",
    "createHeading": "Register student",
    "newStudent": "Add student",
    "searchPlaceholder": "Search students...",
    "stageFilterLabel": "Stage",
    "allStages": "All stages",
    "gradeFilterLabel": "Grade",
    "allGrades": "All grades",
    "classroomFilterLabel": "Classroom",
    "allClassrooms": "All classrooms",
    "statusFilterLabel": "Status",
    "activeBadge": "Active",
    "graduatedBadge": "Graduated",
    "allStatuses": "All statuses",
    "statusColumn": "Status",
    "noStudents": "No students yet.",
    "noResults": "No students match your filters.",
    "loadError": "Failed to load students.",
    "nameColumn": "Name",
    "emailColumn": "Email",
    "classColumn": "Stage / Grade / Classroom",
    "parentEmailColumn": "Parent email",
    "view": "View",
    "edit": "Edit",
    "delete": "Delete",
    "promoteClassroom": "Promote classroom",
    "promoteSelected": "{count, plural, one {Promote # student} other {Promote # students}}",
    "promoteMixedClassrooms": "Select students from a single classroom to move them together.",
    "graduateClassroom": "Graduate classroom",
    "graduateSelected": "{count, plural, one {Graduate # student} other {Graduate # students}}",
    "editStudent": "Edit student",
    "confirmDeleteTitle": "Delete this student?",
    "confirmDeleteDescription": "This permanently deletes {name}'s record along with the student and parent accounts. This cannot be undone.",
    "cancel": "Cancel",
    "deleteSuccess": "Student deleted.",
    "deleteError": "Couldn't delete student.",
    "updateSuccess": "Student updated.",
    "updateError": "Couldn't update student.",
    "newPasswordLabel": "New password",
    "newPasswordHint": "Leave blank to keep the current password.",
    "saving": "Saving…",
    "saveChanges": "Save changes"
  },
  "StudentWizard": {
    "stepOfTotal": "Step {step} of {total}",
    "stepPersonal": "Student info",
    "stepAcademic": "Academic info",
    "stepParentAccount": "Parent account",
    "stepFather": "Father's details",
    "stepMother": "Mother's details",
    "stepAttachments": "Attachments",
    "stepConfirm": "Confirm",
    "sectionPersonalInfo": "Personal info",
    "sectionLocation": "Location",
    "sectionAccount": "Account",
    "sectionAcademicAssignment": "Academic assignment",
    "sectionAddress": "Address",
    "sectionAttachments": "Attachments",
    "back": "Back",
    "next": "Next",
    "submit": "Register student",
    "submitting": "Registering…",
    "successToast": "Student registered.",
    "successToastLinkedParent": "Student registered and linked to the parent's existing account.",
    "parentPasswordHint": "Leave blank if this parent already has an account (for example, for a sibling). The child is then added to that account.",
    "studentNameEnLabel": "Student name (English)",
    "studentNameArLabel": "Student name (Arabic)",
    "studentEmailLabel": "Student email",
    "studentPasswordLabel": "Student password",
    "studentPasswordConfirmationLabel": "Confirm password",
    "genderLabel": "Gender",
    "genderPlaceholder": "Select gender",
    "genderMale": "Male",
    "genderFemale": "Female",
    "nationalityLabel": "Nationality",
    "nationalityPlaceholder": "Select nationality",
    "governorateLabel": "Governorate",
    "governoratePlaceholder": "Select governorate",
    "bloodTypeLabel": "Blood type",
    "bloodTypePlaceholder": "Select blood type",
    "stageLabel": "Stage",
    "stagePlaceholder": "Select a stage",
    "gradeLabel": "Grade",
    "gradePlaceholder": "Select a grade",
    "classroomLabel": "Classroom",
    "classroomPlaceholder": "Select a classroom",
    "academicYearLabel": "Academic year",
    "academicYearPlaceholder": "Select academic year",
    "parentEmailLabel": "Parent email",
    "parentPasswordLabel": "Parent password",
    "parentPasswordConfirmationLabel": "Confirm password",
    "guardianNameLabel": "Name",
    "guardianJobLabel": "Job",
    "guardianNationalIdLabel": "National ID",
    "guardianPhoneLabel": "Phone number",
    "guardianNationalityLabel": "Nationality",
    "guardianNationalityPlaceholder": "Select nationality",
    "guardianGovernorateLabel": "Governorate",
    "guardianGovernoratePlaceholder": "Select governorate",
    "guardianBloodTypeLabel": "Blood type",
    "guardianBloodTypePlaceholder": "Select blood type",
    "guardianReligionLabel": "Religion",
    "guardianReligionPlaceholder": "Select religion",
    "guardianAddressLabel": "Address",
    "attachmentsLabel": "Photos",
    "attachmentsHint": "Optional. You can upload multiple images, up to 1MB each.",
    "confirmHeading": "Review and confirm",
    "confirmDescription": "Check the details below before registering this student.",
    "confirmStudentSection": "Student",
    "confirmAcademicSection": "Academic assignment",
    "confirmParentSection": "Parent account",
    "confirmFatherSection": "Father",
    "confirmMotherSection": "Mother",
    "confirmAttachmentsSection": "Attachments",
    "confirmAttachmentsCount": "{count, plural, one {# photo} other {# photos}} attached",
    "confirmAttachmentsNone": "No photos attached"
  },
  "StudentShowPage": {
    "backToStudents": "Back to students",
    "loadError": "Failed to load student.",
    "attachmentsNone": "No photos attached.",
    "attachmentsUploading": "Uploading…",
    "attachmentsUploadError": "Couldn't upload the photo.",
    "attachmentsDeleteError": "Couldn't delete the photo.",
    "download": "Download",
    "feesTab": "Fees"
  },
  "StudentFeesSection": {
    "heading": "Fee charges",
    "addCharge": "Add charge",
    "print": "Print",
    "printTitle": "Fee payment history",
    "printGeneratedOn": "Generated on {date}",
    "printChargesHeading": "Charges",
    "printPaymentsHeading": "Payment history",
    "printTotalsLabel": "Total",
    "noCharges": "No fees charged yet.",
    "feeColumn": "Fee",
    "dueColumn": "Due",
    "paidColumn": "Paid",
    "waivedColumn": "Waived",
    "balanceColumn": "Balance",
    "statusColumn": "Status",
    "status_unpaid": "Unpaid",
    "status_partial": "Partial",
    "status_paid": "Paid",
    "status_waived": "Waived",
    "viewHistory": "View payment history",
    "editAmount": "Edit amount",
    "recordPayment": "Record payment",
    "waive": "Waive",
    "unwaive": "Unwaive",
    "delete": "Delete",
    "cancel": "Cancel",
    "loadError": "Failed to load fee charges.",
    "waiveSuccess": "Charge waived.",
    "waiveError": "Failed to waive charge.",
    "unwaiveSuccess": "Charge unwaived.",
    "unwaiveError": "Failed to unwaive charge.",
    "deleteSuccess": "Charge deleted.",
    "deleteError": "Failed to delete charge.",
    "confirmWaiveTitle": "Waive this charge?",
    "confirmWaiveDescription": "The student will no longer owe this fee. This can't be undone from here.",
    "confirmDeleteTitle": "Delete this charge?",
    "confirmDeleteDescription": "This removes the charge entirely. This cannot be undone.",
    "noPayments": "No payments recorded yet.",
    "dateColumn": "Date",
    "amountColumn": "Amount",
    "methodColumn": "Method",
    "noteColumn": "Note"
  },
  "ChargeAllFeeForm": {
    "loading": "Loading matching students…",
    "loadError": "Failed to load matching students.",
    "noMatches": "Every matching student has already been charged this fee.",
    "matchCount": "{count, plural, one {# student matches this fee and hasn't been charged yet.} other {# students match this fee and haven't been charged yet.}}",
    "removeRow": "Remove",
    "chargeAll": "Charge selected",
    "cancel": "Cancel",
    "createdToast": "{count, plural, one {Charged 1 student.} other {Charged # students.}}"
  },
  "FeeChargeAmountForm": {
    "amountDueLabel": "Amount due",
    "save": "Save",
    "cancel": "Cancel",
    "updatedToast": "Amount updated."
  },
  "FeeChargeForm": {
    "feeLabel": "Fee",
    "feePlaceholder": "Select a fee",
    "amountDueLabel": "Amount due",
    "addRow": "Add another fee",
    "removeRow": "Remove",
    "createCharge": "Add charges",
    "cancel": "Cancel",
    "createdToast": "{count, plural, one {Fee charged.} other {# fees charged.}}"
  },
  "FeePaymentForm": {
    "amountLabel": "Amount",
    "amountHint": "Use a negative amount to record a refund or correction.",
    "balanceHint": "Remaining balance: {balance}.",
    "dateLabel": "Date",
    "methodLabel": "Method",
    "methodCash": "Cash",
    "methodBankTransfer": "Bank transfer",
    "methodCard": "Card",
    "methodOther": "Other",
    "noteLabel": "Note",
    "recordPayment": "Record payment",
    "cancel": "Cancel",
    "createdToast": "Payment recorded."
  },
  "PromotionsPage": {
    "heading": "Promote students",
    "description": "Move a classroom's students into a new classroom, grade, or stage — pick the classroom below, then where they're going.",
    "viewHistory": "View history",
    "backToPromote": "Back to promote students",
    "historySearchPlaceholder": "Search by student name...",
    "classroomFilterLabel": "Classroom",
    "fromHeading": "From",
    "toHeading": "To",
    "matchedHeading": "{count, plural, one {# student matches} other {# students match}}",
    "noMatched": "No students match this selection.",
    "excludeHint": "Uncheck any student you don't want included in this promotion.",
    "promoteButton": "{count, plural, one {Promote # student} other {Promote # students}}",
    "confirmTitle": "Promote these students?",
    "confirmDescription": "{count, plural, one {# student will move} other {# students will move}} to {classroom}. This cannot be undone.",
    "confirm": "Promote",
    "cancel": "Cancel",
    "successToast": "{count, plural, one {# student promoted.} other {# students promoted.}}",
    "promoteError": "Couldn't promote these students.",
    "loadError": "Failed to load promotion history.",
    "historyHeading": "Promotion history",
    "historyEmpty": "No promotions yet.",
    "historyNoResults": "No promotions match this filter.",
    "statusFilterAll": "All",
    "studentColumn": "Student",
    "fromColumn": "From",
    "toColumn": "To",
    "academicYearColumn": "Academic year",
    "promotedByColumn": "Promoted by",
    "dateColumn": "Date",
    "statusColumn": "Status",
    "activeBadge": "Active",
    "rolledBackBadge": "Rolled back",
    "rollbackOne": "Rollback",
    "rollbackSelected": "{count, plural, one {Rollback # promotion} other {Rollback # promotions}}",
    "rollbackConfirmTitle": "Roll back this promotion?",
    "rollbackConfirmDescription": "{count, plural, one {# student will move back to their previous classroom.} other {# students will move back to their previous classroom.}} Only possible while it's still their most recent change.",
    "rollbackSuccessToast": "{count, plural, one {# promotion rolled back.} other {# promotions rolled back.}}",
    "rollbackError": "Couldn't roll back this promotion."
  },
  "GraduationsPage": {
    "heading": "Graduate students",
    "description": "Move a classroom's students out of the active roster for good — pick the classroom below, then confirm who's graduating.",
    "viewHistory": "View history",
    "backToGraduate": "Back to graduate students",
    "historySearchPlaceholder": "Search by student name...",
    "classroomFilterLabel": "Classroom",
    "classroomHeading": "Classroom",
    "matchedHeading": "{count, plural, one {# student matches} other {# students match}}",
    "noMatched": "No students match this selection.",
    "excludeHint": "Uncheck any student you don't want included in this graduation.",
    "graduateButton": "{count, plural, one {Graduate # student} other {Graduate # students}}",
    "confirmTitle": "Graduate these students?",
    "confirmDescription": "{count, plural, one {# student will be marked graduated} other {# students will be marked graduated}} and leave the active roster. This cannot be undone.",
    "confirm": "Graduate",
    "cancel": "Cancel",
    "successToast": "{count, plural, one {# student graduated.} other {# students graduated.}}",
    "graduateError": "Couldn't graduate these students.",
    "loadError": "Failed to load graduation history.",
    "historyHeading": "Graduation history",
    "historyEmpty": "No graduations yet.",
    "historyNoResults": "No graduations match this filter.",
    "statusFilterAll": "All",
    "studentColumn": "Student",
    "classColumn": "Stage / Grade / Classroom",
    "academicYearColumn": "Academic year",
    "graduatedByColumn": "Graduated by",
    "dateColumn": "Date",
    "statusColumn": "Status",
    "activeBadge": "Active",
    "rolledBackBadge": "Rolled back",
    "rollbackOne": "Rollback",
    "rollbackSelected": "{count, plural, one {Rollback # graduation} other {Rollback # graduations}}",
    "rollbackConfirmTitle": "Roll back this graduation?",
    "rollbackConfirmDescription": "{count, plural, one {# student will move back to the active roster.} other {# students will move back to the active roster.}} Only possible while they're still graduated.",
    "rollbackSuccessToast": "{count, plural, one {# graduation rolled back.} other {# graduations rolled back.}}",
    "rollbackError": "Couldn't roll back this graduation."
  },
  "Validation": {
    "emailInvalid": "Enter a valid email address",
    "slugInvalid": "Use lowercase letters, numbers and single hyphens only",
    "passwordRequired": "Password is required",
    "nameRequired": "Name is required",
    "passwordMin": "Password must be at least 8 characters",
    "passwordsDontMatch": "Passwords do not match",
    "titleRequired": "Title is required",
    "contentRequired": "Content is required",
    "readingMinutesMin": "Must be at least 1 minute",
    "readingMinutesMax": "Must be 180 minutes or less",
    "stageNameEnRequired": "English name is required",
    "stageNameArRequired": "Arabic name is required",
    "calendarEventTitleRequired": "Title is required",
    "calendarEventDateRequired": "Date is required",
    "schoolNameRequired": "School name is required",
    "invalidUrl": "Enter a valid URL",
    "gradeStageRequired": "Stage is required",
    "gradeNameEnRequired": "English name is required",
    "gradeNameArRequired": "Arabic name is required",
    "classroomGradeRequired": "Grade is required",
    "classroomNameRequired": "Name is required",
    "classroomCapacityInvalid": "Capacity must be a positive number",
    "classroomRowsRequired": "Add at least one classroom",
    "academicYearYearRequired": "Year is required",
    "academicYearYearInvalid": "Enter a 4-digit year",
    "studentNameEnRequired": "English name is required",
    "studentNameArRequired": "Arabic name is required",
    "genderRequired": "Gender is required",
    "nationalityRequired": "Nationality is required",
    "governorateRequired": "Governorate is required",
    "bloodTypeRequired": "Blood type is required",
    "religionRequired": "Religion is required",
    "stageRequired": "Stage is required",
    "gradeRequired": "Grade is required",
    "classroomRequired": "Classroom is required",
    "academicYearRequired": "Academic year is required",
    "guardianNameRequired": "Name is required",
    "guardianJobRequired": "Job is required",
    "guardianNationalIdRequired": "National ID is required",
    "guardianPhoneRequired": "Phone number is required",
    "guardianAddressRequired": "Address is required",
    "attachmentImageOnly": "Only image files are allowed",
    "attachmentTooLarge": "Each image must be 1MB or smaller",
    "subjectNameEnRequired": "English name is required",
    "subjectNameArRequired": "Arabic name is required",
    "subjectScopeRequired": "Choose at least one",
    "teacherNameRequired": "Name is required",
    "teacherEmailRequired": "Email is required",
    "teacherEmailInvalid": "Enter a valid email address",
    "teacherJoiningDateRequired": "Joining date is required",
    "feeNameEnRequired": "English name is required",
    "feeNameArRequired": "Arabic name is required",
    "feeAcademicYearRequired": "Academic year is required",
    "feeAmountRequired": "Amount is required",
    "feeAmountInvalid": "Enter a valid amount",
    "feeStageRequired": "Stage is required",
    "feeGradeRequired": "Grade is required",
    "feeChargeFeeRequired": "Fee is required",
    "feeChargeAmountRequired": "Amount due is required",
    "feeChargeAmountInvalid": "Enter a valid amount",
    "feeChargeRowsRequired": "Add at least one fee",
    "feePaymentAmountRequired": "Amount is required",
    "feePaymentAmountInvalid": "Enter a valid, non-zero amount",
    "feePaymentDateRequired": "Date is required",
    "attendanceRowsRequired": "Add at least one student.",
    "subjectRequired": "Subject is required",
    "optionTextRequired": "Option text is required",
    "questionTextRequired": "Question text is required",
    "marksMin": "Marks must be at least 1",
    "optionsMin": "Add at least 2 options",
    "correctOptionRequired": "Select the correct option",
    "durationMin": "Duration must be at least 1 minute",
    "opensAtRequired": "Opening date/time is required",
    "closesAtRequired": "Closing date/time is required",
    "questionsMin": "Add at least one question",
    "closesAfterOpens": "Closing time must be after the opening time",
    "meetingClassroomsRequired": "Select at least one classroom",
    "meetingStartTimeRequired": "Start time is required",
    "libraryTitleRequired": "Title is required",
    "libraryUrlRequired": "A link is required",
    "libraryUrlInvalid": "Enter a valid URL",
    "libraryFileRequired": "A file is required",
    "libraryFileTooLarge": "File must be 1MB or smaller",
    "libraryGradeRequired": "Grade is required",
    "slugLength": "Use 3 to 63 characters"
  },
  "Errors": {
    "somethingWentWrong": "Something went wrong."
  },
  "ParentPortal": {
    "profileHeading": "My info",
    "profileSection": "Account",
    "nameLabel": "Name",
    "emailLabel": "Email",
    "newPasswordLabel": "New password",
    "newPasswordHint": "Leave blank to keep your current password.",
    "newPasswordConfirmationLabel": "Confirm new password",
    "saveProfile": "Save changes",
    "saving": "Saving…",
    "profileUpdated": "Your info has been updated.",
    "profileUpdateError": "Couldn't update your info.",
    "studentHeading": "My student",
    "overviewTab": "Overview",
    "loadError": "Couldn't load your student's info.",
    "saveGuardians": "Save changes",
    "guardiansUpdated": "Updated.",
    "guardiansUpdateError": "Couldn't save changes."
  },
  "AttendancePage": {
    "heading": "Attendance",
    "description": "Pick a classroom and date, mark each student, then save.",
    "classroomLabel": "Classroom",
    "classroomPlaceholder": "Select a classroom",
    "dateLabel": "Date",
    "noClassrooms": "No classrooms are assigned to you.",
    "studentColumn": "Student",
    "statusColumn": "Status",
    "notesColumn": "Notes",
    "notesPlaceholder": "Optional note",
    "noStudents": "No active students in this classroom.",
    "saveAttendance": "Save attendance",
    "savedToast": "{count, plural, one {Saved attendance for 1 student.} other {Saved attendance for # students.}}",
    "statusPresent": "Present",
    "statusAbsent": "Absent",
    "statusLate": "Late",
    "statusExcused": "Excused",
    "loadError": "Couldn't load classrooms.",
    "rosterLoadError": "Couldn't load the student list.",
    "notSchoolDay": "This isn't one of your school days. You can still take attendance, for example for a make-up day."
  },
  "AttendanceHistoryPage": {
    "heading": "Attendance history",
    "description": "Pick a classroom and date range to review past attendance.",
    "classroomLabel": "Classroom",
    "classroomPlaceholder": "Select a classroom",
    "fromLabel": "From",
    "toLabel": "To",
    "noClassrooms": "No classrooms are assigned to you.",
    "dateColumn": "Date",
    "studentColumn": "Student",
    "statusColumn": "Status",
    "notesColumn": "Notes",
    "noRecords": "No attendance recorded for this range.",
    "statusPresent": "Present",
    "statusAbsent": "Absent",
    "statusLate": "Late",
    "statusExcused": "Excused",
    "loadError": "Couldn't load classrooms.",
    "recordsLoadError": "Couldn't load attendance records."
  },
  "ExamsPage": {
    "heading": "Exams & quizzes",
    "description": "Create and manage exams and quizzes.",
    "newExam": "New exam",
    "loadError": "Couldn't load exams.",
    "noExams": "No exams yet.",
    "titleColumn": "Title",
    "subjectColumn": "Subject",
    "targetColumn": "Target",
    "statusColumn": "Status",
    "submittedColumn": "Submitted",
    "actionsColumn": "Actions",
    "statusDraft": "Draft",
    "statusPublished": "Published",
    "wholeGrade": "Whole grade ({grade})",
    "viewResults": "View results",
    "edit": "Edit",
    "delete": "Delete",
    "cancel": "Cancel",
    "deleteConfirmTitle": "Delete this exam?",
    "deleteConfirmDescription": "This can't be undone. The exam and its questions will be permanently removed.",
    "deleteSuccess": "Exam deleted.",
    "deleteError": "Couldn't delete the exam."
  },
  "ExamFormPage": {
    "createHeading": "Create exam",
    "editHeading": "Edit exam",
    "titleLabel": "Title",
    "typeLabel": "Type",
    "kind": {
      "exam": "Exam",
      "quiz": "Quiz"
    },
    "subjectLabel": "Subject",
    "subjectPlaceholder": "Select a subject",
    "gradeLabel": "Grade",
    "gradePlaceholder": "Select a grade",
    "wholeGradeLabel": "Assign to the whole grade",
    "classroomLabel": "Classroom",
    "classroomPlaceholder": "Select a classroom",
    "classroomSubjectLabel": "Classroom & subject",
    "classroomSubjectPlaceholder": "Select a classroom and subject",
    "classroomSubjectRequired": "Pick a classroom and subject.",
    "noAssignments": "You aren't assigned to teach any classroom subject yet.",
    "instructionsLabel": "Instructions (optional)",
    "durationLabel": "Duration (minutes)",
    "opensAtLabel": "Opens at",
    "closesAtLabel": "Closes at",
    "statusLabel": "Status",
    "status": {
      "draft": "Draft",
      "published": "Published"
    },
    "questionsHeading": "Questions",
    "addQuestion": "Add question",
    "questionNumber": "Question {number}",
    "removeQuestion": "Remove question",
    "questionTextLabel": "Question text",
    "marksLabel": "Marks",
    "optionsLabel": "Options (select the correct one)",
    "optionPlaceholder": "Option {number}",
    "correctOptionLabel": "Correct option {number}",
    "removeOption": "Remove option",
    "addOption": "Add option",
    "saveChanges": "Save changes",
    "createExam": "Create exam",
    "cancel": "Cancel",
    "updateSuccess": "Exam updated.",
    "createSuccess": "Exam created.",
    "loadError": "Couldn't load the exam."
  },
  "ExamResultsPage": {
    "heading": "Exam results",
    "headingWithTitle": "Results — {title}",
    "totalMarks": "Total marks: {total}",
    "noStudents": "No eligible students found.",
    "studentColumn": "Student",
    "statusColumn": "Status",
    "scoreColumn": "Score",
    "submittedAtColumn": "Submitted at",
    "statusInProgress": "In progress",
    "statusSubmitted": "Submitted",
    "statusNotStarted": "Not started",
    "loadError": "Couldn't load results."
  },
  "StudentExamsPage": {
    "heading": "My exams",
    "description": "Exams and quizzes assigned to you.",
    "noExams": "No exams assigned to you right now.",
    "titleColumn": "Title",
    "subjectColumn": "Subject",
    "statusColumn": "Status",
    "scoreColumn": "Score",
    "actionsColumn": "Actions",
    "statusNotStarted": "Not started",
    "statusInProgress": "In progress",
    "statusSubmitted": "Submitted",
    "viewResult": "View result",
    "continue": "Continue",
    "start": "Start",
    "loadError": "Couldn't load your exams."
  },
  "StudentDashboardPage": {
    "profileHeading": "My profile",
    "gradeLabel": "Grade",
    "classroomLabel": "Classroom",
    "academicYearLabel": "Academic year",
    "attendanceHeading": "Attendance",
    "attendancePresent": "Present",
    "attendanceAbsent": "Absent",
    "attendanceLate": "Late",
    "attendanceExcused": "Excused",
    "latestAttendanceLabel": "Latest",
    "noAttendance": "No attendance recorded yet.",
    "viewHistory": "View history",
    "subjectsHeading": "Subjects",
    "subjectsCountLabel": "Subjects taught in your classroom",
    "viewSubjects": "View subjects",
    "feesHeading": "Fees",
    "totalDueLabel": "Total due",
    "totalOutstandingLabel": "Outstanding",
    "viewFees": "View fees",
    "examsHeading": "Exams",
    "viewExams": "View exams",
    "examsPendingLabel": "pending / assigned",
    "nextExamLabel": "Next",
    "noNextExam": "No exams waiting for you.",
    "loadError": "Couldn't load your dashboard."
  },
  "StudentAttendancePage": {
    "heading": "My attendance",
    "description": "Your full attendance record for this academic year.",
    "statusPresent": "Present",
    "statusAbsent": "Absent",
    "statusLate": "Late",
    "statusExcused": "Excused",
    "noRecords": "No attendance recorded yet.",
    "dateColumn": "Date",
    "statusColumn": "Status",
    "notesColumn": "Notes",
    "loadError": "Couldn't load your attendance."
  },
  "StudentSubjectsPage": {
    "heading": "My subjects",
    "description": "Subjects taught in your classroom and their teachers.",
    "noSubjects": "No subjects assigned to your classroom yet.",
    "subjectColumn": "Subject",
    "teacherColumn": "Teacher",
    "teacherEmailColumn": "Email",
    "teacherPhoneColumn": "Phone",
    "loadError": "Couldn't load your subjects."
  },
  "StudentFeesPage": {
    "heading": "My fees",
    "description": "Your fee charges and payment status.",
    "noFees": "No fees charged yet.",
    "feeColumn": "Fee",
    "dueColumn": "Due",
    "paidColumn": "Paid",
    "statusColumn": "Status",
    "statusUnpaid": "Unpaid",
    "statusPartial": "Partial",
    "statusPaid": "Paid",
    "statusWaived": "Waived",
    "totalDueLabel": "Total due",
    "totalPaidLabel": "Total paid",
    "totalOutstandingLabel": "Total outstanding",
    "loadError": "Couldn't load your fees."
  },
  "TeacherDashboardPage": {
    "classroomsHeading": "Classrooms",
    "viewClassrooms": "View classrooms",
    "subjectsLabel": "Subjects",
    "studentsLabel": "Students",
    "attendanceHeading": "Attendance",
    "takeAttendance": "Take attendance",
    "markedTodayLabel": "classrooms marked today",
    "examsHeading": "Exams",
    "viewAllExams": "View all",
    "noExams": "You haven't created any exams yet.",
    "examStatusDraft": "Draft",
    "examStatusPublished": "Published",
    "loadError": "Couldn't load your dashboard."
  },
  "TeacherClassroomsPage": {
    "heading": "My classrooms",
    "description": "Classrooms you teach, with today's attendance status.",
    "takeAttendance": "Take attendance",
    "noClassrooms": "You're not assigned to any classroom yet.",
    "classroomColumn": "Classroom",
    "gradeColumn": "Grade",
    "studentCountColumn": "Students",
    "attendanceTodayColumn": "Attendance today",
    "marked": "Marked",
    "notMarked": "Not marked",
    "loadError": "Couldn't load your classrooms."
  },
  "ParentDashboardPage": {
    "profileHeading": "My profile",
    "editProfile": "Edit profile",
    "studentHeading": "My student",
    "viewStudent": "View details",
    "loadError": "Couldn't load your student's info.",
    "attendanceHeading": "Attendance",
    "viewAttendance": "View attendance",
    "presentLabel": "days present this year",
    "attendanceLoadError": "Couldn't load your child's attendance.",
    "feesHeading": "Fees",
    "viewFees": "View fees",
    "outstandingLabel": "outstanding",
    "feesLoadError": "Couldn't load your child's fees.",
    "childrenHeading": "My children",
    "viewLibrary": "Library"
  },
  "ParentChildren": {
    "childLabel": "Child"
  },
  "AdminDashboardPage": {
    "view": "View",
    "studentsHeading": "Students",
    "teachersHeading": "Teachers",
    "parentsHeading": "Parents",
    "classroomsHeading": "Classrooms",
    "feesCollectedHeading": "Fees collected",
    "feesOutstandingLabel": "{amount} outstanding",
    "attendanceTodayHeading": "Attendance today",
    "presentTodayLabel": "present / marked",
    "libraryHeading": "Library resources",
    "academicYearLabel": "Academic year {year}",
    "loadError": "Couldn't load the dashboard."
  },
  "CalendarPage": {
    "previousMonth": "Previous month",
    "nextMonth": "Next month",
    "moreEvents": "+{count} more",
    "addEvent": "Add event",
    "editEvent": "Edit event",
    "edit": "Edit",
    "delete": "Delete",
    "cancel": "Cancel",
    "deleteSuccess": "Event deleted.",
    "deleteError": "Couldn't delete this event.",
    "confirmDeleteTitle": "Delete this event?",
    "confirmDeleteDescription": "\"{title}\" will be permanently removed from the calendar.",
    "move": "Move",
    "moveSuccess": "Event moved.",
    "moveError": "Couldn't move this event.",
    "confirmMoveTitle": "Move this event?",
    "confirmMoveDescription": "Move \"{title}\" from {from} to {to}?",
    "loadError": "Couldn't load the calendar."
  },
  "CalendarEventForm": {
    "titleLabel": "Title",
    "dateLabel": "Date",
    "descriptionLabel": "Description",
    "addEvent": "Add event",
    "saveChanges": "Save changes",
    "cancel": "Cancel",
    "createdToast": "Event added.",
    "updatedToast": "Event updated."
  },
  "TakeExamPage": {
    "questionNumber": "Question {number}",
    "submit": "Submit",
    "confirmTitle": "Submit this exam?",
    "confirmDescription": "You only get one attempt — once submitted, you can't change your answers.",
    "cancel": "Cancel",
    "loadError": "Couldn't load this exam."
  },
  "ExamResultPage": {
    "submitted": "You've submitted this exam. Here's your score:",
    "backToList": "Back to my exams",
    "loadError": "Couldn't load your exams."
  },
  "MeetingsPage": {
    "heading": "Meetings",
    "description": "Schedule Zoom meetings and see who they're assigned to.",
    "newMeeting": "New meeting",
    "loadError": "Couldn't load meetings.",
    "noMeetings": "No meetings scheduled yet.",
    "titleColumn": "Title",
    "classroomsColumn": "Classrooms",
    "startTimeColumn": "Starts",
    "durationColumn": "Duration",
    "actionsColumn": "Actions",
    "minutes": "{count, plural, one {# minute} other {# minutes}}",
    "start": "Start meeting",
    "delete": "Cancel",
    "deleteConfirmTitle": "Cancel this meeting?",
    "deleteConfirmDescription": "This can't be undone. The Zoom meeting will be cancelled and removed from every assigned student's list.",
    "deleteSuccess": "Meeting cancelled.",
    "deleteError": "Couldn't cancel the meeting.",
    "zoomNotConnected": "No Zoom account is connected yet. Connect one to schedule meetings.",
    "zoomNotConnectedTeacher": "No Zoom account is connected yet — ask an admin to connect one.",
    "connectZoom": "Connect Zoom",
    "zoomConnected": "Zoom connected.",
    "zoomConnectedBy": "Zoom connected by {name}.",
    "disconnectZoom": "Disconnect",
    "zoomConnectSuccess": "Zoom account connected.",
    "zoomConnectError": "Couldn't start the Zoom connection.",
    "zoomDisconnectSuccess": "Zoom account disconnected.",
    "zoomDisconnectError": "Couldn't disconnect the Zoom account."
  },
  "MeetingFormPage": {
    "titleLabel": "Title",
    "descriptionLabel": "Description (optional)",
    "classroomsLabel": "Classrooms",
    "classroomsPlaceholder": "Select one or more classrooms",
    "noClassrooms": "You aren't assigned to teach any classroom yet.",
    "startTimeLabel": "Start time",
    "durationLabel": "Duration (minutes)",
    "createMeeting": "Schedule meeting",
    "createSuccess": "Meeting scheduled."
  },
  "StudentMeetingsPage": {
    "heading": "My meetings",
    "description": "Zoom meetings your teachers have scheduled for your classroom.",
    "noMeetings": "No meetings scheduled right now.",
    "titleColumn": "Title",
    "teacherColumn": "Teacher",
    "startTimeColumn": "Starts",
    "durationColumn": "Duration",
    "actionsColumn": "Actions",
    "minutes": "{count, plural, one {# minute} other {# minutes}}",
    "join": "Join",
    "loadError": "Couldn't load your meetings."
  },
  "LibraryResourcesPage": {
    "heading": "Library",
    "description": "Grade-level resources tagged by subject — files and links for students and parents.",
    "newResource": "New resource",
    "editResource": "Edit resource",
    "loadError": "Couldn't load library resources.",
    "noResources": "No resources yet.",
    "allGrades": "All grades",
    "allSubjects": "All subjects",
    "titleColumn": "Title",
    "gradeColumn": "Grade",
    "subjectsColumn": "Subjects",
    "uploaderColumn": "Uploaded by",
    "actionsColumn": "Actions",
    "openLink": "Open link",
    "download": "Download",
    "edit": "Edit",
    "delete": "Delete",
    "confirmDeleteTitle": "Delete this resource?",
    "confirmDeleteDescription": "\"{title}\" will be removed for every student and parent who can see it. This can't be undone.",
    "deleteSuccess": "Resource deleted.",
    "deleteError": "Couldn't delete the resource."
  },
  "LibraryResourceForm": {
    "titleLabel": "Title",
    "descriptionLabel": "Description (optional)",
    "gradeLabel": "Grade",
    "gradePlaceholder": "Select a grade",
    "noGrades": "You aren't assigned to teach any grade yet.",
    "subjectsLabel": "Subject tags",
    "subjectsPlaceholder": "Select one or more subjects",
    "typeLabel": "Resource type",
    "typeLink": "Link",
    "typeFile": "File",
    "urlLabel": "URL",
    "urlPlaceholder": "https://example.com/resource",
    "fileLabel": "File",
    "fileHint": "PDF, document, image or video — 1MB max.",
    "createResource": "Add resource",
    "saveChanges": "Save changes",
    "cancel": "Cancel",
    "createdToast": "Resource added.",
    "updatedToast": "Resource updated."
  },
  "StudentLibraryPage": {
    "heading": "Library",
    "description": "Resources your teachers have shared for your grade.",
    "loadError": "Couldn't load the library.",
    "noResources": "No resources yet.",
    "allSubjects": "All subjects",
    "titleColumn": "Title",
    "subjectsColumn": "Subjects",
    "actionsColumn": "Actions",
    "openLink": "Open link",
    "download": "Download"
  },
  "ParentLibraryPage": {
    "heading": "Library",
    "description": "Resources your child's teachers have shared for their grade.",
    "loadError": "Couldn't load the library.",
    "noResources": "No resources yet.",
    "allSubjects": "All subjects",
    "titleColumn": "Title",
    "subjectsColumn": "Subjects",
    "actionsColumn": "Actions",
    "openLink": "Open link",
    "download": "Download"
  },
  "SettingsPage": {
    "heading": "Settings",
    "loadError": "Couldn't load settings.",
    "saveSuccess": "Settings saved.",
    "saveChanges": "Save changes",
    "generalTab": "General",
    "brandingTab": "Branding",
    "contactTab": "Contact",
    "socialTab": "Social media",
    "seoTab": "SEO",
    "schoolNameLabel": "School name",
    "taglineLabel": "Tagline",
    "logoLabel": "Logo",
    "faviconLabel": "Favicon",
    "primaryColorLabel": "Primary color",
    "addressLabel": "Address",
    "phoneLabel": "Phone",
    "emailLabel": "Email",
    "facebookLabel": "Facebook",
    "twitterLabel": "X (Twitter)",
    "instagramLabel": "Instagram",
    "youtubeLabel": "YouTube",
    "linkedinLabel": "LinkedIn",
    "metaTitleLabel": "Meta title",
    "metaDescriptionLabel": "Meta description",
    "ogImageLabel": "Social share image",
    "noFile": "None",
    "changeFile": "Upload",
    "uploading": "Uploading…",
    "fileUploadSuccess": "File uploaded.",
    "fileUploadError": "Failed to upload file.",
    "schoolYearTab": "School year",
    "currencyLabel": "Currency",
    "currencyPlaceholder": "Choose a currency",
    "currencyHint": "Fees and payments are shown in this currency.",
    "schoolDaysLabel": "School days",
    "schoolDaysHint": "The days your school is open. Attendance is taken on these days."
  },
  "HomePage": {
    "heroHeadline": "Run your school from one place.",
    "heroSubtext": "Attendance, exams, fees, and communication for admins, teachers, students, and parents, in one bilingual system.",
    "ctaPrimary": "Get started",
    "ctaSecondary": "Log in",
    "capOneSystem": "Every role, one system",
    "capBilingual": "English and Arabic",
    "capAccess": "Role-based access control",
    "capSchoolYear": "Built for the school year",
    "featuresHeading": "Everything a school runs on",
    "featuresSubtext": "Six connected modules, one login per person.",
    "attendanceTitle": "Attendance",
    "attendanceBody": "Take attendance by classroom and track patterns across the term.",
    "examsTitle": "Exams & grades",
    "examsBody": "Build exams, record results, and publish grades to students and parents.",
    "feesTitle": "Fees",
    "feesBody": "Charge, collect, and reconcile tuition and other fees per student.",
    "libraryTitle": "Library",
    "libraryBody": "Catalog resources and let students and parents borrow online.",
    "structureTitle": "Academic structure",
    "structureBody": "Organize stages, grades, classrooms, and academic years.",
    "rolesHeading": "Sign in as your role",
    "rolesSubtext": "Each role gets its own sign-in and its own view of the system.",
    "roleAdminDesc": "Manage students, staff, fees, and settings.",
    "roleTeacherDesc": "Take attendance, grade exams, run your classroom.",
    "roleStudentDesc": "See exams, grades, attendance, and fees.",
    "roleParentDesc": "Follow your child's progress and pay fees.",
    "roleCta": "Continue",
    "howHeading": "Up and running in three steps",
    "step1Title": "Set up your school",
    "step1Body": "Add stages, grades, classrooms, and the current academic year.",
    "step2Title": "Invite your people",
    "step2Body": "Bring in teachers, students, and parents with role-based accounts.",
    "step3Title": "Run the year",
    "step3Body": "Take attendance, run exams, collect fees, and track it all.",
    "finalCtaHeading": "Ready to bring your school online?",
    "finalCtaSubtext": "Create an account and set up your school in minutes.",
    "footerTagline": "One system for your whole school.",
    "footerCopyright": "© {year} {brand}. All rights reserved."
  },
  "ParentFeesPage": {
    "heading": "Fees",
    "description": "Your child's fee charges and payment status.",
    "noFees": "No fees charged yet.",
    "feeColumn": "Fee",
    "dueColumn": "Due",
    "paidColumn": "Paid",
    "statusColumn": "Status",
    "statusUnpaid": "Unpaid",
    "statusPartial": "Partial",
    "statusPaid": "Paid",
    "statusWaived": "Waived",
    "totalDueLabel": "Total due",
    "totalPaidLabel": "Total paid",
    "totalOutstandingLabel": "Total outstanding",
    "loadError": "Couldn't load your child's fees."
  },
  "ParentAttendancePage": {
    "heading": "Attendance",
    "description": "Your child's full attendance record for this academic year.",
    "statusPresent": "Present",
    "statusAbsent": "Absent",
    "statusLate": "Late",
    "statusExcused": "Excused",
    "noRecords": "No attendance recorded yet.",
    "dateColumn": "Date",
    "statusColumn": "Status",
    "notesColumn": "Notes",
    "loadError": "Couldn't load your child's attendance."
  },
  "CreateSchoolPage": {
    "heading": "Create your school",
    "subheading": "Set up your school in a minute. You'll be its admin, and can add teachers, students and parents next.",
    "memberSubheading": "You'll be the admin of this school. Your other schools stay available from the user menu.",
    "schoolSection": "Your school",
    "accountSection": "Your account",
    "schoolNameLabel": "School name",
    "slugLabel": "School address",
    "slugHint": "Lowercase letters, numbers and hyphens, e.g. green-valley. It identifies your school.",
    "slugChecking": "Checking…",
    "slugAvailable": "This address is available",
    "slugTaken": "Another school already uses this address",
    "slugReserved": "This address is reserved. Please choose another",
    "nameLabel": "Your name",
    "emailLabel": "Email",
    "passwordLabel": "Password",
    "confirmPasswordLabel": "Confirm password",
    "submit": "Create school",
    "submitting": "Creating school…",
    "haveAccount": "Already have an account?",
    "loginToAdd": "Log in to add a school"
  },
  "Onboarding": {
    "heading": "Set up your school",
    "progress": "{done} of {total} done",
    "dismiss": "Hide the setup checklist",
    "go": "Set up",
    "quickStart": "Create a standard structure",
    "quickStartRunning": "Creating…",
    "quickStartBody": "Start from a typical structure: this year, 3 stages, 12 grades, a classroom per grade and 10 subjects. You can rename or remove anything afterwards.",
    "quickStartDone": "Standard structure created",
    "coveredByQuickStart": "The standard structure covers this.",
    "steps": {
      "branding": {
        "title": "Add your branding",
        "body": "Upload your logo or pick your school's colour."
      },
      "academic_year": {
        "title": "Set the current academic year",
        "body": "Fees, promotions and reports are organised by year."
      },
      "stages": {
        "title": "Add stages",
        "body": "For example Primary, Preparatory and Secondary."
      },
      "grades": {
        "title": "Add grades",
        "body": "The grades within each stage."
      },
      "classrooms": {
        "title": "Add classrooms",
        "body": "Students are placed in a classroom of their grade."
      },
      "subjects": {
        "title": "Add subjects",
        "body": "And the stages or grades that study them."
      },
      "teachers": {
        "title": "Add teachers",
        "body": "Each teacher gets their own login."
      },
      "students": {
        "title": "Register your first student",
        "body": "A parent account is created with them."
      },
      "school_week_currency": {
        "title": "Choose your school week and currency",
        "body": "Which days you're open, and the currency for fees."
      }
    }
  },
  "SystemLoginPage": {
    "heading": "System admin",
    "subheading": "Sign in to manage all schools. You'll need your authenticator app.",
    "emailLabel": "Email",
    "passwordLabel": "Password",
    "continue": "Continue",
    "continuing": "Checking…",
    "setupHeading": "Set up two-factor sign-in",
    "setupBody": "Scan this QR code with an authenticator app (Google Authenticator, Microsoft Authenticator, 1Password…), then enter the 6-digit code it shows.",
    "qrAlt": "QR code for your authenticator app",
    "manualEntry": "Can't scan? Enter this key in the app:",
    "codeHeading": "Enter your code",
    "codeBody": "Open your authenticator app and enter the 6-digit code for this site.",
    "recoveryBody": "Enter one of the recovery codes you saved. Each works once.",
    "codeLabel": "6-digit code",
    "recoveryLabel": "Recovery code",
    "verify": "Verify",
    "verifying": "Verifying…",
    "startOver": "Start over",
    "useRecovery": "Use a recovery code",
    "useApp": "Use the app instead",
    "recoveryHeading": "Save your recovery codes",
    "recoveryIntro": "If you lose your phone, each of these codes signs you in once. Keep them somewhere safe: they won't be shown again.",
    "copy": "Copy codes",
    "copied": "Recovery codes copied",
    "savedThem": "I've saved them, continue"
  },
  "Platform": {
    "warnings": {
      "suspended": "Suspended",
      "suspendedHint": "Its members can’t sign in.",
      "no_admin": "No admin",
      "no_adminHint": "No active admin: nobody can manage this school.",
      "inactive": "Inactive",
      "inactiveHint": "Nobody has used this school for 30 days.",
      "attendance_gap": "No attendance",
      "attendance_gapHint": "No attendance recorded on the last 5 school days.",
      "archived": "Archived",
      "archivedHint": "Archived: hidden from lists, its members can’t sign in.",
      "near_limit": "Near limit",
      "near_limitHint": "At 90% of its plan’s students or storage."
    },
    "source": {
      "platform": "Created by a system admin",
      "self_service": "Self-service",
      "seed": "Demo data"
    },
    "overview": {
      "heading": "Central dashboard",
      "updated": "Numbers from {when}",
      "refresh": "Refresh",
      "schools": "Schools",
      "suspendedCount": "{count} suspended",
      "students": "Students",
      "teachers": "Teachers",
      "parents": "Parents",
      "activeUsers": "Active users",
      "last7Days": "Last 7 days",
      "collectedThisMonth": "Collected this month",
      "schoolsHeading": "Schools",
      "searchPlaceholder": "Search schools",
      "allStatuses": "All statuses",
      "statusActive": "Active",
      "statusSuspended": "Suspended",
      "colSchool": "School",
      "colStudents": "Students",
      "colTeachers": "Teachers",
      "colOutstanding": "Outstanding fees",
      "colActive": "Active (7 days)",
      "colLastActivity": "Last activity",
      "colStorage": "Storage",
      "colWarnings": "Warnings",
      "noSchools": "No schools match.",
      "never": "Never",
      "currentStatuses": "Active and suspended",
      "statusArchived": "Archived"
    },
    "detail": {
      "back": "All schools",
      "notFound": "This school couldn’t be loaded.",
      "createdAt": "created {when}",
      "createdBy": "by {name}",
      "tabOverview": "Overview",
      "tabPeople": "People",
      "tabFinance": "Finance",
      "tabActivity": "Activity",
      "tabUsage": "Usage",
      "tabAudit": "Audit",
      "students": "Students",
      "teachers": "Teachers",
      "activeUsers": "Active users (7 days)",
      "outstanding": "Outstanding",
      "currency": "Currency",
      "schoolDays": "School days",
      "notChosen": "Not chosen yet",
      "lastActivity": "Last activity",
      "lastAttendance": "Last attendance",
      "never": "Never",
      "adminsHeading": "Admins",
      "name": "Name",
      "email": "Email",
      "status": "Status",
      "lastLogin": "Last login",
      "charged": "Charged ({year})",
      "collected": "Collected",
      "collectionsHeading": "Collections per month",
      "showTable": "Show as table",
      "showChart": "Show as chart",
      "month": "Month",
      "chargesByStatus": "Charges by status",
      "fee_paid": "Paid",
      "fee_partial": "Partly paid",
      "fee_unpaid": "Unpaid",
      "fee_waived": "Waived",
      "role": "Role",
      "active7d": "Active, 7 days",
      "active30d": "Active, 30 days",
      "attendanceRate": "Attendance recorded",
      "attendanceRateHint": "School days in the last 30 with attendance taken",
      "recentHeading": "Recently active",
      "noActivity": "Nobody has been active yet.",
      "storage": "Storage",
      "noFiles": "No files yet.",
      "files": "{count, plural, one {# file} other {# files}}",
      "collection_attachments": "Student photos and documents",
      "collection_file": "Library files",
      "collection_avatar": "Avatars",
      "collection_logo": "Logo",
      "collection_favicon": "Favicon",
      "collection_og_image": "Sharing image",
      "tabManage": "Manage"
    },
    "audit": {
      "heading": "Audit log",
      "subheading": "Everything system admins have done, newest first.",
      "when": "When",
      "who": "Who",
      "action": "Action",
      "school": "School",
      "details": "Details",
      "system": "System (command line)",
      "empty": "Nothing recorded yet.",
      "allSchools": "All schools",
      "actionPlaceholder": "Action, e.g. school.",
      "from": "From",
      "to": "To",
      "actions": {
        "platform_signed_in": "Signed in as system admin",
        "platform_two_factor_reset": "Two-factor reset",
        "school_created": "Created the school",
        "school_updated": "Edited the school",
        "school_suspended": "Suspended the school",
        "school_reactivated": "Reactivated the school",
        "platform_entered_school": "Opened the school",
        "platform_exited_school": "Left the school",
        "platform_request": "Request inside the school",
        "school_admin_added": "Added an admin",
        "school_admin_removed": "Removed an admin",
        "school_member_suspended": "Suspended a member",
        "school_member_reactivated": "Reactivated a member",
        "school_password_reset_sent": "Sent a password reset",
        "school_archived": "Archived the school",
        "school_exported": "Exported the school",
        "school_export_downloaded": "Downloaded an export",
        "school_purged": "Purged the school",
        "announcement_created": "Posted an announcement",
        "announcement_updated": "Edited an announcement",
        "announcement_ended": "Ended an announcement",
        "plan_updated": "Edited a plan",
        "school_plan_changed": "Changed the school’s plan",
        "school_self_registered": "Created the school (self-service)"
      }
    },
    "enter": {
      "button": "Open school",
      "title": "Open {school} as its admin",
      "description": "You’ll see and change everything its admins can. Enter a current code from your authenticator app. The session lasts 2 hours, and the school’s admins can see what you do.",
      "codeLabel": "6-digit code",
      "reasonLabel": "Reason (optional)",
      "reasonPlaceholder": "e.g. Support request #42",
      "open": "Open school",
      "opening": "Opening…",
      "descriptionNoCode": "You’ll see and change everything its admins can. The session lasts 2 hours, and the school’s admins can see what you do."
    },
    "members": {
      "heading": "Members",
      "searchPlaceholder": "Search by name or email",
      "allRoles": "All roles",
      "role": "Role",
      "person": "Person",
      "status": "Status",
      "lastSeen": "Last seen",
      "actions": "Actions",
      "actionsFor": "Actions for {name}",
      "never": "Never",
      "empty": "No members match.",
      "cancel": "Cancel",
      "status_active": "Active",
      "status_invited": "Invited",
      "status_suspended": "Suspended",
      "status_left": "Left",
      "sendReset": "Send password reset",
      "suspend": "Suspend",
      "reactivate": "Reactivate",
      "removeAdmin": "Remove as admin",
      "addHeading": "Add an admin",
      "addHint": "An existing account becomes an admin here. A new email gets an account and an email to set its password.",
      "name": "Name",
      "email": "Email",
      "add": "Add admin",
      "addedInvited": "{email} was invited as admin.",
      "addedExisting": "{email} is now an admin.",
      "done_reset": "Password reset email sent.",
      "done_suspend": "Member suspended.",
      "done_reactivate": "Member reactivated.",
      "done_remove": "Admin removed.",
      "confirm_reset_title": "Send {name} a password reset?",
      "confirm_reset_body": "An email goes to {email} with a link to set a new password.",
      "confirm_reset_action": "Send email",
      "confirm_suspend_title": "Suspend {name}?",
      "confirm_suspend_body": "{email} is signed out of this school and can’t sign in to it until reactivated.",
      "confirm_suspend_action": "Suspend",
      "confirm_reactivate_title": "Reactivate {name}?",
      "confirm_reactivate_body": "{email} can sign in to this school again.",
      "confirm_reactivate_action": "Reactivate",
      "confirm_remove_title": "Remove {name} as admin?",
      "confirm_remove_body": "{email} loses admin access to this school. Their account stays.",
      "confirm_remove_action": "Remove"
    },
    "manage": {
      "detailsHeading": "Details",
      "name": "Name",
      "slug": "School address (slug)",
      "slugWarning": "Changing it breaks links that use the old address.",
      "email": "Contact email",
      "phone": "Phone",
      "address": "Address",
      "primaryColor": "Primary colour",
      "logoHint": "The logo and other files are changed from the school’s own settings page (open the school).",
      "save": "Save",
      "saved": "Saved.",
      "statusHeading": "Status",
      "status_active": "Active",
      "status_suspended": "Suspended",
      "status_archived": "Archived",
      "restoreUntil": "Can be restored until {date}.",
      "restoreExpired": "The restore window has passed. It can only be purged now.",
      "suspend": "Suspend",
      "reactivate": "Reactivate",
      "restore": "Restore",
      "archive": "Archive",
      "purgeHeading": "Purge (command line only)",
      "purgeHint": "After archiving, an export and {days} days, delete the school and all its data for good with:",
      "reasonLabel": "Reason",
      "reasonPlaceholder": "Shown to the school’s members when they try to sign in",
      "reasonRequired": "A reason is required",
      "typeSlug": "Type {slug} to confirm",
      "typeSlugError": "Type the school’s address exactly",
      "dialog_suspended_title": "Suspend {school}?",
      "dialog_suspended_body": "Everyone at the school is signed out and can’t sign in until you reactivate it. They’ll see your reason.",
      "dialog_suspended_action": "Suspend school",
      "dialog_archived_title": "Archive {school}?",
      "dialog_archived_body": "Like suspending, and it’s hidden from lists. You can restore it for {days} days; after that it can only be purged.",
      "dialog_archived_action": "Archive school",
      "dialog_active_title": "Bring back {school}?",
      "dialog_active_body": "Its members can sign in again.",
      "dialog_active_action": "Reactivate",
      "done_suspended": "School suspended.",
      "done_archived": "School archived.",
      "done_active": "School is active again.",
      "exportHeading": "Export",
      "exportHint": "A zip of all the school’s data and files. The download link works for 24 hours.",
      "export": "Create export",
      "exporting": "Exporting…",
      "exportReady": "Export ready to download.",
      "download": "Download",
      "expired": "Expired",
      "expiresIn": "expires {when}",
      "planHeading": "Plan",
      "planChanged": "Plan changed.",
      "studentsUsage": "Students",
      "storageUsage": "Storage",
      "usageOf": "{used} of {max}",
      "usageNoLimit": "{used} (no limit)",
      "planHint": "Moving to a smaller plan removes nothing: new students, files or modules outside it are refused."
    },
    "announcements": {
      "heading": "Announcements",
      "subheading": "Messages shown as a banner to everyone they’re for, in their language.",
      "new": "New announcement",
      "empty": "No announcements yet.",
      "live": "Live",
      "scheduled": "Scheduled",
      "over": "Over",
      "allSchools": "All schools",
      "everyone": "Everyone",
      "dismissedBy": "{count, plural, one {dismissed by # person} other {dismissed by # people}}",
      "edit": "Edit",
      "end": "End now",
      "ended": "Announcement ended.",
      "saved": "Saved.",
      "newTitle": "New announcement",
      "editTitle": "Edit announcement",
      "titleEn": "Title (English)",
      "titleAr": "Title (Arabic)",
      "bodyEn": "Message (English)",
      "bodyAr": "Message (Arabic)",
      "level": "Level",
      "level_info": "Info",
      "level_warning": "Warning",
      "level_critical": "Critical",
      "criticalHint": "Critical announcements can’t be dismissed.",
      "school": "School",
      "audience": "Who sees it",
      "audienceHint": "Tick none to show it to everyone.",
      "startsAt": "Starts",
      "startsAtHint": "Empty: now.",
      "endsAt": "Ends",
      "endsAtHint": "Empty: until you end it.",
      "save": "Save",
      "aiHeading": "Draft with AI",
      "aiHint": "Write rough notes in any language. AI writes the title and message in English and Arabic. Check them before saving.",
      "aiNotesPlaceholder": "e.g. system down tonight 10-11pm for maintenance",
      "aiDraft": "Draft",
      "aiDrafted": "Draft added. Review it before saving."
    },
    "plans": {
      "heading": "Plans",
      "subheading": "How many students, how much storage and which modules each plan includes. Enforced for every school on it.",
      "plan": "Plan",
      "students": "Students",
      "storage": "Storage",
      "modules": "Modules",
      "schools": "Schools",
      "edit": "Edit",
      "noLimit": "No limit",
      "feature_fees": "Fees",
      "feature_exams": "Exams",
      "feature_meetings": "Meetings",
      "feature_library": "Library",
      "limitsHint": "A school already over a new limit keeps what it has; only new students or files are refused. Billing isn’t part of this yet.",
      "editTitle": "Edit {plan}",
      "name": "Name",
      "maxStudents": "Students",
      "maxStorageMb": "Storage (MB)",
      "emptyMeansNoLimit": "Leave a limit empty for no limit.",
      "save": "Save",
      "saved": "Plan saved."
    }
  },
  "PlatformSessionBanner": {
    "message": "Viewing <strong>{school}</strong> as system admin. Everything you do is logged and visible to the school’s admins.",
    "endsAt": "Session ends at {time}",
    "exit": "Exit school"
  },
  "SystemAdminActivityPage": {
    "heading": "System admin activity",
    "description": "When system admins open your school to help, it’s recorded here: who, why, when, and every request they made.",
    "sessionsHeading": "Sessions",
    "noSessions": "No system admin has opened this school.",
    "stillOpen": "still open",
    "expired": "expired",
    "unknown": "Unknown",
    "actionsHeading": "Everything recorded"
  },
  "Announcements": {
    "dismiss": "Dismiss"
  },
  "DemoLogin": {
    "fill": "Use the demo account"
  }
}
