// Translators: %(earned)s is the number of points earned. %(possible)s is the total number of points (examples: 0/1, 1/1, 2/3, 5/10). The total number of points will always be at least 1. We pluralize based on the total number of points (example: 0/1 point; 1/2 points);
progress_template=ngettext('%(earned)s/%(possible)s point (graded)','%(earned)s/%(possible)s points (graded)',possible);
if(graded==='True'&&possible!==0){
progressTemplate=ngettext(
// This comment needs to be on one line to be properly scraped for the translators.
// Translators: %(earned)s is the number of points earned. %(possible)s is the total number of points (examples: 0/1, 1/1, 2/3, 5/10). The total number of points will always be at least 1. We pluralize based on the total number of points (example: 0/1 point; 1/2 points);
'%(earned)s/%(possible)s point (graded)','%(earned)s/%(possible)s points (graded)',
possible
);
}else{
// Translators: %(earned)s is the number of points earned. %(possible)s is the total number of points (examples: 0/1, 1/1, 2/3, 5/10). The total number of points will always be at least 1. We pluralize based on the total number of points (example: 0/1 point; 1/2 points);
progress_template=ngettext('%(earned)s/%(possible)s point (ungraded)','%(earned)s/%(possible)s points (ungraded)',possible);
progressTemplate=ngettext(
// This comment needs to be on one line to be properly scraped for the translators.
// Translators: %(earned)s is the number of points earned. %(possible)s is the total number of points (examples: 0/1, 1/1, 2/3, 5/10). The total number of points will always be at least 1. We pluralize based on the total number of points (example: 0/1 point; 1/2 points);
'%(earned)s/%(possible)s point (ungraded)','%(earned)s/%(possible)s points (ungraded)',
possible
);
}
progress=interpolate(progress_template,{
'earned':earned,
'possible':possible
},true);
progress=interpolate(
progressTemplate,{
earned:earned,
possible:possible
},true
);
}
// Render 'x point(s) possible' if student has not yet attempted question
// Status is set to none when a user has a score of 0, and 0 when the problem has a weight of 0.
// If there are no file inputs in the problem, we can fall back on submit.
if(this.el.find('input:file').length===0){
this.submit();
return;
}
this.enableSubmitButton(false);
if(!window.FormData){
alert("Submission aborted! Sorry, your browser does not support file uploads. If you can, please use Chrome or Safari which have been verified to support file uploads.");
alert(gettext('Submission aborted! Sorry, your browser does not support file uploads. If you can, please use Chrome or Safari which have been verified to support file uploads.'));// eslint-disable-line max-len, no-alert
window.SR.readText(gettext('Answers to this problem are now shown. Navigate through the problem to review it with answers inline.'));// eslint-disable-line max-len
"Used to check available answers and if something is checked (or the answer is set in some textbox)\n\"Submit\" button becomes enabled. Otherwise it is disabled by default.\n\nArguments:\n bind (bool): used on the first check to attach event handlers to input fields\n to change \"Submit\" enable status in case of some manipulations with answers";