feat: erweitere Didaktik-Fragmente und verbessere die Übersetzungen in mehreren Sprachen
All checks were successful
Deploy to production / deploy (push) Successful in 2m6s
All checks were successful
Deploy to production / deploy (push) Successful in 2m6s
This commit is contained in:
@@ -13,6 +13,7 @@ import VocabCourseLesson from '../models/community/vocab_course_lesson.js';
|
||||
import VocabGrammarExercise from '../models/community/vocab_grammar_exercise.js';
|
||||
import VocabCourse from '../models/community/vocab_course.js';
|
||||
import User from '../models/community/user.js';
|
||||
import { BISAYA_DIDACTICS_FRAGMENTS, BISAYA_PHASE1_DIDACTICS } from './bisaya-course-phase1.js';
|
||||
import { BISAYA_DIDACTICS_24_43, BISAYA_LESSONS_24_43_BY_NUMBER, BISAYA_RELATIONSHIP_ANCHOR_DIDACTICS } from './bisaya-course-plan-24-43.js';
|
||||
import { BISAYA_PHASE3_DIDACTICS, BISAYA_PHASE3_LESSONS } from './bisaya-course-phase3-extension.js';
|
||||
import { BISAYA_PHASE4_DIDACTICS, BISAYA_PHASE4_LESSONS } from './bisaya-course-phase4-extension.js';
|
||||
@@ -26,6 +27,8 @@ function withTypeName(exerciseTypeName, exercise) {
|
||||
}
|
||||
|
||||
const GENERATED_BISAYA_DIDACTICS = {
|
||||
...BISAYA_PHASE1_DIDACTICS,
|
||||
...BISAYA_DIDACTICS_FRAGMENTS,
|
||||
...BISAYA_RELATIONSHIP_ANCHOR_DIDACTICS,
|
||||
...BISAYA_DIDACTICS_24_43,
|
||||
...BISAYA_PHASE3_DIDACTICS,
|
||||
@@ -449,11 +452,23 @@ function rotateArray(values, offset) {
|
||||
|
||||
function getLessonDidactics(lesson) {
|
||||
const staticDidactics = GENERATED_BISAYA_DIDACTICS[lesson.title] || {};
|
||||
const learningGoals = Array.isArray(lesson.learningGoals) ? lesson.learningGoals : (staticDidactics.learningGoals || []);
|
||||
const corePatterns = Array.isArray(lesson.corePatterns) ? lesson.corePatterns : (staticDidactics.corePatterns || []);
|
||||
const grammarFocus = Array.isArray(lesson.grammarFocus) ? lesson.grammarFocus : (staticDidactics.grammarFocus || []);
|
||||
const speakingPrompts = Array.isArray(lesson.speakingPrompts) ? lesson.speakingPrompts : (staticDidactics.speakingPrompts || []);
|
||||
const practicalTasks = Array.isArray(lesson.practicalTasks) ? lesson.practicalTasks : (staticDidactics.practicalTasks || []);
|
||||
const learningGoals = Array.isArray(lesson.learningGoals) && lesson.learningGoals.length > 0
|
||||
? lesson.learningGoals
|
||||
: (staticDidactics.learningGoals || []);
|
||||
const corePatterns = [
|
||||
...(staticDidactics.corePatterns || []),
|
||||
...(Array.isArray(lesson.corePatterns) ? lesson.corePatterns : [])
|
||||
];
|
||||
const grammarFocus = mergeGrammarFocusForLesson(
|
||||
staticDidactics.grammarFocus || [],
|
||||
Array.isArray(lesson.grammarFocus) ? lesson.grammarFocus : []
|
||||
);
|
||||
const speakingPrompts = Array.isArray(lesson.speakingPrompts) && lesson.speakingPrompts.length > 0
|
||||
? lesson.speakingPrompts
|
||||
: (staticDidactics.speakingPrompts || []);
|
||||
const practicalTasks = Array.isArray(lesson.practicalTasks) && lesson.practicalTasks.length > 0
|
||||
? lesson.practicalTasks
|
||||
: (staticDidactics.practicalTasks || []);
|
||||
|
||||
return {
|
||||
learningGoals,
|
||||
@@ -2361,14 +2376,14 @@ const BISAYA_EXERCISES = {
|
||||
instruction: 'Fülle die Lücken mit den richtigen Bisaya-Wörtern.',
|
||||
questionData: {
|
||||
type: 'gap_fill',
|
||||
text: '{gap} ko sa merkado. (Ich gehe zum Markt.) | {gap} ta didto. (Lass uns dorthin gehen.)',
|
||||
text: '{gap} ko sa merkado. (Ich bin auf dem Weg zum Markt.) | {gap} ta didto. (Lass uns dorthin gehen.)',
|
||||
gaps: 2
|
||||
},
|
||||
answerData: {
|
||||
type: 'gap_fill',
|
||||
answers: ['Padulong', 'Padulong']
|
||||
answers: ['Padulong', 'Adto']
|
||||
},
|
||||
explanation: '\"Padulong\" beschreibt, dass man unterwegs zu einem Ziel ist.'
|
||||
explanation: '„Padulong“ betont die Richtung/Bewegung; „Adto ta didto“ ist die natürliche Aufforderung, dorthin zu gehen.'
|
||||
},
|
||||
{
|
||||
exerciseTypeId: 4, // transformation
|
||||
@@ -2386,6 +2401,86 @@ const BISAYA_EXERCISES = {
|
||||
alternatives: ['Asa dapit ang simbahan?', 'Asa man ang simbahan?']
|
||||
},
|
||||
explanation: '\"simbahan\" = Kirche, \"Asa ang ...?\" = Wo ist ...?'
|
||||
},
|
||||
{
|
||||
exerciseTypeId: 4,
|
||||
title: 'Nach der Person fragen',
|
||||
instruction: 'Übersetze ins Bisaya.',
|
||||
questionData: {
|
||||
type: 'transformation',
|
||||
text: 'Wo bist du?',
|
||||
sourceLanguage: 'Deutsch',
|
||||
targetLanguage: 'Bisaya'
|
||||
},
|
||||
answerData: {
|
||||
type: 'transformation',
|
||||
correct: 'Asa ka?',
|
||||
alternatives: ['Asa man ka?']
|
||||
},
|
||||
explanation: '„Asa ka?“ kann je nach Kontext nach Ort oder Ziel fragen.'
|
||||
},
|
||||
{
|
||||
exerciseTypeId: 4,
|
||||
title: 'Hier antworten',
|
||||
instruction: 'Übersetze ins Bisaya.',
|
||||
questionData: {
|
||||
type: 'transformation',
|
||||
text: 'Ich bin hier.',
|
||||
sourceLanguage: 'Deutsch',
|
||||
targetLanguage: 'Bisaya'
|
||||
},
|
||||
answerData: {
|
||||
type: 'transformation',
|
||||
correct: 'Naa ko dinhi.',
|
||||
alternatives: ['Dinhi ko.', 'Naa ko diri.', 'Diri ko.']
|
||||
},
|
||||
explanation: '„Naa ko dinhi“ und „Dinhi ko“ sind beide brauchbare Antworten.'
|
||||
},
|
||||
{
|
||||
exerciseTypeId: 4,
|
||||
title: 'Dort antworten',
|
||||
instruction: 'Übersetze ins Bisaya.',
|
||||
questionData: {
|
||||
type: 'transformation',
|
||||
text: 'Er ist dort.',
|
||||
sourceLanguage: 'Deutsch',
|
||||
targetLanguage: 'Bisaya'
|
||||
},
|
||||
answerData: {
|
||||
type: 'transformation',
|
||||
correct: 'Didto siya.',
|
||||
alternatives: ['Naa siya didto.', 'Siya didto.']
|
||||
},
|
||||
explanation: '„siya“ kann er oder sie bedeuten; „didto“ markiert dort.'
|
||||
},
|
||||
{
|
||||
exerciseTypeId: 3,
|
||||
title: 'Mini-Route bauen',
|
||||
instruction: 'Ordne die Sätze zu einer kurzen Route.',
|
||||
questionData: {
|
||||
type: 'sentence_building',
|
||||
question: 'Baue: Wo ist der Markt? Ich bin hier. Ich bin auf dem Weg zum Markt.',
|
||||
tokens: ['Asa ang merkado?', 'Naa ko dinhi.', 'Padulong ko sa merkado.']
|
||||
},
|
||||
answerData: {
|
||||
correct: ['Asa ang merkado? Naa ko dinhi. Padulong ko sa merkado.']
|
||||
},
|
||||
explanation: 'Die Reihenfolge verbindet Ortsfrage, Standort und Richtung.'
|
||||
},
|
||||
{
|
||||
exerciseTypeId: 10,
|
||||
title: 'Weg im Alltag',
|
||||
instruction: 'Antworte kurz mit Ort und Richtung.',
|
||||
questionData: {
|
||||
type: 'situational_response',
|
||||
question: 'Jemand fragt, wo du bist und wohin du gehst. Sage, dass du hier bist und zum Markt unterwegs bist.',
|
||||
keywords: ['naa', 'dinhi', 'padulong', 'merkado']
|
||||
},
|
||||
answerData: {
|
||||
modelAnswer: 'Naa ko dinhi. Padulong ko sa merkado.',
|
||||
keywords: ['naa', 'dinhi', 'padulong', 'merkado']
|
||||
},
|
||||
explanation: 'Die Antwort kombiniert Standort und Zielrichtung in zwei kurzen Sätzen.'
|
||||
}
|
||||
],
|
||||
|
||||
|
||||
Reference in New Issue
Block a user