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: The speaking card
popis: Speaking-exam strategy and personal-topic collocations. A quiz and gaps.
---

View file

@ -0,0 +1,82 @@
---
id: anglictina-4-maturitni-karticka
puvodni: en.4.1
nazev: Maturitní kartička
popis: Strategie ústní zkoušky a kolokace osobních témat. Kvíz a doplňování.
---
# Výklad
## Čtyři minuty nejsou román
*Ústní zkouška*
- Úvod jednou větou: I'd like to talk about my town, which is smaller than it looks.
- Obecné plus osobní: Many people commute. I cycle, because the centre is close.
- Když slovo chybí, opis: the thing you use to open a tin.
- Na obrázku: In the foreground, in the background, it looks as if.
> Tip: katalog CERMAT chce souvislý projev, popis obrázku, porovnání a reakci na otázky. Ne seznam slov.
## Make, do, have, take
*Kolokace*
- Make a decision, make friends, make the bed.
- Do the washing-up, do a course, do someone a favour.
- Take part in, take care of, take an exam.
- Have a look, have a word with, have trouble with.
> Tip: české „dělat“ se rozpadá. Do homework, make a mistake, take a photo, have a rest.
# Doplňování
## I need to ___ a decision before Friday.
= make
> Make a decision.
## She ___ her homework on the train.
= does|did
> Do homework.
## Can I ___ a photo of the bridge?
= take
> Take a photo.
## Let's ___ a rest. We've walked for hours.
= have
> Have a rest.
## He ___ part in the school play every year.
= takes|took
> Take part in.
# Kvíz
## You don't know the word kettle. What helps?
- Stop the exam
- [x] Paraphrase it
- Switch to Czech for the rest
- Invent a Latin word and insist
> Opis je lepší než ticho.
## In the foreground means…
- at the back
- [x] at the front of the picture
- outside the frame
- in the past
> Foreground = popředí.
## Which collocation is right?
- do a mistake
- [x] make a mistake
- take a mistake
- have a mistake
> Make a mistake.
## A strong speaking answer…
- is a list of single words
- [x] adds a personal example
- translates the question
- avoids all verbs
> Obecné plus vlastní příklad.

View file

@ -0,0 +1,4 @@
---
nazev: A formal email
popis: A request and a complaint. Writing and a register quiz.
---

View file

@ -0,0 +1,78 @@
---
id: anglictina-4-formalni-e-mail
puvodni: en.4.2
nazev: Formální e-mail
popis: Žádost a stížnost. Psaní a kvíz rejstříku.
---
# Výklad
## Komu, proč, co chcete, jak se loučíte
*Kostra*
- I am writing to apply for… / to complain about…
- I would be grateful if you could…
- Kontrakce v čistě formálním textu omezte: I am, not I'm.
- Na konci celé jméno. Žádné Cheers ani xoxo.
> Tip: neznámé jméno → Dear Sir or Madam a Yours faithfully. Známé jméno → Dear Ms Novák a Yours sincerely.
## Fakta, dopad, žádost
*Stížnost*
- The train on 3 May, which I had booked, arrived 90 minutes late.
- As a result I missed the interview.
- I would like a refund or an explanation.
- I look forward to your reply.
> Tip: zlost text oslabuje. Datum, číslo spoje a klidná žádost ho posílí.
# Psaní
Write a formal email of at least 55 words to a railway company. Complain about a delay. Start with Dear, use would, and end with sincerely or faithfully.
## Vzorová odpověď
Dear Sir or Madam, I am writing to complain about the night train to Berlin on 3 May. It arrived ninety minutes late, so I missed a morning interview. I would be grateful if you could explain the delay and offer a refund. I have attached my ticket. Please reply to this address. Yours faithfully, Tereza Malá.
## Musí obsahovat
- dear
- would
- faithfully
## Minimum slov
55
# Kvíz
## You do not know the person's name. You end with…
- [x] Yours faithfully
- Yours sincerely
- Cheers
- Love
> Neznámé jméno: faithfully. Po Dear Sir or Madam.
## Dear Ms Novák, … ___
- Yours faithfully
- [x] Yours sincerely
- Hi again
- Bye
> Jméno znáte: sincerely.
## Which opening is formal?
- Hey!!!
- [x] I am writing to apply for the post.
- I wanna the job.
- What's up
> I am writing to…
## A formal request sounds like…
- Give me a refund now.
- [x] I would be grateful if you could look into this.
- You guys messed up.
- Send money pls.
> I would be grateful if you could…

