Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions lang/en/archives.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
<?php

return [
// Index
'head' => 'Document archives',
'title' => 'Document archives',
'subtitle_docs' => ':count archived document(s)',
'trashed_suffix' => ' · :count in trash',
'view_active' => 'View active',
'trash' => 'Trash',
'archive_doc' => 'Archive a document',
'search' => 'Search',
'search_ph' => 'Title, reference…',
'category' => 'Category',
'all_categories' => 'All',
'from' => 'From',
'to' => 'To',
'reset' => 'Reset',
'th_reference' => 'Reference',
'th_document' => 'Document',
'th_tags' => 'Tags',
'th_linked' => 'Linked to',
'th_size' => 'Size',
'th_archived' => 'Archived',
'th_actions' => 'Actions',
'empty_trash' => 'Trash is empty.',
'empty' => 'No archived document.',
'restore' => 'Restore',
'delete_forever' => 'Delete permanently',
'download' => 'Download',
'edit' => 'Edit',
'delete' => 'Delete',
'prev' => 'Previous',
'next' => 'Next',
'page_of' => 'Page :current / :last',
'edit_title' => 'Edit document',
'create_title' => 'Archive a document',
'edit_desc' => 'Update the metadata and tags.',
'create_desc' => 'Add a file to the document vault with its metadata and tags.',
'f_title' => 'Title',
'f_category' => 'Category',
'retention' => 'Retain until',
'description' => 'Description',
'file' => 'File',
'tags' => 'Tags',
'add_tag_ph' => 'Add a tag then Enter…',
'linked_to' => 'Linked to',
'link_none' => 'None',
'link_classroom' => 'Class',
'link_student' => 'Student (ID number)',
'classroom' => 'Class',
'choose' => 'Choose',
'student_matricule' => 'Student ID number',
'cancel' => 'Cancel',
'save' => 'Save',
'archive' => 'Archive',
'delete_forever_q' => 'Delete permanently?',
'delete_forever_desc' => 'The file ":title" will be removed from storage. This action is irreversible.',

// Tags
'tags_page' => [
'head' => 'Archive tags',
'title' => 'Archive tags',
'subtitle' => 'Organize archived documents by reusable keywords.',
'new_tag' => 'New tag',
'total' => 'Total tags',
'search_ph' => 'Search a tag by name...',
'th_tag' => 'Tag',
'th_documents' => 'Documents',
'th_color' => 'Color',
'th_actions' => 'Actions',
'documents_count' => ':count document(s)',
'change_color' => 'Change color',
'color_aria' => 'Color :color',
'delete' => 'Delete',
'empty' => 'No tag found',
'showing' => 'Showing :from to :to of :total',
'new_tag_desc' => 'A reusable keyword to classify archived documents.',
'name' => 'Tag name',
'name_ph' => 'e.g. Contract, Inspection…',
'color' => 'Color',
'preview' => 'Preview:',
'default_name' => 'Tag name',
'cancel' => 'Cancel',
'create' => 'Create',
'delete_q' => 'Delete this tag?',
'delete_desc' => 'The tag will be removed from all associated documents. The documents are not deleted.',
],
];
36 changes: 36 additions & 0 deletions lang/en/errors.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php

return [
'dashboard' => 'Dashboard',
'home' => 'Back to home',
'previous' => 'Previous page',

'fallback' => [
'title' => 'An error occurred',
'message' => 'Something went wrong. Please try again.',
],
'403' => [
'title' => 'Access denied',
'message' => 'You do not have permission to access this page.',
],
'404' => [
'title' => 'Page not found',
'message' => 'The page you are looking for does not exist or has been moved.',
],
'419' => [
'title' => 'Session expired',
'message' => 'Your session has expired. Please sign in again, then retry.',
],
'429' => [
'title' => 'Too many requests',
'message' => 'You have made too many requests. Please wait a moment before trying again.',
],
'500' => [
'title' => 'Server error',
'message' => 'An unexpected error occurred. Try again in a moment; if the problem persists, contact your school administrator.',
],
'503' => [
'title' => 'Under maintenance',
'message' => 'The service is temporarily unavailable. Please come back in a few moments.',
],
];
169 changes: 169 additions & 0 deletions lang/en/statistiques.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
<?php

