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: Me and my family
popis: The verb be, have got and possessives. Gaps and a quiz.
---

View file

@ -0,0 +1,82 @@
---
id: anglictina-1-ja-a-moje-rodina
puvodni: en.1.1
nazev: Já a moje rodina
popis: Sloveso be, have got a přivlastňovací zájmena. Doplňování a kvíz.
---
# Výklad
## Kdo jsem
*Be*
- I am, you are, he/she/it is, we/you/they are.
- Zápor a otázka: She isn't tall. Are you from Prague?
- Věk, povolání i nálada: I am 16. My mum is a nurse. I am fine.
- Přivlastňovací zájmena: my, your, his, her, its, our, their.
> Tip: věk se říká slovesem be. „She has 16 years“ je čechismus.
## Co mám
*Have got*
- I've got a younger brother. She hasn't got a pet.
- Have you got any cousins? — Yes, I have. / No, I haven't.
- V americké angličtině stačí have: I have a brother.
- Rodina: parents, siblings, only child, get on well, look like.
> Tip: have got je britská hovorová vazba pro vlastnictví, ne pro věk.
# Doplňování
## My sister ___ sixteen.
= is
> Věk: be, ne have.
## ___ you got a bike?
= Have
> Otázka s have got.
## This is ___ grandmother. She lives with us.
= our
> Přivlastňovací zájmeno.
## They ___ not from Brno. They are from Olomouc.
= are
> They + are.
## He ___ got a dog, but he has got two cats.
= hasn't|has not
> Zápor have got.
# Kvíz
## Which sentence is correct?
- She has 16 years.
- [x] She is 16 years old.
- She is 16 years.
- She has 16 years old.
> Věk: be + years old.
## I ___ two cousins and one aunt.
- am
- [x] have got
- has got
- is
> Vlastnictví v 1. osobě: have got.
## Eva is my sister. ___ room is next to mine.
- She
- [x] Her
- His
- Hers
> Před podstatným jménem je her, ne she.
## ___ your parents at home?
- Is
- [x] Are
- Have
- Do
> Parents je množné číslo: Are.

View file

@ -0,0 +1,4 @@
---
nazev: A school day
popis: The present simple. Reading and gaps.
---

View file

@ -0,0 +1,80 @@
---
id: anglictina-1-skolni-den
puvodni: en.1.2
nazev: Školní den
popis: Přítomný čas prostý. Čtení a doplňování.
---
# Výklad
## Co dělám pravidelně
*Present simple*
- I get up at seven. He gets up at six.
- Zápor: I don't like maths. She doesn't eat meat.
- Otázka: Do you walk to school? Does she play the piano?
- Příslovce četnosti stojí před slovesem: I usually walk. She is always late.
> Tip: ve 3. osobě jednotného čísla přibývá -s/-es: she watches.
## Rozvrh a přestávky
*Škola*
- lessons, break, canteen, homework, timetable, subject.
- Čas: at eight, at half past twelve, in the morning, on Monday.
- because vysvětluje důvod: I like biology because we do experiments.
- never / sometimes / often / usually / always.
> Tip: předmět ve škole je bez členu, když mluvíme obecně: I like biology.
# Čtení
My school day starts early. I get up at half past six, have breakfast and catch the tram. Lessons begin at eight. On Monday we have maths, English and biology. I like biology because we do experiments, but I don't like maths. We have lunch at half past twelve in the canteen. After school I do my homework or meet friends. I never go to bed after ten on a school night.
## What time do lessons begin?
- At half past six
- [x] At eight
- At half past twelve
- At ten
> Lessons begin at eight.
## Why does the writer like biology?
- Because it is easy
- [x] Because they do experiments
- Because the teacher is funny
- Because there is no homework
> because we do experiments.
## Where do they have lunch?
- At home
- On the tram
- [x] In the canteen
- In the park
> in the canteen.
## On a school night the writer goes to bed…
- after eleven
- at midnight
- [x] never after ten
- before six
> never go to bed after ten.
# Doplňování
## She ___ (watch) a series every evening.
= watches
> 3. osoba: watches.
## We ___ (not go) to school on Sunday.
= don't go|do not go
> Zápor v 1. osobě množného čísla.
## ___ he play football on Fridays?
= Does
> Otázka ve 3. osobě.
## I usually ___ (get) up at seven.
= get
> Usually nemění tvar slovesa.

View file

@ -0,0 +1,4 @@
---
nazev: A weekend in town
popis: The present continuous for arrangements. Listening.
---

View file

