{
  "common": {
    "save": "Simpan",
    "saving": "Menyimpan...",
    "cancel": "Batal",
    "delete": "Padam",
    "edit": "Edit",
    "create": "Cipta",
    "update": "Kemaskini",
    "search": "Cari",
    "filter": "Tapis",
    "export": "Eksport",
    "import": "Import",
    "loading": "Memuatkan...",
    "noData": "Tiada data",
    "confirm": "Sahkan",
    "yes": "Ya",
    "no": "Tidak",
    "close": "Tutup",
    "submit": "Hantar",
    "reset": "Set Semula",
    "back": "Kembali",
    "next": "Seterusnya",
    "previous": "Sebelumnya",
    "actions": "Tindakan",
    "view": "Lihat",
    "download": "Muat Turun",
    "upload": "Muat Naik",
    "select": "Pilih",
    "selectAll": "Pilih Semua",
    "deselectAll": "Nyahpilih Semua",
    "success": "Berjaya",
    "error": "Ralat",
    "warning": "Amaran",
    "info": "Maklumat",
    "markAllRead": "Tandakan Semua Dibaca",
    "noNotifications": "Tiada pemberitahuan",
    "viewAll": "Lihat Semua",
    "showing": "Menunjukkan",
    "to": "Hingga:",
    "of": "daripada",
    "results": "keputusan",
    "fillAllFields": "Sila isi semua medan yang diperlukan",
    "justNow": "Baru sahaja",
    "minutesAgo": "{count} minit lalu",
    "hoursAgo": "{count} jam lalu",
    "enable": "Dayakan",
    "filterYear": "Tahun:",
    "filterTerm": "Semester:",
    "filterType": "Jenis:",
    "allTypes": "Semua Jenis",
    "term1": "Semester 1",
    "term2": "Semester 2",
    "page": "Halaman",
    "data": "data",
    "from": "Dari:",
    "date": "Tarikh",
    "subject": "Subjek",
    "status": "Status",
    "notes": "Catatan",
    "processing": "Memproses...",
    "saveAndApply": "Simpan & Gunakan",
    "type": "Jenis",
    "description": "Penerangan",
    "recentActivity": "Aktiviti Terkini",
    "noMatchingData": "Tiada pengguna dijumpai",
    "underDev": "Halaman ini sedang dibangunkan",
    "clickToUpload": "Klik untuk muat naik",
    "appName": "E-DRMS HQ",
    "appDesc": "Enterprise Digital Resource Management System",
    "noClass": "Tiada Kelas",
    "name": "Nama",
    "email": "E-mel",
    "note": "Nota:",
    "website": "Laman Web",
    "staff": "Kakitangan",
    "optional": "Pilihan",
    "print": "Cetak",
    "cameraError": "Gagal mengakses kamera.",
    "cameraPermission": "Pastikan anda memberi kebenaran akses kamera pada pelayar."
  },
  "navigation": {
    "dashboard": "Papan Pemuka",
    "userManagement": "Pengurusan Pengguna",
    "allUsers": "Semua Pengguna",
    "createUser": "Cipta Pengguna",
    "students": "Pelajar",
    "allStudents": "Semua Pelajar",
    "addStudent": "Tambah Pelajar",
    "teachers": "Guru",
    "allTeachers": "Semua Guru",
    "addTeacher": "Tambah Guru",
    "attendance": "Kehadiran",
    "staffAttendance": "Kehadiran Kakitangan",
    "studentAttendance": "Kehadiran Pelajar",
    "reports": "Laporan",
    "schedules": "Jadual",
    "allSchedules": "Semua Jadual",
    "classes": "Kelas",
    "subjects": "Mata Pelajaran",
    "tasks": "Tugasan",
    "allTasks": "Semua Tugasan",
    "createTask": "Cipta Tugasan",
    "behavior": "Tingkah Laku",
    "behaviorLogs": "Log Tingkah Laku",
    "addBehaviorLog": "Tambah Log Tingkah Laku",
    "permits": "Permit",
    "allPermits": "Semua Permit",
    "pendingApproval": "Menunggu Kelulusan",
    "leaves": "Cuti",
    "allLeaves": "Semua Cuti",
    "kpi": "KPI",
    "studentKPI": "KPI Pelajar",
    "teacherKPI": "KPI Guru",
    "finance": "Kewangan",
    "chartOfAccounts": "Carta Akaun",
    "journalEntries": "Catatan Jurnal",
    "invoices": "Invois",
    "payroll": "Gaji",
    "eWallet": "E-Dompet",
    "topUp": "Tambah Nilai",
    "transactions": "Transaksi",
    "analytics": "Analitik",
    "settings": "Tetapan",
    "branding": "Penjenamaan",
    "language": "Bahasa",
    "profile": "Profil",
    "notifications": "Pemberitahuan",
    "staffManagement": "Pengurusan Staf",
    "allStaff": "Semua Staf",
    "addStaff": "Tambah Staf",
    "parentManagement": "Pengurusan Ibu Bapa",
    "allParents": "Semua Ibu Bapa",
    "addParent": "Tambah Ibu Bapa",
    "schoolCalendar": "Kalendar Sekolah",
    "teacherCheckins": "Kehadiran Guru",
    "timetables": "Jadual Mengajar",
    "teacherDuties": "Tugas Guru",
    "gradeLevels": "Pengurusan Tahap",
    "localization": "Penyetempatan",
    "departments": "Jabatan",
    "positions": "Jawatan",
    "rfid": "Pengurusan RFID",
    "grades": "Gred Akademik",
    "studentDailyAttendance": "Kehadiran Harian Pelajar",
    "merchants": "Pengurusan Peniaga",
    "checkinRules": "Waktu Kerja & Kehadiran",
    "transfers": "Pemindahan Pelajar",
    "allTransfers": "Semua Pemindahan",
    "transferOut": "Pemindahan Keluar",
    "transferIn": "Pemindahan Masuk",
    "ppdb": "PPDB",
    "ppdbDashboard": "Papan Pemuka PPDB",
    "ppdbApplications": "Pemohon PPDB",
    "ppdbSettings": "Tetapan PPDB",
    "graduation": "Kelulusan",
    "alumni": "Alumni",
    "cat": "CAT / Peperiksaan",
    "catExams": "Senarai Peperiksaan",
    "dormitory": "Asrama",
    "dormitoryDashboard": "Papan Pemuka Asrama",
    "dormitoryBuildings": "Bangunan Asrama",
    "dormitoryAssignments": "Penempatan Pelajar",
    "dormitoryPermits": "Permit Asrama",
    "paymentSettings": "Tetapan Pembayaran",
    "auditLog": "Log Audit",
    "importStudents": "Import Pelajar",
    "classTransfers": "Pertukaran Kelas",
    "workSchedule": "Jadual Waktu Kerja Individual",
    "accountMapping": "Pemetaan Akaun Jurnal",
    "shiftManagement": "Pengurusan Syif Kerja"
  },
  "auth": {
    "login": "Log Masuk",
    "logout": "Log Keluar",
    "email": "E-mel",
    "password": "Kata Laluan",
    "rememberMe": "Ingat Saya",
    "forgotPassword": "Lupa Kata Laluan",
    "loginSuccess": "Log masuk berjaya",
    "loginError": "E-mel atau kata laluan tidak sah",
    "logoutSuccess": "Log keluar berjaya",
    "sessionExpired": "Sesi anda telah tamat",
    "emailRequired": "E-mel diperlukan",
    "emailInvalid": "Format e-mel tidak sah",
    "passwordRequired": "Kata laluan diperlukan",
    "schoolSystem": "Sistem Pengurusan Sekolah",
    "submitting": "Menghantar...",
    "submitPermit": "Hantar Kebenaran"
  },
  "users": {
    "title": "Pengguna",
    "create": "Cipta Pengguna",
    "edit": "Edit Pengguna",
    "delete": "Padam Pengguna",
    "name": "Nama",
    "email": "E-mel",
    "role": "Peranan",
    "status": "Status",
    "active": "Aktif",
    "inactive": "Tidak Aktif",
    "createdAt": "Dicipta Pada",
    "updatedAt": "Dikemaskini Pada",
    "createNewAccount": "Buat akaun pengguna baru",
    "tips": "Petua:",
    "tipPassword": "Kata laluan sekurang-kurangnya 8 aksara",
    "tipStrongPassword": "Gunakan kata laluan yang kukuh",
    "tipPhotoSize": "Gambar profil kurang dari 5MB",
    "tipEmailUnique": "E-mel mesti unik dalam sistem",
    "genderLabel": "Jantina",
    "addressLabel": "Alamat",
    "updateInfo": "Kemas kini maklumat pengguna",
    "noteLabel": "Nota:",
    "pwdNote": "Kata laluan tidak boleh diubah dari borang ini",
    "changesSaved": "Perubahan akan disimpan serta-merta selepas penghantaran",
    "studentInfoTitle": "Maklumat Pelajar",
    "teacherInfoTitle": "Maklumat Guru",
    "activityLog": "Log Aktiviti",
    "activitySoon": "Penjejakan aktiviti akan datang"
  },
  "students": {
    "title": "Pelajar",
    "subtitle": "Urus data pelajar",
    "create": "Tambah Pelajar",
    "createStudent": "Tambah Pelajar Baru",
    "createStudentSubtitle": "Isi data lengkap untuk mendaftar pelajar baru",
    "editStudent": "Edit Data Pelajar",
    "studentDetail": "Butiran Pelajar",
    "edit": "Edit Pelajar",
    "delete": "Padam Pelajar",
    "addNew": "Tambah Pelajar Baru",
    "searchPlaceholder": "Cari pelajar mengikut nama atau ID...",
    "allGrades": "Semua Tingkatan",
    "noData": "Tiada data pelajar",
    "studentNumber": "ID Pelajar",
    "name": "Nama",
    "fullName": "Nama Penuh",
    "email": "E-mel",
    "password": "Kata Laluan",
    "phone": "Nombor Telefon",
    "class": "Kelas",
    "grade": "Tingkatan",
    "gradeLevel": "Tahap Tingkatan",
    "enrollmentDate": "Tarikh Pendaftaran",
    "gender": "Jantina",
    "male": "Lelaki",
    "female": "Perempuan",
    "dateOfBirth": "Tarikh Lahir",
    "address": "Alamat",
    "parent": "Ibu Bapa/Penjaga",
    "parentInfo": "Maklumat Ibu Bapa",
    "parentName": "Nama Ibu Bapa",
    "parentPhone": "Telefon Ibu Bapa",
    "selectParent": "Pilih Ibu Bapa",
    "selectClass": "-- Pilih Kelas --",
    "dailySpendingLimit": "Had Perbelanjaan Harian",
    "photo": "Foto Profil",
    "uploadPhoto": "Muat Naik Foto",
    "photoHint": "PNG, JPG, GIF sehingga 2MB",
    "personalInfo": "Maklumat Peribadi",
    "academicInfo": "Maklumat Akademik",
    "attendance": "Kehadiran",
    "attendanceSummary": "Ringkasan Kehadiran",
    "totalDays": "Jumlah Hari",
    "present": "Hadir",
    "absent": "Tidak Hadir",
    "late": "Lewat",
    "behavior": "Tingkah Laku",
    "behaviorSummary": "Ringkasan Tingkah Laku",
    "totalBehaviorPoints": "Jumlah Mata Tingkah Laku",
    "totalPoints": "Jumlah Mata",
    "excellent": "Cemerlang",
    "good": "Baik",
    "bad": "Buruk",
    "wallet": "Dompet",
    "walletInfo": "Maklumat E-Dompet",
    "currentBalance": "Baki Semasa",
    "dailyLimit": "Had Harian",
    "dailySpent": "Dibelanjakan Hari Ini",
    "invoices": "Invois",
    "invoicesSummary": "Ringkasan Invois",
    "totalAmount": "Jumlah Keseluruhan",
    "paidAmount": "Jumlah Dibayar",
    "outstandingAmount": "Baki Tertunggak",
    "overdue": "Tertunggak",
    "kpi": "KPI",
    "saveFailed": "Gagal menyimpan data pelajar",
    "deleteConfirmTitle": "Padam Pelajar",
    "deleteConfirmMessage": "Adakah anda pasti ingin memadam pelajar {name}? Tindakan ini tidak boleh dibatalkan.",
    "selectGradeLevel": "Pilih Tahap",
    "searchParent": "Cari nama ibu bapa...",
    "noParentFound": "Tiada ibu bapa dijumpai",
    "nickname": "Nama Samaran",
    "citizenId": "Kad Pengenalan / NIK",
    "parentSection": "Maklumat Ibu Bapa / Penjaga",
    "parentEmailLookup": "Semak E-mel Ibu Bapa",
    "parentEmailLookupHint": "Masukkan e-mel ibu bapa untuk mencari akaun sedia ada. Jika belum berdaftar, isi borang di bawah untuk membuat akaun baru.",
    "parentEmailPlaceholder": "email@ibubapa.com",
    "checkEmail": "Semak E-mel",
    "checking": "Menyemak...",
    "parentFound": "Ibu bapa dijumpai",
    "parentFoundDesc": "Akaun ibu bapa ini sudah wujud dalam sistem. Pelajar akan dikaitkan dengan akaun ini.",
    "parentNotFound": "E-mel belum berdaftar",
    "parentNotFoundDesc": "E-mel ini belum berdaftar sebagai ibu bapa. Isi borang di bawah untuk membuat akaun baru.",
    "existingChildren": "Anak yang sudah berdaftar",
    "createNewParent": "Buat Akaun Ibu Bapa Baru",
    "parentFullName": "Nama Penuh Ibu Bapa",
    "parentPhone": "Nombor Telefon Ibu Bapa",
    "parentAddress": "Alamat Ibu Bapa",
    "parentPassword": "Kata Laluan Akaun Ibu Bapa",
    "parentPasswordHint": "Minimum 8 aksara. Ibu bapa akan menggunakan ini untuk log masuk.",
    "skipParent": "Langkau (tambah ibu bapa kemudian)",
    "registrationFeeSection": "Yuran Pendaftaran",
    "registrationFeeHint": "Pilih yuran pendaftaran yang akan dicaj. Invois akan dibuat secara automatik selepas pelajar disimpan.",
    "createRegistrationInvoice": "Buat invois yuran pendaftaran",
    "registrationDueDate": "Tarikh Akhir Pembayaran",
    "noRegistrationFees": "Tiada yuran pendaftaran aktif",
    "totalRegistrationFee": "Jumlah Yuran Pendaftaran",
    "studentIdCard": "Kad Pelajar",
    "studentIdCardPreview": "Pratonton Kad Pelajar",
    "studentIdCardHint": "Kad pelajar akan dibuat secara automatik selepas pelajar berjaya disimpan.",
    "boardingStatus": "Status Penginapan",
    "boarding": "Asrama",
    "day": "Pelajar Harian",
    "studentStatus": "Status Pelajar",
    "studying": "Aktif",
    "graduated": "Tamat Pengajian",
    "transferred": "Pindah",
    "suspended": "Digantung",
    "emergencyContact": "Kenalan Kecemasan",
    "emergencyContactName": "Nama Kenalan Kecemasan",
    "emergencyContactPhone": "Telefon Kenalan Kecemasan",
    "infoStudentNumber": "Nombor Induk Pelajar (NIS) mestilah unik. Masukkan nombor unik untuk pelajar ini.",
    "studentNumberPlaceholder": "cth. 2024001",
    "infoParentEmail": "Masukkan e-mel ibu bapa untuk menyemak sama ada sudah berdaftar. Satu akaun ibu bapa boleh mempunyai lebih daripada seorang anak.",
    "infoRegistrationFee": "Invois yuran pendaftaran akan dibuat secara automatik dan boleh dilihat di menu Kewangan > Invois.",
    "infoStudentCard": "Kad pelajar mengandungi kod bar unik yang boleh digunakan untuk kehadiran dan akses kemudahan sekolah.",
    "infoDailyLimit": "Had perbelanjaan harian dari e-wallet pelajar di kantin sekolah.",
    "parentGender": "Jantina Ibu Bapa",
    "parentDateOfBirth": "Tarikh Lahir Ibu Bapa",
    "useExistingParent": "Gunakan akaun yang dijumpai",
    "changeParentEmail": "Tukar e-mel",
    "registrationSuccess": "Pelajar berjaya didaftarkan",
    "registrationSuccessWithInvoice": "Pelajar berjaya didaftarkan. Invois yuran pendaftaran telah dibuat.",
    "viewInvoice": "Lihat Invois"
  },
  "teachers": {
    "title": "Guru",
    "subtitle": "Urus data guru",
    "create": "Tambah Guru",
    "edit": "Edit Guru",
    "delete": "Padam Guru",
    "addNew": "Tambah Guru Baru",
    "teacherDetail": "Butiran Guru",
    "searchPlaceholder": "Cari guru mengikut nama atau ID...",
    "allDepartments": "Semua Jabatan",
    "allPositions": "Semua Jawatan",
    "noData": "Tiada data guru",
    "employeeNumber": "ID Pekerja",
    "name": "Nama",
    "position": "Jawatan",
    "department": "Jabatan",
    "education": "Pendidikan",
    "specialization": "Pengkhususan",
    "hireDate": "Tarikh Lantikan",
    "subject": "Subjek",
    "phone": "Telefon",
    "email": "E-mel",
    "gender": "Jantina",
    "dateOfBirth": "Tarikh Lahir",
    "address": "Alamat",
    "personalInfo": "Maklumat Peribadi",
    "professionalInfo": "Maklumat Profesional",
    "schedule": "Jadual",
    "scheduleSummary": "Ringkasan Jadual",
    "totalClasses": "Jumlah Kelas",
    "totalHours": "Jumlah Jam",
    "hoursPerWeek": "Jam Seminggu",
    "viewFullSchedule": "Lihat Jadual Penuh",
    "tasks": "Tugasan",
    "tasksSummary": "Ringkasan Tugasan",
    "totalTasks": "Jumlah Tugasan",
    "viewAllTasks": "Lihat Semua Tugasan",
    "pending": "Menunggu",
    "submitted": "Dihantar",
    "approved": "Diluluskan",
    "leaves": "Cuti",
    "leaveQuota": "Kuota Cuti",
    "leaveQuotaSummary": "Ringkasan Kuota Cuti",
    "annualLeave": "Cuti Tahunan",
    "sickLeave": "Cuti Sakit",
    "maternityLeave": "Cuti Bersalin",
    "daysRemaining": "Hari Berbaki",
    "annualLeaveRemaining": "Baki Cuti Tahunan",
    "viewLeaveHistory": "Lihat Sejarah Cuti",
    "kpi": "KPI",
    "kpiScore": "Skor KPI",
    "kpiBreakdown": "Pecahan KPI",
    "overallScore": "Skor Keseluruhan",
    "performanceScore": "Skor Prestasi",
    "taskScore": "Skor Tugasan",
    "behaviorScore": "Skor Tingkah Laku",
    "workdayScore": "Skor Kehadiran",
    "teachCheckScore": "Skor Daftar Masuk Kelas",
    "weight": "Wajaran",
    "noKpiData": "Data KPI belum tersedia",
    "deleteConfirmTitle": "Padam Guru",
    "deleteConfirmMessage": "Adakah anda pasti ingin memadam guru {name}? Tindakan ini tidak boleh dibatalkan.",
    "tabs": {
      "overview": "Ringkasan",
      "schedule": "Jadual",
      "workSchedule": "Waktu Kerja",
      "tasks": "Tugasan",
      "leaves": "Cuti",
      "kpi": "KPI"
    }
  },
  "attendance": {
    "title": "Kehadiran",
    "subtitle": "Urus data kehadiran",
    "checkIn": "Daftar Masuk",
    "checkOut": "Daftar Keluar",
    "checkInTime": "Masa Daftar Masuk",
    "checkOutTime": "Masa Daftar Keluar",
    "checkedIn": "Sudah Daftar Masuk",
    "checkedInAt": "Daftar masuk pada",
    "checkedOutAt": "Daftar keluar pada",
    "notCheckedIn": "Belum Daftar Masuk",
    "onTime": "Tepat Masa",
    "date": "Tarikh",
    "time": "Masa",
    "name": "Nama",
    "status": "Status",
    "notes": "Nota",
    "notesPlaceholder": "Tambah nota...",
    "present": "Hadir",
    "absent": "Tidak Hadir",
    "late": "Lewat",
    "excused": "Cuti",
    "leave": "Cuti",
    "sick": "Sakit",
    "classAttendance": "Kehadiran Kelas",
    "studentAttendance": "Kehadiran Pelajar",
    "staffAttendance": "Kehadiran Kakitangan",
    "staff": "Kakitangan",
    "teachers": "Guru",
    "students": "Pelajar",
    "student": "Pelajar",
    "studentNumber": "ID Pelajar",
    "subject": "Subjek",
    "subjectCode": "Kod Subjek",
    "class": "Kelas",
    "room": "Bilik",
    "classCheckin": "Daftar Masuk Kelas",
    "classTime": "Masa Kelas",
    "currentClass": "Kelas Semasa",
    "currentTime": "Masa Sekarang",
    "searchPlaceholder": "Cari mengikut nama...",
    "allStatus": "Semua Status",
    "noData": "Tiada data kehadiran",
    "noScheduleToday": "Tiada jadual hari ini",
    "scheduleNotFound": "Jadual tidak dijumpai",
    "totalRecords": "Jumlah Rekod",
    "totalHours": "Jumlah Jam",
    "hours": "Jam",
    "attendanceRate": "Kadar Kehadiran",
    "exportExcel": "Eksport ke Excel",
    "markStudentAttendance": "Rekod Kehadiran Pelajar",
    "markAllPresent": "Tandakan Semua Hadir",
    "markAllAbsent": "Tandakan Semua Tidak Hadir",
    "saveAttendance": "Simpan Kehadiran",
    "savedSuccessfully": "Kehadiran berjaya disimpan",
    "saving": "Menyimpan...",
    "processing": "Memproses...",
    "quickActions": "Tindakan Pantas",
    "todayHistory": "Sejarah Hari Ini",
    "upcoming": "Akan Datang",
    "completed": "Selesai",
    "completedToday": "Selesai Hari Ini",
    "enjoyYourDay": "Selamat berehat!",
    "myAttendance": "Kehadiran Saya",
    "historyDesc": "Sejarah kehadiran kelas anda",
    "rate": "Kadar Kehadiran"
  },
  "schedules": {
    "title": "Jadual",
    "subtitle": "Urus jadual kelas",
    "create": "Cipta Jadual",
    "createSchedule": "Cipta Jadual Baru",
    "createScheduleSubtitle": "Tambah jadual pelajaran baru",
    "edit": "Edit Jadual",
    "delete": "Padam Jadual",
    "addNew": "Tambah Jadual Baru",
    "calendarView": "Paparan Kalendar",
    "listView": "Paparan Senarai",
    "allDays": "Semua Hari",
    "noData": "Tiada data jadual",
    "notFound": "Jadual tidak dijumpai",
    "scheduleInfo": "Maklumat Jadual",
    "day": "Hari",
    "time": "Masa",
    "startTime": "Masa Mula",
    "endTime": "Masa Tamat",
    "subject": "Subjek",
    "teacher": "Guru",
    "class": "Kelas",
    "room": "Bilik",
    "roomPlaceholder": "Contoh: Bilik 101",
    "activeSchedule": "Jadual Aktif",
    "selectClass": "-- Pilih Kelas --",
    "selectSubject": "-- Pilih Subjek --",
    "selectTeacher": "-- Pilih Guru --",
    "selectDay": "-- Pilih Hari --",
    "allFieldsRequired": "Semua medan diperlukan",
    "endTimeMustBeAfterStartTime": "Masa tamat mesti selepas masa mula",
    "conflictDetected": "Konflik jadual dikesan",
    "conflictsDetected": "Konflik Jadual Dikesan",
    "substitute": "Guru Ganti",
    "assignSubstitute": "Tugaskan Guru Ganti",
    "assignSubstituteSubtitle": "Pilih guru ganti untuk jadual ini",
    "originalTeacher": "Guru Asal",
    "substituteTeacher": "Guru Ganti",
    "substituteDate": "Tarikh Penggantian",
    "substituteDateHint": "Pilih tarikh penggantian",
    "reason": "Sebab",
    "reasonPlaceholder": "Sebab penggantian guru...",
    "substituteDetails": "Butiran Penggantian",
    "substituteConflict": "Konflik Penggantian",
    "substituteConflictError": "Guru ganti mempunyai jadual konflik pada tarikh tersebut",
    "days": {
      "sunday": "Ahad",
      "monday": "Isnin",
      "tuesday": "Selasa",
      "wednesday": "Rabu",
      "thursday": "Khamis",
      "friday": "Jumaat",
      "saturday": "Sabtu"
    },
    "deleteConfirmTitle": "Padam Jadual",
    "deleteConfirmMessage": "Adakah anda pasti ingin memadam jadual {subject} untuk kelas {class}?"
  },
  "tasks": {
    "title": "Tugas & Peperiksaan",
    "subtitle": "Urus tugasan guru",
    "create": "Cipta Tugasan",
    "createTask": "Cipta Tugasan Baru",
    "editTask": "Edit Tugasan",
    "edit": "Edit Tugasan",
    "delete": "Padam Tugasan",
    "searchPlaceholder": "Cari tugasan...",
    "allStatus": "Semua Status",
    "allPriority": "Semua Keutamaan",
    "noData": "Tiada data tugasan",
    "notFound": "Tugasan tidak dijumpai",
    "dueDate": "Tarikh Akhir",
    "overdue": "Tertunggak",
    "teacher": "Guru",
    "selectTeacher": "-- Pilih Guru --",
    "titlePlaceholder": "Masukkan tajuk tugasan...",
    "description": "Penerangan",
    "descriptionPlaceholder": "Terangkan butiran tugasan...",
    "priority": {
      "low": "Rendah",
      "medium": "Sederhana",
      "high": "Tinggi"
    },
    "attachments": "Lampiran",
    "uploadFiles": "Muat Naik Fail",
    "supportedFormats": "PDF, DOC, XLS, PPT, JPG, PNG",
    "taskInfo": "Maklumat Tugasan",
    "assignedTo": "Ditugaskan Kepada",
    "createdBy": "Dicipta Oleh",
    "createdAt": "Dicipta Pada",
    "reviewedBy": "Disemak Oleh",
    "reviewedAt": "Disemak Pada",
    "reviewComments": "Komen Semakan",
    "reviewCommentsPlaceholder": "Tambah komen semakan...",
    "reviewHistory": "Sejarah Semakan",
    "submitTask": "Hantar Tugasan",
    "uploadSubmission": "Muat Naik Fail Jawapan",
    "submittedFiles": "Fail yang Dihantar",
    "assignmentAttachments": "Lampiran Tugasan",
    "submissionAttachments": "Lampiran Jawapan",
    "noSubmissionFiles": "Pilih fail untuk dihantar",
    "reviewTask": "Semak Tugasan",
    "reviewTaskDescription": "Semak dan buat keputusan untuk tugasan ini",
    "approveTask": "Luluskan Tugasan",
    "approveTaskDescription": "Tugasan ini akan ditandakan sebagai diluluskan",
    "rejectTask": "Tolak Tugasan",
    "rejectTaskDescription": "Tugasan ini akan ditandakan sebagai ditolak",
    "approve": "Luluskan",
    "reject": "Tolak",
    "taskApproved": "Tugasan Diluluskan",
    "taskRejected": "Tugasan Ditolak",
    "status": {
      "pending": "Menunggu",
      "submitted": "Dihantar",
      "approved": "Diluluskan",
      "rejected": "Ditolak"
    },
    "deadline": "Tarikh akhir:",
    "add": "Tambah Tugas Baru",
    "titleLabel": "Tajuk Tugasan",
    "priorityLabel": "Keutamaan"
  },
  "classes": {
    "title": "Kelas",
    "subtitle": "Urus data kelas",
    "create": "Cipta Kelas",
    "createClass": "Cipta Kelas Baru",
    "edit": "Edit Kelas",
    "editClass": "Edit Kelas",
    "delete": "Padam Kelas",
    "addClass": "Tambah Kelas",
    "noData": "Tiada data kelas",
    "className": "Nama Kelas",
    "classNamePlaceholder": "Contoh: Kelas 7A",
    "gradeLevel": "Tingkatan",
    "selectGrade": "Pilih Tingkatan",
    "academicYear": "Tahun Akademik",
    "homeroomTeacher": "Guru Kelas",
    "selectTeacher": "Pilih Guru",
    "students": "Pelajar",
    "deleteConfirmTitle": "Padam Kelas",
    "deleteConfirmMessage": "Adakah anda pasti ingin memadam kelas {name}?"
  },
  "subjects": {
    "title": "Mata Pelajaran",
    "subtitle": "Urus mata pelajaran",
    "create": "Cipta Mata Pelajaran",
    "createSubject": "Cipta Mata Pelajaran Baru",
    "edit": "Edit Mata Pelajaran",
    "editSubject": "Edit Mata Pelajaran",
    "delete": "Padam Mata Pelajaran",
    "addSubject": "Tambah Mata Pelajaran",
    "noData": "Tiada data mata pelajaran",
    "subjectCode": "Kod Mata Pelajaran",
    "subjectName": "Nama Mata Pelajaran",
    "subjectNamePlaceholder": "Contoh: Matematik",
    "description": "Penerangan",
    "descriptionPlaceholder": "Penerangan mata pelajaran...",
    "deleteConfirmTitle": "Padam Mata Pelajaran",
    "deleteConfirmMessage": "Adakah anda pasti ingin memadam mata pelajaran {name}?"
  },
  "behavior": {
    "title": "Tingkah Laku",
    "subtitle": "Pengurusan Tingkah Laku",
    "create": "Rekod Tingkah Laku",
    "edit": "Edit Tingkah Laku",
    "delete": "Padam Tingkah Laku",
    "type": "Jenis",
    "positive": "Positif",
    "negative": "Negatif",
    "points": "Mata",
    "description": "Penerangan",
    "date": "Tarikh",
    "student": "Pelajar",
    "teacher": "Guru",
    "generateLetter": "Jana Surat",
    "createSubtitle": "Catat tingkah laku pelajar atau guru",
    "userTypeLabel": "Jenis Pengguna *",
    "studentOpt": "Pelajar",
    "teacherOpt": "Guru",
    "selectUserLabel": "Pilih Pelajar *",
    "selectUserPlaceholder": "-- Pilih Pengguna --",
    "behaviorTypeLabel": "Jenis Tingkah Laku *",
    "veryGoodOpt": "Sangat Baik",
    "goodOpt": "Baik",
    "badOpt": "Buruk",
    "pointsToGive": "Mata untuk diberi:",
    "incidentDateLabel": "Tarikh Kejadian *",
    "detailTitle": "Butiran Rekod Tingkah Laku",
    "behaviorInfo": "Maklumat Tingkah Laku",
    "reportedBy": "Dilaporkan Oleh",
    "documentCreated": "Dokumen Dibuat",
    "noDocument": "Belum ada dokumen",
    "kpiImpact": "Kesan KPI",
    "kpiPoints": "mata KPI",
    "userType": "Jenis Pengguna",
    "severityLevel": "Tahap Keterukan",
    "allUsers": "Semua Pengguna",
    "noData": "Tiada data tingkah laku",
    "userCol": "Pengguna",
    "typeCol": "Jenis",
    "levelCol": "Tahap",
    "pointsCol": "Mata",
    "actionCol": "Tindakan",
    "deleteTitle": "Padam Rekod Tingkah Laku",
    "searchPlaceholder": "Cari nama...",
    "descriptionPlaceholder": "Terangkan kejadian secara terperinci...",
    "selectUserFirst": "Sila pilih pengguna terlebih dahulu",
    "saveFailed": "Gagal menyimpan rekod tingkah laku",
    "lightSeverity": "Ringan",
    "mediumSeverity": "Sederhana",
    "heavySeverity": "Berat"
  },
  "permits": {
    "title": "Kebenaran",
    "subtitle": "Senarai kebenaran anak",
    "create": "Buat Kebenaran Baru",
    "approve": "Luluskan",
    "reject": "Tolak",
    "type": "Jenis",
    "reason": "Sebab",
    "startDate": "Tarikh Mula",
    "endDate": "Tarikh Tamat",
    "status": "Status",
    "pending": "Menunggu",
    "approved": "Diluluskan",
    "rejected": "Ditolak",
    "qrCode": "Kod QR",
    "scan": "Imbas",
    "sick": "Sakit",
    "familyEvent": "Acara Keluarga",
    "createSubtitle": "Buat kebenaran keluar pelajar",
    "studentLabel": "Pelajar *",
    "reasonLabel": "Sebab *",
    "reasonPlaceholder": "Sebab kebenaran keluar...",
    "dateLabel": "Tarikh *",
    "exitTimeLabel": "Waktu Keluar *",
    "returnTimeLabel": "Waktu Kembali *",
    "requesterNameLabel": "Nama Pemohon",
    "requesterContactLabel": "Hubungan Pemohon",
    "autoApproveLabel": "Lulus automatik (jana Kod QR)",
    "detailTitle": "Butiran Kebenaran Keluar",
    "permitListSub": "Urus kebenaran keluar pelajar",
    "parentNamePlaceholder": "Nama ibu bapa/penjaga",
    "reasonExplainPlaceholder": "Jelaskan sebab kebenaran keluar...",
    "selectChildFirst": "Pilih anak dahulu",
    "submitFailed": "Gagal menghantar kebenaran",
    "selectChildPlaceholder": "-- Pilih Anak --",
    "detailInfo": "Butiran Kebenaran",
    "requestedBy": "Diminta oleh",
    "contact": "Hubungan",
    "exitTime": "Waktu Keluar",
    "returnTime": "Waktu Kembali",
    "actualExit": "Waktu Keluar Sebenar",
    "actualReturn": "Waktu Kembali Sebenar",
    "returnStatus": "Status Kembali",
    "showQrSecurity": "Tunjukkan kod QR ini kepada pegawai keselamatan",
    "scanHistory": "Sejarah Imbasan",
    "rejectPermit": "Tolak Kebenaran",
    "noPermitData": "Tiada data kebenaran",
    "permitNo": "No. Kebenaran",
    "returned": "Kembali",
    "searchStudentPlaceholder": "Cari nama atau ID pelajar...",
    "selectStudentFirst": "Sila pilih pelajar terlebih dahulu",
    "createFailed": "Gagal membuat kebenaran",
    "phonePlaceholder": "Nombor telefon"
  },
  "leaves": {
    "title": "Cuti",
    "subtitle": "Urus permohonan cuti",
    "create": "Mohon Cuti",
    "approve": "Luluskan",
    "reject": "Tolak",
    "type": "Jenis",
    "reason": "Sebab",
    "startDate": "Tarikh Mula",
    "endDate": "Tarikh Tamat",
    "status": "Status",
    "quota": "Kuota",
    "remaining": "Baki",
    "manageSubtitle": "Urus permohonan cuti guru",
    "pending": "Menunggu",
    "approved": "Diluluskan",
    "rejected": "Ditolak",
    "searchPlaceholder": "Cari guru...",
    "allStatus": "Semua Status",
    "allType": "Semua Jenis",
    "filter": "Tapis",
    "noData": "Tiada permohonan cuti",
    "detailTitle": "Butiran Permohonan Cuti",
    "totalDays": "Jumlah Hari",
    "leaveInfo": "Maklumat Cuti",
    "leaveTypeLabel": "Jenis Cuti",
    "totalDaysLabel": "Jumlah Hari",
    "rejectionReason": "Sebab Penolakan",
    "supportDoc": "Dokumen Sokongan",
    "downloadDoc": "Muat Turun Dokumen",
    "statusTimeline": "Garis Masa Status",
    "requestCreated": "Permohonan Dibuat",
    "needsAction": "Permohonan ini memerlukan",
    "rejectLeave": "Tolak Permohonan Cuti",
    "annual": "Tahunan",
    "maternity": "Bersalin",
    "days": "hari",
    "rejectionReasonPlaceholder": "Sebab penolakan...",
    "loadFailed": "Gagal memuatkan data cuti",
    "approveFailed": "Gagal meluluskan cuti",
    "rejectFailed": "Gagal menolak cuti"
  },
  "finance": {
    "title": "Papan Pemuka Kewangan",
    "subtitle": "Ringkasan Kewangan Sekolah",
    "invoices": "Invois",
    "payments": "Pembayaran",
    "payroll": "Gaji",
    "coa": "Carta Akaun",
    "journals": "Jurnal",
    "ledger": "Lejar",
    "incomeStatement": "Penyata Pendapatan",
    "amount": "Jumlah *",
    "date": "Tarikh",
    "status": "Status",
    "paid": "Dibayar",
    "unpaid": "Belum Bayar",
    "overdue": "Lewat Tempoh",
    "totalIncome": "Jumlah Pendapatan",
    "totalExpense": "Jumlah Perbelanjaan",
    "coaSubtitle": "Urus carta akaun kewangan sekolah",
    "noCoaData": "Belum ada carta akaun",
    "accountCode": "Kod Akaun",
    "accountName": "Nama Akaun",
    "accountType": "Jenis Akaun *",
    "parentAccount": "Akaun Induk",
    "active": "Aktif",
    "invoiceDetail": "Butiran Invois",
    "invoiceDate": "Tarikh Invois",
    "dueDate": "Tarikh Akhir",
    "qty": "Qty",
    "price": "Harga",
    "total": "Jumlah",
    "remaining": "Baki",
    "paymentHistory": "Sejarah Pembayaran",
    "noPayment": "Belum ada pembayaran",
    "studentInfo": "Maklumat Pelajar",
    "totalInvoice": "Jumlah Invois",
    "recordPayment": "Rekod Pembayaran",
    "paymentDate": "Tarikh Pembayaran *",
    "paymentMethod": "Kaedah Pembayaran *",
    "cash": "Tunai",
    "bankTransfer": "Pindahan Bank",
    "eWallet": "E-Wallet",
    "other": "Lain-lain",
    "referenceNo": "No. Rujukan",
    "createInvoiceTitle": "Buat Invois",
    "createInvoiceSub": "Buat invois untuk pelajar",
    "invoiceInfo": "Maklumat Invois",
    "change": "Tukar",
    "invoiceItems": "Item Invois",
    "unitPrice": "Harga Seunit",
    "invoiceListSub": "Urus invois dan pembayaran pelajar",
    "search": "Cari",
    "noInvoice": "Belum ada invois",
    "invoiceNo": "No. Invois",
    "invoiceDateCol": "Tarikh Invois",
    "paidCol": "Dibayar",
    "journalDetail": "Butiran Jurnal",
    "journalNo": "No. Jurnal",
    "createdBy": "Dibuat Oleh",
    "journalLines": "Baris Jurnal",
    "note": "Catatan",
    "debit": "Debit",
    "credit": "Kredit",
    "createJournal": "Buat Jurnal Am",
    "createJournalSub": "Rekod transaksi kewangan secara manual",
    "journalInfo": "Maklumat Jurnal",
    "descRequired": "Penerangan *",
    "accountRequired": "Akaun *",
    "debitCreditHint": "Masukkan nilai debit dan kredit",
    "journalListSub": "Urus jurnal am kewangan",
    "noJournal": "Belum ada jurnal",
    "totalDebit": "Jumlah Debit",
    "totalCredit": "Jumlah Kredit",
    "payrollDetail": "Butiran Gaji",
    "salaryBreakdown": "Pecahan Gaji",
    "period": "Tempoh",
    "baseSalary": "Gaji Asas",
    "netSalary": "Gaji Bersih",
    "teacherInfo": "Maklumat Guru",
    "paymentDateCol": "Tarikh Pembayaran",
    "createPayroll": "Buat Gaji",
    "createPayrollSub": "Buat slip gaji untuk guru",
    "teacherRequired": "Guru *",
    "periodStart": "Tempoh Mula *",
    "periodEnd": "Tempoh Tamat *",
    "baseSalaryReq": "Gaji Asas *",
    "allowance": "Elaun",
    "deduction": "Potongan",
    "payrollListSub": "Urus gaji guru dan kakitangan",
    "draft": "Draf",
    "processed": "Diproses",
    "paidStatus": "Dibayar",
    "noPayroll": "Belum ada data gaji",
    "payrollNo": "No. Gaji",
    "financeSummary": "Ringkasan kewangan sekolah",
    "monthlyTrend": "Trend Kewangan Bulanan",
    "reportSub": "Laporan kewangan sekolah",
    "show": "Papar",
    "netProfit": "Untung Bersih",
    "financeSummaryTitle": "Ringkasan Kewangan",
    "revenue": "Pendapatan",
    "expense": "Perbelanjaan",
    "selectDateRange": "Pilih julat tarikh untuk melihat laporan",
    "invoiceDateReq": "Tarikh Invois *",
    "dueDateReq": "Tarikh Akhir *",
    "sisa": "Baki",
    "searchDesc": "Cari penerangan...",
    "fromDate": "Dari tarikh",
    "toDate": "Hingga tarikh",
    "auto": "Automatik",
    "manual": "Manual",
    "deleteJournalConfirm": "Padam jurnal ini?",
    "deleteJournalFailed": "Gagal memadam jurnal",
    "loadJournalFailed": "Gagal memuatkan jurnal",
    "journalNotBalanced": "Jurnal tidak seimbang. Jumlah debit mesti sama dengan jumlah kredit.",
    "journalNotBalancedBrief": "✗ Jurnal Tidak Seimbang",
    "minTwoLines": "Sekurang-kurangnya 2 baris jurnal diperlukan.",
    "saveJournalFailed": "Gagal menyimpan jurnal",
    "descPlaceholder": "Penerangan transaksi...",
    "addLine": "Tambah Baris",
    "selectAccount": "-- Pilih Akaun --",
    "lineDescPlaceholder": "Penerangan baris...",
    "journalBalanced": "✓ Jurnal seimbang",
    "difference": "Perbezaan",
    "addAccount": "Tambah Akaun",
    "editAccount": "Edit Akaun",
    "inactive": "Tidak aktif",
    "allTypes": "Semua Jenis",
    "createInvoice": "Buat Invois",
    "partiallyPaid": "Sebahagian",
    "searchInvoice": "Cari pelajar atau nombor invois...",
    "additionalNotes": "Nota tambahan...",
    "allowances": "Elaun",
    "deductions": "Potongan",
    "exportExcel": "Eksport Excel",
    "generalLedger": "Lejar Am",
    "showBtn": "Papar",
    "fromLabel": "Dari:",
    "toLabel": "Hingga:",
    "assetType": "Aset",
    "liabilityType": "Liabiliti",
    "equityType": "Ekuiti",
    "revenueType": "Pendapatan",
    "expenseType": "Perbelanjaan",
    "searchBtn": "Cari",
    "notesLabel": "Nota",
    "noParent": "Tiada (Akaun Utama)",
    "reportLoadFailed": "Gagal memuatkan laporan",
    "exportFailed": "Gagal mengeksport laporan"
  },
  "wallet": {
    "title": "Dompet",
    "subtitle": "Sejarah transaksi e-wallet",
    "balance": "Baki",
    "topup": "Tambah Nilai",
    "transactions": "Transaksi",
    "amount": "Jumlah",
    "date": "Tarikh",
    "type": "Jenis",
    "description": "Penerangan",
    "canteenPayment": "Bayaran Kantin",
    "myWallet": "E-Dompet Saya",
    "availableBalance": "Baki Tersedia",
    "spentToday": "Dibelanjakan hari ini",
    "dailyLimit": "Had harian",
    "remainingToday": "Baki hari ini",
    "spendingTrend": "Trend Perbelanjaan",
    "recentTransactions": "Transaksi Terkini",
    "noTransactions": "Belum ada transaksi",
    "topupTitle": "Tambah Nilai E-Dompet",
    "selectChild": "Pilih Anak",
    "currentBalance": "Baki Semasa",
    "topupAmount": "Jumlah Tambah Nilai",
    "otherAmount": "Jumlah lain",
    "paymentMethod": "Kaedah Pembayaran",
    "processing": "Memproses...",
    "fetchChildFailed": "Gagal mengambil data anak",
    "selectChildAndAmount": "Pilih anak dan masukkan jumlah",
    "minTopup": "Minimum tambah nilai ialah Rp 10.000",
    "topupFailed": "Tambah Nilai gagal diproses",
    "canteenPosTitle": "Kantin POS",
    "canteenPosSub": "Sistem pembayaran tanpa tunai",
    "identifyStudent": "Kenal Pasti Pelajar",
    "scanQr": "Imbas QR",
    "searchStudent": "Cari nama atau NIS",
    "change": "Tukar",
    "paymentDetails": "Butiran Pembayaran",
    "vendorName": "Nama Kantin",
    "totalAmount": "Jumlah Belanja (Rp)",
    "pay": "Bayar",
    "paymentSuccess": "Pembayaran berjaya",
    "insufficientBalance": "Baki tidak mencukupi",
    "dailyLimitExceeded": "Melebihi had harian",
    "paymentFailed": "Pembayaran gagal"
  },
  "kpi": {
    "title": "Laporan Perwatakan",
    "subtitle": "Pengurusan KPI Pelajar",
    "score": "Skor KPI",
    "rank": "Kedudukan",
    "attendance": "Kehadiran",
    "behavior": "Tingkah Laku",
    "academic": "Akademik",
    "leaderboard": "Papan Pendahulu",
    "history": "Sejarah",
    "studentDetail": "Butiran KPI Pelajar",
    "academicScore": "Skor Akademik",
    "attitudeScore": "Skor Sikap",
    "spiritualScore": "Skor Kerohanian",
    "notFound": "Data KPI tidak dijumpai",
    "scoreDetail": "Butiran Skor",
    "noHistory": "Belum ada sejarah KPI",
    "studentRank": "Kedudukan dan prestasi pelajar berdasarkan KPI",
    "top10Student": "10 Pelajar Teratas - Skor KPI",
    "noKpiData": "Belum ada data KPI",
    "teacherRank": "Kedudukan dan prestasi guru berdasarkan KPI",
    "top10Teacher": "10 Guru Teratas - Skor KPI",
    "behaviorCol": "Tingkah Laku",
    "totalScore": "Jumlah Skor",
    "tasks": "Tugasan",
    "clickForDetail": "Klik pada guru untuk lihat butiran KPI"
  },
  "analytics": {
    "title": "Analitik",
    "subtitle": "Ringkasan prestasi dan statistik sekolah",
    "dashboard": "Papan Pemuka",
    "topPerformers": "Prestasi Terbaik",
    "attendance": "Kehadiran",
    "financial": "Kewangan",
    "behavior": "Tingkah Laku",
    "noData": "Data belum tersedia",
    "monthlyFinance": "Kewangan Bulanan",
    "topStudentKpi": "Pelajar KPI Teratas",
    "topTeacherKpi": "Guru KPI Teratas",
    "thisWeek": "Minggu Ini",
    "monthlySummary": "Ringkasan Kewangan Bulan Ini",
    "financeTrend": "Trend Kewangan",
    "behaviorDist": "Taburan Tingkah Laku Bulan Ini",
    "positiveBehavior": "Tingkah Laku Positif",
    "negativeBehavior": "Tingkah Laku Negatif",
    "noAnalytics": "Data analitik belum tersedia",
    "totalStudents": "Jumlah Pelajar",
    "totalTeachers": "Jumlah Guru",
    "revenueThisMonth": "Pendapatan Bulan Ini",
    "tabOverview": "Ringkasan",
    "tabAttendance": "Kehadiran",
    "tabFinancial": "Kewangan",
    "tabBehavior": "Tingkah Laku",
    "attendancePercent": "Kehadiran %",
    "viewAll": "Lihat Semua →",
    "dashboard": {
      "title": "Papan Pemuka Analitik",
      "activeStudents": "Pelajar Aktif",
      "alumni": "Alumni",
      "ppdbPending": "PPDB Tertunda",
      "ppdbApproved": "PPDB Diluluskan",
      "dormitoryHeatmap": "Peta Haba Kehadiran Asrama",
      "catStats": "Statistik CAT",
      "avgScoreByClass": "Purata Markah mengikut Kelas",
      "avgScoreBySubject": "Purata Markah mengikut Mata Pelajaran",
      "filterPeriod": "Tapis Tempoh",
      "noDataPeriod": "Tiada data untuk tempoh ini"
    }
  },
  "notifications": {
    "title": "Pemberitahuan",
    "markAsRead": "Tanda dibaca",
    "markAllAsRead": "Tanda semua",
    "noNotifications": "Tiada notifikasi",
    "viewAll": "Lihat semua notifikasi →",
    "newCount": "{count} baharu",
    "enablePush": "Dayakan notifikasi push",
    "disablePush": "Lumpuhkan notifikasi push",
    "enableBrowserPrompt": "Dayakan notifikasi pelayar untuk kemas kini masa nyata",
    "subtitle": "Urus dan hantar notifikasi",
    "noData": "Belum ada notifikasi",
    "unreadCount": "{count} notifikasi belum dibaca",
    "allRead": "Semua notifikasi sudah dibaca",
    "unreadTab": "Belum Dibaca"
  },
  "settings": {
    "title": "Tetapan",
    "profile": "Profil",
    "language": "Bahasa",
    "theme": "Tema",
    "branding": "Penjenamaan",
    "changePassword": "Tukar Kata Laluan",
    "languageTitle": "Tetapan Bahasa",
    "languageSubtitle": "Pilih bahasa paparan sistem",
    "brandingTitle": "Tetapan Penjenamaan",
    "brandingSub": "Sesuaikan penampilan dan identiti sekolah",
    "schoolLogo": "Logo Sekolah",
    "logoHint": "PNG, JPG, SVG. Maks 2MB",
    "brandColor": "Warna Jenama",
    "schoolInfo": "Maklumat Sekolah",
    "schoolName": "Nama Sekolah *",
    "phone": "Telefon",
    "email": "E-mel",
    "website": "Laman Web",
    "localizationTitle": "Tetapan Penyetempatan",
    "localizationSubtitle": "Tetapkan bahasa dan mata wang untuk seluruh sistem",
    "languageTab": "Bahasa",
    "currencyTab": "Mata Wang",
    "selectLanguage": "Pilih Bahasa Default",
    "languageHint": "Bahasa ini akan ditetapkan sebagai default untuk semua pengguna",
    "selectCurrency": "Pilih Mata Wang",
    "currencyHint": "Mata wang ini akan digunakan untuk semua transaksi kewangan",
    "example": "Contoh",
    "savedSuccess": "Tetapan berjaya disimpan!",
    "saveSettings": "Simpan Tetapan"
  },
  "validation": {
    "required": "Medan ini diperlukan",
    "invalidEmail": "Format e-mel tidak sah",
    "minLength": "Minimum {min} aksara",
    "maxLength": "Maksimum {max} aksara",
    "passwordMismatch": "Kata laluan tidak sepadan",
    "invalidPhone": "Format nombor telefon tidak sah",
    "invalidDate": "Format tarikh tidak sah",
    "positiveNumber": "Mesti nombor positif",
    "uniqueEmail": "E-mel sudah digunakan"
  },
  "staff": {
    "title": "Pengurusan Staf",
    "subtitle": "Urus data staf, pentadbir, kewangan, dan keselamatan",
    "dashboard": "Papan Pemuka Kakitangan",
    "dutyToday": "Tugas Hari Ini"
  },
  "parents": {
    "title": "Pengurusan Ibu Bapa",
    "subtitle": "Urus data ibu bapa/penjaga",
    "addTitle": "Tambah Ibu Bapa",
    "addSubtitle": "Daftar ibu bapa/penjaga baru",
    "totalParents": "Jumlah Ibu Bapa",
    "noData": "Belum ada data ibu bapa yang mendaftar",
    "deleteTitle": "Padam Ibu Bapa",
    "deleteConfirm": "Adakah anda pasti mahu memadam {name}? Tindakan ini tidak dapat dibatalkan."
  },
  "gradeLevels": {
    "title": "Pengurusan Tahap Kelas",
    "subtitle": "Urus data tahap pendidikan",
    "addTitle": "Tambah Tahap",
    "editTitle": "Edit Tahap Kelas",
    "deleteTitle": "Padam Tahap Kelas",
    "noData": "Belum ada data tahap kelas.",
    "numericLevel": "Tahap Numerik",
    "category": "Kategori",
    "displayName": "Nama Paparan",
    "shortCode": "Kod Pendek",
    "exampleLevel": "Contoh: 1, 2, 7, 10",
    "tkPaud": "Tadika",
    "sdMi": "Rendah",
    "smpMts": "Menengah Rendah",
    "smaSMK": "Menengah Atas"
  },
  "teacherDuties": {
    "title": "Tugas Piket Guru",
    "subtitle": "Jadual piket pagar, koridor, dan aktiviti lain",
    "addDuty": "Tambah Piket",
    "editDuty": "Edit Piket",
    "noData": "Belum ada jadual piket",
    "teacher": "Guru",
    "selectTeacher": "-- Pilih Guru --",
    "day": "Hari",
    "dutyType": "Jenis Piket",
    "startTime": "Masa Mula",
    "endTime": "Masa Tamat",
    "deleteConfirm": "Padam tugas piket ini?",
    "types": {
      "gate": "Piket Pagar",
      "assembly": "Perhimpunan",
      "corridor": "Piket Koridor",
      "lunch": "Piket Makan Tengahari",
      "exam": "Piket Peperiksaan",
      "ceremony": "Piket Majlis",
      "other": "Lain-lain"
    }
  },
  "timetables": {
    "title": "Jadual Mengajar",
    "subtitle": "Urus jadual mengajar guru mengikut kelas dan subjek",
    "addSchedule": "Tambah Jadual",
    "editSchedule": "Edit Jadual",
    "noData": "Belum ada jadual mengajar",
    "teacher": "Guru",
    "selectTeacher": "-- Pilih Guru --",
    "class": "Kelas",
    "selectClass": "-- Pilih Kelas --",
    "subject": "Subjek",
    "selectSubject": "-- Pilih Subjek --",
    "period": "Waktu Ke (Tempoh)",
    "day": "Hari",
    "startTime": "Masa Mula",
    "endTime": "Masa Tamat",
    "deleteConfirm": "Padam jadual mengajar ini?"
  },
  "calendar": {
    "title": "Kalendar Sekolah",
    "subtitle": "Urus kalendar akademik dan cuti",
    "addEvent": "Tambah Acara",
    "editEvent": "Edit Acara",
    "noData": "Belum ada data kalendar",
    "eventName": "Nama Acara",
    "description": "Penerangan",
    "startDate": "Mula",
    "endDate": "Tamat",
    "isHoliday": "Cuti?",
    "deleteConfirm": "Padam acara kalendar ini?",
    "bulkImportTitle": "Import Kalendar Nasional",
    "bulkImportDesc": "Import cuti umum nasional secara automatik untuk tahun semasa.",
    "importing": "Mengimport...",
    "importNow": "Import Sekarang",
    "eventTitle": "Tajuk Acara",
    "totalEvents": "Jumlah Acara",
    "holidays": "Hari Cuti",
    "workDays": "Hari Kerja (Ditandai)",
    "sun": "AHD",
    "mon": "ISN",
    "tue": "SEL",
    "wed": "RAB",
    "thu": "KHA",
    "fri": "JUM",
    "sat": "SAB",
    "january": "Januari",
    "february": "Februari",
    "march": "Mac",
    "april": "April",
    "may": "Mei",
    "june": "Jun",
    "july": "Julai",
    "august": "Ogos",
    "september": "September",
    "october": "Oktober",
    "november": "November",
    "december": "Disember",
    "holiday": "Cuti",
    "workday": "Kerja",
    "titlePlaceholder": "Contoh: Hari Raya Aidilfitri"
  },
  "teacherCheckins": {
    "title": "Kehadiran Guru (Check-in)",
    "subtitle": "Pantau masa ketibaan guru secara masa nyata",
    "noData": "Belum ada data check-in",
    "teacher": "Guru",
    "date": "Tarikh",
    "time": "Masa",
    "status": "Status",
    "method": "Kaedah",
    "location": "Lokasi",
    "notes": "Nota",
    "statuses": {
      "on_time": "Tepat Masa",
      "late": "Lewat",
      "excused": "Izin",
      "absent": "Tidak Hadir"
    }
  },
  "weekdays": {
    "1": "Isnin",
    "2": "Selasa",
    "3": "Rabu",
    "4": "Khamis",
    "5": "Jumaat",
    "6": "Sabtu",
    "7": "Ahad"
  },
  "dashboard": {
    "hello": "Helo,",
    "attendanceToday": "Kehadiran Hari Ini",
    "outstandingInvoices": "Invois Tertunggak",
    "attendanceTrend7": "Trend Kehadiran (7 Hari)",
    "attendanceTrend": "Trend Kehadiran",
    "noTrendData": "Data trend belum tersedia",
    "needsApproval": "Perlu Kelulusan",
    "leaveRequests": "Permohonan Cuti",
    "studentPermits": "Kebenaran Pelajar",
    "pendingTasks": "Tugasan Belum Selesai",
    "quickActions": "Tindakan Pantas",
    "addStudent": "Tambah Pelajar",
    "addTeacher": "Tambah Guru",
    "createSchedule": "Buat Jadual",
    "createInvoice": "Buat Invois",
    "recordBehavior": "Catat Tingkah Laku",
    "viewAnalytics": "Lihat Analitik"
  },
  "canteen": {
    "payment": "Pembayaran Kantin",
    "scanQR": "Imbas QR untuk membayar",
    "walletBalance": "Baki E-Dompet",
    "inputQR": "Input Kod QR Kantin",
    "qrData": "Data Kod QR",
    "pasteQR": "Tampal data kod QR di sini...",
    "payNow": "Bayar Sekarang",
    "insufficientBalance": "Baki tidak mencukupi",
    "askParent": "Minta ibu bapa untuk tambah nilai",
    "paymentSuccess": "Pembayaran berjaya!",
    "paymentFailed": "Pembayaran gagal",
    "amount": "Jumlah:"
  },
  "schedule": {
    "title": "Jadual Kelas",
    "subtitle": "Jadual kelas minggu ini",
    "room": "Bilik",
    "teacher": "Guru:",
    "noSchedule": "Tiada jadual untuk hari ini",
    "today": "Hari Ini"
  },
  "forms": {
    "fullNameLabel": "Nama Penuh *",
    "fullNamePlaceholder": "Nama penuh",
    "emailLabel": "E-mel *",
    "emailPlaceholder": "email@example.com",
    "passwordLabel": "Kata Laluan *",
    "passwordPlaceholder": "Min 8 aksara",
    "phoneLabel": "No. Telefon",
    "phonePlaceholder": "+60 xxx xxxx xxxx",
    "genderLabel": "Jantina",
    "selectPlaceholder": "-- Pilih --",
    "birthDateLabel": "Tarikh Lahir",
    "addressLabel": "Alamat",
    "addressPlaceholder": "Alamat penuh",
    "teacherCodeLabel": "Kod Guru",
    "teacherCodePlaceholder": "Cth: G-001",
    "citizenIdLabel": "Kad Pengenalan",
    "citizenIdPlaceholder": "16 digit NIK",
    "positionPlaceholder": "-- Pilih Jawatan --",
    "departmentPlaceholder": "-- Pilih Jabatan --"
  },
  "parent": {
    "childAttendance": "Kehadiran Anak",
    "childAttendanceSub": "Pantau kehadiran anak di sekolah",
    "selectChild": "Pilih Anak:",
    "behaviorRecord": "Rekod Tingkah Laku",
    "behaviorSub": "Ringkasan tingkah laku dan disiplin anak",
    "positivePoints": "Mata Positif",
    "negativePoints": "Mata Negatif",
    "totalPoints": "Jumlah Mata",
    "typeFilter": "Jenis:",
    "all": "Semua",
    "noBehavior": "Tiada rekod tingkah laku",
    "dashSub": "Pantau perkembangan anak anda",
    "balanceAvailable": "Baki tersedia",
    "noChildData": "Tiada data anak yang dihubungkan",
    "contactAdmin": "Hubungi admin untuk menghubungkan akaun anak",
    "schoolInvoice": "Invois Sekolah",
    "invoiceSub": "Senarai invois dan status pembayaran",
    "unpaidInvoice": "Invois Belum Dibayar",
    "paidInvoice": "Invois Lunas",
    "statusFilter": "Status:",
    "unpaid": "Belum Dibayar",
    "partialPaid": "Dibayar Sebahagian",
    "paidFull": "Lunas",
    "overdue": "Tertunggak",
    "noInvoice": "Tiada invois",
    "permitSuccess": "Kebenaran Berjaya Dihantar!",
    "permitPending": "Permohonan kebenaran menunggu kelulusan admin",
    "submitPermit": "Hantar Kebenaran Keluar",
    "permitForChild": "Kebenaran keluar untuk anak anda",
    "selectChildReq": "Pilih Anak *",
    "reasonPermit": "Sebab Kebenaran *",
    "phoneReq": "No. Telefon *",
    "exitPermit": "Kebenaran Keluar",
    "permitHistory": "Sejarah kebenaran keluar anak",
    "noPermit": "Belum ada permohonan kebenaran",
    "qrPermit": "Kod QR Kebenaran",
    "qrNotAvail": "QR tidak tersedia",
    "eWallet": "E-Wallet",
    "walletSub": "Urus baki e-wallet anak",
    "txHistory": "Sejarah Transaksi",
    "walletNotAvail": "Data wallet tidak tersedia",
    "topupSuccess": "Isi Baki Berjaya!",
    "topupTitle": "Isi Baki E-Wallet",
    "selectNominal": "Pilih Jumlah",
    "orEnterOther": "Atau Masukkan Jumlah Lain",
    "paymentMethodLabel": "Kaedah Pembayaran",
    "otherWallet": "E-Wallet Lain",
    "totalTopup": "Jumlah Isi Baki",
    "parentRole": "Ibu Bapa",
    "viewHistory": "Lihat Sejarah Kebenaran"
  },
  "permitRequest": {
    "formTitle": "Borang Kebenaran Keluar Pelajar",
    "formSub": "Isi borang berikut untuk memohon kebenaran keluar",
    "submitted": "Permohonan Dihantar!",
    "submittedSub": "Permohonan kebenaran anda telah diterima dan menunggu kelulusan.",
    "requestNo": "Nombor Permohonan",
    "saveNumber": "Simpan nombor ini untuk rujukan",
    "nextSteps": "Langkah seterusnya:",
    "waitConfirm": "Tunggu pengesahan kelulusan dari pihak sekolah",
    "qrWillBeSent": "Jika diluluskan, kod QR akan dihantar",
    "showQr": "Tunjukkan kod QR kepada pegawai keselamatan"
  },
  "security": {
    "portalTitle": "Portal Keselamatan",
    "portalSub": "Urus kebenaran keluar pelajar",
    "scanPermit": "Imbas Kebenaran",
    "permitNo": "Nombor Kebenaran",
    "notReturned": "Belum Kembali",
    "activePermits": "Kebenaran Aktif Hari Ini",
    "noActivePermits": "Tiada kebenaran aktif hari ini",
    "scanSuccess": "Imbasan berjaya! Pelajar:",
    "scanFailed": "Imbasan gagal",
    "or": "ATAU",
    "scanManual": "Imbas Manual",
    "out": "Keluar",
    "back": "Kembali"
  },
  "teacher": {
    "myAttendance": "Sejarah Kehadiran Saya",
    "attendanceSub": "Ringkasan kehadiran harian anda",
    "checkin": "Daftar Masuk",
    "checkout": "Daftar Keluar",
    "todaySchedule": "Jadual Hari Ini",
    "noScheduleToday": "Tiada jadual hari ini",
    "leaveQuota": "Kuota Cuti",
    "kpiSub": "Prestasi dan penilaian KPI anda",
    "scoreBreakdown": "Pecahan Skor",
    "componentDetail": "Butiran Komponen",
    "kpiTrend": "Trend KPI",
    "noKpiData": "Data KPI belum tersedia",
    "kpiCalcInfo": "KPI dikira berdasarkan kehadiran, kelas, tugasan, dan tingkah laku",
    "manageLeave": "Urus permohonan cuti anda",
    "noLeave": "Belum ada permohonan cuti",
    "days": "Hari",
    "reason": "Sebab",
    "applyLeave": "Mohon Cuti",
    "leaveType": "Jenis Cuti *",
    "annualLeave": "Cuti Tahunan",
    "sickLeave": "Cuti Sakit",
    "maternityLeave": "Cuti Bersalin",
    "startDate": "Mula *",
    "endDate": "Tamat *",
    "scheduleSub": "Jadual mengajar anda",
    "totalClassWeek": "Jumlah Kelas/Minggu",
    "teachHoursWeek": "Jam Mengajar/Minggu",
    "classToday": "Kelas Hari Ini",
    "today": "Hari ini",
    "tasksSub": "Tugasan yang diberikan kepada anda",
    "noTasks": "Tiada tugasan",
    "reviewerNote": "Catatan pengulas:",
    "submitTask": "Hantar Tugasan",
    "attachment": "Lampiran",
    "portalTeacher": "Portal Guru",
    "goodMorning": "Selamat Pagi",
    "goodAfternoon": "Selamat Tengah Hari",
    "goodEvening": "Selamat Petang"
  },
  "student": {
    "myProfile": "Profil Saya",
    "profileSub": "Maklumat akaun dan data peribadi",
    "personalInfo": "Maklumat Peribadi",
    "fullName": "Nama Penuh",
    "selectGender": "Pilih",
    "male": "Lelaki",
    "female": "Perempuan",
    "academicInfo": "Maklumat Akademik",
    "nis": "ID Pelajar",
    "classLabel": "Kelas",
    "gradeLabel": "Tahap",
    "enrollDate": "Tarikh Masuk",
    "scheduleSub": "Jadual kelas anda minggu ini",
    "noSchedule": "Tiada jadual tersedia",
    "portalStudent": "Portal Pelajar"
  },
  "timetable": {
    "time": "Masa",
    "classroom": "Kelas",
    "room": "Bilik",
    "subjectCode": "Kod Subjek",
    "subjectName": "Nama Subjek *",
    "level": "Tahap",
    "dayType": "Jenis Hari",
    "titleReq": "Tajuk *"
  },
  "sidebar": {
    "adminPanel": "Panel Admin",
    "version": "Versi 1.0.0",
    "financeStaff": "Kakitangan Kewangan",
    "staff": "Kakitangan"
  },
  "checkins": {
    "wfh": "WFH",
    "offsite": "Luar Tapak",
    "nip": "No. Pekerja"
  },
  "departments": {
    "title": "Pengurusan Jabatan",
    "subtitle": "Urus jabatan sekolah",
    "add": "Tambah Jabatan",
    "edit": "Edit Jabatan",
    "deleteTitle": "Padam Jabatan",
    "deleteConfirm": "Adakah anda pasti ingin memadam jabatan \"{name}\"? Tindakan ini tidak boleh dibatalkan.",
    "noData": "Belum ada jabatan",
    "name": "Nama Jabatan",
    "namePlaceholder": "Contoh: Matematik",
    "nameRequired": "Nama jabatan diperlukan",
    "code": "Kod",
    "codePlaceholder": "Contoh: MTK",
    "description": "Penerangan",
    "descriptionPlaceholder": "Penerangan jabatan...",
    "searchPlaceholder": "Cari jabatan..."
  },
  "positions": {
    "title": "Pengurusan Jawatan",
    "subtitle": "Urus jawatan kakitangan",
    "add": "Tambah Jawatan",
    "edit": "Edit Jawatan",
    "deleteTitle": "Padam Jawatan",
    "deleteConfirm": "Adakah anda pasti ingin memadam jawatan \"{name}\"? Tindakan ini tidak boleh dibatalkan.",
    "noData": "Belum ada jawatan",
    "name": "Nama Jawatan",
    "namePlaceholder": "Contoh: Pengetua",
    "nameRequired": "Nama jawatan diperlukan",
    "code": "Kod",
    "codePlaceholder": "Contoh: KEPSEK",
    "description": "Penerangan",
    "descriptionPlaceholder": "Penerangan jawatan...",
    "searchPlaceholder": "Cari jawatan..."
  },
  "transfers": {
    "title": "Pemindahan Pelajar",
    "subtitle": "Urus pemindahan keluar dan masuk pelajar",
    "transferOut": "Pemindahan Keluar",
    "transferIn": "Pemindahan Masuk",
    "createTransferOut": "Buat Pemindahan Keluar",
    "createTransferIn": "Buat Pemindahan Masuk",
    "status": {
      "pending": "Menunggu",
      "confirmed": "Disahkan",
      "rejected": "Ditolak"
    },
    "effectiveDate": "Tarikh Efektif",
    "destinationSchool": "Sekolah Tujuan",
    "originSchool": "Sekolah Asal",
    "previousClass": "Kelas Sebelumnya",
    "reason": "Sebab",
    "requesterName": "Nama Pemohon",
    "unpaidWarning": "Pelajar mempunyai invois belum dibayar",
    "confirmTransfer": "Sahkan Pemindahan",
    "confirmTransferMsg": "Adakah anda pasti ingin mengesahkan pemindahan keluar ini?",
    "rejectTransfer": "Tolak Pemindahan",
    "rejectionReason": "Sebab Penolakan",
    "downloadDocument": "Muat Turun Surat Pemindahan",
    "approveTransferIn": "Luluskan Pemindahan Masuk",
    "selectClass": "Pilih Kelas",
    "gradeLevel": "Tahap Tingkatan",
    "noData": "Tiada data pemindahan",
    "studentName": "Nama Pelajar",
    "searchStudent": "Cari pelajar...",
    "selectStudent": "Pilih Pelajar",
    "viewDetail": "Lihat Butiran",
    "allStatus": "Semua Status",
    "filterDate": "Tapis Tarikh",
    "step1": "Pilih Pelajar",
    "step2": "Ringkasan Pelajar",
    "step3": "Butiran Pemindahan",
    "confirmReject": "Adakah anda pasti ingin menolak pemindahan ini?",
    "rejectReasonPlaceholder": "Masukkan sebab penolakan...",
    "documentPath": "Dokumen Sokongan",
    "processedBy": "Diproses Oleh",
    "createdAt": "Dicipta Pada"
  },
  "ppdb": {
    "title": "PPDB Online",
    "subtitle": "Penerimaan Pelajar Baru",
    "apply": "Daftar Sekarang",
    "checkStatus": "Semak Status Pendaftaran",
    "registrationNumber": "Nombor Pendaftaran",
    "status": {
      "pending": "Menunggu",
      "approved": "Diluluskan",
      "rejected": "Ditolak"
    },
    "step1": "Data Calon Pelajar",
    "step2": "Data Ibu Bapa",
    "step3": "Muat Naik Dokumen",
    "step4": "Semak & Hantar",
    "fullName": "Nama Penuh",
    "gender": "Jantina",
    "birthDate": "Tarikh Lahir",
    "birthPlace": "Tempat Lahir",
    "originSchool": "Sekolah Asal",
    "desiredGradeLevel": "Tingkatan yang Dikehendaki",
    "parentName": "Nama Ibu Bapa",
    "parentPhone": "Telefon Ibu Bapa",
    "parentEmail": "E-mel Ibu Bapa",
    "parentOccupation": "Pekerjaan Ibu Bapa",
    "photo": "Foto",
    "birthCert": "Sijil Lahir",
    "diploma": "Sijil",
    "optional": "Pilihan",
    "submitApplication": "Hantar Permohonan",
    "successTitle": "Permohonan Berjaya!",
    "successMessage": "Nombor pendaftaran anda ialah:",
    "nextSteps": "Langkah Seterusnya",
    "checkStatusTitle": "Semak Status Permohonan",
    "enterRegistrationNumber": "Masukkan Nombor Pendaftaran",
    "enterEmail": "Masukkan E-mel Ibu Bapa",
    "checkNow": "Semak Sekarang",
    "notOpenYet": "PPDB Belum Dibuka",
    "notOpenMessage": "Tempoh penerimaan pelajar baru belum dibuka. Sila semak semula kemudian.",
    "closed": "PPDB Sudah Ditutup",
    "closedMessage": "Tempoh penerimaan pelajar baru telah ditutup.",
    "dashboardTitle": "Papan Pemuka PPDB",
    "totalApplicants": "Jumlah Pemohon",
    "pendingApplicants": "Menunggu",
    "approvedApplicants": "Diluluskan",
    "rejectedApplicants": "Ditolak",
    "applicationsTitle": "Senarai Pemohon",
    "applicationsSubtitle": "Urus pemohon PPDB",
    "viewDetail": "Lihat Butiran",
    "approve": "Luluskan",
    "reject": "Tolak",
    "approveApplication": "Luluskan Permohonan",
    "rejectApplication": "Tolak Permohonan",
    "rejectionReason": "Sebab Penolakan",
    "rejectionReasonPlaceholder": "Masukkan sebab penolakan...",
    "selectClass": "Pilih Kelas",
    "selectGradeLevel": "Pilih Tingkatan",
    "documents": "Dokumen",
    "viewDocument": "Lihat Dokumen",
    "settingsTitle": "Tetapan PPDB",
    "settingsSubtitle": "Urus tempoh penerimaan pelajar baru",
    "academicYear": "Tahun Akademik",
    "openDate": "Tarikh Buka",
    "closeDate": "Tarikh Tutup",
    "description": "Penerangan",
    "activate": "Aktifkan",
    "deactivate": "Nyahaktifkan",
    "active": "Aktif",
    "inactive": "Tidak Aktif",
    "createSetting": "Buat Tempoh PPDB",
    "editSetting": "Edit Tempoh PPDB",
    "noSettings": "Belum ada tetapan PPDB",
    "noApplications": "Belum ada pemohon",
    "allGrades": "Semua Tingkatan",
    "allStatus": "Semua Status",
    "registeredAt": "Tarikh Daftar",
    "reviewedAt": "Tarikh Semakan",
    "reviewedBy": "Disemak Oleh",
    "applicantInfo": "Maklumat Pemohon",
    "parentInfo": "Maklumat Ibu Bapa",
    "uploadedDocuments": "Dokumen yang Dimuat Naik"
  },
  "graduation": {
    "title": "Kelulusan",
    "subtitle": "Proses kelulusan pelajar",
    "candidates": "Calon Kelulusan",
    "selectCandidates": "Pilih Calon",
    "graduationYear": "Tahun Kelulusan",
    "batch": "Kumpulan",
    "ceremonyDate": "Tarikh Majlis",
    "ceremonyDateOptional": "Tarikh Majlis (Pilihan)",
    "processGraduation": "Proses Kelulusan",
    "confirmProcess": "Sahkan Proses Kelulusan",
    "confirmMessage": "Adakah anda pasti ingin memproses kelulusan untuk {count} pelajar yang dipilih?",
    "unpaidWarning": "Sesetengah pelajar mempunyai invois belum dibayar",
    "selectAll": "Pilih Semua",
    "deselectAll": "Nyahpilih Semua",
    "noData": "Tiada calon kelulusan",
    "filterClass": "Tapis Kelas",
    "filterGrade": "Tapis Tingkatan",
    "allClasses": "Semua Kelas",
    "allGrades": "Semua Tingkatan",
    "studentName": "Nama Pelajar",
    "class": "Kelas",
    "grade": "Tingkatan",
    "hasUnpaidInvoices": "Ada Invois Belum Dibayar",
    "processing": "Memproses...",
    "successMessage": "Kelulusan berjaya diproses untuk {count} pelajar"
  },
  "alumni": {
    "title": "Alumni",
    "subtitle": "Senarai alumni sekolah",
    "searchPlaceholder": "Cari nama alumni...",
    "filterYear": "Tapis Tahun Kelulusan",
    "filterBatch": "Tapis Kumpulan",
    "allYears": "Semua Tahun",
    "allBatches": "Semua Kumpulan",
    "noData": "Tiada data alumni",
    "studentNumber": "ID Pelajar",
    "name": "Nama",
    "batch": "Kumpulan",
    "graduationYear": "Tahun Lulus",
    "lastClass": "Kelas Terakhir",
    "export": "Eksport Alumni",
    "totalAlumni": "Jumlah Alumni",
    "detailTitle": "Butiran Alumni",
    "academicGrades": "Gred Akademik",
    "attendanceHistory": "Sejarah Kehadiran",
    "behaviorHistory": "Sejarah Tingkah Laku",
    "kpiHistory": "Sejarah KPI",
    "graduatedAt": "Tarikh Lulus",
    "ceremonyDate": "Tarikh Majlis"
  },
  "cat": {
    "title": "CAT / Peperiksaan Online",
    "subtitle": "Computer Assisted Test",
    "examsTitle": "Senarai Peperiksaan",
    "examsSubtitle": "Urus peperiksaan online",
    "createExam": "Buat Peperiksaan",
    "editExam": "Edit Peperiksaan",
    "status": {
      "draft": "Draf",
      "published": "Diterbitkan",
      "closed": "Ditutup"
    },
    "title_field": "Tajuk Peperiksaan",
    "description": "Penerangan",
    "subject": "Mata Pelajaran",
    "duration": "Tempoh (Minit)",
    "startAt": "Masa Mula",
    "endAt": "Masa Tamat",
    "participantLimit": "Had Peserta",
    "displayMode": "Mod Paparan",
    "shuffleQuestions": "Kocok Soalan",
    "shuffleOptions": "Kocok Pilihan",
    "negativeScoring": "Markah Negatif",
    "negativeScoreValue": "Nilai Markah Negatif",
    "maxViolations": "Maks Pelanggaran",
    "fullscreenRequired": "Skrin Penuh Diperlukan",
    "questionsTitle": "Urus Soalan",
    "addQuestion": "Tambah Soalan",
    "questionType": {
      "multiple_choice": "Pilihan Berganda",
      "multiple_answer": "Jawapan Berganda",
      "true_false": "Benar/Salah",
      "cloze": "Isian",
      "essay": "Esei"
    },
    "questionText": "Teks Soalan",
    "options": "Pilihan Jawapan",
    "addOption": "Tambah Pilihan",
    "correctAnswer": "Jawapan Betul",
    "score": "Markah",
    "importQuestions": "Import Soalan",
    "sessionsTitle": "Sesi Peperiksaan",
    "sessionStatus": {
      "in_progress": "Sedang Berlangsung",
      "submitted": "Selesai",
      "graded": "Sudah Dinilai",
      "expired": "Tamat Tempoh"
    },
    "studentName": "Nama Pelajar",
    "sessionScore": "Markah",
    "submittedAt": "Masa Hantar",
    "violationCount": "Pelanggaran",
    "gradeEssay": "Nilai Esei",
    "reportTitle": "Laporan Peperiksaan",
    "avgScore": "Purata Markah",
    "maxScore": "Markah Tertinggi",
    "minScore": "Markah Terendah",
    "totalParticipants": "Jumlah Peserta",
    "scoreDistribution": "Taburan Markah",
    "questionStats": "Statistik Per Soalan",
    "correctRate": "Kadar Betul",
    "livescoreTitle": "Livescore",
    "rank": "Kedudukan",
    "autoRefresh": "Auto-refresh setiap 10 saat",
    "noData": "Tiada data peperiksaan",
    "allStatus": "Semua Status",
    "publish": "Terbitkan",
    "close": "Tutup Peperiksaan",
    "myExamsTitle": "Peperiksaan Saya",
    "myExamsSubtitle": "Peperiksaan yang tersedia untuk anda",
    "examStatus": {
      "not_started": "Belum Mula",
      "ongoing": "Sedang Berlangsung",
      "finished": "Selesai"
    },
    "startExam": "Mula Peperiksaan",
    "timeRemaining": "Masa Berbaki",
    "questionNav": "Navigasi Soalan",
    "answered": "Dijawab",
    "unanswered": "Belum Dijawab",
    "flagged": "Ditandai",
    "flagQuestion": "Tandai Soalan",
    "submitExam": "Hantar Peperiksaan",
    "confirmSubmit": "Sahkan Penghantaran",
    "confirmSubmitMsg": "Anda telah menjawab {answered} daripada {total} soalan. Adakah anda pasti ingin menghantar?",
    "resultTitle": "Keputusan Peperiksaan",
    "yourScore": "Markah Anda",
    "waitingGrade": "Menunggu penilaian esei",
    "examFinished": "Peperiksaan Selesai",
    "proctoringWarning": "Pelanggaran dikesan",
    "fullscreenWarning": "Sila kekal dalam mod skrin penuh",
    "tabSwitchWarning": "Jangan tukar tab",
    "true": "Benar",
    "false": "Salah",
    "answerPlaceholder": "Tulis jawapan anda di sini...",
    "clozeAnswerPlaceholder": "Jawapan...",
    "noExams": "Tiada peperiksaan tersedia",
    "examNotStarted": "Peperiksaan belum bermula",
    "examClosed": "Peperiksaan sudah ditutup",
    "violationWarning": "Amaran: {count} pelanggaran dikesan. Had: {max}",
    "sessionExpired": "Sesi peperiksaan telah tamat",
    "autoSubmitted": "Peperiksaan dihantar automatik kerana masa tamat"
  },
  "dormitory": {
    "title": "Asrama",
    "subtitle": "Pengurusan asrama sekolah",
    "dashboardTitle": "Papan Pemuka Asrama",
    "totalBuildings": "Jumlah Bangunan",
    "totalRooms": "Jumlah Bilik",
    "availableRooms": "Bilik Tersedia",
    "partialRooms": "Bilik Separa",
    "fullRooms": "Bilik Penuh",
    "totalStudents": "Jumlah Pelajar Asrama",
    "buildingsTitle": "Bangunan Asrama",
    "buildingsSubtitle": "Urus bangunan asrama",
    "createBuilding": "Tambah Bangunan",
    "editBuilding": "Edit Bangunan",
    "buildingName": "Nama Bangunan",
    "gender": "Jantina",
    "male": "Lelaki",
    "female": "Perempuan",
    "mixed": "Campuran",
    "totalRoomsCount": "Jumlah Bilik",
    "activeOccupants": "Penghuni Aktif",
    "buildingStatus": "Status",
    "active": "Aktif",
    "inactive": "Tidak Aktif",
    "noBuildings": "Tiada bangunan asrama",
    "roomsTitle": "Bilik",
    "roomNumber": "Nombor Bilik",
    "capacity": "Kapasiti",
    "currentOccupants": "Penghuni Semasa",
    "roomType": "Jenis Bilik",
    "facilities": "Kemudahan",
    "roomStatus": {
      "available": "Tersedia",
      "partial": "Separa",
      "full": "Penuh",
      "inactive": "Tidak Aktif"
    },
    "addRoom": "Tambah Bilik",
    "editRoom": "Edit Bilik",
    "noRooms": "Tiada bilik",
    "assignmentsTitle": "Penempatan Pelajar",
    "assignmentsSubtitle": "Urus penempatan pelajar di asrama",
    "assignStudent": "Tempatkan Pelajar",
    "studentName": "Nama Pelajar",
    "building": "Bangunan",
    "room": "Bilik",
    "checkInDate": "Tarikh Masuk",
    "checkOutDate": "Tarikh Keluar",
    "moveRoom": "Pindah Bilik",
    "checkout": "Daftar Keluar",
    "noAssignments": "Tiada penempatan aktif",
    "createAssignment": "Buat Penempatan",
    "selectStudent": "Pilih Pelajar",
    "selectBuilding": "Pilih Bangunan",
    "selectRoom": "Pilih Bilik",
    "filterBuilding": "Tapis Bangunan",
    "allBuildings": "Semua Bangunan",
    "occupancyInfo": "{current}/{capacity} penghuni",
    "roomFull": "Bilik penuh",
    "confirmCheckout": "Sahkan Daftar Keluar",
    "confirmCheckoutMsg": "Adakah anda pasti ingin mendaftar keluar pelajar ini dari bilik?",
    "confirmMoveRoom": "Sahkan Pindah Bilik",
    "selectNewRoom": "Pilih Bilik Baru",
    "deleteBuilding": "Padam Bangunan",
    "deleteBuildingConfirm": "Adakah anda pasti ingin memadam bangunan ini?",
    "deleteRoom": "Padam Bilik",
    "deleteRoomConfirm": "Adakah anda pasti ingin memadam bilik ini?",
    "occupants": "Penghuni",
    "noOccupants": "Tiada penghuni aktif",
    "description": "Penerangan",
    "checkoutDate": "Tarikh Daftar Keluar",
    "checkoutSuccess": "Daftar keluar berjaya",
    "transferSuccess": "Pindah bilik berjaya",
    "assignSuccess": "Pelajar berjaya ditempatkan"
  },
  "certificates": {
    "title": "Sijil Digital",
    "generate": "Jana Sijil",
    "verify": "Sahkan Sijil",
    "download": "Muat Turun Sijil",
    "type": "Jenis Sijil",
    "graduation": "Graduasi",
    "catExam": "Peperiksaan CAT",
    "issuedAt": "Tarikh Dikeluarkan",
    "holder": "Pemegang Sijil",
    "valid": "Sijil Sah",
    "invalid": "Sijil Tidak Sah",
    "notFound": "Sijil tidak sah atau tidak dijumpai"
  },
  "questionBank": {
    "title": "Bank Soalan",
    "create": "Buat Soalan Baru",
    "import": "Import Soalan",
    "downloadTemplate": "Muat Turun Templat",
    "addToExam": "Tambah ke Peperiksaan",
    "difficulty": {
      "easy": "Mudah",
      "medium": "Sederhana",
      "hard": "Sukar"
    },
    "type": {
      "multiple_choice": "Pilihan Berganda",
      "multiple_answer": "Jawapan Berganda",
      "true_false": "Benar/Salah",
      "cloze": "Isian",
      "essay": "Esei"
    },
    "topic": "Topik",
    "competency": "Kompetensi",
    "importResult": "Hasil Import",
    "imported": "Berjaya diimport",
    "failed": "Gagal"
  },
  "dormitoryPermit": {
    "title": "Permit Asrama",
    "apply": "Mohon Permit",
    "overnight": "Cuti Malam",
    "warden": "Warden Asrama",
    "permitDate": "Tarikh Permit",
    "reason": "Sebab",
    "status": {
      "pending": "Menunggu",
      "approved": "Diluluskan",
      "rejected": "Ditolak"
    },
    "approve": "Lulus",
    "reject": "Tolak",
    "rejectionReason": "Sebab Penolakan",
    "noActiveAssignment": "Tiada penempatan asrama aktif"
  },
  "payment": {
    "title": "Pembayaran",
    "xenditConfig": "Konfigurasi Xendit",
    "apiKey": "Kunci API",
    "webhookSecret": "Rahsia Webhook",
    "mode": "Mod",
    "sandbox": "Kotak Pasir",
    "production": "Pengeluaran",
    "sandboxMode": "MOD KOTAK PASIR",
    "validateApiKey": "Sahkan Kunci API",
    "validating": "Mengesahkan...",
    "apiKeyValid": "Kunci API sah",
    "apiKeyInvalid": "Kunci API tidak sah",
    "selectMethod": "Pilih Kaedah Pembayaran",
    "virtualAccount": "Akaun Maya",
    "qris": "QRIS",
    "eWallet": "Dompet Elektronik",
    "paymentSuccess": "Pembayaran Berjaya",
    "paymentPending": "Menunggu Pembayaran",
    "paymentFailed": "Pembayaran Gagal"
  },
  "auditLog": {
    "title": "Log Audit",
    "action": "Tindakan",
    "tableName": "Nama Jadual",
    "recordId": "ID Rekod",
    "oldValues": "Nilai Lama",
    "newValues": "Nilai Baru",
    "ipAddress": "Alamat IP",
    "export": "Eksport Log",
    "archive": "Log Arkib",
    "activeLog": "Log Aktif",
    "archiveLog": "Log Arkib",
    "noLogs": "Tiada log audit"
  },
  "classTransfer": {
    "title": "Pertukaran Kelas",
    "subtitle": "Urus pertukaran kelas pelajar",
    "requestTransfer": "Mohon Pertukaran",
    "requestSubtitle": "Isi butiran pertukaran kelas",
    "submitRequest": "Hantar Permohonan",
    "fromClass": "Dari Kelas",
    "toClass": "Ke Kelas",
    "currentClass": "Kelas Semasa",
    "transferDate": "Tarikh Pertukaran",
    "reason": "Sebab",
    "reasonPlaceholder": "Sebab pertukaran kelas...",
    "approve": "Luluskan",
    "reject": "Tolak",
    "confirmApprove": "Luluskan Pertukaran Kelas",
    "confirmReject": "Tolak Pertukaran Kelas",
    "approveSuccess": "Pertukaran kelas berjaya diluluskan",
    "rejectSuccess": "Pertukaran kelas berjaya ditolak",
    "requestSuccess": "Permohonan pertukaran kelas berjaya dihantar",
    "rejectionReason": "Sebab Penolakan",
    "rejectionReasonPlaceholder": "Masukkan sebab penolakan...",
    "rejectionReasonRequired": "Sebab penolakan diperlukan",
    "allStatus": "Semua Status",
    "searchPlaceholder": "Cari nama atau ID pelajar...",
    "selectStudent": "Pilih Pelajar",
    "selectTargetClass": "Pilih Kelas Sasaran",
    "noData": "Tiada data pertukaran kelas",
    "detail": "Butiran Pertukaran",
    "requestedBy": "Dimohon Oleh",
    "processedBy": "Diproses Oleh",
    "processedAt": "Diproses Pada",
    "viewHistory": "Lihat Sejarah Kelas",
    "historyTitle": "Sejarah Pertukaran Kelas",
    "noHistory": "Tiada sejarah pertukaran kelas",
    "status": {
      "pending": "Menunggu",
      "approved": "Diluluskan",
      "rejected": "Ditolak"
    }
  },
  "workSchedule": {
    "title": "Jadual Waktu Kerja Individual",
    "subtitle": "Tetapkan waktu kerja harian untuk guru ini",
    "manage": "Urus Waktu Kerja",
    "teacherDetailDesc": "Klik butang di atas untuk menetapkan waktu kerja individual guru ini mengikut hari.",
    "infoText": "Jadual yang ditetapkan di sini akan digunakan semasa guru mendaftar masuk. Jika tidak ditetapkan, sistem akan menggunakan lalai global ({default}).",
    "day": "Hari",
    "startTime": "Masa Mula",
    "endTime": "Masa Tamat",
    "active": "Aktif",
    "save": "Simpan Jadual",
    "saveSuccess": "Jadual waktu kerja berjaya disimpan",
    "applyToAll": "Guna pada Semua Hari",
    "applyWorkdays": "Guna pada Hari Bekerja (Isn-Jum)",
    "appliedToAll": "Jadual digunakan pada semua hari",
    "appliedWorkdays": "Jadual digunakan pada hari bekerja",
    "setMondayFirst": "Tetapkan jadual Isnin dahulu",
    "summary": "Ringkasan Jadual Aktif",
    "noScheduleSet": "Belum ada jadual ditetapkan"
  },
  "studentImport": {
    "title": "Import Pelajar",
    "subtitle": "Import data pelajar secara pukal dari fail Excel",
    "infoTitle": "Cara Import Pelajar",
    "info1": "Muat turun templat Excel dan isi data pelajar",
    "info2": "Lajur bertanda * wajib diisi",
    "info3": "Gunakan mod Sahkan Sahaja untuk memeriksa data sebelum import",
    "info4": "Maksimum 5MB setiap fail, format .xlsx atau .xls",
    "step1Title": "Muat Turun Templat",
    "step1Desc": "Muat turun templat Excel dengan format lajur yang betul",
    "step2Title": "Isi Data",
    "step2Desc": "Isi data pelajar bermula dari baris ke-4",
    "step3Title": "Muat Naik & Import",
    "step3Desc": "Muat naik fail yang telah diisi dan klik butang Import",
    "downloadTemplate": "Muat Turun Templat Excel",
    "templateDownloaded": "Templat berjaya dimuat turun",
    "templateDownloadFailed": "Gagal memuat turun templat",
    "uploadFile": "Muat Naik Fail Excel",
    "acceptedFormats": "Format: .xlsx, .xls",
    "maxSize": "Maks. 5MB",
    "noFileSelected": "Sila pilih fail dahulu",
    "invalidFileType": "Format fail tidak sah. Gunakan .xlsx atau .xls",
    "fileTooLarge": "Saiz fail melebihi 5MB",
    "dryRunLabel": "Sahkan Sahaja (Tidak Import)",
    "dryRunDesc": "Semak data tanpa menyimpan ke pangkalan data",
    "validateOnly": "Sahkan Sahaja",
    "startImport": "Mulakan Import",
    "validating": "Mengesahkan...",
    "importing": "Mengimport...",
    "validationComplete": "Pengesahan selesai",
    "importSuccess": "{count} pelajar berjaya diimport",
    "importFailed": "Tiada pelajar yang berjaya diimport",
    "validationResult": "Keputusan Pengesahan",
    "importResult": "Keputusan Import",
    "totalRows": "Jumlah Baris",
    "wouldImport": "Akan Diimport",
    "successCount": "Berjaya",
    "failedCount": "Gagal",
    "allRowsValid": "Semua baris sah, sedia untuk diimport",
    "allImported": "Semua pelajar berjaya diimport",
    "errorDetails": "Butiran Ralat",
    "rows": "baris",
    "rowNumber": "Baris",
    "viewStudents": "Lihat Senarai Pelajar",
    "importMore": "Import Lagi"
  }
}