return [
'title' => 'Statistics',
'subtitle' => 'School indicators — enrollment, finances and success.',
'year_ph' => 'Year',
'class_ph' => 'Class',
'gender_ph' => 'Gender',
'all_classes' => 'All classes',
'all' => 'All',
'boys' => 'Boys',
'girls' => 'Girls',
'other' => 'Other',
'active_suffix' => ' · active',
'all_cycles' => 'All',
'sort' => 'Sort',
'sort_level' => 'By level',
'sort_headcount' => 'By headcount',
'sort_amount' => 'By amount',
'sort_rate' => 'By rate',
'years_old' => ':value yrs',

// Tabs
'tab_effectifs' => 'Enrollment & parity',
'tab_finances' => 'Finances & recovery',
'tab_reussite' => 'Success & exams',
'tab_encadrement' => 'Supervision',
'tab_assiduite' => 'Attendance',
'tab_comparaisons' => 'Comparisons',
'tab_geographie' => 'Geography',

// Enrollment
'kpi_total' => 'Total headcount',
'kpi_total_sub' => ':boys B · :girls G',
'kpi_ips' => 'Parity index (GPI)',
'kpi_ips_sub' => ':pct% girls',
'kpi_redoublement' => 'Repetition rate',
'kpi_promotion_sub' => 'Promotion :pct%',
'kpi_abandon' => 'Dropout rate',
'kpi_age_sub' => 'Average age :age',
'card_by_class' => 'Headcount by class (boys / girls)',
'card_by_gender' => 'Breakdown by gender',
'card_age_pyramid' => 'Age pyramid (boys / girls)',
'overage_label' => 'Over-age rate (≥ +:threshold yrs)',
'overage_hint' => 'Set the expected age on classes to enable this calculation.',
'card_city' => 'Geographic origin (top cities, by gender)',
'not_filled' => 'Not filled in',

// Finances
'kpi_billed' => 'Total billed',
'kpi_billed_sub' => ':count invoices',
'kpi_collected' => 'Collected',
'kpi_recovery' => 'Recovery rate',
'kpi_remaining_sub' => ':amount remaining',
'kpi_unpaid' => 'Unpaid',
'kpi_unpaid_sub' => ':count partial',
'card_monthly' => 'Monthly collections',
'card_methods' => 'Payment methods',
'recovery_by_class' => 'Recovery by class',
'card_billed_split' => 'Billed: collected / remaining',
'series_collected' => 'Collected',
'series_remaining' => 'Remaining',
'card_recovery_rate' => 'Recovery rate by class',
'rate_label' => 'Rate',
'avg_prefix' => 'avg. :rate%',
'legend_high' => '≥ 80 %',
'legend_mid' => '60–79 %',
'legend_low' => '< 60 %',
'card_detail' => 'Detail by class',
'th_class' => 'Class',
'th_billed' => 'Billed',
'th_collected' => 'Collected',
'th_remaining' => 'Remaining',
'th_rate' => 'Rate',
'method_cash' => 'Cash',
'method_mobile_money' => 'Mobile Money',
'method_bank_transfer' => 'Transfer',
'method_cheque' => 'Cheque',

// Success
'kpi_bulletins' => 'Validated reports',
'kpi_average' => 'Overall average',
'kpi_passrate' => 'Internal pass rate (≥10)',
'kpi_admission' => 'Official exam admission',
'card_mentions' => 'Distinction breakdown',
'mention_passable' => 'Pass',
'mention_assez_bien' => 'Fairly good',
'mention_bien' => 'Good',
'mention_tres_bien' => 'Very good',
'card_exams' => 'Official exams (CEPD / BEPC / BAC)',
'no_exams' => 'No official exam for this year',
'th_exam' => 'Exam',
'th_registered' => 'Registered',
'th_admitted' => 'Admitted',
'th_admission' => 'Admission',

// Supervision
'kpi_rem' => 'Student / teacher ratio',
'kpi_rem_sub' => ':count teachers',
'kpi_students' => 'Total headcount',
'kpi_avg_class' => 'Average class size',
'kpi_avg_class_sub' => ':count classes',
'kpi_overcrowded' => 'Overcrowded classes',
'kpi_overcrowded_sub' => '> :threshold students',
'card_class_sizes' => 'Headcount by class (red = overcrowded)',
'series_students' => 'Students',
'card_overcrowded' => 'Overcrowded classes to watch',
'students_count' => ':count students',

// Attendance
'no_attendance' => 'No attendance data for this period.',
'kpi_presence' => 'Attendance rate',
'kpi_presence_sub' => ':count present',
'kpi_absence' => 'Absence rate',
'kpi_absence_sub' => ':count absences',
'kpi_late' => 'Lateness rate',
'kpi_late_sub' => ':count late',
'kpi_chronic' => 'Chronic absenteeism',
'kpi_chronic_sub' => '> :threshold absences',
'card_by_period' => 'Attendance by term',
'series_present' => 'Present',
'series_absent' => 'Absent',
'series_late' => 'Late',
'card_absence_by_class' => 'Absence rate by class',

// Comparisons
'need_two_years' => 'Trends become meaningful with at least two academic years filled in.',
'kpi_effectif' => 'Headcount',
'kpi_reussite' => 'Success',
'kpi_recouvrement' => 'Recovery',
'kpi_abandon_short' => 'Dropout',
'card_effectif_evol' => 'Headcount trend',
'series_effectif' => 'Headcount',
'card_performance' => 'Performance (%)',
'series_reussite' => 'Success',
'series_recouvrement' => 'Recovery',
'card_deperdition' => 'School wastage (%)',
'series_redoublement' => 'Repetition',
'series_abandon' => 'Dropout',
'deperdition_hint' => 'The current year is not plotted: end-of-year decisions (repetition, dropout) are not yet finalized.',
'card_comparison' => 'Comparison table',
'th_year' => 'Year',
'th_effectif' => 'Headcount',
'th_girls_pct' => '% girls',
'th_redoubl' => 'Repet.',
'th_abandon' => 'Dropout',
'th_recouvr' => 'Recov.',
'th_reussite' => 'Success',
'in_progress' => 'in progress',

// Geography
'coverage_note_1' => 'Origin filled in for',
'coverage_note_2' => 'of students',
'coverage_note_3' => 'Complete the region/prefecture on the student record to refine.',
'no_geo' => 'No geographic origin filled in.',
'kpi_coverage' => 'Coverage',
'kpi_coverage_sub' => ':localized / :total students',
'kpi_grand_lome' => 'Greater Lomé',
'kpi_grand_lome_sub' => 'Golfe + Agoè-Nyivé',
'kpi_regions' => 'Regions',
'kpi_regions_sub' => 'represented',
'kpi_prefectures' => 'Prefectures',
'kpi_prefectures_sub' => 'of origin',
'card_origin' => 'Student origin — regions and prefectures',
'students_tooltip' => ':value students',
'headcount_label' => 'Headcount',
'shade_note' => '· shade = prefecture headcount',
'card_by_region' => 'Headcount by region',
];
34 changes: 34 additions & 0 deletions lang/en/welcome.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