View file

@ -0,0 +1,4 @@
---
nazev: The night train
popis: A longer reading in the style of the written paper. Four questions.
---

View file

@ -0,0 +1,68 @@
---
id: anglictina-4-nocni-vlak
puvodni: en.4.3
nazev: Noční vlak
popis: Delší čtení ve stylu didaktického testu. Čtyři otázky k článku.
---
# Výklad
## Nečtěte každé slovo stejně pomalu
*Čtení u maturity*
- Hlavní myšlenka bývá v úvodu nebo v závěru, ne v jednom příkladu.
- Distraktor často opakuje slovo z textu, ale v jiném vztahu.
- Which surprises… uvádí postoj, ne jen fakt o ceně.
- Not given v tomhle cvičení není. Jedna možnost je opřená o text.
> Tip: u výběru ze čtyř možností nejdřív zjistěte, na co se otázka ptá, a teprve pak hledejte odstavec.
## Boarding gate a carriage
*Slovník z kontextu*
- A boarding gate je letištní východ k letadlu. Text ho staví proti posteli ve vlaku.
- A carriage je vůz vlaku.
- Demand = poptávka. If demand stays high, přidají vozy.
- Deleted journey by byl let, který člověk chce mít co nejkratší.
> Tip: neznámé slovo ohraničte větou před ním a za ním.
# Čtení
When the night train from Prague to Berlin returned last spring, stations filled with people who prefer a bed to a boarding gate. A single ticket is often more expensive than a flight, which surprises anyone who thinks trains are always the cheap choice. Still, passengers say they arrive calmer. They can read, talk and avoid the bright shops of an airport. Critics point out that a delay of two hours is common and that the cabins are small. The railway has promised that new carriages will be added if demand stays high. A student I spoke to had taken the train three times. She said she would fly only if she missed the evening departure. For her, the journey is part of the trip, not a problem to be deleted.
## What is the main point?
- Flights have been cancelled
- [x] Some people choose the night train even when it costs more
- Berlin has closed its station
- Students may not travel
> Lístek bývá dražší než let, a přesto lidé vlak volí.
## What surprises some readers?
- [x] That a train ticket can cost more than a flight
- That stations are empty
- That nobody reads
- That the train is free
> more expensive than a flight, which surprises…
## What do critics mention?
- Free meals
- [x] Delays and small cabins
- Too many books
- A lack of stations
> a delay of two hours, cabins are small.
## The student would fly only if…
- the ticket was cheap
- [x] she missed the evening departure
- the cabins were small
- she hated reading
> only if she missed the evening departure.
## New carriages will be added if…
- critics agree
- [x] demand stays high
- flights are banned
- students complain
> if demand stays high.

View file

@ -0,0 +1,4 @@
---
nazev: A camp in Wales
popis: A longer listening: an interview. Five questions.
---

View file

