Files
yourpart3/backend/scripts/bisaya-course-plan-24-43.js
Torsten Schulz (local) e21949affb
All checks were successful
Deploy to production / deploy (push) Successful in 2m30s
feat: erweitere Vokabelkurs mit neuen Zahlen und verbessere Sichtbarkeit der Zahlenreihen
2026-05-27 14:11:55 +02:00

957 lines
49 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const BISAYA_LESSONS_24_43_BASE = [
{ week: 3, day: 1, num: 24, type: 'conversation', title: 'Gefühle im Alltag', desc: 'Gefühle ausdrücken und im Gespräch passend darauf reagieren', targetMin: 18, targetScore: 80, review: false, cultural: 'Gefühle werden oft indirekt und mit Fürsorge beantwortet.' },
{ week: 3, day: 1, num: 25, type: 'vocab', title: 'Gefühlswortschatz & Reaktionen', desc: 'Freude, Sorge, Müdigkeit, Vermissen und Beruhigung sicher unterscheiden', targetMin: 20, targetScore: 85, review: true, cultural: null },
{ week: 3, day: 2, num: 26, type: 'conversation', title: 'Gesundheit & Wohlbefinden', desc: 'Einfache Beschwerden erfragen und fürsorglich reagieren', targetMin: 18, targetScore: 80, review: false, cultural: null },
{ week: 3, day: 2, num: 27, type: 'vocab', title: 'Körper & Symptome', desc: 'Körperstellen, Symptome und einfache Pflegewörter', targetMin: 20, targetScore: 85, review: true, cultural: null },
{ week: 3, day: 3, num: 28, type: 'grammar', title: 'Höflichkeitsformen praktisch', desc: 'Bitten, Entschuldigung und weiche Reaktionen im Alltag', targetMin: 22, targetScore: 78, review: true, cultural: 'Direkte Ablehnung klingt oft hart; weiche Formulierungen sind im Alltag hilfreicher.' },
{ week: 3, day: 3, num: 29, type: 'conversation', title: 'Bitten & Nachfragen', desc: 'Hilfe, Wiederholung, Bedeutung und langsames Sprechen erbitten', targetMin: 18, targetScore: 80, review: false, cultural: null },
{ week: 3, day: 4, num: 30, type: 'conversation', title: 'Kinder & Familie', desc: 'Mit Kindern kurz, klar und freundlich sprechen', targetMin: 18, targetScore: 80, review: false, cultural: 'Kurze klare Sätze funktionieren mit Kindern natürlicher als lange Erklärungen.' },
{ week: 3, day: 4, num: 31, type: 'vocab', title: 'Kinder, Spiel & Routine', desc: 'Kinderalltag mit Spielen, Fertigsein und Schlaf verbinden', targetMin: 20, targetScore: 85, review: true, cultural: null },
{ week: 3, day: 5, num: 32, type: 'weekly_review', title: 'Woche 3 - Intensivwiederholung', desc: 'Gefühle, Gesundheit, Kinder und Höflichkeit kontrastieren', targetMin: 30, targetScore: 82, review: false, cultural: null },
{ week: 3, day: 5, num: 33, type: 'vocab', title: 'Woche 3 - Checkpoint', desc: 'Aktiver Checkpoint zur ersten Alltagserweiterung', targetMin: 18, targetScore: 84, review: true, cultural: null },
{ week: 3, day: 5, num: 44, type: 'vocab', title: 'Zahlen & Zählen (Woche 3)', desc: 'Gezielte Zählübungen 120 und runde Zahlen', targetMin: 14, targetScore: 85, review: true, cultural: null },
{ week: 4, day: 1, num: 34, type: 'conversation', title: 'Alltagsszene: Zuhause morgens', desc: 'Morgens zuhause über Aufstehen, Essen, Schule und Aufgaben sprechen', targetMin: 22, targetScore: 78, review: false, cultural: 'Morgenszenen verbinden Fürsorge, Zeit und Familienorganisation.' },
{ week: 4, day: 1, num: 35, type: 'review', title: 'Spiralreview: Woche 1-2 im Alltag', desc: 'Grundlagen aus Begrüßung, Familie, Essen, Zeit und Zahlen in Alltagsszenen anwenden', targetMin: 28, targetScore: 84, review: false, cultural: null },
{ week: 4, day: 2, num: 36, type: 'conversation', title: 'Alltagsszene: Besuch am Nachmittag', desc: 'Besuch empfangen, hereinbitten und etwas anbieten', targetMin: 22, targetScore: 78, review: false, cultural: 'Gastfreundschaft ist oft praktischer als formelle Höflichkeit.' },
{ week: 4, day: 2, num: 37, type: 'review', title: 'Spiralreview: Gefühle & Gesundheit', desc: 'Gefühle, Müdigkeit, Schmerzen, Bitte und Hilfe gezielt reaktivieren', targetMin: 26, targetScore: 84, review: false, cultural: null },
{ week: 4, day: 3, num: 38, type: 'conversation', title: 'Längeres Gespräch: Planung und Familie', desc: 'Tagesplanung mit Reihenfolge und Familie in längeren Antworten verbinden', targetMin: 24, targetScore: 78, review: false, cultural: null },
{ week: 4, day: 3, num: 39, type: 'review', title: 'Gesamtwiederholung mit Fehlerclustern', desc: 'Zeit, Bitte, Frage und Beziehungssätze gezielt kontrastieren', targetMin: 30, targetScore: 82, review: false, cultural: null },
{ week: 4, day: 4, num: 40, type: 'conversation', title: 'Praktische Übung: Markt + Familie', desc: 'Auf dem Markt für die Familie einkaufen und den Grund erklären', targetMin: 24, targetScore: 78, review: false, cultural: 'Einkaufssprache wird nützlicher, wenn sie mit Familie und Fürsorge verbunden ist.' },
{ week: 4, day: 4, num: 41, type: 'vocab', title: 'Abschlusstest Wortschatz aktiv', desc: 'Kernwortschatz der Grundphase in beide Richtungen abrufen', targetMin: 20, targetScore: 84, review: true, cultural: null },
{ week: 4, day: 5, num: 42, type: 'review', title: 'Abschlussprüfung Grundphase', desc: 'Dialog, Wortschatz und freie Mini-Antworten der Grundphase prüfen', targetMin: 32, targetScore: 84, review: false, cultural: 'Die Prüfung misst Verständlichkeit und Handlungssicherheit, nicht perfekte Grammatik.' },
{ week: 4, day: 5, num: 43, type: 'culture', title: 'Kultur: Höflichkeit, Familie, Alltag', desc: 'Respekt, indirekte Bitte und Familiennähe sprachlich einordnen', targetMin: 16, targetScore: 0, review: false, cultural: 'Kulturelles Verständnis hilft, Sätze passend und nicht nur wörtlich zu verwenden.' }
,{ week: 4, day: 5, num: 45, type: 'vocab', title: 'Zahlen & Zählen (Woche 4)', desc: 'Wiederholung der Kernzahlen und Anwendung in Preisen', targetMin: 14, targetScore: 85, review: true, cultural: null }
];
const BISAYA_LESSON_24_43_TARGET_MINUTES = {
24: 24,
25: 24,
26: 24,
27: 24,
28: 26,
29: 24,
30: 24,
31: 24,
32: 34,
33: 24,
34: 28,
35: 34,
36: 28,
37: 32,
38: 30,
39: 34,
40: 30,
41: 24,
42: 38,
43: 22
,
44: 14,
45: 14
};
export const BISAYA_LESSONS_24_43 = BISAYA_LESSONS_24_43_BASE.map((lesson) => ({
...lesson,
targetMin: BISAYA_LESSON_24_43_TARGET_MINUTES[lesson.num] || lesson.targetMin
}));
export const BISAYA_LESSONS_24_43_BY_NUMBER = Object.fromEntries(
BISAYA_LESSONS_24_43.map((lesson) => [lesson.num, lesson])
);
export const BISAYA_RELATIONSHIP_ANCHOR_DIDACTICS = {
'Gefühle & Zuneigung': {
learningGoals: [
'Wichtige Gefühle und Zuneigungsformeln sicher unterscheiden.',
'Freundliche Nähe, Liebe und Vermissen sprachlich ausdrücken.',
'Zwischen familiär-warmer und direkter romantischer Formulierung unterscheiden.',
'Beziehungssätze als frühe Motivation nutzen und später grammatisch vertiefen.'
],
corePatterns: [
{ target: 'Palangga taka.', gloss: 'Ich hab dich lieb. / Ich liebe dich.' },
{ target: 'Gihigugma tika.', gloss: 'Ich liebe dich.' },
{ target: 'Ganahan ko nimo.', gloss: 'Ich mag dich. / Ich habe dich gern.' },
{ target: 'Gimingaw ko nimo.', gloss: 'Ich vermisse dich.' },
{ target: 'Mingaw ko nimo.', gloss: 'Ich vermisse dich. (kurz/alltäglich)' },
{ target: 'Gusto ko nga naa ko nimo.', gloss: 'Ich möchte bei dir sein.' },
{ target: 'Gusto ko nga magkuyog ta.', gloss: 'Ich möchte, dass wir zusammen Zeit verbringen.' },
{ target: 'Kanunay ko naghunahuna nimo.', gloss: 'Ich denke oft an dich.' },
{ target: 'Amping kanunay.', gloss: 'Pass immer auf dich auf.' },
{ target: 'Nalipay ko nga nakita ka.', gloss: 'Ich freue mich, dich zu sehen.' }
],
grammarFocus: [
{
title: 'Palangga taka vs. Gihigugma tika',
text: 'Palangga taka ist in vielen Beziehungs- und Familienkontexten warm und natürlich. Gihigugma tika ist direkter und sollte bewusst eingesetzt werden.',
example: 'Palangga taka. / Gihigugma tika.'
},
{
title: 'ko, nimo und tika/taka',
text: 'ko markiert mich/ich, nimo bezieht sich auf dich, und tika/taka bündelt ich + dich in Nähe- und Liebessätzen.',
example: 'Gimingaw ko nimo. Palangga taka.'
},
{
title: 'Wünsche mit gusto ko nga',
text: 'Mit gusto ko nga formulierst du einen Wunsch, der danach als kleiner Satz weitergeht.',
example: 'Gusto ko nga naa ko nimo.'
}
],
speakingPrompts: [
{
title: 'Nähe ausdrücken',
prompt: 'Sage einer nahen Person, dass du sie liebst oder lieb hast und sie vermisst.',
cue: 'Palangga taka. Gimingaw ko nimo.'
},
{
title: 'Beziehungswunsch',
prompt: 'Sage, dass du bei der Person sein möchtest und oft an sie denkst.',
cue: 'Gusto ko nga naa ko nimo. Kanunay ko naghunahuna nimo.'
}
],
practicalTasks: [
{
title: 'Beziehungsanker',
text: 'Wähle drei Sätze, die du real benutzen würdest, und sprich sie langsam, natürlich und ohne deutsche Zwischenhilfe.'
}
]
}
};
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 oder traurig?' },
{ target: 'Naa ra ko diri.', gloss: 'Ich bin hier.' }
],
speakingPrompts: [
{ title: 'Gefühl plus Fürsorge', prompt: 'Sage dein Gefühl, frage nach dem Gefühl der anderen Person und reagiere fürsorglich.', cue: 'Kapoy ko karon. Naguol ka? Naa ra ko diri.' }
]
},
'Gefühlswortschatz & Reaktionen': {
corePatterns: [
{ target: 'kabalaka', gloss: 'Sorge' },
{ target: 'hilom', gloss: 'still / ruhig' },
{ target: 'Nalipay ko para nimo.', gloss: 'Ich freue mich für dich.' }
],
grammarFocus: [
{ title: 'Wort zu Satz', text: 'Aus einem Gefühlswort wird mit ko oder ka schnell ein alltagstauglicher Satz.', example: 'Kapoy ko. Naguol ka?' }
]
},
'Gesundheit & Wohlbefinden': {
corePatterns: [
{ target: 'Aduna kay hilanat?', gloss: 'Hast du Fieber?' },
{ target: 'Sakit pa?', gloss: 'Tut es noch weh?' },
{ target: 'Tawag ta og doktor?', gloss: 'Sollen wir einen Arzt rufen?' }
],
speakingPrompts: [
{ title: 'Gesundheitsverlauf', prompt: 'Frage nach Fieber, Schmerz, Medizin und Besserung.', cue: 'Aduna kay hilanat? Sakit pa? Niinom ka og tambal? Mas maayo na ka?' }
]
},
'Körper & Symptome': {
corePatterns: [
{ target: 'likod', gloss: 'Rücken' },
{ target: 'tutunlan', gloss: 'Hals / Kehle' },
{ target: 'Sakit akong tutunlan.', gloss: 'Mein Hals tut weh.' }
],
grammarFocus: [
{ title: 'Symptom konkretisieren', text: 'Körperwörter werden nützlicher, wenn du sie direkt mit sakit oder hilanat in Sätze setzt.', example: 'Sakit akong tutunlan.' }
]
},
'Höflichkeitsformen praktisch': {
corePatterns: [
{ target: 'Sunod na lang.', gloss: 'Dann ein anderes Mal.' },
{ target: 'Okay ra.', gloss: 'Ist okay.' },
{ target: 'Ayaw kabalaka.', gloss: 'Mach dir keine Sorgen.' }
],
speakingPrompts: [
{ title: 'Weich ablehnen', prompt: 'Lehne etwas heute weich ab, schlage später vor und bedanke dich.', cue: 'Dili lang sa karon. Sunod na lang. Salamat sa pagsabot.' }
]
},
'Bitten & Nachfragen': {
corePatterns: [
{ target: 'Balika palihug.', gloss: 'Wiederhole es bitte.' },
{ target: 'Unsa gani?', gloss: 'Was war das nochmal?' },
{ target: 'Pwede nimo isulat?', gloss: 'Kannst du es aufschreiben?' }
],
grammarFocus: [
{ title: 'Reparatur in Stufen', text: 'Beginne mit Nichtverstehen, bitte um Wiederholung und frage dann nach Bedeutung oder Schriftform.', example: 'Wala ko kasabot. Balika palihug. Pwede nimo isulat?' }
]
},
'Kinder & Familie': {
corePatterns: [
{ target: 'Ayaw pagdali.', gloss: 'Beeil dich nicht / Kein Stress.' },
{ target: 'Dali na.', gloss: 'Komm, beeil dich.' },
{ target: 'Kuhaa imong bag.', gloss: 'Hol deine Tasche.' }
],
grammarFocus: [
{ title: 'Kinderfreundliche Kürze', text: 'Kurze klare Aufforderungen funktionieren im Alltag besser als lange Erklärungen.', example: 'Kuhaa imong bag. Dali na.' }
]
},
'Kinder, Spiel & Routine': {
corePatterns: [
{ target: 'Ayaw kalimot.', gloss: 'Vergiss es nicht.' },
{ target: 'Hugas sa kamot.', gloss: 'Wasch dir die Hände.' },
{ target: 'Kumusta imong tulog?', gloss: 'Wie hast du geschlafen?' },
{ target: 'Patya ang suga.', gloss: 'Mach das Licht aus.' },
{ target: 'Magdula ta', gloss: 'Lass uns spielen.' },
{ target: 'Matulog na ta.', gloss: 'Jetzt schlafen wir.' },
{ target: 'Nikaon na ka?', gloss: 'Hast du schon gegessen?' },
{ target: 'Andam na ka?', gloss: 'Bist du fertig / bereit?' },
{ target: 'Kuhaa imong bag.', gloss: 'Hol deine Tasche.' },
{ target: 'Ayaw pagdali.', gloss: 'Beeil dich nicht / Kein Stress.' }
],
grammarFocus: [
{ title: 'Routineketten', text: 'Routinen bestehen aus kurzen Handlungsaufforderungen in fester Reihenfolge.', example: 'Hugas sa kamot. Matulog na ta. Patya ang suga.' }
]
},
'Woche 3 - Intensivwiederholung': {
corePatterns: [
{ target: 'Naa ra ko diri.', gloss: 'Ich bin hier.' },
{ target: 'Hugas sa kamot.', gloss: 'Wasch dir die Hände.' },
{ target: 'Balika palihug.', gloss: 'Wiederhole es bitte.' },
{ target: 'Gimingaw ko nimo.', gloss: 'Ich vermisse dich.' },
{ target: 'Sakit pa?', gloss: 'Tut es noch weh?' },
{ target: 'Andam na ka?', gloss: 'Bist du fertig / bereit?' },
{ target: 'Ayaw pagdali.', gloss: 'Beeil dich nicht / Kein Stress.' },
{ target: 'Palihug.', gloss: 'Bitte.' },
{ target: 'Hinay-hinay lang.', gloss: 'Bitte langsam.' },
{ target: 'Kuhaa imong bag.', gloss: 'Hol deine Tasche.' }
],
speakingPrompts: [
{ title: 'Acht schnelle Antworten', prompt: 'Reagiere auf acht gemischte Situationen aus Gefühl, Gesundheit, Kind und Verständnisproblem.', cue: 'Naa ra ko diri. Sakit pa? Hugas sa kamot. Balika palihug.' },
{ title: 'Schnelle Routine-Antworten', prompt: 'Gib in drei kurzen Sätzen eine Abendroutine-Anweisung für ein Kind.', cue: 'Kuhaa imong bag. Hugas sa kamot. Matulog na ta.' },
{ title: 'Fürsorge-Kurzdialog', prompt: 'Antworte auf eine kurze Sorge mit zwei fürsorglichen Sätzen.', cue: 'Sakit pa? Magpahuway sa. Naa ra ko diri.' }
],
practicalTasks: [
{ title: '8× Rapid-Response', text: 'Ziehe acht Karten mit Situationen (Gefühl/Gesundheit/Kind/Bitte) und antworte jeweils spontan mit einem Satz.' },
{ title: 'Routinekette', text: 'Bilde drei verschiedene Routineketten (z. B. Spiel → Abendessen → Hände waschen → Schlafen) und sprich jede als fließende Abfolge.' }
]
},
'Woche 3 - Checkpoint': {
corePatterns: [
{ target: 'Naguol ko gamay.', gloss: 'Ich bin ein bisschen besorgt.' },
{ target: 'Mas maayo na ka?', gloss: 'Geht es dir schon besser?' },
{ target: 'Pwede ko mangutana?', gloss: 'Darf ich fragen?' },
{ target: 'Ali diri.', gloss: 'Komm her.' },
{ target: 'Magdula ta.', gloss: 'Lass uns spielen.' },
{ target: 'Amping kanunay.', gloss: 'Pass immer auf dich auf.' },
{ target: 'Maayong gabii.', gloss: 'Guten Abend.' },
{ target: 'Katulog og maayo.', gloss: 'Schlaf gut.' },
{ target: 'Hugas sa kamot.', gloss: 'Wasch dir die Hände.' },
{ target: 'Balika palihug.', gloss: 'Wiederhole es bitte.' }
],
grammarFocus: [
{ title: 'Checkpoint als Diagnose', text: 'Der Checkpoint soll zeigen, ob du spontan reagieren kannst, nicht nur wiedererkennst.', example: 'Naguol ka? Naa ra ko diri.' },
{ title: 'Kurzantworten + Folge', text: 'Kurzantwort + ein Folgeangebot (Hilfe, Ruhe, Routine) macht Antworten handlungsorientiert.', example: 'Sakit pa? Magpahuway sa.' }
],
speakingPrompts: [
{ title: 'Freie Antwort', prompt: 'Eine nahe Person ist müde und traurig. Reagiere mit zwei fürsorglichen Sätzen.', cue: 'Magpahuway sa. Naa ra ko diri.' },
{ title: 'Kurzdialog (3 Sätze)', prompt: 'Begrüße, frage nach Befinden, biete Hilfe an.', cue: 'Maayong buntag. Sakit pa? Magpahuway sa.' },
{ title: 'Routineanweisung', prompt: 'Gib in zwei Sätzen klare Anweisungen für eine Abendroutine mit einem Kind.', cue: 'Kuhaa imong bag. Hugas sa kamot.' }
],
practicalTasks: [
{ title: 'Selbstcheck', text: 'Markiere alle Sätze, die du ohne Lesen sagen kannst, und wiederhole die unsicheren sofort im SRS.' },
{ title: 'MiniCheckpoint', text: 'Führe mit einem Partner drei kurze CheckpointDialoge: Gesundheit, Kind, Bitte. Jeder Dialog 23 Sätze.' }
]
},
'Alltagsszene: Zuhause morgens': {
corePatterns: [
{ target: 'Hugas sa nawong.', gloss: 'Wasch dein Gesicht.' },
{ target: 'Kuhaa imong bag.', gloss: 'Hol deine Tasche.' },
{ target: 'Kumusta imong tulog?', gloss: 'Wie hast du geschlafen?' },
{ target: 'Mogawas na ta.', gloss: 'Wir gehen jetzt raus.' }
],
speakingPrompts: [
{ title: 'Morgenroutine komplett', prompt: 'Sprich eine Morgenroutine mit Aufstehen, Waschen, Essen, Tasche und Losgehen.', cue: 'Bangon na. Hugas sa nawong. Nikaon na ka? Kuhaa imong bag. Mogawas na ta.' }
]
},
'Spiralreview: Woche 1-2 im Alltag': {
corePatterns: [
{ target: 'Tagpila ni?', gloss: 'Wie viel kostet das?' }
],
grammarFocus: [
{ title: 'Alte Muster aktivieren', text: 'Alte Sätze sollen in neuen Szenen auftauchen, damit sie nicht nur passiv bekannt bleiben.', example: 'Maayong gabii. Katulog og maayo.' }
]
},
'Alltagsszene: Besuch am Nachmittag': {
corePatterns: [
{ target: 'Kumusta ang biyahe?', gloss: 'Wie war die Reise?' },
{ target: 'Kaon sa.', gloss: 'Iss erst einmal.' },
{ target: 'Naa mi diri.', gloss: 'Wir sind hier.' }
],
grammarFocus: [
{ title: 'Besuch als Fürsorge', text: 'Besuchssprache verbindet Willkommen, Angebot und Nähe.', example: 'Sulod lang. Lingkod sa. Kaon sa.' }
]
},
'Spiralreview: Gefühle & Gesundheit': {
corePatterns: [
{ target: 'Aduna kay hilanat?', gloss: 'Hast du Fieber?' },
{ target: 'Naa ra ko diri.', gloss: 'Ich bin hier.' },
{ target: 'Tawag ta og doktor?', gloss: 'Sollen wir einen Arzt rufen?' }
],
grammarFocus: [
{ title: 'Problem und Reaktion', text: 'Die Wiederholung koppelt jedes Problem an eine konkrete Antwort.', example: 'Sakit akong ulo. Magpahuway sa.' }
]
},
'Längeres Gespräch: Planung und Familie': {
corePatterns: [
{ target: 'Kinsa imong kuyog?', gloss: 'Mit wem bist du unterwegs?' },
{ target: 'Human sa trabaho.', gloss: 'Nach der Arbeit.' },
{ target: 'Texti lang ko.', gloss: 'Schreib mir einfach.' }
],
speakingPrompts: [
{ title: 'Plan plus Rückfrage', prompt: 'Erzähle deinen Plan und frage nach Begleitung oder Uhrzeit.', cue: 'Una, moadto ko sa merkado. Kinsa imong kuyog? Human sa trabaho. Texti lang ko.' }
]
},
'Gesamtwiederholung mit Fehlerclustern': {
corePatterns: [
{ target: 'Dili ko pwede karon.', gloss: 'Ich kann heute nicht.' },
{ target: 'Pwede ugma?', gloss: 'Geht morgen?' },
{ target: 'Dili mao akong pasabot.', gloss: 'Das meinte ich nicht.' }
],
speakingPrompts: [
{ title: 'Fehlercluster Termin und Bitte', prompt: 'Kontrastiere Vergangenheit, Zukunft, Absage, Wiederholung und Missverständnis.', cue: 'Ni-adto ko ganiha. Mo-adto ko ugma. Dili ko pwede karon. Palihug ka mubalik?' }
]
},
'Praktische Übung: Markt + Familie': {
corePatterns: [
{ target: 'Pila tanan?', gloss: 'Wie viel insgesamt?' },
{ target: 'Barato ra.', gloss: 'Es ist günstig.' },
{ target: 'Mahal ra.', gloss: 'Es ist zu teuer.' }
],
grammarFocus: [
{ title: 'Kaufen mit Grund', text: 'Ein Marktsatz wird alltagstauglich, wenn Preis, Menge und Grund zusammenkommen.', example: 'Mupalit ko para sa pamilya.' }
]
},
'Abschlusstest Wortschatz aktiv': {
corePatterns: [
{ target: 'Sulod lang.', gloss: 'Komm herein.' },
{ target: 'Sakit akong ulo.', gloss: 'Mein Kopf tut weh.' },
{ target: 'Tagpila ni?', gloss: 'Wie viel kostet das?' }
],
grammarFocus: [
{ title: 'Aktiver Wortschatztest', text: 'Der Test verlangt nicht nur Einzelwörter, sondern kurze abrufbare Satzanker.', example: 'Tubig -> Gusto ka og tubig?' }
]
},
'Abschlussprüfung Grundphase': {
corePatterns: [
{ target: 'Sulod lang. Lingkod sa.', gloss: 'Komm herein. Setz dich erst einmal.' },
{ target: 'Sakit imong ulo? Magpahuway sa.', gloss: 'Tut dein Kopf weh? Ruh dich erst einmal aus.' },
{ target: 'Tagpila ni? Mupalit ko para sa pamilya.', gloss: 'Wie viel kostet das? Ich kaufe für die Familie.' }
],
grammarFocus: [
{ title: 'Prüfung über Szenen', text: 'Die Abschlussprüfung bewertet, ob du mehrere bekannte Muster zu einer verständlichen Szene verbinden kannst.', example: 'Kumusta ka? Nikaon na ka? Magpahuway sa.' }
]
},
'Kultur: Höflichkeit, Familie, Alltag': {
corePatterns: [
{ target: 'Sunod na lang.', gloss: 'Dann ein anderes Mal.' },
{ target: 'Tabang ta.', gloss: 'Lass uns helfen.' },
{ target: 'Salamat sa pagsabot.', gloss: 'Danke fürs Verständnis.' }
],
speakingPrompts: [
{ title: 'Kultur in Antwortwahl', prompt: 'Formuliere eine direkte deutsche Ablehnung weicher auf Bisaya.', cue: 'Dili lang sa karon. Sunod na lang. Salamat sa pagsabot.' }
]
}
};
function normalizePatternKey(entry) {
return typeof entry === 'string' ? entry : entry?.target;
}
function mergePatternLists(base = [], extra = []) {
const merged = [];
const seen = new Set();
for (const entry of [...base, ...extra]) {
const key = normalizePatternKey(entry);
if (!key || seen.has(key)) continue;
seen.add(key);
merged.push(entry);
}
return merged;
}
function mergeDidactics(base = {}, enrichment = {}) {
return {
...base,
...enrichment,
learningGoals: [...(base.learningGoals || []), ...(enrichment.learningGoals || [])],
corePatterns: mergePatternLists(base.corePatterns || [], enrichment.corePatterns || []),
grammarFocus: [...(base.grammarFocus || []), ...(enrichment.grammarFocus || [])],
speakingPrompts: [...(base.speakingPrompts || []), ...(enrichment.speakingPrompts || [])],
practicalTasks: [...(base.practicalTasks || []), ...(enrichment.practicalTasks || [])]
};
}
const BISAYA_DIDACTICS_24_43_BASE = {
'Gefühle im Alltag': {
learningGoals: [
'Eigene Gefühle mit kurzen, natürlichen Sätzen ausdrücken.',
'Auf Gefühle einer nahen Person passend reagieren.',
'Nähe und Alltag nicht isoliert, sondern im Gespräch verbinden.'
],
corePatterns: [
{ target: 'Naguol ko gamay.', gloss: 'Ich bin ein bisschen besorgt.' },
{ target: 'Nalipay ko nga nakita ka.', gloss: 'Ich freue mich, dich zu sehen.' },
{ target: 'Okay ra ko.', gloss: 'Mir geht es okay.' },
{ target: 'Kapoy ko karon.', gloss: 'Ich bin jetzt müde.' },
{ target: 'Gimingaw ko nimo.', gloss: 'Ich vermisse dich.' },
{ target: 'Kanunay ko naghunahuna nimo.', gloss: 'Ich denke oft an dich.' }
],
grammarFocus: [
{ title: 'Gefühl + ko', text: 'Viele Gefühlsaussagen nutzen das Muster Gefühl oder Zustand plus ko.', example: 'Nalipay ko. Naguol ko.' },
{ title: 'nimo für dich', text: 'Bei Nähe und Beziehung taucht nimo als Bezug auf die andere Person auf.', example: 'Gimingaw ko nimo.' }
],
speakingPrompts: [
{ title: 'Zustand und Rückfrage', prompt: 'Sage, wie es dir geht, und frage dann nach der anderen Person.', cue: 'Kapoy ko karon. Kumusta ka?' },
{ title: 'Beziehungsanker', prompt: 'Sage, dass du jemanden vermisst und oft an ihn oder sie denkst.', cue: 'Gimingaw ko nimo. Kanunay ko naghunahuna nimo.' }
],
practicalTasks: [
{ title: 'Gefühlsantwort', text: 'Wähle drei Gefühle und bilde zu jedem eine kurze Antwort, die du einer nahen Person sagen könntest.' }
]
},
'Gefühlswortschatz & Reaktionen': {
learningGoals: [
'Zentrale Gefühlswörter und kurze Reaktionen sicher erkennen.',
'Zwischen Sorge, Freude, Müdigkeit und Vermissen unterscheiden.',
'Zu einfachen Situationen eine passende Reaktion auswählen.'
],
corePatterns: [
{ target: 'lipay', gloss: 'froh / glücklich' },
{ target: 'guol', gloss: 'besorgt / traurig' },
{ target: 'kapoy', gloss: 'müde' },
{ target: 'mingaw', gloss: 'vermissend / einsam' },
{ target: 'Ayaw kabalaka.', gloss: 'Mach dir keine Sorgen.' },
{ target: 'Naa ra ko diri.', gloss: 'Ich bin hier.' },
{ target: 'Amping kanunay.', gloss: 'Pass immer auf dich auf.' },
{ target: 'Gusto ko nga magkuyog ta.', gloss: 'Ich möchte, dass wir zusammen Zeit verbringen.' }
],
speakingPrompts: [
{ title: 'Passend reagieren', prompt: 'Reagiere auf Sorge, Müdigkeit und Vermissen mit je einem kurzen Satz.', cue: 'Ayaw kabalaka. Magpahuway sa. Gimingaw ko nimo.' }
],
practicalTasks: [
{ title: 'Situationskarten', text: 'Ordne die Wörter lipay, guol, kapoy und mingaw vier Alltagssituationen zu und sprich eine passende Reaktion.' }
]
},
'Gesundheit & Wohlbefinden': {
learningGoals: [
'Einfache Beschwerden erfragen und beantworten.',
'Fürsorglich zu Ruhe, Wasser oder Medizin überleiten.',
'Gesundheitssätze mit bereits bekannten Familienmustern verbinden.'
],
corePatterns: [
{ target: 'Sakit akong ulo.', gloss: 'Mein Kopf tut weh.' },
{ target: 'Sakit imong tiyan?', gloss: 'Tut dein Bauch weh?' },
{ target: 'Mas maayo na ka?', gloss: 'Geht es dir schon besser?' },
{ target: 'Magpahuway sa.', gloss: 'Ruh dich erst einmal aus.' },
{ target: 'Uminom og tubig.', gloss: 'Trink Wasser.' },
{ target: 'Niinom ka og tambal?', gloss: 'Hast du Medizin genommen?' }
],
grammarFocus: [
{ title: 'akong / imong', text: 'Mit akong und imong sagst du mein/dein vor einem Körperteil.', example: 'akong ulo, imong tiyan' }
],
speakingPrompts: [
{ title: 'Pflege-Mini-Dialog', prompt: 'Frage nach einer Beschwerde und biete Ruhe oder Wasser an.', cue: 'Sakit imong ulo? Magpahuway sa. Uminom og tubig.' }
],
practicalTasks: [
{ title: 'Gesundheitscheck', text: 'Sprich drei kurze Pflegefragen und drei passende Antworten laut.' }
]
},
'Körper & Symptome': {
learningGoals: [
'Häufige Körperstellen und Symptome erkennen.',
'Beschwerden mit Ort und Stärke verbinden.',
'Pflegewortschatz in kurzen Sätzen verwenden.'
],
corePatterns: [
{ target: 'ulo', gloss: 'Kopf' },
{ target: 'tiyan', gloss: 'Bauch' },
{ target: 'ngipon', gloss: 'Zahn' },
{ target: 'hilanat', gloss: 'Fieber' },
{ target: 'ubo', gloss: 'Husten' },
{ target: 'kasakit', gloss: 'Schmerz' },
{ target: 'tambal', gloss: 'Medizin' },
{ target: 'doktor', gloss: 'Arzt / Ärztin' }
],
speakingPrompts: [
{ title: 'Beschwerde lokalisieren', prompt: 'Sage, wo es weh tut, und frage nach Medizin.', cue: 'Sakit akong tiyan. Asa ang tambal?' }
],
practicalTasks: [
{ title: 'Körperrunde', text: 'Zeige auf Kopf, Bauch und Zahn und sage je einen kurzen Satz mit sakit.' }
]
},
'Höflichkeitsformen praktisch': {
learningGoals: [
'Bitten, Entschuldigung und weiche Reaktionen unterscheiden.',
'Direkte Aussagen höflicher formulieren.',
'Höflichkeit in Konflikt- und Beziehungssituationen anwenden.'
],
corePatterns: [
{ target: 'Palihug.', gloss: 'Bitte.' },
{ target: 'Pasayloa ko.', gloss: 'Entschuldige mich.' },
{ target: 'Pwede ko mangutana?', gloss: 'Darf ich fragen?' },
{ target: 'Sige lang.', gloss: 'Schon okay.' },
{ target: 'Dili lang sa karon.', gloss: 'Jetzt lieber nicht.' },
{ target: 'Salamat sa pagsabot.', gloss: 'Danke fürs Verstehen.' }
],
grammarFocus: [
{ title: 'Weich ablehnen', text: 'Dili lang sa karon ist oft sozial weicher als ein direktes Nein.', example: 'Dili lang sa karon. Sunod na lang.' },
{ title: 'Bitte und Reparatur', text: 'Palihug und Pasayloa ko helfen, wenn du etwas brauchst oder einen Fehler korrigierst.', example: 'Pasayloa ko. Palihug ka mubalik?' }
],
speakingPrompts: [
{ title: 'Höflich korrigieren', prompt: 'Entschuldige dich, bitte um Wiederholung und bedanke dich.', cue: 'Pasayloa ko. Palihug ka mubalik? Salamat.' }
],
practicalTasks: [
{ title: 'Direkt zu höflich', text: 'Forme drei direkte deutsche Sätze in weiche Bisaya-Reaktionen um.' }
]
},
'Bitten & Nachfragen': {
learningGoals: [
'Bei Verständnisproblemen sicher reagieren.',
'Um Hilfe, Wiederholung und langsamere Sprache bitten.',
'Nach Bedeutung und nächstem Schritt fragen.'
],
corePatterns: [
{ target: 'Wala ko kasabot.', gloss: 'Ich verstehe nicht.' },
{ target: 'Palihug ka mubalik?', gloss: 'Kannst du das bitte wiederholen?' },
{ target: 'Hinay-hinay lang.', gloss: 'Bitte langsam.' },
{ target: 'Tabangi ko, palihug.', gloss: 'Hilf mir bitte.' },
{ target: 'Unsay pasabot ani?', gloss: 'Was bedeutet das?' },
{ target: 'Unsa ang sunod?', gloss: 'Was kommt als Nächstes?' }
],
speakingPrompts: [
{ title: 'Reparaturdialog', prompt: 'Sage, dass du nicht verstehst, bitte um langsames Wiederholen und frage nach der Bedeutung.', cue: 'Wala ko kasabot. Hinay-hinay lang. Unsay pasabot ani?' }
],
practicalTasks: [
{ title: 'Notfallanker', text: 'Übe die sechs Sätze in wechselnder Reihenfolge, bis du sie ohne Lesen sagen kannst.' }
]
},
'Kinder & Familie': {
learningGoals: [
'Mit Kindern kurze und klare Alltagssätze sprechen.',
'Essen, Schule und Fertigsein in einfachen Fragen verbinden.',
'Freundliche Aufforderungen ohne harten Ton bilden.'
],
corePatterns: [
{ target: 'Ali diri.', gloss: 'Komm her.' },
{ target: 'Andam na ka?', gloss: 'Bist du fertig?' },
{ target: 'Nikaon na ka?', gloss: 'Hast du schon gegessen?' },
{ target: 'Asa imong bag?', gloss: 'Wo ist deine Tasche?' },
{ target: 'Magtuon ta.', gloss: 'Lass uns lernen.' },
{ target: 'Matulog na ta.', gloss: 'Lass uns schlafen gehen.' }
],
speakingPrompts: [
{ title: 'Kind ansprechen', prompt: 'Frage ein Kind nach Essen, Tasche und Fertigsein.', cue: 'Nikaon na ka? Asa imong bag? Andam na ka?' }
],
practicalTasks: [
{ title: 'Kinder-Mini-Szene', text: 'Spiele eine Szene vor der Schule: Tasche suchen, Essen fragen, losgehen.' }
]
},
'Kinder, Spiel & Routine': {
learningGoals: [
'Spiel, Lernen und Schlaf als Routine verbinden.',
'Zwischen Aktivität und Abschluss unterscheiden.',
'Eine kurze Abendroutine mit Kindersprache bilden.'
],
corePatterns: [
{ target: 'Magdula ta.', gloss: 'Lass uns spielen.' },
{ target: 'Ganahan ka modula?', gloss: 'Möchtest du spielen?' },
{ target: 'Human na ka?', gloss: 'Bist du fertig?' },
{ target: 'Lingaw ka?', gloss: 'Hast du Spaß?' },
{ target: 'Magtuon ta gamay.', gloss: 'Lass uns ein bisschen lernen.' },
],
speakingPrompts: [
{ title: 'Abendroutine', prompt: 'Verbinde Spiel beenden, kurz lernen und schlafen gehen.', cue: 'Human na ka? Magtuon ta gamay.' }
],
practicalTasks: [
{ title: 'Routinekette', text: 'Sprich eine Kette aus Spielen, Fertigsein, Lernen und Schlafen.' }
]
},
'Woche 3 - Intensivwiederholung': {
learningGoals: [
'Gefühle, Gesundheit, Kinder und Höflichkeit gemischt abrufen.',
'Ähnliche Sätze in wechselnden Situationen unterscheiden.',
'Schneller von Wiedererkennung zu eigener Antwort wechseln.'
],
corePatterns: [
'Gimingaw ko nimo.',
'Sakit imong ulo?',
'Andam na ka?',
'Pasayloa ko.',
'Magpahuway sa.',
'Hinay-hinay lang.'
],
speakingPrompts: [
{ title: 'Schnelle Situationsantworten', prompt: 'Reagiere kurz auf: vermissen, Kopfschmerz, Kind ist nicht fertig, du verstehst nicht.', cue: 'Gimingaw ko nimo. Magpahuway sa. Andam na ka? Wala ko kasabot.' }
],
practicalTasks: [
{ title: 'Mischkarten', text: 'Mische Karten aus Gefühl, Gesundheit, Kind und Bitte; antworte jeweils mit einem Satz.' }
]
},
'Woche 3 - Checkpoint': {
learningGoals: [
'Die erste Alltagserweiterung diagnostisch prüfen.',
'Kernmuster aus Woche 3 aktiv in beide Richtungen abrufen.',
'Mindestens eine freie Antwort zu einer realen Szene bilden.'
],
corePatterns: [
'Naguol ko gamay.',
'Mas maayo na ka?',
'Pwede ko mangutana?',
'Ali diri.',
'Magdula ta.',
'Amping kanunay.',
'Maayong gabii.',
'Katulog og maayo.'
],
speakingPrompts: [
{ title: 'Freie Antwort', prompt: 'Eine nahe Person ist müde und traurig. Reagiere mit zwei fürsorglichen Sätzen.', cue: 'Magpahuway sa. Naa ra ko diri.' }
],
practicalTasks: [
{ title: 'Selbstcheck', text: 'Markiere alle Sätze, die du ohne Lesen sagen kannst, und wiederhole die unsicheren sofort im SRS.' }
]
},
'Alltagsszene: Zuhause morgens': {
learningGoals: [
'Eine konkrete Morgenszene in mehreren Schritten sprechen.',
'Familie, Essen, Schule und Aufgaben verbinden.',
'Alte Grundlagen in einem neuen Ablauf anwenden.'
],
corePatterns: [
{ target: 'Maayong buntag.', gloss: 'Guten Morgen.' },
{ target: 'Bangon na.', gloss: 'Steh jetzt auf.' },
{ target: 'Nikaon na ka?', gloss: 'Hast du schon gegessen?' },
{ target: 'Andam na ka sa eskwela?', gloss: 'Bist du bereit für die Schule?' },
{ target: 'Naa koy buhaton karon.', gloss: 'Ich habe heute etwas zu tun.' },
{ target: 'Pagkahuman, mouli ta.', gloss: 'Danach gehen wir nach Hause.' }
],
grammarFocus: [
{ title: 'Ablaufwörter', text: 'Mit karon, unya und pagkahuman strukturierst du kurze Alltagsabläufe.', example: 'Karon... Unya... Pagkahuman...' }
],
speakingPrompts: [
{ title: 'Morgenablauf', prompt: 'Bilde einen Ablauf aus Aufstehen, Essen, Schule und Aufgabe.', cue: 'Maayong buntag. Bangon na. Nikaon na ka? Andam na ka sa eskwela?' }
],
practicalTasks: [
{ title: '5-Satz-Morgen', text: 'Sprich eine Morgenszene mit fünf Sätzen ohne deutsche Zwischenhilfe.' }
]
},
'Spiralreview: Woche 1-2 im Alltag': {
learningGoals: [
'Begrüßung, Familie, Essen, Zeit und Zahlen im Alltag neu kombinieren.',
'Alte Muster nicht isoliert, sondern in einer Szene abrufen.',
'Frühe Unsicherheiten vor der nächsten Phase sichtbar machen.'
],
corePatterns: [
'Kumusta ka?',
'Si Nanay.',
'Nikaon na ka?',
'Karon',
'Ugma',
'Baynte'
],
speakingPrompts: [
{ title: 'Alte Muster neu', prompt: 'Begrüße jemanden, frage nach Essen und nenne einen Preis oder Zeitpunkt.', cue: 'Kumusta ka? Nikaon na ka? Baynte pesos.' }
],
practicalTasks: [
{ title: 'Spiralrunde', text: 'Nimm je zwei Sätze aus Woche 1 und Woche 2 und baue daraus eine Alltagsszene.' }
]
},
'Alltagsszene: Besuch am Nachmittag': {
learningGoals: [
'Einen Besuch freundlich eröffnen.',
'Hereinbitten, Sitzplatz anbieten und Getränk/Essen anbieten.',
'Nähe und Gastfreundschaft mit bekannten Höflichkeitsformen verbinden.'
],
corePatterns: [
{ target: 'Maayong hapon.', gloss: 'Guten Nachmittag.' },
{ target: 'Sulod lang.', gloss: 'Komm ruhig herein.' },
{ target: 'Lingkod sa.', gloss: 'Setz dich erst einmal.' },
{ target: 'Gusto ka og tubig?', gloss: 'Möchtest du Wasser?' },
{ target: 'Gimingaw mi nimo.', gloss: 'Wir haben dich vermisst.' },
{ target: 'Salamat sa pag-anhi.', gloss: 'Danke fürs Kommen.' }
],
speakingPrompts: [
{ title: 'Gast begrüßen', prompt: 'Begrüße einen Gast, bitte ihn herein und biete Wasser an.', cue: 'Maayong hapon. Sulod lang. Gusto ka og tubig?' }
],
practicalTasks: [
{ title: 'Besuchsszene', text: 'Spiele Gastgeber und Gast abwechselnd mit mindestens vier Sätzen.' }
]
},
'Spiralreview: Gefühle & Gesundheit': {
learningGoals: [
'Gefühle und Gesundheitsmuster blockübergreifend wiederholen.',
'Müdigkeit, Schmerz, Bitte und Hilfe passend beantworten.',
'Zuneigung und Fürsorge in kurzen Reaktionen verbinden.'
],
corePatterns: [
'Kapoy ko.',
'Sakit akong ulo.',
'Tabangi ko, palihug.',
'Ayaw kabalaka.',
'Magpahuway sa.',
'Palangga taka.'
],
speakingPrompts: [
{ title: 'Fürsorgeantwort', prompt: 'Eine Person sagt, sie ist müde und hat Kopfschmerzen. Reagiere fürsorglich.', cue: 'Ayaw kabalaka. Magpahuway sa. Uminom og tubig.' }
],
practicalTasks: [
{ title: 'Reaktionspaare', text: 'Bilde fünf Paare aus Problem und Antwort, z. B. kapoy -> magpahuway sa.' }
]
},
'Längeres Gespräch: Planung und Familie': {
learningGoals: [
'Mehrere Alltagsschritte in Reihenfolge erzählen.',
'Familie, Wege und Aufgaben in einem längeren Gespräch verbinden.',
'Erste freie Antworten über vier bis sechs Sätze bilden.'
],
corePatterns: [
{ target: 'Una, moadto ko sa merkado.', gloss: 'Zuerst gehe ich zum Markt.' },
{ target: 'Pagkahuman, kuhaon nako ang bata.', gloss: 'Danach hole ich das Kind ab.' },
{ target: 'Unya, mouli mi sa balay.', gloss: 'Später gehen wir nach Hause.' },
{ target: 'Aduna koy plano karon.', gloss: 'Ich habe heute einen Plan.' },
{ target: 'Gusto ko nga naa ko nimo.', gloss: 'Ich möchte bei dir sein.' },
{ target: 'Magkita ta ugma.', gloss: 'Wir sehen uns morgen.' }
],
grammarFocus: [
{ title: 'Reihenfolge mit una/pagkahuman/unya', text: 'Diese Wörter machen aus Einzelsätzen einen Ablauf.', example: 'Una... Pagkahuman... Unya...' },
{ title: 'gusto ko nga', text: 'Mit gusto ko nga leitest du einen Wunsch mit einem Folgesatz ein.', example: 'Gusto ko nga naa ko nimo.' }
],
speakingPrompts: [
{ title: 'Tagesplan erzählen', prompt: 'Erzähle einen Tagesplan mit drei Schritten und einem Wunsch.', cue: 'Una... Pagkahuman... Unya... Gusto ko nga...' }
],
practicalTasks: [
{ title: '6-Satz-Plan', text: 'Sprich sechs Sätze über deinen heutigen oder morgigen Plan.' }
]
},
'Gesamtwiederholung mit Fehlerclustern': {
learningGoals: [
'Typische Verwechslungen aus Zeit, Bitte, Frage und Nähe erkennen.',
'Ähnliche Formen direkt gegeneinander trainieren.',
'Vor der Grundphasenprüfung schwache Muster isolieren.'
],
corePatterns: [
'Ni-adto ko ganiha.',
'Mo-adto ko ugma.',
'Palihug ka mubalik?',
'Pwede ko mangutana?',
'Gimingaw ko nimo.',
'Gusto ko nga naa ko nimo.'
],
grammarFocus: [
{ title: 'ni- vs. mo-', text: 'ni- blickt zurück, mo- nach vorn oder auf eine Absicht.', example: 'Ni-adto ko ganiha. Mo-adto ko ugma.' },
{ title: 'Bitte vs. Frage', text: 'Palihug ka mubalik? bittet um Wiederholung; Pwede ko mangutana? bittet um Erlaubnis zu fragen.', example: 'Palihug ka mubalik? / Pwede ko mangutana?' }
],
speakingPrompts: [
{ title: 'Kontrastdrill', prompt: 'Sage je einen Satz für gestern, morgen, Bitte um Wiederholung und Beziehungswunsch.', cue: 'Ni-adto ko ganiha. Mo-adto ko ugma. Palihug ka mubalik? Gusto ko nga naa ko nimo.' }
],
practicalTasks: [
{ title: 'Fehlerprotokoll', text: 'Notiere drei Verwechslungen und bilde jeweils zwei Kontrastsätze.' }
]
},
'Praktische Übung: Markt + Familie': {
learningGoals: [
'Eine Marktszene mit Familienbedarf verbinden.',
'Preis, Menge und Kaufgrund in kurzen Sätzen ausdrücken.',
'Alltagssprache praktisch statt isoliert anwenden.'
],
corePatterns: [
{ target: 'Tagpila ni?', gloss: 'Wie viel kostet das?' },
{ target: 'Pwede duha kabuok?', gloss: 'Gehen zwei Stück?' },
{ target: 'Mupalit ko para sa pamilya.', gloss: 'Ich kaufe für die Familie.' },
{ target: 'Kinahanglan nako og tubig.', gloss: 'Ich brauche Wasser.' },
{ target: 'Sige, kuhaon nako.', gloss: 'Okay, ich nehme es.' },
{ target: 'Salamat kaayo.', gloss: 'Vielen Dank.' }
],
speakingPrompts: [
{ title: 'Marktdialog', prompt: 'Frage nach Preis und Menge und sage, dass du für die Familie kaufst.', cue: 'Tagpila ni? Pwede duha kabuok? Mupalit ko para sa pamilya.' }
],
practicalTasks: [
{ title: 'Einkaufsliste', text: 'Wähle drei Dinge aus und sprich je einen Satz zu Preis, Menge oder Grund.' }
]
},
'Abschlusstest Wortschatz aktiv': {
learningGoals: [
'Kernwortschatz der ersten vier Wochen aktiv abrufen.',
'Wörter und kurze Sätze in beide Richtungen trainieren.',
'SRS-relevante Schwächen für die Wiederholung markieren.'
],
corePatterns: [
'Kumusta',
'Palihug',
'Pamilya',
'Tubig',
'Karon',
'Ugma',
'Tambal',
'Gimingaw ko nimo'
],
speakingPrompts: [
{ title: 'Aktiver Abruf', prompt: 'Bilde aus vier zufälligen Wörtern je einen kurzen Satz.', cue: 'Tubig -> Gusto ka og tubig?' }
],
practicalTasks: [
{ title: 'Beide Richtungen', text: 'Übersetze zehn Kernwörter Deutsch -> Bisaya und Bisaya -> Deutsch.' }
]
},
'Abschlussprüfung Grundphase': {
learningGoals: [
'Die Grundphase in Dialog, Wortschatz und freier Antwort prüfen.',
'Alltag, Beziehung, Fürsorge und Reparatursprache kombinieren.',
'Verständliche Antworten über mehrere Sätze produzieren.'
],
corePatterns: [
'Kumusta ka?',
'Nikaon na ka?',
'Wala ko kasabot.',
'Mas maayo na ka?',
'Gusto ko nga naa ko nimo.',
'Mupalit ko para sa pamilya.'
],
speakingPrompts: [
{ title: 'Mini-Dialog 1', prompt: 'Begrüße, frage nach Essen und reagiere fürsorglich.', cue: 'Kumusta ka? Nikaon na ka? Magpahuway sa.' },
{ title: 'Mini-Dialog 2', prompt: 'Bitte um Wiederholung und sage danach einen Beziehungs- oder Familienwunsch.', cue: 'Palihug ka mubalik? Gusto ko nga naa ko nimo.' }
],
practicalTasks: [
{ title: 'Prüfungsszene', text: 'Sprich zwei kurze Szenen: zuhause morgens und Markt für Familie.' }
]
},
'Kultur: Höflichkeit, Familie, Alltag': {
learningGoals: [
'Höflichkeit und Familiennähe kulturell einordnen.',
'Indirekte Bitte und weiche Ablehnung verstehen.',
'Sprachliche Wärme passend statt wörtlich einsetzen.'
],
corePatterns: [
{ target: 'respeto', gloss: 'Respekt' },
{ target: 'amping', gloss: 'Pass auf dich auf' },
{ target: 'palihug', gloss: 'bitte' },
{ target: 'pakikisama', gloss: 'soziale Harmonie / Miteinander' },
{ target: 'Dili lang sa karon.', gloss: 'Jetzt lieber nicht.' },
{ target: 'Palangga taka.', gloss: 'Ich hab dich lieb / Ich liebe dich.' }
],
grammarFocus: [
{ title: 'Nicht nur wörtlich übersetzen', text: 'Ein Satz kann grammatisch richtig sein und trotzdem sozial unpassend klingen. Kontext entscheidet.', example: 'Palangga taka kann Beziehung und Familie warm ausdrücken.' }
],
speakingPrompts: [
{ title: 'Kulturell passend reagieren', prompt: 'Wähle eine weiche Antwort auf eine Einladung, wenn du heute nicht kannst.', cue: 'Dili lang sa karon. Sunod na lang. Salamat.' }
],
practicalTasks: [
{ title: 'Weiterlernplan', text: 'Notiere drei Situationen, in denen du Bisaya mit einer nahen Person wirklich verwenden willst.' }
]
}
};
// Sichtbare Zähllektionen als eigene didaktische Einträge
const NUMBERS_DIDACTIC = {
learningGoals: [
'Zahlen bis 20 sicher abrufen.',
'Zusammengesetzte Zahlen wie 21 und 25 nach einem Muster bilden.',
'Runde Zahlen (30,40,..90,100) erkennen und nutzen.',
'Große Zahlen (200, 1000, 2000) in Preisen und Mengen verstehen.'
],
corePatterns: [
{ target: 'Usa', gloss: 'eins' }, { target: 'Duha', gloss: 'zwei' }, { target: 'Tulo', gloss: 'drei' }, { target: 'Upat', gloss: 'vier' }, { target: 'Lima', gloss: 'fünf' },
{ target: 'Unom', gloss: 'sechs' }, { target: 'Pito', gloss: 'sieben' }, { target: 'Walo', gloss: 'acht' }, { target: 'Siyam', gloss: 'neun' }, { target: 'Napulo', gloss: 'zehn' },
{ target: 'Napulo ug usa', gloss: 'elf' }, { target: 'Napulo ug duha', gloss: 'zwölf' }, { target: 'Napulo ug tulo', gloss: 'dreizehn' }, { target: 'Napulo ug upat', gloss: 'vierzehn' }, { target: 'Napulo ug lima', gloss: 'fünfzehn' },
{ target: 'Napulo ug unom', gloss: 'sechzehn' }, { target: 'Napulo ug pito', gloss: 'siebzehn' }, { target: 'Napulo ug walo', gloss: 'achtzehn' }, { target: 'Napulo ug siyam', gloss: 'neunzehn' }, { target: 'Baynte', gloss: 'zwanzig' },
{ target: 'Kaluhaan ug usa', gloss: 'einundzwanzig' }, { target: 'Kaluhaan ug lima', gloss: 'fünfundzwanzig' }, { target: 'Kaluhaan ug siyam', gloss: 'neunundzwanzig' },
{ target: 'Katloan ug usa', gloss: 'einunddreißig' }, { target: 'Katloan ug lima', gloss: 'fünfunddreißig' }, { target: 'Kalim-an ug walo', gloss: 'achtundfünfzig' },
{ target: 'Traysenta', gloss: 'dreißig' }, { target: 'Kwarenta', gloss: 'vierzig' }, { target: 'Singkwenta', gloss: 'fünfzig' }, { target: 'Sesenta', gloss: 'sechzig' }, { target: 'Setenta', gloss: 'siebzig' },
{ target: 'Otsenta', gloss: 'achtzig' }, { target: 'Nobenta', gloss: 'neunzig' }, { target: 'Usa ka gatos', gloss: 'einhundert' }, { target: 'Duha ka gatos', gloss: 'zweihundert' },
{ target: 'Usa ka libo', gloss: 'tausend' }, { target: 'Duha ka libo', gloss: 'zweitausend' }
],
grammarFocus: [
{ title: '11 bis 19', text: 'Bei der nativen Bildung steht zuerst zehn und danach mit „ug“ die Einerzahl.', example: 'Napulo ug usa = elf; Napulo ug lima = fünfzehn.' },
{ title: 'Zahlen über 20', text: 'Dasselbe Muster funktioniert mit höheren Zehnern: Zehner + „ug“ + Einer. Bei Preisen hört man zusätzlich oft spanisch geprägte Kurzformen wie „baynte“.', example: 'Kaluhaan ug lima = fünfundzwanzig; Baynte = zwanzig.' }
],
speakingPrompts: [
{ title: 'Zähle bis 20', prompt: 'Zähle laut von Usa bis Baynte.' },
{ title: 'Zusammengesetzte Zahlen', prompt: 'Nenne 21, 25, 29, 31, 35 und 58 mit dem Muster Zehner + ug + Einer.', cue: 'Kaluhaan ug usa. Kaluhaan ug lima. Katloan ug usa.' },
{ title: 'Preisangaben', prompt: 'Nenne Preise mit Zahlwörtern, z.B. Kaluhaan ug lima, Singkwenta, Usa ka gatos oder Duha ka libo.' }
],
practicalTasks: [
{ title: 'Zähllektionen', text: 'Mindestens einmal pro Woche eine 35 Minuten Zählübung: 120, dann 21, 25, 29 und runde Zahlen.' }
]
};
BISAYA_DIDACTICS_24_43_BASE['Zahlen & Zählen (Woche 3)'] = mergeDidactics({}, NUMBERS_DIDACTIC);
BISAYA_DIDACTICS_24_43_BASE['Zahlen & Zählen (Woche 4)'] = mergeDidactics({}, NUMBERS_DIDACTIC);
// Zusatz: Zahlen & Zählübungen (werden in Wochenaggregaten eingebunden)
import { GERMAN_FOR_BISAYA_PHASE1_LESSONS, GERMAN_FOR_BISAYA_PHASE1_DIDACTICS } from './german-for-bisaya-phase1.js';
const BISAYA_DIDACTICS_24_43_INITIAL = Object.fromEntries(
Object.entries(BISAYA_DIDACTICS_24_43_BASE).map(([title, didactics]) => [
title,
mergeDidactics(didactics, BISAYA_DIDACTICS_24_43_ENRICHMENTS[title])
])
);
function buildWeekAggregate(weekNum, targetTitle, perLessonOrPercent = 1) {
if (!BISAYA_LESSONS_24_43) return;
const lessonTitles = BISAYA_LESSONS_24_43
.filter((l) => l.week === weekNum && l.type !== 'review' && !String(l.title).startsWith('Woche'))
.map((l) => l.title);
const germanLessonTitles = (GERMAN_FOR_BISAYA_PHASE1_LESSONS || [])
.filter((l) => l.week === weekNum && !String(l.title).startsWith('Woche'))
.map((l) => l.title);
const collected = [];
const seen = new Set();
for (const t of [...lessonTitles, ...germanLessonTitles]) {
const did = BISAYA_DIDACTICS_24_43_INITIAL[t] || GERMAN_FOR_BISAYA_PHASE1_DIDACTICS?.[t];
if (!did || !did.corePatterns) continue;
const totalPatterns = did.corePatterns.length || 0;
let take = perLessonOrPercent;
if (typeof perLessonOrPercent === 'number' && perLessonOrPercent > 0 && perLessonOrPercent < 1) {
take = Math.max(1, Math.ceil(totalPatterns * perLessonOrPercent));
}
for (let i = 0; i < take && i < did.corePatterns.length; i++) {
const p = did.corePatterns[i];
const key = typeof p === 'string' ? p : p.target;
if (!key || seen.has(key)) continue;
seen.add(key);
collected.push(p);
}
}
if (BISAYA_DIDACTICS_24_43_INITIAL[targetTitle]) {
BISAYA_DIDACTICS_24_43_INITIAL[targetTitle].corePatterns = mergePatternLists(
BISAYA_DIDACTICS_24_43_INITIAL[targetTitle].corePatterns || [],
collected
);
}
}
// Ensure Woche 3 review and checkpoint include (at least) one pattern per lesson
// Intensivwiederholung: sammeln wir ~60% der Muster pro Lektion
buildWeekAggregate(3, 'Woche 3 - Intensivwiederholung', 0.6);
// Checkpoint: kurze Diagnose, 1 Muster pro Lektion
buildWeekAggregate(3, 'Woche 3 - Checkpoint', 1);
export const BISAYA_DIDACTICS_24_43 = BISAYA_DIDACTICS_24_43_INITIAL;
// Merge number practice into Woche 3 and Woche 4 reviews/checkpoints so each week has counting
if (BISAYA_DIDACTICS_24_43['Woche 3 - Intensivwiederholung']) {
BISAYA_DIDACTICS_24_43['Woche 3 - Intensivwiederholung'] = mergeDidactics(
BISAYA_DIDACTICS_24_43['Woche 3 - Intensivwiederholung'],
NUMBERS_DIDACTIC
);
}
if (BISAYA_DIDACTICS_24_43['Woche 3 - Checkpoint']) {
BISAYA_DIDACTICS_24_43['Woche 3 - Checkpoint'] = mergeDidactics(
BISAYA_DIDACTICS_24_43['Woche 3 - Checkpoint'],
NUMBERS_DIDACTIC
);
}
if (BISAYA_DIDACTICS_24_43['Woche 4 - Intensivwiederholung']) {
BISAYA_DIDACTICS_24_43['Woche 4 - Intensivwiederholung'] = mergeDidactics(
BISAYA_DIDACTICS_24_43['Woche 4 - Intensivwiederholung'],
NUMBERS_DIDACTIC
);
}
if (BISAYA_DIDACTICS_24_43['Woche 4 - Checkpoint']) {
BISAYA_DIDACTICS_24_43['Woche 4 - Checkpoint'] = mergeDidactics(
BISAYA_DIDACTICS_24_43['Woche 4 - Checkpoint'],
NUMBERS_DIDACTIC
);
}