@tinyweb_dev/oe-exam-sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +254 -0
- package/dist/api/exam-create.d.ts +18 -0
- package/dist/api/exam-create.d.ts.map +1 -0
- package/dist/api/exam-create.js +180 -0
- package/dist/api/exam-create.js.map +1 -0
- package/dist/api/exam-create.types.d.ts +149 -0
- package/dist/api/exam-create.types.d.ts.map +1 -0
- package/dist/api/exam-create.types.js +2 -0
- package/dist/api/exam-create.types.js.map +1 -0
- package/dist/api/exam-questions.d.ts +10 -0
- package/dist/api/exam-questions.d.ts.map +1 -0
- package/dist/api/exam-questions.js +99 -0
- package/dist/api/exam-questions.js.map +1 -0
- package/dist/api/exam-questions.types.d.ts +63 -0
- package/dist/api/exam-questions.types.d.ts.map +1 -0
- package/dist/api/exam-questions.types.js +2 -0
- package/dist/api/exam-questions.types.js.map +1 -0
- package/dist/api/exam-taking.d.ts +8 -0
- package/dist/api/exam-taking.d.ts.map +1 -0
- package/dist/api/exam-taking.js +74 -0
- package/dist/api/exam-taking.js.map +1 -0
- package/dist/api/exam-taking.types.d.ts +148 -0
- package/dist/api/exam-taking.types.d.ts.map +1 -0
- package/dist/api/exam-taking.types.js +2 -0
- package/dist/api/exam-taking.types.js.map +1 -0
- package/dist/api/index.d.ts +8 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +7 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/result-review.d.ts +8 -0
- package/dist/api/result-review.d.ts.map +1 -0
- package/dist/api/result-review.js +51 -0
- package/dist/api/result-review.js.map +1 -0
- package/dist/api/result-review.types.d.ts +86 -0
- package/dist/api/result-review.types.d.ts.map +1 -0
- package/dist/api/result-review.types.js +2 -0
- package/dist/api/result-review.types.js.map +1 -0
- package/dist/components/CueCardEditor.d.ts +8 -0
- package/dist/components/CueCardEditor.d.ts.map +1 -0
- package/dist/components/CueCardEditor.js +59 -0
- package/dist/components/CueCardEditor.js.map +1 -0
- package/dist/components/common/ResolvedImage.d.ts +9 -0
- package/dist/components/common/ResolvedImage.d.ts.map +1 -0
- package/dist/components/common/ResolvedImage.js +16 -0
- package/dist/components/common/ResolvedImage.js.map +1 -0
- package/dist/components/exams/CreateExamInfoForm.d.ts +9 -0
- package/dist/components/exams/CreateExamInfoForm.d.ts.map +1 -0
- package/dist/components/exams/CreateExamInfoForm.js +36 -0
- package/dist/components/exams/CreateExamInfoForm.js.map +1 -0
- package/dist/components/exams/CreateExamPageContainer.d.ts +10 -0
- package/dist/components/exams/CreateExamPageContainer.d.ts.map +1 -0
- package/dist/components/exams/CreateExamPageContainer.js +104 -0
- package/dist/components/exams/CreateExamPageContainer.js.map +1 -0
- package/dist/components/exams/ExamCreator.d.ts +17 -0
- package/dist/components/exams/ExamCreator.d.ts.map +1 -0
- package/dist/components/exams/ExamCreator.js +90 -0
- package/dist/components/exams/ExamCreator.js.map +1 -0
- package/dist/components/exams/ExamPartTabs.d.ts +10 -0
- package/dist/components/exams/ExamPartTabs.d.ts.map +1 -0
- package/dist/components/exams/ExamPartTabs.js +41 -0
- package/dist/components/exams/ExamPartTabs.js.map +1 -0
- package/dist/components/exams/ExamQuestionGrid.d.ts +10 -0
- package/dist/components/exams/ExamQuestionGrid.d.ts.map +1 -0
- package/dist/components/exams/ExamQuestionGrid.js +19 -0
- package/dist/components/exams/ExamQuestionGrid.js.map +1 -0
- package/dist/components/exams/ExamQuestionsPageContainer.d.ts +11 -0
- package/dist/components/exams/ExamQuestionsPageContainer.d.ts.map +1 -0
- package/dist/components/exams/ExamQuestionsPageContainer.js +91 -0
- package/dist/components/exams/ExamQuestionsPageContainer.js.map +1 -0
- package/dist/components/exams/PartAudioUploader.d.ts +10 -0
- package/dist/components/exams/PartAudioUploader.d.ts.map +1 -0
- package/dist/components/exams/PartAudioUploader.js +10 -0
- package/dist/components/exams/PartAudioUploader.js.map +1 -0
- package/dist/components/exams/TemplateSelector.d.ts +9 -0
- package/dist/components/exams/TemplateSelector.d.ts.map +1 -0
- package/dist/components/exams/TemplateSelector.js +67 -0
- package/dist/components/exams/TemplateSelector.js.map +1 -0
- package/dist/components/exams/api.d.ts +6 -0
- package/dist/components/exams/api.d.ts.map +1 -0
- package/dist/components/exams/api.js +4 -0
- package/dist/components/exams/api.js.map +1 -0
- package/dist/components/exams/create-exam.validation.d.ts +11 -0
- package/dist/components/exams/create-exam.validation.d.ts.map +1 -0
- package/dist/components/exams/create-exam.validation.js +19 -0
- package/dist/components/exams/create-exam.validation.js.map +1 -0
- package/dist/components/exams/exam-template.utils.d.ts +59 -0
- package/dist/components/exams/exam-template.utils.d.ts.map +1 -0
- package/dist/components/exams/exam-template.utils.js +19 -0
- package/dist/components/exams/exam-template.utils.js.map +1 -0
- package/dist/components/exams/index.d.ts +18 -0
- package/dist/components/exams/index.d.ts.map +1 -0
- package/dist/components/exams/index.js +11 -0
- package/dist/components/exams/index.js.map +1 -0
- package/dist/components/exams/take/ExamTakingPageContainer.d.ts +10 -0
- package/dist/components/exams/take/ExamTakingPageContainer.d.ts.map +1 -0
- package/dist/components/exams/take/ExamTakingPageContainer.js +154 -0
- package/dist/components/exams/take/ExamTakingPageContainer.js.map +1 -0
- package/dist/components/exams/take/GenericQuestionRenderer.d.ts +8 -0
- package/dist/components/exams/take/GenericQuestionRenderer.d.ts.map +1 -0
- package/dist/components/exams/take/GenericQuestionRenderer.js +15 -0
- package/dist/components/exams/take/GenericQuestionRenderer.js.map +1 -0
- package/dist/components/exams/take/exam-taking.utils.d.ts +116 -0
- package/dist/components/exams/take/exam-taking.utils.d.ts.map +1 -0
- package/dist/components/exams/take/exam-taking.utils.js +89 -0
- package/dist/components/exams/take/exam-taking.utils.js.map +1 -0
- package/dist/components/exams/take/hooks/useSpeakingRecorder.d.ts +9 -0
- package/dist/components/exams/take/hooks/useSpeakingRecorder.d.ts.map +1 -0
- package/dist/components/exams/take/hooks/useSpeakingRecorder.js +25 -0
- package/dist/components/exams/take/hooks/useSpeakingRecorder.js.map +1 -0
- package/dist/components/exams/take/index.d.ts +7 -0
- package/dist/components/exams/take/index.d.ts.map +1 -0
- package/dist/components/exams/take/index.js +3 -0
- package/dist/components/exams/take/index.js.map +1 -0
- package/dist/components/exams/take/types.d.ts +2 -0
- package/dist/components/exams/take/types.d.ts.map +1 -0
- package/dist/components/exams/take/types.js +2 -0
- package/dist/components/exams/take/types.js.map +1 -0
- package/dist/components/index.d.ts +43 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +43 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/questions/_shared/config/question-types.config.d.ts +10 -0
- package/dist/components/questions/_shared/config/question-types.config.d.ts.map +1 -0
- package/dist/components/questions/_shared/config/question-types.config.js +334 -0
- package/dist/components/questions/_shared/config/question-types.config.js.map +1 -0
- package/dist/components/questions/_shared/constants/color-palette.d.ts +7 -0
- package/dist/components/questions/_shared/constants/color-palette.d.ts.map +1 -0
- package/dist/components/questions/_shared/constants/color-palette.js +22 -0
- package/dist/components/questions/_shared/constants/color-palette.js.map +1 -0
- package/dist/components/questions/_shared/hooks/useAnswerGroupQuestionGroup.d.ts +25 -0
- package/dist/components/questions/_shared/hooks/useAnswerGroupQuestionGroup.d.ts.map +1 -0
- package/dist/components/questions/_shared/hooks/useAnswerGroupQuestionGroup.js +106 -0
- package/dist/components/questions/_shared/hooks/useAnswerGroupQuestionGroup.js.map +1 -0
- package/dist/components/questions/_shared/hooks/useBasicQuestionGroup.d.ts +57 -0
- package/dist/components/questions/_shared/hooks/useBasicQuestionGroup.d.ts.map +1 -0
- package/dist/components/questions/_shared/hooks/useBasicQuestionGroup.js +223 -0
- package/dist/components/questions/_shared/hooks/useBasicQuestionGroup.js.map +1 -0
- package/dist/components/questions/_shared/hooks/useCompareImagesGroup.d.ts +12 -0
- package/dist/components/questions/_shared/hooks/useCompareImagesGroup.d.ts.map +1 -0
- package/dist/components/questions/_shared/hooks/useCompareImagesGroup.js +141 -0
- package/dist/components/questions/_shared/hooks/useCompareImagesGroup.js.map +1 -0
- package/dist/components/questions/_shared/hooks/useImageQuestionGroup.d.ts +20 -0
- package/dist/components/questions/_shared/hooks/useImageQuestionGroup.d.ts.map +1 -0
- package/dist/components/questions/_shared/hooks/useImageQuestionGroup.js +124 -0
- package/dist/components/questions/_shared/hooks/useImageQuestionGroup.js.map +1 -0
- package/dist/components/questions/_shared/hooks/useInfoExchangeGroup.d.ts +35 -0
- package/dist/components/questions/_shared/hooks/useInfoExchangeGroup.d.ts.map +1 -0
- package/dist/components/questions/_shared/hooks/useInfoExchangeGroup.js +51 -0
- package/dist/components/questions/_shared/hooks/useInfoExchangeGroup.js.map +1 -0
- package/dist/components/questions/_shared/hooks/useQuestionFormState.d.ts +90 -0
- package/dist/components/questions/_shared/hooks/useQuestionFormState.d.ts.map +1 -0
- package/dist/components/questions/_shared/hooks/useQuestionFormState.js +55 -0
- package/dist/components/questions/_shared/hooks/useQuestionFormState.js.map +1 -0
- package/dist/components/questions/_shared/hooks/useQuestionInitialization.d.ts +13 -0
- package/dist/components/questions/_shared/hooks/useQuestionInitialization.d.ts.map +1 -0
- package/dist/components/questions/_shared/hooks/useQuestionInitialization.js +124 -0
- package/dist/components/questions/_shared/hooks/useQuestionInitialization.js.map +1 -0
- package/dist/components/questions/_shared/hooks/useQuestionListGroup.d.ts +20 -0
- package/dist/components/questions/_shared/hooks/useQuestionListGroup.d.ts.map +1 -0
- package/dist/components/questions/_shared/hooks/useQuestionListGroup.js +122 -0
- package/dist/components/questions/_shared/hooks/useQuestionListGroup.js.map +1 -0
- package/dist/components/questions/_shared/hooks/useQuestionOnChange.d.ts +13 -0
- package/dist/components/questions/_shared/hooks/useQuestionOnChange.d.ts.map +1 -0
- package/dist/components/questions/_shared/hooks/useQuestionOnChange.js +71 -0
- package/dist/components/questions/_shared/hooks/useQuestionOnChange.js.map +1 -0
- package/dist/components/questions/_shared/hooks/useSceneQuestionGroup.d.ts +51 -0
- package/dist/components/questions/_shared/hooks/useSceneQuestionGroup.d.ts.map +1 -0
- package/dist/components/questions/_shared/hooks/useSceneQuestionGroup.js +195 -0
- package/dist/components/questions/_shared/hooks/useSceneQuestionGroup.js.map +1 -0
- package/dist/components/questions/_shared/index.d.ts +8 -0
- package/dist/components/questions/_shared/index.d.ts.map +1 -0
- package/dist/components/questions/_shared/index.js +8 -0
- package/dist/components/questions/_shared/index.js.map +1 -0
- package/dist/components/questions/_shared/types/answer-the-question.type.d.ts +59 -0
- package/dist/components/questions/_shared/types/answer-the-question.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/answer-the-question.type.js +2 -0
- package/dist/components/questions/_shared/types/answer-the-question.type.js.map +1 -0
- package/dist/components/questions/_shared/types/arrange-letters-into-words.type.d.ts +24 -0
- package/dist/components/questions/_shared/types/arrange-letters-into-words.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/arrange-letters-into-words.type.js +2 -0
- package/dist/components/questions/_shared/types/arrange-letters-into-words.type.js.map +1 -0
- package/dist/components/questions/_shared/types/choose-correct-adjective.type.d.ts +22 -0
- package/dist/components/questions/_shared/types/choose-correct-adjective.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/choose-correct-adjective.type.js +4 -0
- package/dist/components/questions/_shared/types/choose-correct-adjective.type.js.map +1 -0
- package/dist/components/questions/_shared/types/color-region.config.d.ts +34 -0
- package/dist/components/questions/_shared/types/color-region.config.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/color-region.config.js +2 -0
- package/dist/components/questions/_shared/types/color-region.config.js.map +1 -0
- package/dist/components/questions/_shared/types/fill-in-blank.type.d.ts +53 -0
- package/dist/components/questions/_shared/types/fill-in-blank.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/fill-in-blank.type.js +2 -0
- package/dist/components/questions/_shared/types/fill-in-blank.type.js.map +1 -0
- package/dist/components/questions/_shared/types/fill-missing-words-in-grid.type.d.ts +48 -0
- package/dist/components/questions/_shared/types/fill-missing-words-in-grid.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/fill-missing-words-in-grid.type.js +2 -0
- package/dist/components/questions/_shared/types/fill-missing-words-in-grid.type.js.map +1 -0
- package/dist/components/questions/_shared/types/gn-speaking-interview.type.d.ts +33 -0
- package/dist/components/questions/_shared/types/gn-speaking-interview.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/gn-speaking-interview.type.js +2 -0
- package/dist/components/questions/_shared/types/gn-speaking-interview.type.js.map +1 -0
- package/dist/components/questions/_shared/types/index.d.ts +13 -0
- package/dist/components/questions/_shared/types/index.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/index.js +13 -0
- package/dist/components/questions/_shared/types/index.js.map +1 -0
- package/dist/components/questions/_shared/types/label-the-picture.type.d.ts +33 -0
- package/dist/components/questions/_shared/types/label-the-picture.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/label-the-picture.type.js +2 -0
- package/dist/components/questions/_shared/types/label-the-picture.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-choose-from-answer-group.type.d.ts +48 -0
- package/dist/components/questions/_shared/types/listen-and-choose-from-answer-group.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-choose-from-answer-group.type.js +2 -0
- package/dist/components/questions/_shared/types/listen-and-choose-from-answer-group.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-choose-objects-in-scene.type.d.ts +56 -0
- package/dist/components/questions/_shared/types/listen-and-choose-objects-in-scene.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-choose-objects-in-scene.type.js +2 -0
- package/dist/components/questions/_shared/types/listen-and-choose-objects-in-scene.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-drag-objects-into-scene.type.d.ts +66 -0
- package/dist/components/questions/_shared/types/listen-and-drag-objects-into-scene.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-drag-objects-into-scene.type.js +2 -0
- package/dist/components/questions/_shared/types/listen-and-drag-objects-into-scene.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-answer.type.d.ts +32 -0
- package/dist/components/questions/_shared/types/listen-and-speak-answer.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-answer.type.js +2 -0
- package/dist/components/questions/_shared/types/listen-and-speak-answer.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-compare-images.type.d.ts +35 -0
- package/dist/components/questions/_shared/types/listen-and-speak-compare-images.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-compare-images.type.js +2 -0
- package/dist/components/questions/_shared/types/listen-and-speak-compare-images.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-image-group.type.d.ts +30 -0
- package/dist/components/questions/_shared/types/listen-and-speak-image-group.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-image-group.type.js +2 -0
- package/dist/components/questions/_shared/types/listen-and-speak-image-group.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-info-exchange.type.d.ts +39 -0
- package/dist/components/questions/_shared/types/listen-and-speak-info-exchange.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-info-exchange.type.js +2 -0
- package/dist/components/questions/_shared/types/listen-and-speak-info-exchange.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-odd-one-out.type.d.ts +26 -0
- package/dist/components/questions/_shared/types/listen-and-speak-odd-one-out.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-odd-one-out.type.js +4 -0
- package/dist/components/questions/_shared/types/listen-and-speak-odd-one-out.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-question-list.type.d.ts +28 -0
- package/dist/components/questions/_shared/types/listen-and-speak-question-list.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-question-list.type.js +2 -0
- package/dist/components/questions/_shared/types/listen-and-speak-question-list.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-with-story-images.type.d.ts +25 -0
- package/dist/components/questions/_shared/types/listen-and-speak-with-story-images.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-speak-with-story-images.type.js +4 -0
- package/dist/components/questions/_shared/types/listen-and-speak-with-story-images.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-tick-answer.type.d.ts +33 -0
- package/dist/components/questions/_shared/types/listen-and-tick-answer.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listen-and-tick-answer.type.js +2 -0
- package/dist/components/questions/_shared/types/listen-and-tick-answer.type.js.map +1 -0
- package/dist/components/questions/_shared/types/listening-drawline.type.d.ts +40 -0
- package/dist/components/questions/_shared/types/listening-drawline.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/listening-drawline.type.js +2 -0
- package/dist/components/questions/_shared/types/listening-drawline.type.js.map +1 -0
- package/dist/components/questions/_shared/types/look-and-choose-answer.type.d.ts +64 -0
- package/dist/components/questions/_shared/types/look-and-choose-answer.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/look-and-choose-answer.type.js +2 -0
- package/dist/components/questions/_shared/types/look-and-choose-answer.type.js.map +1 -0
- package/dist/components/questions/_shared/types/look-picture-fill-word-hint.type.d.ts +48 -0
- package/dist/components/questions/_shared/types/look-picture-fill-word-hint.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/look-picture-fill-word-hint.type.js +2 -0
- package/dist/components/questions/_shared/types/look-picture-fill-word-hint.type.js.map +1 -0
- package/dist/components/questions/_shared/types/match-by-writing-answer.type.d.ts +52 -0
- package/dist/components/questions/_shared/types/match-by-writing-answer.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/match-by-writing-answer.type.js +2 -0
- package/dist/components/questions/_shared/types/match-by-writing-answer.type.js.map +1 -0
- package/dist/components/questions/_shared/types/multiple-choice.type.d.ts +39 -0
- package/dist/components/questions/_shared/types/multiple-choice.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/multiple-choice.type.js +2 -0
- package/dist/components/questions/_shared/types/multiple-choice.type.js.map +1 -0
- package/dist/components/questions/_shared/types/question-group.type.d.ts +45 -0
- package/dist/components/questions/_shared/types/question-group.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/question-group.type.js +12 -0
- package/dist/components/questions/_shared/types/question-group.type.js.map +1 -0
- package/dist/components/questions/_shared/types/read-and-color-objects.type.d.ts +44 -0
- package/dist/components/questions/_shared/types/read-and-color-objects.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/read-and-color-objects.type.js +2 -0
- package/dist/components/questions/_shared/types/read-and-color-objects.type.js.map +1 -0
- package/dist/components/questions/_shared/types/read-displayed-content.type.d.ts +19 -0
- package/dist/components/questions/_shared/types/read-displayed-content.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/read-displayed-content.type.js +2 -0
- package/dist/components/questions/_shared/types/read-displayed-content.type.js.map +1 -0
- package/dist/components/questions/_shared/types/read-passage-and-answer-questions.type.d.ts +46 -0
- package/dist/components/questions/_shared/types/read-passage-and-answer-questions.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/read-passage-and-answer-questions.type.js +2 -0
- package/dist/components/questions/_shared/types/read-passage-and-answer-questions.type.js.map +1 -0
- package/dist/components/questions/_shared/types/speaking-describe-image.type.d.ts +18 -0
- package/dist/components/questions/_shared/types/speaking-describe-image.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/speaking-describe-image.type.js +2 -0
- package/dist/components/questions/_shared/types/speaking-describe-image.type.js.map +1 -0
- package/dist/components/questions/_shared/types/spontaneous-qa.type.d.ts +25 -0
- package/dist/components/questions/_shared/types/spontaneous-qa.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/spontaneous-qa.type.js +2 -0
- package/dist/components/questions/_shared/types/spontaneous-qa.type.js.map +1 -0
- package/dist/components/questions/_shared/types/word-fill-paragraph-with-options.type.d.ts +47 -0
- package/dist/components/questions/_shared/types/word-fill-paragraph-with-options.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/word-fill-paragraph-with-options.type.js +2 -0
- package/dist/components/questions/_shared/types/word-fill-paragraph-with-options.type.js.map +1 -0
- package/dist/components/questions/_shared/types/word-fill-paragraph.type.d.ts +53 -0
- package/dist/components/questions/_shared/types/word-fill-paragraph.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/word-fill-paragraph.type.js +2 -0
- package/dist/components/questions/_shared/types/word-fill-paragraph.type.js.map +1 -0
- package/dist/components/questions/_shared/types/word-fill-structured-form.type.d.ts +47 -0
- package/dist/components/questions/_shared/types/word-fill-structured-form.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/word-fill-structured-form.type.js +2 -0
- package/dist/components/questions/_shared/types/word-fill-structured-form.type.js.map +1 -0
- package/dist/components/questions/_shared/types/word-ordering.type.d.ts +36 -0
- package/dist/components/questions/_shared/types/word-ordering.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/word-ordering.type.js +2 -0
- package/dist/components/questions/_shared/types/word-ordering.type.js.map +1 -0
- package/dist/components/questions/_shared/types/write-a-short-letter.type.d.ts +36 -0
- package/dist/components/questions/_shared/types/write-a-short-letter.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/write-a-short-letter.type.js +2 -0
- package/dist/components/questions/_shared/types/write-a-short-letter.type.js.map +1 -0
- package/dist/components/questions/_shared/types/write-correct-verb-form.type.d.ts +29 -0
- package/dist/components/questions/_shared/types/write-correct-verb-form.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/write-correct-verb-form.type.js +4 -0
- package/dist/components/questions/_shared/types/write-correct-verb-form.type.js.map +1 -0
- package/dist/components/questions/_shared/types/write-sentences.type.d.ts +41 -0
- package/dist/components/questions/_shared/types/write-sentences.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/write-sentences.type.js +2 -0
- package/dist/components/questions/_shared/types/write-sentences.type.js.map +1 -0
- package/dist/components/questions/_shared/types/write-short-paragraph.type.d.ts +31 -0
- package/dist/components/questions/_shared/types/write-short-paragraph.type.d.ts.map +1 -0
- package/dist/components/questions/_shared/types/write-short-paragraph.type.js +2 -0
- package/dist/components/questions/_shared/types/write-short-paragraph.type.js.map +1 -0
- package/dist/components/questions/_shared/utils/answer-builder.d.ts +4 -0
- package/dist/components/questions/_shared/utils/answer-builder.d.ts.map +1 -0
- package/dist/components/questions/_shared/utils/answer-builder.js +80 -0
- package/dist/components/questions/_shared/utils/answer-builder.js.map +1 -0
- package/dist/components/questions/_shared/utils/createColorRegionRegistration.d.ts +7 -0
- package/dist/components/questions/_shared/utils/createColorRegionRegistration.d.ts.map +1 -0
- package/dist/components/questions/_shared/utils/createColorRegionRegistration.js +40 -0
- package/dist/components/questions/_shared/utils/createColorRegionRegistration.js.map +1 -0
- package/dist/components/questions/_shared/utils/id-generator.d.ts +2 -0
- package/dist/components/questions/_shared/utils/id-generator.d.ts.map +1 -0
- package/dist/components/questions/_shared/utils/id-generator.js +4 -0
- package/dist/components/questions/_shared/utils/id-generator.js.map +1 -0
- package/dist/components/questions/_shared/utils/question-validation.d.ts +6 -0
- package/dist/components/questions/_shared/utils/question-validation.d.ts.map +1 -0
- package/dist/components/questions/_shared/utils/question-validation.js +22 -0
- package/dist/components/questions/_shared/utils/question-validation.js.map +1 -0
- package/dist/components/questions/components/ColorNode.d.ts +20 -0
- package/dist/components/questions/components/ColorNode.d.ts.map +1 -0
- package/dist/components/questions/components/ColorNode.js +86 -0
- package/dist/components/questions/components/ColorNode.js.map +1 -0
- package/dist/components/questions/components/ColorRegionClient.d.ts +12 -0
- package/dist/components/questions/components/ColorRegionClient.d.ts.map +1 -0
- package/dist/components/questions/components/ColorRegionClient.js +546 -0
- package/dist/components/questions/components/ColorRegionClient.js.map +1 -0
- package/dist/components/questions/components/ColorRegionCreator.d.ts +8 -0
- package/dist/components/questions/components/ColorRegionCreator.d.ts.map +1 -0
- package/dist/components/questions/components/ColorRegionCreator.js +421 -0
- package/dist/components/questions/components/ColorRegionCreator.js.map +1 -0
- package/dist/components/questions/components/ColorRegionNode.d.ts +20 -0
- package/dist/components/questions/components/ColorRegionNode.d.ts.map +1 -0
- package/dist/components/questions/components/ColorRegionNode.js +60 -0
- package/dist/components/questions/components/ColorRegionNode.js.map +1 -0
- package/dist/components/questions/components/CreatorGuide.d.ts +103 -0
- package/dist/components/questions/components/CreatorGuide.d.ts.map +1 -0
- package/dist/components/questions/components/CreatorGuide.js +104 -0
- package/dist/components/questions/components/CreatorGuide.js.map +1 -0
- package/dist/components/questions/components/NameNode.d.ts +18 -0
- package/dist/components/questions/components/NameNode.d.ts.map +1 -0
- package/dist/components/questions/components/NameNode.js +27 -0
- package/dist/components/questions/components/NameNode.js.map +1 -0
- package/dist/components/questions/components/QuestionBankOption.d.ts +33 -0
- package/dist/components/questions/components/QuestionBankOption.d.ts.map +1 -0
- package/dist/components/questions/components/QuestionBankOption.js +47 -0
- package/dist/components/questions/components/QuestionBankOption.js.map +1 -0
- package/dist/components/questions/components/QuestionBasicInfoForm.d.ts +20 -0
- package/dist/components/questions/components/QuestionBasicInfoForm.d.ts.map +1 -0
- package/dist/components/questions/components/QuestionBasicInfoForm.js +10 -0
- package/dist/components/questions/components/QuestionBasicInfoForm.js.map +1 -0
- package/dist/components/questions/components/QuestionCommonFields.d.ts +23 -0
- package/dist/components/questions/components/QuestionCommonFields.d.ts.map +1 -0
- package/dist/components/questions/components/QuestionCommonFields.js +34 -0
- package/dist/components/questions/components/QuestionCommonFields.js.map +1 -0
- package/dist/components/questions/components/QuestionSearchDropdown.d.ts +42 -0
- package/dist/components/questions/components/QuestionSearchDropdown.d.ts.map +1 -0
- package/dist/components/questions/components/QuestionSearchDropdown.js +259 -0
- package/dist/components/questions/components/QuestionSearchDropdown.js.map +1 -0
- package/dist/components/questions/components/QuestionTypeSelector.d.ts +9 -0
- package/dist/components/questions/components/QuestionTypeSelector.d.ts.map +1 -0
- package/dist/components/questions/components/QuestionTypeSelector.js +33 -0
- package/dist/components/questions/components/QuestionTypeSelector.js.map +1 -0
- package/dist/components/questions/components/QuestionTypeSpecificForms.d.ts +10 -0
- package/dist/components/questions/components/QuestionTypeSpecificForms.d.ts.map +1 -0
- package/dist/components/questions/components/QuestionTypeSpecificForms.js +7 -0
- package/dist/components/questions/components/QuestionTypeSpecificForms.js.map +1 -0
- package/dist/components/questions/components/RegionNode.d.ts +20 -0
- package/dist/components/questions/components/RegionNode.d.ts.map +1 -0
- package/dist/components/questions/components/RegionNode.js +95 -0
- package/dist/components/questions/components/RegionNode.js.map +1 -0
- package/dist/components/questions/components/index.d.ts +15 -0
- package/dist/components/questions/components/index.d.ts.map +1 -0
- package/dist/components/questions/components/index.js +15 -0
- package/dist/components/questions/components/index.js.map +1 -0
- package/dist/components/questions/creator/QuestionCreator.d.ts +35 -0
- package/dist/components/questions/creator/QuestionCreator.d.ts.map +1 -0
- package/dist/components/questions/creator/QuestionCreator.js +91 -0
- package/dist/components/questions/creator/QuestionCreator.js.map +1 -0
- package/dist/components/questions/creator/QuestionGroupCreator.d.ts +8 -0
- package/dist/components/questions/creator/QuestionGroupCreator.d.ts.map +1 -0
- package/dist/components/questions/creator/QuestionGroupCreator.js +120 -0
- package/dist/components/questions/creator/QuestionGroupCreator.js.map +1 -0
- package/dist/components/questions/creator/dedicated-component-router.d.ts +39 -0
- package/dist/components/questions/creator/dedicated-component-router.d.ts.map +1 -0
- package/dist/components/questions/creator/dedicated-component-router.js +80 -0
- package/dist/components/questions/creator/dedicated-component-router.js.map +1 -0
- package/dist/components/questions/creator/index.d.ts +4 -0
- package/dist/components/questions/creator/index.d.ts.map +1 -0
- package/dist/components/questions/creator/index.js +4 -0
- package/dist/components/questions/creator/index.js.map +1 -0
- package/dist/components/questions/creator/question-type-registry.d.ts +66 -0
- package/dist/components/questions/creator/question-type-registry.d.ts.map +1 -0
- package/dist/components/questions/creator/question-type-registry.js +81 -0
- package/dist/components/questions/creator/question-type-registry.js.map +1 -0
- package/dist/components/questions/groups/ArticlesGroupCard.d.ts +35 -0
- package/dist/components/questions/groups/ArticlesGroupCard.d.ts.map +1 -0
- package/dist/components/questions/groups/ArticlesGroupCard.js +122 -0
- package/dist/components/questions/groups/ArticlesGroupCard.js.map +1 -0
- package/dist/components/questions/groups/BasicQuestionGroupCard.d.ts +51 -0
- package/dist/components/questions/groups/BasicQuestionGroupCard.d.ts.map +1 -0
- package/dist/components/questions/groups/BasicQuestionGroupCard.js +51 -0
- package/dist/components/questions/groups/BasicQuestionGroupCard.js.map +1 -0
- package/dist/components/questions/groups/DocumentGroupCard.d.ts +35 -0
- package/dist/components/questions/groups/DocumentGroupCard.d.ts.map +1 -0
- package/dist/components/questions/groups/DocumentGroupCard.js +115 -0
- package/dist/components/questions/groups/DocumentGroupCard.js.map +1 -0
- package/dist/components/questions/groups/MatchAnswerGroupCard.d.ts +19 -0
- package/dist/components/questions/groups/MatchAnswerGroupCard.d.ts.map +1 -0
- package/dist/components/questions/groups/MatchAnswerGroupCard.js +26 -0
- package/dist/components/questions/groups/MatchAnswerGroupCard.js.map +1 -0
- package/dist/components/questions/index.d.ts +11 -0
- package/dist/components/questions/index.d.ts.map +1 -0
- package/dist/components/questions/index.js +11 -0
- package/dist/components/questions/index.js.map +1 -0
- package/dist/components/questions/types/answer-the-question/AnswerTheQuestionClient.d.ts +3 -0
- package/dist/components/questions/types/answer-the-question/AnswerTheQuestionClient.d.ts.map +1 -0
- package/dist/components/questions/types/answer-the-question/AnswerTheQuestionClient.js +38 -0
- package/dist/components/questions/types/answer-the-question/AnswerTheQuestionClient.js.map +1 -0
- package/dist/components/questions/types/answer-the-question/AnswerTheQuestionCreator.d.ts +3 -0
- package/dist/components/questions/types/answer-the-question/AnswerTheQuestionCreator.d.ts.map +1 -0
- package/dist/components/questions/types/answer-the-question/AnswerTheQuestionCreator.js +352 -0
- package/dist/components/questions/types/answer-the-question/AnswerTheQuestionCreator.js.map +1 -0
- package/dist/components/questions/types/answer-the-question/register.d.ts +3 -0
- package/dist/components/questions/types/answer-the-question/register.d.ts.map +1 -0
- package/dist/components/questions/types/answer-the-question/register.js +68 -0
- package/dist/components/questions/types/answer-the-question/register.js.map +1 -0
- package/dist/components/questions/types/answer-the-question/transform.d.ts +3 -0
- package/dist/components/questions/types/answer-the-question/transform.d.ts.map +1 -0
- package/dist/components/questions/types/answer-the-question/transform.js +37 -0
- package/dist/components/questions/types/answer-the-question/transform.js.map +1 -0
- package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsClient.d.ts +3 -0
- package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsClient.d.ts.map +1 -0
- package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsClient.js +142 -0
- package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsClient.js.map +1 -0
- package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsCreator.d.ts +3 -0
- package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsCreator.d.ts.map +1 -0
- package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsCreator.js +119 -0
- package/dist/components/questions/types/arrange-letters-into-words/ArrangeLettersIntoWordsCreator.js.map +1 -0
- package/dist/components/questions/types/arrange-letters-into-words/index.d.ts +3 -0
- package/dist/components/questions/types/arrange-letters-into-words/index.d.ts.map +1 -0
- package/dist/components/questions/types/arrange-letters-into-words/index.js +3 -0
- package/dist/components/questions/types/arrange-letters-into-words/index.js.map +1 -0
- package/dist/components/questions/types/arrange-letters-into-words/register.d.ts +3 -0
- package/dist/components/questions/types/arrange-letters-into-words/register.d.ts.map +1 -0
- package/dist/components/questions/types/arrange-letters-into-words/register.js +5 -0
- package/dist/components/questions/types/arrange-letters-into-words/register.js.map +1 -0
- package/dist/components/questions/types/arrange-letters-into-words/transform.d.ts +3 -0
- package/dist/components/questions/types/arrange-letters-into-words/transform.d.ts.map +1 -0
- package/dist/components/questions/types/arrange-letters-into-words/transform.js +25 -0
- package/dist/components/questions/types/arrange-letters-into-words/transform.js.map +1 -0
- package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveClient.d.ts +3 -0
- package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveClient.d.ts.map +1 -0
- package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveClient.js +65 -0
- package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveClient.js.map +1 -0
- package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveCreator.d.ts +3 -0
- package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveCreator.d.ts.map +1 -0
- package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveCreator.js +170 -0
- package/dist/components/questions/types/choose-correct-adjective/ChooseCorrectAdjectiveCreator.js.map +1 -0
- package/dist/components/questions/types/choose-correct-adjective/index.d.ts +3 -0
- package/dist/components/questions/types/choose-correct-adjective/index.d.ts.map +1 -0
- package/dist/components/questions/types/choose-correct-adjective/index.js +3 -0
- package/dist/components/questions/types/choose-correct-adjective/index.js.map +1 -0
- package/dist/components/questions/types/choose-correct-adjective/register.d.ts +3 -0
- package/dist/components/questions/types/choose-correct-adjective/register.d.ts.map +1 -0
- package/dist/components/questions/types/choose-correct-adjective/register.js +56 -0
- package/dist/components/questions/types/choose-correct-adjective/register.js.map +1 -0
- package/dist/components/questions/types/choose-correct-adjective/transform.d.ts +3 -0
- package/dist/components/questions/types/choose-correct-adjective/transform.d.ts.map +1 -0
- package/dist/components/questions/types/choose-correct-adjective/transform.js +17 -0
- package/dist/components/questions/types/choose-correct-adjective/transform.js.map +1 -0
- package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerClient.d.ts +3 -0
- package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerClient.d.ts.map +1 -0
- package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerClient.js +132 -0
- package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerClient.js.map +1 -0
- package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerCreator.d.ts +26 -0
- package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerCreator.d.ts.map +1 -0
- package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerCreator.js +582 -0
- package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerCreator.js.map +1 -0
- package/dist/components/questions/types/choose-the-correct-answer/index.d.ts +3 -0
- package/dist/components/questions/types/choose-the-correct-answer/index.d.ts.map +1 -0
- package/dist/components/questions/types/choose-the-correct-answer/index.js +3 -0
- package/dist/components/questions/types/choose-the-correct-answer/index.js.map +1 -0
- package/dist/components/questions/types/choose-the-correct-answer/register.d.ts +3 -0
- package/dist/components/questions/types/choose-the-correct-answer/register.d.ts.map +1 -0
- package/dist/components/questions/types/choose-the-correct-answer/register.js +102 -0
- package/dist/components/questions/types/choose-the-correct-answer/register.js.map +1 -0
- package/dist/components/questions/types/choose-the-correct-answer/transform.d.ts +3 -0
- package/dist/components/questions/types/choose-the-correct-answer/transform.d.ts.map +1 -0
- package/dist/components/questions/types/choose-the-correct-answer/transform.js +44 -0
- package/dist/components/questions/types/choose-the-correct-answer/transform.js.map +1 -0
- package/dist/components/questions/types/fill-in-blank/FillInBlankClient.d.ts +3 -0
- package/dist/components/questions/types/fill-in-blank/FillInBlankClient.d.ts.map +1 -0
- package/dist/components/questions/types/fill-in-blank/FillInBlankClient.js +276 -0
- package/dist/components/questions/types/fill-in-blank/FillInBlankClient.js.map +1 -0
- package/dist/components/questions/types/fill-in-blank/FillInBlankCreator.d.ts +3 -0
- package/dist/components/questions/types/fill-in-blank/FillInBlankCreator.d.ts.map +1 -0
- package/dist/components/questions/types/fill-in-blank/FillInBlankCreator.js +449 -0
- package/dist/components/questions/types/fill-in-blank/FillInBlankCreator.js.map +1 -0
- package/dist/components/questions/types/fill-in-blank/index.d.ts +3 -0
- package/dist/components/questions/types/fill-in-blank/index.d.ts.map +1 -0
- package/dist/components/questions/types/fill-in-blank/index.js +3 -0
- package/dist/components/questions/types/fill-in-blank/index.js.map +1 -0
- package/dist/components/questions/types/fill-in-blank/register.d.ts +3 -0
- package/dist/components/questions/types/fill-in-blank/register.d.ts.map +1 -0
- package/dist/components/questions/types/fill-in-blank/register.js +139 -0
- package/dist/components/questions/types/fill-in-blank/register.js.map +1 -0
- package/dist/components/questions/types/fill-in-blank/transform.d.ts +3 -0
- package/dist/components/questions/types/fill-in-blank/transform.d.ts.map +1 -0
- package/dist/components/questions/types/fill-in-blank/transform.js +60 -0
- package/dist/components/questions/types/fill-in-blank/transform.js.map +1 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridClient.d.ts +8 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridClient.d.ts.map +1 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridClient.js +118 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridClient.js.map +1 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridCreator.d.ts +4 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridCreator.d.ts.map +1 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridCreator.js +672 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/FillMissingWordsInGridCreator.js.map +1 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/index.d.ts +3 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/index.d.ts.map +1 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/index.js +3 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/index.js.map +1 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/register.d.ts +4 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/register.d.ts.map +1 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/register.js +38 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/register.js.map +1 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/transform.d.ts +3 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/transform.d.ts.map +1 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/transform.js +16 -0
- package/dist/components/questions/types/fill-missing-words-in-grid/transform.js.map +1 -0
- package/dist/components/questions/types/gn-speaking-interview/GNSpeakingInterviewCreator.d.ts +3 -0
- package/dist/components/questions/types/gn-speaking-interview/GNSpeakingInterviewCreator.d.ts.map +1 -0
- package/dist/components/questions/types/gn-speaking-interview/GNSpeakingInterviewCreator.js +263 -0
- package/dist/components/questions/types/gn-speaking-interview/GNSpeakingInterviewCreator.js.map +1 -0
- package/dist/components/questions/types/gn-speaking-interview/register.d.ts +3 -0
- package/dist/components/questions/types/gn-speaking-interview/register.d.ts.map +1 -0
- package/dist/components/questions/types/gn-speaking-interview/register.js +122 -0
- package/dist/components/questions/types/gn-speaking-interview/register.js.map +1 -0
- package/dist/components/questions/types/gn-speaking-interview/transform.d.ts +3 -0
- package/dist/components/questions/types/gn-speaking-interview/transform.d.ts.map +1 -0
- package/dist/components/questions/types/gn-speaking-interview/transform.js +49 -0
- package/dist/components/questions/types/gn-speaking-interview/transform.js.map +1 -0
- package/dist/components/questions/types/image-object-matching/ImageObjectMatchingClient.d.ts +8 -0
- package/dist/components/questions/types/image-object-matching/ImageObjectMatchingClient.d.ts.map +1 -0
- package/dist/components/questions/types/image-object-matching/ImageObjectMatchingClient.js +17 -0
- package/dist/components/questions/types/image-object-matching/ImageObjectMatchingClient.js.map +1 -0
- package/dist/components/questions/types/image-object-matching/ImageObjectMatchingCreator.d.ts +3 -0
- package/dist/components/questions/types/image-object-matching/ImageObjectMatchingCreator.d.ts.map +1 -0
- package/dist/components/questions/types/image-object-matching/ImageObjectMatchingCreator.js +28 -0
- package/dist/components/questions/types/image-object-matching/ImageObjectMatchingCreator.js.map +1 -0
- package/dist/components/questions/types/image-object-matching/index.d.ts +3 -0
- package/dist/components/questions/types/image-object-matching/index.d.ts.map +1 -0
- package/dist/components/questions/types/image-object-matching/index.js +3 -0
- package/dist/components/questions/types/image-object-matching/index.js.map +1 -0
- package/dist/components/questions/types/image-object-matching/register.d.ts +2 -0
- package/dist/components/questions/types/image-object-matching/register.d.ts.map +1 -0
- package/dist/components/questions/types/image-object-matching/register.js +4 -0
- package/dist/components/questions/types/image-object-matching/register.js.map +1 -0
- package/dist/components/questions/types/image-object-matching/transform.d.ts +2 -0
- package/dist/components/questions/types/image-object-matching/transform.d.ts.map +1 -0
- package/dist/components/questions/types/image-object-matching/transform.js +3 -0
- package/dist/components/questions/types/image-object-matching/transform.js.map +1 -0
- package/dist/components/questions/types/label-the-picture/LabelThePictureClient.d.ts +7 -0
- package/dist/components/questions/types/label-the-picture/LabelThePictureClient.d.ts.map +1 -0
- package/dist/components/questions/types/label-the-picture/LabelThePictureClient.js +103 -0
- package/dist/components/questions/types/label-the-picture/LabelThePictureClient.js.map +1 -0
- package/dist/components/questions/types/label-the-picture/LabelThePictureCreator.d.ts +3 -0
- package/dist/components/questions/types/label-the-picture/LabelThePictureCreator.d.ts.map +1 -0
- package/dist/components/questions/types/label-the-picture/LabelThePictureCreator.js +345 -0
- package/dist/components/questions/types/label-the-picture/LabelThePictureCreator.js.map +1 -0
- package/dist/components/questions/types/label-the-picture/index.d.ts +3 -0
- package/dist/components/questions/types/label-the-picture/index.d.ts.map +1 -0
- package/dist/components/questions/types/label-the-picture/index.js +3 -0
- package/dist/components/questions/types/label-the-picture/index.js.map +1 -0
- package/dist/components/questions/types/label-the-picture/register.d.ts +3 -0
- package/dist/components/questions/types/label-the-picture/register.d.ts.map +1 -0
- package/dist/components/questions/types/label-the-picture/register.js +55 -0
- package/dist/components/questions/types/label-the-picture/register.js.map +1 -0
- package/dist/components/questions/types/label-the-picture/transform.d.ts +3 -0
- package/dist/components/questions/types/label-the-picture/transform.d.ts.map +1 -0
- package/dist/components/questions/types/label-the-picture/transform.js +29 -0
- package/dist/components/questions/types/label-the-picture/transform.js.map +1 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupClient.d.ts +3 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupClient.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupClient.js +79 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupClient.js.map +1 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupCreator.d.ts +3 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupCreator.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupCreator.js +233 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/ListenAndChooseFromAnswerGroupCreator.js.map +1 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/index.d.ts +3 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/index.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/index.js +3 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/index.js.map +1 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/register.d.ts +3 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/register.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/register.js +83 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/register.js.map +1 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/transform.d.ts +3 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/transform.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/transform.js +28 -0
- package/dist/components/questions/types/listen-and-choose-from-answer-group/transform.js.map +1 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneClient.d.ts +10 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneClient.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneClient.js +71 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneClient.js.map +1 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneCreator.d.ts +12 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneCreator.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneCreator.js +387 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/ListenAndChooseObjectsInSceneCreator.js.map +1 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/index.d.ts +3 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/index.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/index.js +3 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/index.js.map +1 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/register.d.ts +3 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/register.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/register.js +101 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/register.js.map +1 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/transform.d.ts +3 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/transform.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/transform.js +34 -0
- package/dist/components/questions/types/listen-and-choose-objects-in-scene/transform.js.map +1 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneClient.d.ts +10 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneClient.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneClient.js +107 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneClient.js.map +1 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneCreator.d.ts +12 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneCreator.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneCreator.js +458 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/ListenAndDragObjectsIntoSceneCreator.js.map +1 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/index.d.ts +3 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/index.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/index.js +3 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/index.js.map +1 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/register.d.ts +3 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/register.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/register.js +111 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/register.js.map +1 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/transform.d.ts +3 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/transform.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/transform.js +36 -0
- package/dist/components/questions/types/listen-and-drag-objects-into-scene/transform.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/ArrowIndicator.d.ts +21 -0
- package/dist/components/questions/types/listen-and-speak-answer/ArrowIndicator.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/ArrowIndicator.js +9 -0
- package/dist/components/questions/types/listen-and-speak-answer/ArrowIndicator.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerClient.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerClient.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerClient.js +23 -0
- package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerClient.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerCreator.d.ts +10 -0
- package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerCreator.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerCreator.js +292 -0
- package/dist/components/questions/types/listen-and-speak-answer/ListenAndSpeakAnswerCreator.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/index.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-answer/index.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/index.js +3 -0
- package/dist/components/questions/types/listen-and-speak-answer/index.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/register.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-answer/register.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/register.js +85 -0
- package/dist/components/questions/types/listen-and-speak-answer/register.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/transform.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-answer/transform.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-answer/transform.js +28 -0
- package/dist/components/questions/types/listen-and-speak-answer/transform.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesClient.d.ts +4 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesClient.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesClient.js +33 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesClient.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesCreator.d.ts +11 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesCreator.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesCreator.js +296 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/ListenAndSpeakCompareImagesCreator.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/register.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/register.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/register.js +80 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/register.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/transform.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/transform.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/transform.js +28 -0
- package/dist/components/questions/types/listen-and-speak-compare-images/transform.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupClient.d.ts +4 -0
- package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupClient.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupClient.js +35 -0
- package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupClient.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupCreator.d.ts +11 -0
- package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupCreator.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupCreator.js +286 -0
- package/dist/components/questions/types/listen-and-speak-image-group/ListenAndSpeakImageGroupCreator.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-image-group/register.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-image-group/register.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-image-group/register.js +82 -0
- package/dist/components/questions/types/listen-and-speak-image-group/register.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-image-group/transform.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-image-group/transform.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-image-group/transform.js +27 -0
- package/dist/components/questions/types/listen-and-speak-image-group/transform.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeClient.d.ts +4 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeClient.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeClient.js +39 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeClient.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeCreator.d.ts +12 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeCreator.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeCreator.js +386 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/ListenAndSpeakInfoExchangeCreator.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/register.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/register.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/register.js +88 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/register.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/transform.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/transform.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/transform.js +33 -0
- package/dist/components/questions/types/listen-and-speak-info-exchange/transform.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutClient.d.ts +4 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutClient.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutClient.js +27 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutClient.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutCreator.d.ts +4 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutCreator.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutCreator.js +248 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/ListenAndSpeakOddOneOutCreator.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/register.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/register.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/register.js +60 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/register.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/transform.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/transform.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/transform.js +19 -0
- package/dist/components/questions/types/listen-and-speak-odd-one-out/transform.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListClient.d.ts +4 -0
- package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListClient.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListClient.js +27 -0
- package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListClient.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListCreator.d.ts +15 -0
- package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListCreator.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListCreator.js +257 -0
- package/dist/components/questions/types/listen-and-speak-question-list/ListenAndSpeakQuestionListCreator.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-question-list/register.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-question-list/register.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-question-list/register.js +82 -0
- package/dist/components/questions/types/listen-and-speak-question-list/register.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-question-list/transform.d.ts +4 -0
- package/dist/components/questions/types/listen-and-speak-question-list/transform.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-question-list/transform.js +27 -0
- package/dist/components/questions/types/listen-and-speak-question-list/transform.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesClient.d.ts +4 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesClient.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesClient.js +27 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesClient.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesCreator.d.ts +4 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesCreator.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesCreator.js +231 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/ListenAndSpeakWithStoryImagesCreator.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/register.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/register.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/register.js +57 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/register.js.map +1 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/transform.d.ts +3 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/transform.d.ts.map +1 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/transform.js +17 -0
- package/dist/components/questions/types/listen-and-speak-with-story-images/transform.js.map +1 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerClient.d.ts +21 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerClient.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerClient.js +73 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerClient.js.map +1 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerCreator.d.ts +16 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerCreator.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerCreator.js +231 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/LookPictureChooseCorrectAnswerCreator.js.map +1 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/index.d.ts +2 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/index.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/index.js +2 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/index.js.map +1 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/register.d.ts +3 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/register.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/register.js +67 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/register.js.map +1 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/transform.d.ts +3 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/transform.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/transform.js +43 -0
- package/dist/components/questions/types/look-picture-choose-correct-answer/transform.js.map +1 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerClient.d.ts +7 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerClient.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerClient.js +97 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerClient.js.map +1 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerCreator.d.ts +16 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerCreator.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerCreator.js +239 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/LookPictureFillBlankChooseAnswerCreator.js.map +1 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/index.d.ts +3 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/index.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/index.js +3 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/index.js.map +1 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/register.d.ts +3 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/register.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/register.js +77 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/register.js.map +1 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/transform.d.ts +3 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/transform.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/transform.js +20 -0
- package/dist/components/questions/types/look-picture-fill-blank-choose-answer/transform.js.map +1 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintClient.d.ts +8 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintClient.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintClient.js +135 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintClient.js.map +1 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintCreator.d.ts +4 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintCreator.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintCreator.js +618 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/LookPictureFillWordHintCreator.js.map +1 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/index.d.ts +3 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/index.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/index.js +3 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/index.js.map +1 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/register.d.ts +3 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/register.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/register.js +83 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/register.js.map +1 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/transform.d.ts +3 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/transform.d.ts.map +1 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/transform.js +30 -0
- package/dist/components/questions/types/look-picture-fill-word-hint/transform.js.map +1 -0
- package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerClient.d.ts +3 -0
- package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerClient.d.ts.map +1 -0
- package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerClient.js +39 -0
- package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerClient.js.map +1 -0
- package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerCreator.d.ts +3 -0
- package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerCreator.d.ts.map +1 -0
- package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerCreator.js +360 -0
- package/dist/components/questions/types/match-by-writing-answer/MatchByWritingAnswerCreator.js.map +1 -0
- package/dist/components/questions/types/match-by-writing-answer/index.d.ts +4 -0
- package/dist/components/questions/types/match-by-writing-answer/index.d.ts.map +1 -0
- package/dist/components/questions/types/match-by-writing-answer/index.js +4 -0
- package/dist/components/questions/types/match-by-writing-answer/index.js.map +1 -0
- package/dist/components/questions/types/match-by-writing-answer/register.d.ts +3 -0
- package/dist/components/questions/types/match-by-writing-answer/register.d.ts.map +1 -0
- package/dist/components/questions/types/match-by-writing-answer/register.js +59 -0
- package/dist/components/questions/types/match-by-writing-answer/register.js.map +1 -0
- package/dist/components/questions/types/match-by-writing-answer/transform.d.ts +12 -0
- package/dist/components/questions/types/match-by-writing-answer/transform.d.ts.map +1 -0
- package/dist/components/questions/types/match-by-writing-answer/transform.js +62 -0
- package/dist/components/questions/types/match-by-writing-answer/transform.js.map +1 -0
- package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsClient.d.ts +8 -0
- package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsClient.d.ts.map +1 -0
- package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsClient.js +17 -0
- package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsClient.js.map +1 -0
- package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsCreator.d.ts +3 -0
- package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsCreator.d.ts.map +1 -0
- package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsCreator.js +24 -0
- package/dist/components/questions/types/read-and-color-objects/ReadAndColorObjectsCreator.js.map +1 -0
- package/dist/components/questions/types/read-and-color-objects/index.d.ts +3 -0
- package/dist/components/questions/types/read-and-color-objects/index.d.ts.map +1 -0
- package/dist/components/questions/types/read-and-color-objects/index.js +3 -0
- package/dist/components/questions/types/read-and-color-objects/index.js.map +1 -0
- package/dist/components/questions/types/read-and-color-objects/register.d.ts +2 -0
- package/dist/components/questions/types/read-and-color-objects/register.d.ts.map +1 -0
- package/dist/components/questions/types/read-and-color-objects/register.js +4 -0
- package/dist/components/questions/types/read-and-color-objects/register.js.map +1 -0
- package/dist/components/questions/types/read-and-color-objects/transform.d.ts +3 -0
- package/dist/components/questions/types/read-and-color-objects/transform.d.ts.map +1 -0
- package/dist/components/questions/types/read-and-color-objects/transform.js +37 -0
- package/dist/components/questions/types/read-and-color-objects/transform.js.map +1 -0
- package/dist/components/questions/types/read-displayed-content/ReadDisplayedContentCreator.d.ts +3 -0
- package/dist/components/questions/types/read-displayed-content/ReadDisplayedContentCreator.d.ts.map +1 -0
- package/dist/components/questions/types/read-displayed-content/ReadDisplayedContentCreator.js +126 -0
- package/dist/components/questions/types/read-displayed-content/ReadDisplayedContentCreator.js.map +1 -0
- package/dist/components/questions/types/read-displayed-content/register.d.ts +3 -0
- package/dist/components/questions/types/read-displayed-content/register.d.ts.map +1 -0
- package/dist/components/questions/types/read-displayed-content/register.js +65 -0
- package/dist/components/questions/types/read-displayed-content/register.js.map +1 -0
- package/dist/components/questions/types/read-displayed-content/transform.d.ts +3 -0
- package/dist/components/questions/types/read-displayed-content/transform.d.ts.map +1 -0
- package/dist/components/questions/types/read-displayed-content/transform.js +13 -0
- package/dist/components/questions/types/read-displayed-content/transform.js.map +1 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsClient.d.ts +3 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsClient.d.ts.map +1 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsClient.js +65 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsClient.js.map +1 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsCreator.d.ts +3 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsCreator.d.ts.map +1 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsCreator.js +512 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/ReadPassageAndAnswerQuestionsCreator.js.map +1 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/index.d.ts +3 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/index.d.ts.map +1 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/index.js +3 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/index.js.map +1 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/register.d.ts +3 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/register.d.ts.map +1 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/register.js +59 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/register.js.map +1 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/transform.d.ts +3 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/transform.d.ts.map +1 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/transform.js +29 -0
- package/dist/components/questions/types/read-passage-and-answer-questions/transform.js.map +1 -0
- package/dist/components/questions/types/speaking-conversation/SpeakingConversationCreator.d.ts +16 -0
- package/dist/components/questions/types/speaking-conversation/SpeakingConversationCreator.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-conversation/SpeakingConversationCreator.js +374 -0
- package/dist/components/questions/types/speaking-conversation/SpeakingConversationCreator.js.map +1 -0
- package/dist/components/questions/types/speaking-conversation/SpeakingConversationPreviewClient.d.ts +22 -0
- package/dist/components/questions/types/speaking-conversation/SpeakingConversationPreviewClient.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-conversation/SpeakingConversationPreviewClient.js +42 -0
- package/dist/components/questions/types/speaking-conversation/SpeakingConversationPreviewClient.js.map +1 -0
- package/dist/components/questions/types/speaking-conversation/register.d.ts +3 -0
- package/dist/components/questions/types/speaking-conversation/register.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-conversation/register.js +111 -0
- package/dist/components/questions/types/speaking-conversation/register.js.map +1 -0
- package/dist/components/questions/types/speaking-conversation/transform.d.ts +3 -0
- package/dist/components/questions/types/speaking-conversation/transform.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-conversation/transform.js +35 -0
- package/dist/components/questions/types/speaking-conversation/transform.js.map +1 -0
- package/dist/components/questions/types/speaking-cue-card/SpeakingCueCardCreator.d.ts +11 -0
- package/dist/components/questions/types/speaking-cue-card/SpeakingCueCardCreator.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-cue-card/SpeakingCueCardCreator.js +75 -0
- package/dist/components/questions/types/speaking-cue-card/SpeakingCueCardCreator.js.map +1 -0
- package/dist/components/questions/types/speaking-cue-card/register.d.ts +3 -0
- package/dist/components/questions/types/speaking-cue-card/register.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-cue-card/register.js +53 -0
- package/dist/components/questions/types/speaking-cue-card/register.js.map +1 -0
- package/dist/components/questions/types/speaking-cue-card/transform.d.ts +3 -0
- package/dist/components/questions/types/speaking-cue-card/transform.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-cue-card/transform.js +13 -0
- package/dist/components/questions/types/speaking-cue-card/transform.js.map +1 -0
- package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageClient.d.ts +11 -0
- package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageClient.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageClient.js +11 -0
- package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageClient.js.map +1 -0
- package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageCreator.d.ts +3 -0
- package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageCreator.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageCreator.js +162 -0
- package/dist/components/questions/types/speaking-describe-image/SpeakingDescribeImageCreator.js.map +1 -0
- package/dist/components/questions/types/speaking-describe-image/index.d.ts +3 -0
- package/dist/components/questions/types/speaking-describe-image/index.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-describe-image/index.js +3 -0
- package/dist/components/questions/types/speaking-describe-image/index.js.map +1 -0
- package/dist/components/questions/types/speaking-describe-image/register.d.ts +3 -0
- package/dist/components/questions/types/speaking-describe-image/register.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-describe-image/register.js +70 -0
- package/dist/components/questions/types/speaking-describe-image/register.js.map +1 -0
- package/dist/components/questions/types/speaking-describe-image/transform.d.ts +3 -0
- package/dist/components/questions/types/speaking-describe-image/transform.d.ts.map +1 -0
- package/dist/components/questions/types/speaking-describe-image/transform.js +17 -0
- package/dist/components/questions/types/speaking-describe-image/transform.js.map +1 -0
- package/dist/components/questions/types/spontaneous-qa/SpontaneousQACreator.d.ts +3 -0
- package/dist/components/questions/types/spontaneous-qa/SpontaneousQACreator.d.ts.map +1 -0
- package/dist/components/questions/types/spontaneous-qa/SpontaneousQACreator.js +235 -0
- package/dist/components/questions/types/spontaneous-qa/SpontaneousQACreator.js.map +1 -0
- package/dist/components/questions/types/spontaneous-qa/register.d.ts +3 -0
- package/dist/components/questions/types/spontaneous-qa/register.d.ts.map +1 -0
- package/dist/components/questions/types/spontaneous-qa/register.js +94 -0
- package/dist/components/questions/types/spontaneous-qa/register.js.map +1 -0
- package/dist/components/questions/types/spontaneous-qa/transform.d.ts +3 -0
- package/dist/components/questions/types/spontaneous-qa/transform.d.ts.map +1 -0
- package/dist/components/questions/types/spontaneous-qa/transform.js +35 -0
- package/dist/components/questions/types/spontaneous-qa/transform.js.map +1 -0
- package/dist/components/questions/types/true-false/TrueFalseClient.d.ts +15 -0
- package/dist/components/questions/types/true-false/TrueFalseClient.d.ts.map +1 -0
- package/dist/components/questions/types/true-false/TrueFalseClient.js +76 -0
- package/dist/components/questions/types/true-false/TrueFalseClient.js.map +1 -0
- package/dist/components/questions/types/true-false/TrueFalseCreator.d.ts +22 -0
- package/dist/components/questions/types/true-false/TrueFalseCreator.d.ts.map +1 -0
- package/dist/components/questions/types/true-false/TrueFalseCreator.js +245 -0
- package/dist/components/questions/types/true-false/TrueFalseCreator.js.map +1 -0
- package/dist/components/questions/types/true-false/index.d.ts +3 -0
- package/dist/components/questions/types/true-false/index.d.ts.map +1 -0
- package/dist/components/questions/types/true-false/index.js +3 -0
- package/dist/components/questions/types/true-false/index.js.map +1 -0
- package/dist/components/questions/types/true-false/register.d.ts +3 -0
- package/dist/components/questions/types/true-false/register.d.ts.map +1 -0
- package/dist/components/questions/types/true-false/register.js +78 -0
- package/dist/components/questions/types/true-false/register.js.map +1 -0
- package/dist/components/questions/types/true-false/transform.d.ts +3 -0
- package/dist/components/questions/types/true-false/transform.d.ts.map +1 -0
- package/dist/components/questions/types/true-false/transform.js +33 -0
- package/dist/components/questions/types/true-false/transform.js.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphClient.d.ts +26 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphClient.d.ts.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphClient.js +234 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphClient.js.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphCreator.d.ts +14 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphCreator.d.ts.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphCreator.js +632 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphCreator.js.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphWrapper.d.ts +19 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphWrapper.d.ts.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphWrapper.js +29 -0
- package/dist/components/questions/types/word-fill-paragraph/WordFillParagraphWrapper.js.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/index.d.ts +3 -0
- package/dist/components/questions/types/word-fill-paragraph/index.d.ts.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/index.js +3 -0
- package/dist/components/questions/types/word-fill-paragraph/index.js.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/register.d.ts +9 -0
- package/dist/components/questions/types/word-fill-paragraph/register.d.ts.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/register.js +137 -0
- package/dist/components/questions/types/word-fill-paragraph/register.js.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/transform.d.ts +8 -0
- package/dist/components/questions/types/word-fill-paragraph/transform.d.ts.map +1 -0
- package/dist/components/questions/types/word-fill-paragraph/transform.js +57 -0
- package/dist/components/questions/types/word-fill-paragraph/transform.js.map +1 -0
- package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormClient.d.ts +4 -0
- package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormClient.d.ts.map +1 -0
- package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormClient.js +139 -0
- package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormClient.js.map +1 -0
- package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormCreator.d.ts +3 -0
- package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormCreator.d.ts.map +1 -0
- package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormCreator.js +262 -0
- package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormCreator.js.map +1 -0
- package/dist/components/questions/types/word-fill-structured-form/index.d.ts +3 -0
- package/dist/components/questions/types/word-fill-structured-form/index.d.ts.map +1 -0
- package/dist/components/questions/types/word-fill-structured-form/index.js +3 -0
- package/dist/components/questions/types/word-fill-structured-form/index.js.map +1 -0
- package/dist/components/questions/types/word-fill-structured-form/register.d.ts +3 -0
- package/dist/components/questions/types/word-fill-structured-form/register.d.ts.map +1 -0
- package/dist/components/questions/types/word-fill-structured-form/register.js +68 -0
- package/dist/components/questions/types/word-fill-structured-form/register.js.map +1 -0
- package/dist/components/questions/types/word-fill-structured-form/transform.d.ts +11 -0
- package/dist/components/questions/types/word-fill-structured-form/transform.d.ts.map +1 -0
- package/dist/components/questions/types/word-fill-structured-form/transform.js +41 -0
- package/dist/components/questions/types/word-fill-structured-form/transform.js.map +1 -0
- package/dist/components/questions/types/word-ordering/WordOrderingClient.d.ts +3 -0
- package/dist/components/questions/types/word-ordering/WordOrderingClient.d.ts.map +1 -0
- package/dist/components/questions/types/word-ordering/WordOrderingClient.js +85 -0
- package/dist/components/questions/types/word-ordering/WordOrderingClient.js.map +1 -0
- package/dist/components/questions/types/word-ordering/WordOrderingCreator.d.ts +12 -0
- package/dist/components/questions/types/word-ordering/WordOrderingCreator.d.ts.map +1 -0
- package/dist/components/questions/types/word-ordering/WordOrderingCreator.js +193 -0
- package/dist/components/questions/types/word-ordering/WordOrderingCreator.js.map +1 -0
- package/dist/components/questions/types/word-ordering/index.d.ts +3 -0
- package/dist/components/questions/types/word-ordering/index.d.ts.map +1 -0
- package/dist/components/questions/types/word-ordering/index.js +3 -0
- package/dist/components/questions/types/word-ordering/index.js.map +1 -0
- package/dist/components/questions/types/word-ordering/register.d.ts +3 -0
- package/dist/components/questions/types/word-ordering/register.d.ts.map +1 -0
- package/dist/components/questions/types/word-ordering/register.js +47 -0
- package/dist/components/questions/types/word-ordering/register.js.map +1 -0
- package/dist/components/questions/types/word-ordering/transform.d.ts +8 -0
- package/dist/components/questions/types/word-ordering/transform.d.ts.map +1 -0
- package/dist/components/questions/types/word-ordering/transform.js +25 -0
- package/dist/components/questions/types/word-ordering/transform.js.map +1 -0
- package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterClient.d.ts +7 -0
- package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterClient.d.ts.map +1 -0
- package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterClient.js +99 -0
- package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterClient.js.map +1 -0
- package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterCreator.d.ts +3 -0
- package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterCreator.d.ts.map +1 -0
- package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterCreator.js +321 -0
- package/dist/components/questions/types/write-a-short-letter/WriteAShortLetterCreator.js.map +1 -0
- package/dist/components/questions/types/write-a-short-letter/index.d.ts +3 -0
- package/dist/components/questions/types/write-a-short-letter/index.d.ts.map +1 -0
- package/dist/components/questions/types/write-a-short-letter/index.js +3 -0
- package/dist/components/questions/types/write-a-short-letter/index.js.map +1 -0
- package/dist/components/questions/types/write-a-short-letter/register.d.ts +3 -0
- package/dist/components/questions/types/write-a-short-letter/register.d.ts.map +1 -0
- package/dist/components/questions/types/write-a-short-letter/register.js +69 -0
- package/dist/components/questions/types/write-a-short-letter/register.js.map +1 -0
- package/dist/components/questions/types/write-a-short-letter/transform.d.ts +3 -0
- package/dist/components/questions/types/write-a-short-letter/transform.d.ts.map +1 -0
- package/dist/components/questions/types/write-a-short-letter/transform.js +26 -0
- package/dist/components/questions/types/write-a-short-letter/transform.js.map +1 -0
- package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormClient.d.ts +3 -0
- package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormClient.d.ts.map +1 -0
- package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormClient.js +62 -0
- package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormClient.js.map +1 -0
- package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormCreator.d.ts +3 -0
- package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormCreator.d.ts.map +1 -0
- package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormCreator.js +197 -0
- package/dist/components/questions/types/write-correct-verb-form/WriteCorrectVerbFormCreator.js.map +1 -0
- package/dist/components/questions/types/write-correct-verb-form/index.d.ts +3 -0
- package/dist/components/questions/types/write-correct-verb-form/index.d.ts.map +1 -0
- package/dist/components/questions/types/write-correct-verb-form/index.js +3 -0
- package/dist/components/questions/types/write-correct-verb-form/index.js.map +1 -0
- package/dist/components/questions/types/write-correct-verb-form/register.d.ts +3 -0
- package/dist/components/questions/types/write-correct-verb-form/register.d.ts.map +1 -0
- package/dist/components/questions/types/write-correct-verb-form/register.js +63 -0
- package/dist/components/questions/types/write-correct-verb-form/register.js.map +1 -0
- package/dist/components/questions/types/write-correct-verb-form/transform.d.ts +3 -0
- package/dist/components/questions/types/write-correct-verb-form/transform.d.ts.map +1 -0
- package/dist/components/questions/types/write-correct-verb-form/transform.js +18 -0
- package/dist/components/questions/types/write-correct-verb-form/transform.js.map +1 -0
- package/dist/components/questions/types/write-sentences/WriteSentencesClient.d.ts +3 -0
- package/dist/components/questions/types/write-sentences/WriteSentencesClient.d.ts.map +1 -0
- package/dist/components/questions/types/write-sentences/WriteSentencesClient.js +23 -0
- package/dist/components/questions/types/write-sentences/WriteSentencesClient.js.map +1 -0
- package/dist/components/questions/types/write-sentences/WriteSentencesCreator.d.ts +3 -0
- package/dist/components/questions/types/write-sentences/WriteSentencesCreator.d.ts.map +1 -0
- package/dist/components/questions/types/write-sentences/WriteSentencesCreator.js +175 -0
- package/dist/components/questions/types/write-sentences/WriteSentencesCreator.js.map +1 -0
- package/dist/components/questions/types/write-sentences/index.d.ts +3 -0
- package/dist/components/questions/types/write-sentences/index.d.ts.map +1 -0
- package/dist/components/questions/types/write-sentences/index.js +3 -0
- package/dist/components/questions/types/write-sentences/index.js.map +1 -0
- package/dist/components/questions/types/write-sentences/register.d.ts +3 -0
- package/dist/components/questions/types/write-sentences/register.d.ts.map +1 -0
- package/dist/components/questions/types/write-sentences/register.js +59 -0
- package/dist/components/questions/types/write-sentences/register.js.map +1 -0
- package/dist/components/questions/types/write-sentences/transform.d.ts +3 -0
- package/dist/components/questions/types/write-sentences/transform.d.ts.map +1 -0
- package/dist/components/questions/types/write-sentences/transform.js +29 -0
- package/dist/components/questions/types/write-sentences/transform.js.map +1 -0
- package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphClient.d.ts +3 -0
- package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphClient.d.ts.map +1 -0
- package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphClient.js +97 -0
- package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphClient.js.map +1 -0
- package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphCreator.d.ts +3 -0
- package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphCreator.d.ts.map +1 -0
- package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphCreator.js +162 -0
- package/dist/components/questions/types/write-short-paragraph/WriteShortParagraphCreator.js.map +1 -0
- package/dist/components/questions/types/write-short-paragraph/index.d.ts +3 -0
- package/dist/components/questions/types/write-short-paragraph/index.d.ts.map +1 -0
- package/dist/components/questions/types/write-short-paragraph/index.js +3 -0
- package/dist/components/questions/types/write-short-paragraph/index.js.map +1 -0
- package/dist/components/questions/types/write-short-paragraph/register.d.ts +3 -0
- package/dist/components/questions/types/write-short-paragraph/register.d.ts.map +1 -0
- package/dist/components/questions/types/write-short-paragraph/register.js +5 -0
- package/dist/components/questions/types/write-short-paragraph/register.js.map +1 -0
- package/dist/components/questions/types/write-short-paragraph/transform.d.ts +3 -0
- package/dist/components/questions/types/write-short-paragraph/transform.d.ts.map +1 -0
- package/dist/components/questions/types/write-short-paragraph/transform.js +22 -0
- package/dist/components/questions/types/write-short-paragraph/transform.js.map +1 -0
- package/dist/components/questions/viewer/QuestionGroupViewer.d.ts +9 -0
- package/dist/components/questions/viewer/QuestionGroupViewer.d.ts.map +1 -0
- package/dist/components/questions/viewer/QuestionGroupViewer.js +37 -0
- package/dist/components/questions/viewer/QuestionGroupViewer.js.map +1 -0
- package/dist/components/questions/viewer/QuestionViewer.d.ts +10 -0
- package/dist/components/questions/viewer/QuestionViewer.d.ts.map +1 -0
- package/dist/components/questions/viewer/QuestionViewer.js +447 -0
- package/dist/components/questions/viewer/QuestionViewer.js.map +1 -0
- package/dist/components/questions/viewer/index.d.ts +3 -0
- package/dist/components/questions/viewer/index.d.ts.map +1 -0
- package/dist/components/questions/viewer/index.js +3 -0
- package/dist/components/questions/viewer/index.js.map +1 -0
- package/dist/components/results/ResultReviewPageContainer.d.ts +14 -0
- package/dist/components/results/ResultReviewPageContainer.d.ts.map +1 -0
- package/dist/components/results/ResultReviewPageContainer.js +99 -0
- package/dist/components/results/ResultReviewPageContainer.js.map +1 -0
- package/dist/components/results/ReviewQuestionRenderer.d.ts +7 -0
- package/dist/components/results/ReviewQuestionRenderer.d.ts.map +1 -0
- package/dist/components/results/ReviewQuestionRenderer.js +73 -0
- package/dist/components/results/ReviewQuestionRenderer.js.map +1 -0
- package/dist/components/results/index.d.ts +5 -0
- package/dist/components/results/index.d.ts.map +1 -0
- package/dist/components/results/index.js +3 -0
- package/dist/components/results/index.js.map +1 -0
- package/dist/components/results/result-review.utils.d.ts +3 -0
- package/dist/components/results/result-review.utils.d.ts.map +1 -0
- package/dist/components/results/result-review.utils.js +7 -0
- package/dist/components/results/result-review.utils.js.map +1 -0
- package/dist/components/results/review-data.d.ts +3 -0
- package/dist/components/results/review-data.d.ts.map +1 -0
- package/dist/components/results/review-data.js +151 -0
- package/dist/components/results/review-data.js.map +1 -0
- package/dist/components/results/review-renderer.utils.d.ts +68 -0
- package/dist/components/results/review-renderer.utils.d.ts.map +1 -0
- package/dist/components/results/review-renderer.utils.js +98 -0
- package/dist/components/results/review-renderer.utils.js.map +1 -0
- package/dist/components/results/review-types.d.ts +62 -0
- package/dist/components/results/review-types.d.ts.map +1 -0
- package/dist/components/results/review-types.js +2 -0
- package/dist/components/results/review-types.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleAudioPlayer.d.ts +9 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleAudioPlayer.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleAudioPlayer.js +139 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleAudioPlayer.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleBottomNav.d.ts +11 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleBottomNav.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleBottomNav.js +13 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleBottomNav.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleExamLayout.d.ts +3 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleExamLayout.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleExamLayout.js +19 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleExamLayout.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleExampleText.d.ts +7 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleExampleText.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleExampleText.js +12 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleExampleText.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleHeader.d.ts +14 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleHeader.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleHeader.js +12 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleHeader.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleInstructionBanner.d.ts +10 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleInstructionBanner.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleInstructionBanner.js +10 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleInstructionBanner.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleNavButton.d.ts +8 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleNavButton.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleNavButton.js +14 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleNavButton.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYlePartBanner.d.ts +9 -0
- package/dist/components/themes/cambridge-yle/CambridgeYlePartBanner.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYlePartBanner.js +9 -0
- package/dist/components/themes/cambridge-yle/CambridgeYlePartBanner.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleProgressBar.d.ts +7 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleProgressBar.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleProgressBar.js +7 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleProgressBar.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCard.d.ts +8 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCard.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCard.js +6 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCard.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCardFullWidth.d.ts +11 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCardFullWidth.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCardFullWidth.js +10 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleQuestionCardFullWidth.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleSidebar.d.ts +25 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleSidebar.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleSidebar.js +42 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleSidebar.js.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleTimer.d.ts +8 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleTimer.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleTimer.js +26 -0
- package/dist/components/themes/cambridge-yle/CambridgeYleTimer.js.map +1 -0
- package/dist/components/themes/cambridge-yle/assets/images/background-ocean-edu-2.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/background-ocean-edu-neutral.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/background-ocean-edu.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/bg-gradient.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/bg-title-old.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/bg-title-part.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/bg-title.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/bg.jpeg +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/border-2.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/border-old.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/border.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/button_feedback_vi.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/button_feedback_vi.webp +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/close.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/close_old.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/demo-audio.mp3 +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/demo-image.jpeg +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/frame-old.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/frame.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/ic-pause.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/icon-bottom-left.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/icon-bottom-right.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/new_design.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/phao.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/question-card-bg-full.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/question-card-bg.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/rangsanho.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/rocket.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/sanho.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/sao.png +0 -0
- package/dist/components/themes/cambridge-yle/assets/images/vooc.png +0 -0
- package/dist/components/themes/cambridge-yle/index.d.ts +13 -0
- package/dist/components/themes/cambridge-yle/index.d.ts.map +1 -0
- package/dist/components/themes/cambridge-yle/index.js +14 -0
- package/dist/components/themes/cambridge-yle/index.js.map +1 -0
- package/dist/components/themes/english-certification/EcAnswerTheQuestion.d.ts +19 -0
- package/dist/components/themes/english-certification/EcAnswerTheQuestion.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EcAnswerTheQuestion.js +25 -0
- package/dist/components/themes/english-certification/EcAnswerTheQuestion.js.map +1 -0
- package/dist/components/themes/english-certification/EcMatchByWritingAnswer.d.ts +22 -0
- package/dist/components/themes/english-certification/EcMatchByWritingAnswer.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EcMatchByWritingAnswer.js +89 -0
- package/dist/components/themes/english-certification/EcMatchByWritingAnswer.js.map +1 -0
- package/dist/components/themes/english-certification/EcWordFillParagraph.d.ts +20 -0
- package/dist/components/themes/english-certification/EcWordFillParagraph.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EcWordFillParagraph.js +56 -0
- package/dist/components/themes/english-certification/EcWordFillParagraph.js.map +1 -0
- package/dist/components/themes/english-certification/EcWordFillStructuredForm.d.ts +20 -0
- package/dist/components/themes/english-certification/EcWordFillStructuredForm.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EcWordFillStructuredForm.js +157 -0
- package/dist/components/themes/english-certification/EcWordFillStructuredForm.js.map +1 -0
- package/dist/components/themes/english-certification/EcWritingTask.d.ts +19 -0
- package/dist/components/themes/english-certification/EcWritingTask.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EcWritingTask.js +35 -0
- package/dist/components/themes/english-certification/EcWritingTask.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationAudioPlayer.d.ts +14 -0
- package/dist/components/themes/english-certification/EnglishCertificationAudioPlayer.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationAudioPlayer.js +115 -0
- package/dist/components/themes/english-certification/EnglishCertificationAudioPlayer.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationBrand.d.ts +11 -0
- package/dist/components/themes/english-certification/EnglishCertificationBrand.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationBrand.js +12 -0
- package/dist/components/themes/english-certification/EnglishCertificationBrand.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationExamLayout.d.ts +20 -0
- package/dist/components/themes/english-certification/EnglishCertificationExamLayout.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationExamLayout.js +22 -0
- package/dist/components/themes/english-certification/EnglishCertificationExamLayout.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationFlagButton.d.ts +23 -0
- package/dist/components/themes/english-certification/EnglishCertificationFlagButton.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationFlagButton.js +16 -0
- package/dist/components/themes/english-certification/EnglishCertificationFlagButton.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationFooterBar.d.ts +23 -0
- package/dist/components/themes/english-certification/EnglishCertificationFooterBar.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationFooterBar.js +20 -0
- package/dist/components/themes/english-certification/EnglishCertificationFooterBar.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationGroupedQuestion.d.ts +25 -0
- package/dist/components/themes/english-certification/EnglishCertificationGroupedQuestion.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationGroupedQuestion.js +149 -0
- package/dist/components/themes/english-certification/EnglishCertificationGroupedQuestion.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationHeader.d.ts +25 -0
- package/dist/components/themes/english-certification/EnglishCertificationHeader.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationHeader.js +32 -0
- package/dist/components/themes/english-certification/EnglishCertificationHeader.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationNavigationPanel.d.ts +19 -0
- package/dist/components/themes/english-certification/EnglishCertificationNavigationPanel.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationNavigationPanel.js +72 -0
- package/dist/components/themes/english-certification/EnglishCertificationNavigationPanel.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationOptionSelector.d.ts +29 -0
- package/dist/components/themes/english-certification/EnglishCertificationOptionSelector.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationOptionSelector.js +34 -0
- package/dist/components/themes/english-certification/EnglishCertificationOptionSelector.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationPassagePanel.d.ts +22 -0
- package/dist/components/themes/english-certification/EnglishCertificationPassagePanel.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationPassagePanel.js +17 -0
- package/dist/components/themes/english-certification/EnglishCertificationPassagePanel.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionCard.d.ts +21 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionCard.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionCard.js +23 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionCard.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionItem.d.ts +26 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionItem.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionItem.js +38 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionItem.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionRenderer.d.ts +25 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionRenderer.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionRenderer.js +73 -0
- package/dist/components/themes/english-certification/EnglishCertificationQuestionRenderer.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationReadingSection.d.ts +29 -0
- package/dist/components/themes/english-certification/EnglishCertificationReadingSection.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationReadingSection.js +91 -0
- package/dist/components/themes/english-certification/EnglishCertificationReadingSection.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationSingleQuestion.d.ts +32 -0
- package/dist/components/themes/english-certification/EnglishCertificationSingleQuestion.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationSingleQuestion.js +19 -0
- package/dist/components/themes/english-certification/EnglishCertificationSingleQuestion.js.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationSingleQuestionList.d.ts +26 -0
- package/dist/components/themes/english-certification/EnglishCertificationSingleQuestionList.d.ts.map +1 -0
- package/dist/components/themes/english-certification/EnglishCertificationSingleQuestionList.js +30 -0
- package/dist/components/themes/english-certification/EnglishCertificationSingleQuestionList.js.map +1 -0
- package/dist/components/themes/english-certification/english-certification-theme.d.ts +57 -0
- package/dist/components/themes/english-certification/english-certification-theme.d.ts.map +1 -0
- package/dist/components/themes/english-certification/english-certification-theme.js +59 -0
- package/dist/components/themes/english-certification/english-certification-theme.js.map +1 -0
- package/dist/components/themes/english-certification/grouped-question-utils.d.ts +24 -0
- package/dist/components/themes/english-certification/grouped-question-utils.d.ts.map +1 -0
- package/dist/components/themes/english-certification/grouped-question-utils.js +219 -0
- package/dist/components/themes/english-certification/grouped-question-utils.js.map +1 -0
- package/dist/components/themes/english-certification/index.d.ts +23 -0
- package/dist/components/themes/english-certification/index.d.ts.map +1 -0
- package/dist/components/themes/english-certification/index.js +22 -0
- package/dist/components/themes/english-certification/index.js.map +1 -0
- package/dist/components/themes/index.d.ts +8 -0
- package/dist/components/themes/index.d.ts.map +1 -0
- package/dist/components/themes/index.js +7 -0
- package/dist/components/themes/index.js.map +1 -0
- package/dist/components/themes/summer-sky/SummerSkyAudioPlayer.d.ts +10 -0
- package/dist/components/themes/summer-sky/SummerSkyAudioPlayer.d.ts.map +1 -0
- package/dist/components/themes/summer-sky/SummerSkyAudioPlayer.js +171 -0
- package/dist/components/themes/summer-sky/SummerSkyAudioPlayer.js.map +1 -0
- package/dist/components/themes/summer-sky/SummerSkyLayout.d.ts +3 -0
- package/dist/components/themes/summer-sky/SummerSkyLayout.d.ts.map +1 -0
- package/dist/components/themes/summer-sky/SummerSkyLayout.js +222 -0
- package/dist/components/themes/summer-sky/SummerSkyLayout.js.map +1 -0
- package/dist/components/themes/summer-sky/SummerSkySubmitModal.d.ts +9 -0
- package/dist/components/themes/summer-sky/SummerSkySubmitModal.d.ts.map +1 -0
- package/dist/components/themes/summer-sky/SummerSkySubmitModal.js +19 -0
- package/dist/components/themes/summer-sky/SummerSkySubmitModal.js.map +1 -0
- package/dist/components/themes/summer-sky/SummerSkyWaitingRoom.d.ts +10 -0
- package/dist/components/themes/summer-sky/SummerSkyWaitingRoom.d.ts.map +1 -0
- package/dist/components/themes/summer-sky/SummerSkyWaitingRoom.js +195 -0
- package/dist/components/themes/summer-sky/SummerSkyWaitingRoom.js.map +1 -0
- package/dist/components/themes/summer-sky/assets/images/Group_3432849.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/arrow-left.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/audio-icon.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/audio_ver2_icon.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/background-noticesubmit.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/background-question.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/background-v2.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/background_title.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/btn-notisubmid.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/button_feedback_vi.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/check-mic-btn.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/clock.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/has_answered.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/ic-mute-sunset.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/ic-mute.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/ic-play-sunset.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/ic-play-violet.webp +0 -0
- package/dist/components/themes/summer-sky/assets/images/ic-play.webp +0 -0
- package/dist/components/themes/summer-sky/assets/images/instruction-step.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/listen-audio.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/lock_mic_ver2_icon.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/mic-icon.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/mic_ver2_icon.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/next-btn.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/next-question-btn.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/ocean-frame.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/oceanedu-mascot.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/ong.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/pause-audio.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/pause_audio_ver2_icon.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/prev-question-btn.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/question-badge-sunset.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/radio-check.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/red-circle.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/rope.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/rope_2.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/rope_v3.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/start-exam.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/stop-mic.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/stop_audio_ver2_icon.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/student-avatar.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/submit.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/teacher_transparent (1).mp4 +0 -0
- package/dist/components/themes/summer-sky/assets/images/title-logo.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/title-notisubmit.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/title_table.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/traloicauhoi.png +0 -0
- package/dist/components/themes/summer-sky/assets/images/x-noticesubmit.png.png +0 -0
- package/dist/components/themes/summer-sky/assets/styles/SummerSkyLayout.module.css +406 -0
- package/dist/components/themes/summer-sky/assets/styles/SummerSkyWaitingRoom.module.css +419 -0
- package/dist/components/themes/types.d.ts +62 -0
- package/dist/components/themes/types.d.ts.map +1 -0
- package/dist/components/themes/types.js +2 -0
- package/dist/components/themes/types.js.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +21 -0
- package/dist/components/ui/alert-dialog.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog.js +27 -0
- package/dist/components/ui/alert-dialog.js.map +1 -0
- package/dist/components/ui/alert.d.ts +9 -0
- package/dist/components/ui/alert.d.ts.map +1 -0
- package/dist/components/ui/alert.js +23 -0
- package/dist/components/ui/alert.js.map +1 -0
- package/dist/components/ui/avatar.d.ts +7 -0
- package/dist/components/ui/avatar.d.ts.map +1 -0
- package/dist/components/ui/avatar.js +13 -0
- package/dist/components/ui/avatar.js.map +1 -0
- package/dist/components/ui/badge.d.ts +16 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/badge.js +39 -0
- package/dist/components/ui/badge.js.map +1 -0
- package/dist/components/ui/button.d.ts +11 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.js +36 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/calendar.d.ts +9 -0
- package/dist/components/ui/calendar.d.ts.map +1 -0
- package/dist/components/ui/calendar.js +77 -0
- package/dist/components/ui/calendar.js.map +1 -0
- package/dist/components/ui/card.d.ts +9 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/card.js +17 -0
- package/dist/components/ui/card.js.map +1 -0
- package/dist/components/ui/carousel.d.ts +20 -0
- package/dist/components/ui/carousel.d.ts.map +1 -0
- package/dist/components/ui/carousel.js +92 -0
- package/dist/components/ui/carousel.js.map +1 -0
- package/dist/components/ui/checkbox.d.ts +5 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -0
- package/dist/components/ui/checkbox.js +10 -0
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/collapsible.d.ts +6 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/collapsible.js +14 -0
- package/dist/components/ui/collapsible.js.map +1 -0
- package/dist/components/ui/command.d.ts +19 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/command.js +35 -0
- package/dist/components/ui/command.js.map +1 -0
- package/dist/components/ui/confirm-dialog.d.ts +24 -0
- package/dist/components/ui/confirm-dialog.d.ts.map +1 -0
- package/dist/components/ui/confirm-dialog.js +50 -0
- package/dist/components/ui/confirm-dialog.js.map +1 -0
- package/dist/components/ui/dialog.d.ts +20 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/dialog.js +24 -0
- package/dist/components/ui/dialog.js.map +1 -0
- package/dist/components/ui/drawer.d.ts +14 -0
- package/dist/components/ui/drawer.d.ts.map +1 -0
- package/dist/components/ui/drawer.js +36 -0
- package/dist/components/ui/drawer.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +28 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.js +34 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/file-upload.d.ts +25 -0
- package/dist/components/ui/file-upload.d.ts.map +1 -0
- package/dist/components/ui/file-upload.js +156 -0
- package/dist/components/ui/file-upload.js.map +1 -0
- package/dist/components/ui/form.d.ts +26 -0
- package/dist/components/ui/form.d.ts.map +1 -0
- package/dist/components/ui/form.js +63 -0
- package/dist/components/ui/form.js.map +1 -0
- package/dist/components/ui/hover-card.d.ts +7 -0
- package/dist/components/ui/hover-card.d.ts.map +1 -0
- package/dist/components/ui/hover-card.js +11 -0
- package/dist/components/ui/hover-card.js.map +1 -0
- package/dist/components/ui/image-preview.d.ts +19 -0
- package/dist/components/ui/image-preview.d.ts.map +1 -0
- package/dist/components/ui/image-preview.js +30 -0
- package/dist/components/ui/image-preview.js.map +1 -0
- package/dist/components/ui/input.d.ts +4 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/input.js +9 -0
- package/dist/components/ui/input.js.map +1 -0
- package/dist/components/ui/label.d.ts +6 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/label.js +10 -0
- package/dist/components/ui/label.js.map +1 -0
- package/dist/components/ui/language-switcher.d.ts +2 -0
- package/dist/components/ui/language-switcher.d.ts.map +1 -0
- package/dist/components/ui/language-switcher.js +16 -0
- package/dist/components/ui/language-switcher.js.map +1 -0
- package/dist/components/ui/multi-select.d.ts +17 -0
- package/dist/components/ui/multi-select.d.ts.map +1 -0
- package/dist/components/ui/multi-select.js +91 -0
- package/dist/components/ui/multi-select.js.map +1 -0
- package/dist/components/ui/points-input.d.ts +16 -0
- package/dist/components/ui/points-input.d.ts.map +1 -0
- package/dist/components/ui/points-input.js +34 -0
- package/dist/components/ui/points-input.js.map +1 -0
- package/dist/components/ui/popover.d.ts +11 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/popover.js +27 -0
- package/dist/components/ui/popover.js.map +1 -0
- package/dist/components/ui/progress.d.ts +5 -0
- package/dist/components/ui/progress.d.ts.map +1 -0
- package/dist/components/ui/progress.js +17 -0
- package/dist/components/ui/progress.js.map +1 -0
- package/dist/components/ui/radio-group.d.ts +6 -0
- package/dist/components/ui/radio-group.d.ts.map +1 -0
- package/dist/components/ui/radio-group.js +13 -0
- package/dist/components/ui/radio-group.js.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +6 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.js +12 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/select.d.ts +16 -0
- package/dist/components/ui/select.d.ts.map +1 -0
- package/dist/components/ui/select.js +39 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/separator.d.ts +5 -0
- package/dist/components/ui/separator.d.ts.map +1 -0
- package/dist/components/ui/separator.js +9 -0
- package/dist/components/ui/separator.js.map +1 -0
- package/dist/components/ui/sheet.d.ts +14 -0
- package/dist/components/ui/sheet.d.ts.map +1 -0
- package/dist/components/ui/sheet.js +41 -0
- package/dist/components/ui/sheet.js.map +1 -0
- package/dist/components/ui/single-select.d.ts +18 -0
- package/dist/components/ui/single-select.d.ts.map +1 -0
- package/dist/components/ui/single-select.js +77 -0
- package/dist/components/ui/single-select.js.map +1 -0
- package/dist/components/ui/skeleton.d.ts +3 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/skeleton.js +7 -0
- package/dist/components/ui/skeleton.js.map +1 -0
- package/dist/components/ui/switch.d.ts +5 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/components/ui/switch.js +9 -0
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/table.d.ts +11 -0
- package/dist/components/ui/table.d.ts.map +1 -0
- package/dist/components/ui/table.js +21 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/tabs.d.ts +8 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/tabs.js +18 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/textarea.d.ts +6 -0
- package/dist/components/ui/textarea.d.ts.map +1 -0
- package/dist/components/ui/textarea.js +9 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/tooltip.d.ts +8 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/components/ui/tooltip.js +12 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/global.d.ts +46 -0
- package/dist/index.d.ts +28 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/config.d.ts +13 -0
- package/dist/mcp/config.d.ts.map +1 -0
- package/dist/mcp/config.js +33 -0
- package/dist/mcp/config.js.map +1 -0
- package/dist/mcp/http-client.d.ts +7 -0
- package/dist/mcp/http-client.d.ts.map +1 -0
- package/dist/mcp/http-client.js +49 -0
- package/dist/mcp/http-client.js.map +1 -0
- package/dist/mcp/index.d.ts +7 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +31 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/tools/_helpers.d.ts +5 -0
- package/dist/mcp/tools/_helpers.d.ts.map +1 -0
- package/dist/mcp/tools/_helpers.js +26 -0
- package/dist/mcp/tools/_helpers.js.map +1 -0
- package/dist/mcp/tools/exams.d.ts +3 -0
- package/dist/mcp/tools/exams.d.ts.map +1 -0
- package/dist/mcp/tools/exams.js +440 -0
- package/dist/mcp/tools/exams.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +3 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +7 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/results.d.ts +3 -0
- package/dist/mcp/tools/results.d.ts.map +1 -0
- package/dist/mcp/tools/results.js +20 -0
- package/dist/mcp/tools/results.js.map +1 -0
- package/dist/shared/constants/ApiConstant.d.ts +232 -0
- package/dist/shared/constants/ApiConstant.d.ts.map +1 -0
- package/dist/shared/constants/ApiConstant.js +277 -0
- package/dist/shared/constants/ApiConstant.js.map +1 -0
- package/dist/shared/constants/QueryKeyConstant.d.ts +99 -0
- package/dist/shared/constants/QueryKeyConstant.d.ts.map +1 -0
- package/dist/shared/constants/QueryKeyConstant.js +113 -0
- package/dist/shared/constants/QueryKeyConstant.js.map +1 -0
- package/dist/shared/constants/exam-level.enum.d.ts +33 -0
- package/dist/shared/constants/exam-level.enum.d.ts.map +1 -0
- package/dist/shared/constants/exam-level.enum.js +42 -0
- package/dist/shared/constants/exam-level.enum.js.map +1 -0
- package/dist/shared/constants/landings/placement-test.constants.d.ts +128 -0
- package/dist/shared/constants/landings/placement-test.constants.d.ts.map +1 -0
- package/dist/shared/constants/landings/placement-test.constants.js +432 -0
- package/dist/shared/constants/landings/placement-test.constants.js.map +1 -0
- package/dist/shared/constants/question-skills.d.ts +93 -0
- package/dist/shared/constants/question-skills.d.ts.map +1 -0
- package/dist/shared/constants/question-skills.js +268 -0
- package/dist/shared/constants/question-skills.js.map +1 -0
- package/dist/shared/constants/routes.d.ts +70 -0
- package/dist/shared/constants/routes.d.ts.map +1 -0
- package/dist/shared/constants/routes.js +82 -0
- package/dist/shared/constants/routes.js.map +1 -0
- package/dist/shared/index.d.ts +8 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +8 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/lib/hooks/index.d.ts +11 -0
- package/dist/shared/lib/hooks/index.d.ts.map +1 -0
- package/dist/shared/lib/hooks/index.js +11 -0
- package/dist/shared/lib/hooks/index.js.map +1 -0
- package/dist/shared/lib/hooks/useAlertDialog.d.ts +36 -0
- package/dist/shared/lib/hooks/useAlertDialog.d.ts.map +1 -0
- package/dist/shared/lib/hooks/useAlertDialog.js +58 -0
- package/dist/shared/lib/hooks/useAlertDialog.js.map +1 -0
- package/dist/shared/lib/hooks/useAudioPlayCounter.d.ts +8 -0
- package/dist/shared/lib/hooks/useAudioPlayCounter.d.ts.map +1 -0
- package/dist/shared/lib/hooks/useAudioPlayCounter.js +31 -0
- package/dist/shared/lib/hooks/useAudioPlayCounter.js.map +1 -0
- package/dist/shared/lib/hooks/useAudioPreview.d.ts +16 -0
- package/dist/shared/lib/hooks/useAudioPreview.d.ts.map +1 -0
- package/dist/shared/lib/hooks/useAudioPreview.js +82 -0
- package/dist/shared/lib/hooks/useAudioPreview.js.map +1 -0
- package/dist/shared/lib/hooks/useAudioUpload.d.ts +18 -0
- package/dist/shared/lib/hooks/useAudioUpload.d.ts.map +1 -0
- package/dist/shared/lib/hooks/useAudioUpload.js +25 -0
- package/dist/shared/lib/hooks/useAudioUpload.js.map +1 -0
- package/dist/shared/lib/hooks/useConfirmDialog.d.ts +44 -0
- package/dist/shared/lib/hooks/useConfirmDialog.d.ts.map +1 -0
- package/dist/shared/lib/hooks/useConfirmDialog.js +90 -0
- package/dist/shared/lib/hooks/useConfirmDialog.js.map +1 -0
- package/dist/shared/lib/hooks/useDebouncedCallback.d.ts +8 -0
- package/dist/shared/lib/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/shared/lib/hooks/useDebouncedCallback.js +33 -0
- package/dist/shared/lib/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/shared/lib/hooks/useDelayedAutoPlay.d.ts +11 -0
- package/dist/shared/lib/hooks/useDelayedAutoPlay.d.ts.map +1 -0
- package/dist/shared/lib/hooks/useDelayedAutoPlay.js +13 -0
- package/dist/shared/lib/hooks/useDelayedAutoPlay.js.map +1 -0
- package/dist/shared/lib/hooks/useFileUpload.d.ts +15 -0
- package/dist/shared/lib/hooks/useFileUpload.d.ts.map +1 -0
- package/dist/shared/lib/hooks/useFileUpload.js +25 -0
- package/dist/shared/lib/hooks/useFileUpload.js.map +1 -0
- package/dist/shared/lib/hooks/useImageUrl.d.ts +2 -0
- package/dist/shared/lib/hooks/useImageUrl.d.ts.map +1 -0
- package/dist/shared/lib/hooks/useImageUrl.js +6 -0
- package/dist/shared/lib/hooks/useImageUrl.js.map +1 -0
- package/dist/shared/lib/hooks/usePresignedFileUrl.d.ts +11 -0
- package/dist/shared/lib/hooks/usePresignedFileUrl.d.ts.map +1 -0
- package/dist/shared/lib/hooks/usePresignedFileUrl.js +11 -0
- package/dist/shared/lib/hooks/usePresignedFileUrl.js.map +1 -0
- package/dist/shared/lib/hooks/useReactHookForm.d.ts +34 -0
- package/dist/shared/lib/hooks/useReactHookForm.d.ts.map +1 -0
- package/dist/shared/lib/hooks/useReactHookForm.js +32 -0
- package/dist/shared/lib/hooks/useReactHookForm.js.map +1 -0
- package/dist/shared/lib/hooks/useToast.d.ts +35 -0
- package/dist/shared/lib/hooks/useToast.d.ts.map +1 -0
- package/dist/shared/lib/hooks/useToast.js +63 -0
- package/dist/shared/lib/hooks/useToast.js.map +1 -0
- package/dist/shared/lib/i18n/index.d.ts +32 -0
- package/dist/shared/lib/i18n/index.d.ts.map +1 -0
- package/dist/shared/lib/i18n/index.js +55 -0
- package/dist/shared/lib/i18n/index.js.map +1 -0
- package/dist/shared/lib/i18n/messages/en/admin.d.ts +1937 -0
- package/dist/shared/lib/i18n/messages/en/admin.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/en/admin.js +2105 -0
- package/dist/shared/lib/i18n/messages/en/admin.js.map +1 -0
- package/dist/shared/lib/i18n/messages/en/auth.d.ts +82 -0
- package/dist/shared/lib/i18n/messages/en/auth.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/en/auth.js +87 -0
- package/dist/shared/lib/i18n/messages/en/auth.js.map +1 -0
- package/dist/shared/lib/i18n/messages/en/common.d.ts +125 -0
- package/dist/shared/lib/i18n/messages/en/common.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/en/common.js +141 -0
- package/dist/shared/lib/i18n/messages/en/common.js.map +1 -0
- package/dist/shared/lib/i18n/messages/en/file-upload.d.ts +17 -0
- package/dist/shared/lib/i18n/messages/en/file-upload.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/en/file-upload.js +19 -0
- package/dist/shared/lib/i18n/messages/en/file-upload.js.map +1 -0
- package/dist/shared/lib/i18n/messages/en/student.d.ts +125 -0
- package/dist/shared/lib/i18n/messages/en/student.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/en/student.js +134 -0
- package/dist/shared/lib/i18n/messages/en/student.js.map +1 -0
- package/dist/shared/lib/i18n/messages/en/terms.d.ts +27 -0
- package/dist/shared/lib/i18n/messages/en/terms.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/en/terms.js +38 -0
- package/dist/shared/lib/i18n/messages/en/terms.js.map +1 -0
- package/dist/shared/lib/i18n/messages/en.d.ts +2293 -0
- package/dist/shared/lib/i18n/messages/en.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/en.js +16 -0
- package/dist/shared/lib/i18n/messages/en.js.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/admin.d.ts +1937 -0
- package/dist/shared/lib/i18n/messages/vi/admin.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/admin.js +2105 -0
- package/dist/shared/lib/i18n/messages/vi/admin.js.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/auth.d.ts +82 -0
- package/dist/shared/lib/i18n/messages/vi/auth.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/auth.js +87 -0
- package/dist/shared/lib/i18n/messages/vi/auth.js.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/common.d.ts +125 -0
- package/dist/shared/lib/i18n/messages/vi/common.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/common.js +141 -0
- package/dist/shared/lib/i18n/messages/vi/common.js.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/file-upload.d.ts +17 -0
- package/dist/shared/lib/i18n/messages/vi/file-upload.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/file-upload.js +19 -0
- package/dist/shared/lib/i18n/messages/vi/file-upload.js.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/student.d.ts +125 -0
- package/dist/shared/lib/i18n/messages/vi/student.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/student.js +134 -0
- package/dist/shared/lib/i18n/messages/vi/student.js.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/terms.d.ts +27 -0
- package/dist/shared/lib/i18n/messages/vi/terms.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/vi/terms.js +38 -0
- package/dist/shared/lib/i18n/messages/vi/terms.js.map +1 -0
- package/dist/shared/lib/i18n/messages/vi.d.ts +2293 -0
- package/dist/shared/lib/i18n/messages/vi.d.ts.map +1 -0
- package/dist/shared/lib/i18n/messages/vi.js +16 -0
- package/dist/shared/lib/i18n/messages/vi.js.map +1 -0
- package/dist/shared/lib/i18n/types.d.ts +4 -0
- package/dist/shared/lib/i18n/types.d.ts.map +1 -0
- package/dist/shared/lib/i18n/types.js +2 -0
- package/dist/shared/lib/i18n/types.js.map +1 -0
- package/dist/shared/lib/stores/examQuestionStore.d.ts +95 -0
- package/dist/shared/lib/stores/examQuestionStore.d.ts.map +1 -0
- package/dist/shared/lib/stores/examQuestionStore.js +213 -0
- package/dist/shared/lib/stores/examQuestionStore.js.map +1 -0
- package/dist/shared/lib/stores/localeStore.d.ts +20 -0
- package/dist/shared/lib/stores/localeStore.d.ts.map +1 -0
- package/dist/shared/lib/stores/localeStore.js +11 -0
- package/dist/shared/lib/stores/localeStore.js.map +1 -0
- package/dist/shared/lib/utils/public-page.d.ts +9 -0
- package/dist/shared/lib/utils/public-page.d.ts.map +1 -0
- package/dist/shared/lib/utils/public-page.js +45 -0
- package/dist/shared/lib/utils/public-page.js.map +1 -0
- package/dist/shared/lib/utils/question-transform-types.d.ts +398 -0
- package/dist/shared/lib/utils/question-transform-types.d.ts.map +1 -0
- package/dist/shared/lib/utils/question-transform-types.js +2 -0
- package/dist/shared/lib/utils/question-transform-types.js.map +1 -0
- package/dist/shared/lib/utils/question-transform.d.ts +31 -0
- package/dist/shared/lib/utils/question-transform.d.ts.map +1 -0
- package/dist/shared/lib/utils/question-transform.js +175 -0
- package/dist/shared/lib/utils/question-transform.js.map +1 -0
- package/dist/shared/lib/utils.d.ts +70 -0
- package/dist/shared/lib/utils.d.ts.map +1 -0
- package/dist/shared/lib/utils.js +169 -0
- package/dist/shared/lib/utils.js.map +1 -0
- package/dist/shared/lib/validation/choose-correct-answer.validation.d.ts +19 -0
- package/dist/shared/lib/validation/choose-correct-answer.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/choose-correct-answer.validation.js +112 -0
- package/dist/shared/lib/validation/choose-correct-answer.validation.js.map +1 -0
- package/dist/shared/lib/validation/label-the-picture.validation.d.ts +13 -0
- package/dist/shared/lib/validation/label-the-picture.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/label-the-picture.validation.js +20 -0
- package/dist/shared/lib/validation/label-the-picture.validation.js.map +1 -0
- package/dist/shared/lib/validation/listen-and-choose-from-answer-group.validation.d.ts +27 -0
- package/dist/shared/lib/validation/listen-and-choose-from-answer-group.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/listen-and-choose-from-answer-group.validation.js +47 -0
- package/dist/shared/lib/validation/listen-and-choose-from-answer-group.validation.js.map +1 -0
- package/dist/shared/lib/validation/listen-and-choose-objects-in-scene.validation.d.ts +18 -0
- package/dist/shared/lib/validation/listen-and-choose-objects-in-scene.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/listen-and-choose-objects-in-scene.validation.js +22 -0
- package/dist/shared/lib/validation/listen-and-choose-objects-in-scene.validation.js.map +1 -0
- package/dist/shared/lib/validation/listen-and-drag-objects-into-scene.validation.d.ts +23 -0
- package/dist/shared/lib/validation/listen-and-drag-objects-into-scene.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/listen-and-drag-objects-into-scene.validation.js +35 -0
- package/dist/shared/lib/validation/listen-and-drag-objects-into-scene.validation.js.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-answer.validation.d.ts +17 -0
- package/dist/shared/lib/validation/listen-and-speak-answer.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-answer.validation.js +41 -0
- package/dist/shared/lib/validation/listen-and-speak-answer.validation.js.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-compare-images.validation.d.ts +16 -0
- package/dist/shared/lib/validation/listen-and-speak-compare-images.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-compare-images.validation.js +46 -0
- package/dist/shared/lib/validation/listen-and-speak-compare-images.validation.js.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-image-group.validation.d.ts +22 -0
- package/dist/shared/lib/validation/listen-and-speak-image-group.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-image-group.validation.js +20 -0
- package/dist/shared/lib/validation/listen-and-speak-image-group.validation.js.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-info-exchange.validation.d.ts +27 -0
- package/dist/shared/lib/validation/listen-and-speak-info-exchange.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-info-exchange.validation.js +40 -0
- package/dist/shared/lib/validation/listen-and-speak-info-exchange.validation.js.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-odd-one-out.validation.d.ts +12 -0
- package/dist/shared/lib/validation/listen-and-speak-odd-one-out.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-odd-one-out.validation.js +33 -0
- package/dist/shared/lib/validation/listen-and-speak-odd-one-out.validation.js.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-question-list.validation.d.ts +18 -0
- package/dist/shared/lib/validation/listen-and-speak-question-list.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-question-list.validation.js +20 -0
- package/dist/shared/lib/validation/listen-and-speak-question-list.validation.js.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-with-story-images.validation.d.ts +11 -0
- package/dist/shared/lib/validation/listen-and-speak-with-story-images.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/listen-and-speak-with-story-images.validation.js +29 -0
- package/dist/shared/lib/validation/listen-and-speak-with-story-images.validation.js.map +1 -0
- package/dist/shared/lib/validation/look-picture-choose-correct-answer.validation.d.ts +10 -0
- package/dist/shared/lib/validation/look-picture-choose-correct-answer.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/look-picture-choose-correct-answer.validation.js +13 -0
- package/dist/shared/lib/validation/look-picture-choose-correct-answer.validation.js.map +1 -0
- package/dist/shared/lib/validation/look-picture-fill-blank-choose-answer.validation.d.ts +18 -0
- package/dist/shared/lib/validation/look-picture-fill-blank-choose-answer.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/look-picture-fill-blank-choose-answer.validation.js +48 -0
- package/dist/shared/lib/validation/look-picture-fill-blank-choose-answer.validation.js.map +1 -0
- package/dist/shared/lib/validation/read-and-color-objects.validation.d.ts +21 -0
- package/dist/shared/lib/validation/read-and-color-objects.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/read-and-color-objects.validation.js +30 -0
- package/dist/shared/lib/validation/read-and-color-objects.validation.js.map +1 -0
- package/dist/shared/lib/validation/read-displayed-content.validation.d.ts +8 -0
- package/dist/shared/lib/validation/read-displayed-content.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/read-displayed-content.validation.js +29 -0
- package/dist/shared/lib/validation/read-displayed-content.validation.js.map +1 -0
- package/dist/shared/lib/validation/speaking-conversation.validation.d.ts +30 -0
- package/dist/shared/lib/validation/speaking-conversation.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/speaking-conversation.validation.js +76 -0
- package/dist/shared/lib/validation/speaking-conversation.validation.js.map +1 -0
- package/dist/shared/lib/validation/speaking-describe-image.validation.d.ts +10 -0
- package/dist/shared/lib/validation/speaking-describe-image.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/speaking-describe-image.validation.js +32 -0
- package/dist/shared/lib/validation/speaking-describe-image.validation.js.map +1 -0
- package/dist/shared/lib/validation/spontaneous-qa.validation.d.ts +14 -0
- package/dist/shared/lib/validation/spontaneous-qa.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/spontaneous-qa.validation.js +49 -0
- package/dist/shared/lib/validation/spontaneous-qa.validation.js.map +1 -0
- package/dist/shared/lib/validation/word-fill-paragraph-default.validation.d.ts +18 -0
- package/dist/shared/lib/validation/word-fill-paragraph-default.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/word-fill-paragraph-default.validation.js +39 -0
- package/dist/shared/lib/validation/word-fill-paragraph-default.validation.js.map +1 -0
- package/dist/shared/lib/validation/word-fill-paragraph-with-options.validation.d.ts +16 -0
- package/dist/shared/lib/validation/word-fill-paragraph-with-options.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/word-fill-paragraph-with-options.validation.js +40 -0
- package/dist/shared/lib/validation/word-fill-paragraph-with-options.validation.js.map +1 -0
- package/dist/shared/lib/validation/word-fill-paragraph.validation.d.ts +20 -0
- package/dist/shared/lib/validation/word-fill-paragraph.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/word-fill-paragraph.validation.js +44 -0
- package/dist/shared/lib/validation/word-fill-paragraph.validation.js.map +1 -0
- package/dist/shared/lib/validation/word-ordering.validation.d.ts +11 -0
- package/dist/shared/lib/validation/word-ordering.validation.d.ts.map +1 -0
- package/dist/shared/lib/validation/word-ordering.validation.js +34 -0
- package/dist/shared/lib/validation/word-ordering.validation.js.map +1 -0
- package/dist/shared/types/branch.types.d.ts +154 -0
- package/dist/shared/types/branch.types.d.ts.map +1 -0
- package/dist/shared/types/branch.types.js +7 -0
- package/dist/shared/types/branch.types.js.map +1 -0
- package/dist/shared/types/common.types.d.ts +81 -0
- package/dist/shared/types/common.types.d.ts.map +1 -0
- package/dist/shared/types/common.types.js +51 -0
- package/dist/shared/types/common.types.js.map +1 -0
- package/dist/shared/types/entities/exam-schedule.types.d.ts +66 -0
- package/dist/shared/types/entities/exam-schedule.types.d.ts.map +1 -0
- package/dist/shared/types/entities/exam-schedule.types.js +6 -0
- package/dist/shared/types/entities/exam-schedule.types.js.map +1 -0
- package/dist/shared/types/entities/exam.types.d.ts +111 -0
- package/dist/shared/types/entities/exam.types.d.ts.map +1 -0
- package/dist/shared/types/entities/exam.types.js +2 -0
- package/dist/shared/types/entities/exam.types.js.map +1 -0
- package/dist/shared/types/entities/question.types.d.ts +359 -0
- package/dist/shared/types/entities/question.types.d.ts.map +1 -0
- package/dist/shared/types/entities/question.types.js +5 -0
- package/dist/shared/types/entities/question.types.js.map +1 -0
- package/dist/shared/types/entities/result.types.d.ts +41 -0
- package/dist/shared/types/entities/result.types.d.ts.map +1 -0
- package/dist/shared/types/entities/result.types.js +5 -0
- package/dist/shared/types/entities/result.types.js.map +1 -0
- package/dist/shared/types/entities/user.types.d.ts +42 -0
- package/dist/shared/types/entities/user.types.d.ts.map +1 -0
- package/dist/shared/types/entities/user.types.js +5 -0
- package/dist/shared/types/entities/user.types.js.map +1 -0
- package/dist/shared/types/exam-taking.types.d.ts +39 -0
- package/dist/shared/types/exam-taking.types.d.ts.map +1 -0
- package/dist/shared/types/exam-taking.types.js +3 -0
- package/dist/shared/types/exam-taking.types.js.map +1 -0
- package/dist/shared/types/history.types.d.ts +21 -0
- package/dist/shared/types/history.types.d.ts.map +1 -0
- package/dist/shared/types/history.types.js +35 -0
- package/dist/shared/types/history.types.js.map +1 -0
- package/dist/shared/types/index.d.ts +102 -0
- package/dist/shared/types/index.d.ts.map +1 -0
- package/dist/shared/types/index.js +2 -0
- package/dist/shared/types/index.js.map +1 -0
- package/dist/shared/types/questions/choose-correct-adjective.d.ts +38 -0
- package/dist/shared/types/questions/choose-correct-adjective.d.ts.map +1 -0
- package/dist/shared/types/questions/choose-correct-adjective.js +5 -0
- package/dist/shared/types/questions/choose-correct-adjective.js.map +1 -0
- package/dist/shared/types/questions/choose-the-correct-answer.d.ts +73 -0
- package/dist/shared/types/questions/choose-the-correct-answer.d.ts.map +1 -0
- package/dist/shared/types/questions/choose-the-correct-answer.js +10 -0
- package/dist/shared/types/questions/choose-the-correct-answer.js.map +1 -0
- package/dist/shared/types/questions/fill-missing-words-in-grid.d.ts +72 -0
- package/dist/shared/types/questions/fill-missing-words-in-grid.d.ts.map +1 -0
- package/dist/shared/types/questions/fill-missing-words-in-grid.js +12 -0
- package/dist/shared/types/questions/fill-missing-words-in-grid.js.map +1 -0
- package/dist/shared/types/questions/index.d.ts +29 -0
- package/dist/shared/types/questions/index.d.ts.map +1 -0
- package/dist/shared/types/questions/index.js +41 -0
- package/dist/shared/types/questions/index.js.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-answer.d.ts +47 -0
- package/dist/shared/types/questions/listen-and-speak-answer.d.ts.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-answer.js +2 -0
- package/dist/shared/types/questions/listen-and-speak-answer.js.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-compare-images.d.ts +23 -0
- package/dist/shared/types/questions/listen-and-speak-compare-images.d.ts.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-compare-images.js +2 -0
- package/dist/shared/types/questions/listen-and-speak-compare-images.js.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-image-group.d.ts +30 -0
- package/dist/shared/types/questions/listen-and-speak-image-group.d.ts.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-image-group.js +2 -0
- package/dist/shared/types/questions/listen-and-speak-image-group.js.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-info-exchange.d.ts +30 -0
- package/dist/shared/types/questions/listen-and-speak-info-exchange.d.ts.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-info-exchange.js +4 -0
- package/dist/shared/types/questions/listen-and-speak-info-exchange.js.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-odd-one-out.d.ts +14 -0
- package/dist/shared/types/questions/listen-and-speak-odd-one-out.d.ts.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-odd-one-out.js +4 -0
- package/dist/shared/types/questions/listen-and-speak-odd-one-out.js.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-question-list.d.ts +19 -0
- package/dist/shared/types/questions/listen-and-speak-question-list.d.ts.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-question-list.js +2 -0
- package/dist/shared/types/questions/listen-and-speak-question-list.js.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-with-story-images.d.ts +14 -0
- package/dist/shared/types/questions/listen-and-speak-with-story-images.d.ts.map +1 -0
- package/dist/shared/types/questions/listen-and-speak-with-story-images.js +4 -0
- package/dist/shared/types/questions/listen-and-speak-with-story-images.js.map +1 -0
- package/dist/shared/types/questions/look-picture-choose-correct-answer.d.ts +39 -0
- package/dist/shared/types/questions/look-picture-choose-correct-answer.d.ts.map +1 -0
- package/dist/shared/types/questions/look-picture-choose-correct-answer.js +6 -0
- package/dist/shared/types/questions/look-picture-choose-correct-answer.js.map +1 -0
- package/dist/shared/types/questions/look-picture-fill-blank-choose-answer.d.ts +64 -0
- package/dist/shared/types/questions/look-picture-fill-blank-choose-answer.d.ts.map +1 -0
- package/dist/shared/types/questions/look-picture-fill-blank-choose-answer.js +10 -0
- package/dist/shared/types/questions/look-picture-fill-blank-choose-answer.js.map +1 -0
- package/dist/shared/types/questions/look-picture-fill-word-hint.d.ts +58 -0
- package/dist/shared/types/questions/look-picture-fill-word-hint.d.ts.map +1 -0
- package/dist/shared/types/questions/look-picture-fill-word-hint.js +8 -0
- package/dist/shared/types/questions/look-picture-fill-word-hint.js.map +1 -0
- package/dist/shared/types/questions/read-displayed-content.d.ts +68 -0
- package/dist/shared/types/questions/read-displayed-content.d.ts.map +1 -0
- package/dist/shared/types/questions/read-displayed-content.js +2 -0
- package/dist/shared/types/questions/read-displayed-content.js.map +1 -0
- package/dist/shared/types/questions/speaking-conversation.d.ts +51 -0
- package/dist/shared/types/questions/speaking-conversation.d.ts.map +1 -0
- package/dist/shared/types/questions/speaking-conversation.js +8 -0
- package/dist/shared/types/questions/speaking-conversation.js.map +1 -0
- package/dist/shared/types/questions/speaking-describe-image.d.ts +41 -0
- package/dist/shared/types/questions/speaking-describe-image.d.ts.map +1 -0
- package/dist/shared/types/questions/speaking-describe-image.js +2 -0
- package/dist/shared/types/questions/speaking-describe-image.js.map +1 -0
- package/dist/shared/types/questions/spontaneous-qa.d.ts +80 -0
- package/dist/shared/types/questions/spontaneous-qa.d.ts.map +1 -0
- package/dist/shared/types/questions/spontaneous-qa.js +2 -0
- package/dist/shared/types/questions/spontaneous-qa.js.map +1 -0
- package/dist/shared/types/questions/write-correct-verb-form.d.ts +110 -0
- package/dist/shared/types/questions/write-correct-verb-form.d.ts.map +1 -0
- package/dist/shared/types/questions/write-correct-verb-form.js +13 -0
- package/dist/shared/types/questions/write-correct-verb-form.js.map +1 -0
- package/dist/shared/types/role.types.d.ts +61 -0
- package/dist/shared/types/role.types.d.ts.map +1 -0
- package/dist/shared/types/role.types.js +2 -0
- package/dist/shared/types/role.types.js.map +1 -0
- package/dist/shared/types/structure-management.d.ts +218 -0
- package/dist/shared/types/structure-management.d.ts.map +1 -0
- package/dist/shared/types/structure-management.js +29 -0
- package/dist/shared/types/structure-management.js.map +1 -0
- package/dist/shared/types/student.types.d.ts +396 -0
- package/dist/shared/types/student.types.d.ts.map +1 -0
- package/dist/shared/types/student.types.js +55 -0
- package/dist/shared/types/student.types.js.map +1 -0
- package/dist/shared/types/teacher-dashboard-rooms.d.ts +61 -0
- package/dist/shared/types/teacher-dashboard-rooms.d.ts.map +1 -0
- package/dist/shared/types/teacher-dashboard-rooms.js +3 -0
- package/dist/shared/types/teacher-dashboard-rooms.js.map +1 -0
- package/package.json +144 -0
|
@@ -0,0 +1,1937 @@
|
|
|
1
|
+
declare const admin: {
|
|
2
|
+
readonly 'admin.user.create.success': "User created successfully!";
|
|
3
|
+
readonly 'admin.user.update.success': "User updated successfully!";
|
|
4
|
+
readonly 'admin.user.update.error': "An error occurred while updating the user!";
|
|
5
|
+
readonly 'admin.user.delete.success': "User deleted successfully!";
|
|
6
|
+
readonly 'admin.user.delete.error': "An error occurred while deleting the user!";
|
|
7
|
+
readonly 'admin.exam.create.error': "Unable to create exam. Please try again!";
|
|
8
|
+
readonly 'admin.exam.update.error': "Unable to update exam. Please try again!";
|
|
9
|
+
readonly 'admin.exam.delete.error': "Unable to delete exam. Please try again!";
|
|
10
|
+
readonly 'admin.exam.template.update.error': "Unable to update template. Please try again!";
|
|
11
|
+
readonly 'admin.exam.copy.success': "Exam copied successfully: {name} ({count} questions)";
|
|
12
|
+
readonly 'admin.exam.copy.error': "Unable to copy exam. Please try again!";
|
|
13
|
+
readonly 'admin.exam.toggle.activated': "Exam \"{name}\" activated!";
|
|
14
|
+
readonly 'admin.exam.toggle.deactivated': "Exam \"{name}\" deactivated!";
|
|
15
|
+
readonly 'admin.exam.toggle.error': "Unable to change exam status. Please try again!";
|
|
16
|
+
readonly 'admin.exam.variants.delete.success': "Successfully deleted {count} shuffled variants!";
|
|
17
|
+
readonly 'admin.exam.variants.delete.empty': "No shuffled variants to delete.";
|
|
18
|
+
readonly 'admin.exam.variants.delete.error': "Unable to delete shuffled variants. Please try again!";
|
|
19
|
+
readonly 'admin.question.batchCreate.partial': "Created {successCount}/{total} questions successfully. {errorCount} failed.";
|
|
20
|
+
readonly 'admin.question.batchCreate.itemError': "Question {index}: {error}";
|
|
21
|
+
readonly 'admin.question.batchCreate.error': "Error creating questions: {message}";
|
|
22
|
+
readonly 'admin.questionBank.update.success': "Question updated successfully!";
|
|
23
|
+
readonly 'admin.questionBank.update.error': "Unable to update question. Please try again!";
|
|
24
|
+
readonly 'admin.questionBank.delete.success': "Question deleted successfully!";
|
|
25
|
+
readonly 'admin.questionBank.delete.error': "Unable to delete question. Please try again!";
|
|
26
|
+
readonly 'admin.questionBank.create.missingInfo': "Missing information";
|
|
27
|
+
readonly 'admin.questionBank.create.success': "Success!";
|
|
28
|
+
readonly 'admin.questionBank.create.error': "Error";
|
|
29
|
+
readonly 'admin.questionBank.create.preview': "Preview";
|
|
30
|
+
readonly 'admin.questionBank.page.title': "Question Bank";
|
|
31
|
+
readonly 'admin.questionBank.page.subtitle': "Manage and organize questions for exams";
|
|
32
|
+
readonly 'admin.questionBank.btn.add': "Add question";
|
|
33
|
+
readonly 'admin.questionBank.fetch.error': "Error";
|
|
34
|
+
readonly 'admin.questionBank.fetch.errorDesc': "Unable to load question list";
|
|
35
|
+
readonly 'admin.questionBank.delete.successMsg': "Question deleted";
|
|
36
|
+
readonly 'admin.questionBank.delete.successDesc': "Deleted question {code}";
|
|
37
|
+
readonly 'admin.questionBank.delete.errorMsg': "Error";
|
|
38
|
+
readonly 'admin.questionBank.delete.errorDesc': "Unable to delete question";
|
|
39
|
+
readonly 'admin.questionBank.update.successMsg': "Updated";
|
|
40
|
+
readonly 'admin.questionBank.update.successDesc': "Updated question {code}!";
|
|
41
|
+
readonly 'admin.questionBank.update.errorMsg': "Error";
|
|
42
|
+
readonly 'admin.questionBank.update.errorDesc': "Unable to update question";
|
|
43
|
+
readonly 'admin.questionBank.create.successMsg': "Question created";
|
|
44
|
+
readonly 'admin.questionBank.create.successDesc': "Successfully created question {code}!";
|
|
45
|
+
readonly 'admin.questionBank.stats.totalQuestions': "Total Questions";
|
|
46
|
+
readonly 'admin.questionBank.stats.inBank': "In question bank";
|
|
47
|
+
readonly 'admin.questionBank.stats.totalUsage': "Usage Count";
|
|
48
|
+
readonly 'admin.questionBank.stats.inExams': "In exams";
|
|
49
|
+
readonly 'admin.questionBank.stats.avgPoints': "Avg Points";
|
|
50
|
+
readonly 'admin.questionBank.stats.avgScore': "Average score";
|
|
51
|
+
readonly 'admin.questionBank.stats.difficultyDistribution': "Difficulty Distribution";
|
|
52
|
+
readonly 'admin.questionBank.stats.questions': "questions";
|
|
53
|
+
readonly 'admin.questionBank.difficulty.easy': "Easy";
|
|
54
|
+
readonly 'admin.questionBank.difficulty.medium': "Medium";
|
|
55
|
+
readonly 'admin.questionBank.difficulty.hard': "Hard";
|
|
56
|
+
readonly 'admin.questionBank.table.title': "Question List";
|
|
57
|
+
readonly 'admin.questionBank.table.loading': "Loading...";
|
|
58
|
+
readonly 'admin.questionBank.table.showing': "Showing {count} / {total} questions";
|
|
59
|
+
readonly 'admin.questionBank.table.empty': "No questions found";
|
|
60
|
+
readonly 'admin.questionBank.table.loadingData': "Loading data...";
|
|
61
|
+
readonly 'admin.questionBank.table.created': "Created: {date}";
|
|
62
|
+
readonly 'admin.questionBank.table.pointsUnit': "pts";
|
|
63
|
+
readonly 'admin.questionBank.table.usageUnit': "times";
|
|
64
|
+
readonly 'admin.questionBank.filter.searchPlaceholder': "Search by content...";
|
|
65
|
+
readonly 'admin.questionBank.filter.typePlaceholder': "Question type";
|
|
66
|
+
readonly 'admin.questionBank.filter.typeAll': "All types";
|
|
67
|
+
readonly 'admin.questionBank.filter.difficultyPlaceholder': "Difficulty";
|
|
68
|
+
readonly 'admin.questionBank.filter.difficultyAll': "All difficulties";
|
|
69
|
+
readonly 'admin.questionBank.filter.skillPlaceholder': "Skill";
|
|
70
|
+
readonly 'admin.questionBank.filter.skillAll': "All skills";
|
|
71
|
+
readonly 'admin.questionBank.filter.clear': "Clear filters";
|
|
72
|
+
readonly 'admin.questionBank.col.code': "CODE";
|
|
73
|
+
readonly 'admin.questionBank.col.title': "Title";
|
|
74
|
+
readonly 'admin.questionBank.col.type': "TYPE";
|
|
75
|
+
readonly 'admin.questionBank.col.difficulty': "DIFFICULTY";
|
|
76
|
+
readonly 'admin.questionBank.col.skill': "SKILL";
|
|
77
|
+
readonly 'admin.questionBank.col.points': "POINTS";
|
|
78
|
+
readonly 'admin.questionBank.col.usage': "USAGE";
|
|
79
|
+
readonly 'admin.questionBank.col.actions': "ACTIONS";
|
|
80
|
+
readonly 'admin.questionBank.action.view': "View details";
|
|
81
|
+
readonly 'admin.questionBank.action.edit': "Edit";
|
|
82
|
+
readonly 'admin.questionBank.action.delete': "Delete";
|
|
83
|
+
readonly 'admin.questionBank.dialog.add.title': "Add New Question";
|
|
84
|
+
readonly 'admin.questionBank.dialog.add.section1': "Basic Information";
|
|
85
|
+
readonly 'admin.questionBank.dialog.add.section2': "Question Type";
|
|
86
|
+
readonly 'admin.questionBank.dialog.add.section3': "Question Content";
|
|
87
|
+
readonly 'admin.questionBank.dialog.add.code': "Question Code";
|
|
88
|
+
readonly 'admin.questionBank.dialog.add.codePlaceholder': "E.g.: QB001";
|
|
89
|
+
readonly 'admin.questionBank.dialog.add.titleLabel': "Title";
|
|
90
|
+
readonly 'admin.questionBank.dialog.add.titlePlaceholder': "Brief description of the question";
|
|
91
|
+
readonly 'admin.questionBank.dialog.add.difficulty': "Difficulty Level";
|
|
92
|
+
readonly 'admin.questionBank.dialog.add.skill': "Skill";
|
|
93
|
+
readonly 'admin.questionBank.dialog.add.typePlaceholder': "Select question type...";
|
|
94
|
+
readonly 'admin.questionBank.dialog.add.typeNoOptions': "No question types for {skill}";
|
|
95
|
+
readonly 'admin.questionBank.dialog.add.noTypeSelected': "No question type selected";
|
|
96
|
+
readonly 'admin.questionBank.dialog.add.selectTypeHint': "Please select a question type in step 2";
|
|
97
|
+
readonly 'admin.questionBank.dialog.add.required': "Required";
|
|
98
|
+
readonly 'admin.questionBank.dialog.add.cancel': "Cancel";
|
|
99
|
+
readonly 'admin.questionBank.dialog.add.saving': "Saving...";
|
|
100
|
+
readonly 'admin.questionBank.dialog.add.save': "Add question";
|
|
101
|
+
readonly 'admin.questionBank.dialog.add.codeError': "Please enter question code";
|
|
102
|
+
readonly 'admin.questionBank.dialog.add.titleError': "Please enter title";
|
|
103
|
+
readonly 'admin.questionBank.dialog.add.typeError': "Please select question type";
|
|
104
|
+
readonly 'admin.questionBank.dialog.edit.title': "Edit Question";
|
|
105
|
+
readonly 'admin.questionBank.dialog.edit.section1': "Basic Information";
|
|
106
|
+
readonly 'admin.questionBank.dialog.edit.section2': "Question Type";
|
|
107
|
+
readonly 'admin.questionBank.dialog.edit.section3': "Question Content";
|
|
108
|
+
readonly 'admin.questionBank.dialog.edit.code': "Question Code";
|
|
109
|
+
readonly 'admin.questionBank.dialog.edit.codePlaceholder': "Enter question code";
|
|
110
|
+
readonly 'admin.questionBank.dialog.edit.titleLabel': "Title";
|
|
111
|
+
readonly 'admin.questionBank.dialog.edit.titlePlaceholder': "Brief description of the question";
|
|
112
|
+
readonly 'admin.questionBank.dialog.edit.difficulty': "Difficulty Level";
|
|
113
|
+
readonly 'admin.questionBank.dialog.edit.skill': "Skill";
|
|
114
|
+
readonly 'admin.questionBank.dialog.edit.unchangeable': "(Cannot be changed)";
|
|
115
|
+
readonly 'admin.questionBank.dialog.edit.required': "Required";
|
|
116
|
+
readonly 'admin.questionBank.dialog.edit.cancel': "Cancel";
|
|
117
|
+
readonly 'admin.questionBank.dialog.edit.saving': "Saving...";
|
|
118
|
+
readonly 'admin.questionBank.dialog.edit.save': "Save changes";
|
|
119
|
+
readonly 'admin.questionBank.dialog.edit.codeError': "Please enter question code";
|
|
120
|
+
readonly 'admin.questionBank.dialog.edit.titleError': "Please enter title";
|
|
121
|
+
readonly 'admin.questionBank.dialog.delete.title': "Confirm Delete Question";
|
|
122
|
+
readonly 'admin.questionBank.dialog.delete.message': "Are you sure you want to delete question";
|
|
123
|
+
readonly 'admin.questionBank.dialog.delete.warning': "This action cannot be undone.";
|
|
124
|
+
readonly 'admin.questionBank.dialog.delete.cancel': "Cancel";
|
|
125
|
+
readonly 'admin.questionBank.dialog.delete.deleting': "Deleting...";
|
|
126
|
+
readonly 'admin.questionBank.dialog.delete.confirm': "Delete question";
|
|
127
|
+
readonly 'admin.questionBank.dialog.view.title': "Question Details";
|
|
128
|
+
readonly 'admin.questionBank.dialog.view.points': "points";
|
|
129
|
+
readonly 'admin.questionBank.dialog.view.usage': "Used {count} times";
|
|
130
|
+
readonly 'admin.questionBank.dialog.view.preview': "Question Preview";
|
|
131
|
+
readonly 'admin.questionBank.dialog.view.explanation': "Answer Explanation";
|
|
132
|
+
readonly 'admin.questionBank.createPage.title': "Create New Question";
|
|
133
|
+
readonly 'admin.questionBank.createPage.subtitle': "Add question to the Bank for reuse in exam sets";
|
|
134
|
+
readonly 'admin.questionBank.createPage.breadcrumb.list': "Question Bank";
|
|
135
|
+
readonly 'admin.questionBank.createPage.breadcrumb.create': "Create New";
|
|
136
|
+
readonly 'admin.questionBank.createPage.infoTitle': "Creating question type: {type}";
|
|
137
|
+
readonly 'admin.questionBank.createPage.infoDesc': "Fill in the complete question information below. You can preview the question before saving.";
|
|
138
|
+
readonly 'admin.questionBank.createPage.loading': "Loading...";
|
|
139
|
+
readonly 'admin.questionBank.createPage.back': "Go back";
|
|
140
|
+
readonly 'admin.questionBank.createPage.preview': "Preview";
|
|
141
|
+
readonly 'admin.questionBank.createPage.saving': "Saving...";
|
|
142
|
+
readonly 'admin.questionBank.createPage.save': "Save question";
|
|
143
|
+
readonly 'admin.questionBank.createPage.cancelTitle': "Cancel question creation?";
|
|
144
|
+
readonly 'admin.questionBank.createPage.cancelMessage': "You have unsaved changes. If you cancel, all information will be lost. Are you sure you want to cancel?";
|
|
145
|
+
readonly 'admin.questionBank.createPage.continueEditing': "Continue editing";
|
|
146
|
+
readonly 'admin.questionBank.createPage.cancelAndExit': "Cancel and exit";
|
|
147
|
+
readonly 'admin.questionBank.createPage.missingInfoDesc': "Please fill in all question information";
|
|
148
|
+
readonly 'admin.questionBank.createPage.savedDesc': "Saved question \"{title}\" to the bank";
|
|
149
|
+
readonly 'admin.questionBank.createPage.saveErrorDesc': "Unable to save question. Please try again.";
|
|
150
|
+
readonly 'admin.questionBank.createPage.previewDesc': "Preview feature is under development";
|
|
151
|
+
readonly 'admin.schedule.update.success': "Schedule updated successfully!";
|
|
152
|
+
readonly 'admin.schedule.delete.success': "Deleted schedule {id}";
|
|
153
|
+
readonly 'admin.schedules.title': "Schedule Management";
|
|
154
|
+
readonly 'admin.schedules.subtitle': "Schedule and manage exam times for contests";
|
|
155
|
+
readonly 'admin.schedules.viewCalendar': "Calendar";
|
|
156
|
+
readonly 'admin.schedules.viewList': "List";
|
|
157
|
+
readonly 'admin.schedules.stats.totalSchedules': "Total Schedules";
|
|
158
|
+
readonly 'admin.schedules.stats.totalSchedulesDesc': "All exam schedules";
|
|
159
|
+
readonly 'admin.schedules.stats.confirmed': "Confirmed";
|
|
160
|
+
readonly 'admin.schedules.stats.confirmedDesc': "Schedules ready";
|
|
161
|
+
readonly 'admin.schedules.stats.totalStudents': "Total Students";
|
|
162
|
+
readonly 'admin.schedules.stats.totalStudentsDesc': "Assigned to schedules";
|
|
163
|
+
readonly 'admin.schedules.filters.searchPlaceholder': "Search schedules...";
|
|
164
|
+
readonly 'admin.schedules.filters.skill': "Skill";
|
|
165
|
+
readonly 'admin.schedules.filters.allSkills': "All skills";
|
|
166
|
+
readonly 'admin.schedules.filters.status': "Status";
|
|
167
|
+
readonly 'admin.schedules.filters.allStatuses': "All statuses";
|
|
168
|
+
readonly 'admin.schedules.filters.statusOpen': "Open";
|
|
169
|
+
readonly 'admin.schedules.filters.statusLocked': "Locked";
|
|
170
|
+
readonly 'admin.schedules.filters.clear': "Clear filters";
|
|
171
|
+
readonly 'admin.schedules.calendar.today': "Today";
|
|
172
|
+
readonly 'admin.schedules.calendar.daySun': "Sun";
|
|
173
|
+
readonly 'admin.schedules.calendar.dayMon': "Mon";
|
|
174
|
+
readonly 'admin.schedules.calendar.dayTue': "Tue";
|
|
175
|
+
readonly 'admin.schedules.calendar.dayWed': "Wed";
|
|
176
|
+
readonly 'admin.schedules.calendar.dayThu': "Thu";
|
|
177
|
+
readonly 'admin.schedules.calendar.dayFri': "Fri";
|
|
178
|
+
readonly 'admin.schedules.calendar.daySat': "Sat";
|
|
179
|
+
readonly 'admin.schedules.calendar.loading': "Loading schedules...";
|
|
180
|
+
readonly 'admin.schedules.calendar.noLimit': "No limit";
|
|
181
|
+
readonly 'admin.schedules.list.title': "Schedule List";
|
|
182
|
+
readonly 'admin.schedules.list.loading': "Loading...";
|
|
183
|
+
readonly 'admin.schedules.list.loadingList': "Loading schedule list...";
|
|
184
|
+
readonly 'admin.schedules.list.showing': "Showing {current} / {total} schedules";
|
|
185
|
+
readonly 'admin.schedules.list.empty': "No schedules found";
|
|
186
|
+
readonly 'admin.schedules.list.locked': "Locked";
|
|
187
|
+
readonly 'admin.schedules.list.open': "Open";
|
|
188
|
+
readonly 'admin.schedules.list.contest': "Contest:";
|
|
189
|
+
readonly 'admin.schedules.list.exam': "Exam:";
|
|
190
|
+
readonly 'admin.schedules.list.startTime': "Start:";
|
|
191
|
+
readonly 'admin.schedules.list.endTime': "End:";
|
|
192
|
+
readonly 'admin.schedules.list.noLimit': "No limit";
|
|
193
|
+
readonly 'admin.schedules.list.locationUnknown': "Not specified";
|
|
194
|
+
readonly 'admin.schedules.list.noSupervisor': "Not assigned";
|
|
195
|
+
readonly 'admin.schedules.list.participants': "{count} participants";
|
|
196
|
+
readonly 'admin.schedules.list.page': "Page {current} / {total}";
|
|
197
|
+
readonly 'admin.schedules.list.prev': "Previous";
|
|
198
|
+
readonly 'admin.schedules.list.next': "Next";
|
|
199
|
+
readonly 'admin.schedules.dialog.detailTitle': "Schedule Details";
|
|
200
|
+
readonly 'admin.schedules.dialog.room': "Exam Room";
|
|
201
|
+
readonly 'admin.schedules.dialog.contest': "Contest";
|
|
202
|
+
readonly 'admin.schedules.dialog.exam': "Exam";
|
|
203
|
+
readonly 'admin.schedules.dialog.startTime': "Start Time";
|
|
204
|
+
readonly 'admin.schedules.dialog.endTime': "End Time";
|
|
205
|
+
readonly 'admin.schedules.dialog.duration': "Duration";
|
|
206
|
+
readonly 'admin.schedules.dialog.status': "Status";
|
|
207
|
+
readonly 'admin.schedules.dialog.participantCount': "Participants";
|
|
208
|
+
readonly 'admin.schedules.dialog.participants': "{count} participants";
|
|
209
|
+
readonly 'admin.schedules.dialog.notAssigned': "Not assigned";
|
|
210
|
+
readonly 'admin.schedules.dialog.notSet': "Not specified";
|
|
211
|
+
readonly 'admin.schedules.dialog.noLimit': "No limit";
|
|
212
|
+
readonly 'admin.schedules.dialog.locked': "Locked";
|
|
213
|
+
readonly 'admin.schedules.dialog.open': "Open";
|
|
214
|
+
readonly 'admin.schedules.dialog.durationMinutes': "{duration} minutes";
|
|
215
|
+
readonly 'admin.schedules.dialog.location': "Location";
|
|
216
|
+
readonly 'admin.schedules.dialog.supervisor': "Supervisor";
|
|
217
|
+
readonly 'admin.schedules.dialog.noSupervisor': "Not assigned";
|
|
218
|
+
readonly 'admin.schedules.view.title': "Schedule Details";
|
|
219
|
+
readonly 'admin.schedules.view.contest': "Contest";
|
|
220
|
+
readonly 'admin.schedules.view.skill': "Skill";
|
|
221
|
+
readonly 'admin.schedules.view.status': "Status";
|
|
222
|
+
readonly 'admin.schedules.view.examDate': "Exam Date";
|
|
223
|
+
readonly 'admin.schedules.view.startTime': "Start Time";
|
|
224
|
+
readonly 'admin.schedules.view.endTime': "End Time";
|
|
225
|
+
readonly 'admin.schedules.view.location': "Location";
|
|
226
|
+
readonly 'admin.schedules.view.supervisor': "Supervisor";
|
|
227
|
+
readonly 'admin.schedules.view.studentCount': "Student Count";
|
|
228
|
+
readonly 'admin.schedules.view.duration': "Duration";
|
|
229
|
+
readonly 'admin.schedules.view.durationMinutes': "{duration} minutes";
|
|
230
|
+
readonly 'admin.schedules.edit.title': "Edit Schedule";
|
|
231
|
+
readonly 'admin.schedules.edit.contest': "Contest";
|
|
232
|
+
readonly 'admin.schedules.edit.skill': "Skill";
|
|
233
|
+
readonly 'admin.schedules.edit.skillPlaceholder': "Select skill";
|
|
234
|
+
readonly 'admin.schedules.edit.examDate': "Exam Date";
|
|
235
|
+
readonly 'admin.schedules.edit.startTime': "Start Time";
|
|
236
|
+
readonly 'admin.schedules.edit.endTime': "End Time";
|
|
237
|
+
readonly 'admin.schedules.edit.room': "Exam Room";
|
|
238
|
+
readonly 'admin.schedules.edit.roomPlaceholder': "Select room";
|
|
239
|
+
readonly 'admin.schedules.edit.invigilator': "Invigilator";
|
|
240
|
+
readonly 'admin.schedules.edit.invigilatorPlaceholder': "Select invigilator";
|
|
241
|
+
readonly 'admin.schedules.edit.capacity': "Capacity";
|
|
242
|
+
readonly 'admin.schedules.edit.status': "Status";
|
|
243
|
+
readonly 'admin.schedules.edit.statusPlaceholder': "Select status";
|
|
244
|
+
readonly 'admin.schedules.edit.location': "Location";
|
|
245
|
+
readonly 'admin.schedules.edit.locationPlaceholder': "Enter location (e.g., Floor 1, Building A)";
|
|
246
|
+
readonly 'admin.schedules.edit.notes': "Notes";
|
|
247
|
+
readonly 'admin.schedules.edit.notesPlaceholder': "Enter notes about the schedule (optional)";
|
|
248
|
+
readonly 'admin.schedules.edit.cancel': "Cancel";
|
|
249
|
+
readonly 'admin.schedules.edit.save': "Save Changes";
|
|
250
|
+
readonly 'admin.schedules.delete.title': "Confirm Delete Schedule";
|
|
251
|
+
readonly 'admin.schedules.delete.message': "Are you sure you want to delete schedule";
|
|
252
|
+
readonly 'admin.schedules.delete.warning': "This action cannot be undone.";
|
|
253
|
+
readonly 'admin.schedules.delete.cancel': "Cancel";
|
|
254
|
+
readonly 'admin.schedules.delete.confirm': "Delete Schedule";
|
|
255
|
+
readonly 'admin.schedules.utils.notSet': "Not set";
|
|
256
|
+
readonly 'admin.schedules.utils.noLimit': "No limit";
|
|
257
|
+
readonly 'admin.schedules.utils.statusDraft': "Draft";
|
|
258
|
+
readonly 'admin.schedules.utils.statusConfirmed': "Confirmed";
|
|
259
|
+
readonly 'admin.schedules.utils.statusInProgress': "In Progress";
|
|
260
|
+
readonly 'admin.schedules.utils.statusCompleted': "Completed";
|
|
261
|
+
readonly 'admin.schedules.utils.statusCancelled': "Cancelled";
|
|
262
|
+
readonly 'admin.report.exam.loadError': "Unable to load exam report data";
|
|
263
|
+
readonly 'admin.report.exam.exportError': "Unable to export report";
|
|
264
|
+
readonly 'admin.report.room.loadError': "Unable to load room report data";
|
|
265
|
+
readonly 'admin.report.room.exportSuccess': "Exported {format} report successfully";
|
|
266
|
+
readonly 'admin.report.room.exportError': "Unable to export report";
|
|
267
|
+
readonly 'admin.report.branch.loadError': "Unable to load branch report data";
|
|
268
|
+
readonly 'admin.report.branch.exportError': "Unable to export report";
|
|
269
|
+
readonly 'admin.user.resetPassword.success': "Password reset for {name}!";
|
|
270
|
+
readonly 'admin.user.resetPassword.error': "An error occurred while resetting the password!";
|
|
271
|
+
readonly 'admin.user.lock.success': "Account {name} has been locked";
|
|
272
|
+
readonly 'admin.user.unlock.success': "Account {name} has been unlocked";
|
|
273
|
+
readonly 'admin.user.toggleStatus.error': "An error occurred while changing account status!";
|
|
274
|
+
readonly 'admin.user.export.success': "Excel file exported successfully!";
|
|
275
|
+
readonly 'admin.user.export.error': "An error occurred while exporting the Excel file!";
|
|
276
|
+
readonly 'admin.user.syncEBM.success': "EBM sync successful!";
|
|
277
|
+
readonly 'admin.user.syncEBM.error': "An error occurred while syncing EBM!";
|
|
278
|
+
readonly 'admin.users.title': "User Management";
|
|
279
|
+
readonly 'admin.users.subtitle': "Manage Admin, Teacher and Student accounts";
|
|
280
|
+
readonly 'admin.users.table.title': "User List";
|
|
281
|
+
readonly 'admin.users.table.loading': "Loading data...";
|
|
282
|
+
readonly 'admin.users.table.showing': "Showing {count} / {total} users";
|
|
283
|
+
readonly 'admin.users.table.empty': "No users found";
|
|
284
|
+
readonly 'admin.users.table.neverLoggedIn': "Never logged in";
|
|
285
|
+
readonly 'admin.users.table.exportExcel': "Export Excel";
|
|
286
|
+
readonly 'admin.users.table.syncEBM': "Sync EBM";
|
|
287
|
+
readonly 'admin.users.table.addUser': "Add User";
|
|
288
|
+
readonly 'admin.users.col.userInfo': "USER INFO";
|
|
289
|
+
readonly 'admin.users.col.branch': "BRANCH";
|
|
290
|
+
readonly 'admin.users.col.contact': "CONTACT";
|
|
291
|
+
readonly 'admin.users.col.role': "ROLE";
|
|
292
|
+
readonly 'admin.users.col.source': "SOURCE";
|
|
293
|
+
readonly 'admin.users.col.status': "STATUS";
|
|
294
|
+
readonly 'admin.users.col.lastLogin': "LAST LOGIN";
|
|
295
|
+
readonly 'admin.users.col.actions': "ACTIONS";
|
|
296
|
+
readonly 'admin.users.filter.searchPlaceholder': "Search by email, username, phone...";
|
|
297
|
+
readonly 'admin.users.filter.allRoles': "All roles";
|
|
298
|
+
readonly 'admin.users.filter.allStatuses': "All statuses";
|
|
299
|
+
readonly 'admin.users.filter.active': "Active";
|
|
300
|
+
readonly 'admin.users.filter.inactive': "Inactive";
|
|
301
|
+
readonly 'admin.users.filter.clearFilters': "Clear filters";
|
|
302
|
+
readonly 'admin.users.filter.searchLabel': "Search:";
|
|
303
|
+
readonly 'admin.users.filter.roleLabel': "Role:";
|
|
304
|
+
readonly 'admin.users.filter.statusLabel': "Status:";
|
|
305
|
+
readonly 'admin.users.role.systemAdmin': "System Admin";
|
|
306
|
+
readonly 'admin.users.role.admin': "Admin";
|
|
307
|
+
readonly 'admin.users.role.teacher': "Teacher";
|
|
308
|
+
readonly 'admin.users.role.student': "Student";
|
|
309
|
+
readonly 'admin.users.action.view': "View details";
|
|
310
|
+
readonly 'admin.users.action.viewDetail': "View user detail page";
|
|
311
|
+
readonly 'admin.users.action.edit': "Edit";
|
|
312
|
+
readonly 'admin.users.action.resetPassword': "Reset password";
|
|
313
|
+
readonly 'admin.users.action.lock': "Lock account";
|
|
314
|
+
readonly 'admin.users.action.unlock': "Unlock account";
|
|
315
|
+
readonly 'admin.users.action.delete': "Delete user";
|
|
316
|
+
readonly 'admin.users.field.branch': "Branch";
|
|
317
|
+
readonly 'admin.users.field.branchPlaceholder': "Search and select branch...";
|
|
318
|
+
readonly 'admin.users.field.fullName': "Full name";
|
|
319
|
+
readonly 'admin.users.field.fullNamePlaceholder': "Enter full name...";
|
|
320
|
+
readonly 'admin.users.field.email': "Email";
|
|
321
|
+
readonly 'admin.users.field.emailPlaceholder': "Enter email...";
|
|
322
|
+
readonly 'admin.users.field.phone': "Phone number";
|
|
323
|
+
readonly 'admin.users.field.phonePlaceholder': "Enter phone number...";
|
|
324
|
+
readonly 'admin.users.field.address': "Address";
|
|
325
|
+
readonly 'admin.users.field.addressPlaceholder': "Enter address...";
|
|
326
|
+
readonly 'admin.users.field.usernamePlaceholder': "Enter username...";
|
|
327
|
+
readonly 'admin.users.field.usernameHint': "Start with a letter, only letters, numbers and _ allowed";
|
|
328
|
+
readonly 'admin.users.field.password': "Password";
|
|
329
|
+
readonly 'admin.users.field.passwordPlaceholder': "Enter password...";
|
|
330
|
+
readonly 'admin.users.field.passwordHint': "At least 8 characters including uppercase, lowercase, number and special character";
|
|
331
|
+
readonly 'admin.users.field.role': "Role";
|
|
332
|
+
readonly 'admin.users.field.rolePlaceholder': "Select role...";
|
|
333
|
+
readonly 'admin.users.field.activeStatus': "Account status";
|
|
334
|
+
readonly 'admin.users.field.activeHint': "Account will be active immediately after creation";
|
|
335
|
+
readonly 'admin.users.field.inactiveHint': "Account will be locked, can be activated later";
|
|
336
|
+
readonly 'admin.users.field.activeStatusDesc': "Account is active";
|
|
337
|
+
readonly 'admin.users.field.inactiveStatusDesc': "Account is locked";
|
|
338
|
+
readonly 'admin.users.field.registrationSource': "Registration source";
|
|
339
|
+
readonly 'admin.users.field.createdAt': "Created at";
|
|
340
|
+
readonly 'admin.users.field.updatedAt': "Last updated";
|
|
341
|
+
readonly 'admin.users.field.status': "Status";
|
|
342
|
+
readonly 'admin.users.field.dateOfBirth': "Date of birth";
|
|
343
|
+
readonly 'admin.users.field.dateOfBirthPlaceholder': "Select date of birth...";
|
|
344
|
+
readonly 'admin.users.add.title': "Add New User";
|
|
345
|
+
readonly 'admin.users.add.desc': "Fill in the information to create a new user account";
|
|
346
|
+
readonly 'admin.users.add.submitting': "Creating...";
|
|
347
|
+
readonly 'admin.users.add.submit': "Add User";
|
|
348
|
+
readonly 'admin.users.edit.title': "Edit User";
|
|
349
|
+
readonly 'admin.users.edit.desc': "Update user information: {name}";
|
|
350
|
+
readonly 'admin.users.edit.submitting': "Updating...";
|
|
351
|
+
readonly 'admin.users.edit.submit': "Update";
|
|
352
|
+
readonly 'admin.users.delete.title': "Confirm Delete User";
|
|
353
|
+
readonly 'admin.users.delete.desc': "Are you sure you want to delete user {name}?";
|
|
354
|
+
readonly 'admin.users.delete.warning': "This action cannot be undone.";
|
|
355
|
+
readonly 'admin.users.delete.confirm': "Delete User";
|
|
356
|
+
readonly 'admin.users.view.title': "User Information";
|
|
357
|
+
readonly 'admin.users.view.subtitle': "Account details";
|
|
358
|
+
readonly 'admin.users.view.close': "Close";
|
|
359
|
+
readonly 'admin.users.resetPassword.title': "Reset Password";
|
|
360
|
+
readonly 'admin.users.resetPassword.desc': "Enter a new password for user {name}";
|
|
361
|
+
readonly 'admin.users.resetPassword.label': "New password";
|
|
362
|
+
readonly 'admin.users.resetPassword.placeholder': "Enter new password...";
|
|
363
|
+
readonly 'admin.users.resetPassword.hint': "Password should be at least 8 characters including uppercase, lowercase and numbers";
|
|
364
|
+
readonly 'admin.users.resetPassword.submit': "Reset Password";
|
|
365
|
+
readonly 'admin.users.lock.title': "Lock Account";
|
|
366
|
+
readonly 'admin.users.lock.desc': "Are you sure you want to lock the account {name}? The user will not be able to log in.";
|
|
367
|
+
readonly 'admin.users.lock.confirm': "Lock Account";
|
|
368
|
+
readonly 'admin.users.unlock.title': "Unlock Account";
|
|
369
|
+
readonly 'admin.users.unlock.desc': "Are you sure you want to unlock the account {name}? The user will be able to log in.";
|
|
370
|
+
readonly 'admin.users.unlock.confirm': "Unlock Account";
|
|
371
|
+
readonly 'admin.reports.title': "Reports";
|
|
372
|
+
readonly 'admin.reports.subtitle': "View overview and analyze exam results";
|
|
373
|
+
readonly 'admin.reports.viewDetail': "View details →";
|
|
374
|
+
readonly 'admin.reports.overview.title': "Overview Report";
|
|
375
|
+
readonly 'admin.reports.overview.desc': "System-wide statistics";
|
|
376
|
+
readonly 'admin.reports.overview.content': "View exam results overview, student numbers, average scores over time";
|
|
377
|
+
readonly 'admin.reports.class.title': "Class Report";
|
|
378
|
+
readonly 'admin.reports.class.desc': "Details by class";
|
|
379
|
+
readonly 'admin.reports.class.content': "Analyze exam results, rankings and learning progress by class";
|
|
380
|
+
readonly 'admin.reports.branch.title': "Branch Report";
|
|
381
|
+
readonly 'admin.reports.branch.desc': "Compare between branches";
|
|
382
|
+
readonly 'admin.reports.branch.content': "Compare performance and learning results between branches";
|
|
383
|
+
readonly 'admin.reports.exam.title': "Exam Report";
|
|
384
|
+
readonly 'admin.reports.exam.desc': "Statistics by exam";
|
|
385
|
+
readonly 'admin.reports.exam.content': "Statistics on results, scores and pass rates by exam";
|
|
386
|
+
readonly 'admin.reports.room.title': "Room Report";
|
|
387
|
+
readonly 'admin.reports.room.desc': "Details by room";
|
|
388
|
+
readonly 'admin.reports.room.content': "Statistics on exam results, scores, pass rates by room";
|
|
389
|
+
readonly 'admin.reports.competency.title': "Student Competency Report";
|
|
390
|
+
readonly 'admin.reports.competency.desc': "Skill analysis by student";
|
|
391
|
+
readonly 'admin.reports.competency.content': "Analyze scores by 4 skills: Reading, Listening, Writing, Speaking per student";
|
|
392
|
+
readonly 'admin.reports.room.pageTitle': "Room Report";
|
|
393
|
+
readonly 'admin.reports.room.pageSubtitle': "Detailed statistics about exam rooms";
|
|
394
|
+
readonly 'admin.reports.room.export': "Export report";
|
|
395
|
+
readonly 'admin.reports.room.exporting': "Exporting...";
|
|
396
|
+
readonly 'admin.reports.room.exportExcel': "Export Excel (.xlsx)";
|
|
397
|
+
readonly 'admin.reports.room.exportCsv': "Export CSV (.csv)";
|
|
398
|
+
readonly 'admin.reports.room.viewFull': "View full report";
|
|
399
|
+
readonly 'admin.reports.room.totalRooms': "Total Rooms";
|
|
400
|
+
readonly 'admin.reports.room.totalStudents': "Total Students";
|
|
401
|
+
readonly 'admin.reports.room.totalSubmitted': "Submitted";
|
|
402
|
+
readonly 'admin.reports.room.avgScore': "Avg Score";
|
|
403
|
+
readonly 'admin.reports.room.passRate': "Pass Rate";
|
|
404
|
+
readonly 'admin.reports.room.avgDuration': "Avg Duration";
|
|
405
|
+
readonly 'admin.reports.room.scoreDistribution': "Score Distribution";
|
|
406
|
+
readonly 'admin.reports.room.topRooms': "Top Scoring Rooms";
|
|
407
|
+
readonly 'admin.reports.room.noData': "No data yet";
|
|
408
|
+
readonly 'admin.reports.room.excellent': "Excellent (9-10)";
|
|
409
|
+
readonly 'admin.reports.room.good': "Good (7-8.9)";
|
|
410
|
+
readonly 'admin.reports.room.average': "Average (5-6.9)";
|
|
411
|
+
readonly 'admin.reports.room.poor': "Poor (<5)";
|
|
412
|
+
readonly 'admin.reports.room.searchPlaceholder': "Search rooms...";
|
|
413
|
+
readonly 'admin.reports.room.statusPlaceholder': "Status";
|
|
414
|
+
readonly 'admin.reports.room.statusAll': "All statuses";
|
|
415
|
+
readonly 'admin.reports.room.statusScheduled': "Scheduled";
|
|
416
|
+
readonly 'admin.reports.room.statusInProgress': "In Progress";
|
|
417
|
+
readonly 'admin.reports.room.statusCompleted': "Completed";
|
|
418
|
+
readonly 'admin.reports.room.clearFilters': "Clear filters";
|
|
419
|
+
readonly 'admin.reports.room.roomList': "Room List";
|
|
420
|
+
readonly 'admin.reports.room.colRoom': "Room";
|
|
421
|
+
readonly 'admin.reports.room.colContest': "Contest";
|
|
422
|
+
readonly 'admin.reports.room.colStatus': "Status";
|
|
423
|
+
readonly 'admin.reports.room.colStudents': "Students";
|
|
424
|
+
readonly 'admin.reports.room.colAvgScore': "Avg Score";
|
|
425
|
+
readonly 'admin.reports.room.colHighLow': "High/Low";
|
|
426
|
+
readonly 'admin.reports.room.colPassRate': "Pass Rate";
|
|
427
|
+
readonly 'admin.reports.room.colTeachers': "Proctors";
|
|
428
|
+
readonly 'admin.reports.room.empty': "No rooms found";
|
|
429
|
+
readonly 'admin.reports.room.loading': "Loading data...";
|
|
430
|
+
readonly 'admin.reports.room.dialogTitle': "Room Report";
|
|
431
|
+
readonly 'admin.reports.room.dialogDesc': "Detailed exam results statistics by room";
|
|
432
|
+
readonly 'admin.reports.exporting': "Exporting...";
|
|
433
|
+
readonly 'admin.reports.exportExcel': "Export Excel";
|
|
434
|
+
readonly 'admin.reports.loading': "Loading data...";
|
|
435
|
+
readonly 'admin.reports.close': "Close";
|
|
436
|
+
readonly 'admin.reports.common.avgScore': "Avg Score";
|
|
437
|
+
readonly 'admin.reports.common.passRate': "Pass Rate";
|
|
438
|
+
readonly 'admin.reports.common.totalStudents': "Total Students";
|
|
439
|
+
readonly 'admin.reports.common.students': "Students";
|
|
440
|
+
readonly 'admin.reports.common.teachers': "Teachers";
|
|
441
|
+
readonly 'admin.reports.common.classes': "Classes";
|
|
442
|
+
readonly 'admin.reports.stats.totalExams': "Total Exams";
|
|
443
|
+
readonly 'admin.reports.stats.totalStudents': "Participants";
|
|
444
|
+
readonly 'admin.reports.stats.avgScore': "Average Score";
|
|
445
|
+
readonly 'admin.reports.stats.passRate': "Pass Rate";
|
|
446
|
+
readonly 'admin.reports.stats.vsLastMonth': "vs last month";
|
|
447
|
+
readonly 'admin.reports.overview.dialogTitle': "Overview Report";
|
|
448
|
+
readonly 'admin.reports.overview.dialogDesc': "System-wide statistics for Ocean Edu";
|
|
449
|
+
readonly 'admin.reports.overview.totalExams': "Total Exams";
|
|
450
|
+
readonly 'admin.reports.overview.totalStudents': "Students";
|
|
451
|
+
readonly 'admin.reports.overview.avgScore': "System Avg Score";
|
|
452
|
+
readonly 'admin.reports.overview.passRate': "Pass Rate";
|
|
453
|
+
readonly 'admin.reports.overview.vsPrevPeriod': "vs previous period";
|
|
454
|
+
readonly 'admin.reports.overview.questions': "Questions";
|
|
455
|
+
readonly 'admin.reports.overview.classes': "Classes";
|
|
456
|
+
readonly 'admin.reports.overview.examRooms': "Exam Rooms";
|
|
457
|
+
readonly 'admin.reports.overview.activeContests': "Active Contests";
|
|
458
|
+
readonly 'admin.reports.overview.examsByLevel': "Statistics by Exam Level";
|
|
459
|
+
readonly 'admin.reports.overview.examsUnit': "exams";
|
|
460
|
+
readonly 'admin.reports.overview.questionsByType': "Question Type Distribution";
|
|
461
|
+
readonly 'admin.reports.overview.questionsUnit': "questions";
|
|
462
|
+
readonly 'admin.reports.overview.recentActivity': "Recent Activity";
|
|
463
|
+
readonly 'admin.reports.overview.minutesAgo': "{count} minutes ago";
|
|
464
|
+
readonly 'admin.reports.overview.hoursAgo': "{count} hours ago";
|
|
465
|
+
readonly 'admin.reports.overview.daysAgo': "{count} days ago";
|
|
466
|
+
readonly 'admin.reports.class.dialogTitle': "Class Report";
|
|
467
|
+
readonly 'admin.reports.class.dialogDesc': "Learning performance statistics by class";
|
|
468
|
+
readonly 'admin.reports.class.gradeAll': "All";
|
|
469
|
+
readonly 'admin.reports.class.totalClasses': "Total Classes";
|
|
470
|
+
readonly 'admin.reports.class.totalStudents': "Total Students";
|
|
471
|
+
readonly 'admin.reports.class.avgPassRate': "Avg Pass Rate";
|
|
472
|
+
readonly 'admin.reports.class.classList': "Class List";
|
|
473
|
+
readonly 'admin.reports.class.colClass': "Class";
|
|
474
|
+
readonly 'admin.reports.class.colLevel': "Level";
|
|
475
|
+
readonly 'admin.reports.class.colSize': "Size";
|
|
476
|
+
readonly 'admin.reports.class.colAvgScore': "Avg Score";
|
|
477
|
+
readonly 'admin.reports.class.colPassRate': "Pass Rate";
|
|
478
|
+
readonly 'admin.reports.class.colTeacher': "Teacher";
|
|
479
|
+
readonly 'admin.reports.class.topStudents': "Top 5 Outstanding Students";
|
|
480
|
+
readonly 'admin.reports.class.totalExams': "Exams";
|
|
481
|
+
readonly 'admin.reports.class.searchPlaceholder': "Search by class name or code...";
|
|
482
|
+
readonly 'admin.reports.branch.dialogTitle': "Branch Report";
|
|
483
|
+
readonly 'admin.reports.branch.dialogDesc': "Compare performance between branches";
|
|
484
|
+
readonly 'admin.reports.branch.totalBranches': "Total Branches";
|
|
485
|
+
readonly 'admin.reports.branch.totalStudents': "Total Students";
|
|
486
|
+
readonly 'admin.reports.branch.totalClasses': "Total Classes";
|
|
487
|
+
readonly 'admin.reports.branch.avgScore': "Overall Avg Score";
|
|
488
|
+
readonly 'admin.reports.branch.comparison': "Branch Comparison";
|
|
489
|
+
readonly 'admin.reports.exam.dialogTitle': "Exam Report";
|
|
490
|
+
readonly 'admin.reports.exam.dialogDesc': "Results statistics by contest";
|
|
491
|
+
readonly 'admin.reports.exam.statusDraft': "Draft";
|
|
492
|
+
readonly 'admin.reports.exam.statusPublished': "Published";
|
|
493
|
+
readonly 'admin.reports.exam.statusActive': "In Progress";
|
|
494
|
+
readonly 'admin.reports.exam.statusCompleted': "Completed";
|
|
495
|
+
readonly 'admin.reports.exam.totalContests': "Total Contests";
|
|
496
|
+
readonly 'admin.reports.exam.totalStudents': "Total Students";
|
|
497
|
+
readonly 'admin.reports.exam.avgScore': "Avg Score";
|
|
498
|
+
readonly 'admin.reports.exam.passRate': "Pass Rate";
|
|
499
|
+
readonly 'admin.reports.exam.contestList': "Contest List";
|
|
500
|
+
readonly 'admin.reports.exam.code': "Code: {code}";
|
|
501
|
+
readonly 'admin.reports.exam.noData': "No data yet";
|
|
502
|
+
readonly 'admin.reports.competency.dialogTitle': "Student Competency Report";
|
|
503
|
+
readonly 'admin.reports.competency.dialogDesc': "Skill-based score analysis";
|
|
504
|
+
readonly 'admin.reports.competency.searchPlaceholder': "Search by name or email...";
|
|
505
|
+
readonly 'admin.reports.competency.totalStudents': "Total Students";
|
|
506
|
+
readonly 'admin.reports.competency.avgScore': "Avg Score";
|
|
507
|
+
readonly 'admin.reports.competency.passRate': "Pass Rate";
|
|
508
|
+
readonly 'admin.reports.competency.bestSkill': "Best Skill";
|
|
509
|
+
readonly 'admin.reports.competency.skillDistribution': "Score Distribution by Skill";
|
|
510
|
+
readonly 'admin.reports.competency.avgScoreTooltip': "Avg Score";
|
|
511
|
+
readonly 'admin.reports.competency.studentList': "Student List ({count})";
|
|
512
|
+
readonly 'admin.reports.competency.colName': "Name";
|
|
513
|
+
readonly 'admin.reports.competency.colClass': "Class";
|
|
514
|
+
readonly 'admin.reports.competency.colReading': "Reading";
|
|
515
|
+
readonly 'admin.reports.competency.colListening': "Listening";
|
|
516
|
+
readonly 'admin.reports.competency.colWriting': "Writing";
|
|
517
|
+
readonly 'admin.reports.competency.colSpeaking': "Speaking";
|
|
518
|
+
readonly 'admin.reports.competency.colTotal': "Total";
|
|
519
|
+
readonly 'admin.reports.competency.colExams': "Exams";
|
|
520
|
+
readonly 'admin.reports.competency.noData': "No data";
|
|
521
|
+
readonly 'admin.reports.competency.page': "Page {page} / {totalPages}";
|
|
522
|
+
readonly 'admin.reports.competency.prev': "Previous";
|
|
523
|
+
readonly 'admin.reports.competency.next': "Next";
|
|
524
|
+
readonly 'admin.reports.competency.reading': "Reading";
|
|
525
|
+
readonly 'admin.reports.competency.listening': "Listening";
|
|
526
|
+
readonly 'admin.reports.competency.writing': "Writing";
|
|
527
|
+
readonly 'admin.reports.competency.speaking': "Speaking";
|
|
528
|
+
readonly 'admin.reports.competency.pageTitle': "Student Competency Report";
|
|
529
|
+
readonly 'admin.reports.competency.pageSubtitle': "Score analysis by skill";
|
|
530
|
+
readonly 'admin.reports.competency.backToReports': "Back to Reports";
|
|
531
|
+
readonly 'admin.reports.competency.export': "Export Excel";
|
|
532
|
+
readonly 'admin.reports.competency.exporting': "Exporting...";
|
|
533
|
+
readonly 'admin.reports.competency.atRisk': "At-Risk Students";
|
|
534
|
+
readonly 'admin.reports.competency.atRiskDesc': "Below 5.0";
|
|
535
|
+
readonly 'admin.reports.competency.radarTitle': "Competency by Skill";
|
|
536
|
+
readonly 'admin.reports.competency.radarClassAvg': "This Class";
|
|
537
|
+
readonly 'admin.reports.competency.radarSysAvg': "System Average";
|
|
538
|
+
readonly 'admin.reports.competency.trendTitle': "Score Trend Over Time";
|
|
539
|
+
readonly 'admin.reports.competency.trend3m': "3 Months";
|
|
540
|
+
readonly 'admin.reports.competency.trend6m': "6 Months";
|
|
541
|
+
readonly 'admin.reports.competency.trend12m': "12 Months";
|
|
542
|
+
readonly 'admin.reports.competency.skillBreakdownTitle': "Skill Analysis";
|
|
543
|
+
readonly 'admin.reports.competency.strengthsTitle': "Strengths";
|
|
544
|
+
readonly 'admin.reports.competency.weaknessesTitle': "Weaknesses";
|
|
545
|
+
readonly 'admin.reports.competency.noStrengths': "No data";
|
|
546
|
+
readonly 'admin.reports.competency.noWeaknesses': "No data";
|
|
547
|
+
readonly 'admin.reports.competency.bandExcellent': "Excellent";
|
|
548
|
+
readonly 'admin.reports.competency.bandGood': "Good";
|
|
549
|
+
readonly 'admin.reports.competency.bandAverage': "Average";
|
|
550
|
+
readonly 'admin.reports.competency.bandWeak': "Weak";
|
|
551
|
+
readonly 'admin.reports.competency.colTrend': "Trend";
|
|
552
|
+
readonly 'admin.reports.competency.colBand': "Band";
|
|
553
|
+
readonly 'admin.reports.competency.filterAll': "All";
|
|
554
|
+
readonly 'admin.reports.competency.filterWeak': "Needs Support";
|
|
555
|
+
readonly 'admin.reports.competency.filterGood': "Good - Excellent";
|
|
556
|
+
readonly 'admin.reports.competency.searchPlaceholder2': "Find student...";
|
|
557
|
+
readonly 'admin.reports.competency.examRoomFilter.placeholder': "All exam rooms";
|
|
558
|
+
readonly 'admin.reports.competency.examRoomFilter.searchPlaceholder': "Search exam rooms...";
|
|
559
|
+
readonly 'admin.reports.competency.examRoomFilter.noRooms': "No exam rooms found";
|
|
560
|
+
readonly 'admin.reports.competency.examRoomFilter.allRooms': "All exam rooms";
|
|
561
|
+
readonly 'admin.reports.period.week': "This week";
|
|
562
|
+
readonly 'admin.reports.period.month': "This month";
|
|
563
|
+
readonly 'admin.reports.period.quarter': "This quarter";
|
|
564
|
+
readonly 'admin.reports.period.year': "This year";
|
|
565
|
+
readonly 'admin.reports.period.custom': "Custom";
|
|
566
|
+
readonly 'admin.reports.period.fromDate': "From date";
|
|
567
|
+
readonly 'admin.reports.period.toDate': "To date";
|
|
568
|
+
readonly 'admin.dashboard.title': "Admin Dashboard";
|
|
569
|
+
readonly 'admin.dashboard.subtitle': "Manage Ocean Edu online exam system";
|
|
570
|
+
readonly 'admin.dashboard.totalStudents': "Total Students";
|
|
571
|
+
readonly 'admin.dashboard.totalStudents.monthly': "+{count} new students this month";
|
|
572
|
+
readonly 'admin.dashboard.totalStudents.growth': "M{lastMonth} {action} {percent}% vs M{prevMonth}";
|
|
573
|
+
readonly 'admin.dashboard.totalExams': "Exams";
|
|
574
|
+
readonly 'admin.dashboard.totalExams.weekly': "+{count} new exams this week";
|
|
575
|
+
readonly 'admin.dashboard.examRooms': "Exam Rooms";
|
|
576
|
+
readonly 'admin.dashboard.examRooms.active': "{count} rooms active";
|
|
577
|
+
readonly 'admin.dashboard.teachers': "Teachers";
|
|
578
|
+
readonly 'admin.dashboard.teachers.yearly': "+{count} new teachers this year";
|
|
579
|
+
readonly 'admin.dashboard.contests': "Contests";
|
|
580
|
+
readonly 'admin.dashboard.contests.ongoing': "{count} ongoing";
|
|
581
|
+
readonly 'admin.dashboard.inProgressRooms': "Rooms In Progress";
|
|
582
|
+
readonly 'admin.dashboard.inProgressRooms.status': "In progress";
|
|
583
|
+
readonly 'admin.dashboard.studentsInExam': "Students In Exam";
|
|
584
|
+
readonly 'admin.dashboard.studentsInExam.rooms': "In {count} rooms";
|
|
585
|
+
readonly 'admin.dashboard.pendingGrading': "Pending Grading";
|
|
586
|
+
readonly 'admin.dashboard.pendingGrading.action': "Needs attention";
|
|
587
|
+
readonly 'admin.dashboard.userGrowth.title': "User Growth";
|
|
588
|
+
readonly 'admin.dashboard.userGrowth.desc': "Student and teacher count over the last 6 months";
|
|
589
|
+
readonly 'admin.dashboard.userGrowth.students': "Students";
|
|
590
|
+
readonly 'admin.dashboard.userGrowth.teachers': "Teachers";
|
|
591
|
+
readonly 'admin.dashboard.examStats.title': "Exam Statistics";
|
|
592
|
+
readonly 'admin.dashboard.examStats.desc': "Completed and pending exams by subject";
|
|
593
|
+
readonly 'admin.dashboard.examStats.completed': "Completed";
|
|
594
|
+
readonly 'admin.dashboard.examStats.pending': "Pending";
|
|
595
|
+
readonly 'admin.dashboard.recentActivity.title': "Recent Activity";
|
|
596
|
+
readonly 'admin.dashboard.recentActivity.desc': "Latest activities in the system";
|
|
597
|
+
readonly 'admin.dashboard.recentActivity.colActivity': "Activity";
|
|
598
|
+
readonly 'admin.dashboard.recentActivity.colUser': "User";
|
|
599
|
+
readonly 'admin.dashboard.recentActivity.colStatus': "Status";
|
|
600
|
+
readonly 'admin.dashboard.recentActivity.colTime': "Time";
|
|
601
|
+
readonly 'admin.dashboard.recentActivity.empty': "No activities yet";
|
|
602
|
+
readonly 'admin.dashboard.growth.increase': "increased";
|
|
603
|
+
readonly 'admin.dashboard.growth.decrease': "decreased";
|
|
604
|
+
readonly 'admin.dashboard.growth.unchanged': "unchanged";
|
|
605
|
+
readonly 'admin.dashboard.time.justNow': "just now";
|
|
606
|
+
readonly 'admin.dashboard.time.minutesAgo': "{count} minutes ago";
|
|
607
|
+
readonly 'admin.dashboard.time.hoursAgo': "{count} hours ago";
|
|
608
|
+
readonly 'admin.dashboard.time.daysAgo': "{count} days ago";
|
|
609
|
+
readonly 'admin.dashboard.time.weeksAgo': "{count} weeks ago";
|
|
610
|
+
readonly 'admin.dashboard.time.monthsAgo': "{count} months ago";
|
|
611
|
+
readonly 'admin.branch.create.success': "Branch created successfully";
|
|
612
|
+
readonly 'admin.branch.create.successDesc': "New branch created with {count} teachers. PLACEMENT TEST room has been automatically created.";
|
|
613
|
+
readonly 'admin.branch.create.successDescNoTeacher': "New branch created. PLACEMENT TEST room has been automatically created.";
|
|
614
|
+
readonly 'admin.branch.update.success': "Branch updated successfully";
|
|
615
|
+
readonly 'admin.branch.update.successDesc': "Branch information updated ({count} teacher changes)";
|
|
616
|
+
readonly 'admin.branch.update.successDescNoChange': "Branch information updated";
|
|
617
|
+
readonly 'admin.branch.delete.success': "Branch deleted successfully";
|
|
618
|
+
readonly 'admin.branch.delete.successDesc': "Branch {code} - {name} has been deleted";
|
|
619
|
+
readonly 'admin.branch.activate.success': "Branch activated successfully";
|
|
620
|
+
readonly 'admin.branch.deactivate.success': "Branch deactivated successfully";
|
|
621
|
+
readonly 'admin.branch.toggleStatus.successDesc': "Branch {code} - {name} has been {status}";
|
|
622
|
+
readonly 'admin.branch.toggleStatus.activated': "activated";
|
|
623
|
+
readonly 'admin.branch.toggleStatus.deactivated': "deactivated";
|
|
624
|
+
readonly 'admin.branches.title': "Branch Management";
|
|
625
|
+
readonly 'admin.branches.subtitle': "Manage branch information in the system";
|
|
626
|
+
readonly 'admin.branches.loading': "Loading data...";
|
|
627
|
+
readonly 'admin.branches.stats.total': "Total Branches";
|
|
628
|
+
readonly 'admin.branches.stats.active': "Active";
|
|
629
|
+
readonly 'admin.branches.stats.inactive': "Inactive";
|
|
630
|
+
readonly 'admin.branches.stats.distribution': "Manager Distribution";
|
|
631
|
+
readonly 'admin.branches.stats.activeBranches': "Active";
|
|
632
|
+
readonly 'admin.branches.stats.inactiveBranches': "Inactive";
|
|
633
|
+
readonly 'admin.branches.stats.withManager': "Has Manager";
|
|
634
|
+
readonly 'admin.branches.stats.withoutManager': "No Manager";
|
|
635
|
+
readonly 'admin.branches.stats.branchUnit': "branches";
|
|
636
|
+
readonly 'admin.branches.table.title': "Branch List";
|
|
637
|
+
readonly 'admin.branches.table.showing': "Showing {count} / {total} branches";
|
|
638
|
+
readonly 'admin.branches.table.addBranch': "Add Branch";
|
|
639
|
+
readonly 'admin.branches.table.loading': "Loading...";
|
|
640
|
+
readonly 'admin.branches.table.empty': "No branches found";
|
|
641
|
+
readonly 'admin.branches.table.notUpdated': "Not updated";
|
|
642
|
+
readonly 'admin.branches.table.notAssigned': "Not assigned";
|
|
643
|
+
readonly 'admin.branches.col.code': "BRANCH CODE";
|
|
644
|
+
readonly 'admin.branches.col.name': "BRANCH NAME";
|
|
645
|
+
readonly 'admin.branches.col.address': "ADDRESS";
|
|
646
|
+
readonly 'admin.branches.col.contact': "CONTACT";
|
|
647
|
+
readonly 'admin.branches.col.manager': "MANAGER";
|
|
648
|
+
readonly 'admin.branches.col.status': "STATUS";
|
|
649
|
+
readonly 'admin.branches.col.actions': "ACTIONS";
|
|
650
|
+
readonly 'admin.branches.filter.searchPlaceholder': "Search by name or branch code";
|
|
651
|
+
readonly 'admin.branches.filter.statusPlaceholder': "Status";
|
|
652
|
+
readonly 'admin.branches.filter.allStatuses': "All statuses";
|
|
653
|
+
readonly 'admin.branches.filter.active': "Active";
|
|
654
|
+
readonly 'admin.branches.filter.inactive': "Inactive";
|
|
655
|
+
readonly 'admin.branches.filter.clearFilters': "Clear filters";
|
|
656
|
+
readonly 'admin.branches.filter.searchLabel': "Search:";
|
|
657
|
+
readonly 'admin.branches.filter.statusLabel': "Status:";
|
|
658
|
+
readonly 'admin.branches.status.active': "Active";
|
|
659
|
+
readonly 'admin.branches.status.activeDetail': "Active";
|
|
660
|
+
readonly 'admin.branches.status.inactive': "Inactive";
|
|
661
|
+
readonly 'admin.branches.action.view': "View details";
|
|
662
|
+
readonly 'admin.branches.action.edit': "Edit";
|
|
663
|
+
readonly 'admin.branches.action.delete': "Delete";
|
|
664
|
+
readonly 'admin.branches.field.basicInfo': "Basic Information";
|
|
665
|
+
readonly 'admin.branches.field.code': "Branch code";
|
|
666
|
+
readonly 'admin.branches.field.codePlaceholder': "E.g.: CN-HN-01";
|
|
667
|
+
readonly 'admin.branches.field.name': "Branch name";
|
|
668
|
+
readonly 'admin.branches.field.namePlaceholder': "E.g.: Hanoi Branch";
|
|
669
|
+
readonly 'admin.branches.field.address': "Address";
|
|
670
|
+
readonly 'admin.branches.field.addressPlaceholder': "Enter branch address...";
|
|
671
|
+
readonly 'admin.branches.field.contactInfo': "Contact Information";
|
|
672
|
+
readonly 'admin.branches.field.phone': "Phone number";
|
|
673
|
+
readonly 'admin.branches.field.phonePlaceholder': "E.g.: 0912345678";
|
|
674
|
+
readonly 'admin.branches.field.email': "Email";
|
|
675
|
+
readonly 'admin.branches.field.emailPlaceholder': "E.g.: branch@ocean.edu.vn";
|
|
676
|
+
readonly 'admin.branches.field.managerSection': "Manager";
|
|
677
|
+
readonly 'admin.branches.field.selectManager': "Select manager";
|
|
678
|
+
readonly 'admin.branches.field.selectManagerPlaceholder': "Select manager...";
|
|
679
|
+
readonly 'admin.branches.field.managerHint': "The manager will have administrative rights for this branch";
|
|
680
|
+
readonly 'admin.branches.field.statusSection': "Status";
|
|
681
|
+
readonly 'admin.branches.teacher.title': "Select Teachers";
|
|
682
|
+
readonly 'admin.branches.teacher.searchPlaceholder': "Search teachers by name, email or phone number";
|
|
683
|
+
readonly 'admin.branches.teacher.colName': "Full name";
|
|
684
|
+
readonly 'admin.branches.teacher.colEmail': "Email";
|
|
685
|
+
readonly 'admin.branches.teacher.colPhone': "Phone";
|
|
686
|
+
readonly 'admin.branches.teacher.notFound': "No teachers found";
|
|
687
|
+
readonly 'admin.branches.teacher.empty': "No teachers in the system";
|
|
688
|
+
readonly 'admin.branches.teacher.selected': "Selected: {count} teachers";
|
|
689
|
+
readonly 'admin.branches.teacher.clearAll': "Clear all";
|
|
690
|
+
readonly 'admin.branches.add.title': "Add New Branch";
|
|
691
|
+
readonly 'admin.branches.add.desc': "Enter information for the new branch";
|
|
692
|
+
readonly 'admin.branches.add.activateLabel': "Activate branch";
|
|
693
|
+
readonly 'admin.branches.add.activateDescActive': "Branch will be active immediately after creation";
|
|
694
|
+
readonly 'admin.branches.add.activateDescInactive': "Branch will be inactive after creation";
|
|
695
|
+
readonly 'admin.branches.add.submitting': "Processing...";
|
|
696
|
+
readonly 'admin.branches.add.submit': "Add Branch";
|
|
697
|
+
readonly 'admin.branches.edit.title': "Edit Branch";
|
|
698
|
+
readonly 'admin.branches.edit.desc': "Update information for branch: {name}";
|
|
699
|
+
readonly 'admin.branches.edit.statusLabel': "Active status";
|
|
700
|
+
readonly 'admin.branches.edit.statusDescActive': "Branch is currently active";
|
|
701
|
+
readonly 'admin.branches.edit.statusDescInactive': "Branch is currently inactive";
|
|
702
|
+
readonly 'admin.branches.edit.submitting': "Processing...";
|
|
703
|
+
readonly 'admin.branches.edit.submit': "Update";
|
|
704
|
+
readonly 'admin.branches.delete.title': "Confirm Delete Branch";
|
|
705
|
+
readonly 'admin.branches.delete.desc': "Are you sure you want to delete this branch?";
|
|
706
|
+
readonly 'admin.branches.delete.warning': "This action cannot be undone and will delete all data related to this branch.";
|
|
707
|
+
readonly 'admin.branches.delete.submitting': "Processing...";
|
|
708
|
+
readonly 'admin.branches.delete.confirm': "Delete Branch";
|
|
709
|
+
readonly 'admin.branches.toggleStatus.activateTitle': "Activate Branch";
|
|
710
|
+
readonly 'admin.branches.toggleStatus.deactivateTitle': "Deactivate Branch";
|
|
711
|
+
readonly 'admin.branches.toggleStatus.activateDesc': "Are you sure you want to activate this branch?";
|
|
712
|
+
readonly 'admin.branches.toggleStatus.deactivateDesc': "Are you sure you want to deactivate this branch?";
|
|
713
|
+
readonly 'admin.branches.toggleStatus.activateInfo': "The branch will be activated and operate normally.";
|
|
714
|
+
readonly 'admin.branches.toggleStatus.deactivateInfo': "The branch will be deactivated but data will be preserved.";
|
|
715
|
+
readonly 'admin.branches.toggleStatus.submitting': "Processing...";
|
|
716
|
+
readonly 'admin.branches.toggleStatus.activate': "Activate";
|
|
717
|
+
readonly 'admin.branches.toggleStatus.deactivate': "Deactivate";
|
|
718
|
+
readonly 'admin.branches.view.title': "Branch Details: {name}";
|
|
719
|
+
readonly 'admin.branches.view.desc': "View detailed branch information";
|
|
720
|
+
readonly 'admin.branches.view.basicInfo': "Basic Information";
|
|
721
|
+
readonly 'admin.branches.view.codeLabel': "Branch Code";
|
|
722
|
+
readonly 'admin.branches.view.nameLabel': "Branch Name";
|
|
723
|
+
readonly 'admin.branches.view.statusLabel': "Status";
|
|
724
|
+
readonly 'admin.branches.view.contactInfo': "Contact Information";
|
|
725
|
+
readonly 'admin.branches.view.addressLabel': "Address";
|
|
726
|
+
readonly 'admin.branches.view.phoneLabel': "Phone Number";
|
|
727
|
+
readonly 'admin.branches.view.emailLabel': "Email";
|
|
728
|
+
readonly 'admin.branches.view.notUpdated': "Not updated";
|
|
729
|
+
readonly 'admin.branches.view.managerSection': "Manager";
|
|
730
|
+
readonly 'admin.branches.view.noManager': "No manager assigned";
|
|
731
|
+
readonly 'admin.branches.view.teacherSection': "Teachers";
|
|
732
|
+
readonly 'admin.branches.view.noTeachers': "No teachers assigned";
|
|
733
|
+
readonly 'admin.branches.view.moreTeachers': "and {count} more teachers...";
|
|
734
|
+
readonly 'admin.branches.view.changeHistory': "Change History";
|
|
735
|
+
readonly 'admin.branches.view.createdAt': "Created";
|
|
736
|
+
readonly 'admin.branches.view.createdBy': "by";
|
|
737
|
+
readonly 'admin.branches.view.noCreator': "No creator information";
|
|
738
|
+
readonly 'admin.branches.view.updatedAt': "Last Updated";
|
|
739
|
+
readonly 'admin.branches.view.noUpdater': "No updater information";
|
|
740
|
+
readonly 'admin.branches.view.branchId': "Branch ID";
|
|
741
|
+
readonly 'admin.rooms.title': "Exam Room Management";
|
|
742
|
+
readonly 'admin.rooms.subtitle': "Create and manage exam rooms";
|
|
743
|
+
readonly 'admin.rooms.loading': "Loading data...";
|
|
744
|
+
readonly 'admin.rooms.stats.totalRooms': "Total Rooms";
|
|
745
|
+
readonly 'admin.rooms.stats.activeRooms': "{count} active rooms";
|
|
746
|
+
readonly 'admin.rooms.stats.students': "Students";
|
|
747
|
+
readonly 'admin.rooms.stats.totalStudents': "Total enrolled students";
|
|
748
|
+
readonly 'admin.rooms.stats.completed': "Completed";
|
|
749
|
+
readonly 'admin.rooms.stats.completedRooms': "Rooms completed";
|
|
750
|
+
readonly 'admin.rooms.stats.statusDistribution': "Status distribution";
|
|
751
|
+
readonly 'admin.rooms.stats.ongoing': "In progress";
|
|
752
|
+
readonly 'admin.rooms.stats.scheduled': "Scheduled";
|
|
753
|
+
readonly 'admin.rooms.stats.roomUnit': "rooms";
|
|
754
|
+
readonly 'admin.rooms.table.title': "Exam Room List";
|
|
755
|
+
readonly 'admin.rooms.table.showing': "Showing {count} / {total} rooms";
|
|
756
|
+
readonly 'admin.rooms.table.addRoom': "Create Room";
|
|
757
|
+
readonly 'admin.rooms.table.loading': "Loading...";
|
|
758
|
+
readonly 'admin.rooms.table.empty': "No exam rooms found";
|
|
759
|
+
readonly 'admin.rooms.table.notAssigned': "Not assigned";
|
|
760
|
+
readonly 'admin.rooms.table.unlimited': "Unlimited";
|
|
761
|
+
readonly 'admin.rooms.col.name': "ROOM NAME";
|
|
762
|
+
readonly 'admin.rooms.col.code': "ROOM CODE";
|
|
763
|
+
readonly 'admin.rooms.col.branch': "BRANCH";
|
|
764
|
+
readonly 'admin.rooms.col.exam': "EXAM & QUESTIONS";
|
|
765
|
+
readonly 'admin.rooms.col.time': "TIME";
|
|
766
|
+
readonly 'admin.rooms.col.progress': "PROGRESS";
|
|
767
|
+
readonly 'admin.rooms.col.lock': "LOCK";
|
|
768
|
+
readonly 'admin.rooms.col.actions': "ACTIONS";
|
|
769
|
+
readonly 'admin.rooms.filter.searchPlaceholder': "Search by room name or room code";
|
|
770
|
+
readonly 'admin.rooms.filter.statusPlaceholder': "Status";
|
|
771
|
+
readonly 'admin.rooms.filter.allStatuses': "All statuses";
|
|
772
|
+
readonly 'admin.rooms.filter.branchPlaceholder': "Branch";
|
|
773
|
+
readonly 'admin.rooms.filter.allBranches': "All branches";
|
|
774
|
+
readonly 'admin.rooms.filter.clearFilters': "Clear filters";
|
|
775
|
+
readonly 'admin.rooms.status.completed': "Completed";
|
|
776
|
+
readonly 'admin.rooms.status.inProgress': "In Progress";
|
|
777
|
+
readonly 'admin.rooms.status.scheduled': "Scheduled";
|
|
778
|
+
readonly 'admin.rooms.exam.viewContent': "View content";
|
|
779
|
+
readonly 'admin.rooms.exam.changeExam': "Change exam";
|
|
780
|
+
readonly 'admin.rooms.exam.selectExam': "+ Select exam";
|
|
781
|
+
readonly 'admin.rooms.action.view': "View details";
|
|
782
|
+
readonly 'admin.rooms.action.edit': "Edit";
|
|
783
|
+
readonly 'admin.rooms.action.schedule': "Edit schedule";
|
|
784
|
+
readonly 'admin.rooms.action.delete': "Delete";
|
|
785
|
+
readonly 'admin.rooms.toast.loadError': "Failed to load data";
|
|
786
|
+
readonly 'admin.rooms.toast.loadRoomsError': "Unable to load exam rooms. Please try again later.";
|
|
787
|
+
readonly 'admin.rooms.toast.loadTeachersError': "Unable to load supervisors. Please try again later.";
|
|
788
|
+
readonly 'admin.rooms.toast.loadStudentsError': "Unable to load students. Please try again later.";
|
|
789
|
+
readonly 'admin.rooms.toast.loadExamsError': "Unable to load exams. Please try again later.";
|
|
790
|
+
readonly 'admin.rooms.toast.loadContestsError': "Unable to load contests. Please try again later.";
|
|
791
|
+
readonly 'admin.rooms.toast.loadClassesError': "Unable to load classes. Please try again later.";
|
|
792
|
+
readonly 'admin.rooms.toast.loadBranchesError': "Unable to load branches. Please try again later.";
|
|
793
|
+
readonly 'admin.rooms.toast.cannotChangeExam': "Cannot change exam";
|
|
794
|
+
readonly 'admin.rooms.toast.cannotChangeExamDesc': "Rooms that have started or completed cannot have their exam changed";
|
|
795
|
+
readonly 'admin.rooms.toast.assignExamSuccess': "Exam assigned successfully";
|
|
796
|
+
readonly 'admin.rooms.toast.assignExamSuccessDesc': "Exam \"{examName}\" with {childCount} variants has been assigned to room {roomCode}";
|
|
797
|
+
readonly 'admin.rooms.toast.cannotRemoveExam': "Cannot remove exam";
|
|
798
|
+
readonly 'admin.rooms.toast.cannotRemoveExamDesc': "Rooms that have started or completed cannot have their exam removed";
|
|
799
|
+
readonly 'admin.rooms.toast.removeExamSuccess': "Exam removed successfully";
|
|
800
|
+
readonly 'admin.rooms.toast.removeExamSuccessDesc': "Exam has been removed from room {roomCode}";
|
|
801
|
+
readonly 'admin.rooms.toast.saveSettingsSuccess': "Settings saved successfully";
|
|
802
|
+
readonly 'admin.rooms.toast.saveSettingsSuccessDesc': "Your exam settings have been saved";
|
|
803
|
+
readonly 'admin.rooms.toast.updateScheduleSuccess': "Schedule updated successfully";
|
|
804
|
+
readonly 'admin.rooms.toast.updateScheduleSuccessDesc': "Schedule for room {roomCode} has been updated";
|
|
805
|
+
readonly 'admin.rooms.toast.updateScheduleError': "Failed to update schedule";
|
|
806
|
+
readonly 'admin.rooms.toast.updateScheduleErrorDesc': "Error updating schedule for room {roomCode}";
|
|
807
|
+
readonly 'admin.rooms.add.title': "Add New Exam Room";
|
|
808
|
+
readonly 'admin.rooms.add.description': "Enter information for the new exam room";
|
|
809
|
+
readonly 'admin.rooms.add.cancel': "Cancel";
|
|
810
|
+
readonly 'admin.rooms.add.submit': "Add Room";
|
|
811
|
+
readonly 'admin.rooms.add.success': "Room created successfully";
|
|
812
|
+
readonly 'admin.rooms.add.successDesc': "Exam room {code} has been created";
|
|
813
|
+
readonly 'admin.rooms.add.error': "Failed to create room";
|
|
814
|
+
readonly 'admin.rooms.add.errorDesc': "An error occurred while creating the exam room";
|
|
815
|
+
readonly 'admin.rooms.edit.title': "Edit Room: {name}";
|
|
816
|
+
readonly 'admin.rooms.edit.description': "Update exam room information";
|
|
817
|
+
readonly 'admin.rooms.edit.cancel': "Cancel";
|
|
818
|
+
readonly 'admin.rooms.edit.saving': "Saving...";
|
|
819
|
+
readonly 'admin.rooms.edit.submit': "Save Changes";
|
|
820
|
+
readonly 'admin.rooms.edit.success': "Room updated successfully";
|
|
821
|
+
readonly 'admin.rooms.edit.successDesc': "Exam room {code} has been updated";
|
|
822
|
+
readonly 'admin.rooms.edit.error': "Failed to update room";
|
|
823
|
+
readonly 'admin.rooms.edit.errorDesc': "An error occurred while updating the exam room";
|
|
824
|
+
readonly 'admin.rooms.delete.title': "Confirm Delete Room";
|
|
825
|
+
readonly 'admin.rooms.delete.description': "Are you sure you want to delete room";
|
|
826
|
+
readonly 'admin.rooms.delete.warning': "This action cannot be undone and will delete all related data.";
|
|
827
|
+
readonly 'admin.rooms.delete.cancel': "Cancel";
|
|
828
|
+
readonly 'admin.rooms.delete.processing': "Processing...";
|
|
829
|
+
readonly 'admin.rooms.delete.submit': "Delete Room";
|
|
830
|
+
readonly 'admin.rooms.delete.success': "Room deleted successfully";
|
|
831
|
+
readonly 'admin.rooms.delete.successDesc': "Exam room {code} has been deleted";
|
|
832
|
+
readonly 'admin.rooms.delete.error': "Failed to delete room";
|
|
833
|
+
readonly 'admin.rooms.delete.errorDesc': "Unable to delete exam room. Please try again later.";
|
|
834
|
+
readonly 'admin.rooms.view.title': "Room Details: {name}";
|
|
835
|
+
readonly 'admin.rooms.view.close': "Close";
|
|
836
|
+
readonly 'admin.rooms.view.locked': "Locked";
|
|
837
|
+
readonly 'admin.rooms.view.unlocked': "Unlocked";
|
|
838
|
+
readonly 'admin.rooms.view.undetermined': "Not set";
|
|
839
|
+
readonly 'admin.rooms.unlimitedTime': "Unlimited time";
|
|
840
|
+
readonly 'admin.rooms.view.stats.candidates': "Candidates";
|
|
841
|
+
readonly 'admin.rooms.view.stats.supervisors': "Supervisors";
|
|
842
|
+
readonly 'admin.rooms.view.stats.submitted': "Submitted";
|
|
843
|
+
readonly 'admin.rooms.view.stats.submissionRate': "Submission rate";
|
|
844
|
+
readonly 'admin.rooms.view.section.basicInfo': "Basic Information";
|
|
845
|
+
readonly 'admin.rooms.view.section.time': "Schedule";
|
|
846
|
+
readonly 'admin.rooms.view.section.exams': "Exams";
|
|
847
|
+
readonly 'admin.rooms.view.section.supervisors': "Supervisors";
|
|
848
|
+
readonly 'admin.rooms.view.section.classes': "Classes";
|
|
849
|
+
readonly 'admin.rooms.view.section.assignedStudents': "Assigned Students";
|
|
850
|
+
readonly 'admin.rooms.view.field.contest': "Contest";
|
|
851
|
+
readonly 'admin.rooms.view.field.location': "Location";
|
|
852
|
+
readonly 'admin.rooms.view.field.branch': "Branch";
|
|
853
|
+
readonly 'admin.rooms.view.field.candidateSelection': "Candidate selection";
|
|
854
|
+
readonly 'admin.rooms.view.field.description': "Description";
|
|
855
|
+
readonly 'admin.rooms.view.field.start': "Start";
|
|
856
|
+
readonly 'admin.rooms.view.field.end': "End";
|
|
857
|
+
readonly 'admin.rooms.view.field.createdAt': "Created at:";
|
|
858
|
+
readonly 'admin.rooms.view.field.updatedAt': "Updated at:";
|
|
859
|
+
readonly 'admin.rooms.view.selectionType.all': "All students";
|
|
860
|
+
readonly 'admin.rooms.view.selectionType.specific': "Specific students";
|
|
861
|
+
readonly 'admin.rooms.view.locationNotSet': "Not set";
|
|
862
|
+
readonly 'admin.rooms.view.noSupervisors': "No supervisors assigned";
|
|
863
|
+
readonly 'admin.rooms.view.examOriginal': "Original exam";
|
|
864
|
+
readonly 'admin.rooms.view.examVariants': "Exam variants ({count})";
|
|
865
|
+
readonly 'admin.rooms.view.status.scheduled': "Scheduled";
|
|
866
|
+
readonly 'admin.rooms.view.status.inProgress': "In Progress";
|
|
867
|
+
readonly 'admin.rooms.view.status.completed': "Completed";
|
|
868
|
+
readonly 'admin.rooms.view.type.contest': "Contest";
|
|
869
|
+
readonly 'admin.rooms.view.type.practiceTest': "Practice Test";
|
|
870
|
+
readonly 'admin.rooms.view.classCode': "Code:";
|
|
871
|
+
readonly 'admin.rooms.view.classGrade': "Grade:";
|
|
872
|
+
readonly 'admin.rooms.view.classStudents': "{count} students";
|
|
873
|
+
readonly 'admin.rooms.lock.titleLock': "Lock exam room?";
|
|
874
|
+
readonly 'admin.rooms.lock.titleUnlock': "Unlock exam room?";
|
|
875
|
+
readonly 'admin.rooms.lock.statusLocked': "Locked";
|
|
876
|
+
readonly 'admin.rooms.lock.statusUnlocked': "Unlocked";
|
|
877
|
+
readonly 'admin.rooms.lock.confirmUnlock': "Are you sure you want to";
|
|
878
|
+
readonly 'admin.rooms.lock.unlock': "unlock";
|
|
879
|
+
readonly 'admin.rooms.lock.lock': "lock";
|
|
880
|
+
readonly 'admin.rooms.lock.confirmSuffix': "this exam room?";
|
|
881
|
+
readonly 'admin.rooms.lock.unlockEffect': "Students will be able to access and take the exam in this room.";
|
|
882
|
+
readonly 'admin.rooms.lock.lockEffect': "Students will not be able to access or take the exam in this room until it is unlocked.";
|
|
883
|
+
readonly 'admin.rooms.lock.cancel': "Cancel";
|
|
884
|
+
readonly 'admin.rooms.lock.processing': "Processing...";
|
|
885
|
+
readonly 'admin.rooms.lock.submitLock': "Lock Room";
|
|
886
|
+
readonly 'admin.rooms.lock.submitUnlock': "Unlock";
|
|
887
|
+
readonly 'admin.rooms.lock.successLock': "Room locked successfully";
|
|
888
|
+
readonly 'admin.rooms.lock.successUnlock': "Room unlocked successfully";
|
|
889
|
+
readonly 'admin.rooms.lock.successDesc': "Exam room {code} has been {action}";
|
|
890
|
+
readonly 'admin.rooms.lock.locked': "locked";
|
|
891
|
+
readonly 'admin.rooms.lock.unlocked': "unlocked";
|
|
892
|
+
readonly 'admin.rooms.lock.error': "Failed to change lock status";
|
|
893
|
+
readonly 'admin.rooms.lock.errorDesc': "Unable to change the lock status of the exam room. Please try again later.";
|
|
894
|
+
readonly 'admin.rooms.removeExam.title': "Remove Exam from Room";
|
|
895
|
+
readonly 'admin.rooms.removeExam.description': "Are you sure you want to remove exam";
|
|
896
|
+
readonly 'admin.rooms.removeExam.fromRoom': "from room";
|
|
897
|
+
readonly 'admin.rooms.removeExam.cannotRemove': "Cannot remove exam from a room that has started or completed!";
|
|
898
|
+
readonly 'admin.rooms.removeExam.effect': "The room will no longer have an assigned exam. You can select a new exam later.";
|
|
899
|
+
readonly 'admin.rooms.removeExam.cancel': "Cancel";
|
|
900
|
+
readonly 'admin.rooms.removeExam.submit': "Remove Exam";
|
|
901
|
+
readonly 'admin.rooms.schedule.title': "Edit Schedule: {name}";
|
|
902
|
+
readonly 'admin.rooms.schedule.description': "Update the exam schedule for this room";
|
|
903
|
+
readonly 'admin.rooms.schedule.contestInfo': "Contest info: {name}";
|
|
904
|
+
readonly 'admin.rooms.schedule.unlimitedContest': "This contest has no time limit.";
|
|
905
|
+
readonly 'admin.rooms.schedule.contestRange': "From {start} to {end}";
|
|
906
|
+
readonly 'admin.rooms.schedule.contestConstraint': "Room schedule must fall within the contest time range";
|
|
907
|
+
readonly 'admin.rooms.schedule.unlimitedBadge': "Unlimited";
|
|
908
|
+
readonly 'admin.rooms.schedule.unlimitedNote': "This contest has no time limit. You do not need to set a schedule for this room.";
|
|
909
|
+
readonly 'admin.rooms.schedule.startTime': "Start time *";
|
|
910
|
+
readonly 'admin.rooms.schedule.endTime': "End time *";
|
|
911
|
+
readonly 'admin.rooms.schedule.cancel': "Cancel";
|
|
912
|
+
readonly 'admin.rooms.schedule.save': "Save Schedule";
|
|
913
|
+
readonly 'admin.rooms.schedule.validation.startRequired': "Please select a start time";
|
|
914
|
+
readonly 'admin.rooms.schedule.validation.endRequired': "Please select an end time";
|
|
915
|
+
readonly 'admin.rooms.schedule.validation.endAfterStart': "End time must be after start time";
|
|
916
|
+
readonly 'admin.rooms.selectExam.title': "Select Exam for Room: {name}";
|
|
917
|
+
readonly 'admin.rooms.selectExam.description': "Select 1 parent exam and child exams (variants) to assign to this room";
|
|
918
|
+
readonly 'admin.rooms.selectExam.parentCount': "Parent Exam";
|
|
919
|
+
readonly 'admin.rooms.selectExam.childCount': "Child Exams";
|
|
920
|
+
readonly 'admin.rooms.selectExam.noParentSelected': "No parent exam selected";
|
|
921
|
+
readonly 'admin.rooms.selectExam.noParentSelectedDesc': "Please select a parent exam first";
|
|
922
|
+
readonly 'admin.rooms.selectExam.childCode': "Code: {code} • Variant #{variant}";
|
|
923
|
+
readonly 'admin.rooms.selectExam.selectAll': "Select all";
|
|
924
|
+
readonly 'admin.rooms.selectExam.deselectAll': "Deselect all";
|
|
925
|
+
readonly 'admin.rooms.selectExam.noParentExams': "No parent exams available";
|
|
926
|
+
readonly 'admin.rooms.selectExam.selectedParent': "Selected Parent Exam";
|
|
927
|
+
readonly 'admin.rooms.selectExam.selectedChildren': "Selected Child Exams ({count})";
|
|
928
|
+
readonly 'admin.rooms.selectExam.cancel': "Cancel";
|
|
929
|
+
readonly 'admin.rooms.selectExam.confirm': "Confirm";
|
|
930
|
+
readonly 'admin.rooms.selectExam.childExams': "{count} variants";
|
|
931
|
+
readonly 'admin.rooms.selectExam.warning.title': "Insufficient data";
|
|
932
|
+
readonly 'admin.rooms.selectExam.warning.desc': "Please select a parent exam and at least one child exam";
|
|
933
|
+
readonly 'admin.rooms.selectExam.clearTitle': "Clear Selection?";
|
|
934
|
+
readonly 'admin.rooms.selectExam.clearDesc': "Are you sure you want to clear the parent exam and {count} child exams?";
|
|
935
|
+
readonly 'admin.rooms.selectExam.clearCancel': "Cancel";
|
|
936
|
+
readonly 'admin.rooms.selectExam.clearConfirm': "Clear";
|
|
937
|
+
readonly 'admin.rooms.selectExam.dialogTitle': "Select Exam";
|
|
938
|
+
readonly 'admin.rooms.selectExam.dialogDescription': "Select a parent exam and the corresponding child exams for your exam room";
|
|
939
|
+
readonly 'admin.rooms.selectExam.searchPlaceholder': "Search exams by name, code, subject...";
|
|
940
|
+
readonly 'admin.rooms.selectExam.noParentSelectedInfo': "Please select a parent exam before selecting child exams";
|
|
941
|
+
readonly 'admin.rooms.selectExam.examCode': "Code: {name}";
|
|
942
|
+
readonly 'admin.rooms.selectExam.original': "Original";
|
|
943
|
+
readonly 'admin.rooms.selectExam.questions': "{count} questions";
|
|
944
|
+
readonly 'admin.rooms.selectExam.minutes': "{count} min";
|
|
945
|
+
readonly 'admin.rooms.selectExam.difficulty.easy': "Easy";
|
|
946
|
+
readonly 'admin.rooms.selectExam.difficulty.medium': "Medium";
|
|
947
|
+
readonly 'admin.rooms.selectExam.difficulty.hard': "Hard";
|
|
948
|
+
readonly 'admin.rooms.selectExam.emptySearch': "No matching exams found";
|
|
949
|
+
readonly 'admin.rooms.selectExam.emptyAll': "No exams available";
|
|
950
|
+
readonly 'admin.rooms.selectExam.emptySearchHint': "Try searching with different keywords";
|
|
951
|
+
readonly 'admin.rooms.selectExam.emptyAllHint': "Create a new exam to get started";
|
|
952
|
+
readonly 'admin.rooms.selectExam.clearSearch': "Clear search";
|
|
953
|
+
readonly 'admin.rooms.selectExam.selected': "Selected";
|
|
954
|
+
readonly 'admin.rooms.selectExam.selectedParentLabel': "Parent Exam";
|
|
955
|
+
readonly 'admin.rooms.changeExam.title': "Change Exam for Room: {name}";
|
|
956
|
+
readonly 'admin.rooms.changeExam.description': "Select a new exam to replace the current one";
|
|
957
|
+
readonly 'admin.rooms.changeExam.currentExam': "Current exam";
|
|
958
|
+
readonly 'admin.rooms.changeExam.currentExamHint': "Select a new exam from the list below to replace it";
|
|
959
|
+
readonly 'admin.rooms.changeExam.childCount': "({count} variants)";
|
|
960
|
+
readonly 'admin.rooms.changeExam.newParent': "New Parent Exam";
|
|
961
|
+
readonly 'admin.rooms.changeExam.newParentSelected': "Selected New Parent Exam";
|
|
962
|
+
readonly 'admin.rooms.changeExam.currentBadge': "Current";
|
|
963
|
+
readonly 'admin.rooms.changeExam.cancel': "Cancel";
|
|
964
|
+
readonly 'admin.rooms.changeExam.submit': "Change Exam";
|
|
965
|
+
readonly 'admin.rooms.changeExam.confirmTitle': "Confirm exam change?";
|
|
966
|
+
readonly 'admin.rooms.changeExam.confirmDesc': "Are you sure you want to change the exam for room {name}?";
|
|
967
|
+
readonly 'admin.rooms.changeExam.confirmEffect': "The new exam will replace the current one with {count} child exams.";
|
|
968
|
+
readonly 'admin.rooms.changeExam.confirmCancel': "Cancel";
|
|
969
|
+
readonly 'admin.rooms.changeExam.confirmSubmit': "Confirm Change";
|
|
970
|
+
readonly 'admin.rooms.editWarning.title': "Edit Room Warning";
|
|
971
|
+
readonly 'admin.rooms.editWarning.description': "is currently";
|
|
972
|
+
readonly 'admin.rooms.editWarning.status': "In Progress";
|
|
973
|
+
readonly 'admin.rooms.editWarning.effect': "Editing may affect students currently taking the exam.";
|
|
974
|
+
readonly 'admin.rooms.editWarning.confirm': "Are you sure you want to continue editing?";
|
|
975
|
+
readonly 'admin.rooms.editWarning.cancel': "Cancel";
|
|
976
|
+
readonly 'admin.rooms.editWarning.submit': "Continue Editing";
|
|
977
|
+
readonly 'admin.rooms.examChangeWarning.title': "Change Exam?";
|
|
978
|
+
readonly 'admin.rooms.examChangeWarning.description': "The exam was automatically selected from the chosen contest. Are you sure you want to change to a different exam?";
|
|
979
|
+
readonly 'admin.rooms.examChangeWarning.cancel': "Cancel";
|
|
980
|
+
readonly 'admin.rooms.examChangeWarning.submit': "Continue Changing";
|
|
981
|
+
readonly 'admin.rooms.settings.title': "Exam Room Settings";
|
|
982
|
+
readonly 'admin.rooms.settings.description': "Default parameters for exams";
|
|
983
|
+
readonly 'admin.rooms.settings.maxStudents': "Max students per room";
|
|
984
|
+
readonly 'admin.rooms.settings.defaultDuration': "Default exam duration (minutes)";
|
|
985
|
+
readonly 'admin.rooms.settings.edit': "Edit";
|
|
986
|
+
readonly 'admin.rooms.settings.cancel': "Cancel";
|
|
987
|
+
readonly 'admin.rooms.settings.save': "Save Changes";
|
|
988
|
+
readonly 'admin.rooms.form.branch': "Branch";
|
|
989
|
+
readonly 'admin.rooms.form.branchPlaceholder': "Select branch...";
|
|
990
|
+
readonly 'admin.rooms.form.branchReload': "Reload";
|
|
991
|
+
readonly 'admin.rooms.form.branchCreate': "Create branch";
|
|
992
|
+
readonly 'admin.rooms.form.branchEmpty': "No branches available. Please create a branch first.";
|
|
993
|
+
readonly 'admin.rooms.form.contest': "Select contest";
|
|
994
|
+
readonly 'admin.rooms.form.contestPlaceholder': "Select contest...";
|
|
995
|
+
readonly 'admin.rooms.form.contestReload': "Reload";
|
|
996
|
+
readonly 'admin.rooms.form.contestCreate': "Create contest";
|
|
997
|
+
readonly 'admin.rooms.form.contestEmpty': "No contests available. Please create a contest first.";
|
|
998
|
+
readonly 'admin.rooms.form.contestUnlimitedInfo': "Contest has no time limit";
|
|
999
|
+
readonly 'admin.rooms.form.contestUnlimitedStart': "Starts from: {time}";
|
|
1000
|
+
readonly 'admin.rooms.form.contestUnlimitedHint': "Start time is required, end time is optional";
|
|
1001
|
+
readonly 'admin.rooms.form.contestLimitedInfo': "Contest time range";
|
|
1002
|
+
readonly 'admin.rooms.form.contestLimitedRange': "From {start} to {end}";
|
|
1003
|
+
readonly 'admin.rooms.form.contestLimitedHint': "Room schedule must fall within the contest time range";
|
|
1004
|
+
readonly 'admin.rooms.form.startTime': "Start time";
|
|
1005
|
+
readonly 'admin.rooms.form.endTime': "End time";
|
|
1006
|
+
readonly 'admin.rooms.form.endTimeOptional': "(optional)";
|
|
1007
|
+
readonly 'admin.rooms.form.endTimeUnlimitedHint': "If not set, the room will have no time limit.";
|
|
1008
|
+
readonly 'admin.rooms.form.roomName': "Room name";
|
|
1009
|
+
readonly 'admin.rooms.form.roomNamePlaceholder': "Room A101";
|
|
1010
|
+
readonly 'admin.rooms.form.roomCode': "Room code";
|
|
1011
|
+
readonly 'admin.rooms.form.roomCodePlaceholder': "ROOM-A101";
|
|
1012
|
+
readonly 'admin.rooms.form.examSelection': "Select exam";
|
|
1013
|
+
readonly 'admin.rooms.form.examPlaceholder': "Select exam...";
|
|
1014
|
+
readonly 'admin.rooms.form.examDisabledHint': "Please select a contest first to show matching exams";
|
|
1015
|
+
readonly 'admin.rooms.form.examSelectContestFirst': "Please select a contest first";
|
|
1016
|
+
readonly 'admin.rooms.form.examNoMatchClassification': "No exams match the classification of the selected contest";
|
|
1017
|
+
readonly 'admin.rooms.form.examSummaryParent': "Parent Exam ({count})";
|
|
1018
|
+
readonly 'admin.rooms.form.examSummaryChild': "Child Exams ({count})";
|
|
1019
|
+
readonly 'admin.rooms.form.examChildCode': "Code: {name}";
|
|
1020
|
+
readonly 'admin.rooms.form.location': "Location";
|
|
1021
|
+
readonly 'admin.rooms.form.locationPlaceholder': "Floor 1, Building A";
|
|
1022
|
+
readonly 'admin.rooms.form.lockRoom': "Lock room";
|
|
1023
|
+
readonly 'admin.rooms.form.lockHint': "Students cannot enter the room when locked";
|
|
1024
|
+
readonly 'admin.rooms.form.supervisors': "Select supervisors";
|
|
1025
|
+
readonly 'admin.rooms.form.supervisorPlaceholder': "Select supervisors...";
|
|
1026
|
+
readonly 'admin.rooms.form.roomType': "Room type";
|
|
1027
|
+
readonly 'admin.rooms.form.roomTypeContest': "Contest";
|
|
1028
|
+
readonly 'admin.rooms.form.roomTypePractice': "Practice Test";
|
|
1029
|
+
readonly 'admin.rooms.form.description': "Description";
|
|
1030
|
+
readonly 'admin.rooms.form.descriptionPlaceholder': "Detailed description of the exam room...";
|
|
1031
|
+
readonly 'admin.rooms.form.validation.branchRequired': "Please select a branch";
|
|
1032
|
+
readonly 'admin.rooms.form.validation.contestRequired': "Please select a contest";
|
|
1033
|
+
readonly 'admin.rooms.form.validation.examRequired': "Please select an exam";
|
|
1034
|
+
readonly 'admin.rooms.form.validation.startRequired': "Please select a start time";
|
|
1035
|
+
readonly 'admin.rooms.form.validation.startFuture': "Start time must be greater than or equal to the current time";
|
|
1036
|
+
readonly 'admin.rooms.form.validation.endRequired': "Please select an end time";
|
|
1037
|
+
readonly 'admin.rooms.form.validation.endAfterStart': "End time must be after start time";
|
|
1038
|
+
readonly 'admin.rooms.form.validation.classRequired': "Please select at least 1 class";
|
|
1039
|
+
readonly 'admin.rooms.form.validation.studentRequired': "Please select at least 1 student";
|
|
1040
|
+
readonly 'admin.rooms.studentSelection.label': "Participants";
|
|
1041
|
+
readonly 'admin.rooms.studentSelection.all': "All participants";
|
|
1042
|
+
readonly 'admin.rooms.studentSelection.byClass': "By class";
|
|
1043
|
+
readonly 'admin.rooms.studentSelection.byStudent': "Specific students";
|
|
1044
|
+
readonly 'admin.rooms.studentSelection.selectClass': "Select classes";
|
|
1045
|
+
readonly 'admin.rooms.studentSelection.classSearchPlaceholder': "Search classes (name, code)...";
|
|
1046
|
+
readonly 'admin.rooms.studentSelection.gradeFilterPlaceholder': "Filter by grade";
|
|
1047
|
+
readonly 'admin.rooms.studentSelection.allGrades': "All grades";
|
|
1048
|
+
readonly 'admin.rooms.studentSelection.gradeItem': "Grade {grade}";
|
|
1049
|
+
readonly 'admin.rooms.studentSelection.colClassName': "Class name";
|
|
1050
|
+
readonly 'admin.rooms.studentSelection.colClassCode': "Class code";
|
|
1051
|
+
readonly 'admin.rooms.studentSelection.colGrade': "Grade";
|
|
1052
|
+
readonly 'admin.rooms.studentSelection.colStudentCount': "Students";
|
|
1053
|
+
readonly 'admin.rooms.studentSelection.noClasses': "No classes found";
|
|
1054
|
+
readonly 'admin.rooms.studentSelection.selectedClasses': "Selected classes: {count}";
|
|
1055
|
+
readonly 'admin.rooms.studentSelection.clearAll': "Clear all";
|
|
1056
|
+
readonly 'admin.rooms.studentSelection.selectStudent': "Select students";
|
|
1057
|
+
readonly 'admin.rooms.studentSelection.studentSearchPlaceholder': "Search students (name, username, email)...";
|
|
1058
|
+
readonly 'admin.rooms.studentSelection.classFilterPlaceholder': "Filter by class";
|
|
1059
|
+
readonly 'admin.rooms.studentSelection.allClasses': "All classes";
|
|
1060
|
+
readonly 'admin.rooms.studentSelection.colStudentId': "Student ID";
|
|
1061
|
+
readonly 'admin.rooms.studentSelection.colName': "Full name";
|
|
1062
|
+
readonly 'admin.rooms.studentSelection.colEmail': "Email";
|
|
1063
|
+
readonly 'admin.rooms.studentSelection.colClass': "Class";
|
|
1064
|
+
readonly 'admin.rooms.studentSelection.noStudents': "No students found";
|
|
1065
|
+
readonly 'admin.rooms.studentSelection.selectedStudents': "Selected students: {count}";
|
|
1066
|
+
readonly 'admin.rooms.studentSelection.noClass': "No class";
|
|
1067
|
+
readonly 'admin.rooms.studentSelection.allParticipate': "All students will be able to participate in this exam room.";
|
|
1068
|
+
readonly 'admin.rooms.studentSelection.summaryClasses': "Selected classes:";
|
|
1069
|
+
readonly 'admin.rooms.studentSelection.noClassSelected': "No class selected";
|
|
1070
|
+
readonly 'admin.rooms.studentSelection.summaryStudents': "Selected students:";
|
|
1071
|
+
readonly 'admin.rooms.studentSelection.noStudentSelected': "No students selected";
|
|
1072
|
+
readonly 'admin.rooms.studentSelection.classUnit': "{count} students";
|
|
1073
|
+
readonly 'admin.rooms.studentSelection.studentUnit': "{count} students";
|
|
1074
|
+
readonly 'admin.rooms.studentSelection.zeroClass': "0 classes";
|
|
1075
|
+
readonly 'admin.rooms.studentSelection.zeroStudent': "0 students";
|
|
1076
|
+
readonly 'admin.contests.title': "Contest Management";
|
|
1077
|
+
readonly 'admin.contests.subtitle': "Create and manage contests, view reports and rankings";
|
|
1078
|
+
readonly 'admin.contests.teacher.subtitle': "View and manage contests, track student rankings";
|
|
1079
|
+
readonly 'admin.contests.tab.rankings': "Rankings & Statistics";
|
|
1080
|
+
readonly 'admin.contests.tab.management': "Contest Management";
|
|
1081
|
+
readonly 'admin.contests.stats.total': "Total Contests";
|
|
1082
|
+
readonly 'admin.contests.stats.totalCompleted': "{count} completed";
|
|
1083
|
+
readonly 'admin.contests.stats.upcoming': "Upcoming Contest";
|
|
1084
|
+
readonly 'admin.contests.stats.upcomingDays': "days left";
|
|
1085
|
+
readonly 'admin.contests.stats.totalParticipants': "Total Participants";
|
|
1086
|
+
readonly 'admin.contests.stats.participated': "participated";
|
|
1087
|
+
readonly 'admin.contests.stats.avgScore': "System Avg Score";
|
|
1088
|
+
readonly 'admin.contests.stats.overContests': "across {count} contests";
|
|
1089
|
+
readonly 'admin.contests.list.title': "Contest List";
|
|
1090
|
+
readonly 'admin.contests.list.desc': "View detailed statistics per contest";
|
|
1091
|
+
readonly 'admin.contests.list.loading': "Loading...";
|
|
1092
|
+
readonly 'admin.contests.list.empty': "No contests yet";
|
|
1093
|
+
readonly 'admin.contests.list.participants': "Participants:";
|
|
1094
|
+
readonly 'admin.contests.list.avgScore': "Avg Score:";
|
|
1095
|
+
readonly 'admin.contests.list.highest': "Highest:";
|
|
1096
|
+
readonly 'admin.contests.list.lowest': "Lowest:";
|
|
1097
|
+
readonly 'admin.contests.list.completionRate': "Completion Rate:";
|
|
1098
|
+
readonly 'admin.contests.list.viewDetail': "View details";
|
|
1099
|
+
readonly 'admin.contests.ranking.latestTitle': "Top students in latest contest";
|
|
1100
|
+
readonly 'admin.contests.ranking.latestNoContest': "No contest yet";
|
|
1101
|
+
readonly 'admin.contests.ranking.allTimeTitle': "Top students by total score";
|
|
1102
|
+
readonly 'admin.contests.ranking.allTimeDesc': "Top 3 all-time outstanding students";
|
|
1103
|
+
readonly 'admin.contests.ranking.loading': "Loading...";
|
|
1104
|
+
readonly 'admin.contests.ranking.noData': "No data yet";
|
|
1105
|
+
readonly 'admin.contests.ranking.scoreLabel': "pts";
|
|
1106
|
+
readonly 'admin.contests.ranking.totalScoreLabel': "total pts";
|
|
1107
|
+
readonly 'admin.contests.ranking.contestsAvg': "{count} contests • Avg: {avg}";
|
|
1108
|
+
readonly 'admin.contests.management.title': "Contest List";
|
|
1109
|
+
readonly 'admin.contests.management.showing': "Showing {count} / {total} contests";
|
|
1110
|
+
readonly 'admin.contests.management.addNew': "Add New Contest";
|
|
1111
|
+
readonly 'admin.contests.management.loading': "Loading data...";
|
|
1112
|
+
readonly 'admin.contests.management.emptyTitle': "No contests yet";
|
|
1113
|
+
readonly 'admin.contests.management.emptyDesc': "Click \"Add New Contest\" to create the first contest";
|
|
1114
|
+
readonly 'admin.contests.filter.title': "Search Filters";
|
|
1115
|
+
readonly 'admin.contests.filter.desc': "Filter and search contests by criteria";
|
|
1116
|
+
readonly 'admin.contests.filter.activeCount': "{count} filters applied";
|
|
1117
|
+
readonly 'admin.contests.filter.clearAll': "Clear all";
|
|
1118
|
+
readonly 'admin.contests.filter.activeLabel': "Filtering:";
|
|
1119
|
+
readonly 'admin.contests.filter.searchLabel': "Search";
|
|
1120
|
+
readonly 'admin.contests.filter.searchPlaceholder': "Enter contest name";
|
|
1121
|
+
readonly 'admin.contests.filter.statusLabel': "Status";
|
|
1122
|
+
readonly 'admin.contests.filter.statusPlaceholder': "Select status";
|
|
1123
|
+
readonly 'admin.contests.filter.timeTypeLabel': "Contest Model";
|
|
1124
|
+
readonly 'admin.contests.filter.timeTypePlaceholder': "Select contest model type";
|
|
1125
|
+
readonly 'admin.contests.filter.allStatuses': "All statuses";
|
|
1126
|
+
readonly 'admin.contests.filter.allTimeTypes': "All contest model types";
|
|
1127
|
+
readonly 'admin.contests.filter.visibilityLabel': "Visibility";
|
|
1128
|
+
readonly 'admin.contests.filter.visibilityPlaceholder': "Select visibility";
|
|
1129
|
+
readonly 'admin.contests.filter.allVisibilities': "All visibilities";
|
|
1130
|
+
readonly 'admin.contests.filter.noEndDate': "No end date";
|
|
1131
|
+
readonly 'admin.contests.table.name': "Contest Name";
|
|
1132
|
+
readonly 'admin.contests.table.classification': "Classification";
|
|
1133
|
+
readonly 'admin.contests.table.timeType': "Contest Model";
|
|
1134
|
+
readonly 'admin.contests.table.time': "Time";
|
|
1135
|
+
readonly 'admin.contests.table.status': "Status";
|
|
1136
|
+
readonly 'admin.contests.table.active': "Active";
|
|
1137
|
+
readonly 'admin.contests.table.actions': "Actions";
|
|
1138
|
+
readonly 'admin.contests.table.timeTo': "to";
|
|
1139
|
+
readonly 'admin.contests.status.upcoming': "Upcoming";
|
|
1140
|
+
readonly 'admin.contests.status.inProgress': "In Progress";
|
|
1141
|
+
readonly 'admin.contests.status.completed': "Completed";
|
|
1142
|
+
readonly 'admin.contests.timeType.unlimited': "Unlimited";
|
|
1143
|
+
readonly 'admin.contests.timeType.limited': "Time Limited";
|
|
1144
|
+
readonly 'admin.contests.active.active': "Active";
|
|
1145
|
+
readonly 'admin.contests.active.paused': "Paused";
|
|
1146
|
+
readonly 'admin.contests.visibility.public': "Public";
|
|
1147
|
+
readonly 'admin.contests.visibility.internal': "Internal";
|
|
1148
|
+
readonly 'admin.contests.visibility.private': "Private";
|
|
1149
|
+
readonly 'admin.contests.action.viewDetail': "View details";
|
|
1150
|
+
readonly 'admin.contests.action.edit': "Edit";
|
|
1151
|
+
readonly 'admin.contests.action.delete': "Delete";
|
|
1152
|
+
readonly 'admin.contests.add.title': "Add New Contest";
|
|
1153
|
+
readonly 'admin.contests.add.desc': "Enter information to create a new contest in the system";
|
|
1154
|
+
readonly 'admin.contests.add.submitting': "Adding...";
|
|
1155
|
+
readonly 'admin.contests.add.submit': "Add Contest";
|
|
1156
|
+
readonly 'admin.contests.add.cancel': "Cancel";
|
|
1157
|
+
readonly 'admin.contests.edit.title': "Edit Contest";
|
|
1158
|
+
readonly 'admin.contests.edit.desc': "Update contest information: {name}";
|
|
1159
|
+
readonly 'admin.contests.edit.submitting': "Updating...";
|
|
1160
|
+
readonly 'admin.contests.edit.submit': "Update";
|
|
1161
|
+
readonly 'admin.contests.edit.cancel': "Cancel";
|
|
1162
|
+
readonly 'admin.contests.delete.title': "Delete Contest";
|
|
1163
|
+
readonly 'admin.contests.delete.cannotUndo': "This action cannot be undone";
|
|
1164
|
+
readonly 'admin.contests.delete.participants': "{count} participants";
|
|
1165
|
+
readonly 'admin.contests.delete.rooms': "{count} rooms";
|
|
1166
|
+
readonly 'admin.contests.delete.warningTitle': "Important Warning";
|
|
1167
|
+
readonly 'admin.contests.delete.warningRooms': "All exam rooms will be deleted";
|
|
1168
|
+
readonly 'admin.contests.delete.warningData': "Participant data will be deleted";
|
|
1169
|
+
readonly 'admin.contests.delete.warningResults': "Exam results cannot be recovered";
|
|
1170
|
+
readonly 'admin.contests.delete.cancel': "Cancel";
|
|
1171
|
+
readonly 'admin.contests.delete.submitting': "Deleting...";
|
|
1172
|
+
readonly 'admin.contests.delete.confirm': "Confirm Delete";
|
|
1173
|
+
readonly 'admin.contests.detail.title': "Contest Details";
|
|
1174
|
+
readonly 'admin.contests.detail.desc': "Detailed statistics and analysis of exam results";
|
|
1175
|
+
readonly 'admin.contests.detail.loading': "Loading data...";
|
|
1176
|
+
readonly 'admin.contests.detail.statAvgScore': "Avg Score";
|
|
1177
|
+
readonly 'admin.contests.detail.statParticipants': "Participants";
|
|
1178
|
+
readonly 'admin.contests.detail.statCompletion': "Completion";
|
|
1179
|
+
readonly 'admin.contests.detail.statAvgTime': "Avg Min";
|
|
1180
|
+
readonly 'admin.contests.detail.top3Title': "Top 3 Outstanding Students";
|
|
1181
|
+
readonly 'admin.contests.detail.noStudents': "No student data yet";
|
|
1182
|
+
readonly 'admin.contests.detail.scoreDistTitle': "Score Distribution";
|
|
1183
|
+
readonly 'admin.contests.detail.noScoreDist': "No score distribution data yet";
|
|
1184
|
+
readonly 'admin.contests.detail.classAvgTitle': "Avg Score by Class";
|
|
1185
|
+
readonly 'admin.contests.detail.noClassData': "No class data yet";
|
|
1186
|
+
readonly 'admin.contests.detail.classStudentCount': "{count} students";
|
|
1187
|
+
readonly 'admin.contests.detail.avgTimeLabel': "Avg Completion Time";
|
|
1188
|
+
readonly 'admin.contests.detail.fastestLabel': "Fastest";
|
|
1189
|
+
readonly 'admin.contests.detail.slowestLabel': "Slowest";
|
|
1190
|
+
readonly 'admin.contests.detail.minuteUnit': "min";
|
|
1191
|
+
readonly 'admin.contests.detail.contestLabel': "Contest";
|
|
1192
|
+
readonly 'admin.contests.detail.timeLabel': "Time";
|
|
1193
|
+
readonly 'admin.contests.detail.unlimited': "Unlimited";
|
|
1194
|
+
readonly 'admin.contests.detail.loadError': "Unable to load statistics data. Please try again later.";
|
|
1195
|
+
readonly 'admin.contests.student.title': "Student Profile: {name}";
|
|
1196
|
+
readonly 'admin.contests.student.desc': "Participation history and detailed statistics";
|
|
1197
|
+
readonly 'admin.contests.student.loading': "Loading data...";
|
|
1198
|
+
readonly 'admin.contests.student.noClass': "No class assigned";
|
|
1199
|
+
readonly 'admin.contests.student.codeLabel': "Code: {code}";
|
|
1200
|
+
readonly 'admin.contests.student.avgScoreLabel': "Avg Score";
|
|
1201
|
+
readonly 'admin.contests.student.statTotalScore': "Total Score";
|
|
1202
|
+
readonly 'admin.contests.student.statContests': "Contests Joined";
|
|
1203
|
+
readonly 'admin.contests.student.statBestRank': "Best Rank";
|
|
1204
|
+
readonly 'admin.contests.student.statHighest': "Highest Score";
|
|
1205
|
+
readonly 'admin.contests.student.scoreRangeTitle': "Score Range";
|
|
1206
|
+
readonly 'admin.contests.student.scoreHighest': "Highest Score";
|
|
1207
|
+
readonly 'admin.contests.student.scoreAvg': "Average Score";
|
|
1208
|
+
readonly 'admin.contests.student.scoreLowest': "Lowest Score";
|
|
1209
|
+
readonly 'admin.contests.student.trendTitle': "Score Trend";
|
|
1210
|
+
readonly 'admin.contests.student.noTrendData': "No score data yet";
|
|
1211
|
+
readonly 'admin.contests.student.skillsTitle': "Competency Analysis";
|
|
1212
|
+
readonly 'admin.contests.student.historyTitle': "Contest Participation History";
|
|
1213
|
+
readonly 'admin.contests.student.historyScore': "Score:";
|
|
1214
|
+
readonly 'admin.contests.student.historyRank': "Rank:";
|
|
1215
|
+
readonly 'admin.contests.student.historyEmpty': "No contest participation history";
|
|
1216
|
+
readonly 'admin.contests.student.awardsTitle': "Awards & Achievements";
|
|
1217
|
+
readonly 'admin.contests.student.rank1': "🥇 1st";
|
|
1218
|
+
readonly 'admin.contests.student.rank2': "🥈 2nd";
|
|
1219
|
+
readonly 'admin.contests.student.rank3': "🥉 3rd";
|
|
1220
|
+
readonly 'admin.contests.student.rankN': "#{rank}";
|
|
1221
|
+
readonly 'admin.contests.student.loadError': "Unable to load student data. Please try again later.";
|
|
1222
|
+
readonly 'admin.contests.student.scoreRadarName': "Score";
|
|
1223
|
+
readonly 'admin.contests.toast.addSuccess': "Success";
|
|
1224
|
+
readonly 'admin.contests.toast.addSuccessDesc': "New contest added!";
|
|
1225
|
+
readonly 'admin.contests.toast.editSuccess': "Success";
|
|
1226
|
+
readonly 'admin.contests.toast.editSuccessDesc': "Contest updated!";
|
|
1227
|
+
readonly 'admin.contests.toast.deleteSuccess': "Success";
|
|
1228
|
+
readonly 'admin.contests.toast.deleteSuccessDesc': "Contest \"{name}\" deleted";
|
|
1229
|
+
readonly 'admin.contests.form.nameLabel': "Contest Name";
|
|
1230
|
+
readonly 'admin.contests.form.namePlaceholder': "E.g.: English Talent 2025";
|
|
1231
|
+
readonly 'admin.contests.form.charCount': "{current}/{max} characters";
|
|
1232
|
+
readonly 'admin.contests.form.classificationLabel': "Classification";
|
|
1233
|
+
readonly 'admin.contests.form.classificationPlaceholder': "Select classification";
|
|
1234
|
+
readonly 'admin.contests.form.roomCreationLabel': "Rooms by Class";
|
|
1235
|
+
readonly 'admin.contests.form.roomCreationAll': "Create all classes";
|
|
1236
|
+
readonly 'admin.contests.form.roomCreationAllDesc': "Automatically create exam rooms for all classes";
|
|
1237
|
+
readonly 'admin.contests.form.roomCreationSelected': "Specify classes";
|
|
1238
|
+
readonly 'admin.contests.form.roomCreationSelectedDesc': "Select classes to create exam rooms";
|
|
1239
|
+
readonly 'admin.contests.form.examLabel': "Exam";
|
|
1240
|
+
readonly 'admin.contests.form.examSelected': "{parentCount} parent exam, {childCount} child exams";
|
|
1241
|
+
readonly 'admin.contests.form.examNone': "No exam selected";
|
|
1242
|
+
readonly 'admin.contests.form.examSelectBtn': "Select Exam";
|
|
1243
|
+
readonly 'admin.contests.form.examHint': "Select the exam for this contest";
|
|
1244
|
+
readonly 'admin.contests.form.examError': "Please select an exam for this contest";
|
|
1245
|
+
readonly 'admin.contests.form.examSelectClassificationFirst': "Please select contest classification first";
|
|
1246
|
+
readonly 'admin.contests.form.examParentLabel': "Parent Exam ({count})";
|
|
1247
|
+
readonly 'admin.contests.form.examChildLabel': "Child Exams ({count})";
|
|
1248
|
+
readonly 'admin.contests.form.examChildCode': "Code: {name}";
|
|
1249
|
+
readonly 'admin.contests.form.descriptionLabel': "Description";
|
|
1250
|
+
readonly 'admin.contests.form.descriptionPlaceholder': "Detailed description about the contest...";
|
|
1251
|
+
readonly 'admin.contests.form.timeTypeLabel': "Contest Model";
|
|
1252
|
+
readonly 'admin.contests.form.timeTypeLimited': "Time Limited";
|
|
1253
|
+
readonly 'admin.contests.form.timeTypeLimitedDesc': "Has start and end time";
|
|
1254
|
+
readonly 'admin.contests.form.timeTypeUnlimited': "Unlimited";
|
|
1255
|
+
readonly 'admin.contests.form.timeTypeUnlimitedDesc': "Has start time only, no end time";
|
|
1256
|
+
readonly 'admin.contests.form.unlimitedInfo': "Unlimited time contest";
|
|
1257
|
+
readonly 'admin.contests.form.unlimitedInfoDesc': "Students can join the contest anytime after the start time. There is no end time.";
|
|
1258
|
+
readonly 'admin.contests.form.contestDuration': "Contest duration";
|
|
1259
|
+
readonly 'admin.contests.form.startTime': "Contest start time";
|
|
1260
|
+
readonly 'admin.contests.form.startDate': "Start Date";
|
|
1261
|
+
readonly 'admin.contests.form.startHour': "Start Time";
|
|
1262
|
+
readonly 'admin.contests.form.endDate': "End Date";
|
|
1263
|
+
readonly 'admin.contests.form.endHour': "End Time";
|
|
1264
|
+
readonly 'admin.contests.form.activeStatusLabel': "Active Status";
|
|
1265
|
+
readonly 'admin.contests.form.activeStatusHintActive': "Contest will be active immediately after creation";
|
|
1266
|
+
readonly 'admin.contests.form.activeStatusHintPaused': "Contest will be paused, can be activated later";
|
|
1267
|
+
readonly 'admin.contests.form.activeStatusDescActive': "Contest is currently active";
|
|
1268
|
+
readonly 'admin.contests.form.activeStatusDescPaused': "Contest is currently paused";
|
|
1269
|
+
readonly 'admin.exams.title': "Exam Management";
|
|
1270
|
+
readonly 'admin.exams.subtitle': "Manage exams and create new questions from templates";
|
|
1271
|
+
readonly 'admin.exams.examFallbackName': "Exam {id}";
|
|
1272
|
+
readonly 'admin.exams.uncategorized': "Uncategorized";
|
|
1273
|
+
readonly 'admin.exams.toast.deleteSuccess': "Exam deleted successfully!";
|
|
1274
|
+
readonly 'admin.exams.toast.deleteSuccessDesc': "Deleted exam \"{name}\"";
|
|
1275
|
+
readonly 'admin.exams.toast.deleteFailed': "Deletion failed";
|
|
1276
|
+
readonly 'admin.exams.toast.deleteError': "An error occurred while deleting the exam. Please try again.";
|
|
1277
|
+
readonly 'admin.exams.toast.success': "Success";
|
|
1278
|
+
readonly 'admin.exams.toast.copySuccess': "Copied exam {id}";
|
|
1279
|
+
readonly 'admin.exams.toast.shuffleSuccess': "Created {count} shuffled variants from exam {id}! Question order has been randomized.";
|
|
1280
|
+
readonly 'admin.exams.error.loadTitle': "Unable to load exam list";
|
|
1281
|
+
readonly 'admin.exams.error.loadMessage': "An error occurred while loading data. Please try again.";
|
|
1282
|
+
readonly 'admin.exams.stats.totalExams': "Total Exams";
|
|
1283
|
+
readonly 'admin.exams.stats.activeExams': "{count} exams active";
|
|
1284
|
+
readonly 'admin.exams.stats.rooms': "Rooms";
|
|
1285
|
+
readonly 'admin.exams.stats.totalAssigned': "Total assigned rooms";
|
|
1286
|
+
readonly 'admin.exams.stats.completed': "Completed";
|
|
1287
|
+
readonly 'admin.exams.stats.studentsSubmitted': "Students submitted";
|
|
1288
|
+
readonly 'admin.exams.stats.statusDistribution': "Status Distribution";
|
|
1289
|
+
readonly 'admin.exams.stats.ready': "Ready";
|
|
1290
|
+
readonly 'admin.exams.stats.notReady': "Not Ready";
|
|
1291
|
+
readonly 'admin.exams.stats.activated': "Activated";
|
|
1292
|
+
readonly 'admin.exams.stats.deactivated': "Deactivated";
|
|
1293
|
+
readonly 'admin.exams.stats.examUnit': "{count} exams";
|
|
1294
|
+
readonly 'admin.exams.table.title': "Exam List";
|
|
1295
|
+
readonly 'admin.exams.table.showing': "Showing {count} / {total} exams";
|
|
1296
|
+
readonly 'admin.exams.table.createExam': "Create Exam";
|
|
1297
|
+
readonly 'admin.exams.table.loading': "Loading data...";
|
|
1298
|
+
readonly 'admin.exams.table.empty': "No exams found";
|
|
1299
|
+
readonly 'admin.exams.table.createdPrefix': "Created:";
|
|
1300
|
+
readonly 'admin.exams.table.minutes': "{count} min";
|
|
1301
|
+
readonly 'admin.exams.table.questionCount': "{count}/{total} questions";
|
|
1302
|
+
readonly 'admin.exams.table.completed': "Completed";
|
|
1303
|
+
readonly 'admin.exams.table.ready': "Completed";
|
|
1304
|
+
readonly 'admin.exams.table.notReady': "Incomplete";
|
|
1305
|
+
readonly 'admin.exams.table.activated': "Activated";
|
|
1306
|
+
readonly 'admin.exams.table.deactivated': "Deactivated";
|
|
1307
|
+
readonly 'admin.exams.table.cannotActivate': "Exam is not ready, cannot activate";
|
|
1308
|
+
readonly 'admin.exams.table.editContent': "Edit exam content";
|
|
1309
|
+
readonly 'admin.exams.filter.searchPlaceholder': "Search by name, exam code...";
|
|
1310
|
+
readonly 'admin.exams.filter.level': "Level";
|
|
1311
|
+
readonly 'admin.exams.filter.allLevels': "All Levels";
|
|
1312
|
+
readonly 'admin.exams.filter.ready': "Completed";
|
|
1313
|
+
readonly 'admin.exams.filter.allReady': "All Completion";
|
|
1314
|
+
readonly 'admin.exams.filter.isReady': "Completed";
|
|
1315
|
+
readonly 'admin.exams.filter.notReady': "Incomplete";
|
|
1316
|
+
readonly 'admin.exams.filter.status': "Status";
|
|
1317
|
+
readonly 'admin.exams.filter.allStatuses': "All Statuses";
|
|
1318
|
+
readonly 'admin.exams.filter.activated': "Activated";
|
|
1319
|
+
readonly 'admin.exams.filter.deactivated': "Deactivated";
|
|
1320
|
+
readonly 'admin.exams.filter.clearFilters': "Clear Filters";
|
|
1321
|
+
readonly 'admin.exams.filter.searchLabel': "Search:";
|
|
1322
|
+
readonly 'admin.exams.filter.levelLabel': "Level:";
|
|
1323
|
+
readonly 'admin.exams.filter.readyLabel': "Completed:";
|
|
1324
|
+
readonly 'admin.exams.filter.statusLabel': "Status:";
|
|
1325
|
+
readonly 'admin.exams.col.code': "Code";
|
|
1326
|
+
readonly 'admin.exams.col.name': "Title";
|
|
1327
|
+
readonly 'admin.exams.col.level': "Level";
|
|
1328
|
+
readonly 'admin.exams.col.difficulty': "Difficulty";
|
|
1329
|
+
readonly 'admin.exams.col.duration': "Duration";
|
|
1330
|
+
readonly 'admin.exams.col.questions': "Questions";
|
|
1331
|
+
readonly 'admin.exams.col.assigned': "Assigned";
|
|
1332
|
+
readonly 'admin.exams.col.ready': "Completed";
|
|
1333
|
+
readonly 'admin.exams.col.status': "Status";
|
|
1334
|
+
readonly 'admin.exams.col.actions': "Actions";
|
|
1335
|
+
readonly 'admin.exams.col.classification': "Classification";
|
|
1336
|
+
readonly 'admin.exams.col.creator': "Creator";
|
|
1337
|
+
readonly 'admin.exams.col.createdAt': "Created date";
|
|
1338
|
+
readonly 'admin.exams.action.view': "View Details";
|
|
1339
|
+
readonly 'admin.exams.action.preview': "Preview Exam";
|
|
1340
|
+
readonly 'admin.exams.action.edit': "Edit";
|
|
1341
|
+
readonly 'admin.exams.action.copy': "Copy";
|
|
1342
|
+
readonly 'admin.exams.action.shuffle': "Create Shuffled Exam";
|
|
1343
|
+
readonly 'admin.exams.action.delete': "Delete";
|
|
1344
|
+
readonly 'admin.exams.difficulty.easy': "Easy";
|
|
1345
|
+
readonly 'admin.exams.difficulty.medium': "Medium";
|
|
1346
|
+
readonly 'admin.exams.difficulty.hard': "Hard";
|
|
1347
|
+
readonly 'admin.exams.delete.title': "Confirm Delete Exam";
|
|
1348
|
+
readonly 'admin.exams.delete.confirm': "Are you sure you want to delete exam";
|
|
1349
|
+
readonly 'admin.exams.delete.warning': "This action cannot be undone and will delete all related data.";
|
|
1350
|
+
readonly 'admin.exams.delete.cancel': "Cancel";
|
|
1351
|
+
readonly 'admin.exams.delete.submit': "Delete";
|
|
1352
|
+
readonly 'admin.exams.duplicate.title': "Copy Exam";
|
|
1353
|
+
readonly 'admin.exams.duplicate.subtitle': "Create a complete copy";
|
|
1354
|
+
readonly 'admin.exams.duplicate.originalExam': "Original Exam";
|
|
1355
|
+
readonly 'admin.exams.duplicate.copyIncludes': "Copy will include";
|
|
1356
|
+
readonly 'admin.exams.duplicate.examInfo': "Exam information";
|
|
1357
|
+
readonly 'admin.exams.duplicate.allSettings': "All configurations and settings";
|
|
1358
|
+
readonly 'admin.exams.duplicate.questions': "Questions";
|
|
1359
|
+
readonly 'admin.exams.duplicate.questionCount': "{count} questions";
|
|
1360
|
+
readonly 'admin.exams.duplicate.newName': "New Name";
|
|
1361
|
+
readonly 'admin.exams.duplicate.newCode': "New Code";
|
|
1362
|
+
readonly 'admin.exams.duplicate.draftNote': "The copy will be created with status";
|
|
1363
|
+
readonly 'admin.exams.duplicate.draft': "Draft";
|
|
1364
|
+
readonly 'admin.exams.duplicate.editableNote': "and can be edited right after creation.";
|
|
1365
|
+
readonly 'admin.exams.duplicate.cancel': "Cancel";
|
|
1366
|
+
readonly 'admin.exams.duplicate.copying': "Copying...";
|
|
1367
|
+
readonly 'admin.exams.duplicate.submit': "Create Copy";
|
|
1368
|
+
readonly 'admin.exams.view.subject': "Subject";
|
|
1369
|
+
readonly 'admin.exams.view.level': "Level";
|
|
1370
|
+
readonly 'admin.exams.view.duration': "Duration";
|
|
1371
|
+
readonly 'admin.exams.view.minutes': "{count} min";
|
|
1372
|
+
readonly 'admin.exams.view.questionCount': "Question Count";
|
|
1373
|
+
readonly 'admin.exams.view.questions': "{count} questions";
|
|
1374
|
+
readonly 'admin.exams.view.totalPoints': "Total Points";
|
|
1375
|
+
readonly 'admin.exams.view.points': "{count} pts";
|
|
1376
|
+
readonly 'admin.exams.view.difficulty': "Difficulty";
|
|
1377
|
+
readonly 'admin.exams.view.description': "Description";
|
|
1378
|
+
readonly 'admin.exams.view.close': "Close";
|
|
1379
|
+
readonly 'admin.exams.shuffle.title': "Create Shuffled Exam Set";
|
|
1380
|
+
readonly 'admin.exams.shuffle.desc': "Create multiple exam versions from {code} with randomly shuffled question order";
|
|
1381
|
+
readonly 'admin.exams.shuffle.questionCount': "{count} questions";
|
|
1382
|
+
readonly 'admin.exams.shuffle.minutes': "{count} min";
|
|
1383
|
+
readonly 'admin.exams.shuffle.points': "{count} pts";
|
|
1384
|
+
readonly 'admin.exams.shuffle.howItWorks': "How it works";
|
|
1385
|
+
readonly 'admin.exams.shuffle.info1': "Each variant contains the exact same set of questions as the original";
|
|
1386
|
+
readonly 'admin.exams.shuffle.info2': "The order of Parts is preserved";
|
|
1387
|
+
readonly 'admin.exams.shuffle.info3': "Questions within the same Part are randomly shuffled";
|
|
1388
|
+
readonly 'admin.exams.shuffle.info4': "Variants are linked to the parent exam for management";
|
|
1389
|
+
readonly 'admin.exams.shuffle.countLabel': "Number of variants to create";
|
|
1390
|
+
readonly 'admin.exams.shuffle.strategyLabel': "Existing exam handling option";
|
|
1391
|
+
readonly 'admin.exams.shuffle.keepOld': "Keep existing exams and add new ones";
|
|
1392
|
+
readonly 'admin.exams.shuffle.replaceAll': "Create a completely new set";
|
|
1393
|
+
readonly 'admin.exams.shuffle.existingVariants': "Existing exams ({count})";
|
|
1394
|
+
readonly 'admin.exams.shuffle.deleteAll': "Delete all ({count})";
|
|
1395
|
+
readonly 'admin.exams.shuffle.loading': "Loading...";
|
|
1396
|
+
readonly 'admin.exams.shuffle.noVariants': "No shuffled exams yet";
|
|
1397
|
+
readonly 'admin.exams.shuffle.variantCode': "Code: {name}";
|
|
1398
|
+
readonly 'admin.exams.shuffle.originalBadge': "📌 Original";
|
|
1399
|
+
readonly 'admin.exams.shuffle.originalNote': "Original question order, cannot be deleted";
|
|
1400
|
+
readonly 'admin.exams.shuffle.preview': "Preview";
|
|
1401
|
+
readonly 'admin.exams.shuffle.close': "Close";
|
|
1402
|
+
readonly 'admin.exams.shuffle.creating': "Creating...";
|
|
1403
|
+
readonly 'admin.exams.shuffle.createButton': "Create {count} shuffled exams";
|
|
1404
|
+
readonly 'admin.exams.shuffle.confirmDeleteAllTitle': "Delete all shuffled exams?";
|
|
1405
|
+
readonly 'admin.exams.shuffle.confirmDeleteAllDesc': "Are you sure you want to delete all {count} shuffled exams? The original exam (Code: 000) will be kept. This action cannot be undone.";
|
|
1406
|
+
readonly 'admin.exams.shuffle.cancel': "Cancel";
|
|
1407
|
+
readonly 'admin.exams.shuffle.deleteAllBtn': "Delete All";
|
|
1408
|
+
readonly 'admin.exams.shuffle.confirmDeleteOneTitle': "Delete this exam?";
|
|
1409
|
+
readonly 'admin.exams.shuffle.confirmDeleteOneDesc': "Are you sure you want to delete this exam? This action cannot be undone.";
|
|
1410
|
+
readonly 'admin.exams.shuffle.deleteBtn': "Delete";
|
|
1411
|
+
readonly 'admin.exams.create.title': "Create New Exam";
|
|
1412
|
+
readonly 'admin.exams.create.step1': "Step 1: Enter basic exam information";
|
|
1413
|
+
readonly 'admin.exams.create.success': "Success";
|
|
1414
|
+
readonly 'admin.exams.create.successDesc': "Saved exam \"{name}\". Redirecting to Template selection...";
|
|
1415
|
+
readonly 'admin.exams.create.incompleteInfo': "Incomplete Information";
|
|
1416
|
+
readonly 'admin.exams.create.incompleteInfoDesc': "Please fill in all required fields and check the information entered";
|
|
1417
|
+
readonly 'admin.exams.create.cancel': "Cancel";
|
|
1418
|
+
readonly 'admin.exams.create.saving': "Saving...";
|
|
1419
|
+
readonly 'admin.exams.create.saveAndContinue': "Create exam and start editing content";
|
|
1420
|
+
readonly 'admin.exams.create.loading': "Loading...";
|
|
1421
|
+
readonly 'admin.exams.form.basicInfo': "Basic Information";
|
|
1422
|
+
readonly 'admin.exams.form.requiredHint': "Required fields are marked with (*)";
|
|
1423
|
+
readonly 'admin.exams.form.codeLabel': "Exam Code";
|
|
1424
|
+
readonly 'admin.exams.form.codePlaceholder': "Enter exam code...";
|
|
1425
|
+
readonly 'admin.exams.form.charCount': "{count}/{max} characters";
|
|
1426
|
+
readonly 'admin.exams.form.nameLabel': "Exam Name";
|
|
1427
|
+
readonly 'admin.exams.form.namePlaceholder': "Enter exam name...";
|
|
1428
|
+
readonly 'admin.exams.form.subject': "Subject";
|
|
1429
|
+
readonly 'admin.exams.form.subjectPlaceholder': "Select subject";
|
|
1430
|
+
readonly 'admin.exams.form.loading': "Loading...";
|
|
1431
|
+
readonly 'admin.exams.form.level': "Level";
|
|
1432
|
+
readonly 'admin.exams.form.levelPlaceholder': "Select level";
|
|
1433
|
+
readonly 'admin.exams.form.difficulty': "Difficulty";
|
|
1434
|
+
readonly 'admin.exams.form.difficultyPlaceholder': "Select difficulty";
|
|
1435
|
+
readonly 'admin.exams.form.easy': "Easy";
|
|
1436
|
+
readonly 'admin.exams.form.medium': "Medium";
|
|
1437
|
+
readonly 'admin.exams.form.hard': "Hard";
|
|
1438
|
+
readonly 'admin.exams.form.duration': "Exam Duration (minutes)";
|
|
1439
|
+
readonly 'admin.exams.form.totalPoints': "Total Points";
|
|
1440
|
+
readonly 'admin.exams.form.description': "Description";
|
|
1441
|
+
readonly 'admin.exams.form.descriptionPlaceholder': "Detailed description about the exam, objectives, target audience...";
|
|
1442
|
+
readonly 'admin.exams.form.classification': "Exam Classification";
|
|
1443
|
+
readonly 'admin.exams.form.classificationPlaceholder': "Select exam classification";
|
|
1444
|
+
readonly 'admin.exams.edit.title': "Edit Exam";
|
|
1445
|
+
readonly 'admin.exams.edit.subtitle': "Update your exam information";
|
|
1446
|
+
readonly 'admin.exams.edit.loading': "Loading exam information...";
|
|
1447
|
+
readonly 'admin.exams.edit.loadError': "Unable to load exam information";
|
|
1448
|
+
readonly 'admin.exams.edit.loadErrorDesc': "An error occurred while loading data. Please try again.";
|
|
1449
|
+
readonly 'admin.exams.edit.backToList': "Back to list";
|
|
1450
|
+
readonly 'admin.exams.edit.success': "Updated exam {name} successfully!";
|
|
1451
|
+
readonly 'admin.exams.edit.invalidInfo': "Invalid Information";
|
|
1452
|
+
readonly 'admin.exams.edit.invalidInfoDesc': "Please check the information fields";
|
|
1453
|
+
readonly 'admin.exams.edit.templateInfoTitle': "Template Information (Cannot be changed)";
|
|
1454
|
+
readonly 'admin.exams.edit.templateInfoDesc': "The exam template was selected when creating the exam and cannot be changed";
|
|
1455
|
+
readonly 'admin.exams.edit.templateName': "Template Name:";
|
|
1456
|
+
readonly 'admin.exams.edit.templateParts': "Parts:";
|
|
1457
|
+
readonly 'admin.exams.edit.templateQuestions': "Questions:";
|
|
1458
|
+
readonly 'admin.exams.edit.noTemplate': "No Template Selected";
|
|
1459
|
+
readonly 'admin.exams.edit.noTemplateDesc': "You need to select a Template to complete the exam structure.";
|
|
1460
|
+
readonly 'admin.exams.edit.editQuestions': "Edit Questions";
|
|
1461
|
+
readonly 'admin.exams.edit.back': "Back";
|
|
1462
|
+
readonly 'admin.exams.edit.saving': "Saving...";
|
|
1463
|
+
readonly 'admin.exams.edit.saveChanges': "Save Changes";
|
|
1464
|
+
readonly 'admin.exams.edit.saveAndSelectTemplate': "Save exam and continue to Template selection";
|
|
1465
|
+
readonly 'admin.exams.edit.saved': "Exam saved";
|
|
1466
|
+
readonly 'admin.exams.edit.redirectToTemplate': "Redirecting to Template selection...";
|
|
1467
|
+
readonly 'admin.exams.edit.loadingFallback': "Loading...";
|
|
1468
|
+
readonly 'admin.exams.template.exam': "Exam";
|
|
1469
|
+
readonly 'admin.exams.template.examCode': "Exam Code:";
|
|
1470
|
+
readonly 'admin.exams.template.step2': "Step 2: Select Exam Template";
|
|
1471
|
+
readonly 'admin.exams.template.selectTemplate': "Select Exam Template";
|
|
1472
|
+
readonly 'admin.exams.template.error': "Error";
|
|
1473
|
+
readonly 'admin.exams.template.loadError': "Unable to load exam information. Please try again.";
|
|
1474
|
+
readonly 'admin.exams.template.loading': "Loading exam information...";
|
|
1475
|
+
readonly 'admin.exams.template.loadingFallback': "Loading...";
|
|
1476
|
+
readonly 'admin.exams.preview.title': "Preview Exam: {name}";
|
|
1477
|
+
readonly 'admin.exams.preview.examInfo': "Exam Information";
|
|
1478
|
+
readonly 'admin.exams.preview.duration': "Duration:";
|
|
1479
|
+
readonly 'admin.exams.preview.questionCount': "Questions:";
|
|
1480
|
+
readonly 'admin.exams.preview.totalPoints': "Total Points:";
|
|
1481
|
+
readonly 'admin.exams.preview.progress': "Progress";
|
|
1482
|
+
readonly 'admin.exams.preview.loading': "Loading...";
|
|
1483
|
+
readonly 'admin.exams.preview.questionNavigation': "Question Navigation";
|
|
1484
|
+
readonly 'admin.exams.preview.all': "All";
|
|
1485
|
+
readonly 'admin.exams.preview.allQuestions': "All {count} questions";
|
|
1486
|
+
readonly 'admin.exams.preview.partQuestions': "Part {part}: {count} questions";
|
|
1487
|
+
readonly 'admin.exams.preview.collapse': "Collapse";
|
|
1488
|
+
readonly 'admin.exams.preview.detail': "Details";
|
|
1489
|
+
readonly 'admin.exams.preview.questionIndex': "Question {index} / {total}";
|
|
1490
|
+
readonly 'admin.exams.preview.noQuestions': "No questions yet";
|
|
1491
|
+
readonly 'admin.exams.preview.loadingQuestions': "Loading questions...";
|
|
1492
|
+
readonly 'admin.exams.preview.retry': "Retry";
|
|
1493
|
+
readonly 'admin.exams.preview.examNoQuestions': "This exam has no questions yet.";
|
|
1494
|
+
readonly 'admin.exams.preview.prevQuestion': "Previous Question";
|
|
1495
|
+
readonly 'admin.exams.preview.prev': "Prev";
|
|
1496
|
+
readonly 'admin.exams.preview.nextQuestion': "Next Question";
|
|
1497
|
+
readonly 'admin.exams.preview.next': "Next";
|
|
1498
|
+
readonly 'admin.exams.preview.footerNote': "This is a preview mode to check the layout and content of the exam.";
|
|
1499
|
+
readonly 'admin.exams.preview.close': "Close";
|
|
1500
|
+
readonly 'admin.exams.preview.loadError': "Unable to load questions. Please try again.";
|
|
1501
|
+
readonly 'admin.exams.preview.points': "{count} pts";
|
|
1502
|
+
readonly 'admin.exams.preview.questions': "{count} questions";
|
|
1503
|
+
readonly 'admin.exams.preview.unsupportedType': "Question type not yet supported for preview:";
|
|
1504
|
+
readonly 'admin.exams.preview.lookAndChoose': "Look at the picture and choose the correct answer";
|
|
1505
|
+
readonly 'admin.exams.configure.error': "Error";
|
|
1506
|
+
readonly 'admin.exams.configure.loadError': "Unable to load exam information. Please try again.";
|
|
1507
|
+
readonly 'admin.exams.configure.missingInfo': "Missing information";
|
|
1508
|
+
readonly 'admin.exams.configure.selectTemplateFirst': "Please select a template first.";
|
|
1509
|
+
readonly 'admin.exams.configure.templateNotFound': "Template information not found.";
|
|
1510
|
+
readonly 'admin.exams.configure.success': "Success";
|
|
1511
|
+
readonly 'admin.exams.configure.successDesc': "Template configuration saved. Redirecting to question creation page...";
|
|
1512
|
+
readonly 'admin.exams.configure.loading': "Loading information...";
|
|
1513
|
+
readonly 'admin.exams.configure.noTemplate': "Template information not found";
|
|
1514
|
+
readonly 'admin.exams.configure.backToTemplate': "Back to template selection";
|
|
1515
|
+
readonly 'admin.exams.configure.saving': "Saving configuration...";
|
|
1516
|
+
readonly 'admin.exams.configure.loadingFallback': "Loading...";
|
|
1517
|
+
readonly 'admin.exams.questions.missingTemplate': "Missing template";
|
|
1518
|
+
readonly 'admin.exams.questions.missingTemplateDesc': "Exam has no template assigned. Please select a template first.";
|
|
1519
|
+
readonly 'admin.exams.questions.error': "Error";
|
|
1520
|
+
readonly 'admin.exams.questions.loadError': "Unable to load exam information. Please try again.";
|
|
1521
|
+
readonly 'admin.exams.questions.loading': "Loading exam information...";
|
|
1522
|
+
readonly 'admin.exams.questions.noTemplate': "No template found for this exam";
|
|
1523
|
+
readonly 'admin.exams.questions.noTemplateDesc': "Please select a template before creating questions";
|
|
1524
|
+
readonly 'admin.exams.questions.back': "Back";
|
|
1525
|
+
readonly 'admin.exams.questions.createQuestions': "Create Questions";
|
|
1526
|
+
readonly 'admin.exams.questions.step4': "Step 4: Create and edit exam questions";
|
|
1527
|
+
readonly 'admin.exams.questions.createAndEditQuestions': "Create and edit exam questions";
|
|
1528
|
+
readonly 'admin.exams.questions.loadingFallback': "Loading...";
|
|
1529
|
+
readonly 'admin.exams.questions.guide.title': "Question Creation Guide";
|
|
1530
|
+
readonly 'admin.exams.questions.guide.subtitle': "4 simple steps • Helpful tips • Save time";
|
|
1531
|
+
readonly 'admin.exams.questions.guide.step1Title': "Follow the order";
|
|
1532
|
+
readonly 'admin.exams.questions.guide.step1Desc': "Complete each question in order within each Part";
|
|
1533
|
+
readonly 'admin.exams.questions.guide.step1Tip': "Move to the next Part after completing all questions in the current Part";
|
|
1534
|
+
readonly 'admin.exams.questions.guide.step2Title': "Standardized template";
|
|
1535
|
+
readonly 'admin.exams.questions.guide.step2Desc': "Each Part has a predefined question type based on the template standard";
|
|
1536
|
+
readonly 'admin.exams.questions.guide.step2Tip': "No need to worry about format - the system will automatically format according to the standard";
|
|
1537
|
+
readonly 'admin.exams.questions.guide.step3Title': "Safe storage";
|
|
1538
|
+
readonly 'admin.exams.questions.guide.step3Desc': "Use \"Save Question\" to save each question";
|
|
1539
|
+
readonly 'admin.exams.questions.guide.step3Tip': "Press \"Save Exam\" when done to save everything and publish";
|
|
1540
|
+
readonly 'admin.exams.questions.guide.step4Title': "Question bank";
|
|
1541
|
+
readonly 'admin.exams.questions.guide.step4Desc': "Check \"Add to bank\" to reuse";
|
|
1542
|
+
readonly 'admin.exams.questions.guide.step4Tip': "Questions will be saved to the shared pool and can be used in other exams";
|
|
1543
|
+
readonly 'admin.exams.questions.guide.quickTips': "Quick tips:";
|
|
1544
|
+
readonly 'admin.exams.questions.guide.tip1': "Ctrl+S to quickly save the current question";
|
|
1545
|
+
readonly 'admin.exams.questions.guide.tip2': "Data is auto-saved locally on change";
|
|
1546
|
+
readonly 'admin.exams.questions.guide.tip3': "Preview questions with the \"Preview\" button";
|
|
1547
|
+
readonly 'admin.exams.partEditor.skillListening': "Listening";
|
|
1548
|
+
readonly 'admin.exams.partEditor.skillSpeaking': "Speaking";
|
|
1549
|
+
readonly 'admin.exams.partEditor.skillReading': "Reading";
|
|
1550
|
+
readonly 'admin.exams.partEditor.skillWriting': "Writing";
|
|
1551
|
+
readonly 'admin.exams.partEditor.qtFillMissingWordsInGrid': "Fill in missing letters";
|
|
1552
|
+
readonly 'admin.exams.partEditor.qtLookPictureFillBlankChooseAnswer': "Look at picture, fill in the blank";
|
|
1553
|
+
readonly 'admin.exams.partEditor.qtLookPictureChooseCorrectAnswer': "Look at picture, choose correct answer";
|
|
1554
|
+
readonly 'admin.exams.partEditor.qtLookPictureFillWordHint': "Look at picture, fill word (with hint)";
|
|
1555
|
+
readonly 'admin.exams.partEditor.qtLabelThePicture': "Label the picture";
|
|
1556
|
+
readonly 'admin.exams.partEditor.qtReadAndColorObjects': "Read and color";
|
|
1557
|
+
readonly 'admin.exams.partEditor.qtMultipleChoice': "Multiple choice";
|
|
1558
|
+
readonly 'admin.exams.partEditor.qtListening': "Listening comprehension";
|
|
1559
|
+
readonly 'admin.exams.partEditor.qtReading': "Reading comprehension";
|
|
1560
|
+
readonly 'admin.exams.partEditor.defaultBack': "Back";
|
|
1561
|
+
readonly 'admin.exams.partEditor.defaultContinue': "Save configuration and continue";
|
|
1562
|
+
readonly 'admin.exams.partEditor.defaultExamName': "Configure Exam";
|
|
1563
|
+
readonly 'admin.exams.partEditor.step3': "Step 3: Configure question count";
|
|
1564
|
+
readonly 'admin.exams.partEditor.templateLabel': "Template:";
|
|
1565
|
+
readonly 'admin.exams.partEditor.totalQuestions': "Total questions";
|
|
1566
|
+
readonly 'admin.exams.partEditor.changedFrom': "Changed from {from} questions";
|
|
1567
|
+
readonly 'admin.exams.partEditor.keepDefault': "Keeping default template settings";
|
|
1568
|
+
readonly 'admin.exams.partEditor.questionsUnit': "questions";
|
|
1569
|
+
readonly 'admin.exams.partEditor.reset': "Reset";
|
|
1570
|
+
readonly 'admin.exams.partEditor.defaultCount': "Default: {count}";
|
|
1571
|
+
readonly 'admin.exams.partEditor.currentCount': "Current: {count}";
|
|
1572
|
+
readonly 'admin.exams.partEditor.configParts': "Configure Each Part";
|
|
1573
|
+
readonly 'admin.exams.partEditor.configPartsDesc': "Customize the number of questions for each part. Grouped questions can adjust the number of groups and questions per group.";
|
|
1574
|
+
readonly 'admin.exams.partEditor.groupBadge': "Question group";
|
|
1575
|
+
readonly 'admin.exams.partEditor.totalPartQuestions': "Total questions";
|
|
1576
|
+
readonly 'admin.exams.partEditor.skillLabel': "Skill";
|
|
1577
|
+
readonly 'admin.exams.partEditor.selectSkill': "Select skill";
|
|
1578
|
+
readonly 'admin.exams.partEditor.defaultSkill': "(default: {skill})";
|
|
1579
|
+
readonly 'admin.exams.partEditor.audioFile': "Audio file";
|
|
1580
|
+
readonly 'admin.exams.partEditor.audioPlaceholder': "Select audio file for this part...";
|
|
1581
|
+
readonly 'admin.exams.partEditor.questionCount': "Question count";
|
|
1582
|
+
readonly 'admin.exams.partEditor.groupCount': "Number of groups";
|
|
1583
|
+
readonly 'admin.exams.partEditor.addOrRemoveGroup': "Add or remove question groups";
|
|
1584
|
+
readonly 'admin.exams.partEditor.questionsPerGroup': "Questions per group";
|
|
1585
|
+
readonly 'admin.exams.partEditor.group': "Group {index}";
|
|
1586
|
+
readonly 'admin.exams.partEditor.defaultValue': "(default: {value})";
|
|
1587
|
+
readonly 'admin.exams.partEditor.unsavedChanges': "• Unsaved changes";
|
|
1588
|
+
readonly 'admin.exams.partEditor.readyToContinue': "✓ Ready to continue";
|
|
1589
|
+
readonly 'admin.exams.partEditor.saving': "Saving...";
|
|
1590
|
+
readonly 'admin.settings.title': "System Settings";
|
|
1591
|
+
readonly 'admin.settings.subtitle': "Manage system configuration and parameters";
|
|
1592
|
+
readonly 'admin.settings.save.success': "Saved";
|
|
1593
|
+
readonly 'admin.settings.save.successDesc': "Settings have been saved!";
|
|
1594
|
+
readonly 'admin.settings.systemInfo.title': "System Information";
|
|
1595
|
+
readonly 'admin.settings.systemInfo.desc': "General system configuration";
|
|
1596
|
+
readonly 'admin.settings.systemInfo.edit': "Edit";
|
|
1597
|
+
readonly 'admin.settings.systemInfo.cancel': "Cancel";
|
|
1598
|
+
readonly 'admin.settings.systemInfo.save': "Save Changes";
|
|
1599
|
+
readonly 'admin.settings.systemInfo.systemName': "System Name";
|
|
1600
|
+
readonly 'admin.settings.systemInfo.systemEmail': "System Email";
|
|
1601
|
+
readonly 'admin.settings.systemInfo.supportEmail': "Support Email";
|
|
1602
|
+
readonly 'admin.settings.notification.title': "Notification Settings";
|
|
1603
|
+
readonly 'admin.settings.notification.desc': "Manage notification channels";
|
|
1604
|
+
readonly 'admin.settings.notification.email': "Email Notifications";
|
|
1605
|
+
readonly 'admin.settings.notification.emailDesc': "Send email notifications to students and teachers";
|
|
1606
|
+
readonly 'admin.settings.notification.sms': "SMS Notifications";
|
|
1607
|
+
readonly 'admin.settings.notification.smsDesc': "Send important SMS notifications";
|
|
1608
|
+
readonly 'admin.settings.ebm.title': "EBM Integration";
|
|
1609
|
+
readonly 'admin.settings.ebm.desc': "Configure connection to EBM system";
|
|
1610
|
+
readonly 'admin.settings.ebm.testConnection': "Test Connection";
|
|
1611
|
+
readonly 'admin.settings.ebm.syncNow': "Sync Now";
|
|
1612
|
+
readonly 'admin.settings.status.title': "System Status";
|
|
1613
|
+
readonly 'admin.settings.status.desc': "System operation information";
|
|
1614
|
+
readonly 'admin.settings.status.operational': "Operational";
|
|
1615
|
+
readonly 'admin.settings.status.connected': "Connected";
|
|
1616
|
+
readonly 'admin.settings.status.active': "Active";
|
|
1617
|
+
readonly 'admin.settings.status.paused': "Paused";
|
|
1618
|
+
readonly 'admin.settings.status.lastBackup': "Yesterday 23:00";
|
|
1619
|
+
readonly 'admin.testParticipants.title': "Test Participants";
|
|
1620
|
+
readonly 'admin.testParticipants.subtitle': "Track information and exam results of participants in the system";
|
|
1621
|
+
readonly 'admin.testParticipants.cardTitle': "Test Participants List";
|
|
1622
|
+
readonly 'admin.testParticipants.cardDescription': "Total {totalItems} participants found";
|
|
1623
|
+
readonly 'admin.testParticipants.clearFilters': "Clear filters";
|
|
1624
|
+
readonly 'admin.testParticipants.filterHeader': "Search filters";
|
|
1625
|
+
readonly 'admin.testParticipants.searchPlaceholder': "Search by name, email or phone number...";
|
|
1626
|
+
readonly 'admin.testParticipants.branchLabel': "Branch";
|
|
1627
|
+
readonly 'admin.testParticipants.allBranches': "All branches";
|
|
1628
|
+
readonly 'admin.testParticipants.contestLabel': "Contest";
|
|
1629
|
+
readonly 'admin.testParticipants.allContests': "All contests";
|
|
1630
|
+
readonly 'admin.testParticipants.fromDate': "From date";
|
|
1631
|
+
readonly 'admin.testParticipants.toDate': "To date";
|
|
1632
|
+
readonly 'admin.testParticipants.col.participant': "Participant";
|
|
1633
|
+
readonly 'admin.testParticipants.col.phone': "Phone";
|
|
1634
|
+
readonly 'admin.testParticipants.col.dob': "Date of Birth";
|
|
1635
|
+
readonly 'admin.testParticipants.col.branch': "Branch";
|
|
1636
|
+
readonly 'admin.testParticipants.col.contest': "Contest";
|
|
1637
|
+
readonly 'admin.testParticipants.col.exam': "Exam";
|
|
1638
|
+
readonly 'admin.testParticipants.col.bestScore': "Best Score";
|
|
1639
|
+
readonly 'admin.testParticipants.col.maxScore': "Max Score";
|
|
1640
|
+
readonly 'admin.testParticipants.col.attemptCount': "Attempts";
|
|
1641
|
+
readonly 'admin.testParticipants.col.lastAttempt': "Last Attempt";
|
|
1642
|
+
readonly 'admin.testParticipants.col.actions': "Actions";
|
|
1643
|
+
readonly 'admin.testParticipants.loading': "Loading data...";
|
|
1644
|
+
readonly 'admin.testParticipants.empty.title': "No data found";
|
|
1645
|
+
readonly 'admin.testParticipants.empty.withFilters': "No results match the current filters. Please adjust your search criteria.";
|
|
1646
|
+
readonly 'admin.testParticipants.empty.noData': "No participants have taken any exams yet.";
|
|
1647
|
+
readonly 'admin.testParticipants.viewDetail': "View exam history details";
|
|
1648
|
+
readonly 'admin.testParticipants.detail': "Details";
|
|
1649
|
+
readonly 'admin.testParticipants.dialog.title': "Exam History Details";
|
|
1650
|
+
readonly 'admin.testParticipants.dialog.description': "Detailed information about exam results and attempt history of the participant";
|
|
1651
|
+
readonly 'admin.testParticipants.dialog.studentInfo': "Participant Information";
|
|
1652
|
+
readonly 'admin.testParticipants.dialog.fullName': "Full Name";
|
|
1653
|
+
readonly 'admin.testParticipants.dialog.email': "Email Address";
|
|
1654
|
+
readonly 'admin.testParticipants.dialog.phone': "Phone Number";
|
|
1655
|
+
readonly 'admin.testParticipants.dialog.dob': "Date of Birth";
|
|
1656
|
+
readonly 'admin.testParticipants.dialog.branch': "Branch";
|
|
1657
|
+
readonly 'admin.testParticipants.dialog.examInfo': "Exam Information";
|
|
1658
|
+
readonly 'admin.testParticipants.dialog.contest': "Contest";
|
|
1659
|
+
readonly 'admin.testParticipants.dialog.exam': "Exam";
|
|
1660
|
+
readonly 'admin.testParticipants.dialog.lastAttempt': "Last Attempt";
|
|
1661
|
+
readonly 'admin.testParticipants.dialog.bestScore': "Best Score";
|
|
1662
|
+
readonly 'admin.testParticipants.dialog.passRate': "Pass Rate";
|
|
1663
|
+
readonly 'admin.testParticipants.dialog.totalAttempts': "Total Attempts";
|
|
1664
|
+
readonly 'admin.testParticipants.dialog.historyTitle': "Attempt History";
|
|
1665
|
+
readonly 'admin.testParticipants.dialog.col.attempt': "Attempt";
|
|
1666
|
+
readonly 'admin.testParticipants.dialog.col.score': "Score";
|
|
1667
|
+
readonly 'admin.testParticipants.dialog.col.rate': "Rate";
|
|
1668
|
+
readonly 'admin.testParticipants.dialog.col.status': "Status";
|
|
1669
|
+
readonly 'admin.testParticipants.dialog.col.startTime': "Start Time";
|
|
1670
|
+
readonly 'admin.testParticipants.dialog.col.submitTime': "Submit Time";
|
|
1671
|
+
readonly 'admin.testParticipants.dialog.noAttempts': "No attempt data available.";
|
|
1672
|
+
readonly 'admin.testParticipants.status.inProgress': "In Progress";
|
|
1673
|
+
readonly 'admin.testParticipants.status.submitted': "Submitted";
|
|
1674
|
+
readonly 'admin.testParticipants.status.graded': "Graded";
|
|
1675
|
+
readonly 'admin.testParticipants.status.published': "Published";
|
|
1676
|
+
readonly 'admin.roles.title': "Role Management";
|
|
1677
|
+
readonly 'admin.roles.subtitle': "Manage roles and permissions in the system";
|
|
1678
|
+
readonly 'admin.roles.table.title': "Role List";
|
|
1679
|
+
readonly 'admin.roles.table.showing': "Showing {count} roles";
|
|
1680
|
+
readonly 'admin.roles.table.empty': "No roles found";
|
|
1681
|
+
readonly 'admin.roles.table.loading': "Loading...";
|
|
1682
|
+
readonly 'admin.roles.table.addRole': "Create new role";
|
|
1683
|
+
readonly 'admin.roles.col.name': "Role name";
|
|
1684
|
+
readonly 'admin.roles.col.slug': "Slug";
|
|
1685
|
+
readonly 'admin.roles.col.level': "Level";
|
|
1686
|
+
readonly 'admin.roles.col.permCount': "Permissions";
|
|
1687
|
+
readonly 'admin.roles.col.type': "Type";
|
|
1688
|
+
readonly 'admin.roles.col.actions': "Actions";
|
|
1689
|
+
readonly 'admin.roles.filter.searchPlaceholder': "Search by name or slug...";
|
|
1690
|
+
readonly 'admin.roles.filter.allLevels': "All levels";
|
|
1691
|
+
readonly 'admin.roles.level.system': "System";
|
|
1692
|
+
readonly 'admin.roles.level.branch': "Branch";
|
|
1693
|
+
readonly 'admin.roles.type.system': "System";
|
|
1694
|
+
readonly 'admin.roles.type.custom': "Custom";
|
|
1695
|
+
readonly 'admin.role.create.title': "Create new role";
|
|
1696
|
+
readonly 'admin.role.create.subtitle': "Create a custom role for the system";
|
|
1697
|
+
readonly 'admin.role.create.success': "Role created successfully";
|
|
1698
|
+
readonly 'admin.role.create.submit': "Create role";
|
|
1699
|
+
readonly 'admin.role.create.submitting': "Creating...";
|
|
1700
|
+
readonly 'admin.role.field.name': "Role name";
|
|
1701
|
+
readonly 'admin.role.field.slug': "Slug";
|
|
1702
|
+
readonly 'admin.role.field.slugHint': "Lowercase letters, numbers, underscores and hyphens only";
|
|
1703
|
+
readonly 'admin.role.field.level': "Level";
|
|
1704
|
+
readonly 'admin.role.field.description': "Description";
|
|
1705
|
+
readonly 'admin.role.field.portalType': "Belongs to portal";
|
|
1706
|
+
readonly 'admin.role.field.portalTypeHint': "Select the portal this role will have access to";
|
|
1707
|
+
readonly 'admin.role.field.portal.admin': "Admin Portal";
|
|
1708
|
+
readonly 'admin.role.field.portal.adminDesc': "System, exam & user management";
|
|
1709
|
+
readonly 'admin.role.field.portal.teacher': "Teacher Portal";
|
|
1710
|
+
readonly 'admin.role.field.portal.teacherDesc': "Class management & grading";
|
|
1711
|
+
readonly 'admin.role.field.portal.student': "Student Portal";
|
|
1712
|
+
readonly 'admin.role.field.portal.studentDesc': "Online exams & results";
|
|
1713
|
+
readonly 'admin.role.delete.title': "Delete role";
|
|
1714
|
+
readonly 'admin.role.delete.desc': "Are you sure you want to delete the role \"{name}\"? This action cannot be undone.";
|
|
1715
|
+
readonly 'admin.role.delete.confirm': "Delete role";
|
|
1716
|
+
readonly 'admin.role.delete.success': "Role \"{name}\" deleted";
|
|
1717
|
+
readonly 'admin.role.delete.cannotSystem': "Cannot delete a system role";
|
|
1718
|
+
readonly 'admin.role.backToList': "Back to list";
|
|
1719
|
+
readonly 'admin.role.info.title': "Role information";
|
|
1720
|
+
readonly 'admin.role.info.edit': "Edit";
|
|
1721
|
+
readonly 'admin.role.info.save': "Save";
|
|
1722
|
+
readonly 'admin.role.info.cancel': "Cancel";
|
|
1723
|
+
readonly 'admin.role.update.success': "Role updated successfully";
|
|
1724
|
+
readonly 'admin.role.permissions.title': "Permissions";
|
|
1725
|
+
readonly 'admin.role.permissions.showing': "{selected}/{total} permissions selected";
|
|
1726
|
+
readonly 'admin.role.permissions.save': "Save changes";
|
|
1727
|
+
readonly 'admin.role.permissions.saving': "Saving...";
|
|
1728
|
+
readonly 'admin.role.permissions.saveSuccess': "Permissions updated successfully";
|
|
1729
|
+
readonly 'admin.role.permissions.systemWarning': "This is a system role. Permissions cannot be edited.";
|
|
1730
|
+
readonly 'admin.role.permissions.selectAll': "Select all";
|
|
1731
|
+
readonly 'admin.role.permissions.unsavedChanges': "{count} unsaved changes";
|
|
1732
|
+
readonly 'admin.user.roles.title': "Assigned roles";
|
|
1733
|
+
readonly 'admin.user.roles.assign': "Assign role";
|
|
1734
|
+
readonly 'admin.user.roles.empty': "No roles assigned yet";
|
|
1735
|
+
readonly 'admin.user.roles.col.role': "Role";
|
|
1736
|
+
readonly 'admin.user.roles.col.branch': "Branch";
|
|
1737
|
+
readonly 'admin.user.roles.col.assignedAt': "Assigned date";
|
|
1738
|
+
readonly 'admin.user.roles.col.assignedBy': "Assigned by";
|
|
1739
|
+
readonly 'admin.user.roles.col.actions': "Actions";
|
|
1740
|
+
readonly 'admin.user.roles.sessionCacheInfo': "Role changes will take effect after the user logs in again.";
|
|
1741
|
+
readonly 'admin.user.role.assign.title': "Assign role";
|
|
1742
|
+
readonly 'admin.user.role.assign.desc': "Select a role and branch to assign to the user";
|
|
1743
|
+
readonly 'admin.user.role.assign.roleLabel': "Role";
|
|
1744
|
+
readonly 'admin.user.role.assign.rolePlaceholder': "Select a role";
|
|
1745
|
+
readonly 'admin.user.role.assign.branchLabel': "Branch";
|
|
1746
|
+
readonly 'admin.user.role.assign.branchPlaceholder': "Select a branch";
|
|
1747
|
+
readonly 'admin.user.role.assign.submit': "Assign role";
|
|
1748
|
+
readonly 'admin.user.role.assign.success': "Role \"{role}\" assigned successfully";
|
|
1749
|
+
readonly 'admin.user.role.remove.title': "Remove role";
|
|
1750
|
+
readonly 'admin.user.role.remove.desc': "Are you sure you want to remove the role \"{role}\" from this user?";
|
|
1751
|
+
readonly 'admin.user.role.remove.confirm': "Remove role";
|
|
1752
|
+
readonly 'admin.user.role.remove.success': "Role \"{role}\" removed successfully";
|
|
1753
|
+
readonly 'admin.templates.title': "Exam Template Management";
|
|
1754
|
+
readonly 'admin.templates.subtitle': "View, import, export, and delete exam templates";
|
|
1755
|
+
readonly 'admin.templates.table.title': "Template List";
|
|
1756
|
+
readonly 'admin.templates.searchPlaceholder': "Search templates";
|
|
1757
|
+
readonly 'admin.templates.table.empty': "No templates found";
|
|
1758
|
+
readonly 'admin.templates.table.loading': "Loading templates...";
|
|
1759
|
+
readonly 'admin.templates.table.showing': "Showing {count} templates";
|
|
1760
|
+
readonly 'admin.templates.col.title': "Title";
|
|
1761
|
+
readonly 'admin.templates.col.subTitle': "Subtitle";
|
|
1762
|
+
readonly 'admin.templates.col.examLevel': "Level";
|
|
1763
|
+
readonly 'admin.templates.col.theme': "Theme";
|
|
1764
|
+
readonly 'admin.templates.col.totalParts': "Parts";
|
|
1765
|
+
readonly 'admin.templates.col.totalQuestions': "Questions";
|
|
1766
|
+
readonly 'admin.templates.col.createdBy': "Created By";
|
|
1767
|
+
readonly 'admin.templates.col.createdAt': "Created";
|
|
1768
|
+
readonly 'admin.templates.col.updatedAt': "Updated";
|
|
1769
|
+
readonly 'admin.templates.col.examCount': "Exams";
|
|
1770
|
+
readonly 'admin.templates.col.actions': "Actions";
|
|
1771
|
+
readonly 'admin.templates.filter.searchPlaceholder': "Search by title...";
|
|
1772
|
+
readonly 'admin.templates.action.view': "View details";
|
|
1773
|
+
readonly 'admin.templates.action.export': "Export";
|
|
1774
|
+
readonly 'admin.templates.action.delete': "Delete";
|
|
1775
|
+
readonly 'admin.templates.action.import': "Import Template";
|
|
1776
|
+
readonly 'admin.templates.action.exporting': "Exporting...";
|
|
1777
|
+
readonly 'admin.templates.export.success': "Template exported successfully";
|
|
1778
|
+
readonly 'admin.templates.export.error': "Failed to export template";
|
|
1779
|
+
readonly 'admin.templates.import.success': "Template imported successfully";
|
|
1780
|
+
readonly 'admin.templates.import.error': "Failed to import template";
|
|
1781
|
+
readonly 'admin.templates.import.invalidJson': "Invalid JSON file. Please check the file format.";
|
|
1782
|
+
readonly 'admin.templates.import.invalidFile': "Please select a valid .json file.";
|
|
1783
|
+
readonly 'admin.templates.import.invalidFormat': "Invalid template format. The file must contain title and parts fields.";
|
|
1784
|
+
readonly 'admin.templates.import.parseError': "Failed to parse JSON file. Please check the file content.";
|
|
1785
|
+
readonly 'admin.templates.import.readError': "Failed to read file. Please try again.";
|
|
1786
|
+
readonly 'admin.templates.import.title': "Import Template";
|
|
1787
|
+
readonly 'admin.templates.import.desc': "Select a JSON file previously exported from the system. If a template with the same ID already exists, it will be replaced.";
|
|
1788
|
+
readonly 'admin.templates.import.selectFile': "Select JSON file";
|
|
1789
|
+
readonly 'admin.templates.import.submit': "Import";
|
|
1790
|
+
readonly 'admin.templates.import.submitting': "Importing...";
|
|
1791
|
+
readonly 'admin.templates.delete.title': "Delete Template";
|
|
1792
|
+
readonly 'admin.templates.delete.desc': "Are you sure you want to delete the template \"{title}\"? This action cannot be undone.";
|
|
1793
|
+
readonly 'admin.templates.delete.confirm': "Delete template";
|
|
1794
|
+
readonly 'admin.templates.delete.success': "Template \"{title}\" deleted successfully";
|
|
1795
|
+
readonly 'admin.templates.detail.title': "Template Details";
|
|
1796
|
+
readonly 'admin.templates.detail.back': "Back to list";
|
|
1797
|
+
readonly 'admin.templates.detail.jsonView': "JSON Content";
|
|
1798
|
+
readonly 'admin.templates.detail.info': "General Information";
|
|
1799
|
+
readonly 'admin.templates.detail.parts': "Parts ({count})";
|
|
1800
|
+
readonly 'admin.templates.detail.copyJson': "Copy JSON";
|
|
1801
|
+
readonly 'admin.templates.detail.jsonCopied': "JSON copied to clipboard";
|
|
1802
|
+
readonly 'admin.templates.create.title': "Create Template";
|
|
1803
|
+
readonly 'admin.templates.create.desc': "Fill in the template details below. Only the Parts field requires JSON input.";
|
|
1804
|
+
readonly 'admin.templates.create.placeholder': "Paste JSON content here...\n\n{\n \"title\": \"...\",\n \"examLevel\": \"...\",\n \"parts\": [...]\n}";
|
|
1805
|
+
readonly 'admin.templates.create.submit': "Create Template";
|
|
1806
|
+
readonly 'admin.templates.create.creating': "Creating...";
|
|
1807
|
+
readonly 'admin.templates.create.success': "Template created successfully";
|
|
1808
|
+
readonly 'admin.templates.create.emptyJson': "Please paste JSON content.";
|
|
1809
|
+
readonly 'admin.templates.create.invalidFormat': "Invalid template format. The JSON must contain title, examLevel and parts fields.";
|
|
1810
|
+
readonly 'admin.templates.create.parseError': "Invalid JSON. Please check the content and try again.";
|
|
1811
|
+
readonly 'admin.templates.create.validJson': "Valid JSON — ready to create";
|
|
1812
|
+
readonly 'admin.templates.action.create': "Create Template";
|
|
1813
|
+
readonly 'admin.templates.action.edit': "Edit";
|
|
1814
|
+
readonly 'admin.templates.form.titleLabel': "Title";
|
|
1815
|
+
readonly 'admin.templates.form.titlePlaceholder': "Enter template title...";
|
|
1816
|
+
readonly 'admin.templates.form.titleRequired': "Title is required.";
|
|
1817
|
+
readonly 'admin.templates.form.subTitleLabel': "Subtitle";
|
|
1818
|
+
readonly 'admin.templates.form.subTitlePlaceholder': "Enter subtitle (optional)...";
|
|
1819
|
+
readonly 'admin.templates.form.descriptionLabel': "Description";
|
|
1820
|
+
readonly 'admin.templates.form.descriptionPlaceholder': "Enter description (optional)...";
|
|
1821
|
+
readonly 'admin.templates.form.examLevelLabel': "Exam Level (CEFR)";
|
|
1822
|
+
readonly 'admin.templates.form.examLevelPlaceholder': "Select exam level...";
|
|
1823
|
+
readonly 'admin.templates.form.totalQuestionsLabel': "Total Questions";
|
|
1824
|
+
readonly 'admin.templates.form.totalPartsLabel': "Total Parts";
|
|
1825
|
+
readonly 'admin.templates.form.partsLabel': "Parts (JSON)";
|
|
1826
|
+
readonly 'admin.templates.form.partsPlaceholder': "[\n {\n \"partNumber\": 1,\n \"title\": \"Part 1\",\n \"questionCount\": 5,\n ...\n }\n]";
|
|
1827
|
+
readonly 'admin.templates.form.partsRequired': "Parts JSON is required and must be a non-empty array.";
|
|
1828
|
+
readonly 'admin.templates.form.partsNotArray': "Parts must be a JSON array.";
|
|
1829
|
+
readonly 'admin.templates.form.partsParseError': "Invalid JSON. Please check the content.";
|
|
1830
|
+
readonly 'admin.templates.form.validJson': "Valid JSON";
|
|
1831
|
+
readonly 'admin.templates.form.themeLabel': "Theme";
|
|
1832
|
+
readonly 'admin.templates.form.themePlaceholder': "Select theme...";
|
|
1833
|
+
readonly 'admin.templates.form.themeNone': "None";
|
|
1834
|
+
readonly 'admin.templates.edit.title': "Edit Template";
|
|
1835
|
+
readonly 'admin.templates.edit.desc': "Modify the template details below. Only the Parts field requires JSON input.";
|
|
1836
|
+
readonly 'admin.templates.edit.submit': "Save Changes";
|
|
1837
|
+
readonly 'admin.templates.edit.saving': "Saving...";
|
|
1838
|
+
readonly 'admin.templates.edit.success': "Template updated successfully";
|
|
1839
|
+
readonly 'admin.templates.edit.loadError': "Failed to load template data for editing";
|
|
1840
|
+
readonly 'bulkRooms.sidebar.label': "Bulk Exam Rooms";
|
|
1841
|
+
readonly 'bulkRooms.page.title': "Bulk Exam Room Provisioning";
|
|
1842
|
+
readonly 'bulkRooms.page.description': "Create many exam rooms for a contest across multiple branches in a single operation.";
|
|
1843
|
+
readonly 'bulkRooms.actions.next': "Next";
|
|
1844
|
+
readonly 'bulkRooms.actions.back': "Back";
|
|
1845
|
+
readonly 'bulkRooms.actions.preview': "Preview";
|
|
1846
|
+
readonly 'bulkRooms.actions.commit': "Create rooms";
|
|
1847
|
+
readonly 'bulkRooms.actions.confirm': "Confirm";
|
|
1848
|
+
readonly 'bulkRooms.actions.cancel': "Cancel";
|
|
1849
|
+
readonly 'bulkRooms.actions.reset': "Start over";
|
|
1850
|
+
readonly 'bulkRooms.actions.close': "Close";
|
|
1851
|
+
readonly 'bulkRooms.steps.contest': "Pick contest";
|
|
1852
|
+
readonly 'bulkRooms.steps.branches': "Pick branches";
|
|
1853
|
+
readonly 'bulkRooms.steps.config': "Configure";
|
|
1854
|
+
readonly 'bulkRooms.steps.preview': "Preview";
|
|
1855
|
+
readonly 'bulkRooms.steps.commit': "Create rooms";
|
|
1856
|
+
readonly 'bulkRooms.steps.indicator': "Step {current} of {total}";
|
|
1857
|
+
readonly 'bulkRooms.contest.title': "Pick a contest";
|
|
1858
|
+
readonly 'bulkRooms.contest.description': "Choose the contest the new rooms will belong to.";
|
|
1859
|
+
readonly 'bulkRooms.contest.placeholder': "Search contests by name...";
|
|
1860
|
+
readonly 'bulkRooms.contest.empty': "No contests found.";
|
|
1861
|
+
readonly 'bulkRooms.contest.selected': "Selected: {name}";
|
|
1862
|
+
readonly 'bulkRooms.branches.title': "Pick branches";
|
|
1863
|
+
readonly 'bulkRooms.branches.description': "Select one or more branches to provision rooms for.";
|
|
1864
|
+
readonly 'bulkRooms.branches.placeholder': "Choose branches...";
|
|
1865
|
+
readonly 'bulkRooms.branches.empty': "No branches available.";
|
|
1866
|
+
readonly 'bulkRooms.branches.selectedCount': "{count} branches selected";
|
|
1867
|
+
readonly 'bulkRooms.branches.sourceEbm': "Branch list is loaded from the EBM system.";
|
|
1868
|
+
readonly 'bulkRooms.branches.selectAll': "Select all branches";
|
|
1869
|
+
readonly 'bulkRooms.branches.selectedSummary': "{selected}/{total} branches selected";
|
|
1870
|
+
readonly 'bulkRooms.config.title': "Per-branch configuration";
|
|
1871
|
+
readonly 'bulkRooms.config.description': "Configure how rooms are generated for each selected branch.";
|
|
1872
|
+
readonly 'bulkRooms.config.mode.label': "Provisioning mode";
|
|
1873
|
+
readonly 'bulkRooms.config.mode.AUTO_CLASS': "Auto from classes";
|
|
1874
|
+
readonly 'bulkRooms.config.mode.MANUAL': "Manual";
|
|
1875
|
+
readonly 'bulkRooms.config.mode.AUTO_CLASS.help': "Generate one room per active class room of the branch.";
|
|
1876
|
+
readonly 'bulkRooms.config.mode.MANUAL.help': "Define rooms and student codes manually.";
|
|
1877
|
+
readonly 'bulkRooms.config.onlyTeacher.label': "Add branch teachers to the rooms";
|
|
1878
|
+
readonly 'bulkRooms.config.onlyTeacher.help': "If checked, all teachers of the branch will be added. If unchecked, no teachers will be added.";
|
|
1879
|
+
readonly 'bulkRooms.config.nameFormat.label': "Room name format";
|
|
1880
|
+
readonly 'bulkRooms.config.nameFormat.placeholder': "{branchCode} - {className}";
|
|
1881
|
+
readonly 'bulkRooms.config.codeFormat.label': "Room code format (optional)";
|
|
1882
|
+
readonly 'bulkRooms.config.codeFormat.placeholder': "{branchCode}_ROOM_{index}";
|
|
1883
|
+
readonly 'bulkRooms.config.tokens.help': "Supported tokens: {tokens}";
|
|
1884
|
+
readonly 'bulkRooms.config.classEbmIds.label': "Class room ids (optional)";
|
|
1885
|
+
readonly 'bulkRooms.config.classEbmIds.placeholder': "Comma-separated class room ids";
|
|
1886
|
+
readonly 'bulkRooms.config.classEbmIds.help': "Leave empty to use all active class rooms of the branch.";
|
|
1887
|
+
readonly 'bulkRooms.config.rooms.title': "Rooms (manual mode)";
|
|
1888
|
+
readonly 'bulkRooms.config.rooms.add': "Add room";
|
|
1889
|
+
readonly 'bulkRooms.config.rooms.remove': "Remove";
|
|
1890
|
+
readonly 'bulkRooms.config.rooms.empty': "No rooms yet. Click \"Add room\" to start.";
|
|
1891
|
+
readonly 'bulkRooms.config.studentCodes.label': "Student codes (optional, one per line)";
|
|
1892
|
+
readonly 'bulkRooms.config.studentCodes.placeholder': "HS001\nHS002\n...";
|
|
1893
|
+
readonly 'bulkRooms.config.studentCodes.help': "Missing users will be created on commit (default password = student code).";
|
|
1894
|
+
readonly 'bulkRooms.preview.title': "Preview";
|
|
1895
|
+
readonly 'bulkRooms.preview.description': "Review the planned rooms before confirming.";
|
|
1896
|
+
readonly 'bulkRooms.preview.loading': "Building plan...";
|
|
1897
|
+
readonly 'bulkRooms.preview.error': "Failed to build preview.";
|
|
1898
|
+
readonly 'bulkRooms.preview.requiresForm': "Select contest, branches and complete config to enable preview.";
|
|
1899
|
+
readonly 'bulkRooms.preview.summary.totalRooms': "Total rooms";
|
|
1900
|
+
readonly 'bulkRooms.preview.summary.totalStaff': "Total staff";
|
|
1901
|
+
readonly 'bulkRooms.preview.summary.totalStudents': "Total students";
|
|
1902
|
+
readonly 'bulkRooms.preview.summary.totalNewUsers': "New users to create";
|
|
1903
|
+
readonly 'bulkRooms.preview.summary.totalNewStudents': "New student accounts";
|
|
1904
|
+
readonly 'bulkRooms.preview.summary.totalNewTeachers': "New teacher accounts";
|
|
1905
|
+
readonly 'bulkRooms.preview.table.branch': "Branch";
|
|
1906
|
+
readonly 'bulkRooms.preview.table.room': "Room name";
|
|
1907
|
+
readonly 'bulkRooms.preview.table.code': "Room code";
|
|
1908
|
+
readonly 'bulkRooms.preview.table.staff': "Staff";
|
|
1909
|
+
readonly 'bulkRooms.preview.table.students': "Students";
|
|
1910
|
+
readonly 'bulkRooms.preview.table.newUsers': "New users";
|
|
1911
|
+
readonly 'bulkRooms.preview.table.roomName': "Room name";
|
|
1912
|
+
readonly 'bulkRooms.preview.table.roomCode': "Room code";
|
|
1913
|
+
readonly 'bulkRooms.preview.table.staffCount': "Staff";
|
|
1914
|
+
readonly 'bulkRooms.preview.table.studentCount': "Students";
|
|
1915
|
+
readonly 'bulkRooms.preview.table.roomCount': "{count} rooms";
|
|
1916
|
+
readonly 'bulkRooms.preview.table.noRooms': "No rooms for this branch.";
|
|
1917
|
+
readonly 'bulkRooms.preview.table.showMore': "Show {count} more rooms";
|
|
1918
|
+
readonly 'bulkRooms.preview.table.collapse': "Collapse";
|
|
1919
|
+
readonly 'bulkRooms.preview.empty': "No rooms in the plan.";
|
|
1920
|
+
readonly 'bulkRooms.commit.dialog.title': "Confirm bulk provisioning";
|
|
1921
|
+
readonly 'bulkRooms.commit.dialog.description': "You are about to create {rooms} rooms and {users} new users. This action cannot be undone.";
|
|
1922
|
+
readonly 'bulkRooms.commit.dialog.warning': "This will create rooms and users in the database and cannot be undone.";
|
|
1923
|
+
readonly 'bulkRooms.commit.dialog.confirmCheckbox': "I have reviewed the preview and confirm creating these rooms.";
|
|
1924
|
+
readonly 'bulkRooms.commit.dialog.committing': "Creating...";
|
|
1925
|
+
readonly 'bulkRooms.commit.success.title': "Provisioning succeeded";
|
|
1926
|
+
readonly 'bulkRooms.commit.success.description': "Created {rooms} rooms, {participants} participants and {users} new users.";
|
|
1927
|
+
readonly 'bulkRooms.commit.success.rooms': "Rooms created";
|
|
1928
|
+
readonly 'bulkRooms.commit.success.participants': "Participants";
|
|
1929
|
+
readonly 'bulkRooms.commit.success.users': "New users";
|
|
1930
|
+
readonly 'bulkRooms.commit.error.title': "Provisioning failed";
|
|
1931
|
+
readonly 'bulkRooms.commit.error.description': "Some branches failed to provision. See error details below.";
|
|
1932
|
+
readonly 'bulkRooms.commit.error.list': "Error list";
|
|
1933
|
+
readonly 'bulkRooms.commit.error.partial': "{count} branch(es) reported errors.";
|
|
1934
|
+
readonly 'bulkRooms.commit.error.branch': "Branch {branchId} (EBM #{ebmBranchId}): {reason}";
|
|
1935
|
+
};
|
|
1936
|
+
export default admin;
|
|
1937
|
+
//# sourceMappingURL=admin.d.ts.map
|