@ -0,0 +1,80 @@
---
id: anglictina-1-vikend-ve-meste
puvodni: en.1.3
nazev: Víkend ve městě
popis: Přítomný čas průběhový pro domluvené plány. Poslech.
---
# Výklad
## Co právě probíhá a co je domluvené
*Continuous*
- Tvar: am/is/are + -ing. I'm waiting. She isn't coming.
- Teď: Look, it is raining. Please be quiet, the baby is sleeping.
- Blízký plán: We're having lunch on Saturday. I'm playing volleyball.
- Stavová slovesa obvykle průběhový čas nemají: I know, I like, I want.
> Tip: I'm meeting Eva at ten je plán, ne jen „potkávám“.
## Jak poslouchat vzkaz
*Poslech*
- Chyťte jména, časy a místa. Ta se v otázkách opakují.
- Nenechte se zastavit jedním slovem. Poslouchejte dál.
- I'm meeting, we're going, I'm playing jsou v tomhle vzkazu klíčové.
- Na konci bývá prosba: Call me back.
> Tip: nejdřív si přečtěte otázky, pak teprve pusťte nahrávku.
# Poslech
Hi Tom, it's Anna. Are you free on Saturday? I'm meeting Eva at the station at ten. We're going to the market first, and then we're having lunch in that new café by the river. In the afternoon I'm playing volleyball with my class in the park. Do you want to come to the café? Call me back tonight.
## Who is Anna meeting?
- Tom
- [x] Eva
- Her class
- Her mum
> I'm meeting Eva.
## Where are they meeting?
- At school
- [x] At the station
- In the park
- By the river only
> at the station at ten.
## What is Anna doing in the afternoon?
- Going to the market
- Having lunch
- [x] Playing volleyball
- Sleeping
> I'm playing volleyball.
## What should Tom do?
- Buy tickets
- [x] Call her back
- Come to school
- Bring a map
> Call me back tonight.
# Doplňování
## Listen, the phone ___.
= is ringing
> Děje se to teď.
## We ___ lunch with Eva on Saturday.
= are having|'re having
> Domluvený plán.
## I ___ not coming to the match.
= am|'m
> Zápor: am not.
## She ___ volleyball this afternoon.
= is playing|'s playing
> Domluvená aktivita.

View file

@ -0,0 +1,10 @@
---
nazev: My room
popis: There is / there are and prepositions. A short description and a quiz.
---
# Překlady
| Česky | Anglicky |
|---|---|
| on | he |

View file

@ -0,0 +1,78 @@
---
id: anglictina-1-muj-pokoj
puvodni: en.1.4
nazev: Můj pokoj
popis: There is / there are a předložky místa. Krátký popis a kvíz.
---
# Výklad
## Co v pokoji je
*There is*
- There is a desk under the window. There are two chairs.
- Zápor: There isn't a TV. There aren't any posters.
- Otázka: Is there a lamp? Are there any books?
- Předložky: in, on, under, next to, between, behind, in front of.
> Tip: there is pro jedno, there are pro více. There je formální podmět.
## Popis místa
*Psaní*
- Začněte velikostí a světlem: small but bright.
- Každá věta ať má věc a místo: The bag is under the chair.
- Střídejte there is a there are, ať text není seznam.
- Na konci jedna osobní věta: I like it because it is quiet.
> Tip: jděte od velkého k malému, od dveří k oknu.
# Psaní
Describe your room in at least 30 words. Say what is in it and where things are. Use on and a piece of furniture such as a bed, and mention a window.
## Vzorová odpověď
My room is small but bright. There is a bed next to the window and a wooden desk under a shelf. My books are on the desk and my school bag is under the chair. There are two posters on the wall. I like the room because it is quiet in the evening.
## Musí obsahovat
- bed
- window
- on
## Minimum slov
30
# Kvíz
## The lamp is ___ the desk.
- under
- [x] on
- between
- at
> Lampa stojí na desce: on.
## There ___ a big window.
- are
- [x] is
- be
- have
> Jedno okno: there is.
## There ___ two posters on the wall.
- is
- [x] are
- has
- been
> Dva plakáty: there are.
## The cat is sleeping ___ the bed.
- [x] under
- next
- between to
- at to
> Pod postelí: under the bed.

View file

@ -0,0 +1,4 @@
---
nazev: At the market
popis: Countability, some and any, how much and how many. Reading and gaps.
---

View file

