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,6 @@
# Překlady
| Česky | Anglicky |
|---|---|
| babička | grandmother |

View file

@ -0,0 +1,38 @@
---
id: mluvnice-i-y
puvodni: mluv.1
typ: doplnovani
zkratka: i/y
nazev: Pravopis – i/y po obojetných souhláskách
popis: Doplňte i/í nebo y/ý.
---
# Úlohy
## Stará bab_čka sed_la na lav_čce.
- i/í/y/ý = babička
- i/í/y/ý = seděla|sedla
- i/í/y/ý = lavičce
> babička, seděla, lavičce
## Na obloze sv_tily hv_zdy.
- i/í/y/ý = svítily
- i/í/y/ý = hvězdy
> svítily, hvězdy
## M_sl_m, že m_š pravdu.
- i/í/y/ý = Myslím
- i/í/y/ý = myš
> Myslím, myš
## V_soký muž nes_l těžký kuf_r.
- i/í/y/ý = Vysoký
- i/í/y/ý = nesl
- i/í/y/ý = kufr
> Vysoký, nesl, kufr
## Ryb_ář čekal cel_ den u řek_.
- i/í/y/ý = Rybář
- i/í/y/ý = celý
- i/í/y/ý = řeky
> Rybář, celý, řeky

View file

@ -0,0 +1,30 @@
---
id: mluvnice-velka-pismena
puvodni: mluv.2
typ: vyber
zkratka: Velká písmena
nazev: Pravopis – velká/malá písmena
popis: Vyberte správnou variantu.
---
# Úlohy
## Narodil se v ______ v malé vesnici.
- [x] Čechách
- čechách
## Přečetl jsem román od ______.
- [x] Boženy Němcové
- boženy němcové
## Jedeme na ______.
- [x] Moravu
- moravu
## V ______ žije přes milion lidí.
- [x] Praze
- praze
## Navštívili jsme ______.
- [x] Národní muzeum
- národní muzeum

View file

@ -0,0 +1,43 @@
---
id: mluvnice-slovni-druhy
puvodni: mluv.3
typ: doplnovani
zkratka: Slovní druhy
nazev: Slovní druhy
popis: Určete slovní druh podtržených slov.
poznamka: Do pole napište název slovního druhu.
---
# Úlohy
## Krásný den se chýlil ke konci. — slovo „Krásný“
- slovní druh = přídavné jméno|přídavné jmeno|adjektivum
> přídavné jméno
## Šel rychle domů. — slovo „rychle“
- slovní druh = příslovce|adverbium
> příslovce
## Sedím před školou. — slovo „před“
- slovní druh = předložka|prepozice
> předložka
## To je jeho kniha. — slovo „jeho“
- slovní druh = zájmeno|zájmeno|pronomen
> zájmeno
## Ach, to je škoda! — slovo „Ach“
- slovní druh = citoslovce|interjekce
> citoslovce
## Přišel jsem, ale bylo pozdě. — slovo „ale“
- slovní druh = spojka|konjunkce
> spojka
## Napočítal jsem pět jablek. — slovo „pět“
- slovní druh = číslovka|cislovka|numerale
> číslovka
## Učitel vysvětloval látku. — slovo „Učitel“
- slovní druh = podstatné jméno|podstatné jmeno|substantivum
> podstatné jméno

View file

