���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /home3/cpr76684/public_html/e5.tar
���ѧ٧ѧ�
cc/e5cc04e399371efa530bd1bac53d036af2507443 0000666 00000000423 15152047217 0012501 0 ustar 00 { "libraryStrings": { "distributeButtonLabel": "Distribuir Uniformemente", "distributeButtonWarning": "Los valores serán cambiados para todos los rangos. ¿Desea proseguir?", "rangeOutOfSequenceWarning": "Los rangos de puntaje están fuera de secuencia" } } 9d/e59d26380dba2b4fb71968ad1cfc840bc9a232b9 0000666 00000000555 15152047217 0012616 0 ustar 00 { "semantics": [ { "label": "Tabella", "default": "<table class=\"h5p-table\"><thead><tr><th scope=\"col\">Intestazione Colonna 1</th><th scope=\"col\">Intestazione Colonna 2</th></tr></thead><tbody><tr><td>Riga 1 Colonna 1</td><td>Riga 1 Colonna 2</td></tr><tr><td>Riga 2 Colonna 1</td><td>Riga 2 Colonna 2</td></tr></tbody></table>" } ] } 70/e570e195229200ffa68e0b02a24f37577ce7dd3e 0000666 00000006220 15152047217 0012305 0 ustar 00 { "semantics": [ { "label": "Inleiding", "description": "Inleidingteks (maksimum 100 karakters)" }, { "label": "Vasvraetipe", "options": [ { "label": "Wiskundige bewerkings vasvrae" }, { "label": "Liniêre vergelykingsvasvrae" } ] }, { "label": "Rekenkundige soort", "options": [ { "label": "Optel" }, { "label": "Aftrek" }, { "label": "Vermenigvuldiging" }, { "label": "Deel" } ] }, { "label": "Vergelyking tipe", "options": [ { "label": "Basies [ 3x = 12 ]" }, { "label": "Intermediêr [ 4x - 3 = 13 ]" }, { "label": "Gevorderd [ 5x + 3 = 3x + 15 ]" } ] }, { "label": "Aktiveer breuke", "description": "Aktiveer om breuke in vergelykings toe te laat." }, { "label": "Maksimum aantal vrae" }, { "label": "Gebruikers paneelbord vertalings", "fields": [ { "label": "Telling tydens vasvrae", "default": "Telling:" }, { "label": "Tyd", "default": "Tyd: @time" }, { "label": "Uitslae bladsyopskrif", "default": "Klaar!" }, { "label": "Gaan etiket", "default": "BEGIN!" }, { "label": "Beginknoppie etiket", "default": "Begin" }, { "label": "Probeer weer knoppie etiket", "default": "Probeer weer" }, { "label": "Spreekleserteks vir regte antwoord", "default": "Reg" }, { "label": "Spreekleserteks vir verkeerde antwoord", "default": "Verkeerd. Die regte antwoord was :num" }, { "label": "Spreekleseretiket vir die stophorlosie", "default": "Tydsduur in ure, minute en sekondes." }, { "label": "Spreekleserteks vir vraag", "default": "Waaraan is :arithmetic gelyk aan?" }, { "label": "Spreekleserteks vir vergelykingvraag", "default": "Vir die vergelyking :equation, waaraan is :item gelyk aan?" }, { "label": "Spreekleserteks vir vergelykingveranderlike", "default": "Waaraan is :item gelyk aan?" }, { "label": "Optel operateurteks", "default": "plus" }, { "label": "Aftrek operateur teks", "default": "minus" }, { "label": "Maal operateurteks", "default": "maal" }, { "label": "Deel operateurteks", "default": "gedeel deur" }, { "label": "Gelykaan tekenteks", "default": "gelyk aan" }, { "label": "Skyfienommer teks", "description": "Maak huidige skyfie en totale aantal skyfies bekend, veranderlikes is :num en :total", "default": "Slide :num van :total" } ] } ] } 15/e5154f16abdc6520a4f098786cbf8d48f5c933e7 0000666 00000025570 15152047217 0012421 0 ustar 00 .h5p-dragnbar { height: 7%; background: transparent; position: absolute; top: -7%; left: 0; width: 100%; padding: 0 0.5em; box-sizing: border-box; -moz-box-sizing: border-box; } .h5p-dragnbar .h5p-dragnbar-ul { list-style: none; margin: 0; padding: 0; height: 100%; } .h5p-dragnbar-ul { float: right; } .h5p-dragnbar-li { float: left; margin: 0; padding: 0; border-right: 1px solid #ccc; border-left: 1px solid #eee; height: 100%; background: rgb(240,240,240); /* Old browsers */ background: -moz-linear-gradient(top, rgba(240,240,240,1) 1%, rgba(204,204,204,1) 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(1%,rgba(240,240,240,1)), color-stop(100%,rgba(204,204,204,1))); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, rgba(240,240,240,1) 1%,rgba(204,204,204,1) 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, rgba(240,240,240,1) 1%,rgba(204,204,204,1) 100%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, rgba(240,240,240,1) 1%,rgba(204,204,204,1) 100%); /* IE10+ */ background: linear-gradient(to bottom, rgba(240,240,240,1) 1%,rgba(204,204,204,1) 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0f0f0', endColorstr='#cccccc',GradientType=0 ); /* IE6-9 */ } .h5p-coursepresentation-editor .h5p-dragnbar-li { position: relative; } .h5p-dragnbar-li:hover { background: rgb(204,204,204); /* Old browsers */ background: -moz-linear-gradient(top, rgba(204,204,204,1) 12%, rgba(240,240,240,1) 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(12%,rgba(204,204,204,1)), color-stop(100%,rgba(240,240,240,1))); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, rgba(204,204,204,1) 12%,rgba(240,240,240,1) 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, rgba(204,204,204,1) 12%,rgba(240,240,240,1) 100%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, rgba(204,204,204,1) 12%,rgba(240,240,240,1) 100%); /* IE10+ */ background: linear-gradient(to bottom, rgba(204,204,204,1) 12%,rgba(240,240,240,1) 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#f0f0f0',GradientType=0 ); /* IE6-9 */ } .h5p-dragnbar-li.disabled, .h5p-dragnbar-li.disabled:hover { opacity: 0.3; cursor: auto; } .h5peditor-dragnbar > .h5p-dragnbar-ul > .h5p-dragnbar-li:first-child { border-left: 0; border-top-left-radius: 0.5em; } .h5peditor-dragnbar > .h5p-dragnbar-ul > .h5p-dragnbar-li:last-child { border-right: 0; border-top-right-radius: 0.5em; } .h5peditor-dragnbar .h5p-dragnbar-li .h5p-dragnbar-paste-button { border-top-right-radius: 0.5em; } .h5p-dragnbar-button { line-height: 1em; display: block; width: 1.4em; padding: 0.3em; } .h5p-dragnbar-button:before { font-size: 1.4 } .h5p-dragnbar-a { line-height: 1em; display: block; width: 1.4em; padding: 0.3em; color: #000; } .h5p-dragnbar-a:hover { text-decoration: none; } .h5p-dragnbar-left { float: left; } .h5p-dragnbar-left > .h5p-dragnbar-li:first-child { border-left: 0; border-right: 1px solid #ccc; border-top-left-radius: 0.5em; } .h5p-dragnbar-left > .h5p-dragnbar-li:last-child { border-left: 1px solid #eee; border-top-right-radius: 0.5em; } .h5p-dragnbar-a { font-family: H5PCoursePresentation; color: #494949; } .h5p-dragnbar-a:before { font-size: 1.2em; } .h5p-dragnbar-advancedtext-button:before { content: "\e997"; font-size: 1.6em; } /* FontAwesome4 icons */ .h5p-dragnbar-table-button:before, .h5p-dragnbar-link-button:before, .h5p-dragnbar-image-button:before, .h5p-dragnbar-audio-button:before, .h5p-dragnbar-video-button:before, .h5p-dragnbar-more-button:before, .h5p-dragnbar-twitteruserfeed-button:before, .h5p-dragnbar-audiorecorder-button:before, .h5p-dragnbar-interactivevideo-button:before, .h5p-dragnbar-chart-button:before { font-family: 'H5PFontAwesome4'; color: #494949; font-size: 1.1em; vertical-align: top; } .h5p-dragnbar-shape-button:before, .h5p-dragnbar-shape-rectangle-button:before, .h5p-dragnbar-shape-circle-button:before, .h5p-dragnbar-shape-horizontal-line-button:before, .h5p-dragnbar-shape-vertical-line-button:before { font-family: 'H5PFontIcons'; color: #494949; font-size: 1em; vertical-align: top; } .h5p-dragnbar-shape-button:before { font-size: 1.5em; } .h5p-dragnbar-more-button { width: 0.7em; } .h5p-dragnbar-table-button:before { content: "\f0ce"; } .h5p-dragnbar-link-button:before { content: "\f0c1"; } .h5p-dragnbar-image-button:before { content: "\f03e"; } .h5p-dragnbar-audio-button:before { content: "\f028"; } .h5p-dragnbar-video-button:before { content: "\f008"; } .h5p-dragnbar-twitteruserfeed-button:before { content: "\f099"; } .h5p-dragnbar-audiorecorder-button:before { content: "\f130"; } .h5p-dragnbar-multimediachoice-button:before{ content: "\e901"; } .h5p-dragnbar-more-button:before { content: "\f142"; font-size: 1em; } .h5p-dragnbar-interactivevideo-button:before { content: "\f01d"; vertical-align: middle; } .h5p-dragnbar-chart-button:before { content: "\f200"; } /* H5P specific icons */ .h5p-dragnbar-dragquestion-button:before { content: "\e991"; } .h5p-dragnbar-blanks-button:before { content: "\e994"; } .h5p-dragnbar-multichoice-button:before { content: "\e603"; } .h5p-dragnbar-truefalse-button:before { font-family: 'H5PFontIcons'; content: "\e902"; } .h5p-dragnbar-summary-button:before { content: "\e992"; } .h5p-dragnbar-continuoustext-button:before { content: "\e996"; } .h5p-dragnbar-exportabletextarea-button:before { content: "\e995"; font-size: 1.3em; vertical-align: middle; } .h5p-dragnbar-markthewords-button:before { content: "\e601"; font-size: 1.4em; } .h5p-dragnbar-dragtext-button:before { content: "\e600"; font-size: 1.4em; } .h5p-dragnbar-gotoslide-button:before { content: "\e602"; } .h5p-dragnbar-singlechoiceset-button:before { content: "\e993"; } .h5p-dragnbar-dialogcards-button:before { content: "\e900"; } .h5p-dragnbar-shape-button:before { content: "\e91c"; } .h5p-dragnbar-shape-rectangle-button:before { content: "\e91f"; } .h5p-dragnbar-shape-circle-button:before { content: "\e91d"; } .h5p-dragnbar-shape-vertical-line-button:before { content: "\e920"; } .h5p-dragnbar-shape-horizontal-line-button:before { content: "\e91e"; } .h5p-dragnbar-li-ul { padding: 0; list-style: none; position: absolute; top: 1.7em; right: 0; z-index: 2; display: none; /* Remove the whitespace between more button and dropdown menu */ margin-top: -0.06em; } .h5p-dragnbar-li-ul .h5p-dragnbar-li { float: none; height: 2em; box-sizing: border-box; border-left: 0; /* Borders around the drop down buttons */ border-left: 1px solid #f7f0f9; border-bottom: 1px solid #f7f0f9; border-right: 1px solid #f7f0f9; /* Remove the whitespace between buttons in the dropdown menu */ margin-top: -0.04em; padding: 0.2em 0 0 0; } /* Remove top-left rounding of corner for drop down buttons */ .h5p-dragnbar-li-ul .h5p-dragnbar-li:first-child { border-top-left-radius: 0em; } /* Change the rounding of the last drop down button to be rounded downwards */ .h5p-dragnbar-li-ul .h5p-dragnbar-li:last-child { border-top-right-radius: 0em; border-bottom-left-radius: 0.5em; border-bottom-right-radius: 0.5em; } .h5p-dragnbar-li-ul .h5p-dragnbar-a { height: 1em; } /* Rules for vertical menu buttons when they are in the horizontal menu */ ul:not(.h5p-dragnbar-li-ul) > .h5p-dragnbar-li > a.h5p-dragnbar-interactivevideo-button:before { vertical-align: bottom; } ul:not(.h5p-dragnbar-li-ul) > .h5p-dragnbar-li > a.h5p-dragnbar-table-button:before, ul:not(.h5p-dragnbar-li-ul) > .h5p-dragnbar-li > a.h5p-dragnbar-exportabletextarea-button:before, ul:not(.h5p-dragnbar-li-ul) > .h5p-dragnbar-li > a.h5p-dragnbar-markthewords-button:before { vertical-align: super; } ul:not(.h5p-dragnbar-li-ul) > .h5p-dragnbar-li > a.h5p-dragnbar-dialogcards-button:before { font-size: 1.0em; vertical-align: baseline; } .h5p-dragnbar-keywords { width: auto; border-radius: 0.2em 0.2em 0 0; cursor: pointer; z-index: 3; position: relative; outline: none; padding: 0.15em 0.5em; } .h5p-dragnbar-keywords.h5p-open { background-color: white; box-shadow: 0 0px 5px 2px rgba(105, 105, 105, 0.4); } .h5p-dragnbar-keywords span { font-size: 0.6em; font-weight: bold; vertical-align: middle; color: #4a4a4a; } .h5p-dragnbar-keywords:before { font-family: 'H5PFontIcons'; content: '\e90b'; margin-right: 0.25em; -webkit-font-smoothing: antialiased; top: 0.1em; position: relative; } .h5p-dragnbar-keywords:after { font-family: 'h5p'; content: '\e565'; margin-left: 0.5em; vertical-align: middle; font-size: 0.6em; } .h5p-dragnbar-keywords.h5p-open:after { display: inline-block; -ms-transform: rotate(180deg); -webkit-transform: rotate(180deg); transform: rotate(180deg); } .h5p-keywords-dropdown { position: absolute; z-index: 2; top: 1.4em; width: 100%; max-width: 6.5em; background: #fff; box-shadow: 0 0px 5px 2px rgba(105, 105, 105, 0.4); padding: 0.25em 0.5em 0.5em; visibility: hidden; overflow: auto; overflow-x: hidden; overflow-y: auto; text-align: left; border-radius: 0 0.2em 0.2em 0.2em; } .h5p-keywords-dropdown.h5p-open { visibility: visible; } .h5p-keywords-dropdown > label { display: block; white-space: nowrap; font-size: 0.6em; padding: 0.5em 0.6em; color: #4a4a4a; } .h5p-keywords-dropdown .h5p-keywords-hide.h5p-disabled { opacity: 0.6; } .h5p-keywords-dropdown input[type="text"], .h5p-keywords-dropdown input[type="checkbox"] { vertical-align: middle; } .h5p-keywords-dropdown input[type="checkbox"] { margin-right: 0.8em; } .h5p-keywords-dropdown input[type="text"] { width: 2em; font-weight: bold; color: #4a4a4a; padding: 0.5em; font-size: 0.9em; border-radius: 0.5em; border-style: solid; border-width: 1px; } .h5p-keywords-dropdown .h5peditor-button { width: 100%; color: #181818; background: #d5d5d5; text-align: center; } .h5p-dragnbar-ul .h5p-slides-menu { overflow: hidden; padding: 3px 3px 0px 3px; margin-top: -0.4em; } /*Paste button overrides. Be careful, so we only hit the CP's drag-n-bar */ .h5p-course-presentation > .h5p-wrapper > .h5peditor-dragnbar .h5p-dragnbar-paste-button { border: none; } .h5p-course-presentation .h5p-element.focused .h5p-element-outer.h5p-shape-outer-element { outline-offset: 1px; } .h5p-course-presentation .ui-dialog-content > .library > .libwrap.h5p-shape-editor { margin: 0; } .h5p-course-presentation .h5p-shape-editor .field-name-type { display: none; } .h5p-course-presentation .h5p-shape-editor .h5p-editor-widget-show-when { margin-top: 0; margin-bottom: 0; } .h5p-course-presentation .h5p-shape-editor .content > div:first-child { border-top: 0; } .h5p-course-presentation .h5p-shape-editor .h5peditor-required:after { display: none; } e6/e5e6bf8536ade95a58384d2859551ccb197055a8 0000666 00000000606 15152047217 0012345 0 ustar 00 { "semantics": [ { "label": "Πίνακας", "default": "<table class=\"h5p-table\"><thead><tr><th scope=\"col\">Επικεφαλίδα Στήλης 1</th><th scope=\"col\">Επικεφαλίδα Στήλης 2</th></tr></thead><tbody><tr><td>Γρ 1 Στ 1</td><td>Γρ 1 Στ 2</td></tr><tr><td>Γρ 2 Στ 1</td><td>Γρ 2 Στ 2</td></tr></tbody></table>" } ] } a0/e5a049ba141b82d0b32c55aea93f7bf1e7973f0f 0000666 00000001666 15152047217 0012600 0 ustar 00 { "semantics": [ { "label": "Editor de preguntes amb ramificacions", "fields": [ { "label": "Pregunta" }, { "label": "Alternatives disponibles", "entity": "alternativa", "field": { "label": "Alternativa", "fields": [ { "label": "Text" }, { "label": "Contingut següent (-1 és la pantalla final)" }, { "label": "Retroacció", "fields": [ { "label": "Títol de la retroacció" }, { "label": "Text de retroacció" }, { "label": "Imatge de retroacció" } ] } ] } } ] } ] } 52/e552ad6fbdcead998ae1bfde7a1fc13b23d8ec2d 0000666 00000031675 15152047217 0013256 0 ustar 00 [ { "name": "branchingScenario", "type": "group", "widget": "branchingScenario", "label": "Branching Scenario Editor", "importance": "high", "fields": [ { "name": "title", "label": "Title", "type": "text", "importance": "high" }, { "name": "startScreen", "label": "Start screen", "type": "group", "importance": "low", "fields": [ { "name": "startScreenTitle", "label": "Course Title", "placeholder": "Title for your course", "type": "text", "importance": "medium", "optional": true, "widget": "html", "enterMode": "p", "tags": [ "strong", "em", "del", "code", "a" ] }, { "name": "startScreenSubtitle", "label": "Course Details", "placeholder": "Details about the course", "type": "text", "importance": "medium", "optional": true, "widget": "html", "enterMode": "p", "tags": [ "strong", "em", "del", "code", "a" ] }, { "name": "startScreenImage", "label": "Course image", "type": "image", "optional": true, "importance": "medium" }, { "name": "startScreenAltText", "label": "Image alternative text", "type": "text", "optional": true, "importance": "medium" } ] }, { "name": "endScreens", "label": "List of end screens", "type": "list", "importance": "medium", "field": { "name": "endScreen", "label": "End screen", "type": "group", "importance": "low", "fields": [ { "name": "endScreenTitle", "label": "Title", "type": "text", "importance": "medium", "optional": true, "widget": "html", "enterMode": "p", "tags": [ "strong", "em", "del", "code", "a" ] }, { "name": "endScreenSubtitle", "label": "Text", "type": "text", "importance": "medium", "optional": true, "widget": "html", "enterMode": "p", "tags": [ "strong", "em", "del", "code", "a" ] }, { "name": "endScreenImage", "label": "Image", "type": "image", "importance": "medium", "optional": true }, { "name": "endScreenScore", "label": "Score", "description": "The score will be sent to any LMS, LRS or any other connected service that receives scores from H5P for users who reach the default end scenario", "type": "number", "default": 0, "optional": true }, { "name": "contentId", "label": "Content ID", "type": "number", "max": 0, "widget": "none" } ] } }, { "name": "content", "label": "List of branching scenario content", "importance": "high", "type": "list", "min": 1, "entity": "content", "field": { "name": "content", "type": "group", "fields": [ { "name": "type", "type": "library", "importance": "high", "options": [ "H5P.BranchingQuestion 1.0", "H5P.CoursePresentation 1.25", "H5P.AdvancedText 1.1", "H5P.Image 1.1", "H5P.ImageHotspots 1.10", "H5P.InteractiveVideo 1.26", "H5P.Video 1.6" ] }, { "name": "showContentTitle", "label": "Show content title in view", "description": "If selected, the user will see the content title in the top bar above this content", "type": "boolean", "importance": "high" }, { "name": "proceedButtonText", "label": "Text for the proceed button (max length: 50 characters)", "type": "text", "importance": "low", "default": "Proceed", "maxLength": 50 }, { "name": "forceContentFinished", "type": "select", "label": "Override require content finished", "description": "Override the individual settings for requiring the content to be finished before activating the \"Proceed\" button. Will not have any effect if the content doesn't indicate if it was \"finished\", e.g. images or course presentations with just one slide.", "optional": "true", "options": [ { "value": "useBehavioural", "label": "Use behavioural setting" }, { "value": "enabled", "label": "Enabled" }, { "value": "disabled", "label": "Disabled" } ], "default": "useBehavioural" }, { "name": "nextContentId", "label": "Next Content ID (end screens are defined by negative numbers)", "type": "number", "importance": "high", "widget": "none" }, { "name": "feedback", "type": "group", "label": "Feedback", "expanded": true, "fields": [ { "name": "title", "type": "text", "label": "Feedback title", "widget": "html", "enterMode": "p", "tags": [ "strong", "em", "del", "code", "a" ] }, { "name": "subtitle", "type": "text", "label": "Feedback text", "optional": true, "widget": "html", "enterMode": "p", "tags": [ "strong", "em", "del", "code", "a" ] }, { "name": "image", "type": "image", "label": "Feedback image", "optional": true }, { "name": "endScreenScore", "type": "number", "label": "Score for this scenario", "description": "The score will be sent to any LMS, LRS or any other connected service that receives scores from H5P for users who reach this scenario", "optional": true } ] }, { "name": "contentBehaviour", "label": "Navigate back", "type": "select", "description": "This will allow user to go back and see the previous content/question in the scenario", "options": [ { "value": "useBehavioural", "label": "Use behavioural setting" }, { "value": "enabled", "label": "Enabled" }, { "value": "disabled", "label": "Disabled" } ], "default": "useBehavioural" } ] } }, { "name": "scoringOptionGroup", "type": "group", "label": "Scoring options", "importance": "low", "fields": [ { "name": "scoringOption", "label": "Scoring options", "type": "select", "description": "Select type of scoring", "options": [ { "value": "static-end-score", "label": "Statically set score for each end scenario" }, { "value": "dynamic-score", "label": "Dynamically calculate score from user answers" }, { "value": "no-score", "label": "No scoring" } ], "default": "no-score" }, { "name": "includeInteractionsScores", "label": "Include scores from interactions within the Branching Scenario", "description": "If chosen scores from for instance Interactive Videos will be added to the total score obtained. If not chosen only scores specified in the feedback sections of the content items, branching questions and end scenarios will count.", "type": "boolean", "default": true, "optional": true, "widget": "showWhen", "showWhen": { "rules": [ { "field": "scoringOption", "equals": "dynamic-score" } ] } } ] }, { "name": "behaviour", "type": "group", "label": "Behavioural settings", "importance": "low", "fields": [ { "name": "enableBackwardsNavigation", "label": "Navigate back", "description": "This will allow user to go back and see the previous content/question in the scenario. This can be overridden on a content level", "type": "boolean", "optional": true, "default": false }, { "name": "forceContentFinished", "label": "Required to watch", "description": "Urges viewers to complete the Video, Interactive Vdeo and Course Presentation before proceeding with the scenario. This can be overridden on a content level", "type": "boolean", "optional": true, "default": false }, { "name": "randomizeBranchingQuestions", "label": "Randomize Branching Questions", "description": "Branching questions will be displayed in random order", "type": "boolean", "optional": true, "default": false } ] }, { "name": "l10n", "type": "group", "label": "Localization", "importance": "low", "common": true, "fields": [ { "name": "startScreenButtonText", "label": "Text for the button on the start screen", "type": "text", "importance": "low", "default": "Start the course" }, { "name": "endScreenButtonText", "label": "Text for the button on the end screen", "type": "text", "importance": "low", "default": "Restart the course" }, { "name": "backButtonText", "label": "Text for the back button on each of the library screens and branching questions", "type": "text", "importance": "low", "default": "Back" }, { "name": "disableProceedButtonText", "label": "Text for the disabled button on the library screens", "type": "text", "importance": "low", "default": "Require to complete the current module" }, { "name": "replayButtonText", "label": "Text for the button used to replay a video", "type": "text", "importance": "low", "default": "Replay the video" }, { "name": "scoreText", "label": "Label for score on the end screen", "type": "text", "importance": "low", "default": "Your score:" }, { "name": "fullscreenAria", "label": "Aria label for fullscreen button", "type": "text", "importance": "low", "default": "Fullscreen" } ] } ] } ] 1d/e51db894d043402bc1f38e1c9e283797339d6baf 0000666 00000001531 15152047217 0012375 0 ustar 00 { "libraryStrings":{ "transformLabel":"Διαμόρφωση", "editLabel":"Επεξεργασία", "removeLabel":"Αφαίρεση", "bringToFrontLabel":"Μεταφορά εμπρός", "sendToBackLabel":"Μεταφορά πίσω", "unableToPaste":"Δεν είναι δυνατή η επικόλληση του αντικειμένου. Δυστυχώς το αντικείμενο που προσπαθείτε να επικολλήσετε δεν υποστηρίζεται από τον τύπο περιεχομένου ή τη συγκεκριμένη έκδοση.", "sizeLabel":"Μέγεθος", "positionLabel":"Θέση", "heightLabel":"Ύψος", "widthLabel":"Πλάτος", "copyLabel": "Αντιγραφή", "paste": "Επικόλληση", "moreElements": "Περισσότερα" } } fe/e5fe14e011786189f02da387b93075ab7888a9e2 0000666 00000012761 15152047217 0012343 0 ustar 00 { "semantics": [ { "widgets": [ { "label": "Өгөгдмөл" } ], "label": "Картууд", "entity": "карт", "field": { "label": "Карт", "fields": [ { "label": "Зураг" }, { "label": "Зургийн өөр текст", "description": "Зураг дээр юу харж болохыг тайлбарлана уу. Текстийг харааны бэрхшээлтэй хэрэглэгчдэд шаардлагатай текстээс ярианы хэрэгслээр уншдаг." }, { "label": "Аудио зам", "description": "Картыг эргүүлэхэд тоглох нэмэлт дуу." }, { "label": "Тохирох зураг", "description": "Нэг зурагтай хоёр карт ашиглахын оронд тохирох нэмэлт зураг." }, { "label": "Зургийг тааруулах өөр текст", "description": "Зураг дээр юу харж болохыг тайлбарлана уу. Текстийг харааны бэрхшээлтэй хэрэглэгчдэд шаардлагатай текстээс ярианы хэрэгслээр уншдаг." }, { "label": "Тохирох аудио зам", "description": "Хоёрдахь картыг эргүүлэхэд тоглох нэмэлт дуу." }, { "label": "Тодорхойлолт", "description": "Тохирох хоёр карт олсны дараа гарч ирэх нэмэлт богино текст." } ] } }, { "label": "Зан үйлийн тохиргоо", "description": "Эдгээр сонголтууд нь тоглоом хэрхэн ажиллахыг хянах боломжийг танд олгоно.", "fields": [ { "label": "Картуудыг дөрвөлжин хэлбэрээр байрлуул", "description": "Картуудыг байрлуулахдаа багана, эгнээний тоог тааруулахыг хичээх болно. Дараа нь картуудыг саванд тааруулахын тулд масштаблана." }, { "label": "Ашиглах картуудын тоо", "description": "Үүнийг 2-оос дээш тоогоор тохируулах нь тоглоомыг картуудын жагсаалтаас санамсаргүй карт сонгох болно." }, { "label": "Тоглоом дууссаны дараа дахин оролдох товчлуурыг нэмнэ үү" } ] }, { "label": "Харж, мэдэр", "description": "Тоглоомын дүрслэлийг хянах.", "fields": [ { "label": "Сэдвийн өнгө", "description": "Хөзрийн тоглоомондоо сэдэв үүсгэхийн тулд өнгө сонгоно уу." }, { "label": "Карт буцааж", "description": "Картуудаа захиалгат арын дэвсгэр ашиглана уу." } ] }, { "label": "Локалчлал", "fields": [ { "label": "Карт текстийг эргүүлнэ", "default": "Карт эргэдэг" }, { "label": "Текст зарцуулсан цаг", "default": "Зарцуулсан цаг" }, { "label": "Санал хүсэлтийн текст", "default": "Маш сайн!" }, { "label": "Дахин оролдох товчлуурын текст", "default": "Дахин оролдоно уу?" }, { "label": "Хаах товчлуурын шошго", "default": "Хаах" }, { "label": "Тоглоомын шошго", "default": "Санах ойн тоглоом. Тохирох картуудыг олоорой." }, { "label": "Game instructions", "default": "Use arrow keys left and right to navigate cards. Use space or enter key to turn card." }, { "label": "Тоглоом дууссан шошго", "default": "Бүх картууд олдсон." }, { "label": "Карт индексжүүлэх шошго", "description": "%num and %total are placeholders and will be replaced with the respective values for the card.", "default": "Карт %num/%total:" }, { "label": "Картыг эргүүлээгүй шошго", "default": "Эргэлзээгүй. Click to turn." }, { "label": "Card turned label", "default": "Turned." }, { "label": "Карт таарсан шошго", "default": "Тохирох байдал олдлоо." }, { "label": "Card matched announcement", "default": "Your cards match!" }, { "label": "Card not matched announcement", "default": "Your chosen cards do not match. Turn other cards to try again." } ] } ] } fc/e5fcedc65f3c898b2f0fe37de7b19c5da17220c7 0000666 00000010712 15152047217 0013044 0 ustar 00 { "semantics": [ { "widgets": [ { "label": "Varsayılan" } ], "label": "Kartlar", "entity": "kart", "field": { "label": "kart", "fields": [ { "label": "Resim" }, { "label": "Resim için alt metin", "description": "Resimde neler göründüğünü açıklayın. Alt metin, görme engelli kullanıcıların resim için ihtiyaç duyduğu açıklamadır. Yardımcı teknolojiler ile okunur." }, { "label": "Müzik Parçası", "description": "Kart döndürüldüğünde çalınması istenen ses (isteğe bağlı)." }, { "label": "Eşleştirilen Resim", "description": "Aynı görüntüye sahip iki kart kullanmak yerine eşleştirilecek farklı bir resim seçebilirsiniz (isteğe bağlı)." }, { "label": "Eşleştirilen resim için alt metin", "description": "Resimde neler göründüğünü açıklayın. Alt metin, görme engelli kullanıcıların resim için ihtiyaç duyduğu açıklamadır. Yardımcı teknolojiler ile okunur." }, { "label": "Eşleştirilen için müzik parçası", "description": "İkinci kart döndürüldüğünde çalınması istenen ses (isteğe bağlı)." }, { "label": "Açıklama", "description": "Kartlar eşleştiğinde açılır kutuda kısa metin (isteğe bağlı)." } ] } }, { "label": "Etkinlik ayarları", "description": "Bu seçenekler aktivitenin çalışma şeklini denetlemenize izin verir.", "fields": [ { "label": "Kartları kare şeklinde yerleştirin.", "description": "Kartları yerleştirirken satır ve sütun sayısını eşitlenmeye çalışılacaktır. Daha sonra kartlar çerçeveye sığacak şekilde ölçeklendirilecektir." }, { "label": "Kullanılacak kart sayısı", "description": "İkiden büyük bir sayı girerek, oyunda kart havuzundan belirttiğiniz sayıda rastgele kartlar kullanabilirsiniz." }, { "label": "Oyun bittiğinde yeniden başlatmak için bir buton ekleyin" } ] }, { "label": "Görünüm ve doku", "description": "Oyunun görselliğini değiştirin.", "fields": [ { "label": "Tema rengi", "description": "Kart oyunu teması için bir renk seçiniz." }, { "label": "Kart Görünümü", "description": "Kart arkası için bir görünüm seçin." } ] }, { "label": "Yerelleştirme", "fields": [ { "label": "Kart döndürme metni", "default": "Kart dönüşleri" }, { "label": "Geçen süre metni", "default": "Geçen süre" }, { "label": "Geri bildirim meni", "default": "İyi oyundu!" }, { "label": "Tekrar", "default": "Tekrar denemek ister misiniz?" }, { "label": "Kapatma butonu etiketi", "default": "Kapat" }, { "label": "Oyun Başlığı", "default": "Hazfıza oyunu. Kartları eşleştirin." }, { "label": "Game instructions", "default": "Use arrow keys left and right to navigate cards. Use space or enter key to turn card." }, { "label": "Oyun bitti etiketi", "default": "Tüm kartlar eşleştirildi." }, { "label": "Kart sıra etiketi", "description": "%num and %total are placeholders and will be replaced with the respective values for the card.", "default": "Kart %num/%total:" }, { "label": "Kart döndürülmemiş etiketi", "default": "Döndürülmedi. Click to turn." }, { "label": "Card turned label", "default": "Turned." }, { "label": "Kart eşleşme etiketi", "default": "Eşleştirildi." }, { "label": "Card matched announcement", "default": "Your cards match!" }, { "label": "Card not matched announcement", "default": "Your chosen cards do not match. Turn other cards to try again." } ] } ] } a6/e5a6e9ef6a09ba186bfab0003fb56da82bb0aadc 0000666 00000002333 15152047217 0013136 0 ustar 00 { "title": "Image Hotspots", "description": "Add hotspots with useful information and media to an image.", "majorVersion": 1, "minorVersion": 10, "patchVersion": 17, "runnable": 1, "author": "Joubel", "license": "MIT", "machineName": "H5P.ImageHotspots", "fullscreen": 1, "coreApi": { "majorVersion": 1, "minorVersion": 19 }, "embedTypes": [ "iframe" ], "preloadedJs": [ { "path": "scripts/image-hotspots.js" }, { "path": "scripts/hotspot.js" }, { "path": "scripts/popup.js" } ], "preloadedCss": [ { "path": "styles/image-hotspots.css" } ], "preloadedDependencies": [ { "machineName": "FontAwesome", "majorVersion": 4, "minorVersion": 5 }, { "machineName": "H5P.Transition", "majorVersion": 1, "minorVersion": 0 } ], "editorDependencies": [ { "machineName": "H5PEditor.ImageCoordinateSelector", "majorVersion": 1, "minorVersion": 2 }, { "machineName": "H5PEditor.ColorSelector", "majorVersion": 1, "minorVersion": 3 }, { "machineName": "H5PEditor.ShowWhen", "majorVersion": 1, "minorVersion": 0 } ] } 8c/e58c18ef62372eabd21fa84981738873311ea759 0000666 00000030165 15152047217 0012262 0 ustar 00 { "semantics": [ { "label": "Mídia", "fields": [ { "label": "Tipo", "description": "Mídia opcional para exibir acima da pergunta." }, { "label": "Desactivar o zoom da imagem" } ] }, { "label": "Descrição da tarefa", "description": "Descreva aqui a sua tarefa.", "placeholder": "Por favor, ouça com atenção e escreva o que ouvir." }, { "label": "Frases", "widgets": [ { "label": "Padrão" } ], "entity": "Frase", "field": { "label": "Frase", "fields": [ { "label": "Descrição", "description": "Opcionalmente, pode colocar uma descrição simples acima do campo de entrada de texto, útil, por exemplo, para diálogos." }, { "label": "Amostra de som", "description": "Frase falada em velocidade normal" }, { "label": "Amostra de som lento", "description": "Frase falada em velocidade lenta" }, { "label": "Texto", "description": "Texto que deve ser escrito. Pode adicionar grafias alternativas a uma palavra adicionando uma linha vertical (|) atrás, seguida por uma alternativa." } ] } }, { "label": "Feedback Geral", "fields": [ { "widgets": [ { "label": "Padrão" } ], "label": "Definir feedback personalizado para qualquer faixa de pontuação", "description": "Clique no botão \"Adicionar faixa\" para adicionar quantos intervalos precisar. Exemplo: 0-20% Pontuação Péssima, 21-91% Pontuação Média, 91-100% Pontuação Óptima!", "entity": "faixa", "field": { "fields": [ { "label": "Faixa de Pontuação" }, { "label": "Feedback para a faixa de pontuação definida", "placeholder": "Preencha o feedback" } ] } } ] }, { "label": "Configurações comportamentais", "description": "Essas opções permitem controlar como a tarefa se comportará.", "fields": [ { "label": "Número máximo de tentativas", "description": "Limitará o número de vezes que as amostras para cada sentença poderão ser ouvidas." }, { "label": "Número máximo de tentativas para velocidade lenta", "description": "Limitará o número de vezes que as amostras lentas de cada sentença poderão ser ouvidas." }, { "label": "Desactivar opção de pausa", "description": "Se marcado, a pausa do áudio durante a reprodução não será possível." }, { "label": "Play button delay", "description": "Optionally set a time period of up to three seconds that playing a button should be delayed. This is useful if you want to allow students to enter the text field before they start listening." }, { "label": "Baralhar as frases", "description": "Definir quando as sentenças devem ser baralhadas.", "options": [ { "label": "Nunca" }, { "label": "Uma vez ao iniciar o exercício" }, { "label": "Em cada tentativa" } ] }, { "label": "Marcação de pontos", "fields": [ { "label": "Ignorar marcas de pontuação", "description": "Se marcado, os sinais de pontuação não serão considerados para marcação de pontos." }, { "label": "Modo erro zero", "description": "Se marcado, somente as respostas correctas serão consideradas para a marcação de pontos. Os erros não serão punidos." }, { "label": "Valor dos erros de digitação", "description": "Determine em que medida os erros de digitação (palavra com 3-9 caracteres: até 1 erro, palavra com mais de 9 caracteres: até 2 erros) contam como um erro real.", "options": [ { "label": "100 %" }, { "label": "50 %" }, { "label": "0 %" } ] } ] }, { "label": "Texto", "fields": [ { "label": "Separador de palavras", "description": "Defina o separador de palavras diferente do caracter de espaço para suportar soluções alternativas com diferentes números de palavras." }, { "label": "Direção da escrita", "description": "Defina se a linguagem das sentenças é da direita para a esquerda ou da esquerda para a direita.", "options": [ { "label": "Deteção automática" }, { "label": "Direita para a esquerda" }, { "label": "Esquerda para a direita" } ] }, { "label": "Divisão de caracteres", "description": "Active se caracteres específicos (por exemplo, caracteres Han chineses) devem ser divididos em palavras separadas automaticamente." } ] }, { "label": "Apresentação de feedback", "fields": [ { "label": "Exibição de erro de digitação personalizada", "description": "Se marcada, os erros de digitação serão exibidos num estilo personalizado, distinguindo-os de erros claros." }, { "label": "Apresentação de soluções alternativas", "description": "Defina quais as alternativas que devem ser apresentadas para actividades de corrigir ou adicionar com palavra que falta na solução.", "options": [ { "label": "Mostrar apenas a primeira alternativa" }, { "label": "Mostrar todas as alternativas" } ] } ] }, { "label": "Activar \"Tentar Novamente\"" }, { "label": "Activar o botão \"Mostrar solução\"" }, { "label": "Exibir solução ao verificar" } ] }, { "label": "Interface de utilizador", "fields": [ { "label": "Feedback geral", "description": "Pode usar vários marcadores de posição que serão substituídos pelo número adequado: @matches = número de correspondências, @total = total de erros, @capped = total de erros limitados, @wrong = palavras incorrectas, @added = palavras adicionais, @missing = actividades de adicionar com palavra que falta, @typo = erros de digitação", "default": "Cometeu @total erro(s)." }, { "label": "Feedback geral (modo erro zero)", "description": "É possível utilizar vários marcadores de posição que serão substituídos com o número adequado: @matches = número de correspondências, @total = pontuação total, @wrong = palavras erradas, @added = palavras adicionais, @missing = actividades de adicionar com palavra que falta, @typo = erros de digitação", "default": "Inseriu @total palavra(s) correctamente e @typo palavra(s) com pequenos erros." }, { "label": "Texto do botão \"Verificar\"", "default": "Verificar" }, { "label": "Texto do botão \"Enviar\"", "default": "Enviar" }, { "label": "Texto do botão \"Tentar Novamente\"", "default": "Tentar novamente" }, { "label": "Texto para o botão \"Mostrar solução\"", "default": "Mostrar solução" }, { "label": "Mensagem de áudio não suportado", "default": "Seu navegador não suporta este áudio." } ] }, { "label": "ReadSpeaker", "fields": [ { "label": "Descrição da tecnologia de assistência para o botão \"Verificar\"", "default": "Verifique as respostas. As respostas serão marcadas como correctas, incorrectas, ou sem resposta." }, { "label": "Descrição da tecnologia de assistência para o botão \"Mostrar Solução\"", "default": "Mostrar a solução. A tarefa será marcada com a sua solução correcta." }, { "label": "Descrição da tecnologia de assistência para o botão \"Tentar Novamente\"", "default": "Tente realizar a tarefa novamente. Redefinir todas as respostas e recomece." }, { "label": "Botão Reproduzir", "default": "Reproduzir" }, { "label": "Botão reproduzir lentamente", "default": "Reproduzir lentamente" }, { "label": "Tentativas restantes (texto para leitor de tela e texto flutuante)", "description": "@number será substituído pelo número atual de tentativas restantes.", "default": "Número de tentativas restantes: @number" }, { "label": "Infinito (texto para leitor de tela e texto flutuante)", "default": "Infinito" }, { "label": "Digite o campo de texto", "default": "Digite o que ouviu." }, { "label": "Seu resultado", "description": "@score será substituído pelo número de pontos. @total será substituído pelo máximo de pontos possíveis.", "default": "Conseguiu @score de @total pontos possíveis" }, { "label": "Solução", "default": "Solução" }, { "label": "Frase", "default": "Frase" }, { "label": "Artigo", "default": "Artigo" }, { "label": "Correcto", "default": "correcto" }, { "label": "Incorrecto", "default": "incorrecto" }, { "label": "Erro pequeno", "default": "erro pequeno" }, { "label": "Actividade de adicionar com palavra ou símbolo que falta", "default": "ausente" }, { "label": "Adicionada palavra ou símbolo", "default": "adicionado" }, { "label": "Solução correcta", "default": "Deveria ter sido" }, { "label": "Ou", "default": "ou" }, { "label": "Ponto", "default": "ponto" }, { "label": "Pontos", "default": "pontos" }, { "label": "Ponto", "default": "ponto" }, { "label": "Ponto de exclamação", "default": "ponto de exclamação" }, { "label": "Ponto de interrogação", "default": "ponto de interrogação" }, { "label": "Vírgula", "default": "vírgula" }, { "label": "Aspa simples", "default": "aspa simples" }, { "label": "Aspa dupla", "default": "aspa dupla" }, { "label": "Dois pontos", "default": "dois pontos" }, { "label": "Ponto e vírgula", "default": "ponto e vírgula" }, { "label": "Mais", "default": "mais" }, { "label": "Menos", "default": "menos" }, { "label": "Asterisco", "default": "asterisco" }, { "label": "Barra", "default": "barra" } ] } ] } 86/e5867fd0730266fa21cc4cd47de8d593611743a8 0000666 00000002632 15152047217 0012252 0 ustar 00 .h5p-question-explanation { /* Needed this to make it display in IE 11 */ position: relative; } .h5p-question-explanation-container { margin: 0; padding: 1em; background: #FAFAFA; } .h5p-question-explanation-title { font-size: 1.125em; margin-bottom: 0.5em; } .h5p-question-explanation-list { background: #FFFFFF; border: 1px solid #e0e0e0; overflow: auto; overflow-x: hidden; list-style: none; padding: 0; margin: 0; } .h5p-question-explanation-item { padding: 0.5em; margin: 0; line-height: 1.2; display: flex; } .h5p-question-explanation-item:not(:last-child) { border-bottom: 1px solid #e0e0e0; } .h5p-question-explanation-status { display: flex; flex-shrink: 0; width: 8em; flex-wrap: wrap; } .h5p-question-explanation-correct, .h5p-question-explanation-wrong { display: inline-flex; font-weight: bold; margin-left: 0.5em; font-size: 0.9em; word-break: break-all; /* Non standard for WebKit */ word-break: break-word; } .h5p-question-explanation-correct { color: #265c42; } .h5p-question-explanation-wrong { color: #b61c1e; text-decoration: line-through; } .h5p-question-explanation-text { display: inline-flex; padding-left: 1em; margin-left: 0.5em; border-left: 1px solid #ddd; } .h5p-question-explanation-list::-webkit-scrollbar { width: 0.4em; } .h5p-question-explanation-list::-webkit-scrollbar-thumb { background-color: #e0e0e0; } 81/e5812a930477f7e9c46a22450ffec35792c76ab9 0000666 00000003161 15152047217 0012253 0 ustar 00 { "libraryStrings": { "noScenesTitle": "No scenes", "noScenesDescription": "Click the \"New scene\" button below to add the first scene", "closeSceneSelector": "Close the scene selector", "cancel": "Cancel", "confirm": "Confirm", "remove": "Remove", "done": "Done", "edit": "Edit", "delete": "Delete", "or": "or", "scene": "Scene", "loading": "Loading", "newScene": "New scene", "currentScene": "Current scene", "startingScene": "Starting scene", "setCameraStart": "Set starting position", "setStartingScene": "Set as the starting scene", "chooseScene": "Choose a scene", "goToScene": "Go to scene", "changeSceneTitle": "Scene type changed", "changeSceneBody": "Changing the scene type will cause all interactions to be repositioned randomly. Are you sure you wish to proceed?", "createASceneToGoTo": "Create a new scene to go to", "createSceneError": "Please create a new scene to proceed", "pickAnExistingScene": "Pick an existing scene to go to", "selectASceneError": "Please select a scene", "setCameraStartTooltip": "Set current camera angle as a starting point for this scene", "deleteInteractionTitle": "Deleting interaction", "deleteInteractionText": "Are you sure you wish to delete this interaction?", "deleteSceneTitle": "Deleting scene", "deleteSceneText": "Are you sure you wish to delete this scene?", "deleteSceneTextWithObjects": "Deleting this scene will also delete all interactions within the scene and any navigational hotspots pointing to this scene. Are you sure you wish to delete this scene?" } } 9b/e59bf33e9e0e1a4a7ab2b96ae2989c799634aefc 0000666 00000005133 15152047217 0012721 0 ustar 00 { "semantics": [ { "label": "Slika za ozadje", "description": "Slika je prikazana v ozadju aktivnosti." }, { "label": "Neobvezno besedilo za sliko ozadja", "description": "Besedilo je prikazano v primeru, ko slike ni mogoče naložiti. Uporabljajo ga tudi bralniki zaslona." }, { "label": "Ikona interaktivne točke", "options": [ { "label": "Prednastavljena ikona" }, { "label": "Naložena slika" } ] }, { "label": "Prednastavljena ikona", "description": "Izbira iz galerije prednastavljenih ikon.", "options": [ { "label": "+" }, { "label": "-" }, { "label": "x" }, { "label": "kljukica" }, { "label": "?" }, { "label": "i" }, { "label": "!" } ] }, { "label": "Naložena slika", "description": "Kot ikono je možno naložiti poljubno sliko.<br />Priporočena velikost slike je 75 x 75 px." }, { "label": "Barva interaktivne točke", "description": "Barva se izbere v barvni paleti ali z vpisom oznake barve." }, { "entity": "interaktivna točka", "label": "Interaktivne točke", "field": { "label": "Interaktivna točka", "fields": [ { "label": "Položaj interaktivne točke", "description": "Položaj posamezne točke se določi s klikom na želeno mesto na sličici." }, { "label": "Prekrij celotno sliko ozadja", "description": "Ob kliku na točko, bo pojavno okno prekrilo celotno sliko ozadja." }, { "label": "Glava pojavnega okna", "description": "Optional header for the popup. This is used by assistive technologies." }, { "label": "Vsebina pojavnega okna", "field": { "label": "Element z vsebino" } } ] } }, { "label": "Oznaka interaktivne točke za bralnike zaslona", "default": "Interaktivna točka #num", "description": "Besedilo je v pomoč bralniku zaslona, ko za vsebino v točkah niso dodane glave. Spremenljivka je #num." }, { "label": "Besedilo gumba Zapri za bralnike zaslona", "default": "Zapri" }, { "label": "Label for assistive technologies denoting that hotspot contains Audio/Video", "default": "Contains Audio/Video" } ] } 5e/e55ef1d2e929d6d2581f786cfaca7151c1232cda 0000666 00000026612 15152047217 0012620 0 ustar 00 { "semantics": [ { "label": "미디어", "fields": [ { "label": "유형", "description": "문제 위에 표시할 선택적 미디어" }, { "label": "이미지 확대/축소 사용 안 함" } ] }, { "label": "태스크 설명", "description": "과제를 여기에 설명합니다.", "placeholder": "잘 듣고 받아 쓰세요." }, { "label": "문장", "widgets": [ { "label": "기본설정" } ], "entity": "문장", "field": { "label": "문장", "fields": [ { "label": "설명", "description": "선택사항으로 텍스트 입력 필드 위에 간단한 설명을 넣을 수 있습니다.(예> 대화에 유용합니다.)" }, { "label": "소리 샘플", "description": "정상 속도로 말하는 문장" }, { "label": "느린 소리 샘플", "description": "느린 속도로 말하는 문장" }, { "label": "텍스트", "description": "작성해야 할 텍스트입니다. 뒤에 세로줄(|)을 추가하고 다른 문자를 추가하여 단어에 대체 철자를 추가할 수 있습니다." } ] } }, { "label": "전반적인 피드백", "fields": [ { "widgets": [ { "label": "기본설정" } ], "label": "모든 점수 범위에 대한 사용자 정의 피드백 정의", "description": "범위 추가 버튼을 클릭하여 필요한 만큼 범위를 추가합니다. 예: 0-20% 노력이 필요한 점수, 21-91% 가능성이 있는 점수, 91-100% 좋은 점수!", "entity": "범위", "field": { "fields": [ { "label": "점수 범위" }, {}, { "label": "정의된 점수 범위에 대한 피드백", "placeholder": "피드백 작성" } ] } } ] }, { "label": "행동설정", "description": "이 옵션을 사용하면 작업 동작을 제어할 수 있습니다.", "fields": [ { "label": "최대 시도", "description": "각 문장에 대해 샘플을 청취할 수 있는 횟수를 제한합니다." }, { "label": "저속을 위한 최대 시도", "description": "각 문장에 대해 느린 속도 샘플이 청취될 수 있는 횟수를 제한합니다." }, { "label": "문장 뒤섞기", "description": "언제 문장들이 뒤섞여야 하는지 정의합니다.", "options": [ { "label": "안함" }, { "label": "받아쓰기를 시작할 때 한 번" }, { "label": "매번" } ] }, { "label": "Scoring", "fields": [ { "label": "구두점 무시", "description": "체크된 경우, 구두점은 점수를 매기는 것으로 간주되지 않습니다" }, { "label": "실수 제로 모드", "description": "체크된 경우 정답만 채점을 위해 고려됩니다. 실수에 대해 벌점은 없습니다." }, { "label": "오타의 값", "description": "타자 오류를 어느 정도(3-9자 단어: 최대 1개 실수, 9자 이상 단어: 최대 2개 실수)까지 실수로 간주할 지 결정합니다.", "options": [ { "label": "100 %" }, { "label": "50 %" }, { "label": "0 %" } ] } ] }, { "label": "Text", "fields": [ { "label": "Word separator", "description": "Define the separator of words different than space character to support alternate solutions with different number of words.", "default": " " }, { "label": "쓰기 지시사항", "description": "문장의 언어가 오른쪽에서 왼쪽으로인지 또는 왼쪽에서 오른쪽으로인지 설정합니다.", "options": [ { "label": "자동 감지" }, { "label": "오른쪽에서 왼쪽으로" }, { "label": "왼쪽에서 오른쪽으로" } ] }, { "label": "문자의 분할", "description": "특정 문자(예: 한자)가 자동으로 별도의 단어로 분할되어야 하는 경우 활성화합니다." } ] }, { "label": "Presentation of feedback", "fields": [ { "label": "사용자 정의 오타 표시", "description": "선택한 경우 오타가 명확한 오류와 구별되는 사용자 정의 스타일로 표시됩니다." }, { "label": "대안 답 제시", "description": "해답에서 잘못된 단어 또는 누락된 단어에 대해 어떤 대안을 제시해야 하는지 정의하십시오.", "options": [ { "label": "첫 번째 대안만 표시" }, { "label": "모든 대안 표시" } ] } ] }, { "label": "\"Retry\" (재시도) 버튼 활성화" }, { "label": "\"Show solution\" (해답보이기) 버튼 활성화" }, { "label": "Show solution on check" } ] }, { "label": "사용자 인터페이스", "fields": [ { "label": "일반 피드백", "description": "적절한 숫자로 대체되는 여러 자리 표시자를 사용할 수 있습니다.: @matches = 일치하는 수, @total = 실수한 총개수, @capped = 조정된 총 실수, @wrong = 잘못된 단어, @added = 추가 단어, @missing = 놓친 단어, @typo = 타이포", "default": "총 @total 개의 실수를 했습니다.." }, { "label": "일반 피드백(실수 0개 모드)", "description": "적절한 숫자로 대체되는 여러 자리 표시자를 사용할 수 있습니다.: @matches = 일치하는 수, @total = 총 점수, @wrong = 잘못된 단어, @added = 추가 단어, @missing = 놓친 단어, @typo = 타이포", "default": "총 @total 단어를 바르게 입력했고 총 @typo 단어에서 실수들이 있었습니다." }, { "label": "\"Check\" 체크 버튼 텍스트", "default": "정답 확인" }, { "label": "Text for \"Submit\" button", "default": "Submit" }, { "label": "\"Retry\" 재시도 버튼 텍스트", "default": "재시도" }, { "label": "\"Show solution\" 해답 보이기 버튼 텍스트", "default": "해답 보이기" }, { "label": "오디오 미지원 메시지", "default": "현재 브라우저가 이 오디오를 지원하지 않습니다." } ] }, { "label": "읽어주기 스피커", "fields": [ { "label": "보조 기술에 대한 체크 버튼 설명", "default": "답변을 확인합니다. 응답은 정답, 오답 또는 미답변으로 표시됩니다." }, { "label": "보조 기술에 대한 해답 보이기 버튼 설명", "default": "해답 보이기. 과제가 올바른 해답과 함께 표시됩니다." }, { "label": "보조 기술에 대한 재시도 버튼 설명", "default": "과제 재시도. 모든 응답을 재설정하고 과제를 다시 시작합니다." }, { "label": "플레이 버튼", "default": "플레이" }, { "label": "천천히 플레이 하기 버튼", "default": "천천히 플레이 하기" }, { "label": "남은 시도(읽어주기 스피커 텍스트와 마우스 커서 텍스트)", "description": "@number 는 현재 남은 시도횟수로 대체됩니다.", "default": "남은 시도 횟수: @number" }, { "label": "무한(읽어주기 스피커 텍스트와 마우스 커서 텍스트)", "default": "무한" }, { "label": "텍스트 필드 입력", "default": "들은 내용을 입력하십시오." }, { "label": "결과", "description": "@score 는 포인트 수로 대체됩니다. @total 은 가능한 최대 포인트로 대체됩니다.", "default": "총 @total 점수에서 @score 점수를 얻었습니다. " }, { "label": "해답", "default": "해답" }, { "label": "문장", "default": "문장" }, { "label": "항목", "default": "항목" }, { "label": "정답", "default": "정답" }, { "label": "오답", "default": "오답" }, { "label": "작은 실수", "default": "작은 실수" }, { "label": "놓친 단어 혹은 기호", "default": "놓침" }, { "label": "추가된 단어 혹은 기호", "default": "추가됨" }, { "label": "올바른 해답", "default": "올바른 해답" }, { "label": "혹은", "default": "혹은" }, { "label": "포인트", "default": "포인트" }, { "label": "포인트", "default": "포인트" }, { "label": "기간", "default": "기간" }, { "label": "감탄사 포인트", "default": "감탄사 포인트" }, { "label": "물음표", "default": "물음표" }, { "label": "쉼표", "default": "쉼표" }, { "label": "작은 따옴표", "default": "작은 따옴표" }, { "label": "큰 따옴표", "default": "큰 따옴표" }, { "label": "콜론", "default": "콜론" }, { "label": "세미콜론", "default": "세미콜론" }, { "label": "플러스", "default": "플러스" }, { "label": "마이너스", "default": "마이너스" }, { "label": "별표", "default": "별표" }, { "label": "슬래시", "default": "슬래시" } ] } ] } d1/e5d1151801e9261e0bab11cbf2465c87a8c330d6 0000666 00000052243 15152047217 0012344 0 ustar 00 H5P = H5P || {}; H5P.BranchingScenario = function (params, contentId) { const self = this; H5P.EventDispatcher.call(self); self.contentId = contentId; self.startScreen = {}; self.libraryScreen = {}; self.endScreens = {}; self.navigating; self.currentHeight; self.currentId = -1; self.xAPIDataCollector = []; self.userPath = []; self.backwardsAllowedFlags = []; self.proceedButtonInProgress = false; self.isReverseTransition = false; /** * Extend an array just like JQuery's extend. * @param {...Object} arguments - Objects to be merged. * @return {Object} Merged objects. */ const extend = function () { for (var i = 1; i < arguments.length; i++) { for (var key in arguments[i]) { if (arguments[i].hasOwnProperty(key)) { if (typeof arguments[0][key] === 'object' && typeof arguments[i][key] === 'object') { extend(arguments[0][key], arguments[i][key]); } else { arguments[0][key] = arguments[i][key]; } } } } return arguments[0]; }; params = extend({ content: [], startScreen: { startScreenTitle: "", startScreenSubtitle: "" }, endScreens: [ { endScreenTitle: "", endScreenSubtitle: "", contentId: -1 } ], scoringOptionGroup: { scoringOption: 'no-score' }, l10n: {}, behaviour: 'individual' }, params.branchingScenario); // Account for the wrapper! // Set default localization params.l10n = extend({ startScreenButtonText: "Start the course", endScreenButtonText: "Restart the course", proceedButtonText: "Proceed", scoreText: "Your score:", backButtonText: "Back", fullscreenAria: "Fullscreen", replayButtonText: "Replay the video", disableProceedButtonText: "Require to complete the current module" }, params.l10n); params.content.forEach((item, index) => { // Sanitize the (next)ContentIds that the editor didn't set item.contentId = index; if (item.nextContentId === undefined) { item.nextContentId = -1; } // Pass `randomize` parameter to branching question if (params.behaviour.randomizeBranchingQuestions && item.type.library.indexOf('H5P.BranchingQuestion') !== -1) { item.type.params.branchingQuestion.randomize = true; } // Set Proceedbutton to default text if not added if (item.proceedButtonText === undefined) { item.proceedButtonText = params.l10n.proceedButtonText; } }); // Compute pattern for enabling/disabling back button self.backwardsAllowedFlags = params.content.map(content => { if (content.contentBehaviour === 'useBehavioural') { return params.behaviour.enableBackwardsNavigation; } return content.contentBehaviour === 'enabled' ? true : false; }); self.params = params; self.scoring = new H5P.BranchingScenario.Scoring(params); /** * Create a start screen object * * @param {Object} startscreendata Object containing data needed to build a start screen * @param {string} startscreendata.startScreenTitle Title * @param {string} startscreendata.startScreenSubtitle Subtitle * @param {Object} startscreendata.startScreenImage Object containing image metadata * @param {String} startscreendata.startScreenAltText Alt text for image * @param {boolean} isCurrentScreen When Branching Scenario is first initialized * @return {H5P.BranchingScenario.GenericScreen} Generic Screen object */ const createStartScreen = function ({ startScreenTitle, startScreenSubtitle, startScreenImage, startScreenAltText }, isCurrentScreen) { const startScreen = new H5P.BranchingScenario.GenericScreen(self, { isStartScreen: true, titleText: startScreenTitle, subtitleText: startScreenSubtitle, image: startScreenImage, altText: startScreenAltText, fullscreenAria: params.l10n.fullscreenAria, buttonText: params.l10n.startScreenButtonText, isCurrentScreen }); startScreen.on('toggleFullScreen', () => { self.toggleFullScreen(); }); return startScreen; }; /** * Create an end screen object * * @param {Object} endScreenData Object containing data needed to build an end screen * @param {string} endScreenData.endScreenTitle Title * @param {string} endScreenData.endScreenSubtitle Subtitle * @param {Object} endScreenData.endScreenImage Object containing image metadata * @param {Object} endScreenData.endScreenScore Score * @param {Object} endScreenData.showScore Determines if score is shown * @return {H5P.BranchingScenario.GenericScreen} Generic Screen object */ const createEndScreen = function (endScreenData) { const endScreen = new H5P.BranchingScenario.GenericScreen(self, { isStartScreen: false, titleText: endScreenData.endScreenTitle, subtitleText: endScreenData.endScreenSubtitle, image: endScreenData.endScreenImage, buttonText: params.l10n.endScreenButtonText, fullscreenAria: params.l10n.fullscreenAria, isCurrentScreen: false, scoreText: params.l10n.scoreText, score: self.scoring.getScore(endScreenData.endScreenScore), maxScore: self.scoring.getMaxScore(), showScore: self.scoring.shouldShowScore(), }); endScreen.on('toggleFullScreen', () => { self.toggleFullScreen(); }); return endScreen; }; /** * Get library data by id from branching scenario parameters * * @param {number} id Id of the content type * @return {Object | boolean} Data required to create a library */ self.getLibrary = function (id) { return (params.content[id] !== undefined ? params.content[id] : false); }; /** * Handle exitfullscreen event and resize the BS screen */ self.on('exitFullScreen', function () { setTimeout(() => { self.trigger('resize'); }, 100); }); /** * Handle the start of the branching scenario */ self.on('started', function () { const startNode = this.params.content[0]; // Disable back button if not allowed if (self.canEnableBackButton(0) === false) { self.disableBackButton(); } else { self.enableBackButton(); } if (startNode && startNode.type && startNode.type.library && startNode.type.library.split(' ')[0] === 'H5P.BranchingQuestion') { // First node is Branching Question, no sliding, just trigger BQ overlay self.trigger('navigated', { nextContentId: 0 }); } else { // First node is info content self.startScreen.hide(); self.libraryScreen.show(); self.triggerXAPI('progressed'); self.userPath.push(0); } self.currentId = 0; }); /** * Handle progression */ self.on('navigated', function (e) { // Trace back user steps if (e.data.reverse) { // Reset library screen wrapper if it was set to fit large BQ if (self.libraryScreen && self.libraryScreen.wrapper) { self.libraryScreen.wrapper.style.height = ''; } self.userPath.pop(); e.data.nextContentId = self.userPath.pop() || 0; } const id = parseInt(e.data.nextContentId); // Keep track of user steps self.userPath.push(id); // Remove Back button from BQ overlay if (self.currentId > -1 && H5P.BranchingScenario.LibraryScreen.isBranching(self.getLibrary(self.currentId)) && self.$container.find('.h5p-back-button[isBQ="true"]').length) { self.$container.find('.h5p-back-button[isBQ="true"]').remove(); } const nextLibrary = self.getLibrary(id); let resizeScreen = true; if (!self.libraryScreen) { self.libraryScreen = new H5P.BranchingScenario.LibraryScreen( self, params.startScreen.startScreenTitle, nextLibrary ); self.libraryScreen.on('toggleFullScreen', () => { self.toggleFullScreen(); }); self.$container.append(self.libraryScreen.getElement()); self.currentId = id; } else { // Try to stop any playback self.libraryScreen.stopPlayback(self.currentId); // Try to collect xAPIData for last screen if (!this.params.preventXAPI) { const xAPIData = self.libraryScreen.getXAPIData(self.currentId); // We do not include branching questions that hasn't been answered in the report (going back from a BQ) const isBranching = H5P.BranchingScenario.LibraryScreen.isBranching(self.getLibrary(self.currentId)); const isBranchingQuestionAndAnswered = isBranching && xAPIData.statement && xAPIData.statement.result && xAPIData.statement.result.response !== undefined; if (xAPIData && (!isBranching || isBranchingQuestionAndAnswered)) { self.xAPIDataCollector.push(xAPIData); } } } // Prevent screenreader to read previous screen's content when user is navigating from BQ if (H5P.BranchingScenario.LibraryScreen.isBranching(self.getLibrary(self.currentId))) { document.querySelector('.h5p-current-screen').setAttribute('aria-hidden', true); } // Re-display library screen if it has been hidden by an ending screen if (self.currentEndScreen && self.currentEndScreen.isShowing) { if (nextLibrary) { if (!H5P.BranchingScenario.LibraryScreen.isBranching(nextLibrary)) { self.currentEndScreen.hide(); self.currentEndScreen = null; self.libraryScreen.show(); } } else { // Showing two end screens after each other self.libraryScreen.hideFeedbackDialogs(); self.currentEndScreen.hide(); self.currentEndScreen = null; } } else if (self.startScreen && self.startScreen.isShowing && nextLibrary) { if (!H5P.BranchingScenario.LibraryScreen.isBranching(nextLibrary)) { self.startScreen.hide(); self.libraryScreen.show(); resizeScreen = false; } } else { // Remove any feedback dialogs self.libraryScreen.hideFeedbackDialogs(); } if (resizeScreen) { self.trigger('resize'); } if (self.currentId !== -1) { self.triggerXAPI('progressed'); let contentScores = {}; if (self.libraryScreen.currentLibraryInstance && self.libraryScreen.currentLibraryInstance.getScore) { contentScores = { "score": self.libraryScreen.currentLibraryInstance.getScore(), "maxScore": self.libraryScreen.currentLibraryInstance.getMaxScore() }; } self.scoring.addLibraryScore( this.currentId, this.libraryScreen.currentLibraryId, e.data.chosenAlternative, contentScores ); } if (nextLibrary === false) { // Show the relevant end screen if there is no next library self.currentEndScreen = self.endScreens[id]; // Custom end screen if (e.data.feedback) { const endScreen = createEndScreen({ endScreenTitle: e.data.feedback.title || '', endScreenSubtitle: e.data.feedback.subtitle || '', endScreenImage: e.data.feedback.image, endScreenScore: e.data.feedback.endScreenScore }); self.$container.append(endScreen.getElement()); self.currentEndScreen = endScreen; } else if (self.scoring.isDynamicScoring()) { self.currentEndScreen.setScore(self.getScore()); self.currentEndScreen.setMaxScore(self.getMaxScore()); } self.startScreen.hide(); self.libraryScreen.hide(true); self.currentEndScreen.show(); self.triggerXAPICompleted(self.scoring.getScore(self.currentEndScreen.getScore()), self.scoring.getMaxScore()); } else { self.libraryScreen.showNextLibrary(nextLibrary, e.data.reverse); // Disable back button if not allowed in new library screen if (self.canEnableBackButton(id) === false) { self.disableBackButton(); } else { self.enableBackButton(); } self.currentId = id; } // First node was BQ, so sliding from start screen to library screen is needed now if (e.data.nextContentId !== 0 && document.querySelector('.h5p-start-screen').classList.contains('h5p-current-screen')) { // Remove translation of info content which would tamper with timing of sliding const wrapper = self.libraryScreen.wrapper.querySelector('.h5p-slide-in'); if (wrapper) { wrapper.classList.remove('h5p-next'); self.startScreen.hide(); self.libraryScreen.show(); } } }); /** * Handle restarting */ self.on('restarted', function () { if (self.currentEndScreen) { self.currentEndScreen.hide(); self.currentEndScreen = null; } self.scoring.restart(); self.xAPIDataCollector = []; self.startScreen.screenWrapper.style.height = ""; self.startScreen.screenWrapper.classList.remove('h5p-slide-out'); self.startScreen.show(self.isReverseTransition); self.isReverseTransition = false; self.currentId = -1; self.userPath = []; // Reset the library screen if (self.libraryScreen) { self.libraryScreen.remove(); } // Note: the first library must always have an id of 0 self.libraryScreen = new H5P.BranchingScenario.LibraryScreen(self, params.startScreen.startScreenTitle, self.getLibrary(0)); self.libraryScreen.on('toggleFullScreen', () => { self.toggleFullScreen(); }); self.$container.append(self.libraryScreen.getElement()); }); /** * Handle resizing, resizes child library */ self.on('resize', function (event) { if (self.bubblingUpwards) { return; // Prevent sending the event back down } self.changeLayoutToFitWidth(); if ( self.libraryScreen && typeof self.libraryScreen === 'object' && Object.keys(self.libraryScreen).length !== 0 ) { self.libraryScreen.resize(event); } // Add classname for phone size adjustments const rect = self.$container[0].getBoundingClientRect(); if (rect.width <= 480) { self.$container.addClass('h5p-phone-size'); } else { self.$container.removeClass('h5p-phone-size'); } if (rect.width < 768) { self.$container.addClass('h5p-medium-tablet-size'); } else { self.$container.removeClass('h5p-medium-tablet-size'); } }); /** * Toggle full screen */ self.toggleFullScreen = function () { if (self.isFullScreen()) { // Exit fullscreen if (H5P.exitFullScreen) { H5P.exitFullScreen(); } } else { H5P.fullScreen(self.$container, this); } }; /** * Returns true if we're in full screen or semi full screen. * * @returns {boolean} */ self.isFullScreen = function () { return H5P.isFullscreen || (self.$container && self.$container[0].classList.contains('h5p-fullscreen')) || (self.$container && self.$container[0].classList.contains('h5p-semi-fullscreen')); }; /** * Disable proceed button. */ self.disableNavButton = function () { if (!self.libraryScreen.navButton) { return; } self.libraryScreen.navButton.classList.add('h5p-disabled'); self.libraryScreen.navButton.setAttribute('disabled', true); self.libraryScreen.navButton.setAttribute('title', params.l10n.disableProceedButtonText); }; /** * Enable proceed button. */ self.enableNavButton = function (animated = false) { if (!self.libraryScreen.navButton) { return; } self.libraryScreen.navButton.classList.remove('h5p-disabled'); self.libraryScreen.navButton.removeAttribute('disabled'); self.libraryScreen.navButton.removeAttribute('title'); //Animate button if require if (animated) { self.animateNavButton(); } }; /** * Hide proceed button. */ self.hideNavButton = function () { if (!self.libraryScreen.navButton) { return; } self.libraryScreen.navButton.classList.add('h5p-hidden'); }; /** * Show proceed button. * @param {boolean} [animated=false] If true, will be animated. */ self.showNavButton = function (animated = false) { if (!self.libraryScreen.navButton) { return; } self.libraryScreen.navButton.classList.remove('h5p-hidden'); document.activeElement.blur(); let focusTime = 100; if (animated) { self.animateNavButton(); } setTimeout(() => { self.libraryScreen.navButton.focus(); }, focusTime); }; /** * Animate proceed button. */ self.animateNavButton = function () { // Prevent multiple animation calls if (!self.libraryScreen.navButton.classList.contains('h5p-animate')) { self.libraryScreen.navButton.classList.add('h5p-animate'); } }; /** * Stop animation of proceed button. */ self.unanimateNavButton = function () { self.libraryScreen.navButton.classList.remove('h5p-animate'); }; /** * Get accumulative score for all attempted scenarios * * @returns {number} Current score for Branching Scenario */ self.getScore = function () { return self.scoring.getScore(); }; /** * Get max score * * @returns {number} Max score for branching scenario */ self.getMaxScore = function () { return self.scoring.getMaxScore(); }; /** * Change the width of the branching question depending on the container changeLayoutToFitWidth * @return {undefined} undefined */ self.changeLayoutToFitWidth = function () { const fontSize = parseInt(window.getComputedStyle(document.getElementsByTagName('body')[0]).fontSize, 10); // Wide screen if (this.$container.width() / fontSize > 43) { self.$container[0].classList.add('h5p-wide-screen'); } else { self.$container[0].classList.add('h5p-mobile-screen'); } }; /** * Disable back button. */ self.disableBackButton = function () { if (!self.libraryScreen || !self.libraryScreen.backButton) { return; } self.libraryScreen.backButton.classList.add('h5p-disabled'); self.libraryScreen.backButton.setAttribute('disabled', true); }; /** * Enable back button. */ self.enableBackButton = function () { if (!self.libraryScreen || !self.libraryScreen.backButton) { return; } self.libraryScreen.backButton.classList.remove('h5p-disabled'); self.libraryScreen.backButton.removeAttribute('disabled'); }; /** * Get user path. * @return {object[]} User path. */ self.getUserPath = function () { return self.userPath; }; /** * Check if a node is allowed to have the back button enabled. * @param {number} id Id of node to check. * @return {boolean} True if node is allowed to have the back button enabled, else false. */ self.canEnableBackButton = function (id) { if (typeof id !== 'number') { return false; } if (id < 0 || id > self.backwardsAllowedFlags.length - 1) { return false; } return self.backwardsAllowedFlags[id]; }; /** * Attach Branching Scenario to the H5P container * * @param {HTMLElement} $container Container for the content type * @return {undefined} undefined */ self.attach = function ($container) { if (this.isRoot !== undefined && this.isRoot()) { this.setActivityStarted(); } self.$container = $container; $container.addClass('h5p-branching-scenario').html(''); if (!params.content || params.content.length === 0) { const contentMessage = document.createElement('div'); contentMessage.innerHTML = 'No content'; self.$container.append(contentMessage); return; } self.startScreen = createStartScreen(params.startScreen, true); self.$container.append(self.startScreen.getElement()); self.currentId = -1; // Note: the first library must always have an id of 0 self.libraryScreen = new H5P.BranchingScenario.LibraryScreen(self, params.startScreen.startScreenTitle, self.getLibrary(0)); self.libraryScreen.on('toggleFullScreen', () => { self.toggleFullScreen(); }); self.$container.append(self.libraryScreen.getElement()); params.endScreens.forEach(endScreen => { self.endScreens[endScreen.contentId] = createEndScreen(endScreen); self.$container.append(self.endScreens[endScreen.contentId].getElement()); }); }; /** * Get xAPI data. * Contract used by report rendering engine. * * @see contract at {@link https://h5p.org/documentation/developers/contracts#guides-header-6} */ self.getXAPIData = function () { if (!self.currentEndScreen) { console.error('Called getXAPIData before finished.'); return; } const xAPIEvent = self.createXAPIEventTemplate('answered'); // Extend definition const definition = xAPIEvent.getVerifiedStatementValue(['object', 'definition']); H5P.jQuery.extend(definition, { interactionType: 'compound', type: 'http://adlnet.gov/expapi/activities/cmi.interaction' }); definition.extensions = { 'https://h5p.org/x-api/no-question-score': 1 }; const score = self.scoring.getScore(self.currentEndScreen.getScore()); const maxScore = self.scoring.getMaxScore(); xAPIEvent.setScoredResult(score, maxScore, this, true, score === maxScore); return { statement: xAPIEvent.data.statement, children: self.xAPIDataCollector }; }; }; H5P.BranchingScenario.prototype = Object.create(H5P.EventDispatcher.prototype); H5P.BranchingScenario.prototype.constructor = H5P.BranchingScenario; 3f/e53f62d801352fec8745b188ce7a07b866afc2d8 0000666 00000000074 15152047217 0012467 0 ustar 00 { "semantics": [ { "label": "Bilde" } ] }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | ���֧ߧ֧�ѧ�ڧ� ����ѧߧڧ��: 0 |
proxy
|
phpinfo
|
���ѧ����ۧܧ