return [
'head' => 'Dalibi — School management',
'dashboard' => 'Dashboard',
'logout' => 'Log out',
'login' => 'Sign in',
'hello' => 'Hello',
'welcome_to' => 'Welcome to',
'subtitle_authed' => 'Choose a module to get started.',
'subtitle_guest' => 'Sign in to access your school\'s modules.',
'no_modules' => 'No module accessible with your profile.',
'open' => 'Open',
'footer' => 'Dalibi — Open source school management software for Africa.',

'modules' => [
'students' => ['title' => 'Students', 'desc' => 'Enrollments, records and headcounts'],
'bulletins' => ['title' => 'Grades & Reports', 'desc' => 'Grade entry and report cards'],
'exams' => ['title' => 'Exams', 'desc' => 'Assessments and official exams'],
'attendances' => ['title' => 'Attendance', 'desc' => 'Roll call and attendance tracking'],
'accounting' => ['title' => 'Accounting', 'desc' => 'Tuition, payments and cash'],
'payroll' => ['title' => 'Staff & Payroll', 'desc' => 'Employees, pay runs and payslips'],
'archives' => ['title' => 'Documents & Archives', 'desc' => 'Certificates and archiving'],
'statistics' => ['title' => 'Statistics', 'desc' => 'Indicators and steering'],
'calendar' => ['title' => 'Calendar', 'desc' => 'School year events'],
'timetable' => ['title' => 'Timetable', 'desc' => 'Weekly grid per class'],
'scholarships' => ['title' => 'Scholarships', 'desc' => 'Student scholarships and aid'],
'note_reclamations' => ['title' => 'Grade appeals', 'desc' => 'Grade requests and reviews'],
'absence_permissions' => ['title' => 'Absence permissions', 'desc' => 'Requests and supporting documents'],
'portal' => ['title' => 'Portal access', 'desc' => 'Parent and student accounts'],
'users' => ['title' => 'Users', 'desc' => 'Staff accounts and roles'],
'audit' => ['title' => 'Audit log', 'desc' => 'Action traceability'],
],
];
Loading
Loading