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: On the road
popis: Comparison and the past continuous. Gaps and a quiz.
---

View file

@ -0,0 +1,82 @@
---
id: anglictina-2-na-cestach
puvodni: en.2.1
nazev: Na cestách
popis: Stupňování a minulý čas průběhový. Doplňování a kvíz.
---
# Výklad
## Porovnat dvě věci i celou skupinu
*Stupňování*
- cheap → cheaper → the cheapest. Expensive → more expensive → the most expensive.
- Nepravidelné: good → better → the best, bad → worse → the worst, far → further → the furthest.
- as … as: The bus is as fast as the train today.
- than stojí po komparativu: This hostel is cheaper than the hotel.
> Tip: kratší přídavná jména berou -er/-est, delší more/most.
## Děje, který probíhal, když se stalo něco jiného
*Past continuous*
- I was reading when the train stopped.
- While we were waiting, it started to rain.
- Zápor: We weren't sleeping. Otázka: Were you driving?
- Nepleťte si ho s minulým prostým: I walked home popisuje celou cestu.
> Tip: průběhový čas je pozadí, prostý je krátká událost.
# Doplňování
## This ticket is ___ (cheap) than the night train.
= cheaper
> Krátké přídavné jméno: -er.
## It was the ___ (bad) hotel in the town.
= worst
> bad, worse, the worst.
## Prague is not as ___ as London.
= big
> as + základní tvar + as.
## I ___ (read) when the bus suddenly stopped.
= was reading
> Pozadí: past continuous.
## While we ___ (wait), a street musician started to play.
= were waiting
> While + průběhový děj.
# Kvíz
## far → ___ → the furthest
- farer
- [x] further
- more far
- farthest only
> far, further, the furthest. Farthest je taky možné, ale further je v učebnici první.
## Which sentence is correct?
- This café is more cheap than that one.
- [x] This café is cheaper than that one.
- This café is the cheaper than that one.
- This café is cheap than that one.
> cheap → cheaper than.
## She ___ a map when she missed the stop.
- looked
- [x] was looking
- looks
- is looking
> Dělo se to v okamžiku, kdy zmeškala zastávku.
## good → better → ___
- the goodest
- the better
- [x] the best
- the most good
> the best.

View file

@ -0,0 +1,4 @@
---
nazev: At the clinic
popis: Should, must and have to. A leaflet and a quiz.
---

View file

@ -0,0 +1,92 @@
---
id: anglictina-2-u-lekare
puvodni: en.2.2
nazev: U lékaře
popis: Should, must a have to. Čtení letáku a kvíz.
---
# Výklad
## Rada, povinnost, zákaz
*Modální slovesa*
- You should rest. You shouldn't go to school tomorrow. To je rada.
- I must call the doctor. Mluvčí cítí, že to je nutné.
- You have to show your insurance card. To chce ordinace.
- Mustn't je zákaz. Don't have to znamená, že to není nutné.
> Tip: must je silný pocit mluvčího, have to je pravidlo zvenku.
## Jak to říct u přepážky
*Tělo a příznaky*
- a headache, a sore throat, a cough, a temperature, a rash.
- It hurts when I swallow. I feel dizzy.
- How long have you had it? — Since Monday. / For three days.
- Take these tablets twice a day. Drink plenty of water.
> Tip: I've got a sore throat zní přirozeněji než I have pain in throat.
# Čtení
The school clinic is open from seven to three. If you feel ill, you should tell your teacher first. You have to bring your insurance card. You must not come to school with a high temperature. Students with a cough should wear a mask in the waiting room. You don't have to make an appointment for a small cut, but you should come before noon. The nurse can give you a painkiller. She can't give you antibiotics.
## What do you have to bring?
- A mask
- [x] An insurance card
- Antibiotics
- An appointment
> have to bring your insurance card.
## What is forbidden?
- [x] Coming with a high temperature
- Telling the teacher
- Wearing a mask
- Coming before noon
> must not come with a high temperature.
## You don't have to make an appointment if…
- you need antibiotics
- [x] you have a small cut
- you have a temperature
- you arrive at four
> for a small cut.
## What can't the nurse give you?
- Water
- A painkiller
- [x] Antibiotics
- A mask
> She can't give you antibiotics.
# Kvíz
## You ___ shout in the waiting room. It's a rule.
- don't have to
- [x] mustn't
- shouldn't to
- haven't
> Zákaz: mustn't.
## You ___ wear a tie. Nobody minds.
- mustn't
- [x] don't have to
- must
- should to
> Není to nutné: don't have to.
## I've got a headache. You ___ drink some water and rest.
- [x] should
- must to
- have
- are
> Rada: should.
## Visitors ___ show a card. The clinic asks for it.
- [x] have to
- should to
- don't must
- are have
> Pravidlo zvenku: have to.

View file