@ -0,0 +1,41 @@
---
id: mluvnice-podst-jmena
puvodni: mluv.4
typ: doplnovani
zkratka: Podst. jména
nazev: Mluvnické kategorie – podstatná jména
popis: Určete rod, číslo a pád podtržených slov.
poznamka: Vyplňte tři pole: rod, číslo a pád.
---
# Úlohy
## Kniha leží na stole. — slovo „stole“ (stůl)
- rod = mužský|mužský rod|maskulinum
- číslo = jednotné|jednotné číslo|singulár
- pád = 6|lokál|šestý|6. pád
> mužský rod, jednotné číslo, 6. pád (lokál)
## Povídám si s kamarády. — slovo „kamarády“ (kamarád)
- rod = mužský|mužský rod|maskulinum
- číslo = množné|množné číslo|plurál
- pád = 7|instrumentál|sedmý|7. pád
> mužský rod, množné číslo, 7. pád (instrumentál)
## Vidím krásnou horu. — slovo „horu“ (hora)
- rod = ženský|ženský rod|femininum
- číslo = jednotné|jednotné číslo|singulár
- pád = 4|akuzativ|čtvrtý|4. pád
> ženský rod, jednotné číslo, 4. pád (akuzativ)
## To je dům mého souseda. — slovo „souseda“ (soused)
- rod = mužský|mužský rod|maskulinum
- číslo = jednotné|jednotné číslo|singulár
- pád = 2|genitiv|druhý|2. pád
> mužský rod, jednotné číslo, 2. pád (genitiv)
## Děti si hrají na zahradě. — slovo „Děti“ (dítě)
- rod = střední|střední rod|neutrum
- číslo = množné|množné číslo|plurál
- pád = 1|nominativ|první|1. pád
> střední rod, množné číslo, 1. pád (nominativ)

View file

@ -0,0 +1,46 @@
---
id: mluvnice-slovesa
puvodni: mluv.5
typ: doplnovani
zkratka: Slovesa
nazev: Mluvnické kategorie – slovesa
popis: Určete osobu, číslo, čas a způsob u těchto sloves.
poznamka: U rozkazovacího a podmiňovacího způsobu napište do pole čas „neurčitý“.
---
# Úlohy
## čteme
- osoba = 1|1.|první|první osoba|1. osoba
- číslo = množné|množné číslo|plurál
- čas = přítomný|přítomný čas|přítomný čas
- způsob = oznamovací|oznamovací způsob|indikativ
> 1. osoba, množné číslo, přítomný čas, oznamovací způsob
## běžel
- osoba = 3|3.|třetí|třetí osoba|3. osoba
- číslo = jednotné|jednotné číslo|singulár
- čas = minulý|minulý čas|minulý čas
- způsob = oznamovací|oznamovací způsob|indikativ
> 3. osoba, jednotné číslo, minulý čas, oznamovací způsob
## přečtěte
- osoba = 2|2.|druhý|druhá osoba|2. osoba
- číslo = množné|množné číslo|plurál
- čas = neurčitý|nestanovený|neurčený
- způsob = rozkazovací|rozkazovací způsob|imperativ
> 2. osoba, množné číslo, rozkazovací způsob (čas se neurčuje)
## by zpíval
- osoba = 3|3.|třetí|třetí osoba|3. osoba
- číslo = jednotné|jednotné číslo|singulár
- čas = neurčitý|nestanovený|přítomný
- způsob = podmiňovací|podmiňovací způsob|kondicionál
> 3. osoba, jednotné číslo, podmiňovací způsob přítomný
## budou pracovat
- osoba = 3|3.|třetí|třetí osoba|3. osoba
- číslo = množné|množné číslo|plurál
- čas = budoucí|budoucí čas|futurum
- způsob = oznamovací|oznamovací způsob|indikativ
> 3. osoba, množné číslo, budoucí čas, oznamovací způsob

View file

@ -0,0 +1,26 @@
---
id: mluvnice-slovotvorba
puvodni: mluv.6
typ: reseni
zkratka: Slovotvorba
nazev: Slovotvorba
popis: Rozeberte slova na morfémy.
poznamka: Určete předponu, kořen, příponu a koncovku.
---
# Úlohy
## napsali
= na- / ps- / -a- / -li
## přečíst
= pře- / číst
## zahradník
= za- / hrad- / -ník / -Ø
## nepřátelský
= ne- / přátel- / -ský / -Ø
## výběr
= vý- / bér- / -Ø / -Ø

View file