@ -0,0 +1,80 @@
---
id: anglictina-1-na-trhu
puvodni: en.1.5
nazev: Na trhu
popis: Počitatelnost, some a any, how much a how many. Čtení a doplňování.
---
# Výklad
## Počitatelné a nepočitatelné
*Množství*
- Počitatelné: an apple, some apples. Nepočitatelné: some bread, some milk.
- How many apples? How much milk?
- a little milk, a few rolls, a lot of cheese.
- V obchodě: How much is it? It's four euros a kilo.
> Tip: some v kladné větě, any v otázce a záporu. Nabídka je výjimka: Would you like some tea?
## Zdvořilá žádost
*Dialog*
- Have you got any bread? — Sorry, we haven't got any today.
- We've got some rolls instead.
- How many would you like? — Six, please.
- Anything else? — No, that's all. Thank you.
> Tip: Can I have… a I'd like… zní v obchodě přirozeně.
# Čtení
On Saturday morning the market by the river is busy. A woman asks, "How much is this cheese?" The seller says, "It's four euros a kilo." Then she asks, "Have you got any bread?" He answers, "Sorry, we haven't got any bread today, but we've got some fresh rolls." "How many rolls do you want?" "Six, please, and a little milk." She also buys a few apples. "Anything else?" "No, that's all."
## How much is the cheese?
- Four euros a piece
- [x] Four euros a kilo
- Six euros
- A little
> four euros a kilo.
## What hasn't the seller got?
- Rolls
- Milk
- [x] Bread
- Apples
> haven't got any bread today.
## How many rolls does the woman want?
- Four
- A few
- [x] Six
- A kilo
> Six, please.
## Which phrase is an offer of more shopping?
- That's all.
- [x] Anything else?
- How much is it?
- A little milk.
> Anything else? nabízí další nákup.
# Doplňování
## We haven't got ___ bread today.
= any
> Zápor: any.
## There are ___ rolls in the bag.
= some
> Kladná věta: some.
## How ___ apples do you want?
= many
> Apples se dají počítat.
## How ___ milk is in the bottle?
= much
> Milk je nepočitatelné.

View file

@ -0,0 +1,4 @@
---
nazev: Last summer
popis: The past simple, regular and irregular verbs. Listening and a quiz.
---

View file

@ -0,0 +1,92 @@
---
id: anglictina-1-minule-leto
puvodni: en.1.6
nazev: Minulé léto
popis: Minulý čas prostý, pravidelná i nepravidelná slovesa. Poslech a kvíz.
---
# Výklad
## Co se stalo a je dokončené
*Past simple*
- Pravidelná: play → played, visit → visited, try → tried, stop → stopped.
- Nepravidelná: go → went, take → took, swim → swam, buy → bought.
- I didn't stay in a hotel. Did you visit the island?
- Signály: yesterday, last July, ago, in 2019, when I was ten.
> Tip: zápor a otázka používají did, sloveso zůstává v základním tvaru.
## Jedna událost za druhou
*Vyprávění*
- Začněte kdy a kam: Last July we went to Croatia.
- Pak doprava, počasí a jedna konkrétní příhoda.
- Nepravidelná slovesa se neučí po jednom u testu, ale ve větě.
- Na konci dojem: It was the best week of the year.
> Tip: then, after that a one day drží příběh pohromadě.
# Poslech
Last July we went to Croatia. We travelled by train and then by bus because the flight was too expensive. The weather was hot every day. I swam in the morning and my brother tried surfing. He fell off the board a lot, but he loved it. One day we visited a small island. We didn't stay in a hotel. We stayed with our uncle near the beach. I took hundreds of photos.
## Where did they go?
- Italy
- [x] Croatia
- Greece
- Spain
> went to Croatia.
## How did they travel?
- By plane
- [x] By train and bus
- By car
- By ferry only
> by train and then by bus.
## What did the brother try?
- Swimming
- [x] Surfing
- Cooking
- Driving
> tried surfing.
## Where did they stay?
- In a hotel
- On the island
- [x] With their uncle
- On the train
> stayed with our uncle.
# Kvíz
## go → ___
- goed
- [x] went
- gone
- going
> go, went, gone.
## I ___ a lot of photos.
- taked
- [x] took
- taken
- token
> take, took, taken.
## She ___ in the sea every morning.
- swimmed
- [x] swam
- swum
- swims
> Minulý tvar swim je swam.
## We ___ stay in a hotel.
- don't
- [x] didn't
- wasn't
- haven't
> Zápor minulého času: didn't + sloveso.

View file

@ -0,0 +1,4 @@
---
nazev: A message to a friend
popis: Will and going to. A short informal message and gaps.
---

View file

