mirror of
https://github.com/pepaskopec-blip/Graduately.git
synced 2026-10-27 15:14:35 +00:00
Unit 2 Vocabulary
This commit is contained in:
parent
a4f6f9da0e
commit
c1a4edaa67
4 changed files with 261 additions and 11 deletions
|
|
@ -1156,13 +1156,7 @@ const TypedQ trans_p15[] = {
|
|||
{"Auf Wiedersehen!", "na shledanou|na viděnou|goodbye", "Na shledanou!"},
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
const char *header; /* i18n key, e.g. "Strana 10" */
|
||||
const TypedQ *rows;
|
||||
int n;
|
||||
} TransSection;
|
||||
|
||||
static const TransSection trans_sections[] = {
|
||||
const TransSection u1_trans_sections[] = {
|
||||
{"Strana 10", trans_p10, (int)G_N_ELEMENTS(trans_p10)},
|
||||
{"Strana 11", trans_p11, (int)G_N_ELEMENTS(trans_p11)},
|
||||
{"Strana 12", trans_p12, (int)G_N_ELEMENTS(trans_p12)},
|
||||
|
|
@ -1170,6 +1164,7 @@ static const TransSection trans_sections[] = {
|
|||
{"Strana 14", trans_p14, (int)G_N_ELEMENTS(trans_p14)},
|
||||
{"Strana 15", trans_p15, (int)G_N_ELEMENTS(trans_p15)},
|
||||
};
|
||||
const int u1_trans_sections_n = (int)G_N_ELEMENTS(u1_trans_sections);
|
||||
|
||||
typedef struct {
|
||||
UnitCtx *unit;
|
||||
|
|
@ -1296,8 +1291,8 @@ GtkWidget *build_translate(UnitCtx *unit) {
|
|||
int total = 0;
|
||||
int k = 0;
|
||||
|
||||
for (guint s = 0; s < G_N_ELEMENTS(trans_sections); s++)
|
||||
total += trans_sections[s].n;
|
||||
for (int s = 0; s < unit->n_trans_sections; s++)
|
||||
total += unit->trans_sections[s].n;
|
||||
|
||||
ctx->unit = unit;
|
||||
ctx->ex_num = unit->branch_ex;
|
||||
|
|
@ -1307,8 +1302,8 @@ GtkWidget *build_translate(UnitCtx *unit) {
|
|||
ctx->headers = g_new0(const char *, total);
|
||||
ctx->order = g_new0(int, total);
|
||||
|
||||
for (guint s = 0; s < G_N_ELEMENTS(trans_sections); s++) {
|
||||
const TransSection *sec = &trans_sections[s];
|
||||
for (int s = 0; s < unit->n_trans_sections; s++) {
|
||||
const TransSection *sec = &unit->trans_sections[s];
|
||||
|
||||
for (int i = 0; i < sec->n; i++, k++) {
|
||||
ctx->qs[k] = sec->rows[i];
|
||||
|
|
|
|||
233
exercise_u2.c
233
exercise_u2.c
|
|
@ -1305,3 +1305,236 @@ GtkWidget *u2ex19(UnitCtx *unit) {
|
|||
s03_rows, G_N_ELEMENTS(s03_rows), NULL, TRUE);
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
/* Unit 2 vocabulary (off-path Vokabeltraining branch) */
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
const TypedQ u2_trans_p22[] = {
|
||||
{"arbeiten (Infinitiv)", "pracovat|pracuje|to work", "pracovat"},
|
||||
{"das Auto, -s", "auto|car", "auto"},
|
||||
{"brauchen (Infinitiv)", "potřebovat|potřebuje|to need", "potřebovat"},
|
||||
{"die Britin, -nen", "britka|british woman", "Britka"},
|
||||
{"britisch", "britský|british", "britský"},
|
||||
{"deutsch", "německý|german", "německý"},
|
||||
{"das Deutsch",
|
||||
"němčina|německy|němčina, německy|german", "němčina, německy"},
|
||||
{"die Eisschnelläuferin, -nen",
|
||||
"rychlobruslařka|speed skater", "rychlobruslařka"},
|
||||
{"fahren (Infinitiv)", "jezdit|jet|řídit|to drive|to go", "jezdit"},
|
||||
{"Er fährt gern Auto.",
|
||||
"rád řídí auto|rád jezdí autem|he likes driving a car",
|
||||
"Rád řídí auto."},
|
||||
{"Frankreich", "francie|france", "Francie"},
|
||||
{"für", "pro|za|for", "pro, za"},
|
||||
{"der Fußballspieler", "fotbalista|footballer|football player",
|
||||
"fotbalista"},
|
||||
{"das Jahrhunderttalent, -e",
|
||||
"talent století|talent of the century", "talent století"},
|
||||
{"das Kind, -er", "dítě|child", "dítě"},
|
||||
{"lesen (Infinitiv)", "číst|to read", "číst"},
|
||||
{"das Model, -s", "model|modelka|model, modelka", "model, modelka"},
|
||||
{"die Nummer, -n", "číslo|number", "číslo"},
|
||||
{"die Schauspielerin, -nen", "herečka|actress", "herečka"},
|
||||
{"der Schüler, -", "žák|pupil|schoolboy", "žák"},
|
||||
{"die Sportinitiative, -n",
|
||||
"sportovní iniciativa|sports initiative", "sportovní iniciativa"},
|
||||
{"sprechen (Infinitiv)", "mluvit|to speak", "mluvit"},
|
||||
{"Sie spricht Englisch.",
|
||||
"mluví anglicky|ona mluví anglicky|she speaks english",
|
||||
"Mluví anglicky."},
|
||||
{"der Trainer, -", "trenér|coach|trainer", "trenér"},
|
||||
};
|
||||
|
||||
const TypedQ u2_trans_p23[] = {
|
||||
{"besuchen (Infinitiv)", "navštěvovat|navštívit|to visit",
|
||||
"navštěvovat, navštívit"},
|
||||
{"Er besucht das Gymnasium.",
|
||||
"chodí na gymnázium|navštěvuje gymnázium|he attends grammar school",
|
||||
"Chodí na gymnázium."},
|
||||
{"dort", "tam|there", "tam"},
|
||||
{"dreifach", "trojnásobný|threefold|triple", "trojnásobný"},
|
||||
{"gewinnen (Infinitiv)", "vyhrát|vyhrávat|to win", "vyhrát, vyhrávat"},
|
||||
{"die Goldmedaille, -n", "zlatá medaile|gold medal", "zlatá medaile"},
|
||||
{"das Gymnasium, Gymnasien", "gymnázium|grammar school", "gymnázium"},
|
||||
{"heute", "dnes|dneska|today", "dnes"},
|
||||
{"das Kroatisch",
|
||||
"chorvatština|chorvatsky|chorvatština, chorvatsky|croatian",
|
||||
"chorvatština, chorvatsky"},
|
||||
{"leben (Infinitiv)", "žít|to live", "žít"},
|
||||
{"Sie lebt in Österreich.", "žije v rakousku|she lives in austria",
|
||||
"Žije v Rakousku."},
|
||||
{"die Muttersprache, -n", "mateřský jazyk|mother tongue",
|
||||
"mateřský jazyk"},
|
||||
{"oft", "často|often", "často"},
|
||||
{"Österreich", "rakousko|austria", "Rakousko"},
|
||||
{"die Rad(renn)fahrerin, -nen", "cyklistka|cyclist", "cyklistka"},
|
||||
{"das Spanisch",
|
||||
"španělština|španělsky|španělština, španělsky|spanish",
|
||||
"španělština, španělsky"},
|
||||
{"die Sportlerin, -nen", "sportovkyně|sportswoman|athlete",
|
||||
"sportovkyně"},
|
||||
{"sportlich", "sportovní|sporty", "sportovní"},
|
||||
{"tschechisch", "český|czech", "český"},
|
||||
{"das Tschechisch",
|
||||
"čeština|česky|čeština, česky|czech", "čeština, česky"},
|
||||
};
|
||||
|
||||
const TypedQ u2_trans_p24[] = {
|
||||
{"das Amerika", "amerika|america", "Amerika"},
|
||||
{"die Assistentin, -nen", "asistentka|assistant", "asistentka"},
|
||||
{"der Beruf, -e", "povolání|profese|job|profession", "povolání"},
|
||||
{"Was ist er von Beruf?",
|
||||
"jaké má povolání|čím je|what is his job", "Jaké má povolání?"},
|
||||
{"Deutschland", "německo|germany", "Německo"},
|
||||
{"England", "anglie|england", "Anglie"},
|
||||
{"die Flagge, -n", "vlajka|flag", "vlajka"},
|
||||
{"Griechenland", "řecko|greece", "Řecko"},
|
||||
{"das Griechisch",
|
||||
"řečtina|řecky|řečtina, řecky|greek", "řečtina, řecky"},
|
||||
{"Großbritannien", "velká británie|great britain", "Velká Británie"},
|
||||
{"die Herkunft", "původ|origin", "původ"},
|
||||
{"Italien", "itálie|italy", "Itálie"},
|
||||
{"das Italienisch",
|
||||
"italština|italsky|italština, italsky|italian", "italština, italsky"},
|
||||
{"Kroatien", "chorvatsko|croatia", "Chorvatsko"},
|
||||
{"das Land, Länder", "země|stát|country", "země, stát"},
|
||||
{"der Lehrer, -", "učitel|teacher", "učitel"},
|
||||
{"die Lehrerin, -nen", "učitelka|teacher", "učitelka"},
|
||||
{"der Manager, -", "manažer|manager", "manažer"},
|
||||
{"Polen", "polsko|poland", "Polsko"},
|
||||
{"das Polnisch",
|
||||
"polština|polsky|polština, polsky|polish", "polština, polsky"},
|
||||
{"das Russisch",
|
||||
"ruština|rusky|ruština, rusky|russian", "ruština, rusky"},
|
||||
{"Russland", "rusko|russia", "Rusko"},
|
||||
{"die Schweiz", "švýcarsko|switzerland", "Švýcarsko"},
|
||||
{"die Slowakei", "slovensko|slovakia", "Slovensko"},
|
||||
{"das Slowakisch",
|
||||
"slovenština|slovensky|slovenština, slovensky|slovak",
|
||||
"slovenština, slovensky"},
|
||||
{"Spanien", "španělsko|spain", "Španělsko"},
|
||||
{"die Sprache, -n", "jazyk|řeč|language", "jazyk, řeč"},
|
||||
{"der Student, -en", "student|student", "student"},
|
||||
{"die Studentin, -nen", "studentka|student", "studentka"},
|
||||
{"Tschechien", "česko|czechia", "Česko"},
|
||||
{"die Türkei", "turecko|turkey", "Turecko"},
|
||||
{"das Türkisch",
|
||||
"turečtina|turecky|turečtina, turecky|turkish", "turečtina, turecky"},
|
||||
{"das Ungarisch",
|
||||
"maďarština|maďarsky|maďarština, maďarsky|hungarian",
|
||||
"maďarština, maďarsky"},
|
||||
{"Ungarn", "maďarsko|hungary", "Maďarsko"},
|
||||
{"die Verkäuferin, -nen", "prodavačka|shop assistant|saleswoman",
|
||||
"prodavačka"},
|
||||
{"welcher/welche/welches", "jaký|jaká|jaké|which", "jaký/jaká/jaké"},
|
||||
{"Welche Sprachen spricht sie?",
|
||||
"jakými jazyky mluví|které jazyky mluví|which languages does she speak",
|
||||
"Jakými jazyky mluví?"},
|
||||
{"super", "super|skvělý|great|super, skvělý", "super, skvělý"},
|
||||
{"wenig", "málo|little|few", "málo"},
|
||||
{"ein wenig", "trochu|a little|a bit", "trochu"},
|
||||
{"das Wort, Wörter", "slovo|word", "slovo"},
|
||||
};
|
||||
|
||||
const TypedQ u2_trans_p25[] = {
|
||||
{"das Abitur, -e", "maturita|a-levels", "maturita"},
|
||||
{"der Austausch, -e", "výměna|exchange", "výměna"},
|
||||
{"ein bisschen", "trochu|a bit|a little", "trochu"},
|
||||
{"finden (Infinitiv)",
|
||||
"najít|považovat|shledávat|myslet si|to find",
|
||||
"najít, považovat"},
|
||||
{"Sie findet den Kurs...",
|
||||
"kurz se jí líbí|kurz shledává skvělým|she likes the course",
|
||||
"Kurz se jí líbí. (Kurz shledává skvělým.)"},
|
||||
{"interessant", "zajímavý|interesting", "zajímavý"},
|
||||
{"der Kurs, -e", "kurz|course", "kurz"},
|
||||
{"leider", "bohužel|unfortunately", "bohužel"},
|
||||
{"mein/meine/mein", "můj|moje|my", "můj/moje/moje"},
|
||||
{"der Mensch, -en", "člověk|human|person", "člověk"},
|
||||
{"die Mutter, Mütter", "matka|mother", "matka"},
|
||||
{"noch", "ještě|still", "ještě"},
|
||||
{"Portugal", "portugalsko|portugal", "Portugalsko"},
|
||||
{"das Portugiesisch",
|
||||
"portugalština|portugalsky|portugalština, portugalsky|portuguese",
|
||||
"portugalština, portugalsky"},
|
||||
{"Schweden", "švédsko|sweden", "Švédsko"},
|
||||
{"das Schwedisch",
|
||||
"švédština|švédsky|švédština, švédsky|swedish", "švédština, švédsky"},
|
||||
{"sehr", "velmi|very", "velmi"},
|
||||
{"nicht sehr gut", "ne moc dobře|not very well", "ne moc dobře"},
|
||||
{"studieren (Infinitiv)", "studovat|to study", "studovat"},
|
||||
{"das Südamerika", "jižní amerika|south america", "Jižní Amerika"},
|
||||
{"die USA (mn. č.)", "usa|united states|spojené státy", "USA"},
|
||||
{"viel", "hodně|much|a lot", "hodně"},
|
||||
{"wie viel", "kolik|how much|how many", "kolik"},
|
||||
};
|
||||
|
||||
const TypedQ u2_trans_p26a[] = {
|
||||
{"Deutscher/Deutsche", "němec|němka|němec/němka", "Němec/Němka"},
|
||||
{"Engländer/Engländerin",
|
||||
"angličan|angličanka|angličan/angličanka", "Angličan/Angličanka"},
|
||||
{"Franzose/Französin",
|
||||
"francouz|francouzka|francouz/francouzka", "Francouz/Francouzka"},
|
||||
{"Italiener/Italienerin", "ital|italka|ital/italka", "Ital/Italka"},
|
||||
{"die Nationalität, -en", "národnost|nationality", "národnost"},
|
||||
{"Österreicher/Österreicherin",
|
||||
"rakušan|rakušanka|rakušan/rakušanka", "Rakušan/Rakušanka"},
|
||||
{"Russe/Russin", "rus|ruska|rus/ruska", "Rus/Ruska"},
|
||||
{"Schweizer/Schweizerin",
|
||||
"švýcar|švýcarka|švýcar/švýcarka", "Švýcar/Švýcarka"},
|
||||
{"Slowake/Slowakin", "slovák|slovenka|slovák/slovenka",
|
||||
"Slovák/Slovenka"},
|
||||
{"Spanier/Spanierin", "španěl|španělka|španěl/španělka",
|
||||
"Španěl/Španělka"},
|
||||
{"Tscheche/Tschechin", "čech|češka|čech/češka", "Čech/Češka"},
|
||||
};
|
||||
|
||||
const TypedQ u2_trans_p26b[] = {
|
||||
{"dreißig", "30|třicet", "třicet (30)"},
|
||||
{"vierzig", "40|čtyřicet", "čtyřicet (40)"},
|
||||
{"fünfzig", "50|padesát", "padesát (50)"},
|
||||
{"sechzig", "60|šedesát", "šedesát (60)"},
|
||||
{"siebzig", "70|sedmdesát", "sedmdesát (70)"},
|
||||
{"achtzig", "80|osmdesát", "osmdesát (80)"},
|
||||
{"neunzig", "90|devadesát", "devadesát (90)"},
|
||||
{"(ein)hundert", "100|sto", "sto (100)"},
|
||||
{"(ein)tausend", "1000|tisíc", "tisíc (1000)"},
|
||||
};
|
||||
|
||||
const TypedQ u2_trans_p27[] = {
|
||||
{"das Afrika", "afrika|africa", "Afrika"},
|
||||
{"die Arbeit, -en", "práce|work|job", "práce"},
|
||||
{"Asien", "asie|asia", "Asie"},
|
||||
{"das Australien", "austrálie|australia", "Austrálie"},
|
||||
{"beginnen (Infinitiv)", "začít|začínat|to begin|to start",
|
||||
"začít, začínat"},
|
||||
{"danke", "děkuji|díky|thanks|thank you", "děkuji, díky"},
|
||||
{"das Europa", "evropa|europe", "Evropa"},
|
||||
{"ganz", "celý|whole", "celý"},
|
||||
{"gehen (Infinitiv)", "jít|chodit|to go", "jít"},
|
||||
{"Wie geht es Ihnen?", "jak se máte|how are you", "Jak se máte?"},
|
||||
{"Wie geht es dir?", "jak se máš|how are you", "Jak se máš?"},
|
||||
{"genau", "přesně|exactly", "přesně"},
|
||||
{"morgen", "zítra|tomorrow", "zítra"},
|
||||
{"nur", "jen|only", "jen"},
|
||||
{"der Rekord, -e", "rekord|record", "rekord"},
|
||||
{"schon", "již|už|already", "již, už"},
|
||||
{"das Semester, -", "semestr|semester", "semestr"},
|
||||
{"viel", "hodně|much|a lot", "hodně"},
|
||||
{"wie viel", "kolik|how much|how many", "kolik"},
|
||||
{"die Welt", "svět|world", "svět"},
|
||||
{"aus der ganzen Welt", "z celého světa|from all over the world",
|
||||
"z celého světa"},
|
||||
};
|
||||
|
||||
const TransSection u2_trans_sections[] = {
|
||||
{"Strana 22", u2_trans_p22, (int)G_N_ELEMENTS(u2_trans_p22)},
|
||||
{"Strana 23", u2_trans_p23, (int)G_N_ELEMENTS(u2_trans_p23)},
|
||||
{"Strana 24", u2_trans_p24, (int)G_N_ELEMENTS(u2_trans_p24)},
|
||||
{"Strana 25", u2_trans_p25, (int)G_N_ELEMENTS(u2_trans_p25)},
|
||||
{"Strana 26", u2_trans_p26a, (int)G_N_ELEMENTS(u2_trans_p26a)},
|
||||
{"Strana 26", u2_trans_p26b, (int)G_N_ELEMENTS(u2_trans_p26b)},
|
||||
{"Strana 27", u2_trans_p27, (int)G_N_ELEMENTS(u2_trans_p27)},
|
||||
};
|
||||
const int u2_trans_sections_n = (int)G_N_ELEMENTS(u2_trans_sections);
|
||||
|
||||
|
|
|
|||
10
main.c
10
main.c
|
|
@ -37,6 +37,16 @@ void unit_meta_init(void) {
|
|||
units[0].branch_name = "Vokabeltraining";
|
||||
units[0].branch_target = "u1vocab";
|
||||
units[0].branch_ex = MAX_UNIT_EX;
|
||||
units[0].trans_sections = u1_trans_sections;
|
||||
units[0].n_trans_sections = u1_trans_sections_n;
|
||||
|
||||
/* Same vocabulary-training branch for unit 2 ("Aus aller Welt"). */
|
||||
units[1].has_branch = TRUE;
|
||||
units[1].branch_name = "Vokabeltraining";
|
||||
units[1].branch_target = "u2vocab";
|
||||
units[1].branch_ex = MAX_UNIT_EX;
|
||||
units[1].trans_sections = u2_trans_sections;
|
||||
units[1].n_trans_sections = u2_trans_sections_n;
|
||||
}
|
||||
|
||||
void unit_configure(int idx, const char *const *names, int n) {
|
||||
|
|
|
|||
12
maturita.h
12
maturita.h
|
|
@ -86,6 +86,7 @@ typedef enum {
|
|||
LANG_CS = 0,
|
||||
LANG_EN
|
||||
} UiLang;
|
||||
typedef struct TransSection TransSection; /* vocabulary word list for a branch */
|
||||
typedef struct {
|
||||
unsigned crust;
|
||||
unsigned base;
|
||||
|
|
@ -145,6 +146,8 @@ typedef struct {
|
|||
GtkWidget *branch_icon;
|
||||
double branch_cx;
|
||||
double branch_cy;
|
||||
const struct TransSection *trans_sections; /* branch vocabulary content */
|
||||
int n_trans_sections;
|
||||
} UnitCtx;
|
||||
typedef struct { double r, g, b; } Rgb;
|
||||
typedef struct {
|
||||
|
|
@ -337,6 +340,11 @@ typedef struct {
|
|||
const char *answers; /* accepted answers separated by '|' */
|
||||
const char *meaning; /* i18n key of the revealed meaning or NULL */
|
||||
} TypedQ;
|
||||
struct TransSection {
|
||||
const char *header; /* page label shown above the word, e.g. "Strana 22" */
|
||||
const TypedQ *rows;
|
||||
int n;
|
||||
};
|
||||
typedef struct {
|
||||
const TypedQ *qs;
|
||||
int n;
|
||||
|
|
@ -606,6 +614,10 @@ extern const TypedQ g06_rows[];
|
|||
extern const TypedQ g07_rows[];
|
||||
extern const TypedQ g11_rows[];
|
||||
extern const TypedQ s03_rows[];
|
||||
extern const TransSection u1_trans_sections[];
|
||||
extern const int u1_trans_sections_n;
|
||||
extern const TransSection u2_trans_sections[];
|
||||
extern const int u2_trans_sections_n;
|
||||
extern const VerbQ g01_peter[];
|
||||
extern const VerbQ g01_jana[];
|
||||
extern const char *g01_pool[];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue