From 153914d5d299eec9cc1a7ccab4d20380b399df66 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Thu, 2 Apr 2026 09:31:46 +0200 Subject: [PATCH] feat(bisaya-course): add family vocabulary and exercises for relatives - Introduced new content for the 'Familie - Verwandte & Stieffamilie' lesson, including learning goals, core patterns, grammar focus, speaking prompts, and practical tasks. - Added multiple-choice and gap-fill exercises related to family vocabulary, enhancing the learning experience for users. - Updated course content to reflect the new lesson and exercises, ensuring comprehensive coverage of family-related terms in Bisaya. --- .../scripts/bisaya-course-phase2-pedagogy.js | 3 +- .../scripts/bisaya-course-phase5-extension.js | 59 +++++- .../scripts/create-bisaya-course-content.js | 185 +++++++++++++++++- 3 files changed, 244 insertions(+), 3 deletions(-) diff --git a/backend/scripts/bisaya-course-phase2-pedagogy.js b/backend/scripts/bisaya-course-phase2-pedagogy.js index a782211..918d4d7 100644 --- a/backend/scripts/bisaya-course-phase2-pedagogy.js +++ b/backend/scripts/bisaya-course-phase2-pedagogy.js @@ -148,7 +148,8 @@ export const BISAYA_LESSON_PEDAGOGY = { 147: { phaseLabel: 'stabilization', blockNumber: 15, didacticMode: 'real_life_scenario', difficultyWeight: 5, newUnitTarget: 2, reviewWeight: 82, isIntensiveReview: false }, 148: { phaseLabel: 'stabilization', blockNumber: 15, didacticMode: 'checkpoint', difficultyWeight: 5, newUnitTarget: 0, reviewWeight: 100, isIntensiveReview: false }, 149: { phaseLabel: 'stabilization', blockNumber: 15, didacticMode: 'checkpoint', difficultyWeight: 5, newUnitTarget: 0, reviewWeight: 100, isIntensiveReview: false }, - 150: { phaseLabel: 'stabilization', blockNumber: 15, didacticMode: 'real_life_scenario', difficultyWeight: 2, newUnitTarget: 1, reviewWeight: 70, isIntensiveReview: false } + 150: { phaseLabel: 'stabilization', blockNumber: 15, didacticMode: 'real_life_scenario', difficultyWeight: 2, newUnitTarget: 1, reviewWeight: 70, isIntensiveReview: false }, + 151: { phaseLabel: 'stabilization', blockNumber: 15, didacticMode: 'core_input', difficultyWeight: 3, newUnitTarget: 10, reviewWeight: 76, isIntensiveReview: false } }; export function getBisayaLessonPedagogy(lessonNumber) { diff --git a/backend/scripts/bisaya-course-phase5-extension.js b/backend/scripts/bisaya-course-phase5-extension.js index 3af222d..4b19099 100644 --- a/backend/scripts/bisaya-course-phase5-extension.js +++ b/backend/scripts/bisaya-course-phase5-extension.js @@ -237,6 +237,62 @@ export const BISAYA_PHASE5_DIDACTICS = { 'Den Übergang in offenes Weiterlernen begleiten.' ], corePatterns: ['respeto', 'pakikisama', 'amping', 'palihug'] + }, + 'Familie - Verwandte & Stieffamilie': { + learningGoals: [ + 'Erweiterte Verwandtschaft (Onkel, Tante, Cousin/Cousine, Neffe, Nichte, Enkel) auf Bisaya benennen.', + 'Geschlecht mit nga lalaki / nga babaye bei Pamangkin und Apo sicher machen.', + 'Stiefeltern und Stiefkinder mit üblichen Umschreibungen (Ikaduha nga …) verstehen und kurz verwenden.' + ], + corePatterns: [ + 'Tito | Onkel (häufig auch für nahe Freunde des Elternteils)', + 'Tita | Tante', + 'Primo | Cousin (männlich)', + 'Prima | Cousine', + 'Apo nga lalaki | Enkelsohn', + 'Apo nga babaye | Enkelin', + 'Pamangkin nga lalaki | Neffe', + 'Pamangkin nga babaye | Nichte', + 'Ikaduha nga Tatay | Stiefvater (wörtlich „zweiter Vater“, alltagstauglich)', + 'Ikaduha nga Nanay | Stiefmutter', + 'Anak sa ikaduha nga Tatay | Stiefsohn (Kind des Stiefvaters / aus neuer Elternbeziehung)', + 'Anak sa ikaduha nga Nanay | Stieftochter' + ], + grammarFocus: [ + { + title: 'Tito und Tita', + text: 'Sehr verbreitete spanische Lehnwörter für Onkel und Tante; oft auch respektvoll für Bekannte.', + example: 'Si Tito Pedro. / Si Tita Ana.' + }, + { + title: 'Apo und Pamangkin mit Geschlecht', + text: '„Apo“ allein kann Enkel/in oder auch Großeltern bedeuten – im Kurs präzisieren wir mit nga lalaki / nga babaye. Pamangkin ebenso.', + example: 'Ang apo nga lalaki ni Lola. / Ang pamangkin nga babaye ni Tito.' + }, + { + title: 'Stieffamilie umschreiben', + text: 'Statt eines einzelnen Wortes wie im Deutschen nutzt man oft klare Umschreibungen mit ikaduha (zweite/r) oder anak sa …', + example: 'Ikaduha nga Tatay nako. / Anak sa ikaduha nga Nanay.' + } + ], + speakingPrompts: [ + { + title: 'Verwandte vorstellen', + prompt: 'Stelle Onkel, Tante und einen Neffen oder eine Nichte in kurzen Sätzen vor.', + cue: 'Si Tito nako. Si Tita nako. Ang pamangkin nga lalaki ni Tito.' + }, + { + title: 'Stieffamilie kurz erklären', + prompt: 'Sage in einem kurzen Satz, dass jemand dein Stiefvater ist und erwähne sein Kind.', + cue: 'Ikaduha nga Tatay nako. Anak sa ikaduha nga Tatay.' + } + ], + practicalTasks: [ + { + title: 'Mündliche Kette', + text: 'Lies die zwölf Kernmuster laut; bilde dann drei eigene Mini-Sätze mit Tito/Tita und einem Pamangkin- oder Apo-Muster.' + } + ] } }; @@ -270,5 +326,6 @@ export const BISAYA_PHASE5_LESSONS = [ { week: 15, day: 4, num: 147, type: 'conversation', title: 'Rollenspiele - echte Situationen', desc: 'Mehrere reale Alltagsszenen in längeren Rollenspielen üben', targetMin: 24, targetScore: 78, review: false, cultural: null }, { week: 15, day: 4, num: 148, type: 'vocab', title: 'Abschlusstest - Stabilisierung', desc: 'Finaler Test über den Stabilisierungspfad', targetMin: 20, targetScore: 84, review: true, cultural: null }, { week: 15, day: 5, num: 149, type: 'review', title: 'Abschlussprüfung - Gesamtpfad', desc: 'Große Abschlussprüfung über den gesamten Bisaya-Pfad', targetMin: 32, targetScore: 84, review: false, cultural: null }, - { week: 15, day: 5, num: 150, type: 'culture', title: 'Kultur, Familie & Sprache langfristig', desc: 'Kultur, Familie und Höflichkeit langfristig einordnen', targetMin: 16, targetScore: 0, review: false, cultural: 'Die Stabilisierung endet mit einem bewussten Blick auf Sprache, Familie und kulturelle Langzeitmuster.' } + { week: 15, day: 5, num: 150, type: 'culture', title: 'Kultur, Familie & Sprache langfristig', desc: 'Kultur, Familie und Höflichkeit langfristig einordnen', targetMin: 16, targetScore: 0, review: false, cultural: 'Die Stabilisierung endet mit einem bewussten Blick auf Sprache, Familie und kulturelle Langzeitmuster.' }, + { week: 16, day: 1, num: 151, type: 'vocab', title: 'Familie - Verwandte & Stieffamilie', desc: 'Onkel, Tante, Cousin/Cousine, Neffe, Nichte, Enkel/in, Stiefeltern & Stiefkinder', targetMin: 22, targetScore: 85, review: true, cultural: 'Tito/Tita sind alltagsüblich; Stieffamilie wird oft mit Ikaduha nga … oder anak sa … klar gesagt statt mit einem einzigen festen Wort.' } ]; diff --git a/backend/scripts/create-bisaya-course-content.js b/backend/scripts/create-bisaya-course-content.js index 4fe654e..c3a098c 100644 --- a/backend/scripts/create-bisaya-course-content.js +++ b/backend/scripts/create-bisaya-course-content.js @@ -892,6 +892,188 @@ const BISAYA_EXERCISES = { }) ], + 'Familie - Verwandte & Stieffamilie': [ + { + exerciseTypeId: 2, + title: 'Onkel auf Bisaya', + instruction: 'Wähle die übliche Bisaya-Bezeichnung.', + questionData: { + type: 'multiple_choice', + question: 'Wie sagt man „Onkel“ in dieser Lektion?', + options: ['Tito', 'Tatay', 'Kuya', 'Lolo'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '„Tito“ ist die gängige, spanisch geprägte Form für Onkel und wird oft auch respektvoll für nahe Bekannte genutzt.' + }, + { + exerciseTypeId: 2, + title: 'Tante auf Bisaya', + instruction: 'Wähle die übliche Bisaya-Bezeichnung.', + questionData: { + type: 'multiple_choice', + question: 'Wie sagt man „Tante“ in dieser Lektion?', + options: ['Tita', 'Nanay', 'Ate', 'Lola'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '„Tita“ ist die gängige Form für Tante.' + }, + { + exerciseTypeId: 2, + title: 'Enkelsohn präzisieren', + instruction: 'Wähle die präzise Form mit Geschlecht.', + questionData: { + type: 'multiple_choice', + question: 'Wie sagt man „Enkelsohn“ klar und eindeutig?', + options: ['Apo nga lalaki', 'Apo nga babaye', 'Pamangkin nga lalaki', 'Primo'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '„Apo“ allein ist mehrdeutig; mit nga lalaki / nga babaye meint man Enkelsohn bzw. Enkelin.' + }, + { + exerciseTypeId: 2, + title: 'Nichte benennen', + instruction: 'Wähle die passende Form.', + questionData: { + type: 'multiple_choice', + question: 'Wie sagt man „Nichte“?', + options: ['Pamangkin nga babaye', 'Pamangkin nga lalaki', 'Prima', 'Inday'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '„Pamangkin nga babaye“ = Nichte; „Pamangkin nga lalaki“ = Neffe.' + }, + { + exerciseTypeId: 2, + title: 'Cousin und Cousine', + instruction: 'Ordne die weibliche Form.', + questionData: { + type: 'multiple_choice', + question: 'Welches Wort passt zu „Cousine“?', + options: ['Prima', 'Primo', 'Tita', 'Ate'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '„Primo“ = Cousin (männlich), „Prima“ = Cousine – gängige Lehnformen.' + }, + { + exerciseTypeId: 2, + title: 'Stiefvater', + instruction: 'Wähle die im Kurs geübte Umschreibung.', + questionData: { + type: 'multiple_choice', + question: 'Welche Form nutzt du für „Stiefvater“?', + options: ['Ikaduha nga Tatay', 'Tatay sa lain', 'Lolo', 'Kuya'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '„Ikaduha nga Tatay“ (wörtlich zweiter Vater) ist eine verständliche, alltagstaugliche Umschreibung.' + }, + { + exerciseTypeId: 2, + title: 'Stiefmutter', + instruction: 'Wähle die passende Umschreibung.', + questionData: { + type: 'multiple_choice', + question: 'Welche Form passt zu „Stiefmutter“?', + options: ['Ikaduha nga Nanay', 'Nanay', 'Tita', 'Ate'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '„Ikaduha nga Nanay“ entspricht der gleichen Logik wie beim Stiefvater.' + }, + { + exerciseTypeId: 1, + title: 'Verwandtschaft – erste Reihe', + instruction: 'Fülle die Lücken (exakt wie in der Lektion).', + questionData: { + type: 'gap_fill', + text: '{gap} (Onkel) | {gap} (Tante) | {gap} (Cousin) | {gap} (Cousine)', + gaps: 4 + }, + answerData: { + type: 'gap_fill', + answers: ['Tito', 'Tita', 'Primo', 'Prima'] + }, + explanation: 'Tito/Tita und Primo/Prima sind die Kernpaare für die erweiterte Verwandtschaft.' + }, + { + exerciseTypeId: 1, + title: 'Enkel und Pamangkin', + instruction: 'Fülle die Lücken mit den Geschlechtsformen.', + questionData: { + type: 'gap_fill', + text: '{gap} (Enkelsohn) | {gap} (Enkelin) | {gap} (Neffe) | {gap} (Nichte)', + gaps: 4 + }, + answerData: { + type: 'gap_fill', + answers: ['Apo nga lalaki', 'Apo nga babaye', 'Pamangkin nga lalaki', 'Pamangkin nga babaye'] + }, + explanation: 'Mit nga lalaki / nga babaye unterscheidest du bei Apo und Pamangkin das Geschlecht klar.' + }, + { + exerciseTypeId: 1, + title: 'Stieffamilie ergänzen', + instruction: 'Fülle die Lücken.', + questionData: { + type: 'gap_fill', + text: '{gap} (Stiefvater) | {gap} (Stiefmutter) | {gap} (Stiefsohn) | {gap} (Stieftochter)', + gaps: 4 + }, + answerData: { + type: 'gap_fill', + answers: [ + 'Ikaduha nga Tatay', + 'Ikaduha nga Nanay', + 'Anak sa ikaduha nga Tatay', + 'Anak sa ikaduha nga Nanay' + ] + }, + explanation: 'Stieffamilie wird oft mit Ikaduha nga … und anak sa … beschrieben statt mit einem einzigen Wort wie im Deutschen.' + }, + { + exerciseTypeId: 4, + title: 'Stiefvater übersetzen', + instruction: 'Übersetze ins Bisaya (Form aus der Lektion).', + questionData: { + type: 'transformation', + text: 'Stiefvater', + sourceLanguage: 'Deutsch', + targetLanguage: 'Bisaya' + }, + answerData: { + type: 'transformation', + correct: 'Ikaduha nga Tatay', + alternatives: ['Ikaduha nga Tatay', 'ikaduha nga tatay'] + }, + explanation: 'Die Groß-/Kleinschreibung ist in der Bewertung oft tolerant; Inhalt zählt.' + }, + { + exerciseTypeId: 3, + title: 'Onkel vorstellen', + instruction: 'Ordne die Wörter zu einem kurzen Satz.', + questionData: { + type: 'sentence_building', + question: 'Baue: „Das ist mein Onkel.“', + tokens: ['Si', 'Tito', 'nako', 'ni'] + }, + answerData: { + correct: ['Si Tito nako ni.', 'Si Tito ni nako.'] + }, + explanation: 'Gleiches Muster wie bei Nanay: Si … nako ni.' + }, + withTypeName('situational_response', { + title: 'Stieffamilie kurz erklären', + instruction: 'Antworte kurz auf Bisaya.', + questionData: { + type: 'situational_response', + question: 'Jemand fragt, wer der Mann neben deiner Mutter ist – es ist dein Stiefvater. Antworte in einem kurzen Satz.', + keywords: ['ikaduha', 'tatay'] + }, + answerData: { + modelAnswer: 'Ikaduha nga Tatay nako.', + keywords: ['ikaduha', 'tatay'] + }, + explanation: '„Ikaduha nga Tatay nako.“ ist eine klare, höfliche Kurzantwort.' + }) + ], + 'Essen & Fürsorge': [ { exerciseTypeId: 2, @@ -3011,7 +3193,8 @@ async function createBisayaCourseContent() { 'Alltagsgespräche - Teil 2', 'Haus & Familie', 'Ort & Richtung', - 'Zeitformen - Grundlagen' + 'Zeitformen - Grundlagen', + 'Familie - Verwandte & Stieffamilie' ].includes(lesson.title); const existingCount = await VocabGrammarExercise.count({ where: { lessonId: lesson.id }