feat: Füge Übungen zu "Gefühle im Alltag" und "Gefühlswortschatz & Reaktionen" hinzu und aktualisiere die Titel für die Sicherheit
All checks were successful
Deploy to production / deploy (push) Successful in 28s

This commit is contained in:
Torsten Schulz (local)
2026-05-19 08:50:44 +02:00
parent 297ffbd4e2
commit 3c92e1005a
2 changed files with 165 additions and 1 deletions

View File

@@ -115,7 +115,7 @@ const BISAYA_DIDACTICS_24_43_ENRICHMENTS = {
'Gefühle im Alltag': { 'Gefühle im Alltag': {
corePatterns: [ corePatterns: [
{ target: 'Nalipay ko karon.', gloss: 'Ich bin heute froh.' }, { 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.' } { target: 'Naa ra ko diri.', gloss: 'Ich bin hier.' }
], ],
speakingPrompts: [ speakingPrompts: [

View File

@@ -34,6 +34,8 @@ const GENERATED_BISAYA_DIDACTICS = {
}; };
const SAFE_EXERCISE_UPDATE_TITLES = new Set([ const SAFE_EXERCISE_UPDATE_TITLES = new Set([
'Gefühle im Alltag',
'Gefühlswortschatz & Reaktionen',
...BISAYA_PHASE3_LESSONS.map((lesson) => lesson.title), ...BISAYA_PHASE3_LESSONS.map((lesson) => lesson.title),
...BISAYA_PHASE4_LESSONS.map((lesson) => lesson.title), ...BISAYA_PHASE4_LESSONS.map((lesson) => lesson.title),
...BISAYA_PHASE5_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 // Bisaya-spezifische Übungen basierend auf Lektionsthemen
const BISAYA_EXERCISES = { 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 // Lektion 1: Begrüßungen & Höflichkeit
'Begrüßungen & Höflichkeit': [ 'Begrüßungen & Höflichkeit': [
{ {
@@ -5257,6 +5410,9 @@ const PLACEHOLDER_REBUILD_TITLES = new Set([
'Zahlen: Tausender', 'Zahlen: Tausender',
'Woche 2 - Wiederholung', 'Woche 2 - Wiederholung',
'Woche 2 - Vokabeltest', 'Woche 2 - Vokabeltest',
'Gefühle & Emotionen',
'Gefühle im Alltag',
'Gefühlswortschatz & Reaktionen',
'Familie - Verwandte & Stieffamilie', 'Familie - Verwandte & Stieffamilie',
'Rollenspiele - echte Situationen' 'Rollenspiele - echte Situationen'
]); ]);
@@ -5280,6 +5436,14 @@ function getExercisesForLesson(lesson) {
if (isLegacyZahlenPreise && BISAYA_EXERCISES['Zahlen 120']) { if (isLegacyZahlenPreise && BISAYA_EXERCISES['Zahlen 120']) {
return BISAYA_EXERCISES['Zahlen 120']; return BISAYA_EXERCISES['Zahlen 120'];
} }
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 // Suche nach exaktem Titel
if (BISAYA_EXERCISES[lessonTitle]) { if (BISAYA_EXERCISES[lessonTitle]) {
return BISAYA_EXERCISES[lessonTitle]; return BISAYA_EXERCISES[lessonTitle];