Build all apps from Markdown content; Compose Desktop replaces GTK on Linux and Windows

- content/ + scripts/build-content.py produce content.json for every app
- stable lesson IDs with one-time progress migration (Swift, Kotlin)
- shared answer-check tests (tests/answers.json) for Kotlin and Swift
- android/desktop: Compose app with updater, speech and GTK progress import
- CI packages AppImage and Windows zip with ProGuard, runs the tests

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
pepaskopec-blip 2026-10-09 20:40:37 +02:00
commit c3bc32113b
964 changed files with 57285 additions and 1156 deletions

View file

@ -0,0 +1,4 @@
---
nazev: Greetings and introductions
popis: Sein, heißen and woher. Gaps and a quiz.
---

View file

@ -0,0 +1,82 @@
---
id: nemcina-1-pozdravy-a-predstaveni
puvodni: de.1.1
nazev: Pozdravy a představení
popis: Sein, heißen a woher. Doplňování a kvíz.
---
# Výklad
## Kdo jsem
*Sein*
- ich bin, du bist, er/sie/es ist, wir/ihr/sie sind.
- Ich heiße Anna. Wie heißt du?
- Woher kommst du? — Ich komme aus Prag.
- Guten Tag, Hallo, Tschüss, Danke, Bitte.
> Tip: věk je Ich bin 16, ne Ich habe 16 Jahre.
## Sloveso na druhém místě
*Otázka*
- Wie heißt du? Wo wohnst du? Was machst du?
- Zápor: Ich heiße nicht Peter. Er ist nicht hier.
- Sie s velkým S je vykání. sie s malým je ona nebo oni.
- Zdvořilost: Guten Morgen, Frau Novak.
> Tip: v otázce je sloveso hned za tázacím slovem.
# Doplňování
## Ich ___ Anna.
= heiße|heisse
> heißen ve 1. osobě.
## ___ kommst du?
= Woher
> Odkud.
## Wir ___ Schüler.
= sind
> wir + sein.
## Er ___ mein Bruder.
= ist
> er + sein.
## Wie ___ du?
= heißt|heisst
> du + heißen.
# Kvíz
## Jak se německy řekne věk?
- Ich habe 16 Jahre.
- [x] Ich bin 16 Jahre alt.
- Ich ist 16.
- Ich bin 16 Jahre.
> bin + Jahre alt.
## Woher kommst du?
- Ich bin gut.
- [x] Ich komme aus Brno.
- Ich heiße aus Brno.
- Ich wohne kommst.
> kommen aus + město.
## du + sein
- du ist
- [x] du bist
- du sind
- du bin
> du bist.
## Který pozdrav je odpoledne neutrální?
- Gute Nacht
- [x] Guten Tag
- Tschüss gleich
- Bitte sehr Tag
> Guten Tag.

View file

@ -0,0 +1,4 @@
---
nazev: Family
popis: Haben and possessives. Reading and gaps.
---

View file

