Files
classroomio/packages/storybook/src/molecules/exercise-question/question-labels.ts
T

120 lines
6.7 KiB
TypeScript
Raw Normal View History

2026-03-09 11:18:22 +01:00
/**
* Hardcoded English labels for ExerciseQuestion Storybook demos.
*
* These keys must stay in sync with apps/dashboard/src/lib/features/course/components/exercise/question-labels.ts,
* which provides translated values via getExerciseQuestionLabels(). When adding or changing labels for a question type,
* update both files.
*/
export const QUESTION_LABELS = {
'common.option_prefix': 'Option',
'common.remove': 'Remove',
'common.add_option': 'Add option',
'common.correct_badge': 'Correct',
'common.incorrect_badge': 'Incorrect',
2026-03-09 11:18:22 +01:00
'common.not_set': 'Not set',
'navigation.previous': 'Previous',
'navigation.next': 'Next',
'navigation.finish': 'Finish',
'question.edit.title_label': 'Title',
'question.edit.title_placeholder': 'Question prompt',
'question.edit.description_label': 'Description (optional)',
'question.edit.description_placeholder': 'Add additional context for this question',
'question.edit.add_description': 'Add description',
'question.edit.remove_description': 'Remove description',
'question.edit.media_menu_sr': 'Question extras menu',
'question.edit.add_image': 'Add image',
'question.edit.add_video': 'Add video',
'question.edit.remove_image_tooltip': 'Remove image',
'question.edit.remove_image_sr': 'Remove image',
'question.edit.remove_video_tooltip': 'Remove video',
'question.edit.remove_video_sr': 'Remove video',
'question.edit.image_alt': 'Question context',
'question.edit.video_modal_title': 'Add YouTube video',
'question.edit.video_link_label': 'YouTube link',
'question.edit.video_link_placeholder': 'https://www.youtube.com/watch?v=',
'question.edit.video_add_button': 'Add video',
'question.edit.video_invalid_link': 'Please enter a valid YouTube link.',
'question.edit.upload_error_only_images': 'Only image files are supported.',
'question.edit.upload_error_skipped': 'Some files were skipped because they are not images.',
'question.edit.upload_error_failed': 'Failed to upload image. Try again.',
'radio.edit.helper': 'Select exactly one correct option.',
'radio.edit.correct_selected_tooltip': 'Correct answer selected',
'radio.edit.mark_correct_tooltip': 'Mark as correct answer',
'radio.edit.mark_correct_sr': 'Mark option as correct',
'checkbox.edit.helper': 'Mark one or more options as correct.',
'checkbox.edit.correct_selected_tooltip': 'Correct answer selected',
'checkbox.edit.toggle_correct_tooltip': 'Toggle correct answer',
'checkbox.edit.toggle_correct_sr': 'Toggle option as correct',
'true_false.true_label': 'True',
'true_false.false_label': 'False',
'true_false.edit.correct_answer_label': 'Correct answer',
'true_false.preview.correct_value_label': 'Correct value',
'short_answer.edit.instructions_placeholder': 'Optional instructions',
'short_answer.take.placeholder': 'Type your answer',
'short_answer.preview.helper': 'Free-text answer question.',
'short_answer.review.your_answer_label': 'Submitted:',
'short_answer.review.accepted_label': 'Accepted answers',
2026-03-09 11:18:22 +01:00
'numeric.edit.correct_value_label': 'Correct value',
'numeric.edit.correct_value_info': 'Expected numeric answer to mark as correct.',
'numeric.edit.tolerance_label': 'Tolerance',
'numeric.edit.tolerance_info': 'Allowed +/- range from the correct value.',
'numeric.edit.correct_value_placeholder': 'Correct value',
'numeric.edit.tolerance_placeholder': 'Tolerance',
'numeric.take.placeholder': 'Enter a number',
'numeric.preview.correct_value_label': 'Correct value',
'numeric.preview.tolerance_label': 'Tolerance',
'numeric.review.your_answer_label': 'Submitted:',
'numeric.review.in_range': 'Within tolerance',
'numeric.review.out_of_range': 'Outside tolerance',
2026-03-09 11:18:22 +01:00
'fill_blank.edit.accepted_answers_placeholder': 'Accepted answers (comma separated)',
'fill_blank.take.placeholder': 'Enter answers separated by commas',
'fill_blank.preview.accepted_answers_label': 'Accepted answers',
'fill_blank.review.your_answer_label': 'Submitted:',
2026-03-09 11:18:22 +01:00
'file_upload.edit.accepted_types_placeholder': 'Select accepted file formats',
'file_upload.edit.max_size_placeholder': 'Max size (MB)',
'file_upload.take.selected_file_label': 'Selected file',
'file_upload.take.upload_button': 'Upload',
'file_upload.take.upload_progress': 'Uploading...',
'file_upload.take.upload_error': 'Upload failed',
'file_upload.take.view': 'View',
'file_upload.take.download': 'Download',
'file_upload.preview.accepted_types_label': 'Accepted types',
'file_upload.preview.max_size_label': 'Max size (MB)',
'link.edit.instructions_placeholder': 'Optional instructions for learners',
'link.edit.helper': 'Learners can submit one or more valid URLs (http/https).',
'link.take.helper': 'Add one or more links. Only valid http/https URLs are accepted.',
'link.take.placeholder': 'https://example.com/resource-{index}',
'link.take.remove_tooltip': 'Remove link',
'link.take.remove_sr': 'Remove link',
'link.take.invalid_url_error': 'Please enter a valid URL (http/https).',
'link.take.add_button': 'Add link',
'link.preview.empty': 'No links submitted.',
'link.preview.item_label': 'Link {index}',
'matching.edit.helper': 'Configure pairs in question settings via host app controls.',
'matching.take.placeholder': 'Provide matching pairs as JSON',
'matching.preview.helper': 'Matching pairs preview is provided by host app settings.',
'ordering.fallback_step_prefix': 'Step',
'ordering.edit.helper': 'Drag items to define the correct order.',
'ordering.edit.add_step': 'Add step',
'ordering.edit.empty': 'Add steps, then drag to set the expected order.',
'ordering.edit.step_placeholder': 'Step {index}',
'ordering.edit.remove_step_tooltip': 'Remove step',
'ordering.take.helper': 'Drag and drop to arrange the items in the correct order.',
'ordering.take.empty': 'No ordering items are configured for this question yet.',
'ordering.preview.submitted_label': 'Submitted order',
'ordering.preview.expected_label': 'Expected order',
'ordering.preview.matches': 'Submitted order matches expected order.',
'ordering.preview.differs': 'Submitted order differs from expected order.',
'hotspot.edit.helper': 'Configure hotspot image and zones in question settings via host app controls.',
'hotspot.take.placeholder': 'Provide hotspot coordinates as JSON',
'hotspot.preview.helper': 'Hotspot preview is provided by host app image and hotspot settings.',
'textarea.edit.placeholder': 'Learners will answer with long-form text',
'textarea.take.placeholder': 'Write your answer',
'submission.common.no_answer': 'No answer',
'submission.common.other': 'Other',
'submission.chart.responses': 'Responses',
'submission.chart.no_data': 'No responses yet',
'submission.list.responses': 'Responses',
'submission.list.no_responses': 'No responses yet'
} as const;