Merge pull request #1 from h5p/master

f
pull/46/head
Erkki Virtanen 2019-06-12 13:37:08 +03:00 committed by GitHub
commit 2e10376092
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 4884 additions and 3562 deletions

View File

@ -120,10 +120,6 @@
content: "\f01e";
}
.qs-footer > .next, .qs-footer > .finish, .qs-finishbutton {
float: right;
}
/* Need to disable max-height animation stuff, since this will
make resizing of iframe in Safari not work! */
.questionset .h5p-question-buttons.h5p-question-visible {
@ -155,15 +151,6 @@
line-height: 2.2335em;
}
.h5p-question .h5p-question-next,
.h5p-question .h5p-question-finish {
margin: 0 0 1.5em 0.5em;
}
.h5p-question .h5p-question-prev {
margin: 0 0.5em 1.5em 0.5em;
}
.h5p-question .h5p-question-next:before {
content: "\f054";
padding-right: 0;
@ -178,17 +165,14 @@
left: -2px;
}
.questionset-results .qs-finishbutton {
display: none;
}
.h5p-question .h5p-question-finish:before {
content: "\f00c";
}
.questionset-results button.h5p-button.qs-solutionbutton:before {
font-family: 'H5PFontAwesome4';
content: "\f06e "; /* TODO: Use margin not whitespace, spacing is not content! */
padding-right: 0.5em;
content: "\f06e";
}
.video-container {

View File

@ -59,7 +59,8 @@ H5P.QuestionSet = function (options, contentId, contentData) {
retryButtonText: 'Retry',
showAnimations: false,
skipButtonText: 'Skip video',
showSolutionButton: true
showSolutionButton: true,
showRetryButton: true
},
override: {},
disableBackwardsNavigation: false
@ -75,7 +76,7 @@ H5P.QuestionSet = function (options, contentId, contentData) {
' <% if (introPage.introduction) { %>' +
' <div class="introduction"><%= introPage.introduction %></div>' +
' <% } %>' +
' <div class="buttons"><a class="qs-startbutton h5p-joubelui-button h5p-button"><%= introPage.startButtonText %></a></div>' +
' <div class="buttons"><a href="#" class="qs-startbutton h5p-joubelui-button h5p-button"><%= introPage.startButtonText %></a></div>' +
'</div>' +
'<% } %>' +
'<div tabindex="-1" class="qs-progress-announcer"></div>' +
@ -108,8 +109,12 @@ H5P.QuestionSet = function (options, contentId, contentData) {
'</div>';
var solutionButtonTemplate = params.endGame.showSolutionButton ?
' <button type="button" class="h5p-joubelui-button h5p-button qs-solutionbutton"><%= solutionButtonText %></button>':
'';
' <button type="button" class="h5p-joubelui-button h5p-button qs-solutionbutton"><%= solutionButtonText %></button>':
'';
const retryButtonTemplate = params.endGame.showRetryButton ?
' <button type="button" class="h5p-joubelui-button h5p-button qs-retrybutton"><%= retryButtonText %></button>':
'';
var resulttemplate =
'<div class="questionset-results">' +
@ -125,16 +130,14 @@ H5P.QuestionSet = function (options, contentId, contentData) {
' <div class="result-text"><%= resulttext %></div>' +
' <% } %>' +
' <div class="buttons">' +
' <button type="button" class="h5p-joubelui-button h5p-button qs-finishbutton"><%= finishButtonText %></button>' +
solutionButtonTemplate +
' <button type="button" class="h5p-joubelui-button h5p-button qs-retrybutton"><%= retryButtonText %></button>' +
retryButtonTemplate +
' </div>' +
'</div>';
var template = new EJS({text: texttemplate});
var endTemplate = new EJS({text: resulttemplate});
var initialParams = $.extend(true, {}, defaults, options);
var poolOrder; // Order of questions in a pool
var currentQuestion = 0;
@ -163,7 +166,9 @@ H5P.QuestionSet = function (options, contentId, contentData) {
var randomizeQuestionOrdering = function (questions) {
// Save the original order of the questions in a multidimensional array [[question0,0],[question1,1]...
var questionOrdering = questions.map(function (questionInstance, index) { return [questionInstance, index]; });
var questionOrdering = questions.map(function (questionInstance, index) {
return [questionInstance, index];
});
// Shuffle the multidimensional array
questionOrdering = H5P.shuffleArray(questionOrdering);
@ -231,7 +236,7 @@ H5P.QuestionSet = function (options, contentId, contentData) {
// Set overrides for questions
var override;
if (params.override.showSolutionButton || params.override.retryButton) {
if (params.override.showSolutionButton || params.override.retryButton || params.override.checkButton === false) {
override = {};
if (params.override.showSolutionButton) {
// Force "Show solution" button to be on or off for all interactions
@ -244,6 +249,11 @@ H5P.QuestionSet = function (options, contentId, contentData) {
override.enableRetry =
(params.override.retryButton === 'on' ? true : false);
}
if (params.override.checkButton === false) {
// Force "Check" button to be on or off for all interactions
override.enableCheckButton = params.override.checkButton;
}
}
/**
@ -340,7 +350,7 @@ H5P.QuestionSet = function (options, contentId, contentData) {
questionInstances[currentQuestion].hideButton('finish');
}
}
};
};
var _stopQuestion = function (questionNumber) {
if (questionInstances[questionNumber]) {
@ -460,7 +470,7 @@ H5P.QuestionSet = function (options, contentId, contentData) {
questionInstances[i].showSolutions();
questionInstances[i].toggleReadSpeaker(false);
}
catch(error) {
catch (error) {
H5P.error("subcontent does not contain a valid showSolutions function");
H5P.error(error);
}
@ -512,7 +522,7 @@ H5P.QuestionSet = function (options, contentId, contentData) {
questionInstances[i].hideButton('prev');
}
}
catch(error) {
catch (error) {
H5P.error("subcontent does not contain a valid resetTask function");
H5P.error(error);
}
@ -550,7 +560,8 @@ H5P.QuestionSet = function (options, contentId, contentData) {
// Update buttons
initializeQuestion();
} else if (params.randomQuestions) {
}
else if (params.randomQuestions) {
randomizeQuestions();
}
@ -762,6 +773,7 @@ H5P.QuestionSet = function (options, contentId, contentData) {
if ($intro.length) {
// Show intro
$('.intro-page', $myDom).show();
$('.qs-startbutton', $myDom).focus();
}
else {
// Show first question
@ -784,12 +796,13 @@ H5P.QuestionSet = function (options, contentId, contentData) {
eparams.comment + '.' +
eparams.resulttext)
.show().focus();
scoreBar.setMaxScore(totals);
scoreBar.setScore(finals);
}, 0);
}
else {
// Remove buttons and feedback section
$('.qs-finishbutton, .qs-solutionbutton, .qs-retrybutton, .feedback-section', $myDom).remove();
$('.qs-solutionbutton, .qs-retrybutton, .feedback-section', $myDom).remove();
}
self.trigger('resize');
@ -946,11 +959,23 @@ H5P.QuestionSet = function (options, contentId, contentData) {
// Allow other libraries to add transitions after the questions have been inited
$('.questionset', $myDom).addClass('started');
$('.qs-startbutton', $myDom).click(function () {
$(this).parents('.intro-page').hide();
$('.questionset', $myDom).show();
_showQuestion(params.initialQuestion);
});
$('.qs-startbutton', $myDom)
.click(function () {
$(this).parents('.intro-page').hide();
$('.questionset', $myDom).show();
_showQuestion(params.initialQuestion);
event.preventDefault();
})
.keydown(function (event) {
switch (event.which) {
case 13: // Enter
case 32: // Space
$(this).parents('.intro-page').hide();
$('.questionset', $myDom).show();
_showQuestion(params.initialQuestion);
event.preventDefault();
}
});
/**
* Triggers changing the current question.
@ -1049,6 +1074,13 @@ H5P.QuestionSet = function (options, contentId, contentData) {
this.getCopyrights = function () {
var info = new H5P.ContentCopyrights();
// IntroPage Background
if (params.introPage !== undefined && params.introPage.backgroundImage !== undefined && params.introPage.backgroundImage.copyright !== undefined) {
var introBackground = new H5P.MediaCopyright(params.introPage.backgroundImage.copyright);
introBackground.setThumbnail(new H5P.Thumbnail(H5P.getPath(params.introPage.backgroundImage.path, contentId), params.introPage.backgroundImage.width, params.introPage.backgroundImage.height));
info.addMedia(introBackground);
}
// Background
if (params.backgroundImage !== undefined && params.backgroundImage.copyright !== undefined) {
var background = new H5P.MediaCopyright(params.backgroundImage.copyright);
@ -1060,7 +1092,8 @@ H5P.QuestionSet = function (options, contentId, contentData) {
var questionCopyrights;
for (var i = 0; i < questionInstances.length; i++) {
var instance = questionInstances[i];
var qParams = params.questions[i].params;
var instanceParams = params.questions[i].params;
questionCopyrights = undefined;
if (instance.getCopyrights !== undefined) {
@ -1070,13 +1103,16 @@ H5P.QuestionSet = function (options, contentId, contentData) {
if (questionCopyrights === undefined) {
// Create a generic flat copyright list
questionCopyrights = new H5P.ContentCopyrights();
H5P.findCopyrights(questionCopyrights, qParams, contentId);
H5P.findCopyrights(questionCopyrights, instanceParams.params, contentId,{
metadata: instanceParams.metadata,
machineName: instanceParams.library.split(' ')[0]
});
}
// Determine label
var label = (params.texts.questionLabel + ' ' + (i + 1));
if (qParams.contentName !== undefined) {
label += ': ' + qParams.contentName;
if (instanceParams.params.contentName !== undefined) {
label += ': ' + instanceParams.params.contentName;
}
else if (instance.getTitle !== undefined) {
label += ': ' + instance.getTitle();

View File

@ -38,8 +38,7 @@
{
"label": "Dots"
}
],
"default": "dots"
]
},
{
"label": "Pass percentage",
@ -130,6 +129,9 @@
{
"label": "Display solution button"
},
{
"label": "Display retry button"
},
{
"label": "No results message",
"description": "Text displayed on end page when \"Display results\" is disabled",
@ -144,7 +146,11 @@
"label": "Overall Feedback",
"fields": [
{
"widgets": [],
"widgets": [
{
"label": "Default"
}
],
"label": "Define custom feedback for any score range",
"description": "Example: 0-20% Bad score, 21-91% Average Score, 91-100% Great Score!",
"entity": "range",
@ -221,6 +227,10 @@
{
"label": "Settings for \"Show solution\" and \"Retry\" buttons",
"fields": [
{
"label": "Show \"Check\" buttons",
"description": "This option determines if the \"Check\" button will be shown for all questions."
},
{
"label": "Override \"Show Solution\" button",
"description": "This option determines if the \"Show Solution\" button will be shown for all questions, disabled for all or configured for each question individually.",
@ -248,4 +258,4 @@
]
}
]
}
}

View File

@ -1,166 +1,168 @@
{
"semantics":[
"semantics": [
{
"label":"Quiz introduction",
"fields":[
"label": "Quiz introduction",
"fields": [
{
"label":"Display introduction"
"label": "Display introduction"
},
{
"label":"Title",
"description":"This title will be displayed above the introduction text."
"label": "Title",
"description": "This title will be displayed above the introduction text."
},
{
"label":"Introduction text",
"description":"This text will be displayed before the quiz starts."
"label": "Introduction text",
"description": "This text will be displayed before the quiz starts."
},
{
"label":"Start button text",
"default":"Start Quiz"
"label": "Start button text",
"default": "Start Quiz"
},
{
"label":"Background image",
"description":"An optional background image for the introduction."
"label": "Background image",
"description": "An optional background image for the introduction."
}
]
},
{
"label":"Background image",
"description":"An optional background image for the Question set."
"label": "Background image",
"description": "An optional background image for the Question set."
},
{
"label":"Progress indicator",
"description":"Question set progress indicator style.",
"options":[
"label": "Progress indicator",
"description": "Question set progress indicator style.",
"options": [
{
"label":"Textual"
"label": "Textual"
},
{
"label":"Dots"
"label": "Dots"
}
],
"default":"dots"
]
},
{
"label":"Pass percentage",
"description":"Percentage of Total score required for passing the quiz."
"label": "Pass percentage",
"description": "Percentage of Total score required for passing the quiz."
},
{
"label":"Questions",
"widgets":[
"label": "Questions",
"widgets": [
{
"label":"Default"
"label": "Default"
},
{
"label":"Textual"
"label": "Textual"
}
],
"entity":"question",
"field":{
"label":"Question type",
"description":"Library for this question."
"entity": "question",
"field": {
"label": "Question type",
"description": "Library for this question."
}
},
{
"label":"Interface texts in quiz",
"fields":[
"label": "Interface texts in quiz",
"fields": [
{
"label":"Back button",
"default":"Previous question"
"label": "Back button",
"default": "Previous question"
},
{
"label":"Next button",
"default":"Next question"
"label": "Next button",
"default": "Next question"
},
{
"label":"Finish button",
"default":"Finish"
"label": "Finish button",
"default": "Finish"
},
{
"label":"Progress text",
"description":"Text used if textual progress is selected.",
"default":"Question: @current of @total questions"
"label": "Progress text",
"description": "Text used if textual progress is selected.",
"default": "Question: @current of @total questions"
},
{
"label":"Label for jumping to a certain question",
"description":"You must use the placeholder '%d' instead of the question number, and %total instead of total amount of questions.",
"default":"Question %d of %total"
"label": "Label for jumping to a certain question",
"description": "You must use the placeholder '%d' instead of the question number, and %total instead of total amount of questions.",
"default": "Question %d of %total"
},
{
"label":"Copyright dialog question label",
"default":"Question"
"label": "Copyright dialog question label",
"default": "Question"
},
{
"label":"Readspeaker progress",
"description":"May use @current and @total question variables",
"default":"Question @current of @total"
"label": "Readspeaker progress",
"description": "May use @current and @total question variables",
"default": "Question @current of @total"
},
{
"label":"Unanswered question text",
"default":"Unanswered"
"label": "Unanswered question text",
"default": "Unanswered"
},
{
"label":"Answered question text",
"default":"Answered"
"label": "Answered question text",
"default": "Answered"
},
{
"label":"Current question text",
"default":"Current question"
"label": "Current question text",
"default": "Current question"
}
]
},
{
"label":"Disable backwards navigation",
"description":"This option will only allow you to move forward in Question Set"
"label": "Disable backwards navigation",
"description": "This option will only allow you to move forward in Question Set"
},
{
"label":"Randomize questions",
"description":"Enable to randomize the order of questions on display."
"label": "Randomize questions",
"description": "Enable to randomize the order of questions on display."
},
{
"label":"Number of questions to be shown:",
"description":"Create a randomized batch of questions from the total."
"label": "Number of questions to be shown:",
"description": "Create a randomized batch of questions from the total."
},
{
"label":"Quiz finished",
"fields":[
"label": "Quiz finished",
"fields": [
{
"label":"Display results"
"label": "Display results"
},
{
"label":"Display solution button"
"label": "Display solution button"
},
{
"label":"No results message",
"description":"Text displayed on end page when \"Display results\" is disabled",
"default":"Finished"
"label": "Display retry button"
},
{
"label":"Feedback heading",
"default":"Your result:",
"description":"This heading will be displayed at the end of the quiz when the user has answered all questions."
"label": "No results message",
"description": "Text displayed on end page when \"Display results\" is disabled",
"default": "Finished"
},
{
"label":"Overall Feedback",
"fields":[
"label": "Feedback heading",
"default": "Your result:",
"description": "This heading will be displayed at the end of the quiz when the user has answered all questions."
},
{
"label": "Overall Feedback",
"fields": [
{
"widgets":[
"widgets": [
{
"label": "Default"
}
],
"label":"Define custom feedback for any score range",
"description":"Example: 0-20% Bad score, 21-91% Average Score, 91-100% Great Score!",
"entity":"range",
"field":{
"fields":[
"label": "Define custom feedback for any score range",
"description": "Example: 0-20% Bad score, 21-91% Average Score, 91-100% Great Score!",
"entity": "range",
"field": {
"fields": [
{
"label":"Score Range"
"label": "Score Range"
},
{},
{
},
{
"label":"Feedback for defined score range",
"placeholder":"Fill in the feedback"
"label": "Feedback for defined score range",
"placeholder": "Fill in the feedback"
}
]
}
@ -168,84 +170,88 @@
]
},
{
"label":"Old Feedback",
"fields":[
"label": "Old Feedback",
"fields": [
{
"label":"Quiz passed greeting",
"description":"This text will be displayed above the score if the user has successfully passed the quiz."
"label": "Quiz passed greeting",
"description": "This text will be displayed above the score if the user has successfully passed the quiz."
},
{
"label":"Passed comment",
"description":"This comment will be displayed after the score if the user has successfully passed the quiz."
"label": "Passed comment",
"description": "This comment will be displayed after the score if the user has successfully passed the quiz."
},
{
"label":"Quiz failed title",
"description":"This text will be displayed above the score if the user has failed the quiz."
"label": "Quiz failed title",
"description": "This text will be displayed above the score if the user has failed the quiz."
},
{
"label":"Failed comment",
"description":"This comment will be displayed after the score if the user has failed the quiz."
"label": "Failed comment",
"description": "This comment will be displayed after the score if the user has failed the quiz."
}
]
},
{
"label":"Solution button label",
"default":"Show solution",
"description":"Text for the solution button."
"label": "Solution button label",
"default": "Show solution",
"description": "Text for the solution button."
},
{
"label":"Retry button label",
"default":"Retry",
"description":"Text for the retry button."
"label": "Retry button label",
"default": "Retry",
"description": "Text for the retry button."
},
{
"label":"Finish button text",
"default":"Finish"
"label": "Finish button text",
"default": "Finish"
},
{
"label":"Display video before quiz results"
"label": "Display video before quiz results"
},
{
"label":"Enable skip video button"
"label": "Enable skip video button"
},
{
"label":"Skip video button label",
"default":"Skip video"
"label": "Skip video button label",
"default": "Skip video"
},
{
"label":"Passed video",
"description":"This video will be played if the user successfully passed the quiz."
"label": "Passed video",
"description": "This video will be played if the user successfully passed the quiz."
},
{
"label":"Fail video",
"description":"This video will be played if the user failes the quiz."
"label": "Fail video",
"description": "This video will be played if the user failes the quiz."
}
]
},
{
"label":"Settings for \"Show solution\" and \"Retry\" buttons",
"fields":[
"label": "Settings for \"Show solution\" and \"Retry\" buttons",
"fields": [
{
"label":"Override \"Show Solution\" button",
"description":"This option determines if the \"Show Solution\" button will be shown for all questions, disabled for all or configured for each question individually.",
"options":[
"label": "Show \"Check\" buttons",
"description": "This option determines if the \"Check\" button will be shown for all questions."
},
{
"label": "Override \"Show Solution\" button",
"description": "This option determines if the \"Show Solution\" button will be shown for all questions, disabled for all or configured for each question individually.",
"options": [
{
"label":"Enabled"
"label": "Enabled"
},
{
"label":"Disabled"
"label": "Disabled"
}
]
},
{
"label":"Override \"Retry\" button",
"description":"This option determines if the \"Retry\" button will be shown for all questions, disabled for all or configured for each question individually.",
"options":[
"label": "Override \"Retry\" button",
"description": "This option determines if the \"Retry\" button will be shown for all questions, disabled for all or configured for each question individually.",
"options": [
{
"label":"Enabled"
"label": "Enabled"
},
{
"label":"Disabled"
"label": "Disabled"
}
]
}

View File

@ -1,166 +1,168 @@
{
"semantics":[
"semantics": [
{
"label":"مقدمة المسابقة",
"fields":[
"label": "مقدمة المسابقة",
"fields": [
{
"label":"عرض المقدمة"
"label": "عرض المقدمة"
},
{
"label":"العنوان",
"description":"سيتم عرض هذا العنوان فوق النص المقدمة"
"label": "العنوان",
"description": "سيتم عرض هذا العنوان فوق النص المقدمة"
},
{
"label":"مقدمة النص",
"description":"سيتم عرض هذا النص قبل أن تبدأ هذه المسابقة"
"label": "مقدمة النص",
"description": "سيتم عرض هذا النص قبل أن تبدأ هذه المسابقة"
},
{
"label":"بدء زر النص",
"default":"Start Quiz"
"label": "بدء زر النص",
"default": "Start Quiz"
},
{
"label":"صورة الخلفية",
"description":"إدخال صورة خلفية اختيارية"
"label": "صورة الخلفية",
"description": "إدخال صورة خلفية اختيارية"
}
]
},
{
"label":"صورة الخلفية",
"description":"صورة خلفية اختيارية لأسئلة"
"label": "صورة الخلفية",
"description": "صورة خلفية اختيارية لأسئلة"
},
{
"label":"مؤشر التقدم",
"description":"أسئلة لتعيين نمط مؤشر التقدم",
"options":[
"label": "مؤشر التقدم",
"description": "أسئلة لتعيين نمط مؤشر التقدم",
"options": [
{
"label":"النصية"
"label": "النصية"
},
{
"label":"النقاط"
"label": "النقاط"
}
],
"default":"dots"
]
},
{
"label":"نسبة النجاح",
"description":"النسبة المئوية لمجموع النقاط المطلوبة لاجتياز الاختبار"
"label": "نسبة النجاح",
"description": "النسبة المئوية لمجموع النقاط المطلوبة لاجتياز الاختبار"
},
{
"label":"الأسئلة",
"widgets":[
"label": "الأسئلة",
"widgets": [
{
"label":"الافتراضي"
"label": "الافتراضي"
},
{
"label":"النصية"
"label": "النصية"
}
],
"entity":"السؤال",
"field":{
"label":"نوع السؤال",
"description":"مكتبة لهذا السؤال"
"entity": "السؤال",
"field": {
"label": "نوع السؤال",
"description": "مكتبة لهذا السؤال"
}
},
{
"label":"واجهة النصوص لهذه المسابقة",
"fields":[
"label": "واجهة النصوص لهذه المسابقة",
"fields": [
{
"label":"زر العودة",
"default":"Previous question"
"label": "زر العودة",
"default": "Previous question"
},
{
"label":"زر التقدم",
"default":"Next question"
"label": "زر التقدم",
"default": "Next question"
},
{
"label":"زر الانتهاء",
"default":"Finish"
"label": "زر الانتهاء",
"default": "Finish"
},
{
"label":"نص التقدم",
"description":"النص المستخدم إذا تم تحديد التقدم نصيا",
"default":"Question: @current of @total questions"
"label": "نص التقدم",
"description": "النص المستخدم إذا تم تحديد التقدم نصيا",
"default": "Question: @current of @total questions"
},
{
"label":"Label for jumping to a certain question",
"description":"You must use the placeholder '%d' instead of the question number, and %total instead of total amount of questions.",
"default":"Question %d of %total"
"label": "Label for jumping to a certain question",
"description": "You must use the placeholder '%d' instead of the question number, and %total instead of total amount of questions.",
"default": "Question %d of %total"
},
{
"label":"Copyright dialog question label",
"default":"السؤال"
"label": "Copyright dialog question label",
"default": "السؤال"
},
{
"label":"Readspeaker progress",
"description":"May use @current and @total question variables",
"default":"Question @current of @total"
"label": "Readspeaker progress",
"description": "May use @current and @total question variables",
"default": "Question @current of @total"
},
{
"label":"Unanswered question text",
"default":"Unanswered"
"label": "Unanswered question text",
"default": "Unanswered"
},
{
"label":"Answered question text",
"default":"Answered"
"label": "Answered question text",
"default": "Answered"
},
{
"label":"Current question text",
"default":"Current question"
"label": "Current question text",
"default": "Current question"
}
]
},
{
"label":"Disable backwards navigation",
"description":"This option will only allow you to move forward in Question Set"
"label": "Disable backwards navigation",
"description": "This option will only allow you to move forward in Question Set"
},
{
"label":"Randomize questions",
"description":"تمكين العرض بطريقة عشوائية وترتيب الأسئلة على الشاشة"
"label": "Randomize questions",
"description": "تمكين العرض بطريقة عشوائية وترتيب الأسئلة على الشاشة"
},
{
"label":"Number of questions to be shown:",
"description":"Create a randomized batch of questions from the total."
"label": "Number of questions to be shown:",
"description": "Create a randomized batch of questions from the total."
},
{
"label":"انتهاء المسابقة",
"fields":[
"label": "انتهاء المسابقة",
"fields": [
{
"label":"عرض النتائج"
"label": "عرض النتائج"
},
{
"label":"Display solution button"
"label": "Display solution button"
},
{
"label":"No results message",
"description":"Text displayed on end page when \"Display results\" is disabled",
"default":"Finished"
"label": "Display retry button"
},
{
"label":"نص راس الملاحظات",
"default":"Your result:",
"description":"سيتم عرض هذا العنوان في نهاية هذه المسابقة حيثما أجاب المستخدم على جميع الأسئلة المستعملة"
"label": "No results message",
"description": "Text displayed on end page when \"Display results\" is disabled",
"default": "Finished"
},
{
"label":"شفافية خلفية العناصر",
"fields":[
"label": "نص راس الملاحظات",
"default": "Your result:",
"description": "سيتم عرض هذا العنوان في نهاية هذه المسابقة حيثما أجاب المستخدم على جميع الأسئلة المستعملة"
},
{
"label": "شفافية خلفية العناصر",
"fields": [
{
"widgets":[
"widgets": [
{
"label": "Default"
}
],
"label":"Define custom feedback for any score range",
"description":"Example: 0-20% Bad score, 21-91% Average Score, 91-100% Great Score!",
"entity":"range",
"field":{
"fields":[
"label": "Define custom feedback for any score range",
"description": "Example: 0-20% Bad score, 21-91% Average Score, 91-100% Great Score!",
"entity": "range",
"field": {
"fields": [
{
"label":"Score Range"
"label": "Score Range"
},
{},
{
},
{
"label":"Feedback for defined score range",
"placeholder":"Fill in the feedback"
"label": "Feedback for defined score range",
"placeholder": "Fill in the feedback"
}
]
}
@ -168,84 +170,88 @@
]
},
{
"label":"Old Feedback",
"fields":[
"label": "Old Feedback",
"fields": [
{
"label":"تعليق النجاح بالمسابقة",
"description":"سيتم عرض هذا النص أعلاه النتيجة إذا انقضى المستخدم بنجاح هذه المسابقة"
"label": "تعليق النجاح بالمسابقة",
"description": "سيتم عرض هذا النص أعلاه النتيجة إذا انقضى المستخدم بنجاح هذه المسابقة"
},
{
"label":"ملاحظة النجاح",
"description":"سيتم عرض هذه الملاحظة بعد النتيجة إذا انقضى المستخدم بنجاح هذه المسابقة"
"label": "ملاحظة النجاح",
"description": "سيتم عرض هذه الملاحظة بعد النتيجة إذا انقضى المستخدم بنجاح هذه المسابقة"
},
{
"label":"تعليق الرسوب بالمسابقة",
"description":"سيتم عرض هذا النص أعلاه النتيجة إذا كان المستخدم قد فشلت في المسابقة"
"label": "تعليق الرسوب بالمسابقة",
"description": "سيتم عرض هذا النص أعلاه النتيجة إذا كان المستخدم قد فشلت في المسابقة"
},
{
"label":"ملاحظة الرسوب",
"description":"سيتم عرض هذه الملاحظة بعد النتيجة إذا كان المستخدم قد فشلت في المسابقة"
"label": "ملاحظة الرسوب",
"description": "سيتم عرض هذه الملاحظة بعد النتيجة إذا كان المستخدم قد فشلت في المسابقة"
}
]
},
{
"label":"تسمية زر اظهار الحل",
"default":"مشاهدة الحل",
"description":"نص زر الحل"
"label": "تسمية زر اظهار الحل",
"default": "مشاهدة الحل",
"description": "نص زر الحل"
},
{
"label":"تسمية زر إعادة المحاولة",
"default":"إعادة المحاولة",
"description":"نص زر إعادة المحاولة"
"label": "تسمية زر إعادة المحاولة",
"default": "إعادة المحاولة",
"description": "نص زر إعادة المحاولة"
},
{
"label":"نص زر الانتهاء",
"default":"Finish"
"label": "نص زر الانتهاء",
"default": "Finish"
},
{
"label":"عرض الفيديو قبل نتائج المسابقة"
"label": "عرض الفيديو قبل نتائج المسابقة"
},
{
"label":"تفعيل زر تخطى الفيديو"
"label": "تفعيل زر تخطى الفيديو"
},
{
"label":"تسمية زر تخطى الفيديو",
"default":"Skip video"
"label": "تسمية زر تخطى الفيديو",
"default": "Skip video"
},
{
"label":"فيديو النجاح بالمسابقة",
"description":"سيتم تشغيل هذا الفيديو إذا كان المستخدم ناجحا بهذه المسابقة"
"label": "فيديو النجاح بالمسابقة",
"description": "سيتم تشغيل هذا الفيديو إذا كان المستخدم ناجحا بهذه المسابقة"
},
{
"label":"فيديو الرسوب بالمسابقة",
"description":"سيتم تشغيل هذا الفيديو إذا كان المستخدم راسبا بهذه المسابقة"
"label": "فيديو الرسوب بالمسابقة",
"description": "سيتم تشغيل هذا الفيديو إذا كان المستخدم راسبا بهذه المسابقة"
}
]
},
{
"label":"إعدادات زر \"مشاهدة حل \" وزر \"إعادة المحاولة\" ",
"fields":[
"label": "إعدادات زر \"مشاهدة حل \" وزر \"إعادة المحاولة\" ",
"fields": [
{
"label":"Override \"Show Solution\" button",
"description":"This option determines if the \"Show Solution\" button will be shown for all questions, disabled for all or configured for each question individually.",
"options":[
"label": "Show \"Check\" buttons",
"description": "This option determines if the \"Check\" button will be shown for all questions."
},
{
"label": "Override \"Show Solution\" button",
"description": "This option determines if the \"Show Solution\" button will be shown for all questions, disabled for all or configured for each question individually.",
"options": [
{
"label":"Enabled"
"label": "Enabled"
},
{
"label":"Disabled"
"label": "Disabled"
}
]
},
{
"label":"Override \"Retry\" button",
"description":"This option determines if the \"Retry\" button will be shown for all questions, disabled for all or configured for each question individually.",
"options":[
"label": "Override \"Retry\" button",
"description": "This option determines if the \"Retry\" button will be shown for all questions, disabled for all or configured for each question individually.",
"options": [
{
"label":"Enabled"
"label": "Enabled"
},
{
"label":"Disabled"
"label": "Disabled"
}
]
}

View File

@ -1,166 +1,168 @@
{
"semantics":[
"semantics": [
{
"label":"Uvod u kviz",
"fields":[
"label": "Uvod u kviz",
"fields": [
{
"label":"Prikaži uvod"
"label": "Prikaži uvod"
},
{
"label":"Naziv",
"description":"Ovaj će naziv biti prikazan iznad uvodnog teksta."
"label": "Naziv",
"description": "Ovaj će naziv biti prikazan iznad uvodnog teksta."
},
{
"label":"Tekst uvoda",
"description":"Ovaj će naziv biti prikazan prije početka kviza."
"label": "Tekst uvoda",
"description": "Ovaj će naziv biti prikazan prije početka kviza."
},
{
"label":"Oznaka za dugme \"Start\"",
"default":"Start"
"label": "Oznaka za dugme \"Start\"",
"default": "Start"
},
{
"label":"Slika pozadine",
"description":"Slika pozadine na početku. (opcionalno)."
"label": "Slika pozadine",
"description": "Slika pozadine na početku. (opcionalno)."
}
]
},
{
"label":"Slika pozadine",
"description":"Slika pozadine seta pitanja. (opcionalno)."
"label": "Slika pozadine",
"description": "Slika pozadine seta pitanja. (opcionalno)."
},
{
"label":"Prikaz napredovanja",
"description":"Prikazivanje napredovanja",
"options":[
"label": "Prikaz napredovanja",
"description": "Prikazivanje napredovanja",
"options": [
{
"label":"Tekst"
"label": "Tekst"
},
{
"label":"Bodovi"
"label": "Bodovi"
}
],
"default":"dots"
]
},
{
"label":"Procenat za uspješan prolaz",
"description":"Procenat tačnih odgovora kao preduvijet da je kviz\/zadatak uspješno završen."
"label": "Procenat za uspješan prolaz",
"description": "Procenat tačnih odgovora kao preduvijet da je kviz/zadatak uspješno završen."
},
{
"label":"Pitanja",
"widgets":[
"label": "Pitanja",
"widgets": [
{
"label":"Standard"
"label": "Standard"
},
{
"label":"Tekst"
"label": "Tekst"
}
],
"entity":"pitanje",
"field":{
"label":"Vrsta pitanja",
"description":"Biblioteka za ovo pitanje."
"entity": "pitanje",
"field": {
"label": "Vrsta pitanja",
"description": "Biblioteka za ovo pitanje."
}
},
{
"label":"Prikaz teksta u kvizu",
"fields":[
"label": "Prikaz teksta u kvizu",
"fields": [
{
"label":"Oznaka za dugme \"Nazad\"",
"default":"Zurück"
"label": "Oznaka za dugme \"Nazad\"",
"default": "Nazad"
},
{
"label":"Oznaka za dugme \"Naprijed\"",
"default":"Weiter"
"label": "Oznaka za dugme \"Naprijed\"",
"default": "Dalje"
},
{
"label":"Oznaka za dugme \"Završi\"",
"default":"Kraj"
"label": "Oznaka za dugme \"Završi\"",
"default": "Kraj"
},
{
"label":"Početni tekst",
"description":"Koristi tekst ako je izabran za napredak u pisanom obliku.",
"default":"Aktuelno pitanje: @current od @total pitanja"
"label": "Početni tekst",
"description": "Koristi tekst ako je izabran za napredak u pisanom obliku.",
"default": "Aktuelno pitanje: @current od @total pitanja"
},
{
"label":"Označavanje za skakanje do određene tačke",
"description":"Koristi mjesto '%d' za redoslijed pitanja i %total za ukupan broj pitanja.",
"default":"Pitanje %d od %total"
"label": "Označavanje za skakanje do određene tačke",
"description": "Koristi mjesto '%d' za redoslijed pitanja i %total za ukupan broj pitanja.",
"default": "Pitanje %d od %total"
},
{
"label":"Opis pitanja u vezi sa vezi s autorom",
"default":"Pitanje"
"label": "Opis pitanja u vezi sa vezi s autorom",
"default": "Pitanje"
},
{
"label":"Napredno \"Readspeaker\"",
"description":"Varijable: @current i @total",
"default":"Pitanje @current od @total"
"label": "Napredno \"Readspeaker\"",
"description": "Varijable: @current i @total",
"default": "Pitanje @current od @total"
},
{
"label":"Tekst za neodgovorena pitanja",
"default":"Neodgovoreno"
"label": "Tekst za neodgovorena pitanja",
"default": "Neodgovoreno"
},
{
"label":"Tekst za odgovorena pitanja",
"default":"Odgovoreno"
"label": "Tekst za odgovorena pitanja",
"default": "Odgovoreno"
},
{
"label":"Tekst za trenutno pitanja",
"default":"Trenutno pitanje"
"label": "Tekst za trenutno pitanja",
"default": "Trenutno pitanje"
}
]
},
{
"label":"Deaktivirati mogućnost povratka unazad",
"description":"Ako je aktivirano, korisnik će moći ići samo naprijed u odgovaranju na pitanja."
"label": "Deaktivirati mogućnost povratka unazad",
"description": "Ako je aktivirano, korisnik će moći ići samo naprijed u odgovaranju na pitanja."
},
{
"label":"Izmješati pitanja",
"description":"Ako je aktivirano, pitanja će kod svakog učitavanja kviza imati drugi raspored."
"label": "Izmješati pitanja",
"description": "Ako je aktivirano, pitanja će kod svakog učitavanja kviza imati drugi raspored."
},
{
"label":"Broj pitanja za prikaz:",
"description":"Može se koristiti kod odabira slučajnog pitanja."
"label": "Broj pitanja za prikaz:",
"description": "Može se koristiti kod odabira slučajnog pitanja."
},
{
"label":"Završi kviz",
"fields":[
"label": "Završi kviz",
"fields": [
{
"label":"Prikaz rezultata"
"label": "Prikaz rezultata"
},
{
"label":"Napomena ako nema rezultata"
"label": "Napomena ako nema rezultata"
},
{
"label":"Oznaka za povratne informacije",
"description":"Ovaj tekst će biti prikazan na kraju kviza kada korisnik odgovori na pitanja.",
"default":"Tvoj rezultat:"
"label": "Prikaži dugme ponavljanja"
},
{
"label":"Tekst za prikaz broj odova",
"default":"Osvojeno @score bodova od @total mogućih.",
"description":"Ovaj tekst će se koristiti da prikaže ukupan broj bodova korisnika. \"@score\" će biti zamjenjen sa osvojenim bodovima, \"@total\" će biti zamjenjeno sa maksimalnim brojem bodova."
"label": "Oznaka za povratne informacije",
"description": "Ovaj tekst će biti prikazan na kraju kviza kada korisnik odgovori na pitanja.",
"default": "Tvoj rezultat:"
},
{
"label":"Pozadinska zamućenost za elemente za uzimanje",
"fields":[
"label": "Tekst za prikaz broj odova",
"default": "Osvojeno @score bodova od @total mogućih.",
"description": "Ovaj tekst će se koristiti da prikaže ukupan broj bodova korisnika. \"@score\" će biti zamjenjen sa osvojenim bodovima, \"@total\" će biti zamjenjeno sa maksimalnim brojem bodova."
},
{
"label": "Pozadinska zamućenost za elemente za uzimanje",
"fields": [
{
"widgets":[
"widgets": [
{
"label": "Standardno"
}
],
"label":"Define custom feedback for any score range",
"description":"Example: 0-20% Bad score, 21-91% Average Score, 91-100% Great Score!",
"entity":"range",
"field":{
"fields":[
"label": "Definiraj standardni feedback za bilo koji rezultat",
"description": "Primjer: 0-20% Loše, 21-91% Dobro, 91-100% Odlično!",
"entity": "range",
"field": {
"fields": [
{
"label":"Score Range"
"label": "Rezultat"
},
{},
{
},
{
"label":"Feedback for defined score range",
"placeholder":"Fill in the feedback"
"label": "Feedback za definirani rezultat",
"placeholder": "Unesi feedback"
}
]
}
@ -168,88 +170,92 @@
]
},
{
"label":"Old Feedback",
"fields":[
"label": "Stari Feedback",
"fields": [
{
"label":"Komentar za uspješno završen kviz",
"description":"Ovaj tekst će biti prikazan iznad broja bodova kada je korisnik uspješno završio kviz."
"label": "Komentar za uspješno završen kviz",
"description": "Ovaj tekst će biti prikazan iznad broja bodova kada je korisnik uspješno završio kviz."
},
{
"label":"Oznaka kod neuspješnog završetka kviza",
"description":"Ovaj tekst će biti prikazan iznad broja bodova kada je korisnik nije uspješno završio kviz."
"label": "Oznaka kod neuspješnog završetka kviza",
"description": "Ovaj tekst će biti prikazan iznad broja bodova kada je korisnik nije uspješno završio kviz."
},
{
"label":"Oznaka kod neuspješnog završetka kviza",
"description":"Ovaj komentar će se pokazati nakon što korisnik nije sakupio dovoljan broj bodova za uspješan završetak kviza."
"label": "Oznaka kod neuspješnog završetka kviza",
"description": "Ovaj komentar će se pokazati nakon što korisnik nije sakupio dovoljan broj bodova za uspješan završetak kviza."
},
{
"label":"Oznaka za dugme \"Prikaži rješenje\"",
"description":"Oznaka za dugme \"Prikaži rješenje\""
"label": "Oznaka za dugme \"Prikaži rješenje\"",
"description": "Oznaka za dugme \"Prikaži rješenje\""
}
]
},
{
"label":"Oznaka za dugme \"Ponovi\"",
"default":"Prikaži rješenje",
"description":"Oznaka za dugme \"Ponovi\""
"label": "Oznaka za dugme \"Ponovi\"",
"default": "Prikaži rješenje",
"description": "Oznaka za dugme \"Ponovi\""
},
{
"label":"Oznaka za dugme \"Završi\"",
"default":"Ponovi",
"description":"Text for the retry button."
"label": "Oznaka za dugme \"Završi\"",
"default": "Ponovi",
"description": "Tekst za dugme ponovi."
},
{
"label":"Prikaži video prije rezultata kviza",
"default":"Kraj"
"label": "Prikaži video prije rezultata kviza",
"default": "Kraj"
},
{
"label":"Aktiviraj dugme \"Preskoči vidio\""
"label": "Aktiviraj dugme \"Preskoči vidio\""
},
{
"label":"Oznaka za dugme \"Preskoči video\""
"label": "Oznaka za dugme \"Preskoči video\""
},
{
"label":"Video nakon položenog kviza",
"default":"Skip video"
"label": "Video nakon položenog kviza",
"default": "Preskoči video"
},
{
"label":"Video nakon nepoloženog kviza",
"description":"Ovaj video se prikazuje nakon što korisnik neuspješno završi kviz."
"label": "Video nakon nepoloženog kviza",
"description": "Ovaj video se prikazuje nakon što korisnik neuspješno završi kviz."
},
{
"label":"Fail video",
"description":"This video will be played if the user failes the quiz."
"label": "Video nakon neuspjeha",
"description": "Ovaj video će biti prikazan ako korisnik nije uspješno riješio kviz."
}
]
},
{
"label":"Podešavanje dugmeta \"Prikaži rješenje\" i \"Ponovi\".",
"fields":[
"label": "Podešavanje dugmeta \"Prikaži rješenje\" i \"Ponovi\".",
"fields": [
{
"label":"Poništi dugme \"Prikaži rješenje\"",
"description":"Ova opcija podešava prikazivanje dugmeta \"Prikaži rješenje\" za sva pitanja ili da bude za svako posebno pitanje konfigurirano.",
"options":[
"label": "Prikaži \"Provjeri\" dgme",
"description": "Ova opcija pokazuje da li će dugme \"Provjeri\" biti prikazano za sva pitanja."
},
{
"label": "Poništi dugme \"Prikaži rješenje\"",
"description": "Ova opcija podešava prikazivanje dugmeta \"Prikaži rješenje\" za sva pitanja ili da bude za svako posebno pitanje konfigurirano.",
"options": [
{
"label":"Prikaži"
"label": "Prikaži"
},
{
"label":"Nemoj prikazati"
"label": "Nemoj prikazati"
}
]
},
{
"label":"Poništi dugme \"Ponovi\"",
"description":"Ova opcija podešava prikazivanje dugmeta \"Ponovi\" za sva pitanja ili da bude za svako posebno pitanje konfigurirano.",
"options":[
"label": "Poništi dugme \"Ponovi\"",
"description": "Ova opcija podešava prikazivanje dugmeta \"Ponovi\" za sva pitanja ili da bude za svako posebno pitanje konfigurirano.",
"options": [
{
"label":"Prikaži"
"label": "Prikaži"
},
{
"label":"Nemoj prikazati"
"label": "Nemoj prikazati"
}