feat(bisaya-course): expand exercises for shopping, neighborhood visits, conflict resolution, and free speaking
All checks were successful
Deploy to production / deploy (push) Successful in 2m57s

- Added new exercises in multiple-choice, gap-fill, and situational response formats for categories including 'Einkaufen vertiefen', 'Nachbarschaft & Besuche', 'Rollenspiel - Konflikt und Hilfe', and 'Freies Sprechen - Alltag ohne Stütze'.
- Each exercise includes detailed instructions, question data, answer data, and explanations to enhance the learning experience for Bisaya language learners.
- Focused on practical scenarios to improve conversational skills and vocabulary retention.
This commit is contained in:
Torsten Schulz (local)
2026-03-31 09:04:24 +02:00
parent 53f0745faf
commit 6b3aee458a
2 changed files with 706 additions and 0 deletions

View File

@@ -2136,6 +2136,534 @@ const BISAYA_EXERCISES = {
},
explanation: 'Die Abschlussprüfung bündelt Weg, Organisation und Hilfe in einer letzten Miniszene.'
})
],
'Einkaufen vertiefen': [
{
exerciseTypeId: 2,
title: 'Gesamtpreis erfragen',
instruction: 'Wähle die passendste Einkaufsfrage.',
questionData: {
type: 'multiple_choice',
question: 'Du hast mehrere Dinge ausgesucht. Wie fragst du nach dem Gesamtpreis?',
options: ['Pila ni tanan?', 'Kapoy na ka?', 'Asa ang bata?', 'Tabangan tika.']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"Pila ni tanan?" fragt nach dem Gesamtpreis.'
},
{
exerciseTypeId: 1,
title: 'Menge ergänzen',
instruction: 'Fülle die Lücke mit dem passenden Mengenwort.',
questionData: {
type: 'gap_fill',
text: 'Pwede tulo ka{gap}?',
gaps: 1
},
answerData: {
type: 'gap_fill',
answers: ['buok']
},
explanation: '"buok" wird für zählbare Einzelstücke verwendet.'
},
withTypeName('situational_response', {
title: 'Einkauf abschließen',
instruction: 'Reagiere passend beim Bezahlen.',
questionData: {
type: 'situational_response',
question: 'Frage nach dem Gesamtpreis und sage dann, dass du es nimmst.',
keywords: ['tanan', 'kuhaon']
},
answerData: {
modelAnswer: 'Pila ni tanan? Kuhaon na nako.',
keywords: ['tanan', 'kuhaon']
},
explanation: 'Das ist ein sehr alltagsnaher Miniabschluss beim Einkaufen.'
})
],
'Nachbarschaft & Besuche': [
{
exerciseTypeId: 2,
title: 'Bei Nachbarn vorbeischauen',
instruction: 'Wähle die passendste Aussage für einen Besuch bei Nachbarn.',
questionData: {
type: 'multiple_choice',
question: 'Wie sagst du: "Wir waren bei den Nachbarn"?',
options: ['Niadto mi sa silingan.', 'Adto ta sa doktor.', 'Magdula ta.', 'Naa koy assignment.']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"silingan" bedeutet Nachbar oder Nachbarschaft.'
},
{
exerciseTypeId: 1,
title: 'Einladung in die Nachbarschaft',
instruction: 'Fülle die Lücke mit dem passenden Besuchswort.',
questionData: {
type: 'gap_fill',
text: '{gap} mo unya.',
gaps: 1
},
answerData: {
type: 'gap_fill',
answers: ['Bisita']
},
explanation: '"Bisita mo unya." lädt zu einem späteren Besuch ein.'
},
withTypeName('situational_response', {
title: 'Nachbarschaftsbesuch ankündigen',
instruction: 'Reagiere in zwei kurzen Sätzen.',
questionData: {
type: 'situational_response',
question: 'Sag, dass ihr bei den Nachbarn wart und dass sie später zu Besuch kommen können.',
keywords: ['silingan', 'bisita']
},
answerData: {
modelAnswer: 'Niadto mi sa silingan. Bisita mo unya.',
keywords: ['silingan', 'bisita']
},
explanation: 'Das verbindet Begegnung und Einladung in einem natürlichen Nachbarschaftskontext.'
})
],
'Rollenspiel - Konflikt und Hilfe': [
{
exerciseTypeId: 2,
title: 'Konflikt ruhig eröffnen',
instruction: 'Wähle die höflichste Eröffnung für ein schwieriges Gespräch.',
questionData: {
type: 'multiple_choice',
question: 'Wie leitest du ein Konfliktgespräch ruhig ein?',
options: ['Pwede nato istoryahan?', 'Pila ni tanan?', 'Sulod lang.', 'Nikaon na ka?']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"Pwede nato istoryahan?" ist weich und gesprächsorientiert.'
},
{
exerciseTypeId: 1,
title: 'Hilfe ergänzen',
instruction: 'Fülle die Lücke mit der passenden Hilfeformel.',
questionData: {
type: 'gap_fill',
text: '{gap} tika.',
gaps: 1
},
answerData: {
type: 'gap_fill',
answers: ['Tabangan']
},
explanation: '"Tabangan tika." bedeutet "Ich helfe dir."'
},
withTypeName('situational_response', {
title: 'Konflikt und Hilfe verbinden',
instruction: 'Reagiere kurz, höflich und lösungsorientiert.',
questionData: {
type: 'situational_response',
question: 'Bitte darum, das Problem zu besprechen, und biete anschließend Hilfe an.',
keywords: ['istoryahan', 'tabangan']
},
answerData: {
modelAnswer: 'Pwede nato istoryahan? Tabangan tika.',
keywords: ['istoryahan', 'tabangan']
},
explanation: 'Das Rollenspiel verbindet Deeskalation und konkrete Hilfe.'
})
],
'Freies Sprechen - Alltag ohne Stütze': [
{
exerciseTypeId: 2,
title: 'Freies Sprechen strukturieren',
instruction: 'Wähle den Ausdruck, mit dem du eine freie Aussage natürlich einleitest.',
questionData: {
type: 'multiple_choice',
question: 'Welche Form passt gut als Einleitung für freies Sprechen?',
options: ['Sa tinuod...', 'Pila ang plite?', 'Asa ang sakayan?', 'Sulod lang.']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"Sa tinuod..." eignet sich gut, um frei in eine Aussage hineinzukommen.'
},
{
exerciseTypeId: 3,
title: 'Freie Aussage bauen',
instruction: 'Ordne die Wörter zu einer typischen Einleitung für eine freie Alltagsaussage.',
questionData: {
type: 'sentence_building',
question: 'Baue: "Meistens..."',
tokens: ['Kasagaran']
},
answerData: {
correct: ['Kasagaran...']
},
explanation: 'Diese Einleitungen helfen, im freien Sprechen in Gang zu kommen.'
},
{
title: 'Alltag frei erzählen',
instruction: 'Sprich ohne deutsche Stütze eine kurze freie Alltagsaussage.',
exerciseTypeId: 8,
questionData: {
type: 'speaking_from_memory',
question: 'Erzähle kurz frei über deinen Alltag und nutze mindestens zwei dieser Einleitungen: Sa tinuod, Kasagaran, Usahay, Apan.',
expectedText: 'Sa tinuod... Kasagaran... Usahay... Apan...',
keywords: ['tinuod', 'kasagaran', 'usahay', 'apan']
},
answerData: {
type: 'speaking_from_memory'
},
explanation: 'Hier geht es nicht mehr um perfekte Vorgabe, sondern um flüssige eigene Produktion.'
}
],
'Langzeitreview - Intensiv I': [
{
exerciseTypeId: 2,
title: 'Frühe Muster reaktivieren',
instruction: 'Wähle den Ausdruck, der sicher im Langzeitgedächtnis sitzen sollte.',
questionData: {
type: 'multiple_choice',
question: 'Welches frühe Fürsorgemuster musst du sofort wiedererkennen?',
options: ['Nikaon na ka?', 'Asa ang porma?', 'Naa moy appointment?', 'Mubayad ko.']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: 'Das Langzeitreview holt sehr frühe Kernmuster bewusst wieder nach vorn.'
},
{
exerciseTypeId: 1,
title: 'Frühe Preisfrage ergänzen',
instruction: 'Fülle die Lücke mit dem passenden frühen Kernwort.',
questionData: {
type: 'gap_fill',
text: '{gap} ni?',
gaps: 1
},
answerData: {
type: 'gap_fill',
answers: ['Tagpila']
},
explanation: '"Tagpila ni?" gehört zu den wichtigsten frühen Alltagsfragen.'
},
withTypeName('situational_response', {
title: 'Frühe Routinen bündeln',
instruction: 'Reagiere mit zwei sehr frühen Kernmustern.',
questionData: {
type: 'situational_response',
question: 'Begrüße jemanden kurz und frage dann, ob die Person schon gegessen hat.',
keywords: ['kumusta', 'nikaon']
},
answerData: {
modelAnswer: 'Kumusta ka? Nikaon na ka?',
keywords: ['kumusta', 'nikaon']
},
explanation: 'Das reviewt ganz bewusst sehr frühe, sehr wichtige Sozialmuster.'
})
],
'Langzeitreview - Intensiv II': [
{
exerciseTypeId: 2,
title: 'Frühe und späte Themen mischen',
instruction: 'Wähle den Ausdruck, der zum Reaktivieren späterer Alltagsfelder gehört.',
questionData: {
type: 'multiple_choice',
question: 'Welcher Ausdruck gehört klar zu Schule, Gesundheit oder Erledigungen?',
options: ['resibo', 'Kumusta ka?', 'Palangga taka.', 'Sulod lang.']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"resibo" steht hier für spätere Erledigungs- und Alltagsblöcke.'
},
{
exerciseTypeId: 1,
title: 'Gesundheit reaktivieren',
instruction: 'Fülle die Lücke mit dem passenden Wort aus dem Gesundheitsbereich.',
questionData: {
type: 'gap_fill',
text: 'Adto ta sa {gap}.',
gaps: 1
},
answerData: {
type: 'gap_fill',
answers: ['doktor']
},
explanation: 'Auch späte Alltagsfelder sollen im Langzeitreview schnell wieder greifbar sein.'
},
withTypeName('situational_response', {
title: 'Späte Themen bündeln',
instruction: 'Reagiere mit zwei kurzen Sätzen.',
questionData: {
type: 'situational_response',
question: 'Sage, dass ihr zum Arzt geht, und erwähne danach ein Dokument oder einen Beleg.',
keywords: ['doktor', 'resibo']
},
answerData: {
modelAnswer: 'Adto ta sa doktor. Naa ko resibo.',
keywords: ['doktor', 'resibo']
},
explanation: 'Das Langzeitreview mischt bewusst entfernte Themenfelder in einer kurzen Reaktion.'
})
],
'Hilfe & Unterstützung': [
{
exerciseTypeId: 2,
title: 'Um Hilfe bitten',
instruction: 'Wähle die passendste Bitte um Unterstützung.',
questionData: {
type: 'multiple_choice',
question: 'Wie fragst du höflich, ob dir jemand helfen kann?',
options: ['Pwede ka motabang?', 'Asa ang sakayan?', 'Naa moy appointment?', 'Sulod lang.']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"Pwede ka motabang?" ist eine direkte, natürliche Hilfsbitte.'
},
{
exerciseTypeId: 1,
title: 'Hilfe anbieten ergänzen',
instruction: 'Fülle die Lücke mit der passenden Hilfsformel.',
questionData: {
type: 'gap_fill',
text: '{gap} tika.',
gaps: 1
},
answerData: {
type: 'gap_fill',
answers: ['Tabangan']
},
explanation: '"Tabangan tika." bedeutet "Ich helfe dir."'
},
withTypeName('situational_response', {
title: 'Hilfe erfragen und anbieten',
instruction: 'Reagiere in zwei kurzen Sätzen.',
questionData: {
type: 'situational_response',
question: 'Bitte erst um Hilfe und bedanke dich danach kurz für die Unterstützung.',
keywords: ['tabang', 'salamat']
},
answerData: {
modelAnswer: 'Pwede ka motabang? Salamat sa tabang.',
keywords: ['tabang', 'salamat']
},
explanation: 'Die Lektion verbindet Bitte und soziale Reaktion zu einem natürlichen Miniablauf.'
})
],
'Höflich reagieren und ablehnen': [
{
exerciseTypeId: 2,
title: 'Sanft ablehnen',
instruction: 'Wähle die höflichste weiche Absage.',
questionData: {
type: 'multiple_choice',
question: 'Wie lehnst du etwas freundlich und nicht zu direkt ab?',
options: ['Dili lang sa karon.', 'Tabang!', 'Nikaon na ka?', 'Mubayad ko.']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"Dili lang sa karon." klingt deutlich weicher als ein hartes Nein.'
},
{
exerciseTypeId: 1,
title: 'Später statt jetzt',
instruction: 'Fülle die Lücke mit der passenden weichen Reaktion.',
questionData: {
type: 'gap_fill',
text: '{gap} na lang.',
gaps: 1
},
answerData: {
type: 'gap_fill',
answers: ['Sunod']
},
explanation: '"Sunod na lang." verschiebt höflich auf später.'
},
withTypeName('situational_response', {
title: 'Höflich verschieben',
instruction: 'Reagiere freundlich und weich.',
questionData: {
type: 'situational_response',
question: 'Lehne eine Einladung höflich für heute ab und verschiebe sie auf später.',
keywords: ['dili', 'sunod']
},
answerData: {
modelAnswer: 'Dili lang sa karon. Sunod na lang.',
keywords: ['dili', 'sunod']
},
explanation: 'Das ist genau die weiche soziale Reaktionsform dieser Lektion.'
})
],
'Feste & Einladungen': [
{
exerciseTypeId: 2,
title: 'Zur Feier einladen',
instruction: 'Wähle die passende Einladungsformel.',
questionData: {
type: 'multiple_choice',
question: 'Wie sagst du: "Ich lade dich ein"?',
options: ['Giinvite tika.', 'Adto ta sa doktor.', 'Kapoy na ka?', 'Asa imong bag?']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"Giinvite tika." ist eine alltagsnahe Einladungsform.'
},
{
exerciseTypeId: 1,
title: 'Zur Fiesta fragen',
instruction: 'Fülle die Lücke mit dem passenden Wort.',
questionData: {
type: 'gap_fill',
text: 'Moadto ka sa {gap}?',
gaps: 1
},
answerData: {
type: 'gap_fill',
answers: ['pista']
},
explanation: '"pista" steht hier für Feier oder Fiesta.'
},
withTypeName('situational_response', {
title: 'Einladung und Treffpunkt',
instruction: 'Reagiere in zwei kurzen Sätzen.',
questionData: {
type: 'situational_response',
question: 'Lade jemanden ein und sage, dass ihr euch dort trefft.',
keywords: ['invite', 'didto']
},
answerData: {
modelAnswer: 'Giinvite tika. Magkita ta didto.',
keywords: ['invite', 'didto']
},
explanation: 'Die Lektion verbindet Einladung und Verabredung in einer natürlichen Sozialszene.'
})
],
'Freies Erzählen - Mein Alltag': [
{
exerciseTypeId: 2,
title: 'Tagesablauf einleiten',
instruction: 'Wähle die passendste Einleitung für einen Tagesablauf.',
questionData: {
type: 'multiple_choice',
question: 'Welche Formulierung passt gut als Start in einen erzählten Tagesablauf?',
options: ['Sa buntag...', 'Pila ni tanan?', 'Asa ang porma?', 'Sulod lang.']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"Sa buntag..." eröffnet natürlich einen erzählten Tagesabschnitt.'
},
{
exerciseTypeId: 1,
title: 'Tagesabschnitt ergänzen',
instruction: 'Fülle die Lücke mit dem passenden Zeitabschnitt.',
questionData: {
type: 'gap_fill',
text: 'Sa {gap}...',
gaps: 1
},
answerData: {
type: 'gap_fill',
answers: ['hapon']
},
explanation: '"Sa hapon..." ist eine häufige Einleitung für den Nachmittag.'
},
{
exerciseTypeId: 8,
title: 'Eigenen Alltag erzählen',
instruction: 'Sprich frei über deinen Tagesablauf.',
questionData: {
type: 'speaking_from_memory',
question: 'Erzähle kurz, was du morgens, nachmittags und abends machst.',
expectedText: 'Sa buntag... Sa hapon... Sa gabii...',
keywords: ['buntag', 'hapon', 'gabii']
},
answerData: {
type: 'speaking_from_memory'
},
explanation: 'Hier steht die freie, zusammenhängende Produktion im Vordergrund.'
}
],
'Freies Erzählen - Familie, Sorgen, Pläne': [
{
exerciseTypeId: 2,
title: 'Sorge ausdrücken',
instruction: 'Wähle die Formulierung, mit der du eine leichte Sorge ausdrückst.',
questionData: {
type: 'multiple_choice',
question: 'Wie sagst du natürlich: "Ich bin etwas besorgt"?',
options: ['Naguol ko gamay.', 'Mubayad ko.', 'Sulod lang.', 'Tagpila ni?']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"Naguol ko gamay." drückt eine leichte Sorge oder Niedergeschlagenheit aus.'
},
{
exerciseTypeId: 1,
title: 'Plan ergänzen',
instruction: 'Fülle die Lücke mit dem passenden Planungswort.',
questionData: {
type: 'gap_fill',
text: 'Aduna koy {gap} unya.',
gaps: 1
},
answerData: {
type: 'gap_fill',
answers: ['plano']
},
explanation: '"plano" ist hier das Schlüsselwort für einen bevorstehenden Plan.'
},
{
exerciseTypeId: 8,
title: 'Familie, Sorge und Plan frei verbinden',
instruction: 'Sprich frei in mehreren kurzen Sätzen.',
questionData: {
type: 'speaking_from_memory',
question: 'Erzähle kurz von Familie, einer Sorge und einem Plan für später.',
expectedText: 'Naguol ko gamay. Pero okay ra. Aduna koy plano unya.',
keywords: ['naguol', 'okay', 'plano']
},
answerData: {
type: 'speaking_from_memory'
},
explanation: 'Diese Lektion trainiert freie Verbindung von Gefühl, Familie und Planung.'
}
],
'Kultur, Familie & Sprache langfristig': [
{
exerciseTypeId: 2,
title: 'Kulturellen Kernbegriff erkennen',
instruction: 'Wähle den Ausdruck, der stark mit respektvollem Umgang verbunden ist.',
questionData: {
type: 'multiple_choice',
question: 'Welcher Ausdruck gehört besonders zum kulturellen Schwerpunkt von Respekt und Rücksicht?',
options: ['respeto', 'plite', 'resibo', 'assignment']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"respeto" steht direkt für Respekt im sozialen Umgang.'
},
{
exerciseTypeId: 2,
title: 'Familienkultur und Sprache',
instruction: 'Wähle den Ausdruck, der besonders mit sozialem Miteinander verbunden ist.',
questionData: {
type: 'multiple_choice',
question: 'Welcher Begriff verweist besonders auf gemeinschaftliches Mitziehen und gutes Miteinander?',
options: ['pakikisama', 'doktor', 'ATM', 'sukli']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"pakikisama" ist ein zentraler kultureller Begriff für harmonisches Miteinander.'
},
{
exerciseTypeId: 8,
title: 'Kulturelle Schlüsselwörter laut festigen',
instruction: 'Sprich die kulturellen Schlüsselwörter laut und bewusst.',
questionData: {
type: 'speaking_from_memory',
question: 'Sprich die Wörter respeto, pakikisama, amping und palihug laut und deutlich.',
expectedText: 'respeto pakikisama amping palihug',
keywords: ['respeto', 'pakikisama', 'amping', 'palihug']
},
answerData: {
type: 'speaking_from_memory'
},
explanation: 'Die Schlusslektion verankert kulturelle Schlüsselwörter bewusst als Langzeitmarker.'
}
]
};