diff --git a/Changelog.md b/Changelog.md index 70d212a87..2c40a1f0a 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,6 +1,11 @@ Drag and Drop XBlock changelog ============================== +Version 2.5.0 (2022-10-13) +--------------------------- + +* Make the "Show Answer" condition customizable (like in the Problem XBlock). + Version 2.4.2 (2022-10-13) --------------------------- diff --git a/README.md b/README.md index 430a62557..1db4078d7 100644 --- a/README.md +++ b/README.md @@ -104,9 +104,15 @@ There are two problem modes available: * **Standard**: In this mode, the learner gets immediate feedback on each attempt to place an item, and the number of attempts is not limited. * **Assessment**: In this mode, the learner places all items on the board and - then clicks a "Submit" button to get feedback. The number of attempts can be - limited. When all attempts are used, the learner can click a "Show Answer" - button to temporarily place items on their correct drop zones. + then clicks a "Submit" button to get feedback. + * The number of attempts can be limited. + * The learner can click a "Show Answer" button to temporarily place items on their correct drop zones. + You can select one of the pre-defined conditions for displaying this button. They work in the same way as in the + Problem XBlock, so you can read about each them in the [Problem Component documentation][capa-show-answer]. + By default, the value from the course "Advanced Settings" configuration is used. If you have modified this for + a specific XBlock but want to switch back to using the default value, select the "Default" option. + +[capa-show-answer]: https://edx.readthedocs.io/projects/open-edx-building-and-running-a-course/en/latest/course_components/create_problem.html#show-answer ![Drop zone edit](doc/img/edit-view-zones.png) diff --git a/drag_and_drop_v2/drag_and_drop_v2.py b/drag_and_drop_v2/drag_and_drop_v2.py index a8cde21ce..4dc31e0a4 100644 --- a/drag_and_drop_v2/drag_and_drop_v2.py +++ b/drag_and_drop_v2/drag_and_drop_v2.py @@ -29,7 +29,7 @@ from .default_data import DEFAULT_DATA from .utils import ( - Constants, DummyTranslationService, FeedbackMessage, + Constants, SHOWANSWER, DummyTranslationService, FeedbackMessage, FeedbackMessages, ItemStats, StateMigration, _clean_data, _ ) @@ -45,6 +45,7 @@ # pylint: disable=bad-continuation @XBlock.wants('settings') @XBlock.wants('replace_urls') +@XBlock.wants('user') # Using `needs` breaks the Course Outline page in Maple. @XBlock.needs('i18n') class DragAndDropBlock( ScorableXBlockMixin, @@ -133,6 +134,29 @@ class DragAndDropBlock( default=True, enforce_type=True, ) + showanswer = String( + display_name=_("Show answer"), + help=_("Defines when to show the answer to the problem. " + "A default value can be set in Advanced Settings. " + "To revert setting a custom value, choose the 'Default' option."), + scope=Scope.settings, + default=SHOWANSWER.FINISHED, + values=[ + {"display_name": _("Default"), "value": SHOWANSWER.DEFAULT}, + {"display_name": _("Always"), "value": SHOWANSWER.ALWAYS}, + {"display_name": _("Answered"), "value": SHOWANSWER.ANSWERED}, + {"display_name": _("Attempted or Past Due"), "value": SHOWANSWER.ATTEMPTED}, + {"display_name": _("Closed"), "value": SHOWANSWER.CLOSED}, + {"display_name": _("Finished"), "value": SHOWANSWER.FINISHED}, + {"display_name": _("Correct or Past Due"), "value": SHOWANSWER.CORRECT_OR_PAST_DUE}, + {"display_name": _("Past Due"), "value": SHOWANSWER.PAST_DUE}, + {"display_name": _("Never"), "value": SHOWANSWER.NEVER}, + {"display_name": _("After All Attempts"), "value": SHOWANSWER.AFTER_ALL_ATTEMPTS}, + {"display_name": _("After All Attempts or Correct"), "value": SHOWANSWER.AFTER_ALL_ATTEMPTS_OR_CORRECT}, + {"display_name": _("Attempted"), "value": SHOWANSWER.ATTEMPTED_NO_PAST_DUE}, + ], + enforce_type=True, + ) weight = Float( display_name=_("Problem Weight"), @@ -391,6 +415,7 @@ def items_without_answers(): "item_background_color": self.item_background_color or None, "item_text_color": self.item_text_color or None, "has_deadline_passed": self.has_submission_deadline_passed, + "answer_available": self.is_answer_available, # final feedback (data.feedback.finish) is not included - it may give away answers. } @@ -410,6 +435,7 @@ def studio_view(self, context): 'js_templates': js_templates, 'id_suffix': id_suffix, 'fields': self.fields, + 'showanswer_set': self._field_data.has(self, 'showanswer'), # If false, we're using an inherited value. 'self': self, 'data': six.moves.urllib.parse.quote(json.dumps(self.data)), } @@ -464,6 +490,10 @@ def studio_submit(self, submissions, suffix=''): self.display_name = submissions['display_name'] self.mode = submissions['mode'] self.max_attempts = submissions['max_attempts'] + if (showanswer := submissions['showanswer']) != self.showanswer: + self.showanswer = showanswer + if showanswer == SHOWANSWER.DEFAULT: + del self.showanswer self.show_title = submissions['show_title'] self.question_text = submissions['problem_text'] self.show_question_header = submissions['show_problem_header'] @@ -557,7 +587,7 @@ def do_attempt(self, data, suffix=''): # fields, either as an "input" (i.e. read value) or as output (i.e. set value) or both. As a result, # incorrect order of invocation causes issues: self._mark_complete_and_publish_grade() # must happen before _get_feedback - sets grade - correct = self._is_answer_correct() # must happen before manipulating item_state - reads item_state + correct = self.is_correct # must happen before manipulating item_state - reads item_state overall_feedback_msgs, misplaced_ids = self._get_feedback(include_item_feedback=True) @@ -575,7 +605,8 @@ def do_attempt(self, data, suffix=''): 'grade': self._get_weighted_earned_if_set(), 'misplaced_items': list(misplaced_ids), 'feedback': self._present_feedback(feedback_msgs), - 'overall_feedback': self._present_feedback(overall_feedback_msgs) + 'overall_feedback': self._present_feedback(overall_feedback_msgs), + "answer_available": self.is_answer_available, } @XBlock.json_handler @@ -606,17 +637,17 @@ def show_answer(self, data, suffix=''): Raises: * JsonHandlerError with 400 error code in standard mode. - * JsonHandlerError with 409 error code if there are still attempts left + * JsonHandlerError with 409 error code if the answer is unavailable. """ if self.mode != Constants.ASSESSMENT_MODE: raise JsonHandlerError( 400, self.i18n_service.gettext("show_answer handler should only be called for assessment mode") ) - if self.attempts_remain: + if not self.is_answer_available: raise JsonHandlerError( 409, - self.i18n_service.gettext("There are attempts remaining") + self.i18n_service.gettext("The answer is unavailable") ) answer = self._get_correct_state() @@ -693,6 +724,65 @@ def has_submission_deadline_passed(self): else: return False + @property + def closed(self): + """ + Is the student still allowed to submit answers? + """ + if not self.attempts_remain: + return True + if self.has_submission_deadline_passed: + return True + + return False + + @property + def is_attempted(self): + """ + Has the problem been attempted? + """ + return self.attempts > 0 + + @property + def is_finished(self): + """ + Returns True if answer is closed or answer is correct. + """ + return self.closed or self.is_correct + + @property + def is_answer_available(self): + """ + Is student allowed to see an answer? + """ + permission_functions = { + SHOWANSWER.NEVER: lambda: False, + SHOWANSWER.ATTEMPTED: lambda: self.is_attempted or self.has_submission_deadline_passed, + SHOWANSWER.ANSWERED: lambda: self.is_correct, + SHOWANSWER.CLOSED: lambda: self.closed, + SHOWANSWER.FINISHED: lambda: self.is_finished, + SHOWANSWER.CORRECT_OR_PAST_DUE: lambda: self.is_correct or self.has_submission_deadline_passed, + SHOWANSWER.PAST_DUE: lambda: self.has_submission_deadline_passed, + SHOWANSWER.ALWAYS: lambda: True, + SHOWANSWER.AFTER_ALL_ATTEMPTS: lambda: not self.attempts_remain, + SHOWANSWER.AFTER_ALL_ATTEMPTS_OR_CORRECT: lambda: not self.attempts_remain or self.is_correct, + SHOWANSWER.ATTEMPTED_NO_PAST_DUE: lambda: self.is_attempted, + } + + if self.mode != Constants.ASSESSMENT_MODE: + return False + + user_is_staff = False + if user_service := self.runtime.service(self, 'user'): + user_is_staff = user_service.get_current_user().opt_attrs.get(Constants.ATTR_KEY_USER_IS_STAFF) + + if self.showanswer not in [SHOWANSWER.NEVER, ''] and user_is_staff: + # Staff users can see the answer unless the problem explicitly prevents it. + return True + + check_permissions_function = permission_functions.get(self.showanswer, lambda: False) + return check_permissions_function() + @XBlock.handler def student_view_user_state(self, request, suffix=''): """ GET all user-specific data, and any applicable feedback """ @@ -819,7 +909,7 @@ def _drop_item_standard(self, item_attempt): return { 'correct': is_correct, 'grade': self._get_weighted_earned_if_set(), - 'finished': self._is_answer_correct(), + 'finished': self.is_correct, 'overall_feedback': self._present_feedback(overall_feedback), 'feedback': self._present_feedback([item_feedback]) } @@ -869,7 +959,7 @@ def _mark_complete_and_publish_grade(self): """ # pylint: disable=fixme # TODO: (arguable) split this method into "clean" functions (with no side effects and implicit state) - # This method implicitly depends on self.item_state (via _is_answer_correct and _learner_raw_score) + # This method implicitly depends on self.item_state (via is_correct and _learner_raw_score) # and also updates self.raw_earned if some conditions are met. As a result this method implies some order of # invocation: # * it should be called after learner-caused updates to self.item_state is applied @@ -880,7 +970,7 @@ def _mark_complete_and_publish_grade(self): # and help avoid bugs caused by invocation order violation in future. # There's no going back from "completed" status to "incomplete" - self.completed = self.completed or self._is_answer_correct() or not self.attempts_remain + self.completed = self.completed or self.is_correct or not self.attempts_remain current_raw_earned = self._learner_raw_score() # ... and from higher grade to lower @@ -987,9 +1077,10 @@ def _get_user_state(self): overall_feedback_msgs, __ = self._get_feedback() if self.mode == Constants.STANDARD_MODE: - is_finished = self._is_answer_correct() + is_finished = self.is_correct else: is_finished = not self.attempts_remain + return { 'items': item_state, 'finished': is_finished, @@ -1188,7 +1279,8 @@ def _answer_correctness(self): else: return self.SOLUTION_PARTIAL - def _is_answer_correct(self): + @property + def is_correct(self): """ Helper - checks if answer is correct diff --git a/drag_and_drop_v2/public/js/drag_and_drop.js b/drag_and_drop_v2/public/js/drag_and_drop.js index 254723e1e..27365f176 100644 --- a/drag_and_drop_v2/public/js/drag_and_drop.js +++ b/drag_and_drop_v2/public/js/drag_and_drop.js @@ -444,7 +444,7 @@ function DragAndDropTemplates(configuration) { var showAnswerButton = null; if (ctx.show_show_answer) { var options = { - disabled: ctx.showing_answer ? true : ctx.disable_show_answer_button, + disabled: !!ctx.showing_answer, spinner: ctx.show_answer_spinner }; showAnswerButton = sidebarButtonTemplate( @@ -1883,8 +1883,8 @@ function DragAndDropBlock(runtime, element, configuration) { state.grade = data.grade; state.feedback = data.feedback; state.overall_feedback = data.overall_feedback; + state.answer_available = data.answer_available; state.last_action_correct = data.correct; - if (attemptsRemain()) { data.misplaced_items.forEach(function(misplaced_item_id) { delete state.items[misplaced_item_id] @@ -1901,7 +1901,7 @@ function DragAndDropBlock(runtime, element, configuration) { }; var canSubmitAttempt = function() { - return Object.keys(state.items).length > 0 && isPastDue() && attemptsRemain() && !submittingLocation(); + return Object.keys(state.items).length > 0 && !isPastDue() && attemptsRemain() && !submittingLocation(); }; var canReset = function() { @@ -1921,16 +1921,17 @@ function DragAndDropBlock(runtime, element, configuration) { }; var isPastDue = function () { - return !configuration.has_deadline_passed; + return configuration.has_deadline_passed; }; - var canShowAnswer = function() { - return configuration.mode === DragAndDropBlock.ASSESSMENT_MODE && !attemptsRemain(); - }; var attemptsRemain = function() { return !configuration.max_attempts || configuration.max_attempts > state.attempts; }; + var canShowAnswer = function() { + if(state.answer_available === undefined) return configuration.answer_available; + return state.answer_available; + } var submittingLocation = function() { var result = false; @@ -2009,7 +2010,7 @@ function DragAndDropBlock(runtime, element, configuration) { problem_html: configuration.problem_text, show_problem_header: configuration.show_problem_header, show_submit_answer: configuration.mode == DragAndDropBlock.ASSESSMENT_MODE, - show_show_answer: configuration.mode == DragAndDropBlock.ASSESSMENT_MODE, + show_show_answer: canShowAnswer(), target_img_src: configuration.target_img_expanded_url, target_img_description: configuration.target_img_description, display_zone_labels: configuration.display_zone_labels, @@ -2026,7 +2027,6 @@ function DragAndDropBlock(runtime, element, configuration) { overall_feedback_messages: state.overall_feedback, explanation: state.explanation, disable_reset_button: !canReset(), - disable_show_answer_button: !canShowAnswer(), disable_submit_button: !canSubmitAttempt(), submit_spinner: state.submit_spinner, showing_answer: state.showing_answer, diff --git a/drag_and_drop_v2/public/js/drag_and_drop_edit.js b/drag_and_drop_v2/public/js/drag_and_drop_edit.js index 8485f47e7..05ee45d3b 100644 --- a/drag_and_drop_v2/public/js/drag_and_drop_edit.js +++ b/drag_and_drop_v2/public/js/drag_and_drop_edit.js @@ -265,6 +265,10 @@ function DragAndDropEditBlock(runtime, element, params) { $fbkTab .on('change', '.problem-mode', _fn.build.form.problem.toggleAssessmentSettings); + $fbkTab.on('change', '.showanswer', function () { + _fn.build.$el.feedback.form.find('.showanswer-inherited').hide(); + }); + $zoneTab .on('change', '.background-image-type input', _fn.build.form.zone.toggleAutozoneSettings) .on('click', '.add-zone', function(e) { @@ -725,6 +729,7 @@ function DragAndDropEditBlock(runtime, element, params) { 'display_name': $element.find('.display-name').val(), 'mode': $element.find(".problem-mode").val(), 'max_attempts': $element.find(".max-attempts").val(), + 'showanswer': $element.find(".showanswer").val(), 'show_title': $element.find('.show-title').is(':checked'), 'weight': $element.find('.weight').val(), 'problem_text': $element.find('.problem-text').val(), diff --git a/drag_and_drop_v2/public/js/translations/ar/text.js b/drag_and_drop_v2/public/js/translations/ar/text.js index d97da43e9..3bf840bad 100644 --- a/drag_and_drop_v2/public/js/translations/ar/text.js +++ b/drag_and_drop_v2/public/js/translations/ar/text.js @@ -160,7 +160,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "\u0644\u0648\u0646 \u0627\u0644\u062e\u0644\u0641\u064a\u0629 \u0644\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0633\u062d\u0628 \u0641\u064a \u0627\u0644\u0645\u0633\u0623\u0644\u0629 (\u0639\u0644\u0649 \u0633\u0628\u064a\u0644 \u0627\u0644\u0645\u062b\u0627\u0644: \"\u0623\u0632\u0631\u0642\" \u0623\u0648 '#0000ff').", "The description of the problem or instructions shown to the learner.": "\u0648\u0635\u0641 \u0627\u0644\u0645\u0633\u0623\u0644\u0629 \u0623\u0648 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u0645\u0648\u0636\u062d\u0629 \u0644\u0644\u0637\u0627\u0644\u0628.", "The title of the drag and drop problem. The title is displayed to learners.": "\u0639\u0646\u0648\u0627\u0646 \u0645\u0633\u0623\u0644\u0629 \u0627\u0644\u0633\u062d\u0628 \u0648\u0627\u0644\u0625\u0633\u0642\u0627\u0637. \u064a\u0638\u0647\u0631 \u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0644\u0644\u0637\u0644\u0627\u0628.", - "There are attempts remaining": "\u0647\u0646\u0627\u0643 \u0645\u062d\u0627\u0648\u0644\u0627\u062a \u0645\u062a\u0628\u0642\u064a\u0629", "There was an error with your form.": "\u0644\u0642\u062f \u0643\u0627\u0646 \u0647\u0646\u0627\u0643 \u062e\u0637\u0623 \u0641\u064a \u0627\u0633\u062a\u0645\u0627\u0631\u062a\u0643.", "This is a screen reader-friendly problem.": "\u0647\u0630\u0647 \u0627\u0644\u0645\u0633\u0627\u0644\u0629 \u062a\u0639\u0645\u0644 \u0639\u0644\u0649 \u0642\u0627\u0631\u0626 \u0627\u0644\u0634\u0627\u0634\u0629 \"Screen reader\".", "This setting limits the number of items that can be dropped into a single zone.": "\u064a\u062d\u062f\u062f \u0647\u0630\u0627 \u0627\u0644\u0627\u0639\u062f\u0627\u062f \u0627\u0644\u062d\u062f \u0627\u0644\u0627\u0639\u0644\u0649 \u0645\u0646 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0630\u064a \u064a\u0645\u0643\u0646 \u0627\u0636\u0627\u0641\u062a\u0647\u0627 \u0627\u0644\u0649 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u0648\u0627\u062d\u062f\u0629.", diff --git a/drag_and_drop_v2/public/js/translations/de/text.js b/drag_and_drop_v2/public/js/translations/de/text.js index c74883498..8035c647f 100644 --- a/drag_and_drop_v2/public/js/translations/de/text.js +++ b/drag_and_drop_v2/public/js/translations/de/text.js @@ -146,7 +146,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "Die Hintergrundfarbe der beweglichen Auswahlm\u00f6glichkeit bei der Fragestellung (Beispiel \"blau\" oder \"#0000ff\" )", "The description of the problem or instructions shown to the learner.": "Die Beschreibung des Problems oder die Anweisungen werden dem Lernenden angezeigt.", "The title of the drag and drop problem. The title is displayed to learners.": "Dies ist der Titel der Drag&Drop Aufgabe. Dieser Titel wird den Teilnehmern angezeigt.", - "There are attempts remaining": "Sie haben noch weitere Versuche ", "There was an error with your form.": "Es gab einen formalen Fehler.", "This is a screen reader-friendly problem.": "Dies ist eine Screen-Reader kompatible Aufgabe", "This setting limits the number of items that can be dropped into a single zone.": "Mit dieser Einstellung k\u00f6nnen Sie die Anzahl der Elemente limitieren, welche in den einzelnen Ablagebereichen abgelegt werden k\u00f6nnen.", diff --git a/drag_and_drop_v2/public/js/translations/eo/text.js b/drag_and_drop_v2/public/js/translations/eo/text.js index e76cebdda..002c7b0e8 100644 --- a/drag_and_drop_v2/public/js/translations/eo/text.js +++ b/drag_and_drop_v2/public/js/translations/eo/text.js @@ -25,15 +25,22 @@ var newcatalog = { "\n Please provide a description of the image for non-visual users.\n The description should provide sufficient information to allow anyone\n to solve the problem even without seeing the image.\n ": "\n Pl\u00e9\u00e4s\u00e9 pr\u00f6v\u00efd\u00e9 \u00e4 d\u00e9s\u00e7r\u00efpt\u00ef\u00f6n \u00f6f th\u00e9 \u00efm\u00e4g\u00e9 f\u00f6r n\u00f6n-v\u00efs\u00fc\u00e4l \u00fcs\u00e9rs.\n Th\u00e9 d\u00e9s\u00e7r\u00efpt\u00ef\u00f6n sh\u00f6\u00fcld pr\u00f6v\u00efd\u00e9 s\u00fcff\u00ef\u00e7\u00ef\u00e9nt \u00efnf\u00f6rm\u00e4t\u00ef\u00f6n t\u00f6 \u00e4ll\u00f6w \u00e4n\u00fd\u00f6n\u00e9\n t\u00f6 s\u00f6lv\u00e9 th\u00e9 pr\u00f6\u00dfl\u00e9m \u00e9v\u00e9n w\u00efth\u00f6\u00fct s\u00e9\u00e9\u00efng th\u00e9 \u00efm\u00e4g\u00e9.\n \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1\u2202\u03b9\u03c1\u03b9\u0455\u03b9\u00a2\u03b9\u03b7g \u0454\u0142\u03b9\u0442, \u0455\u0454\u2202 \u2202\u03c3 \u0454\u03b9\u03c5\u0455\u043c\u03c3\u2202 \u0442\u0454\u043c\u03c1\u03c3\u044f \u03b9\u03b7\u00a2\u03b9\u2202\u03b9\u2202\u03c5\u03b7\u0442 \u03c5\u0442 \u0142\u03b1\u0432\u03c3\u044f\u0454 \u0454\u0442 \u2202\u03c3\u0142\u03c3\u044f\u0454 \u043c\u03b1g\u03b7\u03b1 \u03b1\u0142\u03b9q\u03c5\u03b1. \u03c5\u0442 \u0454\u03b7\u03b9\u043c \u03b1\u2202 \u043c\u03b9\u03b7\u03b9\u043c \u03bd\u0454\u03b7\u03b9\u03b1\u043c, q\u03c5\u03b9\u0455 \u03b7\u03c3\u0455\u0442\u044f\u03c5\u2202 \u0454\u03c7\u0454\u044f\u00a2\u03b9\u0442\u03b1\u0442\u03b9\u03c3\u03b7 \u03c5\u0142\u0142\u03b1\u043c\u00a2#", + "(inherited from Advanced Settings)": "(\u00efnh\u00e9r\u00eft\u00e9d fr\u00f6m \u00c0dv\u00e4n\u00e7\u00e9d S\u00e9tt\u00efngs) \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442#", ", draggable": ", dr\u00e4gg\u00e4\u00dfl\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f #", ", draggable, grabbed": ", dr\u00e4gg\u00e4\u00dfl\u00e9, gr\u00e4\u00df\u00df\u00e9d \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, #", ", dropzone": ", dr\u00f6pz\u00f6n\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3#", "Actions": "\u00c0\u00e7t\u00ef\u00f6ns \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c #", "Add a zone": "\u00c0dd \u00e4 z\u00f6n\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3#", "Add an item": "\u00c0dd \u00e4n \u00eft\u00e9m \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f #", + "After All Attempts": "\u00c0ft\u00e9r \u00c0ll \u00c0tt\u00e9mpts \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442#", + "After All Attempts or Correct": "\u00c0ft\u00e9r \u00c0ll \u00c0tt\u00e9mpts \u00f6r \u00c7\u00f6rr\u00e9\u00e7t \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2#", + "Always": "\u00c0lw\u00e4\u00fds \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5#", "An error occurred. Unable to load drag and drop problem.": "\u00c0n \u00e9rr\u00f6r \u00f6\u00e7\u00e7\u00fcrr\u00e9d. \u00dbn\u00e4\u00dfl\u00e9 t\u00f6 l\u00f6\u00e4d dr\u00e4g \u00e4nd dr\u00f6p pr\u00f6\u00dfl\u00e9m. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1#", "An isosceles triangle with three layers of similar height. It is shown upright, so the widest layer is located at the bottom, and the narrowest layer is located at the top.": "\u00c0n \u00efs\u00f6s\u00e7\u00e9l\u00e9s tr\u00ef\u00e4ngl\u00e9 w\u00efth thr\u00e9\u00e9 l\u00e4\u00fd\u00e9rs \u00f6f s\u00efm\u00efl\u00e4r h\u00e9\u00efght. \u00cct \u00efs sh\u00f6wn \u00fcpr\u00efght, s\u00f6 th\u00e9 w\u00efd\u00e9st l\u00e4\u00fd\u00e9r \u00efs l\u00f6\u00e7\u00e4t\u00e9d \u00e4t th\u00e9 \u00df\u00f6tt\u00f6m, \u00e4nd th\u00e9 n\u00e4rr\u00f6w\u00e9st l\u00e4\u00fd\u00e9r \u00efs l\u00f6\u00e7\u00e4t\u00e9d \u00e4t th\u00e9 t\u00f6p. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1\u2202\u03b9\u03c1\u03b9\u0455\u03b9\u00a2\u03b9\u03b7g \u0454\u0142\u03b9\u0442, \u0455\u0454\u2202 \u2202\u03c3 \u0454\u03b9\u03c5\u0455\u043c\u03c3\u2202 \u0442\u0454\u043c\u03c1\u03c3\u044f \u03b9\u03b7\u00a2\u03b9\u2202\u03b9\u2202\u03c5\u03b7\u0442 \u03c5\u0442 \u0142\u03b1\u0432\u03c3\u044f\u0454 \u0454\u0442 \u2202\u03c3\u0142\u03c3\u044f\u0454 \u043c\u03b1g\u03b7\u03b1 \u03b1\u0142\u03b9q\u03c5\u03b1. \u03c5\u0442 \u0454\u03b7\u03b9\u043c \u03b1\u2202 \u043c\u03b9\u03b7\u03b9\u043c \u03bd\u0454\u03b7\u03b9\u03b1\u043c, q\u03c5\u03b9\u0455 \u03b7\u03c3\u0455\u0442\u044f\u03c5\u2202 \u0454\u03c7\u0454\u044f\u00a2\u03b9\u0442\u03b1\u0442\u03b9\u03c3\u03b7 \u03c5\u0142\u0142\u03b1\u043c\u00a2\u03c3 \u0142\u03b1\u0432\u03c3\u044f\u03b9\u0455 \u03b7\u03b9\u0455\u03b9 \u03c5\u0442 \u03b1\u0142\u03b9q\u03c5\u03b9\u03c1 \u0454\u03c7 \u0454\u03b1 \u00a2\u03c3\u043c\u043c\u03c3\u2202\u03c3 \u00a2\u03c3\u03b7\u0455\u0454q\u03c5\u03b1\u0442. \u2202\u03c5\u03b9\u0455 \u03b1\u03c5\u0442\u0454 \u03b9\u044f\u03c5\u044f\u0454 \u2202\u03c3\u0142\u03c3\u044f \u03b9\u03b7 \u044f\u0454\u03c1\u044f\u0454\u043d\u0454\u03b7\u2202\u0454\u044f\u03b9\u0442 \u03b9\u03b7 \u03bd\u03c3\u0142\u03c5\u03c1\u0442\u03b1\u0442\u0454 \u03bd\u0454\u0142\u03b9\u0442 \u0454\u0455\u0455\u0454 \u00a2\u03b9\u0142\u0142\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f\u0454 \u0454\u03c5 \u0192\u03c5g\u03b9\u03b1\u0442 \u03b7\u03c5\u0142\u0142\u03b1 \u03c1\u03b1\u044f\u03b9\u03b1\u0442\u03c5\u044f. \u0454\u03c7\u00a2\u0454\u03c1\u0442\u0454\u03c5\u044f \u0455\u03b9\u03b7\u0442 \u03c3\u00a2\u00a2\u03b1\u0454\u00a2\u03b1\u0442 \u00a2\u03c5\u03c1\u03b9\u2202\u03b1\u0442\u03b1\u0442 \u03b7\u03c3\u03b7 \u03c1\u044f\u03c3\u03b9\u2202\u0454\u03b7\u0442, \u0455\u03c5\u03b7\u0442 \u03b9\u03b7 \u00a2\u03c5\u0142\u03c1\u03b1 q\u03c5#", + "Answered": "\u00c0nsw\u00e9r\u00e9d \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202#", "Assessment": "\u00c0ss\u00e9ssm\u00e9nt \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3#", + "Attempted": "\u00c0tt\u00e9mpt\u00e9d \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142#", + "Attempted or Past Due": "\u00c0tt\u00e9mpt\u00e9d \u00f6r P\u00e4st D\u00fc\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, #", "Background Image": "B\u00e4\u00e7kgr\u00f6\u00fcnd \u00ccm\u00e4g\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c#", "Background URL": "B\u00e4\u00e7kgr\u00f6\u00fcnd \u00dbRL \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442#", "Background description": "B\u00e4\u00e7kgr\u00f6\u00fcnd d\u00e9s\u00e7r\u00efpt\u00ef\u00f6n \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2#", @@ -41,8 +48,10 @@ "Cancel": "\u00c7\u00e4n\u00e7\u00e9l \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5#", "Change background": "\u00c7h\u00e4ng\u00e9 \u00df\u00e4\u00e7kgr\u00f6\u00fcnd \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454#", "Close": "\u00c7l\u00f6s\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455#", + "Closed": "\u00c7l\u00f6s\u00e9d \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5#", "Continue": "\u00c7\u00f6nt\u00efn\u00fc\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202#", "Correct": "\u00c7\u00f6rr\u00e9\u00e7t \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c #", + "Correct or Past Due": "\u00c7\u00f6rr\u00e9\u00e7t \u00f6r P\u00e4st D\u00fc\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442,#", "Correct! This one belongs to The Bottom Zone.": "\u00c7\u00f6rr\u00e9\u00e7t! Th\u00efs \u00f6n\u00e9 \u00df\u00e9l\u00f6ngs t\u00f6 Th\u00e9 B\u00f6tt\u00f6m Z\u00f6n\u00e9. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f #", "Correct! This one belongs to The Middle Zone.": "\u00c7\u00f6rr\u00e9\u00e7t! Th\u00efs \u00f6n\u00e9 \u00df\u00e9l\u00f6ngs t\u00f6 Th\u00e9 M\u00efddl\u00e9 Z\u00f6n\u00e9. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f #", "Correct! This one belongs to The Top Zone.": "\u00c7\u00f6rr\u00e9\u00e7t! Th\u00efs \u00f6n\u00e9 \u00df\u00e9l\u00f6ngs t\u00f6 Th\u00e9 T\u00f6p Z\u00f6n\u00e9. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f #", @@ -52,8 +61,10 @@ "\u00c7\u00f6rr\u00e9\u00e7tl\u00fd pl\u00e4\u00e7\u00e9d {correct_count} \u00eft\u00e9ms \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455#" ], "DEPRECATED. Keeps maximum score achieved by student as a weighted value.": "D\u00c9PR\u00c9\u00c7\u00c0T\u00c9D. K\u00e9\u00e9ps m\u00e4x\u00efm\u00fcm s\u00e7\u00f6r\u00e9 \u00e4\u00e7h\u00ef\u00e9v\u00e9d \u00df\u00fd st\u00fcd\u00e9nt \u00e4s \u00e4 w\u00e9\u00efght\u00e9d v\u00e4l\u00fc\u00e9. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f#", + "Default": "D\u00e9f\u00e4\u00fclt \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c #", "Defines the number of points the problem is worth.": "D\u00e9f\u00efn\u00e9s th\u00e9 n\u00fcm\u00df\u00e9r \u00f6f p\u00f6\u00efnts th\u00e9 pr\u00f6\u00dfl\u00e9m \u00efs w\u00f6rth. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1#", "Defines the number of times a student can try to answer this problem. If the value is not set, infinite attempts are allowed.": "D\u00e9f\u00efn\u00e9s th\u00e9 n\u00fcm\u00df\u00e9r \u00f6f t\u00efm\u00e9s \u00e4 st\u00fcd\u00e9nt \u00e7\u00e4n tr\u00fd t\u00f6 \u00e4nsw\u00e9r th\u00efs pr\u00f6\u00dfl\u00e9m. \u00ccf th\u00e9 v\u00e4l\u00fc\u00e9 \u00efs n\u00f6t s\u00e9t, \u00efnf\u00efn\u00eft\u00e9 \u00e4tt\u00e9mpts \u00e4r\u00e9 \u00e4ll\u00f6w\u00e9d. \u2c60'\u03c3\u044f\u0454\u043c #", + "Defines when to show the answer to the problem. A default value can be set in Advanced Settings. To revert setting a custom value, choose the 'Default' option.": "D\u00e9f\u00efn\u00e9s wh\u00e9n t\u00f6 sh\u00f6w th\u00e9 \u00e4nsw\u00e9r t\u00f6 th\u00e9 pr\u00f6\u00dfl\u00e9m. \u00c0 d\u00e9f\u00e4\u00fclt v\u00e4l\u00fc\u00e9 \u00e7\u00e4n \u00df\u00e9 s\u00e9t \u00efn \u00c0dv\u00e4n\u00e7\u00e9d S\u00e9tt\u00efngs. T\u00f6 r\u00e9v\u00e9rt s\u00e9tt\u00efng \u00e4 \u00e7\u00fcst\u00f6m v\u00e4l\u00fc\u00e9, \u00e7h\u00f6\u00f6s\u00e9 th\u00e9 'D\u00e9f\u00e4\u00fclt' \u00f6pt\u00ef\u00f6n. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1\u2202\u03b9\u03c1\u03b9\u0455\u03b9\u00a2\u03b9\u03b7g \u0454\u0142\u03b9\u0442, \u0455\u0454\u2202 \u2202\u03c3 \u0454\u03b9\u03c5\u0455\u043c\u03c3\u2202 \u0442\u0454\u043c\u03c1\u03c3\u044f \u03b9\u03b7\u00a2\u03b9\u2202\u03b9\u2202\u03c5\u03b7\u0442 \u03c5\u0442 \u0142\u03b1\u0432\u03c3\u044f\u0454 \u0454\u0442 \u2202\u03c3\u0142\u03c3\u044f\u0454 \u043c\u03b1g\u03b7\u03b1 \u03b1\u0142\u03b9q\u03c5\u03b1. \u03c5\u0442 \u0454\u03b7\u03b9\u043c \u03b1\u2202 \u043c\u03b9\u03b7\u03b9\u043c \u03bd\u0454\u03b7\u03b9\u03b1\u043c, q\u03c5\u03b9\u0455 \u03b7\u03c3\u0455\u0442\u044f\u03c5\u2202 \u0454\u03c7\u0454\u044f\u00a2\u03b9\u0442\u03b1\u0442\u03b9\u03c3\u03b7 \u03c5\u0142\u0142\u03b1\u043c\u00a2\u03c3 \u0142\u03b1\u0432\u03c3\u044f\u03b9\u0455 \u03b7\u03b9\u0455\u03b9 \u03c5\u0442 \u03b1\u0142\u03b9q\u03c5\u03b9\u03c1 \u0454\u03c7 \u0454\u03b1 \u00a2\u03c3\u043c\u043c\u03c3\u2202\u03c3 \u00a2\u03c3\u03b7\u0455\u0454q\u03c5\u03b1\u0442. \u2202\u03c5\u03b9\u0455 \u03b1\u03c5\u0442\u0454 \u03b9\u044f\u03c5\u044f\u0454 \u2202\u03c3\u0142\u03c3\u044f \u03b9\u03b7 \u044f\u0454\u03c1\u044f\u0454\u043d\u0454\u03b7\u2202\u0454\u044f\u03b9\u0442 \u03b9\u03b7 \u03bd\u03c3\u0142\u03c5\u03c1\u0442\u03b1\u0442\u0454 \u03bd\u0454\u0142\u03b9\u0442 \u0454\u0455\u0455\u0454 \u00a2\u03b9\u0142\u0142\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f\u0454 \u0454\u03c5 \u0192\u03c5g\u03b9\u03b1\u0442 \u03b7\u03c5\u0142\u0142\u03b1 \u03c1\u03b1\u044f\u03b9\u03b1\u0442\u03c5\u044f. \u0454\u03c7\u00a2\u0454\u03c1\u0442\u0454\u03c5\u044f \u0455\u03b9\u03b7\u0442 \u03c3\u00a2\u00a2\u03b1\u0454\u00a2\u03b1\u0442 \u00a2\u03c5\u03c1\u03b9\u2202\u03b1\u0442\u03b1\u0442 \u03b7\u03c3\u03b7 \u03c1\u044f\u03c3\u03b9\u2202\u0454\u03b7\u0442, \u0455\u03c5\u03b7\u0442 \u03b9\u03b7 \u00a2\u03c5\u0142\u03c1\u03b1 q\u03c5\u03b9 \u03c3\u0192\u0192\u03b9\u00a2\u03b9\u03b1 \u2202\u0454\u0455\u0454\u044f\u03c5\u03b7#", "Did not place {missing_count} required item": [ "D\u00efd n\u00f6t pl\u00e4\u00e7\u00e9 {missing_count} r\u00e9q\u00fc\u00efr\u00e9d \u00eft\u00e9m \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442#", "D\u00efd n\u00f6t pl\u00e4\u00e7\u00e9 {missing_count} r\u00e9q\u00fc\u00efr\u00e9d \u00eft\u00e9ms \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454#" @@ -73,6 +84,7 @@ "Feedback": "F\u00e9\u00e9d\u00df\u00e4\u00e7k \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202#", "Final attempt was used, highest score is {score}": "F\u00efn\u00e4l \u00e4tt\u00e9mpt w\u00e4s \u00fcs\u00e9d, h\u00efgh\u00e9st s\u00e7\u00f6r\u00e9 \u00efs {score} \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f #", "Final feedback": "F\u00efn\u00e4l f\u00e9\u00e9d\u00df\u00e4\u00e7k \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442#", + "Finished": "F\u00efn\u00efsh\u00e9d \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202#", "For example, 'http://example.com/background.png' or '/static/background.png'.": "F\u00f6r \u00e9x\u00e4mpl\u00e9, 'http://\u00e9x\u00e4mpl\u00e9.\u00e7\u00f6m/\u00df\u00e4\u00e7kgr\u00f6\u00fcnd.png' \u00f6r '/st\u00e4t\u00ef\u00e7/\u00df\u00e4\u00e7kgr\u00f6\u00fcnd.png'. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442#", "Generate image and zones": "G\u00e9n\u00e9r\u00e4t\u00e9 \u00efm\u00e4g\u00e9 \u00e4nd z\u00f6n\u00e9s \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7#", "Generate image automatically": "G\u00e9n\u00e9r\u00e4t\u00e9 \u00efm\u00e4g\u00e9 \u00e4\u00fct\u00f6m\u00e4t\u00ef\u00e7\u00e4ll\u00fd \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2#", @@ -112,6 +124,7 @@ ], "Mode": "M\u00f6d\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9#", "Navigate using TAB and SHIFT+TAB to the appropriate dropzone and press CTRL+M once more to drop it here.": "N\u00e4v\u00efg\u00e4t\u00e9 \u00fcs\u00efng T\u00c0B \u00e4nd SH\u00ccFT+T\u00c0B t\u00f6 th\u00e9 \u00e4ppr\u00f6pr\u00ef\u00e4t\u00e9 dr\u00f6pz\u00f6n\u00e9 \u00e4nd pr\u00e9ss \u00c7TRL+M \u00f6n\u00e7\u00e9 m\u00f6r\u00e9 t\u00f6 dr\u00f6p \u00eft h\u00e9r\u00e9. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1#", + "Never": "N\u00e9v\u00e9r \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455#", "No items placed here": "N\u00f6 \u00eft\u00e9ms pl\u00e4\u00e7\u00e9d h\u00e9r\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, #", "No, this item does not belong here. Try again.": "N\u00f6, th\u00efs \u00eft\u00e9m d\u00f6\u00e9s n\u00f6t \u00df\u00e9l\u00f6ng h\u00e9r\u00e9. Tr\u00fd \u00e4g\u00e4\u00efn. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f \u03b1#", "Number of attempts learner used": "N\u00fcm\u00df\u00e9r \u00f6f \u00e4tt\u00e9mpts l\u00e9\u00e4rn\u00e9r \u00fcs\u00e9d \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442#", @@ -119,6 +132,7 @@ "Number of columns and rows.": "N\u00fcm\u00df\u00e9r \u00f6f \u00e7\u00f6l\u00fcmns \u00e4nd r\u00f6ws. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454#", "Number of rows": "N\u00fcm\u00df\u00e9r \u00f6f r\u00f6ws \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442#", "Of course it goes here! It goes anywhere!": "\u00d6f \u00e7\u00f6\u00fcrs\u00e9 \u00eft g\u00f6\u00e9s h\u00e9r\u00e9! \u00cct g\u00f6\u00e9s \u00e4n\u00fdwh\u00e9r\u00e9! \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f #", + "Past Due": "P\u00e4st D\u00fc\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202#", "Placed in: {zone_title}": "Pl\u00e4\u00e7\u00e9d \u00efn: {zone_title} \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442#", "Please check over your submission.": "Pl\u00e9\u00e4s\u00e9 \u00e7h\u00e9\u00e7k \u00f6v\u00e9r \u00fd\u00f6\u00fcr s\u00fc\u00dfm\u00efss\u00ef\u00f6n. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442#", "Please check the values you entered.": "Pl\u00e9\u00e4s\u00e9 \u00e7h\u00e9\u00e7k th\u00e9 v\u00e4l\u00fc\u00e9s \u00fd\u00f6\u00fc \u00e9nt\u00e9r\u00e9d. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5#", @@ -134,6 +148,7 @@ "Saving": "S\u00e4v\u00efng \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5#", "Show \"Problem\" heading": "Sh\u00f6w \"Pr\u00f6\u00dfl\u00e9m\" h\u00e9\u00e4d\u00efng \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2#", "Show Answer": "Sh\u00f6w \u00c0nsw\u00e9r \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f #", + "Show answer": "Sh\u00f6w \u00e4nsw\u00e9r \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f #", "Show title": "Sh\u00f6w t\u00eftl\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3#", "Size of a single zone in pixels.": "S\u00efz\u00e9 \u00f6f \u00e4 s\u00efngl\u00e9 z\u00f6n\u00e9 \u00efn p\u00efx\u00e9ls. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454#", "Some of your answers were not correct.": "S\u00f6m\u00e9 \u00f6f \u00fd\u00f6\u00fcr \u00e4nsw\u00e9rs w\u00e9r\u00e9 n\u00f6t \u00e7\u00f6rr\u00e9\u00e7t. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f#", @@ -147,10 +162,10 @@ "The Bottom Zone": "Th\u00e9 B\u00f6tt\u00f6m Z\u00f6n\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1#", "The Middle Zone": "Th\u00e9 M\u00efddl\u00e9 Z\u00f6n\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1#", "The Top Zone": "Th\u00e9 T\u00f6p Z\u00f6n\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455#", + "The answer is unavailable": "Th\u00e9 \u00e4nsw\u00e9r \u00efs \u00fcn\u00e4v\u00e4\u00efl\u00e4\u00dfl\u00e9 \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455#", "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "Th\u00e9 \u00df\u00e4\u00e7kgr\u00f6\u00fcnd \u00e7\u00f6l\u00f6r \u00f6f dr\u00e4gg\u00e4\u00dfl\u00e9 \u00eft\u00e9ms \u00efn th\u00e9 pr\u00f6\u00dfl\u00e9m (\u00e9x\u00e4mpl\u00e9: '\u00dfl\u00fc\u00e9' \u00f6r '#0000ff'). \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2#", "The description of the problem or instructions shown to the learner.": "Th\u00e9 d\u00e9s\u00e7r\u00efpt\u00ef\u00f6n \u00f6f th\u00e9 pr\u00f6\u00dfl\u00e9m \u00f6r \u00efnstr\u00fc\u00e7t\u00ef\u00f6ns sh\u00f6wn t\u00f6 th\u00e9 l\u00e9\u00e4rn\u00e9r. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f #", "The title of the drag and drop problem. The title is displayed to learners.": "Th\u00e9 t\u00eftl\u00e9 \u00f6f th\u00e9 dr\u00e4g \u00e4nd dr\u00f6p pr\u00f6\u00dfl\u00e9m. Th\u00e9 t\u00eftl\u00e9 \u00efs d\u00efspl\u00e4\u00fd\u00e9d t\u00f6 l\u00e9\u00e4rn\u00e9rs. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5#", - "There are attempts remaining": "Th\u00e9r\u00e9 \u00e4r\u00e9 \u00e4tt\u00e9mpts r\u00e9m\u00e4\u00efn\u00efng \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2#", "There was an error with your form.": "Th\u00e9r\u00e9 w\u00e4s \u00e4n \u00e9rr\u00f6r w\u00efth \u00fd\u00f6\u00fcr f\u00f6rm. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442#", "This is a screen reader-friendly problem.": "Th\u00efs \u00efs \u00e4 s\u00e7r\u00e9\u00e9n r\u00e9\u00e4d\u00e9r-fr\u00ef\u00e9ndl\u00fd pr\u00f6\u00dfl\u00e9m. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442\u03c5\u044f #", "This setting limits the number of items that can be dropped into a single zone.": "Th\u00efs s\u00e9tt\u00efng l\u00efm\u00efts th\u00e9 n\u00fcm\u00df\u00e9r \u00f6f \u00eft\u00e9ms th\u00e4t \u00e7\u00e4n \u00df\u00e9 dr\u00f6pp\u00e9d \u00efnt\u00f6 \u00e4 s\u00efngl\u00e9 z\u00f6n\u00e9. \u2c60'\u03c3\u044f\u0454\u043c \u03b9\u03c1\u0455\u03c5\u043c \u2202\u03c3\u0142\u03c3\u044f \u0455\u03b9\u0442 \u03b1\u043c\u0454\u0442, \u00a2\u03c3\u03b7\u0455\u0454\u00a2\u0442\u0454\u0442#", diff --git a/drag_and_drop_v2/public/js/translations/es_419/text.js b/drag_and_drop_v2/public/js/translations/es_419/text.js index de4e9ece4..c2ee705b5 100644 --- a/drag_and_drop_v2/public/js/translations/es_419/text.js +++ b/drag_and_drop_v2/public/js/translations/es_419/text.js @@ -154,7 +154,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "El color de fondo de los elementos arrastrables (ejemplo: 'blue' o '#0000ff').", "The description of the problem or instructions shown to the learner.": "Descripci\u00f3n del problema o instrucciones mostradas al estudiante", "The title of the drag and drop problem. The title is displayed to learners.": "El t\u00edtulo del problema de arrastrar y soltar. El t\u00edtulo se muestra a los alumnos.", - "There are attempts remaining": "Todav\u00eda hay intentos pendientes", "There was an error with your form.": "Ha habido un error con su formulario.", "This is a screen reader-friendly problem.": "Este tipo de problema es compatible con los lectores de pantalla.", "This setting limits the number of items that can be dropped into a single zone.": "Esta configuraci\u00f3n limita el n\u00famero de items que pueden ser colocados en una zona", diff --git a/drag_and_drop_v2/public/js/translations/fr/text.js b/drag_and_drop_v2/public/js/translations/fr/text.js index a8fc5291c..5879c1a7b 100644 --- a/drag_and_drop_v2/public/js/translations/fr/text.js +++ b/drag_and_drop_v2/public/js/translations/fr/text.js @@ -151,7 +151,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "La couleur de fond des \u00e9l\u00e9ments glissables dans l'exercice (par exemple\u00a0: 'bleu' ou '#0000ff').", "The description of the problem or instructions shown to the learner.": "La description du probl\u00e8me ou les instructions affich\u00e9es \u00e0 l'\u00e9tudiant.", "The title of the drag and drop problem. The title is displayed to learners.": "Le titre de l'exercice de glisser-d\u00e9placer. Ce titre est affich\u00e9 aux \u00e9tudiants.", - "There are attempts remaining": "Il vous reste des tentatives", "There was an error with your form.": "Il y avait une erreur avec votre formulaire.", "This is a screen reader-friendly problem.": "Il s'agit d'un probl\u00e8me facile \u00e0 lire \u00e0 l'\u00e9cran.", "This setting limits the number of items that can be dropped into a single zone.": "Ce param\u00e8tre limite le nombre d'\u00e9l\u00e9ments pouvant \u00eatre d\u00e9pos\u00e9s dans une seule zone.", diff --git a/drag_and_drop_v2/public/js/translations/he/text.js b/drag_and_drop_v2/public/js/translations/he/text.js index 6f157e7ed..7ebc02713 100644 --- a/drag_and_drop_v2/public/js/translations/he/text.js +++ b/drag_and_drop_v2/public/js/translations/he/text.js @@ -117,7 +117,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "\u05e6\u05d1\u05e2 \u05d4\u05e8\u05e7\u05e2 \u05e9\u05dc \u05d4\u05e4\u05e8\u05d9\u05d8\u05d9\u05dd \u05d4\u05e0\u05d9\u05ea\u05e0\u05d9\u05dd \u05dc\u05d2\u05e8\u05d9\u05e8\u05d4 \u05d1\u05d1\u05e2\u05d9\u05d4 (\u05dc\u05d3\u05d5\u05d2\u05de\u05d4: '\u05db\u05d7\u05d5\u05dc' \u05d0\u05d5 '#0000ff').", "The description of the problem or instructions shown to the learner.": "\u05ea\u05d9\u05d0\u05d5\u05e8 \u05d4\u05d1\u05e2\u05d9\u05d4 \u05d0\u05d5 \u05d4\u05d5\u05e8\u05d0\u05d5\u05ea \u05d4\u05de\u05d5\u05e6\u05d2\u05d5\u05ea \u05dc\u05dc\u05d5\u05de\u05d3.", "The title of the drag and drop problem. The title is displayed to learners.": "\u05d4\u05db\u05d5\u05ea\u05e8\u05ea \u05e9\u05dc \u05d1\u05e2\u05d9\u05d9\u05ea \u05d4\u05d2\u05e8\u05d9\u05e8\u05d4 \u05d5\u05d4\u05e9\u05d7\u05e8\u05d5\u05e8. \u05d4\u05db\u05d5\u05ea\u05e8\u05ea \u05de\u05d5\u05e6\u05d2\u05ea \u05dc\u05dc\u05d5\u05de\u05d3\u05d9\u05dd.", - "There are attempts remaining": "\u05e0\u05d5\u05ea\u05e8\u05d5 \u05e2\u05d3\u05d9\u05d9\u05dd \u05e0\u05e1\u05d9\u05d5\u05e0\u05d5\u05ea", "There was an error with your form.": "\u05d4\u05d9\u05ea\u05d4 \u05e9\u05d2\u05d9\u05d0\u05d4 \u05d1\u05d8\u05d5\u05e4\u05e1 \u05e9\u05dc\u05da.", "Title": "\u05db\u05d5\u05ea\u05e8\u05ea", "Unknown DnDv2 mode {mode} - course is misconfigured": "\u05de\u05e6\u05d1 DnDv2 \u05dc\u05d0 \u05d9\u05d3\u05d5\u05e2 {mode} - \u05d4\u05e7\u05d5\u05e8\u05e1 \u05d0\u05d9\u05e0\u05d5 \u05de\u05d5\u05d2\u05d3\u05e8", diff --git a/drag_and_drop_v2/public/js/translations/it/text.js b/drag_and_drop_v2/public/js/translations/it/text.js index 22ba1e7c3..c7adaf2d8 100644 --- a/drag_and_drop_v2/public/js/translations/it/text.js +++ b/drag_and_drop_v2/public/js/translations/it/text.js @@ -72,7 +72,6 @@ "Standard": "Standard", "Submitting": "In fase di invio", "The description of the problem or instructions shown to the learner.": "Descrizione del problema o istruzioni mostrate al discente.", - "There are attempts remaining": "Ci sono ancora tentativi rimanenti", "Title": "Titolo", "Your highest score is {score}": "Il tuo punteggio pi\u00f9 alto \u00e8 {score}", "Zone borders": "Bordi della zona", diff --git a/drag_and_drop_v2/public/js/translations/ja/text.js b/drag_and_drop_v2/public/js/translations/ja/text.js index 56c5ace21..569ca18c7 100644 --- a/drag_and_drop_v2/public/js/translations/ja/text.js +++ b/drag_and_drop_v2/public/js/translations/ja/text.js @@ -121,7 +121,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "\u554f\u984c\u306e\u30c9\u30e9\u30c3\u30b0\u53ef\u80fd\u306a\u30a2\u30a4\u30c6\u30e0\u306e\u80cc\u666f\u8272 (\u4f8b\uff1a'blue'\u307e\u305f\u306f'#0000ff')\u3002", "The description of the problem or instructions shown to the learner.": "\u53d7\u8b1b\u8005\u306b\u8868\u793a\u3059\u308b\u554f\u984c\u307e\u305f\u306f\u6307\u793a\u306e\u8aac\u660e\u3002", "The title of the drag and drop problem. The title is displayed to learners.": "\u30c9\u30e9\u30c3\u30b0\u30a2\u30f3\u30c9\u30c9\u30ed\u30c3\u30d7\u306e\u554f\u984c\u306e\u30bf\u30a4\u30c8\u30eb\u3002\u30bf\u30a4\u30c8\u30eb\u306f\u53d7\u8b1b\u8005\u306b\u8868\u793a\u3055\u308c\u307e\u3059\u3002", - "There are attempts remaining": "\u8a66\u884c\u56de\u6570\u304c\u6b8b\u3063\u3066\u3044\u307e\u3059\u3002", "There was an error with your form.": "\u30d5\u30a9\u30fc\u30e0\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002", "Title": "\u4ef6\u540d", "Unknown DnDv2 mode {mode} - course is misconfigured": "\u4e0d\u660e\u306aDnDv2\u30e2\u30fc\u30c9 {mode} - \u8b1b\u5ea7\u306e\u8a2d\u5b9a\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002", diff --git a/drag_and_drop_v2/public/js/translations/ko/text.js b/drag_and_drop_v2/public/js/translations/ko/text.js index 1e8825848..26222ecec 100644 --- a/drag_and_drop_v2/public/js/translations/ko/text.js +++ b/drag_and_drop_v2/public/js/translations/ko/text.js @@ -141,7 +141,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "\ubb38\uc81c\uc758 \ub04c\uae30 \uac00\ub2a5\ud55c \ud56d\ubaa9\uc758 \ubc30\uacbd \uc0c9\uc0c1 (\uc608\uc2dc: '\ud30c\ub791' \ub610\ub294 '#0000ff').", "The description of the problem or instructions shown to the learner.": "\ud559\uc2b5\uc790\uc5d0\uac8c \ubcf4\uc5ec\uc9c0\ub294 \ubb38\uc81c \ub610\ub294 \uc9c0\uc2dc\uc0ac\ud56d\uc758 \ub0b4\uc6a9", "The title of the drag and drop problem. The title is displayed to learners.": "\ub04c\uc5b4\ub193\uae30 \ubb38\uc81c\uc758 \uc81c\ubaa9. \uc81c\ubaa9\uc740 \ud559\uc2b5\uc790\uc5d0\uac8c \uacf5\uac1c\ub429\ub2c8\ub2e4.", - "There are attempts remaining": "\ub0a8\uc740 \uc2dc\ub3c4 \ud69f\uc218\uac00 \uc788\uc2b5\ub2c8\ub2e4.", "There was an error with your form.": "\ud615\uc2dd\uc5d0 \uc624\ub958\uac00 \uc788\uc2b5\ub2c8\ub2e4.", "This is a screen reader-friendly problem.": "\uc774 \ubb38\uc81c\ub294 \ud654\uba74 \uc774\uc6a9\uc790\uc5d0\uac8c \uc801\ud569\ud55c \ubb38\uc81c\uc785\ub2c8\ub2e4.", "This setting limits the number of items that can be dropped into a single zone.": "\uc774 \uc124\uc815\uc740 \ud558\ub098\uc758 \uc601\uc5ed\uc5d0 \ub193\uc77c \uc218 \uc788\ub294 \ud56d\ubaa9\uc758 \ucd5c\ub300 \uac1c\uc218\ub97c \uc124\uc815 \ud569\ub2c8\ub2e4.", diff --git a/drag_and_drop_v2/public/js/translations/pl/text.js b/drag_and_drop_v2/public/js/translations/pl/text.js index 5df05b87b..4a4390d82 100644 --- a/drag_and_drop_v2/public/js/translations/pl/text.js +++ b/drag_and_drop_v2/public/js/translations/pl/text.js @@ -132,7 +132,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "Kolor t\u0142a dopasowywanych element\u00f3w (np. '#0000ff')", "The description of the problem or instructions shown to the learner.": "Opis \u0107wiczenia i/lub instrukcje dla student\u00f3w.", "The title of the drag and drop problem. The title is displayed to learners.": "Tytu\u0142 tego \u0107wiczenia, widoczny dla student\u00f3w.", - "There are attempts remaining": "Dost\u0119pne s\u0105 dodatkowe pr\u00f3by", "There was an error with your form.": "Wyst\u0105pi\u0142 b\u0142\u0105d z przesy\u0142aniem odpowiedzi.", "Title": "Tytu\u0142", "Unknown DnDv2 mode {mode} - course is misconfigured": "Nieznany tryb DnDv2 {mode} - kurs skonfigurowany nieprawid\u0142owo", diff --git a/drag_and_drop_v2/public/js/translations/pt_BR/text.js b/drag_and_drop_v2/public/js/translations/pt_BR/text.js index a5bf9bd68..293b24d85 100644 --- a/drag_and_drop_v2/public/js/translations/pt_BR/text.js +++ b/drag_and_drop_v2/public/js/translations/pt_BR/text.js @@ -149,7 +149,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "A cor do plano de fundo de itens que podem ser arrastados no problema (por exemplo: 'azul' ou '#0000ff').", "The description of the problem or instructions shown to the learner.": "A descri\u00e7\u00e3o do problema ou instru\u00e7\u00f5es exibidas ao aluno.", "The title of the drag and drop problem. The title is displayed to learners.": "O t\u00edtulo do problema de arraste e solte. O t\u00edtulo \u00e9 exibido aos alunos.", - "There are attempts remaining": "H\u00e1 tentativas restantes", "There was an error with your form.": "Ocorreu um erro com seu formul\u00e1rio.", "This is a screen reader-friendly problem.": "Esta \u00e9 uma tela de leitura f\u00e1cil de problemas.", "This setting limits the number of items that can be dropped into a single zone.": "Esta configura\u00e7\u00e3o limita o n\u00famero de itens que podem ser largados de uma \u00fanica zona.", diff --git a/drag_and_drop_v2/public/js/translations/pt_PT/text.js b/drag_and_drop_v2/public/js/translations/pt_PT/text.js index 801dff190..8ed102a1e 100644 --- a/drag_and_drop_v2/public/js/translations/pt_PT/text.js +++ b/drag_and_drop_v2/public/js/translations/pt_PT/text.js @@ -150,7 +150,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "A cor de fundo dos itens arrast\u00e1veis no problema (exemplo: 'blue' ou '#0000ff').", "The description of the problem or instructions shown to the learner.": "A descri\u00e7\u00e3o do problema ou instru\u00e7\u00f5es que o estudante v\u00ea.", "The title of the drag and drop problem. The title is displayed to learners.": "O t\u00edtulo do problema de arrastar e soltar. O t\u00edtulo \u00e9 vis\u00edvel para os estudantes.", - "There are attempts remaining": "Ainda h\u00e1 tentativas dispon\u00edveis", "There was an error with your form.": "Houve um erro com o seu formul\u00e1rio.", "This is a screen reader-friendly problem.": "Este \u00e9 um problema amig\u00e1vel para os leitores de ecr\u00e3.", "This setting limits the number of items that can be dropped into a single zone.": "Esta configura\u00e7\u00e3o limita o n\u00famero de itens que podem ser colocados numa \u00fanica zona.", diff --git a/drag_and_drop_v2/public/js/translations/ru/text.js b/drag_and_drop_v2/public/js/translations/ru/text.js index 57045248a..65c7e849f 100644 --- a/drag_and_drop_v2/public/js/translations/ru/text.js +++ b/drag_and_drop_v2/public/js/translations/ru/text.js @@ -133,7 +133,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "\u0424\u043e\u043d \u043f\u0435\u0440\u0435\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u0437\u0430\u0434\u0430\u0447\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 'blue' \u0438\u043b\u0438 '#0000ff').", "The description of the problem or instructions shown to the learner.": "\u0423\u0441\u043b\u043e\u0432\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u0441\u043b\u0443\u0448\u0430\u0442\u0435\u043b\u044e.", "The title of the drag and drop problem. The title is displayed to learners.": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0430 \u043f\u0435\u0440\u0435\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u043e\u0435 \u0434\u043b\u044f \u0441\u043b\u0443\u0448\u0430\u0442\u0435\u043b\u0435\u0439.", - "There are attempts remaining": "\u041e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438", "There was an error with your form.": "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0432\u0430\u0448\u0435\u0439 \u0444\u043e\u0440\u043c\u044b.", "Title": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a", "Unknown DnDv2 mode {mode} - course is misconfigured": "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c {mode} \u0437\u0430\u0434\u0430\u0447\u0438 DnDv2 \u2014 \u043a\u0443\u0440\u0441 \u043d\u0435\u0432\u0435\u0440\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d", diff --git a/drag_and_drop_v2/public/js/translations/zh_CN/text.js b/drag_and_drop_v2/public/js/translations/zh_CN/text.js index 9b1620466..018864192 100644 --- a/drag_and_drop_v2/public/js/translations/zh_CN/text.js +++ b/drag_and_drop_v2/public/js/translations/zh_CN/text.js @@ -121,7 +121,6 @@ "The background color of draggable items in the problem (example: 'blue' or '#0000ff').": "\u9898\u76ee\u4e2d\u53ef\u62d6\u62fd\u9879\u7684\u80cc\u666f\u989c\u8272(\u4f8b\u5982: 'blue' or '#0000ff')\u3002", "The description of the problem or instructions shown to the learner.": "\u5b66\u5458\u53ef\u89c1\u7684\u9898\u76ee\u63cf\u8ff0\u6216\u4f5c\u7b54\u6307\u5f15\u3002", "The title of the drag and drop problem. The title is displayed to learners.": "\u62d6\u653e\u95ee\u9898\u7684\u6807\u9898\u3002\u5411\u5b66\u5458\u663e\u793a\u6807\u9898\u3002", - "There are attempts remaining": "\u672a\u4f7f\u7528\u5b8c\u6240\u6709\u7b54\u9898\u673a\u4f1a", "There was an error with your form.": "\u60a8\u7684\u8868\u683c\u6709\u4e00\u4e2a\u9519\u8bef\u3002", "Title": "\u6807\u9898", "Unknown DnDv2 mode {mode} - course is misconfigured": "\u672a\u77e5DnDv2\u6a21\u5f0f{mode} - \u8bfe\u7a0b\u914d\u7f6e\u9519\u8bef", diff --git a/drag_and_drop_v2/templates/html/drag_and_drop_edit.html b/drag_and_drop_v2/templates/html/drag_and_drop_edit.html index 0e17511c3..d243f6743 100644 --- a/drag_and_drop_v2/templates/html/drag_and_drop_edit.html +++ b/drag_and_drop_v2/templates/html/drag_and_drop_edit.html @@ -49,6 +49,20 @@

{% trans "Basic Settings" %}

{% trans fields.max_attempts.help %} + +
+ {% trans fields.showanswer.help %} +
+