@ -0,0 +1,80 @@
---
id: nemcina-1-rodina
puvodni: de.1.2
nazev: Rodina
popis: Haben a přivlastňovací zájmena. Čtení a doplňování.
---
# Výklad
## Co mám
*Haben*
- ich habe, du hast, er hat, wir haben.
- Přivlastňovací: mein, dein, sein, ihr, unser, euer.
- Člen der/die/das se v 1. pádu u jmen učí s podstatným jménem.
- die Mutter, der Vater, die Schwester, der Bruder, die Eltern.
> Tip: haben není věk. Ich habe einen Bruder.
## Krátký medailon
*Text*
- und spojuje, aber staví proti.
- nicht stojí před tím, co popíráme.
- auch = taky.
- zu Hause = doma.
> Tip: v textu hledejte čísla a kdo s kým bydlí.
# Čtení
Ich heiße Lukas und ich bin fünfzehn. Ich wohne mit meinen Eltern in Pilsen. Ich habe eine Schwester. Sie heißt Eva und sie ist zwölf. Mein Vater ist Lehrer und meine Mutter arbeitet im Krankenhaus. Wir haben auch einen Hund. Er heißt Max. Am Wochenende besuchen wir meine Oma. Sie wohnt nicht bei uns, aber sie wohnt in derselben Stadt.
## Wie alt ist Lukas?
- Zwölf
- [x] Fünfzehn
- Sechzehn
- Der Text sagt es nicht
> ich bin fünfzehn.
## Was ist der Vater von Beruf?
- Arzt
- [x] Lehrer
- Koch
- Schüler
> Mein Vater ist Lehrer.
## Wo wohnt die Oma?
- Bei der Familie
- In einer anderen Stadt
- [x] In derselben Stadt
- Im Krankenhaus
> in derselben Stadt.
## Wie heißt der Hund?
- Lukas
- Eva
- [x] Max
- Der Text nennt keinen Namen
> Er heißt Max.
# Doplňování
## Ich ___ eine Schwester.
= habe
> haben, 1. osoba.
## ___ Vater ist Lehrer.
= Mein
> Přivlastňovací u maskulina.
## Sie ___ zwölf.
= ist
> Věk: sein.
## Wir ___ einen Hund.
= haben
> wir haben.

View file

@ -0,0 +1,4 @@
---
nazev: At school
popis: The present tense. Listening and gaps.
---

View file

@ -0,0 +1,80 @@
---
id: nemcina-1-ve-skole
puvodni: de.1.3
nazev: Ve škole
popis: Přítomný čas. Poslech a doplňování.
---
# Výklad
## Pravidelné sloveso
*Präsens*
- ich -e, du -st, er/sie/es -t, wir -en, ihr -t, sie -en.
- Otázka bez tázacího slova: Spielst du Fußball?
- Zápor: Ich spiele nicht Klavier.
- Sloveso je ve větě na druhém místě: Heute spiele ich Tennis.
> Tip: kmen + koncovka. spielen: ich spiele, du spielst, er spielt.
## Rozvrh
*Poslech*
- am Montag, am Dienstag, in der Pause.
- das Fach, die Stunde, die Hausaufgabe.
- gern = rád. Ich lerne gern Deutsch.
- lieber = radši.
> Tip: nejdřív otázky, pak nahrávka. Chyťte předměty a dny.
# Poslech
Hallo, ich bin Mia. Am Montag haben wir Deutsch, Mathe und Biologie. Deutsch mag ich gern, weil die Lehrerin nett ist. Mathe mag ich nicht. In der Pause esse ich ein Brötchen und spreche mit Eva. Nach der Schule mache ich Hausaufgaben oder ich spiele Volleyball. Am Abend lese ich oder ich höre Musik. Um zehn gehe ich ins Bett.
## Welches Fach mag Mia gern?
- Mathe
- [x] Deutsch
- Volleyball
- Musik nur
> Deutsch mag ich gern.
## Warum?
- Weil es leicht ist
- [x] Weil die Lehrerin nett ist
- Weil sie keine Hausaufgaben hat
- Weil es am Abend ist
> weil die Lehrerin nett ist.
## Was macht sie in der Pause?
- Sie schläft
- [x] Sie isst ein Brötchen und spricht mit Eva
- Sie spielt Volleyball
- Sie lernt Mathe
> esse ich ein Brötchen und spreche mit Eva.
## Wann geht sie ins Bett?
- Um acht
- Um neun
- [x] Um zehn
- Um elf
> Um zehn.
# Doplňování
## Ich ___ (spielen) gern Tennis.
= spiele
> ich + -e.
## ___ du heute Deutsch?
= Lernst
> Otázka: Lernst du heute Deutsch?
## Er ___ (wohnen) in Prag.
= wohnt
> er + -t.
## Wir ___ (machen) Hausaufgaben.
= machen
> wir + -en.

View file

@ -0,0 +1,4 @@
---
nazev: Food
popis: Möchten and the accusative. A short dialogue and a quiz.
---

View file

