messages:
  tutorial_written: "Tutorial written to {path}"
  render_ok: "Tutorial renders without error."
  render_failed: "Rendering failed: {message}"
  skip_render_quarto: "Skipping render check for Quarto Live output."
  quarto_extension_missing: "Quarto Live extension not found near the input file ({path}). Run `quarto add r-wasm/quarto-live` in the project root."
  converting_files: "Converting {n} file(s)"
  conversion_complete: "Conversion complete: {ok} succeeded, {err} failed."
  no_files_found: "No matching files found in {dir}"
  lint_blocking: "Lint detected {n} blocking error(s). Fix them or set `lint_strict = FALSE`."

errors:
  input_non_empty: "`input` must be a non-empty file path."
  input_not_found: "Input file not found: {path}"
  input_is_dir: "`input` must point to a file, not a directory: {path}"
  input_extension: "Unsupported input extension '.{ext}'. Expected .Rmd or .qmd."
  output_non_empty: "`output_file` must be a non-empty file path."
  output_destination_required: "Provide `output_dir` or `output_file`; tutorizeR does not write beside the source file by default."
  output_file_required: "Provide `output_file`; this function does not write beside the input file by default."
  path_required: "Provide `path`; this function does not write to the current working directory by default."
  output_same_as_input: "`output_file` cannot be the same as `input_file`."
  output_exists: "Output already exists. Set `overwrite = TRUE` to replace: {path}"
  seed_invalid: "`seed` must be NULL or a single non-missing numeric value."
  parse_failed: "Could not parse input document: {message}"
  write_failed: "Failed to write output file: {message}"
  file_not_found: "File not found: {path}"
  dir_not_found: "Directory not found: {path}"
  addin_rstudio_only: "RStudio addins are only available inside RStudio."
  addin_save_file: "Please save the active document before converting."
  mcq_empty: "MCQ block is empty. Provide YAML content."
  mcq_yaml: "Invalid MCQ YAML: {message}"
  mcq_question: "MCQ block #{index} is missing a non-empty 'question' field."
  mcq_answers_min: "MCQ block #{index} must contain at least two answers."
  mcq_answer_text: "MCQ block #{index} has one or more answers without text."
  mcq_answer_correct: "MCQ block #{index} must mark at least one answer with correct: true."
  qb_not_found: "No question-bank files found in: {path}"
  qb_invalid_object: "`bank` must be a tutorize_question_bank object."
  qb_missing_ids: "MCQ reference block requires at least one id, tags, or n."
  qb_ref_unknown_id: "Unknown question id in MCQ ref: {id}"
  qb_ref_requires_bank: "MCQ reference blocks require `question_bank` in tutorize()."
  qb_no_match: "No question matched MCQ ref selection criteria."
  lint_unknown_tag: "Unknown tutorizeR tag '{tag}'"
  lint_tag_conflict: "Conflicting tags in chunk '{label}': {tags}"

labels:
  interactive_tutorial: "Interactive tutorial"
  setup_added: "# Setup chunk added by tutorizeR"
  write_code: "# Write your code below"
  hint_title: "**Hint(s)**"
  locked_notice: "_Locked exercise: enable this block only for demonstration._"
  quiz: "Quiz"
  solution: "Solution"

addin:
  output_format: "Output format (learnr|quarto-live)"
  assessment: "Assessment (code|mcq|both)"
  overwrite_question: "Overwrite existing output if present?"
  select_output_dir: "Select output directory"
  select_folder: "Select folder to convert"
  recursive_question: "Scan subdirectories recursively?"
  preview_title: "tutorizeR Preview"
  preview_refresh: "Refresh preview"
  preview_convert: "Convert"
  preview_force: "Convert even with lint errors"