@ -0,0 +1,68 @@
---
id: anglictina-4-tabor-ve-walesu
puvodni: en.4.4
nazev: Tábor ve Walesu
popis: Delší poslech: pohovor. Pět otázek.
---
# Výklad
## Dvě přehrání stačí, když víte co
*Poslech u maturity*
- Otázky si přečtěte dřív. Podtrhněte tázací slovo.
- Čísla a never/already mění význam celé věty.
- Wouldn't force není couldn't.
- I didn't give him any medicine je důležité právě proto, že je zápor.
> Tip: při prvním poslechu chyťte kostru, při druhém doplňte past, podmínku a zápor.
## Slovník pohovoru
*Práce s dětmi*
- For two years je délka, ne bod v čase.
- A quieter task je alternativa, ne trest.
- Although přiznává nevýhodu a názor nemění.
- Boots jsou důkaz, že s deštěm počítá. Proto going to / already.
> Tip: deal with an emergency, refuse, offer, look forward to.
# Poslech
Interviewer: Why did you apply to the summer camp in Wales? Hana: I have worked with children for two years, and I wanted a job where English is the only language. Interviewer: What would you do if a child refused to join an activity? Hana: I wouldn't force them. I would ask why, and I might offer a quieter task. Interviewer: Have you ever dealt with an emergency? Hana: Yes. Last August a boy cut his foot. I cleaned the cut and called the nurse. I didn't give him any medicine. Interviewer: The camp is rainy. Is that a problem? Hana: Not really. I have already bought boots. I look forward to the hills, although I know the work will be tiring.
## Why does Hana want the job?
- She has never met children
- [x] She wants a job where only English is spoken
- She hates hills
- She wants to sell boots
> where English is the only language.
## How long has she worked with children?
- For two weeks
- [x] For two years
- Since last August only
- She hasn't
> for two years.
## What would she do if a child refused an activity?
- Force them
- Send them home
- [x] Ask why and maybe offer a quieter task
- Give them medicine
> I wouldn't force them. I might offer a quieter task.
## What didn't she do in the emergency?
- Clean the cut
- Call the nurse
- [x] Give medicine
- Help the boy
> I didn't give him any medicine.
## How does she feel about the rain?
- [x] She has already bought boots and still looks forward to the hills
- She will refuse the job
- She has never seen rain
- She hates children
> already bought boots, look forward to the hills.

View file

@ -0,0 +1,4 @@
---
nazev: An opinion essay
popis: Opinion-essay structure. An essay and a quiz about paragraphs.
---

View file

@ -0,0 +1,78 @@
---
id: anglictina-4-nazorova-esej
puvodni: en.4.5
nazev: Názorová esej
popis: Struktura názoru. Esej a kvíz o odstavcích.
---
# Výklad
## Nejdřív stanovisko, pak důvody
*Názor*
- I believe that… / In my opinion…
- First reason, second reason, a short answer to the other side.
- Although some people argue that…, I still think…
- Závěr ať zní jako závěr, ne jako třetí nový důvod.
> Tip: u názorové eseje čtenář nemá hádat, na čí straně jste. Řekněte to v úvodu.
## Radši čtyři hutné věty než deset prázdných
*Rozsah*
- Každý důvod ať má příklad z běžného života.
- Nepoužívejte etc. Místo toho jedno konkrétní slovo.
- Spojky: firstly, in addition, on the other hand, in conclusion.
- Kontraktované tvary jsou v názorové eseji v pořádku, když text není stížnost úřadu.
> Tip: u písemné práce se počítají slova. Opakování zadání se nepočítá jako myšlenka.
# Psaní
Write an opinion of at least 60 words: should students have a gap year before university? Use believe, although and in conclusion.
## Vzorová odpověď
I believe a gap year can help, but only when it has a plan. Although some students waste the time, others work, travel or look after a relative and return calmer. A year in a job also shows whether a degree is really necessary. On the other hand, a long break can make it harder to study again. In conclusion, a gap year is useful if the person can explain what they will do with it.
## Musí obsahovat
- believe
- although
- conclusion
## Minimum slov
60
# Kvíz
## Where should your opinion appear in this kind of essay?
- Only in a footnote
- [x] In the introduction and again at the end
- Never
- Only in the title
> Úvod i závěr.
## Although introduces…
- [x] a concession
- a list of books
- a greeting
- a date
> Ústupka: something true that does not win.
## In conclusion should…
- start a brand-new topic
- [x] sum up
- replace the introduction
- ask the examiner a question
> Shrnutí.
## Which is the best topic sentence?
- Gap year gap year gap year.
- [x] A gap year is worth it when it has a clear plan.
- Hello my name is and I will write.
- Etc. etc. etc.
> Věta, která už nese názor.

View file

@ -0,0 +1,4 @@
---
nazev: Topic vocabulary
popis: Collocations for the exam topics. Gaps and a quiz.
---

View file