@ -0,0 +1,34 @@
---
id: mluvnice-vetne-cleny
puvodni: mluv.7
typ: doplnovani
zkratka: Větné členy
nazev: Větné členy
popis: Určete větný člen podtržených výrazů.
---
# Úlohy
## Malá holčička plakala. — větný člen „Malá holčička“
- větný člen = podmět|subjekt
> podmět
## Otec pracuje v garáži. — větný člen „v garáži“
- větný člen = příslovečné určení místa|příslovečné určení místa (PU místa)|příslovečné určení|adverbiále místa
> příslovečné určení místa
## Sestra je učitelka. — větný člen „je učitelka“
- větný člen = přísudek jmenný se sponou|přísudek jmenný|jmenný přísudek se sponou|přísudek se sponou
> přísudek jmenný se sponou
## Dal jsem knihu bratrovi. — větný člen „knihu“
- větný člen = předmět|objekt
> předmět
## Přišel unavený. — větný člen „unavený“
- větný člen = doplněk
> doplněk
## Pomalu šel domů. — větný člen „Pomalu“
- větný člen = příslovečné určení způsobu|příslovečné určení způsobu (PU způsobu)|příslovečné určení|adverbiále způsobu
> příslovečné určení způsobu

View file

@ -0,0 +1,30 @@
---
id: mluvnice-vedlejsi-vety
puvodni: mluv.8
typ: doplnovani
zkratka: Vedlejší věty
nazev: Druhy vedlejších vět
popis: Určete druh vedlejší věty.
---
# Úlohy
## Věřím, že uspěješ.
- druh vedlejší věty = vedlejší věta předmětná|věta předmětná|předmětná
> vedlejší věta předmětná
## Udělám to, jak budu moci.
- druh vedlejší věty = vedlejší věta příslovečná způsobová|příslovečná způsobová|způsobová
> vedlejší věta příslovečná způsobová
## Přišel, protože chtěl pomoci.
- druh vedlejší věty = vedlejší věta příslovečná příčinná|příslovečná příčinná|příčinná
> vedlejší věta příslovečná příčinná
## Řekni mi, kde bydlíš.
- druh vedlejší věty = vedlejší věta předmětná|věta předmětná|předmětná
> vedlejší věta předmětná
## Byl tak unavený, že usnul okamžitě.
- druh vedlejší věty = vedlejší věta příslovečná následková|příslovečná následková|následková
> vedlejší věta příslovečná následková

View file

@ -0,0 +1,6 @@
# Překlady
| Česky | Anglicky |
|---|---|
| mluvit | to speak |

View file

@ -0,0 +1,30 @@
---
id: mluvnice-synonyma
puvodni: mluv.9
typ: doplnovani
zkratka: Synonyma
nazev: Synonyma
popis: Ke každému slovu napište synonymum.
---
# Úlohy
## rychlý
- synonymum = hbitý|svižný|rychlý|čilý|bystrý|prudký
> hbitý, svižný
## smutný
- synonymum = nešťastný|zarmoucený|tesklivý|skličený|žalostný
> nešťastný, zarmoucený
## začít
- synonymum = zahájit|započít|začínat|rozpoutat|zahajovat
> zahájit, započít
## krásný
- synonymum = nádherný|překrásný|kouzelný|půvabný|okouzlující
> nádherný, překrásný
## mluvit
- synonymum = hovořit|promlouvat|vyprávět|říkat|povídat
> hovořit, promlouvat

View file

@ -0,0 +1,30 @@
---
id: mluvnice-antonyma
puvodni: mluv.10
typ: doplnovani
zkratka: Antonyma
nazev: Antonyma
popis: Napište opak.
---
# Úlohy
## starý ×
- opak = nový|mladý
> nový
## začátek ×
- opak = konec|závěr
> konec
## přijít ×
- opak = odejít|odjet|odcházet
> odejít
## radost ×
- opak = smutek|žal|zármutek
> smutek
## vysoký ×
- opak = nízký|malý
> nízký

View file

@ -0,0 +1,30 @@
---
id: mluvnice-s-z
puvodni: mluv.11
typ: doplnovani
zkratka: s/z
nazev: Pravopis – s/z na začátku slova
popis: Vyberte správnou předponu s-/z-.
---
# Úlohy
## (s/z)kočit dolů ze stromu
- s-/z- = skočit
> skočit
## (s/z)epsat úkol
- s-/z- = sepsat
> sepsat
## (s/z)budovat nový dům
- s-/z- = zbudovat
> zbudovat
## (s/z)vednout těžký kámen
- s-/z- = zvednout
> zvednout
## (s/z)pravit auto
- s-/z- = spravit
> spravit

View file