@ -0,0 +1,4 @@
---
nazev: A first job
popis: The present perfect, for and since. A job interview and gaps.
---

View file

@ -0,0 +1,84 @@
---
id: anglictina-2-prvni-brigada
puvodni: en.2.3
nazev: První brigáda
popis: Předpřítomný čas, for a since. Poslech pohovoru a doplňování.
---
# Výklad
## Zkušenost a děj až do teď
*Present perfect*
- I have worked in a café. She has never had a paid job.
- Ever v otázce, never v záporném významu: Have you ever used a till?
- For three months = jak dlouho. Since May = od kdy.
- Just, already, yet: I've just finished. I haven't finished yet.
> Tip: have/has + příčestí. Otázka na zkušenost začíná Have you ever…?
## Krátké odpovědi
*Pohovor*
- I'm reliable and I get on well with people.
- I have looked after my neighbours' children.
- I can work on Saturdays, but I can't work on Sunday mornings.
- Could you tell me what the shift is?
> Tip: odpovězte a přidejte jednu konkrétní větu, ať to není jen yes.
# Poslech
Manager: Have you ever worked in a shop? Tereza: Not in a shop, but I have helped in my uncle's bakery since May. Manager: What do you do there? Tereza: I have served customers and I have learned to use the till. I haven't baked bread yet. Manager: Can you start next Saturday? Tereza: Yes. I have already asked my uncle, and he says it's fine. I can't work on Sunday mornings because I have a match.
## Where has Tereza helped?
- In a supermarket
- [x] In her uncle's bakery
- In a hotel
- At school
> in my uncle's bakery.
## Since when?
- Since March
- [x] Since May
- Since Saturday
- For a year
> since May.
## What hasn't she done yet?
- Served customers
- Used the till
- [x] Baked bread
- Asked her uncle
> I haven't baked bread yet.
## Why can't she work on Sunday mornings?
- The bakery is closed
- [x] She has a match
- She is ill
- She has no till
> because I have a match.
# Doplňování
## She ___ (live) here since 2019.
= has lived|'s lived
> Since + předpřítomný čas.
## I have known him ___ three years.
= for
> For + délka.
## Have you ___ (be) to London?
= been
> Been to = mít zkušenost.
## We haven't finished ___.
= yet
> Yet v záporu na konci.
## He has ___ eaten, so he isn't hungry.
= already|just
> Already nebo just.

View file

@ -0,0 +1,4 @@
---
nazev: A film review
popis: Relative clauses with who, which and that. A short review and a quiz.
---

View file

@ -0,0 +1,78 @@
---
id: anglictina-2-recenze-filmu
puvodni: en.2.4
nazev: Recenze filmu
popis: Vztažné věty who, which a that. Krátká recenze a kvíz.
---
# Výklad
## Která osoba, která věc
*Vztažné věty*
- The actor who plays the captain is brilliant.
- A lighthouse which stands on a black rock.
- V definující větě se čárka nepíše: The boy who lives next door.
- Nedefinující věta čárku má a that se v ní nepoužívá: Prague, which I love, …
> Tip: who pro lidi, which pro věci. That jde často pro obojí v definující větě.
## Názor, ne jen děj
*Recenze*
- Jedna věta o ději, jedna o postavě, jedna o tom, co se povedlo.
- I would recommend it to anyone who likes quiet films.
- The ending, which I will not describe, stays with you.
- Hodnocení ať je konkrétní: the music is too loud, the script is sharp.
> Tip: neprozrazujte konec. Napište, pro koho film je.
# Psaní
Write a short review of a film or a book in at least 40 words. Use who once and which once, and say who you would recommend it to.
## Vzorová odpověď
The Lighthouse Keeper is a quiet film which follows a woman on a small island. The actor who plays her hardly speaks, but her face tells the story. The sea, which is almost a character, is beautiful and dangerous. I would recommend it to anyone who likes slow films. The ending is sad but honest.
## Musí obsahovat
- who
- which
- recommend
## Minimum slov
40
# Kvíz
## The nurse ___ helped me was very calm.
- which
- [x] who
- where
- whose it
> Člověk: who.
## The app ___ crashed is useless.
- who
- [x] which
- where
- whom
> Věc: which.
## Prague, ___ is my home city, is full of tourists in July.
- that
- [x] which
- who
- what
> S čárkou that nepatří. Which.
## That's the boy ___ dog ran into the road.
- who
- which
- [x] whose
- that his
> Čí: whose.

View file

@ -0,0 +1,4 @@
---
nazev: Weather and a trip
popis: Too and enough, will and going to in a forecast. Reading and gaps.
---

View file