@ -0,0 +1,77 @@
---
id: nemcina-1-jidlo
puvodni: de.1.4
nazev: Jídlo
popis: Möchten a 4. pád. Krátký dialog a kvíz.
---
# Výklad
## Chtěl bych
*Möchten*
- Ich möchte einen Apfel. die → eine, der → einen v akuzativu.
- Maskulinum: der Salat → einen Salat. Neutrum: das Brot → ein Brot.
- Femininum se v akuzativu nemění: die Suppe → eine Suppe.
- Was möchten Sie? je vykání v restauraci.
> Tip: ich möchte, du möchtest, er möchte. Je to zdvořilé chtít.
## Objednávka
*Psaní*
- Ich möchte … und …
- Für mich bitte einen Tee.
- Die Rechnung, bitte.
- Es schmeckt gut.
> Tip: začněte Guten Tag a skončete Danke.
# Psaní
Schreib mindestens 25 Wörter. Bestell im Café etwas zu essen und zu trinken. Benutze möchte und bitte.
## Vzorová odpověď
Guten Tag, ich möchte eine Suppe und ein Brot, bitte. Für mich bitte auch einen Tee. Meine Schwester möchte einen Apfelsaft. Die Suppe schmeckt gut. Die Rechnung, bitte. Danke, das ist alles.
## Musí obsahovat
- möchte
- bitte
## Minimum slov
25
# Kvíz
## der Salat im Akkusativ
- eine Salat
- [x] einen Salat
- einem Salat
- der Salat bleibt immer
> Maskulinum: einen.
## Was ist höflich?
- Ich will sofort Pizza.
- [x] Ich möchte eine Suppe, bitte.
- Gib mir Essen.
- Du bist Hunger.
> möchte + bitte.
## die Suppe im Akkusativ
- einen Suppe
- einem Suppe
- [x] eine Suppe
- ein Suppe
> Femininum se nemění: eine Suppe.
## Ich ___ einen Tee.
- [x] möchte
- möchtest
- möchten du
- bist möchte
> ich möchte.

View file

@ -0,0 +1,4 @@
---
nazev: My day
popis: Time and separable verbs. Reading and gaps.
---

View file

@ -0,0 +1,80 @@
---
id: nemcina-1-muj-den
puvodni: de.1.5
nazev: Můj den
popis: Čas a odlučitelné předpony. Čtení a doplňování.
---
# Výklad
## Um, am, im
*Čas*
- Um sieben stehe ich auf. Am Montag habe ich Deutsch.
- Im Sommer fahre ich ans Meer.
- Odlučitelné: aufstehen → Ich stehe um sieben auf.
- Předpona jde na konec věty.
> Tip: um + hodina, am + den, im + měsíc nebo roční období.
## Nejdřív, potom, nakonec
*Pořadí*
- Zuerst stehe ich auf. Dann frühstücke ich.
- Danach gehe ich zur Schule.
- Am Abend sehe ich fern.
- fernsehen → Ich sehe abends fern.
> Tip: zuerst, dann, danach, zum Schluss.
# Čtení
An einem Schultag stehe ich um halb sieben auf. Zuerst dusche ich, dann frühstücke ich Brot und Tee. Um sieben fahre ich mit der Straßenbahn zur Schule. Der Unterricht beginnt um acht. Nach der Schule mache ich Hausaufgaben. Am Abend sehe ich manchmal fern oder ich rufe eine Freundin an. Um zehn gehe ich ins Bett.
## Wann steht sie auf?
- Um zehn
- [x] Um halb sieben
- Um acht
- Am Abend
> um halb sieben.
## Womit fährt sie zur Schule?
- Mit dem Auto
- [x] Mit der Straßenbahn
- Zu Fuß nur
- Mit dem Zug
> mit der Straßenbahn.
## Was macht sie nach der Schule?
- Sie schläft sofort
- [x] Sie macht Hausaufgaben
- Sie fährt ans Meer
- Sie hat frei
> mache ich Hausaufgaben.
## anrufen v větě Ich ___ eine Freundin ___.
- [x] rufe … an
- anrufe …
- rufe … auf
- stehe … an
> Předpona an jde na konec.
# Doplňování
## Ich stehe um sieben ___.
= auf
> aufstehen.
## ___ Montag habe ich Deutsch.
= Am
> am + den.
## Der Unterricht beginnt ___ acht.
= um
> um + hodina.
## Ich sehe abends ___.
= fern
> fernsehen.

