<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.

/**
 * English language strings for block_mwa_dashboard.
 *
 * @package    block_mwa_dashboard
 * @copyright  2026 Bruno Porto
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

$string['pluginname'] = 'MWA Analytics Dashboard';
$string['mwa_dashboard:view'] = 'View analytics dashboard';
$string['mwa_dashboard:addinstance'] = 'Add a new MWA Dashboard block';
$string['mwa_dashboard:myaddinstance'] = 'Add MWA Dashboard to My home';
$string['messageprovider:intervention'] = 'Pedagogical intervention messages';
$string['blockintro'] = 'Engagement analytics, dropout prediction, and AI-powered pedagogical intervention.';
$string['opendashboard'] = 'Open Dashboard';
$string['nopermission'] = 'You do not have permission to view this dashboard.';
$string['error_dashboardnotfound'] = 'Dashboard file not found. Please reinstall the plugin.';
$string['error_unknownaction'] = 'Unknown action requested.';
$string['dashboard_title'] = 'MWA Analytics Dashboard';
$string['brand_subtitle'] = 'WEB ANALYTICS';
$string['loading_title'] = 'Loading course data...';
$string['loading_waiting'] = 'Waiting for Moodle data';
$string['loading_connecting'] = 'Connecting to Moodle';
$string['loading_retry'] = 'Try again';
$string['search_student'] = 'Search student';
$string['button_heatmap'] = 'Heatmap';
$string['button_mark_seen'] = 'Mark as seen';
$string['nav_today'] = 'Today';
$string['nav_students'] = 'Students';
$string['nav_content'] = 'Content';
$string['nav_analysis'] = 'Analysis';
$string['nav_ai'] = 'AI';
$string['nav_report'] = 'Report';
$string['nav_action_center'] = 'Action Center';
$string['nav_alerts'] = 'Alerts';
$string['nav_class_list'] = 'Class List';
$string['nav_student_profile'] = 'Student Profile';
$string['nav_grades'] = 'Grades';
$string['nav_activities'] = 'Activities';
$string['nav_content_analysis'] = 'Content Analysis';
$string['nav_access_heatmap'] = 'Access Heatmap';
$string['nav_engagement'] = 'Engagement Prediction';
$string['nav_personalised_plan'] = 'Personalised Plan';
$string['nav_chat'] = 'Chat with Class';
$string['nav_contact_report'] = 'Contact Report';
$string['nav_summary_report'] = 'Summary Report';
$string['overview_actions_prefix'] = 'You have';
$string['overview_actions_suffix'] = 'actions requiring attention.';
$string['overview_subtitle'] = 'Data loaded from Moodle logs and gradebook.';
$string['updated_now'] = 'Updated now';
$string['urgent'] = 'Urgent';
$string['attention'] = 'Attention';
$string['opportunity'] = 'Opportunity';
$string['urgent_desc'] = 'Students with low score or weak participation need immediate follow-up.';
$string['attention_desc'] = 'Students are active, but still need encouragement or targeted support.';
$string['opportunity_desc'] = 'Use high-engagement students as references for peer support and course insights.';
$string['no_critical_students'] = 'No students are in critical condition right now.';
$string['good_engagement'] = 'All activities have good engagement.';
$string['no_high_engagement'] = 'No high-engagement group identified yet.';
$string['send_email_ai'] = '✉️ Message';
$string['analyse_activities'] = 'Analyse activities';
$string['view_list'] = 'View list';
$string['view_profiles'] = 'View profiles';
$string['critical_alert_title'] = 'Critical students need attention';
$string['priority_students'] = 'Priority students';
$string['no_priority_students'] = 'No priority students at the moment.';
$string['button_view_students'] = 'View students';
$string['button_view_prediction'] = 'View prediction';
$string['engagement_index'] = 'Engagement Index';
$string['engagement_desc'] = 'Class engagement score based on participation, activity coverage and grades.';
$string['legend_low'] = 'Low <40';
$string['legend_average'] = 'Average 40–69';
$string['legend_high'] = 'High ≥70';
$string['event_distribution'] = 'Event Distribution';
$string['engagement_score'] = 'Engagement score';
$string['alerts_label'] = 'Alerts';
$string['alerts_title'] = 'Detected risk patterns';
$string['alerts_subtitle'] = 'Students and activities that require attention.';
$string['students_label'] = 'Students';
$string['class_list'] = 'Class List';
$string['class_list_subtitle'] = 'Participation, engagement and risk indicators by student.';
$string['students_table_title'] = 'Students table';
$string['grades_label'] = 'Grades';
$string['grade_analysis'] = 'Grade Analysis';
$string['grades_subtitle'] = 'Gradebook data and completion indicators.';
$string['gradebook_title'] = 'Gradebook';
$string['content_label'] = 'Content';
$string['activities_title'] = 'Activities';
$string['activities_subtitle'] = 'Access and engagement by course activity.';
$string['activity_access'] = 'Activity access';
$string['analysis_label'] = 'Analysis';
$string['heatmap_title'] = 'Access Heatmap';
$string['heatmap_subtitle'] = 'Distribution of accesses by day and hour.';
$string['day_hour'] = 'Day × hour';
$string['report_label'] = 'Report';
$string['summary_report'] = 'Summary Report';
$string['summary_subtitle'] = 'General overview generated from Moodle data.';
$string['report_title'] = 'Report';
$string['placeholder_student_profile'] = 'Student profile area. Functionality will be added next.';
$string['placeholder_content_analysis'] = 'Content analysis area. Functionality will be added next.';
$string['placeholder_engagement'] = 'Engagement prediction area. Functionality will be added next.';
$string['placeholder_personalised'] = 'Personalised plan area. Functionality will be added next.';
$string['placeholder_chat'] = 'Class chat area. Functionality will be added next.';
$string['feature_placeholder'] = 'Feature placeholder';
$string['feature_coming_soon'] = 'This feature will be implemented in the next steps.';
$string['no_data'] = 'No data available.';
$string['students_in_log'] = 'Students in log';
$string['active_students'] = 'active students';
$string['total_interactions'] = 'Total interactions';
$string['moodle_events'] = 'Moodle events';
$string['average_student'] = 'Average / student';
$string['interactions'] = 'interactions';
$string['at_risk'] = 'At risk';
$string['score_below_40'] = 'score below 40';
$string['grade_average'] = 'Grade average';
$string['of_100_points'] = 'of 100 points';
$string['no_grade_data'] = 'No grade data';
$string['low_participation'] = 'Low participation';
$string['average_participation'] = 'Average participation';
$string['high_participation'] = 'High participation';
$string['risk_high'] = 'High risk';
$string['risk_medium'] = 'Medium risk';
$string['risk_low'] = 'Low risk';
$string['student'] = 'Student';
$string['students'] = 'students';
$string['email'] = 'Email';
$string['coverage'] = 'Coverage';
$string['grade'] = 'Grade';
$string['score'] = 'Score';
$string['risk'] = 'Risk';
$string['activity'] = 'Activity';
$string['type'] = 'Type';
$string['accesses'] = 'Accesses';
$string['accesses_label'] = 'Accesses';
$string['unique_students'] = 'Unique students';
$string['no_grade_data_available'] = 'No grade data available.';
$string['no_urgent_action'] = 'No urgent action at the moment.';
$string['no_risk_patterns'] = 'No risk patterns detected.';
$string['immediate_intervention'] = 'Immediate intervention';
$string['monitor_preventive'] = 'Preventive monitoring';
$string['day'] = 'Day';
$string['total_students'] = 'Total students';
$string['activities_detected'] = 'Activities detected';
$string['engagement_groups'] = 'Engagement groups';
$string['low'] = 'Low';
$string['average'] = 'Average';
$string['high'] = 'High';
$string['report_note'] = 'This report is generated from Moodle logs and gradebook data.';
$string['actions_marked_seen'] = 'Actions marked as seen.';
$string['could_not_parse'] = 'Could not parse the uploaded file.';
$string['data_load_failed'] = 'Could not load Moodle data.';
$string['standalone_waiting'] = 'Upload files or wait for Moodle data.';
$string['unknown_student'] = 'Unknown student';
$string['unknown_activity'] = 'Unknown activity';
$string['other'] = 'Other';
$string['open'] = 'Open';
$string['no_email'] = 'No email';
$string['sun'] = 'Sun';
$string['mon'] = 'Mon';
$string['tue'] = 'Tue';
$string['wed'] = 'Wed';
$string['thu'] = 'Thu';
$string['fri'] = 'Fri';
$string['sat'] = 'Sat';
$string['grades_col_firstname'] = 'First name';
$string['grades_col_lastname'] = 'Last name';
$string['grades_col_email'] = 'Email';
$string['grades_col_activity'] = 'Activity {$a->seq} - {$a->name} (Grade)';
$string['grades_col_total'] = 'Course total (Grade)';
$string['privacy:metadata'] = 'The MWA Dashboard plugin stores a subset of course events for analytics.';
$string['privacy:metadata:log'] = 'Stores a subset of course events for analytics.';
$string['privacy:metadata:log:userid'] = 'The ID of the user who triggered the event.';
$string['privacy:metadata:log:courseid'] = 'The ID of the course where the event occurred.';
$string['privacy:metadata:log:component'] = 'The Moodle component that generated the event.';
$string['privacy:metadata:log:action'] = 'The action performed.';
$string['privacy:metadata:log:ip'] = 'The IP address of the user at the time of the event.';
$string['privacy:metadata:log:timecreated'] = 'The time when the event occurred.';
$string['priority_actions'] = 'Priority students';

$string['ai_insight'] = 'AI Insight';
$string['peak_at'] = 'Peak at';
$string['peak_desc'] = 'Best communication window detected from Moodle activity logs.';
$string['no_peak_desc'] = 'No access peak identified yet.';
$string['view_heatmap'] = 'View heatmap';
$string['urgent_insight'] = 'Direct contact in the first week of inactivity tends to increase return rates.';
$string['attention_insight'] = 'Activities with low reach can indicate unclear instructions or misplaced content.';
$string['opportunity_insight'] = 'Schedule announcements and new content close to the class access peak.';
// Clean Action Center strings.
$string['action_center_title'] = 'Action Center';
$string['action_center_subtitle'] = 'Data loaded from Moodle logs and gradebook.';
$string['weekly_retention_curve'] = 'Weekly retention curve';
$string['unique_active_students_week'] = 'Unique active students per week';
$string['students_need_attention'] = 'Students who need attention';
$string['ordered_by_urgency'] = 'Ordered by urgency (dropout + absence)';
$string['select_all'] = 'Select all';
$string['bulk_email'] = 'Mensagem';
$string['ai_prediction_explanation'] = 'AI prediction — explanation';
$string['ai_click_open_hint'] = 'Click Open on a student to see the risk explanation';
$string['ai_student_risk_summary'] = 'This explanation uses Moodle access, grade and participation signals to indicate why this student needs attention.';
$string['this_week'] = 'This week';
$string['one_week_ago'] = '1w ago';
$string['weeks_ago'] = 'w ago';
$string['bulk_email_placeholder'] = 'Bulk email will be connected in a later step.';
$string['risk_critical'] = 'Critical';
$string['ai_risk'] = 'AI risk';
$string['last_access'] = 'Last access';
$string['no_recent_access'] = 'No recent access';

// ── Smart Alerts tab ──
$string['alerts_page_title']        = '🔔 Alerts';
$string['alerts_page_subtitle']     = 'Risk patterns detected automatically from access data';
$string['alerts_no_data']           = 'No alerts detected in the current data.';

// KPI labels
$string['alert_kpi_viu_label']      = 'Viewed, not submitted';
$string['alert_kpi_viu_delta']      = 'intent without delivery';
$string['alert_kpi_viu_tip']        = 'Students who accessed the assignment form but never submitted. A reminder can fix this.';
$string['alert_kpi_queda_label']    = 'Sharp drop';
$string['alert_kpi_queda_delta']    = 'week over week';
$string['alert_kpi_queda_tip']      = 'Drop ≥60% in accesses between consecutive weeks.';
$string['alert_kpi_fantasma_label'] = 'Ghosts';
$string['alert_kpi_fantasma_delta'] = 'vanished early';
$string['alert_kpi_fantasma_tip']   = 'Active at the start, then completely disappeared.';
$string['alert_kpi_simbol_label']   = 'Symbolic access';
$string['alert_kpi_simbol_delta']   = '≤2 active days';
$string['alert_kpi_simbol_tip']     = 'Enrolled but accessed on 2 or fewer distinct days.';
$string['alert_kpi_reat_label']     = 'Reactivated';
$string['alert_kpi_reat_delta']     = 'returned recently';
$string['alert_kpi_reat_tip']       = 'Inactive for 10+ days and returned in the last 5 days.';
$string['alert_kpi_madru_label']    = 'Night owls';
$string['alert_kpi_madru_delta']    = '+45% accesses 0h–5h';
$string['alert_kpi_madru_tip']      = 'More than 45% of accesses concentrated between 0h and 5h.';

// Block titles
$string['alert_block_viu_title']    = 'Viewed but not submitted';
$string['alert_block_viu_desc']     = '{n} student(s) viewed the submission form but never submitted. High intent, zero delivery.';
$string['alert_block_viu_tip']      = 'High priority: these students were ready to submit. A personal reminder can reverse the situation before the deadline.';
$string['alert_block_queda_title']  = 'Sharp drop in access';
$string['alert_block_queda_desc']   = '{n} student(s) had a drop of more than 60% in accesses compared to the previous week.';
$string['alert_block_queda_tip']    = 'May indicate difficulty with content, external overload or discouragement. Preventive contact recommended.';
$string['alert_block_simbol_title'] = 'Symbolic presence';
$string['alert_block_simbol_desc']  = '{n} student(s) accessed the course on only 1 or 2 days in the entire period.';
$string['alert_block_simbol_tip']   = 'Maximum dropout risk. These students never developed an access habit.';
$string['alert_block_ghost_title']  = 'Early ghosts';
$string['alert_block_ghost_desc']   = '{n} student(s) were active in the first weeks and then completely disappeared.';
$string['alert_block_ghost_tip']    = 'Classic early dropout pattern. The longer without contact, the lower the chance of return.';
$string['alert_block_reat_title']   = 'Reactivation detected — opportunity window';
$string['alert_block_reat_desc']    = '{n} student(s) returned to access after a long period of inactivity.';
$string['alert_block_reat_tip']     = 'This is the ideal moment for positive reinforcement and re-engagement. Do not let this window close.';
$string['alert_block_madru_title']  = 'Night owl pattern';
$string['alert_block_madru_desc']   = '{n} student(s) concentrate more than 45% of accesses between 0h and 5h.';
$string['alert_block_madru_tip']    = 'May indicate difficulty balancing work or family responsibilities. Consider flexible deadlines or specific support.';

// Buttons and extras
$string['alert_email_all']          = 'Email all';
$string['alert_view_prediction']    = 'View prediction →';
$string['alert_see_more']           = '+{n} more';
$string['alert_see_less']           = 'see less';
$string['alert_extra_queda']        = '{n}% drop';
$string['alert_extra_sumiu']        = 'gone {n}d';
$string['alert_extra_dias']         = '{n} day(s) active';
$string['alert_extra_madru']        = '{n}% at dawn';
$string['alert_extra_ausente']      = 'absent {n}d, returned';

// ── Class List tab ──
$string['cl_sort_interactions']   = '↓ Interactions';
$string['cl_sort_alpha']          = 'A–Z Name';
$string['cl_sort_ago']            = '↑ Days without access';
$string['cl_sort_participation']  = '↓ Participation';
$string['cl_sort_time']           = '⏱ Total time';
$string['cl_view_activities']     = 'View activities';
$string['cl_view_participation']  = 'View participation';
$string['cl_search_placeholder']  = '🔍 Search student...';
$string['cl_th_last_access']      = 'Last access';
$string['cl_th_days_without']     = 'Days without access';
$string['cl_th_participation']    = 'Course participation';
$string['cl_th_deliveries']       = 'Deliveries per activity';
$string['cl_th_total_time']       = 'Total time';
$string['cl_open_profile']        = 'Open profile';
$string['cl_result']              = 'result';
$string['cl_no_grades_hint']      = 'Load grades to see activities';
$string['cl_no_grade_for_student']= 'No grade data';
$string['cl_no_activities_found'] = 'No activities mapped';

// ── Student Profile tab ──
$string['sp_page_subtitle']          = 'Individual detailed analysis';
$string['sp_select_label']           = 'Select student:';
$string['sp_select_student']         = '— Choose —';
$string['sp_select_hint']            = 'Select a student above.';
$string['sp_kpi_last_access']        = 'Last access';
$string['sp_kpi_active_days']        = 'Active days';
$string['sp_kpi_grade']              = 'Grade';
$string['sp_kpi_engagement']         = 'Engagement';
$string['sp_approved']               = 'Approved';
$string['sp_in_progress']            = 'In progress';
$string['sp_no_grade']               = 'No grade';
$string['sp_activity_7d']            = 'Activity — last 7 days';
$string['sp_no_prev_data']           = 'no previous data';
$string['sp_vs_last_week']           = 'vs last week';
$string['sp_stable']                 = 'stable';
$string['sp_interactions_this_week'] = 'interactions this week';
$string['sp_private_notes']          = 'Private notes';
$string['sp_notes_placeholder']      = 'Observations, intervention plans, conversation history...';
$string['sp_save']                   = 'Save';
$string['sp_note_saved']             = 'Note saved!';
$string['sp_contact_history']        = 'Contact history';
$string['sp_no_contacts']            = 'No contacts recorded yet.';
$string['sp_contact']                = 'Contact';
$string['sp_contact_subject_prompt'] = 'Contact subject:';
$string['sp_intervention']           = '+ Intervention';
$string['sp_btn_email']              = 'Email';
$string['sp_email_coming_soon']      = 'Email sending will be integrated in a future step.';
$string['sp_crm_coming_soon']        = 'Full CRM available in a future step.';
$string['sp_daily_journey']          = 'Daily access journey';
$string['sp_last_interactions']      = 'Last 25 interactions';
$string['sp_col_datetime']           = 'Date/Time';
$string['sp_col_context']            = 'Context';
$string['sp_col_event']              = 'Event';
$string['sp_activity_calendar']      = 'Activity calendar — last 52 weeks';
$string['sp_calendar_less']          = 'Less';
$string['sp_calendar_more']          = 'More';

// ── Activities tab ──
$string['activities_title']         = 'Accessed Activities';
$string['activities_subtitle']      = 'Resource view — who accessed, who did not, and engagement comparison';
$string['act_filter_all']           = '🗂 All';
$string['act_filter_forum']         = '💬 Forums';
$string['act_filter_task']          = '📝 Tasks';
$string['act_filter_quiz']          = '❓ Quiz / H5P / SCORM';
$string['act_filter_video']         = '📖 Content / Resources';
$string['act_kpi_unique']           = 'Unique resources';
$string['act_kpi_unique_delta']     = 'shown';
$string['act_kpi_unique_shown']     = 'shown';
$string['act_kpi_total_acc']        = 'Total accesses';
$string['act_kpi_students']         = 'Distinct students';
$string['act_kpi_avg']              = 'Average per resource';
$string['act_kpi_avg_delta']        = 'students per resource (avg)';
$string['act_col_students']         = 'Students';
$string['act_col_accesses']         = 'Accesses';
$string['act_col_submitted']        = 'Submitted';
$string['act_label_posted']         = 'Posted';
$string['act_label_submitted']      = 'Submitted';
$string['act_label_accessed']       = 'Accessed';
$string['act_label_saw_not_posted'] = 'Saw but did not post';
$string['act_label_saw_not_submitted'] = 'Saw but did not submit';
$string['act_label_pending']        = 'Pending';
$string['act_label_no_access']      = 'No access recorded';

// ── Activity modal ──
$string['act_modal_participated']      = 'Participated';
$string['act_modal_pending']           = 'Pending';
$string['act_modal_completion_rate']   = 'Completion rate';
$string['act_modal_time_per_student']  = 'Time per student';
$string['act_modal_avg']               = 'Average';
$string['act_modal_email_no_access']   = 'Email no access';
$string['act_modal_email_no_access_btn'] = 'Email no access';
$string['act_modal_close']             = 'Close';

// ── Grades tab ──
$string['grades_title']           = 'Grade Analysis';
$string['grades_subtitle']        = 'Grade distribution and academic performance — approved and in progress';
$string['gr_no_grades_loaded']    = 'Load the grades file to visualize.';
$string['gr_avg_grade']           = 'Average grade';
$string['gr_points']              = 'points';
$string['gr_approved']            = 'Approved';
$string['gr_of_class']            = 'of class';
$string['gr_in_progress']         = 'In progress';
$string['gr_below_60']            = 'below 60 pts';
$string['gr_below_60_note']       = 'Below 60 pts — grades still being entered';
$string['gr_no_grade']            = 'No grade';
$string['gr_none_launched']       = 'No grade entered yet';
$string['gr_highest']             = 'Highest grade';
$string['gr_partial_warning_title'] = 'Partial grades detected';
$string['gr_partial_warning_body']  = 'the current maximum grade is {max} pts. Statuses are calculated on a 0–100 scale.';
$string['gr_chart_dist']          = 'Grade Distribution';
$string['gr_chart_approval']      = 'Approved vs In Progress';
$string['gr_search_placeholder']  = 'Search student...';
$string['gr_filter_all']          = 'All students';
$string['gr_export']              = 'Export spreadsheet';
$string['gr_col_student']         = 'Student';
$string['gr_col_grade']           = 'Grade';
$string['gr_col_activities']      = 'Activities with grade';
$string['gr_col_current_grade']   = 'Current grade';
$string['gr_col_missing']         = 'Missing';
$string['gr_col_progress']        = 'Progress';
$string['gr_col_profile']         = 'Profile';
$string['gr_launched']            = 'entered';
$string['gr_avg_current']         = 'Current avg';
$string['gr_avg_missing']         = 'missing on avg';
$string['gr_of']                  = 'of';
$string['gr_grades_launched']     = 'grades entered';

// ── Pedagogical Interventions ──
$string['nav_interventions']      = 'Interventions';
$string['int_page_title']         = 'Pedagogical Interventions';
$string['int_page_subtitle']      = 'Message history and intervention effectiveness';
$string['int_kpi_sent']           = 'Messages sent';
$string['int_kpi_returned']       = 'Returned after message';
$string['int_kpi_avg_return']     = 'Avg. return time';
$string['int_kpi_inactive']       = 'Still inactive';
$string['int_days']               = 'days';
$string['int_of']                 = 'of';
$string['int_students']           = 'students';
$string['int_col_date']           = 'Date';
$string['int_col_student']        = 'Student';
$string['int_col_reason']         = 'Reason';
$string['int_col_teacher']        = 'Teacher';
$string['int_col_status']         = 'Status';
$string['int_col_effect']         = 'Effect';
$string['int_no_data']            = 'No interventions recorded yet.';
$string['int_no_timeline']        = 'No events in the last 30 days.';

// ── Message modal ──
$string['msg_reason_select']      = '— Select —';
$string['msg_reason_low_eng']     = '📉 Low engagement';
$string['msg_reason_risk']        = '⚠️ Dropout risk';
$string['msg_reason_inactive']    = '⏰ 7+ days without access';
$string['msg_reason_task']        = '📝 Pending assignment';
$string['msg_reason_reeng']       = '🔄 Re-engagement';
$string['msg_reason_praise']      = '🌟 Praise';
$string['msg_reason_other']       = '💬 Other';
$string['msg_reason_label']       = 'Intervention reason';
$string['msg_type_moodle_hint']   = 'Sent via Moodle internal notification (message_send)';
$string['msg_type_email_hint']    = 'Sent via email using email_to_user() — requires SMTP setup';
$string['msg_no_email']           = 'This student has no registered email.';
$string['msg_no_registered_email']= 'No registered email';
$string['msg_conn_error']         = 'Connection error. Please try again.';
$string['msg_delete_confirm']     = 'Delete this intervention from history?';
$string['msg_deleted']            = 'Intervention deleted.';
$string['msg_delete_error']       = 'Could not delete the intervention.';
$string['msg_required_subject_body'] = 'Fill in the subject and message.';
$string['msg_sending']            = 'Sending...';
$string['msg_channel_email']      = 'email';
$string['msg_channel_moodle']     = 'Moodle';
$string['msg_sent_success']       = '{name} received your message via {channel}!';
$string['msg_send_error']         = 'Could not send: {status}';
$string['msg_unknown_status']     = 'unknown';
$string['msg_select_student_required'] = 'Select a student.';
$string['int_timeline_msg_sent']  = 'Message sent';
$string['int_timeline_submit']    = 'Submission';
$string['int_timeline_access']    = 'Access';
$string['int_timeline_reason']    = 'Reason';
$string['int_no_effect']          = 'No';
// Templates
$string['tpl_eng_subject']        = 'Your participation in the course';
$string['tpl_eng_body']           = "Hello {nome},\n\nWe noticed you have been participating less in the course lately. We know life can be challenging, but we want you to know we are here to support your learning.\n\nIf you have any difficulties or questions, please do not hesitate to contact us.\n\nKeep it up!";
$string['tpl_inactive_subject']   = 'We miss you in the course!';
$string['tpl_inactive_body']      = "Hello {nome},\n\nWe noticed you haven't accessed the course in a few days. We want to make sure everything is okay and that you're not facing any difficulties.\n\nThe course has new content available and it would be great to have you back!\n\nWe're available if you need anything.";
$string['tpl_task_subject']       = 'Reminder: pending activity';
$string['tpl_task_body']          = "Hello {nome},\n\nWe'd like to remind you that there are pending activities in the course. Submitting activities is essential for your assessment and learning.\n\nIf you have any questions about how to submit, please contact us.";
$string['tpl_praise_subject']     = 'Congratulations on your performance!';
$string['tpl_praise_body']        = "Hello {nome},\n\nI want to congratulate you on your excellent performance and dedication throughout the course! Your active participation makes all the difference.\n\nKeep it up — it is a pleasure to have you as a student!";
$string['msg_modal_title']        = 'Message to';
$string['msg_send_type_label']    = 'Send type';
$string['msg_type_moodle_btn']    = 'Moodle Message';
$string['msg_type_email_btn']     = 'E-mail';
$string['msg_subject_label']      = 'Subject';
$string['msg_subject_placeholder']= 'Message subject...';
$string['msg_body_label']         = 'Message';
$string['msg_templates_label']    = 'Templates:';
$string['msg_body_placeholder']   = 'Type your message...';
$string['msg_ai_soon']            = 'AI coming soon';
$string['msg_cancel']             = 'Cancel';
$string['msg_send_btn']           = 'Send';
$string['msg_detail_reason']      = 'Reason';

// ── Reports tab ──
$string['nav_reports']              = 'Reports';
$string['rp_page_title']            = 'Pedagogical Impact Reports';
$string['rp_page_subtitle']         = 'Student Recovery Index — measures the effect of interventions';
$string['rp_no_data']               = 'Send interventions to see the Recovery Index here.';
$string['rp_no_data_period']        = 'No data available for this period.';
$string['rp_intervention_on']       = 'Intervention:';
$string['rp_recovery_label']        = 'Recovery';
$string['rp_eng_before']            = 'Engagement before';
$string['rp_eng_after']             = 'Engagement after';
$string['rp_active_days']           = 'active days';
$string['rp_before']                = 'Before';
$string['rp_after']                 = 'After';
$string['rp_risk_label']            = 'Dropout risk';
$string['rp_risk_reduced']          = 'risk reduced ✅';
$string['rp_risk_increased']        = 'risk increased ⚠️';
$string['rp_risk_stable']           = 'stable';
$string['rp_kpi_recovery_idx']      = 'Average recovery index';
$string['rp_kpi_scale']             = 'from -100 to +100';
$string['rp_kpi_recovered']         = 'Recovered';
$string['rp_kpi_of_interventions']  = 'of interventions';
$string['rp_kpi_avg_engagement']    = 'Average engagement';
$string['rp_kpi_before_after']      = 'before → after';
$string['rp_kpi_risk']              = 'Average dropout risk';
$string['rp_period_label']          = 'Period:';
$string['rp_days']                  = 'days';
$string['rp_interventions_data']    = 'interventions with data';
$string['rp_section_recovery']      = '🔄 Recovery Index per Intervention';
$string['rp_section_window']        = '— 14-day window before and after each message';
$string['rp_section_chart']         = '📈 Class engagement over time';
$string['rp_chart_label']           = 'Accesses per week';
$string['rp_chart_intervention']    = '💬 Intervention sent this week';

// ── Heatmap tab ──
$string['hm_filter_all_students'] = 'All students';
$string['hm_filter_all_resources'] = 'All resources';
$string['hm_filter_quiz'] = 'Quizzes';
$string['hm_filter_forum'] = 'Forums';
$string['hm_filter_resource'] = 'Files';
$string['hm_filter_url'] = 'URLs';
$string['hm_filter_page'] = 'Pages';
$string['hm_filter_h5p'] = 'H5P';
$string['hm_filter_scorm'] = 'SCORM';
$string['hm_filter_video'] = 'Videos';
$string['hm_mode_access'] = 'Accesses';
$string['hm_mode_dropout'] = 'Dropout';
$string['hm_kpi_after_hours'] = 'accesses after 6 pm';
$string['hm_kpi_peak_hour'] = 'peak hour';
$string['hm_kpi_filtered'] = 'filtered accesses';
$string['hm_kpi_total_logs'] = 'total logs';
$string['hm_insights_title'] = 'Automatic insights';
$string['hm_grades_title'] = 'Grades × Time of day';
$string['hm_besttime_title'] = 'Best time to intervene';
$string['hm_besttime_desc'] = 'of students usually access during this period.';
$string['hm_besttime_tip'] = 'Send messages before this window for higher read rates.';
$string['hm_no_data'] = 'No data for the selected filter.';
$string['hm_insufficient_data'] = 'Insufficient data.';
$string['hm_no_data_simple'] = 'No data.';
$string['hm_peak_insight'] = 'Peak access on {day} at {hour}h.';
$string['hm_after18_insight'] = '{pct}% of accesses occurred after 6 pm.';
$string['hm_besttime_insight'] = 'Best message window: {start}h–{end}h.';
$string['hm_deadline_insight'] = '{n} possible deadline(s) detected with access spikes (🔴 cells).';
$string['hm_trend_insight'] = 'Weekly trend: {pct}% compared to last week.';
$string['hm_access_count'] = '{n} access';
$string['hm_accesses_count'] = '{n} accesses';
$string['hm_possible_deadline'] = 'possible deadline!';
$string['hm_trend_up'] = 'upward trend';
$string['hm_trend_down'] = 'downward trend';
$string['hm_morning'] = 'Morning (6am–12pm)';
$string['hm_afternoon'] = 'Afternoon (12pm–6pm)';
$string['hm_evening'] = 'Evening (6pm–12am)';
$string['hm_grade_avg'] = 'Average';
$string['hm_dropout_label'] = 'last accesses';
$string['hm_legend_zero'] = '0';
$string['hm_students_label'] = 'class';

// ── Engagement prediction tab ──
$string['ev_low_part']            = 'Low participation';
$string['ev_med_part']            = 'Average participation';
$string['ev_high_part']           = 'High participation';
$string['ev_avg_score']           = 'Average score';
$string['ev_dist_title']          = 'Engagement Distribution';
$string['ev_score_title']         = 'Score by Access Range';
$string['ev_filter_label']        = 'Filter:';
$string['ev_all']                 = 'All';
$string['ev_sort_score']          = 'Sort by risk';
$string['ev_sort_ago']            = 'By days without access';
$string['ev_sort_alpha']          = 'Alphabetical';
$string['ev_analyze_all']         = 'Analyze Class with AI';
$string['ev_modal_sub']           = 'Generated by AI based on engagement patterns';
$string['ev_students']            = 'student';
$string['ev_empty']               = 'No students in this category.';
$string['ev_active_days']         = 'Active days';
$string['ev_days_no_access']      = 'Days without access';
$string['ev_last_access']         = 'Last access';
$string['ev_trend_drop']          = 'drop';
$string['ev_risk_factors']        = 'Risk factors';
$string['ev_factor_recency']      = 'Recency / Absence (35%)';
$string['ev_factor_recency_sub']  = 'days without access';
$string['ev_factor_trend']        = 'Weekly trend (25%)';
$string['ev_factor_consistency']  = 'Historical consistency (20%)';
$string['ev_factor_depth']        = 'Depth / Interactions (12%)';
$string['ev_factor_social']       = 'Social participation / Forum (8%)';
$string['ev_reason_no_access']    = 'No access for';
$string['ev_reason_days_no_access'] = 'days without access';
$string['ev_reason_drop']         = 'Drop of';
$string['ev_reason_drop_this_week'] = 'in accesses this week';
$string['ev_reason_no_forum']     = 'Never posted in the forum';
$string['ev_reason_low_inter']    = 'Interactions well below average';
$string['ev_ai_title']            = 'AI Analysis & Recommendation';
$string['ev_ai_hint']             = 'Click "Generate AI Recommendation" to analyze this student.';
$string['ev_ai_loading']          = 'Generating analysis...';
$string['ev_ai_error']            = 'Error connecting to AI';
$string['ev_gen_ai']              = 'Generate AI Recommendation';
$string['ev_bucket_0_3']          = '0–3 dias';
$string['ev_bucket_4_7']          = '4–7 dias';
$string['ev_bucket_8_14']         = '8–14 dias';
$string['ev_bucket_15_21']        = '15–21 dias';
$string['ev_bucket_21p']          = '>21 dias';

// ── Engagement tab (complemento) ──
$string['ev_trend'] = 'Trend';
$string['ev_approved'] = 'Approved';
$string['ev_ai_analyzing'] = 'Generating analysis...';
$string['ev_ai_class_analyzing'] = 'Generating class analysis...';
$string['ev_ai_class_title'] = 'Prescriptive Class Analysis';
$string['ev_ai_conn_error'] = 'Error connecting to AI. Check module configuration.';
$string['ev_part_low_delta'] = 'part. < 40%';
$string['ev_part_med_delta'] = 'part. 40–69%';
$string['ev_part_high_delta'] = 'part. ≥ 70%';
$string['ev_approved_delta'] = 'grade ≥ 60 pts';
$string['ev_interactions_title'] = 'Interactions this week vs previous week';
$string['ev_no_email'] = 'no email';
$string['ev_reason_no_access_ago'] = 'No access for';
$string['ev_reason_low_inter2'] = 'Interactions well below average';

// ── Content Analysis tab ──
$string['ct_page_title'] = 'Content Intelligence';
$string['ct_page_sub'] = 'AI analyzes engagement with each resource and suggests course improvements';
$string['ct_period_all'] = 'All';
$string['ct_total_events'] = 'Total Events';
$string['ct_all_period'] = 'in period';
$string['ct_videos'] = 'Videos / Resources';
$string['ct_accesses'] = 'accesses';
$string['ct_forum_posts'] = 'Forum Posts';
$string['ct_forum_posts_sub'] = 'discussions';
$string['ct_quiz'] = 'Quiz / H5P';
$string['ct_interactions'] = 'interactions';
$string['ct_task_subs'] = 'Task Submissions';
$string['ct_submissions'] = 'submissions';
$string['ct_daily_title'] = 'Daily Accesses by Content Type';
$string['ct_coverage_title'] = 'Coverage by Resource Type';
$string['ct_dist_title'] = 'Type Distribution';
$string['ct_top_title'] = 'Most Accessed Content';
$string['ct_top_sub'] = 'Ordered by unique students';
$string['ct_th_content'] = 'Content';
$string['ct_th_type'] = 'Type';
$string['ct_th_accesses'] = 'Accesses';
$string['ct_th_unique'] = 'Unique students';
$string['ct_th_coverage'] = 'Coverage';
$string['ct_forum'] = 'Forum';
$string['ct_video'] = 'Video/Resource';
$string['ct_quiz_short'] = 'Quiz/H5P';
$string['ct_task'] = 'Task';
$string['ct_other'] = 'Other';
$string['ct_of'] = 'of';
$string['ct_students'] = 'students';
$string['ct_reach_summary'] = '{type} - {unique} of {total} students';
$string['ct_students_short'] = 'stu.';
$string['ct_low_access_prompt_item'] = '- {name}: {unique} students ({pct}% of the class)';
$string['ct_no_content'] = 'No content recorded in the period.';
$string['nav_content_section'] = 'Content';

// ── Content Intelligence tab (update) ──
$string['ct_no_data'] = 'Load course data to generate the analysis.';
$string['ct_updated'] = 'Updated now';
$string['ct_stuck_modules'] = 'Blocking modules';
$string['ct_of_eval'] = 'of ';
$string['ct_low_access'] = 'Low-access materials';
$string['ct_reach_below'] = 'reach < 35%';
$string['ct_ai_suggestions'] = 'AI Suggestions';
$string['ct_click_generate'] = 'click to generate';
$string['ct_where_stuck'] = 'Where students get stuck';
$string['ct_delivered'] = 'submitted';
$string['ct_not_delivered'] = 'not submitted';
$string['ct_total'] = 'total';
$string['ct_critical'] = 'critical';
$string['ct_attention'] = 'attention';
$string['ct_low_label'] = 'low';
$string['ct_no_stuck'] = 'No tasks or quizzes with pending submissions detected.';
$string['ct_material'] = 'Material';
$string['ct_resource'] = 'Resource';
$string['ct_all_good'] = 'All materials have good reach.';
$string['ct_ai_desc'] = 'AI analyzes each resource, identifies implicit prerequisites, low-engagement materials and opportunities to reorganize the learning path.';
$string['ct_generate_btn'] = 'Generate AI suggestions';
$string['ct_refresh'] = 'Refresh';
$string['ct_ai_generating'] = 'Generating prescriptive analysis...';
$string['ct_ai_error'] = 'Error connecting to AI';
$string['ct_reach_table'] = 'Reach by resource';
$string['ct_students_total'] = 'students total';
$string['ct_missing'] = 'Missing';
$string['ct_stuck_note'] = 'students who did not submit relative to total class';

// ── Personalised Plan tab ──
$string['pl_page_title'] = 'Personalised Plan';
$string['pl_page_sub'] = 'Content trail · Study rhythm · Learning style — generated individually by AI';
$string['pl_no_data'] = 'Load data to view personalised plans.';
$string['pl_low_part'] = 'Low participation';
$string['pl_med_part'] = 'Average participation';
$string['pl_high_part'] = 'High participation';
$string['pl_ai_plans'] = 'AI Plans';
$string['pl_morning'] = 'Morning';
$string['pl_afternoon'] = 'Afternoon';
$string['pl_evening'] = 'Evening';
$string['pl_dawn'] = 'Dawn';
$string['pl_peak_title'] = 'Class Peak Hours';
$string['pl_rhythm_title'] = 'Class Rhythm Profile';
$string['pl_best_day'] = 'Best day for synchronous activities';
$string['pl_high_desc'] = 'Participation ≥ 70% — complete activities and tasks';
$string['pl_med_desc'] = 'Participation 40–69% — active with room to improve';
$string['pl_low_desc'] = 'Participation < 40% — need attention';
$string['pl_empty'] = 'No students in this category.';
$string['pl_plan_ready'] = 'Plan generated';
$string['pl_plan_waiting'] = 'Waiting';
$string['pl_click_generate'] = 'Click';
$string['pl_click_generate_2'] = 'to create a personalised plan.';
$string['pl_gen_btn'] = 'Generate AI plan';
$string['pl_email_btn'] = 'Email';
$string['pl_copy_btn'] = 'Copy';
$string['pl_profile_btn'] = 'Profile';
$string['pl_generating'] = 'Generating personalised plan with AI...';

// ── Personalised Plan (tags + days) ──
$string['pl_tag_dawn'] = '🌙 Early bird';
$string['pl_tag_night'] = '🌙 Night owl';
$string['pl_tag_morning'] = '☀️ Morning person';
$string['pl_tag_afternoon'] = '🌤 Afternoon learner';
$string['pl_tag_weekend'] = '📅 Prefers weekends';
$string['pl_tag_steady'] = '✅ Steady rhythm';
$string['pl_tag_irregular'] = '⚡ Irregular rhythm';
$string['pl_tag_risk'] = '🚨 At risk';
$string['pl_tag_high_eng'] = '🟢 High engagement';
$string['pl_tag_med_eng'] = '🔵 Med. engagement';
$string['pl_tag_low_eng'] = '🟠 Low engagement';
$string['pl_tag_inactive'] = '🔴 Low activity';
$string['pl_no_score'] = 'No score';
$string['pl_day_sun'] = 'Sunday';
$string['pl_day_mon'] = 'Monday';
$string['pl_day_tue'] = 'Tuesday';
$string['pl_day_wed'] = 'Wednesday';
$string['pl_day_thu'] = 'Thursday';
$string['pl_day_fri'] = 'Friday';
$string['pl_day_sat'] = 'Saturday';
$string['pl_msg_btn'] = 'Message';

// ── Chat com a turma ──
$string['chat_history'] = 'Conversations';
$string['chat_new_conv'] = 'New conversation';
$string['chat_context_label'] = 'Context';
$string['chat_assistant_name'] = 'Class assistant';
$string['chat_no_data_sub'] = 'Load data to activate chat';
$string['chat_data_ready'] = 'Data loaded — ready to analyse';
$string['chat_input_placeholder'] = 'Ask about the class, request analyses or reports...';
$string['chat_no_convs'] = 'No conversations';
$string['chat_welcome_data'] = 'Hello! I have access to all loaded class data. I can analyse engagement, identify risks and generate reports.';
$string['chat_welcome_nodata'] = 'Hello! Load class data so I can analyse and answer questions about students.';
$string['chat_sug1'] = 'Who is at risk of dropping out this week?';
$string['chat_sug2'] = 'Which students should I prioritise today?';
$string['chat_sug3'] = 'How is the overall class engagement?';
$string['chat_sug4'] = 'Write an email for students with grades below 60';
$string['chat_sug5'] = 'Who improved the most in recent days?';
$string['chat_sug6'] = 'Make an executive summary of the class';
$string['chat_load_data_first'] = 'Load class data first.';
$string['chat_no_reply'] = 'Could not generate a response. Please try again.';
$string['chat_error'] = 'Error connecting to AI';
$string['chat_no_data'] = 'No data';

// ── Configurações da IA ──
$string['settings_ia_heading'] = 'Artificial Intelligence Configuration';
$string['settings_ia_heading_desc'] = 'Configure the Node.js server that connects Moodle to AI models (Gemini, OpenAI, DeepSeek).';
$string['settings_ia_endpoint'] = 'AI server URL';
$string['settings_ia_endpoint_desc'] = 'Full URL of the Node.js server. E.g.: https://mwa-6exk.onrender.com';
$string['settings_ia_apikey'] = 'API Key (optional)';
$string['settings_ia_apikey_desc'] = 'Authentication key sent in the X-API-Key header. Leave blank if the server does not require it.';
$string['settings_ia_provider'] = 'Preferred AI provider';
$string['settings_ia_provider_desc'] = 'Which AI model the server should use. "Auto" lets the server decide.';
$string['settings_ia_timeout'] = 'Maximum response time (seconds)';
$string['settings_ia_timeout_desc'] = 'Timeout for AI server requests. Recommended: 90s.';
$string['settings_ia_test_heading'] = 'Test connection';
$string['settings_ia_test_desc'] = 'After saving, access the block on the dashboard to verify the AI responds.';
$string['chat_unknown_course'] = 'unidentified';
$string['chat_all_period'] = 'entire period';
$string['chat_ia_not_configured'] = 'AI not configured';
$string['chat_ia_not_configured_alert'] = 'AI not configured. Go to Administration → Blocks → MWA Dashboard → Settings and set the AI endpoint.';

// ── Action Center: retention drill-down ──
$string['ret_drill_active_students'] = '{n} active students';
$string['ret_drill_retention']       = 'Retention';
$string['ret_drill_left']            = '📉 Did not return ({n}): ';
$string['ret_drill_came']            = '📈 Returned/new ({n}): ';
$string['ret_drill_stayed']          = '✓ Continued ({n})';
$string['ret_tooltip_returned']      = 'returned';
$string['ret_tooltip_left']          = 'left';
$string['ret_tooltip_stable']        = 'stable';
$string['ret_unique_students']       = 'unique students';
// ── Action Center: AI prediction panel ──
$string['ai_why_at_risk']            = 'Why is {name} at risk?';
$string['ai_weight']                 = 'weight';
$string['ai_analysis_makes_sense']   = 'Does the analysis make sense?';
$string['ai_feedback_correct']       = '👍 Analysis correct';
$string['ai_student_ok']             = '👎 {name} is OK';
$string['ai_feedback_hint']          = 'Your feedback trains the model for your class.';
$string['ai_generate_email']         = '✉️ Message';
$string['ai_factor_no_access']       = 'No access for {n} day';
$string['ai_factor_no_access_pl']    = 'No access for {n} days';
$string['ai_factor_recent_access']   = 'Recent access';
$string['ai_factor_partial_grade']   = 'Partial grade ({n} pts)';
$string['ai_factor_low_coverage']    = 'Low coverage ({n}% of activities)';
$string['ai_factor_symbolic']        = 'Symbolic presence — logs in but does not interact';
$string['ai_factor_low_engagement']  = 'Engagement below average';

$string['act_msg_pending']   = 'Message to pending';
$string['act_msg_no_access'] = 'Message no access';

// ── Content Analysis — hardcoded strings fixed ──
$string['ct_eval_activities']   = 'assessment activities';
$string['ct_all_reached']       = 'all';
$string['ct_prompt_intro']      = 'You are an expert in pedagogy and instructional design. The course being analysed is "{course}".';
$string['ct_prompt_unknown']    = 'not identified';
$string['ct_prompt_data']       = 'DATA: {n} students';
$string['ct_prompt_avg']        = ', average grade {avg} pts.';
$string['ct_prompt_stuck']      = 'BOTTLENECK: ';
$string['ct_prompt_not_done']   = 'did not complete';
$string['ct_prompt_none']       = 'none';
$string['ct_prompt_stuck_section'] = 'WHERE STUDENTS GET STUCK:';
$string['ct_prompt_stuck_names'] = ' (possibly stuck: {names})';
$string['ct_prompt_stuck_item'] = '- {name}: {pct}% did not complete{names}';
$string['ct_prompt_low_access_section'] = 'MATERIALS WITH LOW ACCESS:';$string['ct_prompt_low_access'] = 'LOW ACCESS (<35%): ';
$string['ct_prompt_accesses']   = 'accesses';
$string['ct_prompt_low_reach']  = 'LOW REACH (<40%): ';
$string['ct_prompt_instruction']= 'Generate EXACTLY 3 suggestions using ## as the title:';
$string['ct_prompt_s1']         = '## ⚠️ [Content with implicit prerequisite]\n[2-3 sentences]';
$string['ct_prompt_s2']         = '## 📹 [Material with low engagement]\n[2-3 sentences]';
$string['ct_prompt_s3']         = '## 🔀 [Suggested track reorganisation]\n[2-3 sentences]';
$string['ct_prompt_s4']         = '## 📚 [Supplementary content]\n[Based on the course topic, suggest 3-4 specific external resources.]';
$string['ct_prompt_footer']     = 'Use real names. Max 400 words.';
$string['ct_ai_analyzing']      = 'Analysing...';
$string['ct_item_prompt_stuck_line'] = "Possibly stuck students: {names}\n";
$string['ct_item_prompt']       = "You are an instructional design and distance learning expert.\n\nBOTTLENECK ACTIVITY:\nName: {name}\nType: {type}\n{dropPct}% of the class did not complete it ({notDelivered} of {total} students)\nCompleted: {concluded} students\n{stuckLine}\nBased on the activity name and type, provide:\n1. Diagnosis (1-2 sentences): which activity characteristic probably causes the bottleneck?\n2. Content improvement (2-3 sentences): how should this specific activity be redesigned or improved to reduce the bottleneck?\n3. Immediate action (1 sentence): what should be done now with students who did not complete it?\n\nUse the real activity name. Max 150 words. Be specific and practical.";
// ── Engagement / Prediction ──
$string['ev_student']               = 'student';
$string['ev_prompt_expert']         = 'You are an expert in distance education and dropout analysis. Analyse this student:';
$string['ev_prompt_name']           = '- Name: ';
$string['ev_prompt_score']          = '- Participation score: ';
$string['ev_prompt_ago']            = '- Days without access: ';
$string['ev_prompt_last']           = '- Last access: ';
$string['ev_prompt_inter']          = '- Total interactions: ';
$string['ev_prompt_active']         = '- Active days: ';
$string['ev_prompt_of']             = 'of';
$string['ev_prompt_reasons']        = '- Risk reasons: ';
$string['ev_prompt_none']           = 'none identified';
$string['ev_prompt_provide']        = 'Provide: 1. Diagnosis (1-2 sentences) 2. Probable cause (1 sentence) 3. Immediate action (1-2 sentences) 4. Suggested message (3-4 sentences).';
$string['ev_prompt_style']          = 'Be direct, empathetic and practical.';
$string['ev_prompt_lang_pt']        = 'Responda em português brasileiro.';
$string['ev_prompt_lang_es']        = 'Responda en español.';
$string['ev_prompt_lang_en']        = 'Respond in English.';
$string['ev_prompt_class_expert']   = 'You are a distance education expert. Analyse the engagement of this class:';
$string['ev_prompt_class_total']    = '- Total: ';
$string['ev_prompt_class_low']      = '- Low participation (<40%): ';
$string['ev_prompt_class_med']      = '- Medium participation (40–70%): ';
$string['ev_prompt_class_high']     = '- High participation (>70%): ';
$string['ev_prompt_class_avg']      = '- Average score: ';
$string['ev_prompt_class_risk']     = '- Highest risks: ';
$string['ev_prompt_class_provide']  = 'Provide: 1. General diagnosis (2-3 sentences) 2. Concerning patterns (2-3 sentences) 3. Immediate interventions (3-4 concrete actions) 4. Medium-term strategies (2-3 suggestions).';
$string['ev_prompt_class_style']    = 'Be direct and practical.';

// ── Personalised Plan — hardcoded strings fixed ──
$string['plh_manha']              = 'Morning (5am–12pm)';
$string['plh_tarde']              = 'Afternoon (12pm–6pm)';
$string['plh_noite']              = 'Evening (6pm–12am)';
$string['plh_madrugada']          = 'Early morning (12am–5am)';
$string['pl_delta_low']           = 'part. < 40%';
$string['pl_delta_med']           = 'part. 40–69%';
$string['pl_delta_high']          = 'part. ≥ 70%';
$string['pl_section_trail']       = 'Content Trail';
$string['pl_section_rhythm']      = 'Suggested Rhythm';
$string['pl_section_style']       = 'Learning Style';
$string['pl_section_action']      = 'Immediate Action';
$string['pl_section_generated']   = 'Plan generated';
$string['pl_dom_forum']           = 'forums (collaborative profile)';
$string['pl_dom_quiz']            = 'quizzes (self-assessment)';
$string['pl_dom_task']            = 'assignments (delivery-oriented)';
$string['pl_dom_video']           = 'content/reading (self-taught)';
$string['pl_eng_very']            = 'HIGHLY ENGAGED';
$string['pl_eng_ok']              = 'ENGAGED';
$string['pl_eng_alert']           = 'AT RISK';
$string['pl_eng_low']             = 'LOW ACTIVITY';
$string['pl_sit_absent']          = 'ABSENT FOR {n} DAYS — critical dropout risk';
$string['pl_sit_dropping']        = 'no access for {n} days — engagement dropping';
$string['pl_sit_last']            = 'last access {n} days ago';
$string['pl_sit_irregular']       = 'very irregular access ({n}% consistency)';
$string['pl_sit_consistent']      = 'consistent rhythm ({n}%) — disciplined student';
$string['pl_sit_few_inter']       = 'very few interactions ({n}) — barely participated';
$string['pl_sit_many_inter']      = '{n} interactions — very active student';
$string['pl_sit_short_sess']      = 'very short sessions ({n}min)';
$string['pl_sit_long_sess']       = 'long sessions ({n}min) — studies in depth';
$string['pl_prompt_intro']        = 'You are a distance education tutor expert. Analyse this student and generate CONCRETE recommendations for their SPECIFIC situation.';
$string['pl_prompt_student']      = 'STUDENT: ';
$string['pl_prompt_level']        = 'LEVEL: ';
$string['pl_prompt_situation']    = 'SITUATION:\n';
$string['pl_prompt_data']         = 'DATA:\n';
$string['pl_prompt_no_acc']       = 'without access';
$string['pl_prompt_active_days']  = 'active days';
$string['pl_prompt_consist']      = 'Consistency: ';
$string['pl_prompt_session']      = 'Average session: ';
$string['pl_prompt_peak_hour']    = 'Favourite time: ';
$string['pl_prompt_peak_day']     = 'Day: ';
$string['pl_prompt_resource']     = 'Resource: ';
$string['pl_prompt_format']       = 'Generate the plan in EXACTLY this format:';
$string['pl_prompt_trail_inst']   = 'Suggest 3 specific activities for a {level} student who prefers {dom} and accesses at {hour}.';
$string['pl_prompt_rhythm_inst']  = 'Sessions of {min}min, {pct}% consistency. Recommend ideal frequency and duration.';
$string['pl_prompt_style_inst']   = 'Based on: favourite resource {dom}, sessions of {min}min. Identify the learning style and adapt.';
$string['pl_prompt_action_inst']  = 'ONE action for today. Situation: {sit}. Say WHAT to do, WHY and HOW.';
$string['pl_prompt_active']       = 'active student';
$string['pl_prompt_rules']        = 'RULES: use exactly the 4 headings above with ###. Max 300 words.';
$string['pl_copy_header']         = 'LEARNING PLAN — ';
$string['pl_copied']              = 'Plan copied!';
$string['pl_empty_response']      = 'Empty response';

// ── Smart KPIs — period selector ──
$string['kpi_compare']     = 'Compare with:';
$string['kpi_period_1d']   = 'Yesterday';
$string['kpi_period_7d']   = 'Last 7 days';
$string['kpi_period_30d']  = 'Last 30 days';

// ── Action Center + Interventions export ──
$string['att_see_all']        = 'View full list';
$string['int_export']         = 'Export report';
$string['int_export_channel'] = 'Channel';
$string['int_export_subject'] = 'Subject';
$string['int_status_sent']    = 'Sent';
$string['int_status_error']   = 'Error';
$string['ct_who_stuck'] = 'Possible: ';

// ── Final hardcoded sweep ──
$string['msg_send_type']              = 'Send type';
$string['msg_subject_placeholder']    = 'Message subject';
$string['msg_sending_to']             = 'Sending to';
$string['ct_no_stuck_found']          = 'no bottleneck identified';
$string['gr_act_prefix']              = 'Act. ';
$string['gr_export_filename']         = 'grades_';
$string['pl_tier_low']                = 'low';
$string['pl_tier_med']                = 'engaged';
$string['pl_tier_high']               = 'highly engaged';
$string['pl_tier_alert']              = 'alert';
$string['pl_rhythm_steady']           = 'steady';
$string['pl_rhythm_irregular']        = 'irregular';
$string['pl_rhythm_risk']             = 'at risk';

// ── Privacy metadata — external API calls ──
$string['privacy:metadata:external:ia']                  = 'AI recommendation server. When the site administrator configures an AI endpoint, the plugin sends a prompt containing aggregated course statistics (activity names, student counts and percentages) and, optionally, a student first name provided by the teacher. No email addresses, passwords, IP addresses or other sensitive personal data are transmitted.';
$string['privacy:metadata:external:ia:student_name']     = 'The first name or display name of the student supplied by the teacher for a personalised AI recommendation. Transmitted only when the teacher explicitly requests an individual analysis.';
$string['privacy:metadata:external:ia:prompt']           = 'A text prompt describing course-level statistics (activity names, submission rates, engagement scores) used to generate pedagogical recommendations. Does not include passwords, contact details or sensitive personal data.';
$string['privacy:metadata:external:chat']                = 'AI chat server. When the site administrator configures an AI endpoint, the plugin sends aggregated course context (student score summaries, activity names) together with the teacher\'s chat messages. No individual student identifiers beyond aggregated statistics are included.';
$string['privacy:metadata:external:chat:messages']       = 'The teacher\'s chat messages and the AI replies within the current session. Not stored server-side by the plugin after the response is returned.';
$string['privacy:metadata:external:chat:context']        = 'Aggregated course context sent alongside chat messages: student count, average score, activity names and engagement levels. No individual student identifiers are included.';

// ── Privacy metadata — messages table ──
$string['privacy:metadata:messages']                     = 'Stores pedagogical intervention messages sent by teachers to students through the MWA Dashboard. Each record links the sending teacher, the receiving student and the course.';
$string['privacy:metadata:messages:userid']              = 'The ID of the student who received the message.';
$string['privacy:metadata:messages:teacherid']           = 'The ID of the teacher who sent the message.';
$string['privacy:metadata:messages:courseid']            = 'The course in which the intervention took place.';
$string['privacy:metadata:messages:subject']             = 'The subject line of the message.';
$string['privacy:metadata:messages:message']             = 'The body of the intervention message sent to the student.';
$string['privacy:metadata:messages:timesent']            = 'The Unix timestamp at which the message was sent.';
$string['privacy:metadata:messages:status']              = 'Delivery status of the message: sent or error.';
$string['privacy:metadata:messages:intervention_reason'] = 'The pedagogical reason selected by the teacher for the intervention (e.g. low engagement, pending task).';
$string['privacy:metadata:messages:send_type']           = 'The channel used to deliver the message: moodle (internal messaging) or email.';

// ── I18N001 fixes ──
$string['settings_ia_provider_auto']    = 'Auto (server decides)';
$string['settings_ia_provider_gemini']  = 'Google Gemini';
$string['settings_ia_provider_openai']  = 'OpenAI (GPT-4o)';
$string['settings_ia_provider_deepseek']= 'DeepSeek';
$string['settings_ia_provider_claude']  = 'Anthropic Claude';
$string['brand_name']                   = 'Moodle';
$string['int_time_lt1min']              = '< 1min';
$string['int_time_min']                 = 'min';
$string['int_time_hour']                = 'hour';
$string['int_time_hours']               = 'hours';
$string['int_time_day']                 = 'day';
$string['int_time_days']                = 'days';
$string['int_export_sheet_name']        = 'Contacts';

// ── I18N001 additional fixes ──
$string['brand_logo_alt'] = 'MWA Logo';
$string['err_ajax_bridge'] = 'Dashboard AJAX bridge is not available.';

// ── Engagement trend strings ──
$string['ev_trend_drop']          = 'Sharp drop in access this week';
$string['ev_reason_drop']         = 'drop';
$string['ev_interactions_title']  = 'This week vs previous week interactions';
$string['ev_trend']               = 'Trend';
$string['open_btn'] = 'Open →';

// ── AI button in message modal ──
$string['msg_ai_generate'] = 'Generate with AI';
$string['msg_ai_done']     = 'Message generated by AI!';

// ── Template strings fix (reviewer) ──
$string['msg_select_student']  = '— Select student —';
$string['msg_new_message']     = 'New message';
$string['sp_btn_message']      = 'Message';
$string['sp_btn_history']      = 'History';
$string['sp_days_suffix']      = 'd';
$string['sp_score_label']      = 'score';
$string['sp_score_format']     = 'score {$a}/100';
$string['sp_timeline_label']   = 'Timeline — last 30 days';
$string['chat_delete_conv']    = 'Delete';
$string['chat_delete_icon']    = '×';
$string['close_icon']          = '×';

// ── Hardcoded strings fix — final sweep ──
$string['ac_concluded']                  = '✓ Completed';
$string['int_tpl_dropout_risk']          = 'Dropout risk';
$string['chat_alert_viewed_not_submitted']= 'Viewed but not submitted: ';
$string['chat_alert_symbolic']           = 'Symbolic access: ';
$string['chat_alert_night_owls']         = 'Night owls: ';
$string['chat_unknown_course']           = 'not identified';
$string['chat_lang_instr_pt']            = 'Responda sempre em português brasileiro, de forma direta e prática.';
$string['chat_lang_instr_es']            = 'Responda siempre en español, de forma directa y práctica.';