@ -0,0 +1,25 @@
---
id: mluvnice-najdi-chybu
puvodni: mluv.12
typ: reseni
zkratka: Najdi chybu
nazev: Skladba – najděte chybu
popis: Každá věta obsahuje jednu chybu. Najděte ji a opravte.
---
# Úlohy
## Koupil jsem novej kabát.
= nový („novej“ je nespisovné)
## Přišli jsme tam, kdy jsme měli.
= kdy → když: „Přišli jsme tam, když jsme měli.“
## Ona mě o tom neřekla nic.
= mě → mi (dativ): „Ona mi o tom neřekla nic.“
## Je to nejlepší film, který jsem viděl vůbec.
= „vůbec nejlepší film“: „Je to vůbec nejlepší film, který jsem viděl.“
## Byl jsem na nákupu a koupil chléb.
= „Byl jsem nakupovat a koupil jsem chléb.“

View file

@ -0,0 +1,30 @@
---
id: mluvnice-tvary
puvodni: mluv.13
typ: doplnovani
zkratka: Tvary
nazev: Tvarosloví – správný tvar
popis: Dejte slovo do správného tvaru.
---
# Úlohy
## Viděl jsem (ten starý muž) ______.
- správný tvar = toho starého muže|toho starého muže,
> toho starého muže
## Mluvil jsem s (moje sestra) ______.
- správný tvar = mojí sestrou|mou sestrou|svou sestrou
> mojí sestrou
## Jdu do (škola) ______.
- správný tvar = školy
> školy
## Sedím vedle (kamarád) ______.
- správný tvar = kamaráda
> kamaráda
## Vzpomínám na (dětství) ______.
- správný tvar = dětství
> dětství

View file

@ -0,0 +1,6 @@
# Překlady
| Česky | Anglicky |
|---|---|
| správně | correctly |

View file

@ -0,0 +1,43 @@
---
id: mluvnice-test-a-d
puvodni: mluv.14
typ: vyber
zkratka: Test A–D
nazev: Výběr ze čtyř možností
popis: Vyberte správnou odpověď.
---
# Úlohy
## Slovo „záříjový“ je:
- správně
- [x] chybně
> Správně je „zářijový“ (nikoli „záříjový“).
## Které slovo je přídavné jméno?
- rychle
- rychlost
- [x] rychlý
- zrychlení
> „rychlý“ je přídavné jméno; „rychle“ je příslovce.
## Věta „Petr čte knihu.“ je:
- souvětí
- [x] věta jednoduchá
- věta bez podmětu
- věta zvolací
> Věta má jen jeden přísudek („čte“), jde o větu jednoduchou.
## Slovo „příroda“ je utvořeno:
- [x] odvozením
- skládáním
- zkracováním
- přejímáním
> „příroda“ je utvořena odvozením, není to složenina.
## Která dvojice jsou synonyma?
- rychlý – pomalý
- jít – přijít
- [x] smutný – nešťastný
- velký – malý
> Synonyma vyjadřují stejný význam: „smutný“ a „nešťastný“.

View file

@ -0,0 +1,19 @@
---
id: mluvnice-prima-rec
puvodni: mluv.15
typ: reseni
zkratka: Přímá řeč
nazev: Přímá a nepřímá řeč
popis: Přepište přímou řeč na nepřímou.
---
# Úlohy
## Matka řekla: „Pojď se najíst.“
= Matka řekla, abych přišel se najíst.
## Učitel řekl: „Zítra bude písemka.“
= Učitel řekl, že zítra bude písemka.
## Kamarád se zeptal: „Kde bydlíš?“
= Kamarád se zeptal, kde bydlím.

View file

@ -0,0 +1,25 @@
---
id: mluvnice-rozdily
puvodni: mluv.16
typ: reseni
zkratka: Rozdíly
nazev: Slovní zásoba – rozdíly
popis: Vysvětlete rozdíl mezi těmito dvojicemi slov.
---
# Úlohy
## bydlet × žít
= bydlet = mít domov někde; žít = existovat, prožívat život
## říkat × vyprávět
= říkat = sdělovat informaci; vyprávět = podrobně popisovat příběh
## dívat se × vidět
= dívat se = záměrně sledovat; vidět = vnímat zrakem (i neúmyslně)
## učit × učit se
= učit = předávat znalosti druhým; učit se = sám nabývat znalosti
## přinést × donést
= přinést = přinést sem (k mluvčímu); donést = odnést tam (od mluvčího)