@ -0,0 +1,82 @@
---
id: anglictina-4-slovni-zasoba-okruhu
puvodni: en.4.6
nazev: Slovní zásoba okruhů
popis: Kolokace k maturitním tématům. Doplňování a kvíz.
---
# Výklad
## Ne izolovaná slovíčka
*Okruhy*
- Heavy rain, strong coffee, fast food, junk food. Ne strong rain.
- A balanced diet, processed food, a food allergy.
- Public transport, rush hour, a traffic jam, a return ticket.
- Renewable energy, a carbon footprint, a heatwave, a drought.
> Tip: ústní zkouška sahá na osobu, rodinu, domov, školu, volný čas, kulturu, sport, cestování, zdraví, jídlo, služby, práci, společnost a přírodu.
## Fráze, které unesou odstavec
*Společnost a práce*
- A gap year, an apprenticeship, a degree, tuition fees.
- Freedom of speech, a stereotype, volunteer work.
- Break the law, pay a fine, a witness.
- Mental health, a check-up, be in pain. Ne have pain in the leg jako jediná možnost: My leg hurts.
> Tip: apply for a job, hand in a notice, earn a living, from home.
# Doplňování
## There was heavy ___ all night.
= rain
> Heavy rain, ne strong rain.
## I'd like a ___ ticket to Brno.
= return
> Return ticket = zpáteční.
## She applied ___ the post of guide.
= for
> Apply for.
## Solar power is ___ energy.
= renewable
> Renewable energy.
## He has a nut ___, so he can't eat the cake.
= allergy
> A food allergy.
# Kvíz
## Which pair is right?
- strong rain / heavy coffee
- [x] heavy rain / strong coffee
- fast coffee / junk rain
- a traffic diet
> Heavy rain, strong coffee.
## Rush hour is…
- a quiet morning
- [x] the busiest time to travel
- a kind of ticket
- a school subject
> Špička.
## An apprenticeship is…
- a fine
- [x] training for a job
- a heatwave
- a stereotype
> Praktická příprava na řemeslo nebo práci.
## My leg ___.
- [x] hurts
- is pain
- has hurted
- does hurtness
> My leg hurts.

View file

@ -0,0 +1,4 @@
---
nazev: Grammar clinic
popis: Mixed points for the language paper. A quiz and gaps.
---

View file

@ -0,0 +1,96 @@
---
id: anglictina-4-gramaticka-ambulance
puvodni: en.4.7
nazev: Gramatická ambulance
popis: Smíšené jevy k didaktickému testu. Kvíz a doplňování.
---
# Výklad
## To, co se v testu sype
*Články a časy*
- I have lived here since May. I lived there in 2018.
- If I were you, I would wait. If it rains, we will wait.
- The book was written in 1962. People speak English here → English is spoken here.
- Used to: I used to walk. Zvyk, který už neplatí. Didn't use to.
> Tip: the night train, a night train, night trains. Člen podle toho, jestli čtenář ví který.
## Slovosled a shoda
*Věta*
- A little time, a few minutes. Much v záporu a otázce, a lot of v kladné větě je bezpečné.
- Suggest + -ing nebo suggest that. Suggest me to go je chyba.
- Enjoy, avoid, mind, can't help + -ing.
- Want, decide, promise, hope + to.
> Tip: never dávejte před sloveso, ale za am/is/are: She is never late. She never arrives late.
# Doplňování
## I ___ (live) in this flat since May.
= have lived|'ve lived
> Since → present perfect.
## She suggested ___ (take) the night train.
= taking
> Suggest + -ing.
## If I ___ you, I would book earlier.
= were|was
> If I were you.
## These letters must ___ (sign) today.
= be signed
> Must be + příčestí.
## I ___ to get up at five. I don't anymore.
= used
> Used to.
# Kvíz
## She enjoys ___.
- to swim
- [x] swimming
- swim
- swam
> Enjoy + -ing.
## I have ___ finished.
- yet
- [x] just
- since
- ago
> Just before the participle. Yet belongs at the end in negatives.
## English ___ all over the building.
- speaks
- [x] is spoken
- is spoke
- speak
> Trpný rod.
## There isn't ___ time.
- many
- [x] much
- a few
- several
> Time je nepočitatelné: much.
## He asked me where ___.
- did I live
- [x] I lived
- do I lived
- lived I
> Bez inverze.
## You ___ shout. The baby is asleep. It is forbidden.
- don't have to
- [x] mustn't
- might
- used to
> Zákaz: mustn't.