View file

@ -0,0 +1,4 @@
---
nazev: Year 1 test
popis: Reading, listening, A1 grammar and a short text.
---

View file

@ -0,0 +1,129 @@
---
id: nemcina-1-test-1-rocniku
puvodni: de.1.6
nazev: Test 1. ročníku
popis: Čtení, poslech, gramatika A1 a krátké psaní.
---
# Výklad
## Co už má sedět
*A1*
- sein, haben, heißen, wohnen, möchten.
- mein/dein, ein/einen.
- um, am, odlučitelná předpona na konci.
- Psaní: Guten Tag a bitte.
> Tip: bin pro věk, habe pro vlastnictví, sloveso na druhém místě.
## Nejčastější chyby
*Kontrola*
- Ich bin 15, ne Ich habe 15 Jahre.
- Ich komme aus Prag, ne Ich bin aus Prag kommen.
- einen Apfel, ne ein Apfel jako předmět.
- Ich stehe auf, ne Ich aufstehe.
> Tip: po kontrole si přečtěte nápovědy.
# Čtení
Nina ist sechzehn und wohnt in Olomouc. Sie hat einen Bruder. Er heißt Tom und er ist zehn. Am Morgen isst Nina Brot. In der Schule lernt sie gern Deutsch, aber sie mag Mathe nicht. Nach der Schule ruft sie ihre Freundin an.
## Wo wohnt Nina?
- In Prag
- [x] In Olomouc
- In Brno
- Der Text sagt es nicht
> wohnt in Olomouc.
## Wie alt ist Tom?
- Sechzehn
- [x] Zehn
- Zwölf
- Fünfzehn
> er ist zehn.
## Was macht Nina nach der Schule?
- Sie schläft
- [x] Sie ruft ihre Freundin an
- Sie kocht für Tom
- Sie fährt nach Wien
> ruft sie ihre Freundin an.
# Poslech
Guten Tag, ich möchte einen Salat und ein Wasser, bitte. Haben Sie auch Brot? Ja, natürlich. Dann bitte noch ein Brot. Möchten Sie Kaffee? Nein, danke, nur Wasser. Die Rechnung mache ich später.
## Was bestellt die Person zuerst?
- Kaffee und Kuchen
- [x] Einen Salat und ein Wasser
- Nur Brot
- Eine Suppe
> einen Salat und ein Wasser.
## Möchte sie Kaffee?
- Ja
- [x] Nein
- Nur am Abend
- Der Text sagt es nicht
> Nein, danke.
## Was kommt noch dazu?
- [x] Ein Brot
- Ein Tee
- Ein Hund
- Die Oma
> noch ein Brot.
# Psaní
Schreib mindestens 30 Wörter über deine Familie. Benutze bin und habe.
## Vzorová odpověď
Ich bin sechzehn und ich wohne in Prag. Ich habe eine Schwester und meine Eltern. Mein Vater ist nett und meine Mutter arbeitet viel. Wir haben keine Katze, aber ich habe einen Freund in der Schule. Am Sonntag besuchen wir oft meine Oma.
## Musí obsahovat
- bin
- habe
## Minimum slov
30
# Kvíz
## Ich ___ fünfzehn Jahre alt.
- habe
- [x] bin
- ist
- hat
> Alter mit sein.
## Sie hat ___ Bruder.
- eine
- [x] einen
- einem
- der
> der Bruder → einen Bruder.
## Ich stehe um sieben ___.
- [x] auf
- an
- ein
- um
> aufstehen.
## ___ du aus Prag?
- [x] Kommst
- Wohnst
- Bist
- Hast
> kommen aus: Kommst du aus Prag?