<?php
// This file is part of Moodle - https://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 <https://www.gnu.org/licenses/>.

/**
 * Plugin strings are defined here.
 *
 * @package     local_coursegen
 * @category    string
 * @copyright   2025 Josue Condori <https://datacurso.com>
 * @license     https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

defined('MOODLE_INTERNAL') || die();

$string['accept_planning_create_activity'] = 'Accept and create activity';
$string['accept_planning_create_course'] = 'Accept and create course';
$string['actions'] = 'Actions';
$string['activities_deleted'] = 'Deleted {$a->count} activity(ies) from the plan.';
$string['activities_reordered'] = 'Activities reordered.';
$string['activity_assign'] = 'Assignment';
$string['activity_assign_part_instructions'] = 'Generate images for the assignment instructions.';
$string['activity_assign_part_intro'] = 'Generate images for the assignment introduction.';
$string['activity_book'] = 'Book';
$string['activity_book_part_chapter'] = 'Generate images for book chapters.';
$string['activity_book_part_intro'] = 'Generate images for the book introduction.';
$string['activity_choice'] = 'Choice';
$string['activity_choice_part_intro'] = 'Generate images for the choice introduction.';
$string['activity_completed'] = 'Activity generated successfully.';
$string['activity_data'] = 'Database';
$string['activity_data_part_intro'] = 'Generate images for the database activity introduction.';
$string['activity_failed'] = 'Activity generation failed.';

// HTTP errors.
$string['activity_feedback'] = 'Feedback';
$string['activity_feedback_part_intro'] = 'Generate images for the feedback activity introduction.';
$string['activity_feedback_part_label'] = 'Generate images for label items in the feedback activity.';
$string['activity_file_uploaded'] = 'File uploaded successfully.';
$string['activity_folder'] = 'Folder';
$string['activity_folder_part_intro'] = 'Generate images for the folder introduction.';
$string['activity_forum'] = 'Forum';
$string['activity_forum_part_discussions'] = 'Generate images for initial forum discussions.';
$string['activity_forum_part_intro'] = 'Generate images for the forum introduction.';
$string['activity_glossary'] = 'Glossary';
$string['activity_glossary_part_entries'] = 'Generate images for glossary entries.';
$string['activity_glossary_part_intro'] = 'Generate images for the glossary introduction.';
$string['activity_label'] = 'Text and media area';
$string['activity_label_part_intro'] = 'Generate images for the text and media area content.';
$string['activity_lesson'] = 'Lesson';
$string['activity_lesson_part_intro'] = 'Generate images for the lesson introduction.';
$string['activity_or_resource'] = 'Activity or resource';
$string['activity_page'] = 'Page';
$string['activity_page_part_intro'] = 'Generate images for the page introduction.';
$string['activity_page_part_page'] = 'Generate images for the main page content.';
$string['activity_quiz'] = 'Quiz';
$string['activity_quiz_part_intro'] = 'Generate images for the quiz introduction.';
$string['activity_quiz_part_questions'] = 'Generate images for quiz questions.';
$string['activity_resource'] = 'File';
$string['activity_resource_part_document'] = 'Generate images inside the generated document content.';
$string['activity_url'] = 'URL';
$string['activity_url_part_intro'] = 'Generate images for the URL introduction shown before the link.';
$string['activity_wiki'] = 'Wiki';
$string['activity_wiki_part_intro'] = 'Generate images for the wiki introduction.';
$string['activity_wiki_part_pages'] = 'Generate images for the wiki pages created automatically.';
$string['activity_workshop'] = 'Workshop';
$string['activity_workshop_part_intro'] = 'Generate images for the workshop introduction.';
$string['activityai_error_create_activity'] = 'Error creating activity.';
$string['activityai_error_disconnected'] = 'Disconnected from server.';
$string['activityai_error_generation_failed'] = 'We could not generate the activity.';
$string['activityai_error_high_demand'] = 'The AI service is currently experiencing high demand. Please try again later.';
$string['activityai_error_unknown'] = 'Unknown error';
$string['activityai_prompt_prefix'] = 'You asked:';
$string['activityai_retry_action'] = 'Retry';
$string['activityai_retry_slow_warning'] = 'This is taking a long time.';
$string['activityai_status_completed'] = 'Completed.';
$string['activityai_status_generating_content'] = 'Generating content...';
$string['activityai_status_generating_images_progress'] = 'Generating images ({done}/{total})...';
$string['activityai_status_generating_images_simple'] = 'Generating images...';
$string['activityai_status_images_generated'] = 'Images generated.';
$string['activityai_status_plan_accepted_generating'] = 'Plan accepted. Generating...';
$string['activityai_status_retrying'] = 'Retrying...';
$string['activityai_status_waiting_review'] = 'Waiting for your review.';
$string['addactivityai_arialabel'] = 'AI assistant to create resources/activities';
$string['addactivityai_done'] = 'Done! The resource/activity was created.';
$string['addactivityai_error'] = 'An error occurred while creating the resource. Please try again or modify the prompt.';
$string['addactivityai_faildefault'] = 'It was not possible to create the resource.';
$string['addactivityai_label'] = 'Describe what you need';
$string['addactivityai_modaltitle'] = 'Create resource/activity with AI';
$string['addactivityai_placeholder'] = 'Describe what resource or activity you want to create';
$string['addactivityai_welcome'] = 'Hi! Tell me what resource or activity you need and I will create it in your course. 😊';
$string['addactivitywithia'] = 'Add activity or resource with AI';
$string['addcourseai_arialabel'] = 'AI assistant to create courses';
$string['addcourseai_done'] = 'Done! The course was created successfully.';
$string['addcourseai_modaltitle'] = 'Create course with AI';
$string['addsysteminstruction'] = 'Add system instruction';
$string['adjust_course_planning'] = 'Adjust course planning';
$string['adjust_planning_title'] = 'Adjust course planning';
$string['ai_course_configuration'] = 'Course: {$a->fullname}';
$string['ai_planned_structure'] = 'Here is the structure I planned for your course';
$string['analyzing_activity_plan'] = 'Analyzing activity plan structure...';

// Generation errors.
$string['analyzing_feedback'] = 'Analyzing your feedback…';
$string['assembling_feedback'] = 'Assembling final Feedback package...';
$string['assembling_quiz'] = 'Assembling final Quiz package...';
$string['assembling_workshop_assessment'] = 'Assembling the peer-assessment settings...';

// Content generators — errors.
$string['book_config_ready'] = 'Book configuration ready. Generating {$a->total} chapters...';
$string['clarification'] = '{$a->question}';
$string['clarification_fallback'] = 'Could you point at the exact section or activity you mean, and what you would like to change?';

// Run lifecycle.
$string['click_to_view_details'] = 'Click to view details';
$string['close'] = 'Close';
$string['closebuttontitle'] = 'Close course creator';
$string['config_permissions'] = 'Configuration permissions';
$string['config_permissions_desc'] = 'Define whether global image generation rules can be overridden at course or activity level. When overrides are disabled, users will see the global behaviour as read-only in course and activity settings.';
$string['confirmdeletesysteminstruction'] = 'Are you sure you want to delete this system instruction?';
$string['context_type_system_instruction'] = 'System instruction';
$string['course_ai_language'] = 'AI response language';
$string['course_ai_language_help'] = 'Select the language in which the AI will respond and generate the course content.';
$string['course_completed'] = 'Course generated successfully.';
$string['course_created_success'] = 'Course created successfully!';
$string['course_created_success_simple'] = '✅ Course created successfully';
$string['course_creating_subtitle'] = 'Generating course content...';
$string['course_creating_title'] = 'Creating the course';
$string['course_failed'] = 'Course generation failed.';
$string['course_planning_started'] = 'Course planning session started successfully.';
$string['course_streaming_loading'] = 'Loading...';
$string['course_streaming_planning_subtitle'] = 'Generating course content...';
$string['course_streaming_planning_title'] = 'Planning course creation';
$string['courseai_activities_count'] = 'activities';
$string['courseai_activity_assign'] = 'Assignment';
$string['courseai_activity_book'] = 'Book';
$string['courseai_activity_data'] = 'Database';
$string['courseai_activity_default'] = 'Activity';
$string['courseai_activity_forum'] = 'Forum';
$string['courseai_activity_glossary'] = 'Glossary';
$string['courseai_activity_h5pactivity'] = 'H5P interactive content';
$string['courseai_activity_lesson'] = 'Lesson';
$string['courseai_activity_page'] = 'Page';
$string['courseai_activity_quiz'] = 'Quiz';
$string['courseai_activity_resource'] = 'Resource';
$string['courseai_activity_url'] = 'URL';
$string['courseai_add_activity_placeholder'] = 'Describe the activity to add…';
$string['courseai_add_section_placeholder'] = 'Describe the section to add…';
$string['courseai_add_subsection_placeholder'] = 'Describe the subsection to add…';
$string['courseai_adjust_placeholder'] = 'Tell what you want to adjust in the planning...';
$string['courseai_admin_addnewcourse'] = 'Create a new course with AI';
$string['courseai_back_to_context'] = 'Back to context';
$string['courseai_btn_add'] = 'Add content';
$string['courseai_btn_add_activity'] = 'Add activity';
$string['courseai_btn_add_section'] = 'Add section';
$string['courseai_btn_add_subsection'] = 'Add subsection';
$string['courseai_btn_adjust'] = 'Adjust';
$string['courseai_btn_approve'] = 'Generate course';
$string['courseai_btn_back_context'] = '← Back to context';
$string['courseai_btn_cancel'] = 'Cancel';
$string['courseai_btn_cancel_and_exit'] = 'Cancel and exit';
$string['courseai_btn_cancel_flow'] = 'Cancel';
$string['courseai_btn_discard'] = 'Discard';
$string['courseai_btn_discard_proposals'] = 'Dismiss suggestions';
$string['courseai_btn_execute_proposal'] = 'Apply selection';
$string['courseai_btn_generate'] = 'Generate';
$string['courseai_btn_guidelines'] = 'Guidelines';
$string['courseai_btn_guidelines_title'] = 'Institutional guidelines';
$string['courseai_btn_pause'] = 'Pause';
$string['courseai_btn_regenerate'] = 'Regenerate';
$string['courseai_btn_resume'] = 'Resume';
$string['courseai_btn_retry'] = 'Retry';
$string['courseai_btn_send_adjust'] = 'Send adjustment';
$string['courseai_btn_stop'] = 'Stop';
$string['courseai_btn_syllabus'] = 'Syllabus';
$string['courseai_btn_syllabus_title'] = 'Attach syllabus (PDF, DOCX, TXT)';
$string['courseai_category_general'] = 'General';
$string['courseai_chapters_label'] = 'chapters';
$string['courseai_checklist_label'] = 'Course sections';
$string['courseai_checklist_section_count'] = '{$a} sections';
$string['courseai_chip_remove_guideline'] = 'Remove guideline';
$string['courseai_chip_remove_syllabus'] = 'Remove syllabus';
$string['courseai_chip_view_guideline'] = 'View guideline';
$string['courseai_compact_prompt_placeholder'] = 'Example: Regenerate the course in just 3 sections';
$string['courseai_completion_btn_create_another'] = 'Create another course';
$string['courseai_completion_btn_open_course'] = 'Open course';
$string['courseai_completion_summary_default'] = 'Your course is ready in Moodle.';
$string['courseai_completion_summary_no_images'] = '{activities} activities were created in {units} sections.';
$string['courseai_completion_summary_with_images'] = '{activities} activities were created in {units} sections and {images} images.';
$string['courseai_completion_title'] = 'Course generated successfully!';
$string['courseai_context_subtitle'] = 'Describe the course and optionally attach a syllabus or apply institutional guidelines.';
$string['courseai_context_title'] = 'What course do you want to create?';
$string['courseai_course_creating'] = 'Plan completed. Creating the course in Moodle...';
$string['courseai_course_creating_subtitle'] = 'Generating course content...';
$string['courseai_decision_accept'] = 'Accept';
$string['courseai_decision_adjust'] = 'Adjust';

// Server-side thread log (single source of truth). These string_ids match the
// service Message names (lowercased) carried in snapshot.thread[].content.string_id
// and are localized by string_id + string_args. AI-output blocks (ai_planned_structure)
// show content.string (the full pre-rendered plan text), so the label here is secondary.
$string['courseai_decision_still_accept'] = 'Changed your mind? You can still accept the current plan.';
$string['courseai_decision_subtitle'] = 'Your plan is ready. Accept it to generate the course, or adjust it to refine the structure.';
$string['courseai_decision_title'] = 'Review your course plan';
$string['courseai_delete_activity_confirm_body'] = 'Are you sure you want to delete this activity from the plan?';
$string['courseai_delete_activity_confirm_title'] = 'Delete activity';
$string['courseai_delete_section_confirm_body'] = 'Are you sure you want to delete this section from the plan?';
$string['courseai_delete_section_confirm_title'] = 'Delete section';
$string['courseai_discussions_label'] = 'discussions';
$string['courseai_drag_handle_label'] = 'Drag to reorder';
$string['courseai_entries_label'] = 'entries';
$string['courseai_error_connection'] = 'Connection error. Please try again.';
$string['courseai_error_create_course'] = 'Error creating course.';
$string['courseai_error_generic'] = 'Could not generate the course. Please try again.';
$string['courseai_error_init_filepicker'] = 'Failed to initialize file picker.';
$string['courseai_error_init_session'] = 'Error initializing session';
$string['courseai_error_send_feedback'] = 'Error sending feedback.';
$string['courseai_error_stream_url'] = 'Could not get streaming URL.';
$string['courseai_error_upload_syllabus'] = 'Error uploading syllabus';
$string['courseai_finalizing_course'] = 'Finalizing your course…';
$string['courseai_form_tip'] = 'Tip: be specific about topic, level, duration and goals for better planning.';
$string['courseai_generate_starting'] = 'Starting...';
$string['courseai_generate_uploading_syllabus'] = 'Uploading syllabus...';
$string['courseai_generating_details'] = 'Generating details...';
$string['courseai_generating_details_for'] = 'Planning: {name}';
$string['courseai_guidelines_dialog_label'] = 'Institutional guidelines';
$string['courseai_guidelines_list_label'] = 'Guidelines list';
$string['courseai_guidelines_note_one'] = 'You can only apply one guideline per course.';
$string['courseai_guidelines_search_placeholder'] = 'Search guideline...';
$string['courseai_header_subtitle'] = 'Create complete Moodle courses with AI in minutes';
$string['courseai_header_title'] = 'Datacurso course creator AI';
$string['courseai_hint_enter'] = '↵ to generate';
$string['courseai_image_count_many'] = '{count} images';
$string['courseai_image_count_one'] = '{count} image';
$string['courseai_images_arialabel'] = 'Include images';
$string['courseai_images_label'] = 'Images';
$string['courseai_images_select_all'] = 'Select all images';
$string['courseai_images_suggested_label'] = 'suggested images';
$string['courseai_images_title'] = 'Include image suggestions in the course';
$string['courseai_init_success'] = 'Course creation session started successfully';
$string['courseai_initial_prompt_label'] = 'Initial message';
$string['courseai_lang_arialabel'] = 'Language';
$string['courseai_lang_menu_label'] = 'Language';
$string['courseai_lang_search_placeholder'] = 'Search language…';
$string['courseai_lang_title'] = 'Course language';
$string['courseai_live_note_detailed'] = 'Showing real-time detailed planning progress.';
$string['courseai_log_add_activity_target'] = '«{$a->section}», position {$a->position}';
$string['courseai_log_add_section_target'] = 'position {$a->position}';
$string['courseai_log_added_activity'] = 'You added an activity';
$string['courseai_log_added_activity_named'] = 'You added activity: {$a->title}';
$string['courseai_log_added_section'] = 'You added a section';
$string['courseai_log_added_section_named'] = 'You added section: {$a->name}';
$string['courseai_log_ai_completed'] = 'Your course is ready. I created it in Moodle.';
$string['courseai_log_ai_course_configuration'] = 'Course: {$a}';
$string['courseai_log_ai_planned_structure'] = 'Here is the structure I planned for your course';
$string['courseai_log_ai_proposals_ready'] = 'I prepared a few suggestions for you. Review them and choose how you want to continue.';
$string['courseai_log_ai_review_ready'] = 'I finished planning your course. Take a look at the plan and tell me if you want any changes.';
$string['courseai_log_ai_review_updated'] = 'I applied your changes. Take a look and tell me if you want anything else.';
$string['courseai_log_ai_section'] = 'AI planned section';
$string['courseai_log_ai_thinking'] = 'Analyzing your request...';
$string['courseai_log_ai_working'] = 'The assistant is working...';
$string['courseai_log_deleted_activity'] = 'You deleted activity: {$a}';
$string['courseai_log_deleted_section'] = 'You deleted section: {$a}';
$string['courseai_log_image_discarded'] = 'You discarded an image suggestion';
$string['courseai_log_image_regenerated'] = 'You regenerated an image suggestion';
$string['courseai_log_label'] = 'Activity';
$string['courseai_log_moved_activity'] = 'You moved "{$a->title}" to position {$a->position}';
$string['courseai_log_moved_section'] = 'You moved section "{$a->name}" to position {$a->position}';
$string['courseai_log_proposal_applied'] = 'You applied';
$string['courseai_log_proposals_dismissed'] = 'You dismissed suggestions';
// Chat-thread completeness sweep (TODO-v2 §7.3 d): every server milestone and
// user action surfaces as a turn; transient progress uses one live indicator.
$string['courseai_log_regenerated_activity'] = 'You regenerated activity';
$string['courseai_log_regenerated_section'] = 'You regenerated section: {$a}';
$string['courseai_log_reordered_activities'] = 'You reordered the activities in: {$a}';
$string['courseai_log_reordered_activities_generic'] = 'You reordered the activities';
$string['courseai_log_reordered_sections'] = 'You reordered the sections';
$string['courseai_log_user_approved'] = 'You approved the plan';
$string['courseai_log_user_request'] = 'You';
$string['courseai_menu_activity_or_resource'] = 'Activity or resource';
$string['courseai_modal_close'] = 'Close';
$string['courseai_modal_fullcontext'] = 'Complete content that will be sent to AI as context.';
$string['courseai_modal_subtitle_text'] = 'Complete content that will be sent to AI as context.';
$string['courseai_no_results'] = 'No results';
$string['courseai_notes_label'] = 'notes';
$string['courseai_options_label'] = 'options';
$string['courseai_options_menu'] = 'Creation options';
$string['courseai_pages_label'] = 'pages';
$string['courseai_plan_actions_hint'] = 'Approve the structure to continue or request adjustments.';
$string['courseai_plan_adding'] = 'Adding: {name}';
$string['courseai_plan_counter'] = 'SECTION {sections} · {activities} ACTIVITIES';
$string['courseai_plan_default_unnamed'] = '(unnamed)';
$string['courseai_plan_detailed_done_subtitle'] = 'Course planning and design completed.';
$string['courseai_plan_detailed_done_title'] = 'Detailed plan ready';
$string['courseai_plan_detailed_markdown_subtitle'] = 'Review the content and approve to start generation.';
$string['courseai_plan_detailed_markdown_title'] = 'Detailed plan generated';
$string['courseai_plan_detailed_stats'] = '{sections} sections · {activities} activities · {selectedImages}/{totalImages} images selected';
$string['courseai_plan_detailed_subtitle'] = '{current} of {total} activities planned';
$string['courseai_plan_detailed_title'] = 'Planning course content';
$string['courseai_plan_review_hint_detailed'] = 'Approve the plan to start generating course content.';
$string['courseai_plan_review_subtitle'] = 'Review sections and approve to continue.';
$string['courseai_plan_review_title'] = 'Course structure ready';
$string['courseai_plan_sections_counter'] = '{sections} sections · {activities} activities.';
$string['courseai_processing_status'] = 'Processing...';
$string['courseai_progress_label'] = 'Progress';
$string['courseai_progress_percent'] = '%';
$string['courseai_prompt_arialabel'] = 'Course description';
$string['courseai_prompt_placeholder'] = 'Example: Create an introductory Python course for first-year engineering, 8 weeks, focused on computational thinking and weekly practical exercises...';
$string['courseai_proposals_clarification_label'] = 'I need a bit more detail';
$string['courseai_proposals_destructive_badge'] = 'Deletes content';

// Planning controls — add and drag-and-drop reorder (§7).
$string['courseai_proposals_fallen_label'] = 'No longer possible';
$string['courseai_proposals_other_label'] = 'Something else';
$string['courseai_proposals_other_placeholder'] = 'Describe what you want instead…';
$string['courseai_proposals_title'] = 'Here is what I understood. Pick the option you want:';
$string['courseai_prv_live_note'] = 'Showing real-time detailed planning progress.';
$string['courseai_questions_label'] = 'questions';
$string['courseai_resize_panels'] = 'Resize panels';

// Decision log (§4).
$string['courseai_review_cancel'] = 'Cancel';
$string['courseai_review_category_label'] = 'Category';
$string['courseai_review_category_loading'] = 'Loading categories...';
$string['courseai_review_confirm'] = 'Create course';

// =====================================================================
// Backend message catalog — mirrors the service i18n catalog 1:1.
// The backend streams { string_id, string, string_args }; the client
// localizes by string_id and falls back to the sent `string`.
// `string_args` keys map to the {$a->...} placeholders below.
// =====================================================================

// Interpreted-feedback proposals (single-choice summaries).
$string['courseai_review_fullname_label'] = 'Course name';
$string['courseai_review_fullname_placeholder'] = 'Enter the course full name';
$string['courseai_review_shortname_label'] = 'Short name';
$string['courseai_review_shortname_note'] = 'If left empty, one will be generated automatically.';
$string['courseai_review_shortname_placeholder'] = 'Enter a short name (optional)';
$string['courseai_review_step_label'] = 'Final review';
$string['courseai_review_subtitle'] = 'Preview and adjust the course name, short name, and category.';
$string['courseai_review_title'] = 'Review course details';
$string['courseai_section_label'] = 'Section {section}: {name}';
$string['courseai_section_progress_no_total'] = 'Activities · {description}';
$string['courseai_section_progress_with_total'] = '{done}/{total} activities · {description}';
$string['courseai_sessions_backbtn'] = 'Back';
$string['courseai_sessions_continuebtn'] = 'Continue';
$string['courseai_sessions_empty'] = 'You have no courses yet.';
$string['courseai_sessions_newbtn'] = 'New course';
$string['courseai_sessions_title'] = 'My AI Courses';
$string['courseai_show_full_message'] = 'Show full message';
$string['courseai_show_less'] = 'Show less';
$string['courseai_show_more'] = 'Show more';
$string['courseai_sidebar_newcourse'] = 'New course';
$string['courseai_sidebar_nocourses'] = 'No courses in progress';
$string['courseai_sidebar_recent'] = 'Recent';
$string['courseai_sidebar_toggle'] = 'Toggle sidebar';
$string['courseai_sidebar_viewall'] = 'View all sessions';
$string['courseai_state_completed'] = 'COMPLETED';
$string['courseai_state_error'] = 'ERROR';
$string['courseai_state_planning'] = 'Planning...';
$string['courseai_state_starting'] = 'Starting...';
$string['courseai_state_structuring'] = 'Designing the course structure';
$string['courseai_status_adjusting'] = 'Sending adjustment...';
$string['courseai_status_approving'] = 'Approving plan...';
$string['courseai_step_context'] = 'Context';
$string['courseai_step_generating'] = 'Generation';
$string['courseai_step_planning'] = 'Planning';
$string['courseai_subsection_label'] = 'Subsection';
$string['courseai_subsections_arialabel'] = 'Include subsections';
$string['courseai_subsections_back'] = 'Back to the previous question';
$string['courseai_subsections_confirm'] = 'Confirm selection';
$string['courseai_subsections_decision_continue'] = 'Continue with regular sections';
$string['courseai_subsections_decision_enable'] = 'Enable subsections and plan';
$string['courseai_subsections_decision_exit'] = 'Leave the chat';
$string['courseai_subsections_decision_title'] = 'How do you want to organise the course?';
$string['courseai_subsections_label'] = 'Subsections';
$string['courseai_subsections_structure_other'] = 'Another structure: describe it…';
$string['courseai_subsections_structure_send'] = 'Use this structure';
$string['courseai_subsections_title'] = 'Organise sections into subsections';
$string['courseai_toggle_details'] = 'Show progress details';
$string['courseai_untitled'] = 'Untitled course';
$string['coursecreated'] = 'Course created successfully';
$string['coursegen:createactivitywithai'] = 'Create activities and resources with AI';
$string['coursegen:createcoursewithai'] = 'Create courses with AI';
$string['coursegen:manageimagegeneration'] = 'Manage image generation';
$string['coursegen:managesysteminstructions'] = 'Manage system instructions';
$string['coursegen:view_syllabus'] = 'View syllabus';
$string['createwithai'] = 'Create with AI';
$string['creating_activity'] = 'Creating a new activity…';
$string['creating_course'] = 'Creating Course...';
$string['creating_section'] = 'Creating a new section…';
$string['datacurso_service_url'] = 'DataCurso service URL';
$string['datacurso_service_url_desc'] = 'Default URL for the DataCurso AI service (standard region).';
$string['datacurso_service_url_eu'] = 'DataCurso service URL (EU)';
$string['datacurso_service_url_eu_desc'] = 'Default URL for the DataCurso AI service hosted in the EU region (GDPR-compliant).';
$string['default_behavior'] = 'Default behavior';
$string['default_behavior_desc'] = 'Choose the global default behaviour for AI image generation. This will be applied whenever course or activity overrides are not allowed.';
$string['default_prompt_assign'] = 'You are generating support images for a Moodle assignment:
- Create exactly 1 image that visually represents the assignment introduction, capturing the overall theme and context.
- Create exactly 1 image that illustrates the detailed activity instructions, showing what students are expected to do step by step.
- In both images, highlight the key concepts, expected deliverables, and the type of student work involved.';
$string['default_prompt_book'] = 'Generate 1 header image for each book chapter.';
$string['default_prompt_choice'] = 'Generate 1 illustrative image that visually represents the context and options of the choice activity.';
$string['default_prompt_data'] = 'Generate 1 illustrative image that visually represents the context and purpose of the database activity.';
$string['default_prompt_feedback'] = 'Generate 1 illustrative image that visually represents the context and purpose of the feedback activity.';
$string['default_prompt_folder'] = 'Generate 1 illustrative image that visually represents the purpose and contents of the folder resource.';
$string['default_prompt_forum'] = 'Generate 1 illustrative image for the forum introduction and 1 image for each initial discussion created automatically.';
$string['default_prompt_glossary'] = 'Generate 1 illustrative image for the glossary introduction and 1 image for each initial glossary entry created automatically.';
$string['default_prompt_label'] = 'Generate 1 illustrative image that visually represents the text and media area content.';
$string['default_prompt_lesson'] = 'Generate 1 illustrative image that visually represents the lesson introduction.';
$string['default_prompt_page'] = 'Generate 1 illustrative image for the page introduction and 1 image for the main page content.';
$string['default_prompt_quiz'] = 'Generate 1 illustrative image for the quiz introduction and 1 illustrative image for each quiz question.';
$string['default_prompt_resource'] = 'Generate illustrative images that are embedded only inside the generated document (not in the Moodle description).';
$string['default_prompt_url'] = 'Generate 1 illustrative image that visually represents the external resource or website described in the URL.';
$string['default_prompt_wiki'] = 'Generate illustrative images for the wiki introduction and for each wiki page created by the AI.';
$string['default_prompt_workshop'] = 'Generate illustrative images for the workshop introduction.';
$string['delete'] = 'Delete';
$string['deletesysteminstruction'] = 'Delete system instruction';
$string['designing_book'] = 'Designing Book: {$a->title}...';
$string['designing_database'] = 'Designing Database activity: {$a->title}...';
$string['designing_folder'] = 'Designing Folder: {$a->title}...';
$string['designing_forum'] = 'Designing Forum: {$a->title}...';
$string['designing_glossary'] = 'Designing Glossary: {$a->title}...';
$string['designing_label'] = 'Designing Label: {$a->title}...';
$string['designing_lesson'] = 'Designing Lesson: {$a->title}...';
$string['designing_page'] = 'Designing Page: {$a->title}...';
$string['designing_quiz'] = 'Designing Quiz Blueprint for: {$a->title}...';
$string['designing_resource'] = 'Designing Resource: {$a->title}...';
$string['designing_url'] = 'Designing URL activity: {$a->title}...';
$string['detecting_activity_type'] = 'Detecting requested activity type...';
$string['detecting_activity_types'] = 'Detecting activity types from user instructions...';
$string['devsettings'] = 'Development settings';
$string['devsettings_desc'] = 'Settings intended for development or staging environments only: they override the DataCurso service URLs. Leave them empty in production to use the standard service.';
$string['drafting_wiki_page'] = 'Drafting Wiki page {$a->step}/{$a->total}: {$a->title}...';
$string['edit'] = 'Edit';
$string['editsysteminstruction'] = 'Edit system instruction';
$string['enabled'] = 'Enabled';
$string['enablesubsections'] = 'Enable subsections';
$string['enablesubsections_desc'] = 'Allow the AI course creator to organise course sections into subsections (requires the Subsection activity module to be enabled).';
$string['enablesubsections_error_moddisabled'] = 'The AI subsections feature cannot be enabled because the Subsection activity module (mod_subsection) is disabled on this site. Enable it in Site administration > Plugins > Activity modules > Manage activities and try again.';
$string['enter_message'] = 'Enter your message';
$string['error'] = 'Error';
$string['error_api_response'] = 'Invalid response from AI service';
$string['error_context_type_required'] = 'Please select a context type to continue (Syllabus or Custom prompt).';
$string['error_creating_course'] = '❌ Error creating course';
$string['error_executing_plan'] = 'Error executing the course plan';
$string['error_generating_chapter'] = 'Error generating Chapter {$a->step}: {$a->error}. Skipping.';
$string['error_generating_feedback_question'] = 'Error generating question {$a->step}. Skipping.';
$string['error_generating_quiz_question'] = 'Error generating Q{$a->step}. Skipping.';
$string['error_generating_resource'] = 'There was a problem generating the requested resource. Please try again later.';
$string['error_invalid_coursedata'] = 'Stored course data for this planning session is invalid.';
$string['error_invalid_package'] = 'The generated package is not valid: {$a}. Please try generating the resource again.';
$string['error_invalid_resource_type'] = 'Could not find a valid resource type from AI response: {$a}. Please try again.';
$string['error_label'] = 'Error';
$string['error_missing_category'] = 'The course category is missing from the stored course data.';
$string['error_missing_package_info'] = 'The AI response does not include the package file information (file_path/file_name) required to create this resource. Please try again.';
$string['error_missing_parameters'] = 'Could not get parameters to create the module from the AI response. Please try again.';
$string['error_missing_resource_type'] = 'Could not get the resource type from the AI response. Please try again.';
$string['error_module_disabled'] = 'The activity type "{$a}" is disabled on this site. Ask the administrator to enable it before generating this resource.';
$string['error_no_course_id'] = 'Could not get course ID';
$string['error_no_coursedata_found'] = 'No stored course data was found for this planning session.';
$string['error_no_module_job_found'] = 'No module generation job was found for this course and user.';
$string['error_no_session_found'] = 'No planning session found for this course and user.';
$string['error_no_system_instructions_configured'] = 'There are no system instructions configured. Please create system instructions first in the Manage system instructions page.';
$string['error_planning_activity'] = 'Error planning {$a->type} \'{$a->title}\': {$a->error}';

// Review interrupts and clarification.
$string['error_processing_activity'] = 'Major error processing activity \'{$a->title}\': {$a->error}';
$string['error_processing_request'] = 'Error processing your request';
$string['error_prompt_required'] = 'You must provide a prompt when the context type is "Custom prompt".';
$string['error_saving_session'] = 'Failed to save the planning session. Please try again.';
$string['error_sending_activity_file'] = 'Error uploading file to AI activity session';
$string['error_sending_feedback'] = 'Error sending feedback to AI planning session';
$string['error_sending_message'] = 'Error sending message';
$string['error_starting_course_planning'] = 'There was an error starting the course planning. Please try again';
$string['error_syllabus_pdf_required'] = 'You must upload a Syllabus PDF when the context type is "Syllabus".';
$string['error_system_instruction_required'] = 'Please select a system instruction when the "Use system instruction" option is enabled.';
$string['error_upload_failed'] = 'Failed to upload syllabus';
$string['error_upload_failed_system_instruction'] = 'Failed to upload system instruction';
$string['execution_activity_done'] = '✅ Activity completed ({$a->done}/{$a->total}) — {$a->percent}%';
$string['execution_activity_start'] = '🧩 Starting activity #{$a->index} (section {$a->section}): {$a->title}';
$string['execution_error_activity'] = '❌ Error in an activity';
$string['execution_progress'] = '📈 Progress: {$a->done}/{$a->total} ({$a->percent}%)';
$string['failed_assignment_params'] = 'Failed to generate Assignment parameters';
$string['failed_book_params'] = 'Failed to generate Book parameters';
$string['failed_choice_params'] = 'Failed to generate Choice parameters: {$a->error}';
$string['failed_database_params'] = 'Failed to generate Data parameters';
$string['failed_feedback_blueprint'] = 'Failed to generate Feedback blueprint';
$string['failed_folder_params'] = 'Failed to generate Folder parameters';
$string['failed_forum_params'] = 'Failed to generate Forum parameters';
$string['failed_glossary_params'] = 'Failed to generate Glossary parameters';
$string['failed_label_params'] = 'Failed to generate Label parameters';
$string['failed_lesson_params'] = 'Failed to generate Lesson parameters';
$string['failed_page_params'] = 'Failed to generate Page parameters';
$string['failed_quiz_params'] = 'Failed to generate Quiz parameters';
$string['failed_resource_params'] = 'Failed to generate Resource parameters';
$string['failed_url_params'] = 'Failed to generate URL parameters';
$string['failed_wiki_structure'] = 'Failed to plan Wiki structure';
$string['failed_workshop_params'] = 'Failed to generate Workshop parameters';

// Proposals UI — free-text feedback interpretation.
$string['feedback_blueprint_ready'] = 'Feedback blueprint ready. Generating {$a->total} questions...';
$string['folder_ready'] = 'Folder ready: \'{$a->name}\'';
$string['forum_ready'] = 'Forum ready: \'{$a->name}\'';
$string['forum_ready_with_discussions'] = 'Forum ready: \'{$a->name}\' with {$a->count} discussion(s)';
$string['generalsettings'] = 'General settings';
$string['generating_assignment'] = 'Generating Assignment content for: {$a->title}...';
$string['generating_chapter'] = 'Generating Chapter {$a->step}/{$a->total}: \'{$a->title}\'...';
$string['generating_choice'] = 'Generating Choice (Consulta) content for: {$a->title}...';
$string['generating_detailed_plans'] = 'Generating detailed activity plans…';
$string['generating_feedback'] = 'Generating Feedback content for: {$a->title}...';
$string['generating_feedback_question'] = 'Generating question {$a->step}/{$a->total} ({$a->type})...';
$string['generating_images'] = 'Generating images...';
$string['generating_initial_structure'] = 'Generating initial course structure…';
$string['generating_quiz_question'] = 'Generating Q{$a->step}/{$a->total} ({$a->type}): \'{$a->question}\'...';
$string['generating_workshop'] = 'Generating Workshop (Taller) content for: {$a->title}...';

// Content generators — progress / ready.
$string['generation_rules'] = 'Generation rules';
$string['generation_rules_desc'] = 'Enable or disable automatic image generation for each supported activity type and define their prompts.';
$string['global_ai_policies_desc'] = 'Configure when and how AI-generated images are created for course content.';
$string['help_maximages_assign_instructions'] = 'Assignment instructions images';
$string['help_maximages_assign_instructions_help'] = 'Maximum number of AI-generated images allowed for the assignment instructions. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_assign_intro'] = 'Assignment intro images';
$string['help_maximages_assign_intro_help'] = 'Maximum number of AI-generated images allowed for the assignment introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_book_chapter'] = 'Book chapter images';
$string['help_maximages_book_chapter_help'] = 'Maximum number of AI-generated images allowed across ALL book chapters. If set to 0, the AI will not generate any images here.';
$string['help_maximages_book_intro'] = 'Book intro images';
$string['help_maximages_book_intro_help'] = 'Maximum number of AI-generated images allowed for the book introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_choice_intro'] = 'Choice intro images';
$string['help_maximages_choice_intro_help'] = 'Maximum number of AI-generated images allowed for the choice introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_data_intro'] = 'Database intro images';
$string['help_maximages_data_intro_help'] = 'Maximum number of AI-generated images allowed for the database introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_feedback_intro'] = 'Feedback intro images';
$string['help_maximages_feedback_intro_help'] = 'Maximum number of AI-generated images allowed for the feedback introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_feedback_label'] = 'Feedback label images';
$string['help_maximages_feedback_label_help'] = 'Maximum number of AI-generated images allowed for feedback label items. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_folder_intro'] = 'Folder intro images';
$string['help_maximages_folder_intro_help'] = 'Maximum number of AI-generated images allowed for the folder introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_forum_discussions'] = 'Forum discussions images';
$string['help_maximages_forum_discussions_help'] = 'Maximum number of AI-generated images allowed across ALL forum discussions. If set to 0, the AI will not generate any images here.';
$string['help_maximages_forum_intro'] = 'Forum intro images';
$string['help_maximages_forum_intro_help'] = 'Maximum number of AI-generated images allowed for the forum introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_glossary_entries'] = 'Glossary entries images';
$string['help_maximages_glossary_entries_help'] = 'Maximum number of AI-generated images allowed across ALL glossary entries. If set to 0, the AI will not generate any images here.';
$string['help_maximages_glossary_intro'] = 'Glossary intro images';
$string['help_maximages_glossary_intro_help'] = 'Maximum number of AI-generated images allowed for the glossary introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_label_intro'] = 'Label images';
$string['help_maximages_label_intro_help'] = 'Maximum number of AI-generated images allowed for the label content. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_lesson_intro'] = 'Lesson intro images';
$string['help_maximages_lesson_intro_help'] = 'Maximum number of AI-generated images allowed for the lesson introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_page_intro'] = 'Page intro images';
$string['help_maximages_page_intro_help'] = 'Maximum number of AI-generated images allowed for the page introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_page_page'] = 'Page content images';
$string['help_maximages_page_page_help'] = 'Maximum number of AI-generated images allowed for the main page content. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_quiz_intro'] = 'Quiz intro images';
$string['help_maximages_quiz_intro_help'] = 'Maximum number of AI-generated images allowed for the quiz introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_quiz_questions'] = 'Quiz question images';
$string['help_maximages_quiz_questions_help'] = 'Maximum number of AI-generated images allowed across ALL quiz questions. If set to 0, the AI will not generate any images here.';
$string['help_maximages_resource_document'] = 'Resource document images';
$string['help_maximages_resource_document_help'] = 'Maximum number of AI-generated images allowed within the generated document. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_url_intro'] = 'URL intro images';
$string['help_maximages_url_intro_help'] = 'Maximum number of AI-generated images allowed for the URL introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_wiki_intro'] = 'Wiki intro images';
$string['help_maximages_wiki_intro_help'] = 'Maximum number of AI-generated images allowed for the wiki introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_maximages_wiki_pages'] = 'Wiki pages images';
$string['help_maximages_wiki_pages_help'] = 'Maximum number of AI-generated images allowed across ALL wiki pages. If set to 0, the AI will not generate any images here.';
$string['help_maximages_workshop_intro'] = 'Workshop intro images';
$string['help_maximages_workshop_intro_help'] = 'Maximum number of AI-generated images allowed for the workshop introduction. If set to 0, the AI will not generate any images in this section.';
$string['help_part_maximages'] = 'Maximum images per part';
$string['help_part_maximages_help'] = 'Controls the maximum number of AI images for this activity part. Set to 0 for no images.';
$string['images_generated'] = 'Images generated';

// Activity-graph status.
$string['intent_requires_parent'] = 'action \'{$a->action}\' requires a valid parent_section_id';
$string['intent_requires_targets'] = 'action \'{$a->action}\' requires target_ids';
$string['intent_single_target'] = 'action \'{$a->action}\' accepts at most one target';
$string['intent_targets_outside_parent'] = 'targets do not belong to the parent section: {$a->targets}';
$string['intent_unknown_proposal_targets'] = 'unknown or expired proposal targets: {$a->targets}';
$string['intent_unknown_targets'] = 'unknown or deleted {$a->kind} targets: {$a->targets}';
$string['invalidsysteminstruction'] = 'Invalid system instruction';
$string['label_ready'] = 'Label ready: \'{$a->name}\'';
$string['log_add_activity'] = 'You added an activity';
$string['log_add_section'] = 'You added a section';
$string['log_add_subsection'] = 'You added a subsection';
$string['log_delete_activity'] = 'You deleted an activity';
$string['log_delete_activity_named'] = 'You deleted activity: {$a->title}';
$string['log_delete_section'] = 'You deleted a section';
$string['log_delete_section_named'] = 'You deleted section: {$a->name}';
$string['log_discard_image'] = 'You discarded an image suggestion';
$string['log_move_activity_to'] = 'You moved «{$a->title}» to «{$a->section}».';
$string['log_moved_activity'] = 'You moved "{$a->title}" to position {$a->position}';
$string['log_moved_section'] = 'You moved section "{$a->name}" to position {$a->position}';
$string['log_proposal_applied'] = 'You applied a suggestion';
$string['log_proposal_custom'] = 'You applied your own change';
$string['log_proposals_dismissed'] = 'You dismissed the suggestions';
$string['log_reorder_activities'] = 'You reordered the activities';
$string['log_reorder_sections'] = 'You reordered the sections';
$string['log_replan_activity'] = 'You asked me to replan an activity';
$string['log_replan_image'] = 'You asked me to regenerate an image';
$string['log_replan_section'] = 'You asked me to replan a section';
$string['log_user_adjusted'] = 'You requested changes';
$string['log_user_approved'] = 'You approved the plan';
$string['log_user_chose_structure'] = 'You chose the course structure.';
$string['log_user_continued_without_subsections'] = 'You continued with regular sections only.';
$string['log_user_enabled_subsections'] = 'You enabled subsections for this course.';
$string['log_user_resumed'] = 'You resumed the generation';
$string['log_user_stopped'] = 'You stopped the generation';
$string['manage_image_generation'] = 'Manage image generation';
$string['managesysteminstructions'] = 'Manage system instructions';
$string['message_sent_successfully'] = 'Message sent successfully to AI planning session.';
$string['mode_auto'] = 'Automatic';
$string['mode_auto_desc'] = 'Let the AI decide automatically, informed by the user prompt or system instructions, where to generate images in each activity.';
$string['mode_disabled'] = 'Disabled';
$string['mode_disabled_desc'] = 'The AI will not generate any images for activities in this mode.';
$string['mode_manual'] = 'Manual';
$string['mode_manual_desc'] = 'Configure manually, per activity type, where images will be generated and how many for each part.';
$string['module_creation_subtitle'] = 'Please wait while the content is generated';
$string['module_creation_title'] = 'Creating module...';
$string['module_streaming_add_error'] = 'Could not add the activity to the course.';
$string['module_streaming_add_problem'] = 'There was a problem adding the activity';
$string['module_streaming_added_success'] = '✅ Activity added to course correctly!';
$string['module_streaming_complete'] = '🎉 Your activity has been created successfully!';
$string['module_streaming_creation_error'] = '⚠️ An error occurred during activity creation';
$string['module_streaming_images_done'] = '✅ Images generated correctly';
$string['module_streaming_images_start'] = '🎨 Creating custom images...';
$string['module_streaming_output_start'] = '⚙️ Finalizing and preparing activity...';
$string['module_streaming_parameters_done'] = '✅ Configuration applied';
$string['module_streaming_parameters_start'] = '🔧 Applying activity configuration...';
$string['module_streaming_schema_done'] = '✅ Content structure ready';
$string['module_streaming_schema_start'] = '📋 Designing content structure...';
$string['module_streaming_start'] = '🚀 Starting activity creation...';
$string['noimages'] = 'Do not generate images';
$string['nosysteminstructions'] = 'No system instructions found';
$string['override_activity'] = 'Allow activity override';
$string['override_activity_desc'] = 'Allow activity settings to override course defaults.';
$string['override_course'] = 'Allow course override';
$string['override_course_desc'] = 'Allow course settings to override global image generation defaults.';
$string['page_ready'] = 'Page ready: \'{$a->name}\'';
$string['planning_activity'] = 'Planning {$a->type} \'{$a->title}\'…';
$string['planning_chat_placeholder'] = 'Describe the adjustments you want to make to the course planning...';
$string['planning_completed'] = 'Planning completed';
$string['planning_wiki'] = 'Planning Wiki: {$a->title}...';
$string['pluginname'] = 'Course Creator AI';
$string['poweredby'] = 'Powered by';
$string['poweredby_datacurso_arialabel'] = 'Powered by Data Curso LLC';
$string['privacy:metadata:local_coursegen'] = 'Course Creator AI stores personal data to support AI-driven course and module generation.';
$string['privacy:metadata:local_coursegen_course_context'] = 'Context preferences stored for course planning.';
$string['privacy:metadata:local_coursegen_course_context:context_type'] = 'The selected context type for the course.';
$string['privacy:metadata:local_coursegen_course_context:courseid'] = 'The ID of the course whose context preferences are stored.';
$string['privacy:metadata:local_coursegen_course_context:lang'] = 'The language code used by the AI to respond and generate course content.';
$string['privacy:metadata:local_coursegen_course_context:prompt_text'] = 'The custom prompt text provided for the course.';
$string['privacy:metadata:local_coursegen_course_context:system_instruction_id'] = 'The selected system instruction ID for the course.';
$string['privacy:metadata:local_coursegen_course_context:timecreated'] = 'The time when the course context record was created.';
$string['privacy:metadata:local_coursegen_course_context:timemodified'] = 'The time when the course context record was last updated.';
$string['privacy:metadata:local_coursegen_course_context:usermodified'] = 'The ID of the user who last modified the course context.';
$string['privacy:metadata:local_coursegen_course_sessions'] = 'Course planning sessions created through the AI service.';
$string['privacy:metadata:local_coursegen_course_sessions:courseid'] = 'The ID of the course being planned.';
$string['privacy:metadata:local_coursegen_course_sessions:session_id'] = 'The session identifier returned by the AI service.';
$string['privacy:metadata:local_coursegen_course_sessions:status'] = 'The current status of the course planning session.';
$string['privacy:metadata:local_coursegen_course_sessions:timecreated'] = 'The time when the course planning session was created.';
$string['privacy:metadata:local_coursegen_course_sessions:timemodified'] = 'The time when the course planning session was last updated.';
$string['privacy:metadata:local_coursegen_course_sessions:userid'] = 'The ID of the user who initiated the course planning session.';
$string['privacy:metadata:local_coursegen_module_jobs'] = 'Details of AI module generation jobs queued by users.';
$string['privacy:metadata:local_coursegen_module_jobs:beforemod'] = 'The module ID before which the new activity should be inserted.';
$string['privacy:metadata:local_coursegen_module_jobs:context_type'] = 'The context type provided when running the module job.';
$string['privacy:metadata:local_coursegen_module_jobs:courseid'] = 'The ID of the course associated with the module job.';
$string['privacy:metadata:local_coursegen_module_jobs:generate_images'] = 'Whether the module job will generate images.';
$string['privacy:metadata:local_coursegen_module_jobs:job_id'] = 'The identifier returned by the AI service for the module job.';
$string['privacy:metadata:local_coursegen_module_jobs:sectionnum'] = 'The course section number where the activity should be created.';
$string['privacy:metadata:local_coursegen_module_jobs:status'] = 'The current status of the module job.';
$string['privacy:metadata:local_coursegen_module_jobs:system_instruction_name'] = 'The system instruction name provided to the AI service.';
$string['privacy:metadata:local_coursegen_module_jobs:timecreated'] = 'The time when the module job was created.';
$string['privacy:metadata:local_coursegen_module_jobs:timemodified'] = 'The time when the module job was last updated.';
$string['privacy:metadata:local_coursegen_module_jobs:userid'] = 'The ID of the user who started the module job.';
$string['privacy:metadata:local_coursegen_system_instruction'] = 'System instructions created or edited for course generation.';
$string['privacy:metadata:local_coursegen_system_instruction:content'] = 'The stored description of the system instruction.';
$string['privacy:metadata:local_coursegen_system_instruction:deleted'] = 'Whether the system instruction is marked as deleted.';
$string['privacy:metadata:local_coursegen_system_instruction:name'] = 'The name of the system instruction.';
$string['privacy:metadata:local_coursegen_system_instruction:timecreated'] = 'The time when the system instruction was created.';
$string['privacy:metadata:local_coursegen_system_instruction:timemodified'] = 'The time when the system instruction was last updated.';
$string['privacy:metadata:local_coursegen_system_instruction:usermodified'] = 'The ID of the user who last modified the system instruction.';
$string['prompt_assign_label'] = 'Image prompt for assignment';
$string['prompt_book_label'] = 'Book image prompt';
$string['prompt_choice_label'] = 'Choice image prompt';
$string['prompt_data_label'] = 'Database image prompt';
$string['prompt_feedback_label'] = 'Feedback image prompt';
$string['prompt_folder_label'] = 'Folder image prompt';
$string['prompt_forum_label'] = 'Forum image prompt';
$string['prompt_glossary_label'] = 'Glossary image prompt';
$string['prompt_label_label'] = 'Text and media area image prompt';
$string['prompt_lesson_label'] = 'Lesson image prompt';
$string['prompt_page_label'] = 'Page image prompt';
$string['prompt_quiz_label'] = 'Quiz image prompt';
$string['prompt_resource_label'] = 'File image prompt';
$string['prompt_url_label'] = 'URL image prompt';
$string['prompt_wiki_label'] = 'Wiki image prompt';
$string['prompt_workshop_label'] = 'Workshop image prompt';
$string['proposal_add_activity'] = 'Add an activity to section «{$a->section}» {$a->position}';
$string['proposal_add_section'] = 'Add a section {$a->position}';
$string['proposal_add_subsection'] = 'Add a subsection to section «{$a->section}» {$a->position}';
$string['proposal_adjust_all_details'] = 'Regenerate every activity\'s content, keeping the sections';

// Planning pipeline status.
$string['proposal_delete_activity'] = 'Delete activity(ies): {$a->names}';
$string['proposal_delete_section'] = 'Delete section(s): {$a->names}';
$string['proposal_full_regeneration'] = 'Rebuild the WHOLE course structure (previous adjustments are lost)';
$string['proposal_move_activity'] = 'Move {$a->names} to «{$a->section}» {$a->position}';
$string['proposal_not_executable'] = 'The chosen proposal is no longer executable: {$a->reason}';

// Content generators — intros.
$string['proposal_not_found'] = 'unknown or expired proposal: {$a->proposal_id}';
$string['proposal_reorder_activities'] = 'Reorder the activities to: {$a->names}';
$string['proposal_reorder_sections'] = 'Reorder the sections to: {$a->names}';
$string['proposal_replace_activity'] = 'Replace activity {$a->names}';
$string['proposal_replan_activity'] = 'Regenerate the content of activity {$a->names}';
$string['proposal_replan_image'] = 'Regenerate image(s) {$a->names}';
$string['proposal_replan_section'] = 'Regenerate the content of section {$a->names}';
$string['quiz_config_ready'] = 'Quiz configuration ready. Generating {$a->total} questions...';
$string['replanning_activities'] = 'Replanning activity(ies)…';
$string['replanning_sections'] = 'Replanning section(s)…';
$string['resource_created'] = 'Resource {$a} created successfully.';
$string['result_not_ready'] = 'Result not generated yet';

// Validation errors (InvalidIntent → 422).
$string['retry_exhausted'] = 'The AI service is still busy after {$a->max} attempts. Please retry.';
$string['retrying'] = 'The AI service is busy — retrying (attempt {$a->attempt} of {$a->max})…';
$string['review_plan_activity'] = 'Approve this plan or send adjustments.';
$string['review_plan_detailed'] = 'Approve the detailed plan or send adjustments.';
$string['sections_deleted'] = 'Deleted {$a->count} section(s) from the plan.';
$string['sections_reordered'] = 'Sections reordered.';
$string['send'] = 'Send';
$string['session_not_found'] = 'Session not found';
$string['setting'] = 'Setting';
$string['settings_error'] = 'An error occurred while saving settings.';
$string['settings_saved'] = 'Settings saved.';
$string['status_creating'] = 'Creating';
$string['status_failed'] = 'Failed';

// Review modal strings.
$string['status_pending'] = 'Planning';
$string['subsections_decision_available'] = 'Your request asks for subsections, but the subsections option is off for this course. How do you want to proceed?';
$string['subsections_decision_unavailable'] = 'Your request asks for subsections, but subsections are not available on this site. How do you want to proceed?';
$string['subsections_structure_question'] = 'Your request organized the content into subsections. Here are some ways to arrange it with regular sections only — pick one or describe your own.';
$string['systeminstructioncontent'] = 'System instruction content';
$string['systeminstructioncontent_help'] = 'Define clear, detailed instructions that the AI should follow precisely when generating course content, including steps, constraints, tone, and any guidelines it should always respect.';
$string['systeminstructioncreated'] = 'Created';
$string['systeminstructiondeleted'] = 'System instruction deleted successfully';
$string['systeminstructionmodified'] = 'Modified';
$string['systeminstructionname'] = 'System instruction name';
$string['systeminstructionname_help'] = 'Enter the name of the system instruction you will use for course design.';
$string['systeminstructionnameexists'] = 'A system instruction with this name already exists';
$string['systeminstructionsaved'] = 'System instruction saved successfully';
$string['thread_not_found'] = 'Thread not found';
$string['tooltip_enable_assign'] = 'Enable images for assignment content.';
$string['tooltip_enable_book'] = 'Enable images for book content.';
$string['tooltip_enable_choice'] = 'Enable images for choice content.';
$string['tooltip_enable_data'] = 'Enable images for database activity content.';
$string['tooltip_enable_feedback'] = 'Enable images for feedback activity content.';
$string['tooltip_enable_folder'] = 'Enable images for folder resource content.';
$string['tooltip_enable_forum'] = 'Enable images for forum content.';
$string['tooltip_enable_glossary'] = 'Enable images for glossary content.';
$string['tooltip_enable_label'] = 'Enable images for text and media area content.';
$string['tooltip_enable_lesson'] = 'Enable images for lesson content.';
$string['tooltip_enable_page'] = 'Enable images for page content.';
$string['tooltip_enable_quiz'] = 'Enable images for quiz content.';
$string['tooltip_enable_resource'] = 'Enable images for the generated file content (PDF, Word, etc.).';
$string['tooltip_enable_url'] = 'Enable images for the URL description shown in Moodle.';
$string['tooltip_enable_wiki'] = 'Enable images for wiki introductions and initial pages.';
$string['tooltip_enable_workshop'] = 'Enable images for workshop introduction and instructions.';
$string['tooltip_override_activity'] = 'Enable activity-level overrides.';
$string['tooltip_override_course'] = 'Enable course-level overrides.';
$string['transforming_document'] = 'Transforming document into requested file format...';
$string['unauthorized'] = 'Unauthorized access';
$string['wiki_ready'] = 'Wiki ready: \'{$a->name}\' with {$a->count} pages.';
$string['writing_workshop_instructions'] = 'Writing the Workshop instructions and context...';
$string['yesimages'] = 'Generate images';

// Wizard UI strings.