@ -0,0 +1,66 @@
---
id: anglictina-1-zprava-kamaradovi
puvodni: en.1.7
nazev: Zpráva kamarádovi
popis: Will a going to. Krátká neformální zpráva a doplňování.
---
# Výklad
## Plán, nebo rozhodnutí teď
*Budoucnost*
- We've got tickets. We're going to leave at six. To je plán.
- Look at those clouds. It's going to rain. To je důkaz.
- The phone is ringing. I'll answer it. Rozhodnutí teď.
- I think I'll stay at home. Will jako názor, ne jistý plán.
> Tip: going to má důkaz nebo plán. Will je rozhodnutí v tu chvíli nebo odhad.
## Neformální styl
*Zpráva*
- Začněte Hi a jménem, ne Dear Sir.
- Napište kdy, co a proč. Jedna věta s because stačí.
- I'm going to… je v takové zprávě přirozené.
- Konec: Want to come? Write back.
> Tip: Hi, kontraktované tvary a na konci otázka kamarádovi.
# Doplňování
## Look at those clouds. It ___ rain.
= is going to|'s going to
> Je vidět důkaz: going to.
## I think I ___ stay at home tonight.
= will|'ll
> Názor v tu chvíli: will.
## The tickets are in my bag. We ___ leave at six.
= are going to|'re going to
> Už je to domluvené.
## Don't worry. I ___ help you with the bags.
= will|'ll
> Rozhodnutí teď: will.
# Psaní
Write a short message to a friend about next weekend. Use at least 25 words. Say what you are going to do, mention the weekend, and give a reason with because.
## Vzorová odpověď
Hi Lena, next weekend I am going to visit my cousins in Pilsen. We are going to the cinema on Saturday because a new film is on. On Sunday we are going to cook lunch together. Do you want to come with me? Write back soon.
## Musí obsahovat
- going
- weekend
- because
## Minimum slov
25

View file

@ -0,0 +1,4 @@
---
nazev: Year 1 test
popis: Reading, listening, grammar and a short piece of writing. Level A2.
---

View file

@ -0,0 +1,129 @@
---
id: anglictina-1-test-1-rocniku
puvodni: en.1.8
nazev: Test 1. ročníku
popis: Čtení, poslech, gramatika a krátké psaní. Úroveň A2.
---
# Výklad
## A2 v jedné sadě
*Co test bere*
- Čtení: najděte v textu čas, místo a důvod, nehádejte z jednoho slova.
- Poslech: jména a čísla si poznamenejte hned.
- Gramatika: be, přítomné časy, some/any, minulý čas, will a going to.
- Psaní: krátký souvislý text, ne jen odrážky.
> Tip: nejdřív otázky, pak text nebo nahrávku. U psaní počítejte slova.
## Nejčastější čechismy
*Jak opravovat*
- I am 16, ne I have 16 years.
- She likes, ne she like.
- Did you went je špatně. Did you go.
- There is a book, ne It is a book on the table, když věc uvádíte.
> Tip: po kontrole si přečtěte nápovědy, i když je věta správně.
# Čtení
Klara lives in a flat with her parents and a small dog. On weekdays she walks to school because it is only ten minutes away. She loves art. Last Friday her class visited a gallery and she bought a poster. This Saturday she is meeting her cousin at the station. They are going to a concert in the evening.
## How does Klara get to school?
- By tram
- [x] She walks
- Her dad drives
- By train
> she walks to school.
## What did she buy at the gallery?
- A dog
- A ticket
- [x] A poster
- A flat
> she bought a poster.
## Who is she meeting on Saturday?
- Her parents
- Her art teacher
- [x] Her cousin
- The singer
> meeting her cousin.
# Poslech
Hi, it's Marek. I missed you after school. I'm at the sports centre. The match starts at four, not at three, so don't hurry. Can you bring my blue jacket? It's on the chair in the kitchen. See you there.
## Where is Marek?
- At school
- [x] At the sports centre
- In the kitchen
- On the tram
> at the sports centre.
## What time does the match start?
- At three
- [x] At four
- At five
- At ten
> starts at four, not at three.
## What should his friend bring?
- A ticket
- [x] A blue jacket
- Lunch
- A poster
> bring my blue jacket.
# Psaní
Write at least 30 words about your family. Use is or are, and the words family and because.
## Vzorová odpověď
My family is not very big. I live with my parents and my younger sister. She is twelve and she is funny. We get on well because we both like films. My dad is a driver and my mum is a nurse. I am happy at home.
## Musí obsahovat
- family
- because
## Minimum slov
30
# Kvíz
## She ___ coffee.
- don't like
- [x] doesn't like
- not like
- isn't like
> 3. osoba: doesn't like.
## There ___ any milk.
- [x] isn't
- aren't
- hasn't
- don't
> Milk je jednotné: there isn't.
## Yesterday we ___ to the lake.
- go
- [x] went
- gone
- going
> Minulý tvar go je went.
## I've got the tickets. We ___ leave at noon.
- will
- [x] are going to
- did
- are
> Plán s důkazem: going to.