View file

@ -0,0 +1,25 @@
---
id: mluvnice-interpunkce
puvodni: mluv.17
typ: reseni
zkratka: Interpunkce
nazev: Interpunkce
popis: Doplňte čárky tam, kde patří.
---
# Úlohy
## Přišel jsem domů unavený hladový a promrzlý.
= Přišel jsem domů unavený, hladový a promrzlý.
## Když dorazil vlak nastoupili všichni cestující.
= Když dorazil vlak, nastoupili všichni cestující.
## Myslím že dnes bude pršet.
= Myslím, že dnes bude pršet.
## Jana která je moje nejlepší kamarádka bydlí vedle.
= Jana, která je moje nejlepší kamarádka, bydlí vedle.
## Pes štěkal ale nikdo nepřicházel.
= Pes štěkal, ale nikdo nepřicházel.

View file

@ -0,0 +1,30 @@
---
id: mluvnice-obrazna-pojmen
puvodni: mluv.18
typ: doplnovani
zkratka: Obrazná pojmen.
nazev: Obrazná pojmenování
popis: Určete, o jaký druh obrazného pojmenování jde.
---
# Úlohy
## Slunce se usmívalo na celé město.
- druh pojmenování = personifikace|zosobnění
> personifikace
## Je silný jako býk.
- druh pojmenování = přirovnání|komparace
> přirovnání
## Moře hněvu ho zaplavilo.
- druh pojmenování = metafora
> metafora
## Čekal jsem na tebe věčnost.
- druh pojmenování = hyperbola|nadsázka
> hyperbola
## Přečetl celého Shakespeara.
- druh pojmenování = metonymie
> metonymie

View file

@ -0,0 +1,30 @@
---
id: mluvnice-slohove-utvary
puvodni: mluv.19
typ: doplnovani
zkratka: Slohové útvary
nazev: Stylistika – slohové útvary
popis: Přiřaďte ukázku ke správnému slohovému útvaru.
---
# Úlohy
## Narodil se roku 1890 v Praze. Vystudoval práva a poté pracoval jako úředník…
- slohový útvar = životopis|biografie
> životopis
## Byl to chlapec střední postavy, s hnědýma očima a klidným výrazem…
- slohový útvar = charakteristika
> charakteristika
## Jednoho dne jsem šel lesem, když tu najednou jsem zaslechl podivný zvuk…
- slohový útvar = vyprávění
> vyprávění
## Mnozí se ptají, zda má smysl číst knihy v době internetu. Domnívám se…
- slohový útvar = úvaha
> úvaha
## Místnost byla malá, se dvěma okny na jih. U zdi stála stará skříň…
- slohový útvar = popis
> popis

View file

@ -0,0 +1,7 @@
# Překlady
| Česky | Anglicky |
|---|---|
| hezký | beautiful |
| brzy | soon |

View file

@ -0,0 +1,40 @@
---
id: mluvnice-opakovani
puvodni: mluv.20
typ: vyber
zkratka: Opakování
nazev: Souhrnné opakování
popis: Vyberte správnou odpověď.
---
# Úlohy
## Které slovo není příslovce?
- rychle
- tam
- [x] hezký
- brzy
## Ve větě „Petr dal Pavlovi knihu“ je slovo „Pavlovi“:
- podmět
- přísudek
- [x] předmět
- příslovečné určení
## Slovo „nejhezčí“ obsahuje:
- [x] předponu a příponu
- pouze předponu
- kořen a příponu
- pouze příponu
## Která věta je souvětí souřadné slučovací?
- Přišel, protože chtěl pomoci.
- [x] Šel domů a spal.
- Věřím, že přijdeš.
- Udělám to, jak budeš chtít.
## Příslovce „rychle“ je stupňováno jako:
- [x] rychle – rychleji – nejrychleji
- rychle – více rychle – nejvíce rychle
- rychle – rychlé – nejrychlejší
- nelze stupňovat