@ -0,0 +1,80 @@
---
id: anglictina-2-pocasi-a-vylet
puvodni: en.2.5
nazev: Počasí a výlet
popis: Too a enough, will a going to v předpovědi. Čtení a doplňování.
---
# Výklad
## Příliš a dost
*Too / enough*
- It's too cold to swim. The water isn't warm enough.
- Too many people, too much rain.
- Enough + podstatné jméno: enough water. Nebo za přídavným jménem: old enough.
- Not enough time je častější než too little time.
> Tip: too stojí před přídavným jménem, enough za ním.
## Co říct, když se díváte z okna
*Předpověď*
- Those clouds are black. It's going to storm.
- I think it will be sunny on Sunday. To je jen odhad.
- If it rains, we'll stay in the cabin.
- Slovník: foggy, chilly, pouring, a heatwave, a breeze.
> Tip: mraky, které vidíte, vedou k going to. Odhad bez důkazu k will.
# Čtení
We wanted to cycle to the lake, but the morning was too foggy to start. By ten the sun was out and the path was dry enough. There were too many cyclists near the dam, so we took a quieter road. We didn't have enough water, which was a mistake. At the lake a guard said, "Look at that cloud. It's going to pour. I think the storm will last an hour." We were not fast enough. We got soaked.
## Why didn't they start early?
- The bikes were broken
- [x] It was too foggy
- The lake was closed
- They had no map
> too foggy to start.
## Why did they change the road?
- [x] There were too many cyclists
- They were lost
- It was pouring
- The guard sent them back
> too many cyclists near the dam.
## What mistake did they make?
- They forgot the bikes
- [x] They didn't have enough water
- They started at night
- They swam
> didn't have enough water.
## What did the guard predict from the cloud?
- Fog
- A heatwave
- [x] Rain
- Snow
> It's going to pour.
# Doplňování
## The rucksack is ___ heavy to carry.
= too
> Too + přídavné jméno.
## She isn't tall ___ to reach the shelf.
= enough
> Enough za přídavným jménem.
## There is too ___ sugar in this tea.
= much
> Nepočitatelné: too much.
## Look at the sky. It ___ snow.
= is going to|'s going to
> Viditelný důkaz.

View file

@ -0,0 +1,4 @@
---
nazev: A festival
popis: Present perfect versus past simple. Listening and a quiz.
---

View file

@ -0,0 +1,92 @@
---
id: anglictina-2-festival
puvodni: en.2.6
nazev: Festival
popis: Předpřítomný čas proti minulému. Poslech a kvíz.
---
# Výklad
## Kdy je děj uzavřený
*Dva časy*
- I have been to the festival three times. Neříkám kdy.
- I went in 2023. Tehdy pršelo. To už je uzavřené.
- Have you ever slept in a tent? — Yes. I slept in one last June.
- Been to znamená, že už je člověk zpátky. Gone to znamená, že je pořád pryč.
> Tip: jakmile zazní yesterday, last year nebo in 2019, patří minulý čas.
## Co se děje na místě
*Reportáž*
- The gates have just opened.
- Last night the main band played for two hours.
- Have you seen the lanterns yet?
- A local baker has made a cake in the shape of a violin.
> Tip: reportér míchá „už se stalo“ a „bylo to včera večer“.
# Poslech
This is Nora at the river festival. The gates have just opened and hundreds of people have already come in. I have never seen so many lanterns. Last night the main band played for two hours, but tonight's singer hasn't arrived yet. A local baker has made a cake in the shape of a violin. I tried a piece yesterday. It was delicious. Have you ever been here? I came for the first time in 2022, and I have come back every summer since then.
## What has just happened?
- The band has left
- [x] The gates have opened
- It has started to snow
- The baker has closed
> The gates have just opened.
## When did the main band play?
- Just now
- [x] Last night
- In 2022
- Every summer
> Last night the main band played.
## What hasn't happened yet?
- People have come in
- [x] Tonight's singer has arrived
- Nora tried the cake
- The gates opened
> hasn't arrived yet.
## When did Nora come for the first time?
- Yesterday
- Last night
- [x] In 2022
- This morning
> for the first time in 2022.
# Kvíz
## I ___ this play in 2019.
- have seen
- [x] saw
- seen
- have saw
> Rok uzavírá děj: saw.
## She has ___ to Paris. She is still there.
- been
- [x] gone
- went
- going
> Pořád je pryč: gone.
## ___ you ever slept in a tent?
- Did
- [x] Have
- Do
- Were
> Ever + present perfect: Have you ever…?
## We ___ the lanterns yesterday.
- have seen
- [x] saw
- seen
- have watch
> Yesterday → past simple.

View file

@ -0,0 +1,4 @@
---
nazev: If I could
popis: First and second conditionals. Writing and gaps.
---

View file

