From 3c92e1005aa60f3ccd9bdcdbdc96176a73d3beb9 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Tue, 19 May 2026 08:50:44 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20F=C3=BCge=20=C3=9Cbungen=20zu=20"Gef?= =?UTF-8?q?=C3=BChle=20im=20Alltag"=20und=20"Gef=C3=BChlswortschatz=20&=20?= =?UTF-8?q?Reaktionen"=20hinzu=20und=20aktualisiere=20die=20Titel=20f?= =?UTF-8?q?=C3=BCr=20die=20Sicherheit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/scripts/bisaya-course-plan-24-43.js | 2 +- .../scripts/create-bisaya-course-content.js | 164 ++++++++++++++++++ 2 files changed, 165 insertions(+), 1 deletion(-) diff --git a/backend/scripts/bisaya-course-plan-24-43.js b/backend/scripts/bisaya-course-plan-24-43.js index ca26a35..2e30dd5 100644 --- a/backend/scripts/bisaya-course-plan-24-43.js +++ b/backend/scripts/bisaya-course-plan-24-43.js @@ -115,7 +115,7 @@ const BISAYA_DIDACTICS_24_43_ENRICHMENTS = { 'Gefühle im Alltag': { corePatterns: [ { target: 'Nalipay ko karon.', gloss: 'Ich bin heute froh.' }, - { target: 'Naguol ka?', gloss: 'Bist du besorgt / traurig?' }, + { target: 'Naguol ka?', gloss: 'Bist du besorgt oder traurig?' }, { target: 'Naa ra ko diri.', gloss: 'Ich bin hier.' } ], speakingPrompts: [ diff --git a/backend/scripts/create-bisaya-course-content.js b/backend/scripts/create-bisaya-course-content.js index 0fb0823..48a5c87 100644 --- a/backend/scripts/create-bisaya-course-content.js +++ b/backend/scripts/create-bisaya-course-content.js @@ -34,6 +34,8 @@ const GENERATED_BISAYA_DIDACTICS = { }; const SAFE_EXERCISE_UPDATE_TITLES = new Set([ + 'Gefühle im Alltag', + 'Gefühlswortschatz & Reaktionen', ...BISAYA_PHASE3_LESSONS.map((lesson) => lesson.title), ...BISAYA_PHASE4_LESSONS.map((lesson) => lesson.title), ...BISAYA_PHASE5_LESSONS.map((lesson) => lesson.title) @@ -803,6 +805,157 @@ function generateExercisesFromDidactics(lesson) { // Bisaya-spezifische Übungen basierend auf Lektionsthemen const BISAYA_EXERCISES = { + // Lektion 24: Gefühle im Alltag + 'Gefühle im Alltag': [ + { + exerciseTypeId: 2, + title: 'Gefühl erkennen', + instruction: 'Wähle die richtige Übersetzung.', + questionData: { + type: 'multiple_choice', + question: 'Was bedeutet "Nalipay ko karon."?', + options: [ + 'Ich bin heute froh.', + 'Ich bin jetzt müde.', + 'Ich bin hier.', + 'Ich vermisse dich.' + ] + }, + answerData: { + type: 'multiple_choice', + correctAnswer: 0 + }, + explanation: '"Nalipay ko karon" bedeutet "Ich bin heute froh."' + }, + { + exerciseTypeId: 1, + title: 'Gefühlssatz vervollständigen', + instruction: 'Fülle die Lücke mit dem passenden Bisaya-Wort.', + questionData: { + type: 'gap_fill', + text: 'Naguol {gap}? (Bist du besorgt oder traurig?)', + gaps: 1 + }, + answerData: { + type: 'gap_fill', + answers: ['ka'] + }, + explanation: 'Mit "ka" fragst du nach dem Zustand der anderen Person.' + }, + { + exerciseTypeId: 4, + title: 'Fürsorglich übersetzen', + instruction: 'Übersetze ins Bisaya.', + questionData: { + type: 'transformation', + text: 'Mach dir keine Sorgen. Ich bin hier.', + sourceLanguage: 'Deutsch', + targetLanguage: 'Bisaya' + }, + answerData: { + type: 'transformation', + correct: 'Ayaw kabalaka. Naa ra ko diri.', + alternatives: ['Ayaw kabalaka, naa ra ko diri.', 'Ayaw kabalaka. Ania ra ko diri.'] + }, + explanation: '"Ayaw kabalaka" beruhigt, "Naa ra ko diri" bietet Nähe an.' + }, + { + exerciseTypeId: 3, + title: 'Kurze Antwort bauen', + instruction: 'Ordne die Satzteile zu einer natürlichen Antwort.', + questionData: { + type: 'sentence_building', + question: 'Baue: Ich bin müde. Bist du traurig? Ich bin hier.', + tokens: ['Kapoy ko karon.', 'Naguol ka?', 'Naa ra ko diri.'] + }, + answerData: { + correct: ['Kapoy ko karon. Naguol ka? Naa ra ko diri.'] + }, + explanation: 'Kurze Sätze wirken in emotionalen Situationen natürlicher.' + }, + { + exerciseTypeId: 10, + title: 'Passend reagieren', + instruction: 'Antworte kurz und fürsorglich.', + questionData: { + type: 'situational_response', + question: 'Eine nahestehende Person sagt, dass sie besorgt ist. Reagiere beruhigend.', + keywords: ['ayaw', 'kabalaka', 'naa', 'diri'] + }, + answerData: { + modelAnswer: 'Ayaw kabalaka. Naa ra ko diri.', + keywords: ['ayaw', 'kabalaka', 'naa', 'diri'] + }, + explanation: 'Die Antwort verbindet Beruhigung mit Anwesenheit.' + } + ], + + // Lektion 25: Gefühlswortschatz & Reaktionen + 'Gefühlswortschatz & Reaktionen': [ + { + exerciseTypeId: 2, + title: 'Gefühlswort erkennen', + instruction: 'Wähle die richtige Bedeutung.', + questionData: { + type: 'multiple_choice', + question: 'Was bedeutet "kapoy"?', + options: ['müde', 'froh', 'Sorge', 'ruhig'] + }, + answerData: { + type: 'multiple_choice', + correctAnswer: 0 + }, + explanation: '"kapoy" bedeutet "müde".' + }, + { + exerciseTypeId: 2, + title: 'Reaktion auswählen', + instruction: 'Wähle die passende Reaktion.', + questionData: { + type: 'multiple_choice', + question: 'Welche Antwort passt zu Sorge?', + options: ['Ayaw kabalaka.', 'Tagpila ni?', 'Asa ang kusina?', 'Maayong buntag.'] + }, + answerData: { + type: 'multiple_choice', + correctAnswer: 0 + }, + explanation: '"Ayaw kabalaka" bedeutet "Mach dir keine Sorgen."' + }, + { + exerciseTypeId: 1, + title: 'Satz aus Gefühlswort', + instruction: 'Fülle die Lücke.', + questionData: { + type: 'gap_fill', + text: 'Kapoy {gap}. (Ich bin müde.)', + gaps: 1 + }, + answerData: { + type: 'gap_fill', + answers: ['ko'] + }, + explanation: 'Mit "ko" sprichst du über dich selbst.' + }, + { + exerciseTypeId: 4, + title: 'Freude ausdrücken', + instruction: 'Übersetze ins Bisaya.', + questionData: { + type: 'transformation', + text: 'Ich freue mich für dich.', + sourceLanguage: 'Deutsch', + targetLanguage: 'Bisaya' + }, + answerData: { + type: 'transformation', + correct: 'Nalipay ko para nimo.', + alternatives: ['Nalipay ko alang nimo.'] + }, + explanation: '"para nimo" bindet die Freude an die andere Person.' + } + ], + // Lektion 1: Begrüßungen & Höflichkeit 'Begrüßungen & Höflichkeit': [ { @@ -5257,6 +5410,9 @@ const PLACEHOLDER_REBUILD_TITLES = new Set([ 'Zahlen: Tausender', 'Woche 2 - Wiederholung', 'Woche 2 - Vokabeltest', + 'Gefühle & Emotionen', + 'Gefühle im Alltag', + 'Gefühlswortschatz & Reaktionen', 'Familie - Verwandte & Stieffamilie', 'Rollenspiele - echte Situationen' ]); @@ -5280,6 +5436,14 @@ function getExercisesForLesson(lesson) { if (isLegacyZahlenPreise && BISAYA_EXERCISES['Zahlen 1–20']) { return BISAYA_EXERCISES['Zahlen 1–20']; } + if (normalizedTitle === 'Gefühle & Emotionen') { + if (Number(lesson.lessonNumber) === 24 && BISAYA_EXERCISES['Gefühle im Alltag']) { + return BISAYA_EXERCISES['Gefühle im Alltag']; + } + if (Number(lesson.lessonNumber) === 25 && BISAYA_EXERCISES['Gefühlswortschatz & Reaktionen']) { + return BISAYA_EXERCISES['Gefühlswortschatz & Reaktionen']; + } + } // Suche nach exaktem Titel if (BISAYA_EXERCISES[lessonTitle]) { return BISAYA_EXERCISES[lessonTitle];