View file

@ -0,0 +1,4 @@
---
nazev: A practice paper
popis: Reading, listening, language in use and a short piece of writing.
---

View file

@ -0,0 +1,143 @@
---
id: anglictina-4-cvicna-maturita
puvodni: en.4.8
nazev: Cvičná maturita
popis: Čtení, poslech, jazyková kompetence a krátká písemná práce.
---
# Výklad
## Tři části, jeden mozek
*Celá zkouška*
- Nejdřív přečtěte zadání psaní, ať víte, kolik času si necháte.
- U čtení nehledejte stejná slova. Hledejte stejný význam.
- U poslechu zápor bývá ta správná odpověď.
- Když váháte mezi dvěma, vyhoďte tu, která přidává informaci v textu neslyšenou.
> Tip: didaktický test míchá poslech, čtení a jazykovou kompetenci. Písemná práce je zvlášť. Tady je zmenšený model.
## Účel, čtenář, rozsah
*Písemná práce*
- Řekněte proč píšete hned v první větě.
- Dejte tam čas a místo, ať text není mlha.
- Jedna věta s because a jedna s if textu pomůžou.
- Na konci otázka, která zní jako opravdový zájem.
> Tip: e-mail kamarádovi a stížnost úřadu se nepíšou stejným jazykem. Tady jde o kamaráda.
# Čtení
The town library now lends tools as well as books. Hammers, sewing machines and a cake tin can be borrowed for a week. The idea came from a librarian who was tired of people buying things they would use once. She said the workshop had been visited by more teenagers than the reading room. Critics argue that a library should stay quiet. She replies that a library should be useful. If the experiment works, other branches will copy it. Users have to return each object clean, and they must not lend it to anyone else.
## What can people borrow besides books?
- Cars
- [x] Tools
- Flats
- Tickets to Berlin
> Hammers, sewing machines, a cake tin.
## Why did the idea start?
- [x] People were buying things they would use once
- The reading room was too popular
- Teenagers hated books
- The tools were illegal
> buying things they would use once.
## Who has visited the workshop more, according to her?
- Critics
- [x] Teenagers, more than the reading room
- Other branches
- Nobody
> more teenagers than the reading room.
## What must users not do?
- Return the object
- Clean it
- [x] Lend it to someone else
- Visit the library
> must not lend it to anyone else.
# Poslech
Welcome to the night-train podcast. The 22:40 to Berlin has been delayed by forty minutes because a tree is on the line near Ústí. Passengers who already have a seat can wait in carriage four, where tea is being served. If you have not checked in, please do it on your phone. We would be grateful if you kept the corridor clear. The delay might be shorter. We will know more at ten.
## How long is the delay?
- 14 minutes
- [x] 40 minutes
- 4 hours
- 22 minutes
> forty minutes.
## Why?
- Snow
- [x] A tree on the line
- A missing driver
- A festival
> a tree is on the line.
## Where can passengers with a seat wait?
- [x] Carriage four
- The airport
- Ústí station only
- The corridor
> carriage four.
## What should people without a check-in do?
- Buy tea
- [x] Check in on their phone
- Leave the train
- Call the mayor
> do it on your phone.
# Psaní
Write at least 45 words to a friend. Invite them to borrow something from a library of things. Use because and if.
## Vzorová odpověď
Hi Adam, the library now lends tools, and I think you would like it because you always need a drill for one afternoon. If you come on Saturday, I will show you how it works. You have to bring your card and return everything clean. We could borrow a cake tin and bake something after. Let me know if you are free.
## Musí obsahovat
- because
- if
## Minimum slov
45
# Kvíz
## Tea ___ in carriage four.
- serves
- [x] is being served
- is serving
- has serve
> Průběhový trpný rod.
## We would be grateful if you ___ the corridor clear.
- keep
- [x] kept
- keeping
- to keep
> Would be grateful if + minulý tvar.
## She said the workshop ___ by more teenagers.
- visited
- [x] had been visited
- has visit
- is visiting
> Had been visited.
## Users ___ return the tools clean.
- [x] have to
- must to
- don't must
- are have
> Have to.