Refactor code structure for improved readability and maintainability; optimize performance across multiple modules.
All checks were successful
Deploy to production / deploy (push) Successful in 2m56s

This commit is contained in:
Torsten Schulz (local)
2026-07-21 09:08:15 +02:00
parent 75b52de282
commit 1ab9407e79
1400 changed files with 22278 additions and 485 deletions

0
backend/scripts/add-bisaya-week1-lessons.js Normal file → Executable file
View File

View File

0
backend/scripts/analyze-bisaya-courses.cjs Normal file → Executable file
View File

0
backend/scripts/analyze-bisaya-courses.js Normal file → Executable file
View File

0
backend/scripts/apply-bisaya-course-refresh.js Normal file → Executable file
View File

0
backend/scripts/bisaya-course-phase1.js Normal file → Executable file
View File

0
backend/scripts/bisaya-course-phase2-pedagogy.js Normal file → Executable file
View File

0
backend/scripts/bisaya-course-phase3-extension.js Normal file → Executable file
View File

0
backend/scripts/bisaya-course-phase4-extension.js Normal file → Executable file
View File

0
backend/scripts/bisaya-course-phase5-extension.js Normal file → Executable file
View File

22
backend/scripts/bisaya-course-plan-24-43.js Normal file → Executable file
View File

