From 53f0745faf67cabbe87aa47b2536d8c66da2ec62 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Tue, 31 Mar 2026 08:56:36 +0200 Subject: [PATCH] feat(bisaya-course): add new exercises for various everyday scenarios - Introduced multiple-choice, gap-fill, and situational response exercises across several categories including 'Besuch & Gastfreundschaft', 'Gesundheit im Alltag', 'Unterwegs & Transport', 'Kinder im Alltag', and 'Arzt & Termin'. - Each category includes detailed instructions, question data, answer data, and explanations to enhance learning experiences. - Expanded the vocabulary and situational context for learners to practice real-life interactions in Bisaya. --- .../scripts/create-bisaya-course-content.js | 349 ++++++++++++++++++ 1 file changed, 349 insertions(+) diff --git a/backend/scripts/create-bisaya-course-content.js b/backend/scripts/create-bisaya-course-content.js index 0cdab3e..e6e4440 100644 --- a/backend/scripts/create-bisaya-course-content.js +++ b/backend/scripts/create-bisaya-course-content.js @@ -1787,6 +1787,355 @@ const BISAYA_EXERCISES = { }, explanation: 'Eine kurze höfliche Antwort reicht hier völlig aus.' }) + ], + + 'Besuch & Gastfreundschaft': [ + { + exerciseTypeId: 2, + title: 'Gast hereinbitten', + instruction: 'Wähle die natürlichste Formulierung, um einen Gast hereinzubitten.', + questionData: { + type: 'multiple_choice', + question: 'Ein Familiengast steht vor der Tür. Was sagst du zuerst?', + options: ['Sulod lang.', 'Magpahuway sa.', 'Pila ang plite?', 'Asa ang sakayan?'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '"Sulod lang." bedeutet sinngemäß "Komm einfach rein."' + }, + { + exerciseTypeId: 1, + title: 'Gast setzen lassen', + instruction: 'Fülle die Lücke mit der passenden Einladung aus.', + questionData: { + type: 'gap_fill', + text: 'Sulod lang. {gap} sa.', + gaps: 1 + }, + answerData: { + type: 'gap_fill', + answers: ['Lingkod'] + }, + explanation: '"Lingkod sa." bedeutet "Setz dich erst einmal."' + }, + withTypeName('situational_response', { + title: 'Gast begrüßen und platzieren', + instruction: 'Reagiere kurz und passend.', + questionData: { + type: 'situational_response', + question: 'Begrüße einen Gast, bitte ihn herein und biete einen Sitzplatz an.', + keywords: ['sulod', 'lingkod'] + }, + answerData: { + modelAnswer: 'Maayong adlaw. Sulod lang. Lingkod sa.', + keywords: ['sulod', 'lingkod'] + }, + explanation: 'Das ist ein kompaktes, sehr natürliches Besuchsmuster.' + }) + ], + + 'Gesundheit im Alltag': [ + { + exerciseTypeId: 2, + title: 'Nach Beschwerden fragen', + instruction: 'Wähle die passendste Frage bei Kopfweh.', + questionData: { + type: 'multiple_choice', + question: 'Jemand wirkt krank. Wie fragst du nach Kopfweh?', + options: ['Sakit imong ulo?', 'Asa ang merkado?', 'Naa kay assignment?', 'Mubayad ko.'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '"Sakit imong ulo?" fragt direkt nach Kopfschmerzen.' + }, + { + exerciseTypeId: 1, + title: 'Fürsorge bei Krankheit', + instruction: 'Fülle die Lücke mit der passenden Fürsorgeformel.', + questionData: { + type: 'gap_fill', + text: 'Sakit imong ulo? {gap} sa.', + gaps: 1 + }, + answerData: { + type: 'gap_fill', + answers: ['Magpahuway'] + }, + explanation: '"Magpahuway sa." heißt "Ruh dich erst einmal aus."' + }, + withTypeName('situational_response', { + title: 'Kranke Person versorgen', + instruction: 'Antworte kurz und fürsorglich.', + questionData: { + type: 'situational_response', + question: 'Frage nach Schmerzen und biete Ruhe an.', + keywords: ['sakit', 'magpahuway'] + }, + answerData: { + modelAnswer: 'Sakit imong ulo? Magpahuway sa.', + keywords: ['sakit', 'magpahuway'] + }, + explanation: 'Das Muster verbindet Frage und Fürsorge in einer natürlichen Miniszene.' + }) + ], + + 'Unterwegs & Transport': [ + { + exerciseTypeId: 2, + title: 'Nach der Haltestelle fragen', + instruction: 'Wähle die passende Transportfrage.', + questionData: { + type: 'multiple_choice', + question: 'Du willst wissen, wo du ein Fahrzeug bekommst. Was fragst du?', + options: ['Asa ang sakayan?', 'Sulod lang.', 'Nikaon na ka?', 'Unsay gibati nimo?'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '"sakayan" meint den Ort oder das Fahrzeug zum Einsteigen.' + }, + { + exerciseTypeId: 1, + title: 'Fahrtpreis ergänzen', + instruction: 'Fülle die Lücke mit dem passenden Wort.', + questionData: { + type: 'gap_fill', + text: 'Pila ang {gap}?', + gaps: 1 + }, + answerData: { + type: 'gap_fill', + answers: ['plite'] + }, + explanation: '"plite" ist der Fahrpreis.' + }, + withTypeName('situational_response', { + title: 'Transport klären', + instruction: 'Reagiere mit zwei kurzen Fragen.', + questionData: { + type: 'situational_response', + question: 'Frage nach Haltestelle und Fahrpreis.', + keywords: ['sakayan', 'plite'] + }, + answerData: { + modelAnswer: 'Asa ang sakayan? Pila ang plite?', + keywords: ['sakayan', 'plite'] + }, + explanation: 'Das ist ein typischer Minidialog für Alltag und Transport.' + }) + ], + + 'Kinder im Alltag': [ + { + exerciseTypeId: 2, + title: 'Kind nach Essen fragen', + instruction: 'Wähle die natürlichste Frage an ein Kind.', + questionData: { + type: 'multiple_choice', + question: 'Wie fragst du ein Kind, ob es schon gegessen hat?', + options: ['Nikaon na ang bata?', 'Pila ni tanan?', 'Asa ang porma?', 'Mubayad ko.'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: 'Hier wird gezielt das Muster für das Kind im Alltag geübt.' + }, + { + exerciseTypeId: 1, + title: 'Schulfrage ergänzen', + instruction: 'Fülle die Lücke mit dem passenden Schulwort.', + questionData: { + type: 'gap_fill', + text: 'Andam na ka sa {gap}?', + gaps: 1 + }, + answerData: { + type: 'gap_fill', + answers: ['eskwela'] + }, + explanation: '"eskwela" bedeutet Schule.' + }, + withTypeName('situational_response', { + title: 'Kind für Schule vorbereiten', + instruction: 'Reagiere fürsorglich und kurz.', + questionData: { + type: 'situational_response', + question: 'Frage nach Essen und ob das Kind bereit für die Schule ist.', + keywords: ['nikaon', 'eskwela'] + }, + answerData: { + modelAnswer: 'Nikaon na ka? Andam na ka sa eskwela?', + keywords: ['nikaon', 'eskwela'] + }, + explanation: 'Das verbindet Fürsorge und Schulroutine in einem kompakten Muster.' + }) + ], + + 'Arzt & Termin': [ + { + exerciseTypeId: 2, + title: 'Zum Arzt gehen', + instruction: 'Wähle die passende Arztformulierung.', + questionData: { + type: 'multiple_choice', + question: 'Wie sagst du: "Wir gehen zum Arzt"?', + options: ['Adto ta sa doktor.', 'Giinvite tika.', 'Bisita mo unya.', 'Magdula ta.'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '"Adto ta sa doktor." ist die direkte, alltagstaugliche Form.' + }, + { + exerciseTypeId: 1, + title: 'Terminfrage ergänzen', + instruction: 'Fülle die Lücke mit dem passenden Fremdwort.', + questionData: { + type: 'gap_fill', + text: 'Naa moy {gap}?', + gaps: 1 + }, + answerData: { + type: 'gap_fill', + answers: ['appointment'] + }, + explanation: '"appointment" wird im Alltag oft direkt verwendet.' + }, + withTypeName('situational_response', { + title: 'Arzttermin vorbereiten', + instruction: 'Antworte in zwei kurzen Sätzen.', + questionData: { + type: 'situational_response', + question: 'Sage, dass ihr zum Arzt geht, und frage nach dem Termin.', + keywords: ['doktor', 'appointment'] + }, + answerData: { + modelAnswer: 'Adto ta sa doktor. Naa moy appointment?', + keywords: ['doktor', 'appointment'] + }, + explanation: 'Das Muster verbindet Weg zum Arzt und Terminorganisation.' + }) + ], + + 'Dialogtag - Familie & Planung': [ + { + exerciseTypeId: 2, + title: 'Tagesplan eröffnen', + instruction: 'Wähle die Formulierung, mit der du die Tagesplanung eröffnest.', + questionData: { + type: 'multiple_choice', + question: 'Wie fragst du in der Familie nach dem Plan für heute?', + options: ['Unsa atong plano karon?', 'Asa ang ATM?', 'Pila ang plite?', 'Salamat sa pag-anhi.'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: 'Damit eröffnest du einen Familien- oder Organisationsdialog sehr natürlich.' + }, + { + exerciseTypeId: 1, + title: 'Kind abholen ergänzen', + instruction: 'Fülle die Lücke mit dem passenden Verb aus.', + questionData: { + type: 'gap_fill', + text: '{gap} nato ang bata unya.', + gaps: 1 + }, + answerData: { + type: 'gap_fill', + answers: ['Kuhaon'] + }, + explanation: '"Kuhaon nato" meint hier "wir holen ... später ab".' + }, + withTypeName('situational_response', { + title: 'Familie planen', + instruction: 'Reagiere in zwei bis drei kurzen Sätzen.', + questionData: { + type: 'situational_response', + question: 'Frage nach dem Plan für heute, sage, dass ihr das Kind später abholt, und kündige an, danach heimzugehen.', + keywords: ['plano', 'bata', 'mouli'] + }, + answerData: { + modelAnswer: 'Unsa atong plano karon? Kuhaon nato ang bata unya. Pagkahuman, mouli ta.', + keywords: ['plano', 'bata', 'mouli'] + }, + explanation: 'Das ist ein typisches zusammenhängendes Planungsmuster aus der Stabilisierungsphase.' + }) + ], + + 'Fehlertraining - häufige Verwechslungen I': [ + { + exerciseTypeId: 2, + title: 'Vergangenheit oder Zukunft', + instruction: 'Wähle die Formulierung für "Ich bin hingegangen".', + questionData: { + type: 'multiple_choice', + question: 'Welche Form passt zur Vergangenheit?', + options: ['Niadto ko.', 'Moadto ko.', 'Palihug.', 'Pasayloa ko.'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '"Niadto ko." bezieht sich auf Vergangenes, "Moadto ko." auf Zukünftiges.' + }, + { + exerciseTypeId: 2, + title: 'Bitte oder Entschuldigung', + instruction: 'Wähle die Formulierung für eine Bitte.', + questionData: { + type: 'multiple_choice', + question: 'Welche Form bedeutet "Bitte"?', + options: ['Palihug.', 'Pasayloa ko.', 'Niadto ko.', 'Moadto ko.'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: '"Palihug." ist die Bitte, "Pasayloa ko." die Entschuldigung.' + }, + withTypeName('situational_response', { + title: 'Bitte und Entschuldigung trennen', + instruction: 'Antworte mit Bitte und Entschuldigung in der richtigen Reihenfolge.', + questionData: { + type: 'situational_response', + question: 'Bitte zuerst höflich um Wiederholung und entschuldige dich danach.', + keywords: ['palihug', 'pasayloa'] + }, + answerData: { + modelAnswer: 'Palihug ka mubalik. Pasayloa ko.', + keywords: ['palihug', 'pasayloa'] + }, + explanation: 'Das Fehlertraining soll genau solche nahen Alltagsformen sauber trennen.' + }) + ], + + 'Abschlussprüfung - Gesamtpfad': [ + { + exerciseTypeId: 2, + title: 'Gesamtpfad: Alltagssituation erkennen', + instruction: 'Wähle die passendste Reaktion.', + questionData: { + type: 'multiple_choice', + question: 'Ihr müsst in die Stadt, habt einen Termin und jemand braucht Hilfe. Welche Formulierung passt am besten?', + options: ['Aduna mi appointment. Tabangan tika.', 'Sulod lang. Lingkod sa.', 'Magdula ta. Lingaw ka?', 'Palangga taka. Gimingaw ko nimo.'] + }, + answerData: { type: 'multiple_choice', correctAnswer: 0 }, + explanation: 'Die Abschlussprüfung mischt bewusst mehrere Alltagsfelder.' + }, + { + exerciseTypeId: 1, + title: 'Gesamtpfad: Kernmuster vervollständigen', + instruction: 'Fülle beide Lücken mit den passenden Wörtern.', + questionData: { + type: 'gap_fill', + text: 'Moadto mi sa {gap}. Aduna mi {gap}.', + gaps: 2 + }, + answerData: { + type: 'gap_fill', + answers: ['lungsod', 'appointment'] + }, + explanation: 'Das verbindet Weg, Ort und Terminorganisation.' + }, + withTypeName('situational_response', { + title: 'Gesamtpfad: Kompakte Abschlussreaktion', + instruction: 'Reagiere in drei kurzen Sätzen.', + questionData: { + type: 'situational_response', + question: 'Sage, dass ihr in die Stadt fahrt, einen Termin habt und du helfen wirst.', + keywords: ['lungsod', 'appointment', 'tabangan'] + }, + answerData: { + modelAnswer: 'Moadto mi sa lungsod. Aduna mi appointment. Tabangan tika.', + keywords: ['lungsod', 'appointment', 'tabangan'] + }, + explanation: 'Die Abschlussprüfung bündelt Weg, Organisation und Hilfe in einer letzten Miniszene.' + }) ] };