@ -0,0 +1,66 @@
---
id: anglictina-2-kdyby
puvodni: en.2.7
nazev: Kdyby
popis: První a druhá podmínková věta. Psaní a doplňování.
---
# Výklad
## Reálná a hypotetická
*Podmínky*
- 1. kondicionál: If I finish early, I will call you. Je to možné.
- 2. kondicionál: If I had a car, I would drive. Teď auto nemám.
- V formální druhé podmínce je were: If I were you, I would apologise.
- Unless = if not: We'll miss the bus unless we leave now.
> Tip: v if větě není will. If it rains, we will stay in.
## Jedna reálná, jedna vysněná
*Vlastní věta*
- Napište situaci, která se může stát tento týden.
- Pak situaci, která teď pravda není.
- Would like není druhá podmínka. To je jen přání: I'd like a tea.
- Krátký text ať má oba typy, ať je rozdíl vidět.
> Tip: would se v if větě druhé podmínky neopakuje na obou stranách špatně. If I would have je chyba.
# Doplňování
## If it ___ (rain), we will stay in the tent.
= rains
> 1. podmínka: přítomný čas v if.
## If I ___ (be) you, I would tell the truth.
= were|was
> Were je přesnější, was se taky slyší.
## She would travel more if she ___ (have) time.
= had
> 2. podmínka: minulý tvar.
## We'll be late ___ we hurry.
= unless
> Unless = if not.
# Psaní
Write at least 35 words. Include one real plan with if and will, and one unreal dream with would. Use the word if twice.
## Vzorová odpověď
If I finish my project tonight, I will go climbing with Eva on Saturday. We will take the early bus if the weather is fine. If I had more free time, I would learn the guitar. I would also travel by night train if tickets were cheaper. If is a small word with two very different lives.
## Musí obsahovat
- if
- will
- would
## Minimum slov
35

View file

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

View file

@ -0,0 +1,129 @@
---
id: anglictina-2-test-2-rocniku
puvodni: en.2.8
nazev: Test 2. ročníku
popis: Čtení, poslech, gramatika B1 a krátké psaní.
---
# Výklad
## Co už má držet pohromadě
*B1*
- Stupňování, past continuous, modální slovesa rady a povinnosti.
- Present perfect proti past simple.
- Who a which, too a enough, první a druhá podmínka.
- Psaní: krátký souvislý názor, ne odrážkový seznam.
> Tip: u předpřítomného času hledejte ever, yet, since. U minulého yesterday a rok.
## Jedna věta navíc
*Strategie*
- U čtení škrtněte odpověď, která v textu vůbec není.
- U poslechu si čísla zapište číslicí.
- Mustn't není don't have to.
- If I would have time je chyba. If I had time, I would…
> Tip: v psaní ať je důvod. Because nebo so text zvedne.
# Čtení
The night bus to Brno is cheaper than the train, but it is also slower. Last Friday I was sleeping when the driver stopped at a dark petrol station. A woman who had missed her connection asked if she could sit next to me. She has travelled this route since March because her new job starts at six. If the bus is late, she has to run. She says she would move closer if flats were cheaper.
## The bus is ___ than the train.
- faster and cheaper
- [x] cheaper and slower
- the best
- as fast
> cheaper, but slower.
## What was the writer doing when the bus stopped?
- Reading
- [x] Sleeping
- Running
- Driving
> I was sleeping when the driver stopped.
## Why has the woman travelled this route since March?
- She likes petrol stations
- [x] Her job starts early
- Flats are cheap
- She missed a concert
> her new job starts at six.
# Poslech
Doctor: How long have you had this cough? Adam: Since Sunday. I have also had a sore throat for two days. Doctor: You should rest and drink water. You don't have to stay in bed all day, but you mustn't play football this week. If you still feel ill on Friday, come back.
## Since when has Adam had the cough?
- Since Friday
- [x] Since Sunday
- For a month
- Since March
> Since Sunday.
## What mustn't he do?
- Drink water
- Rest
- [x] Play football
- Come back
> mustn't play football.
## When should he come back?
- [x] If he is still ill on Friday
- Every day
- Never
- On Sunday morning
> If you still feel ill on Friday.
# Psaní
Write at least 35 words about a trip or a job you would like. Use would and because.
## Vzorová odpověď
I would like to work in a small bookshop by the station because I love quiet mornings. I would talk to customers and I would also read in the breaks. If I had the job, I would cycle there. I have never worked in a shop, but I have helped at school events.
## Musí obsahovat
- would
- because
## Minimum slov
35
# Kvíz
## This hostel is ___ than the hotel.
- [x] cheaper
- more cheap
- the cheapest
- cheap
> cheap → cheaper.
## I have lived here ___ 2020.
- for
- [x] since
- ago
- during
> Since + bod v čase.
## You ___ wear a helmet. It's the law.
- must to
- [x] have to
- don't have
- should to
> Pravidlo: have to.
## If I ___ richer, I would take the train.
- am
- will be
- [x] were
- would be
> 2. podmínka: were.