@@ -648,10 +648,10 @@ const BISAYA_DIDACTICS_24_43_BASE = {
'Nikaon na ka?',
'Karon',
'Ugma',
'Kawhaan'
'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? Kawhaan pesos.' }
{ 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.' }
@@ -853,21 +853,21 @@ const NUMBERS_DIDACTIC = {
{ 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: 'Kawhaan', gloss: 'zwanzig' },
{ target: 'Kawhaan ug usa', gloss: 'einundzwanzig' }, { target: 'Kawhaan ug lima', gloss: 'fünfundzwanzig' }, { target: 'Kawhaan ug siyam', gloss: 'neunundzwanzig' },
{ target: 'Katloan', gloss: 'dreißig' }, { target: 'Katloan ug usa', gloss: 'einunddreißig' }, { target: 'Katloan ug lima', gloss: 'fünfunddreißig' }, { target: 'Kap-atan', gloss: 'vierzig' },
{ target: 'Kalim-an', gloss: 'fünfzig' }, { target: 'Kalim-an ug walo', gloss: 'achtundfünfzig' }, { target: 'Kanum-an', gloss: 'sechzig' }, { target: 'Kapitoan', gloss: 'siebzig' },
{ target: 'Kawaloan', gloss: 'achtzig' }, { target: 'Kasiyaman', gloss: 'neunzig' }, { target: 'Usa ka gatos', gloss: 'einhundert' }, { target: 'Duha ka gatos', gloss: 'zweihundert' },
{ 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: 'Baynte ug usa', gloss: 'einundzwanzig' }, { target: 'Baynte ug lima', gloss: 'fünfundzwanzig' }, { target: 'Baynte ug siyam', gloss: 'neunundzwanzig' },
{ target: 'Traynta', gloss: 'dreißig' }, { target: 'Traynta ug usa', gloss: 'einunddreißig' }, { target: 'Traynta ug lima', gloss: 'fünfunddreißig' }, { target: 'Kwarenta', gloss: 'vierzig' },
{ target: 'Singkwenta', gloss: 'fünfzig' }, { target: 'Singkwenta ug walo', gloss: 'achtundfünfzig' }, { target: 'Sesenta', gloss: 'sechzig' }, { target: 'Setenta', gloss: 'siebzig' },
{ target: 'Otsenta', gloss: 'achtzig' }, { target: 'Nubenta', 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. Wir bleiben in dieser Lernreihe bei der nativen Zahlenbildung.', example: 'Kawhaan = zwanzig; Kawhaan ug lima = fünfundzwanzig.' }
{ title: 'Zahlen über 20', text: 'Dasselbe Muster funktioniert mit höheren Zehnern: Zehner + „ug“ + Einer. Wir bleiben in dieser Lernreihe bei regional gebräuchlichen Zehnerformen.', example: 'Baynte = zwanzig; Baynte ug lima = fünfundzwanzig.' }
],
speakingPrompts: [
{ title: 'Zähle bis 20', prompt: 'Zähle laut von Usa bis Kawhaan.' },
{ title: 'Zusammengesetzte Zahlen', prompt: 'Nenne 21, 25, 29, 31, 35 und 58 mit dem Muster Zehner + ug + Einer.', cue: 'Kawhaan ug usa. Kawhaan ug lima. Katloan ug usa.' },
{ title: 'Preisangaben', prompt: 'Nenne Preise mit Zahlwörtern, z.B. Kawhaan ug lima, Kalim-an, Usa ka gatos oder Duha ka libo.' }
{ 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: 'Baynte ug usa. Baynte ug lima. Traynta ug usa.' },
{ title: 'Preisangaben', prompt: 'Nenne Preise mit Zahlwörtern, z.B. Baynte 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.' }

0
backend/scripts/count-per-lesson-24-43.mjs Normal file → Executable file
View File

0
backend/scripts/count_corepatterns.js Normal file → Executable file
View File

32
backend/scripts/create-bisaya-course-content.js Normal file → Executable file
View File

@@ -2914,7 +2914,7 @@ const BISAYA_EXERCISES = {
correct: 'Napulo',
alternatives: ['napulo']
},
explanation: '"Napulo" = zehn; „kawhaan“ = zwanzig.'
explanation: '"Napulo" = zehn; „baynte“ = zwanzig.'
},
{
exerciseTypeId: 2,
@@ -2922,11 +2922,11 @@ const BISAYA_EXERCISES = {
instruction: 'Wähle die richtige Übersetzung.',
questionData: {
type: 'multiple_choice',
question: 'Was bedeutet "kawhaan"?',
question: 'Was bedeutet "baynte"?',
options: ['zwanzig', 'zehn', 'dreißig', 'zwölf']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"kawhaan" = zwanzig.'
explanation: '"baynte" = zwanzig.'
}
],
@@ -2938,11 +2938,11 @@ const BISAYA_EXERCISES = {
instruction: 'Wähle die passende deutsche Bedeutung.',
questionData: {
type: 'multiple_choice',
question: 'Was bedeutet "katloan"?',
question: 'Was bedeutet "traynta"?',
options: ['dreißig', 'dreizehn', 'dreihundert', 'dreitausend']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"Katloan" = dreißig in der nativen Zahlenreihe.'
explanation: '"Traynta" = dreißig in der regional gebräuchlichen Zahlenreihe.'
},
{
exerciseTypeId: 1,
@@ -2955,9 +2955,9 @@ const BISAYA_EXERCISES = {
},
answerData: {
type: 'gap_fill',
answers: ['Kawhaan', 'Katloan', 'Kap-atan', 'Kalim-an']
answers: ['Baynte', 'Traynta', 'Kwarenta', 'Singkwenta']
},
explanation: 'Die native Zahlenreihe bildet runde Zehner als eigene Grundformen.'
explanation: 'Die regional gebräuchliche Zahlenreihe nutzt für runde Zehner Baynte, Traynta, Kwarenta und Singkwenta.'
},
{
exerciseTypeId: 1,
@@ -2970,9 +2970,9 @@ const BISAYA_EXERCISES = {
},
answerData: {
type: 'gap_fill',
answers: ['Kawhaan ug usa', 'Kawhaan ug lima', 'Katloan ug usa', 'Kalim-an ug walo']
answers: ['Baynte ug usa', 'Baynte ug lima', 'Traynta ug usa', 'Singkwenta ug walo']
},
explanation: 'In der nativen Reihe folgt auf den Zehner mit „ug“ die Einerzahl.'
explanation: 'In dieser Alltagsreihe folgt auf den Zehner mit „ug“ die Einerzahl.'
},
{
exerciseTypeId: 4,
@@ -2986,10 +2986,10 @@ const BISAYA_EXERCISES = {
},
answerData: {
type: 'transformation',
correct: 'Kalim-an',
alternatives: ['kalim-an']
correct: 'Singkwenta',
alternatives: ['singkwenta']
},
explanation: '"Kalim-an" = fünfzig.'
explanation: '"Singkwenta" = fünfzig.'
},
{
exerciseTypeId: 2,
@@ -2998,10 +2998,10 @@ const BISAYA_EXERCISES = {
questionData: {
type: 'multiple_choice',
question: 'Wie heißt „achtzig“ typischerweise?',
options: ['Kawaloan', 'Kasiyaman', 'Kawhaan', 'Napulo']
options: ['Otsenta', 'Nubenta', 'Baynte', 'Napulo']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"Kawaloan" = achtzig; „Kasiyaman“ = neunzig.'
explanation: '"Otsenta" = achtzig; „Nubenta“ = neunzig.'
}
],
@@ -3118,7 +3118,7 @@ const BISAYA_EXERCISES = {
questionData: {
type: 'multiple_choice',
question: 'Was passt zu 5000?',
options: ['Lima ka libo', 'Lima ka gatos', 'Kawhaan ka libo', 'Napulo ka libo']
options: ['Lima ka libo', 'Lima ka gatos', 'Baynte ka libo', 'Napulo ka libo']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '"Lima ka libo" = fünftausend.'
@@ -3215,7 +3215,7 @@ const BISAYA_EXERCISES = {
},
answerData: {
type: 'gap_fill',
answers: ['Kawhaan', 'Kawhaan', 'Tagpila']
answers: ['Baynte', 'Baynte', 'Tagpila']
},
explanation: 'Die Kombination aus Zahlwort und Preisfrage ist Kernstoff aus Woche 2.'
},

View File

@@ -595,7 +595,7 @@ const LESSON_DIDACTICS = {
learningGoals: [
'Die Grundzahlen 110 sicher sprechen und zuordnen.',
'Zahlen 1119 als Zehner-plus-Einer erkennen.',
'Die Zahl 20 (kawhaan) sicher verwenden.'
'Die Zahl 20 (baynte) sicher verwenden.'
],
corePatterns: [
{ target: 'Usa', gloss: 'eins' },
@@ -617,20 +617,20 @@ const LESSON_DIDACTICS = {
{ target: 'Napulo ug pito', gloss: 'siebzehn' },
{ target: 'Napulo ug walo', gloss: 'achtzehn' },
{ target: 'Napulo ug siyam', gloss: 'neunzehn' },
{ target: 'Kawhaan', gloss: 'zwanzig' }
{ target: 'Baynte', gloss: 'zwanzig' }
],
grammarFocus: [
{
title: 'Aufbau 1119',
text: 'In der nativen Reihe steht nach „napulo“ mit „ug“ die Einerzahl.',
example: 'Napulo ug usa (11), …, Kawhaan (20).'
example: 'Napulo ug usa (11), …, Baynte (20).'
}
],
speakingPrompts: [
{
title: 'Zählen bis 20',
prompt: 'Zähle laut von 1 bis 10 und dann in Einzelschritten bis 20.',
cue: 'Usa, duha, tulo … Kawhaan.'
cue: 'Usa, duha, tulo … Baynte.'
}
],
practicalTasks: [
@@ -647,36 +647,36 @@ const LESSON_DIDACTICS = {
'Zehner im Alltag (Preis, Menge) wiedererkennen.'
],
corePatterns: [
{ target: 'Kawhaan', gloss: 'zwanzig' },
{ target: 'Kawhaan ug usa', gloss: 'einundzwanzig' },
{ target: 'Kawhaan ug lima', gloss: 'fünfundzwanzig' },
{ target: 'Katloan', gloss: 'dreißig' },
{ target: 'Katloan ug usa', gloss: 'einunddreißig' },
{ target: 'Kap-atan', gloss: 'vierzig' },
{ target: 'Kalim-an', gloss: 'fünfzig' },
{ target: 'Kalim-an ug walo', gloss: 'achtundfünfzig' },
{ target: 'Kanum-an', gloss: 'sechzig' },
{ target: 'Kapitoan', gloss: 'siebzig' },
{ target: 'Kawaloan', gloss: 'achtzig' },
{ target: 'Kasiyaman', gloss: 'neunzig' }
{ target: 'Baynte', gloss: 'zwanzig' },
{ target: 'Baynte ug usa', gloss: 'einundzwanzig' },
{ target: 'Baynte ug lima', gloss: 'fünfundzwanzig' },
{ target: 'Traynta', gloss: 'dreißig' },
{ target: 'Traynta ug usa', gloss: 'einunddreißig' },
{ target: 'Kwarenta', gloss: 'vierzig' },
{ target: 'Singkwenta', gloss: 'fünfzig' },
{ target: 'Singkwenta ug walo', gloss: 'achtundfünfzig' },
{ target: 'Sesenta', gloss: 'sechzig' },
{ target: 'Setenta', gloss: 'siebzig' },
{ target: 'Otsenta', gloss: 'achtzig' },
{ target: 'Nubenta', gloss: 'neunzig' }
],
grammarFocus: [
{
title: 'Native Zehnerbildung',
text: 'Für die Lernreihe bleiben die Zehner nativ; eine Einerzahl folgt mit „ug“.',
example: 'Kawhaan ug lima = fünfundzwanzig.'
title: 'Regional gebräuchliche Zehner',
text: 'Für die Lernreihe nutzen wir regional gebräuchliche Zehner; eine Einerzahl folgt mit „ug“.',
example: 'Baynte ug lima = fünfundzwanzig.'
},
{
title: 'Einheitliches Muster',
text: 'Für diese Lernreihe verwenden wir die native Zehnerreihe konsequent weiter.',
example: 'Kawhaan = zwanzig; Katloan = dreißig.'
text: 'Für diese Lernreihe verwenden wir die regional gebräuchliche Zehnerreihe konsequent weiter.',
example: 'Baynte = zwanzig; Traynta = dreißig.'
}
],
speakingPrompts: [
{
title: 'Nur Zehner',
prompt: 'Nenne nacheinander 20, 30, … 90 auf Bisaya.',
cue: 'Kawhaan, katloan, kap-atankasiyaman.'
cue: 'Baynte, traynta, kwarenta … nubenta.'
}
],
practicalTasks: [
@@ -764,13 +764,13 @@ const LESSON_DIDACTICS = {
{ target: 'Asa ka moadto unya?', gloss: 'Wohin gehst du später?' },
{ target: 'Mo-adto ko ugma.', gloss: 'Ich gehe morgen.' },
{ target: 'Tagpila ni?', gloss: 'Wie viel kostet das?' },
{ target: 'Kawhaan pesos.', gloss: 'Zwanzig Peso.' }
{ target: 'Baynte pesos.', gloss: 'Zwanzig Peso.' }
],
speakingPrompts: [
{
title: 'Woche-2-Mix',
prompt: 'Baue einen Mini-Dialog mit Ort, Zeit und Preis.',
cue: 'Asa ka moadto unya? Tagpila ni? Kawhaan pesos.'
cue: 'Asa ka moadto unya? Tagpila ni? Baynte pesos.'
}
],
practicalTasks: [
@@ -792,7 +792,7 @@ const LESSON_DIDACTICS = {
{ target: 'Karon', gloss: 'heute/jetzt' },
{ target: 'Ugma', gloss: 'morgen' },
{ target: 'Tagpila ni?', gloss: 'Wie viel kostet das?' },
{ target: 'Kawhaan', gloss: 'zwanzig' }
{ target: 'Baynte', gloss: 'zwanzig' }
],
practicalTasks: [
{
@@ -960,7 +960,7 @@ const LESSONS = [
cultural: 'Handeln ist in den Philippinen üblich und erwartet.' },
{ week: 2, day: 4, num: 18, type: 'vocab', title: 'Zahlen 120',
desc: 'Grundzahlen und Zahlen bis 20 (usa … kawhaan)',
desc: 'Grundzahlen und Zahlen bis 20 (usa … baynte)',
targetMin: 22, targetScore: 85, review: true,
cultural: null },

View File

0
backend/scripts/create-german-for-bisaya-course.js Normal file → Executable file
View File

0
backend/scripts/dedupe-bisaya-family-courses.js Normal file → Executable file
View File

0
backend/scripts/diag-srs-stats.js Normal file → Executable file
View File

0
backend/scripts/extend-bisaya-course-phase3.js Normal file → Executable file
View File

0
backend/scripts/extend-bisaya-course-phase4.js Normal file → Executable file
View File

0
backend/scripts/extend-bisaya-course-phase5.js Normal file → Executable file
View File

View File

View File

View File

0
backend/scripts/falukant-moneyflow-report.mjs Normal file → Executable file
View File

0
backend/scripts/falukant-town-product-worth-stats.mjs Normal file → Executable file
View File

0
backend/scripts/find-duplicate-patterns.mjs Normal file → Executable file
View File

0
backend/scripts/find-exercise-by-text.cjs Normal file → Executable file
View File

0
backend/scripts/fix-bisaya-review-field.mjs Normal file → Executable file
View File

0
backend/scripts/fix-srs-immediate-due.js Normal file → Executable file
View File

0
backend/scripts/fix-srs-queries-plain.sql Normal file → Executable file
View File

0
backend/scripts/fix-srs-queries.sql Normal file → Executable file
View File

0
backend/scripts/generate-lesson-checkpoints.cjs Normal file → Executable file
View File

0
backend/scripts/german-for-bisaya-phase1.js Normal file → Executable file
View File

0
backend/scripts/german-for-bisaya-phase2-pedagogy.js Normal file → Executable file
View File

0
backend/scripts/german-for-bisaya-phase3-extension.js Normal file → Executable file
View File

0
backend/scripts/german-for-bisaya-phase4-extension.js Normal file → Executable file
View File

0
backend/scripts/german-for-bisaya-phase5-extension.js Normal file → Executable file
View File

2
backend/scripts/migrate-bisaya-zahlen-split.js Normal file → Executable file
View File

@@ -126,7 +126,7 @@ async function migrateCourse(courseId) {
});
const patch18 = {
title: 'Zahlen 120',
description: 'Grundzahlen und Zahlen bis 20 (usa … kawhaan)',
description: 'Grundzahlen und Zahlen bis 20 (usa … baynte)',
weekNumber: 2,
dayNumber: 4,
lessonType: 'vocab',

0
backend/scripts/normalize-core-pattern-alternatives.js Normal file → Executable file
View File

View File

0
backend/scripts/print-lesson-patterns.mjs Normal file → Executable file
View File

0
backend/scripts/repair-bisaya-children-lessons.js Normal file → Executable file
View File

View File

3
backend/scripts/repair-bisaya-number-answer-pairs.js Normal file → Executable file
View File

@@ -22,6 +22,8 @@ const BISAYA_TO_GERMAN_DIGIT = new Map([
['pito', '7'],
['walo', '8'],
['siyam', '9'],
['dyes', '10'],
['ten', '10'],
['napulo', '10'],
['onse', '11'],
['dose', '12'],
@@ -32,6 +34,7 @@ const BISAYA_TO_GERMAN_DIGIT = new Map([
['disisiete', '17'],
['disiotso', '18'],
['disinuybe', '19'],
['baynte', '20'],
['kawhaan', '20'],
]);

0
backend/scripts/repair-fix-body-mc.cjs Normal file → Executable file
View File

View File

0
backend/scripts/repair-remove-sentence-mc.js Normal file → Executable file
View File

0
backend/scripts/sync-vocab-course-content.js Normal file → Executable file
View File

36
backend/scripts/update-bisaya-didactics.js Normal file → Executable file
View File

@@ -369,7 +369,7 @@ export const LESSON_DIDACTICS = {
{ target: 'Napulo ug pito', gloss: 'siebzehn' },
{ target: 'Napulo ug walo', gloss: 'achtzehn' },
{ target: 'Napulo ug siyam', gloss: 'neunzehn' },
{ target: 'Kawhaan', gloss: 'zwanzig' }
{ target: 'Baynte', gloss: 'zwanzig' }
],
speakingPrompts: [],
practicalTasks: [
@@ -383,22 +383,22 @@ export const LESSON_DIDACTICS = {
'Spanisch geprägte Nebenformen im Alltag später wiedererkennen.'
],
corePatterns: [
{ target: 'Kawhaan', gloss: 'zwanzig' },
{ target: 'Kawhaan ug usa', gloss: 'einundzwanzig' },
{ target: 'Kawhaan ug lima', gloss: 'fünfundzwanzig' },
{ target: 'Katloan', gloss: 'dreißig' },
{ target: 'Katloan ug usa', gloss: 'einunddreißig' },
{ target: 'Kap-atan', gloss: 'vierzig' },
{ target: 'Kalim-an', gloss: 'fünfzig' },
{ target: 'Kalim-an ug walo', gloss: 'achtundfünfzig' },
{ target: 'Kanum-an', gloss: 'sechzig' },
{ target: 'Kapitoan', gloss: 'siebzig' },
{ target: 'Kawaloan', gloss: 'achtzig' },
{ target: 'Kasiyaman', gloss: 'neunzig' }
{ target: 'Baynte', gloss: 'zwanzig' },
{ target: 'Baynte ug usa', gloss: 'einundzwanzig' },
{ target: 'Baynte ug lima', gloss: 'fünfundzwanzig' },
{ target: 'Traynta', gloss: 'dreißig' },
{ target: 'Traynta ug usa', gloss: 'einunddreißig' },
{ target: 'Kwarenta', gloss: 'vierzig' },
{ target: 'Singkwenta', gloss: 'fünfzig' },
{ target: 'Singkwenta ug walo', gloss: 'achtundfünfzig' },
{ target: 'Sesenta', gloss: 'sechzig' },
{ target: 'Setenta', gloss: 'siebzig' },
{ target: 'Otsenta', gloss: 'achtzig' },
{ target: 'Nubenta', gloss: 'neunzig' }
],
grammarFocus: [
{ title: 'Native Zehnerbildung', text: 'Für die Lernreihe verwendest du durchgängig native Zehner und ergänzt mit „ug“ eine Einerzahl.', example: 'Kawhaan ug lima = fünfundzwanzig.' },
{ title: 'Einheitliches Muster', text: 'Für diese Lernreihe verwenden wir die native Zehnerreihe konsequent weiter.', example: 'Kawhaan = zwanzig; Katloan = dreißig.' }
{ title: 'Regional gebräuchliche Zehner', text: 'Für die Lernreihe verwendest du durchgängig regional gebräuchliche Zehner und ergänzt mit „ug“ eine Einerzahl.', example: 'Baynte ug lima = fünfundzwanzig.' },
{ title: 'Einheitliches Muster', text: 'Für diese Lernreihe verwenden wir die regional gebräuchliche Zehnerreihe konsequent weiter.', example: 'Baynte = zwanzig; Traynta = dreißig.' }
],
practicalTasks: [
{ title: 'Nur Zehner', text: 'Nenne laut nacheinander 20, 30, … 90.' }
@@ -451,10 +451,10 @@ export const LESSON_DIDACTICS = {
{ target: 'Asa ka moadto unya?', gloss: 'Wohin gehst du später?' },
{ target: 'Mo-adto ko ugma.', gloss: 'Ich gehe morgen.' },
{ target: 'Tagpila ni?', gloss: 'Wie viel kostet das?' },
{ target: 'Kawhaan pesos.', gloss: 'Zwanzig Peso.' }
{ target: 'Baynte pesos.', gloss: 'Zwanzig Peso.' }
],
speakingPrompts: [
{ title: 'Woche-2-Mix', prompt: 'Baue einen Mini-Dialog mit Ort, Zeit und Preis.', cue: 'Asa ka moadto unya? Tagpila ni? Kawhaan pesos.' }
{ title: 'Woche-2-Mix', prompt: 'Baue einen Mini-Dialog mit Ort, Zeit und Preis.', cue: 'Asa ka moadto unya? Tagpila ni? Baynte pesos.' }
],
practicalTasks: [
{ title: 'Spiral-Wiederholung', text: 'Sprich nacheinander je einen Satz zu Ort, Zeit und Einkauf.' }
@@ -472,7 +472,7 @@ export const LESSON_DIDACTICS = {
{ target: 'Karon', gloss: 'heute/jetzt' },
{ target: 'Ugma', gloss: 'morgen' },
{ target: 'Tagpila ni?', gloss: 'Wie viel kostet das?' },
{ target: 'Kawhaan', gloss: 'zwanzig' }
{ target: 'Baynte', gloss: 'zwanzig' }
],
practicalTasks: [
{ title: 'Selbsttest', text: 'Nimm zehn Wörter aus Woche 2 und übersetze sie laut in beide Richtungen.' }

0
backend/scripts/update-week1-bisaya-exercises.js Normal file → Executable file
View File