Cover datagram structure, key header fields, protocol numbers and fragmentation. Co-authored-by: Cursor <cursoragent@cursor.com>
1339 lines
67 KiB
C
1339 lines
67 KiB
C
#include "maturita.h"
|
||
|
||
/* ------------------------------------------------------------------ */
|
||
/* i18n */
|
||
/* ------------------------------------------------------------------ */
|
||
|
||
|
||
void ex4_fill_sample(GtkWidget *label);
|
||
|
||
GArray *i18n_binds;
|
||
|
||
|
||
const TrEntry tr_ui[] = {
|
||
{"back", "Zpět", "Back"},
|
||
{"settings", "Nastavení", "Settings"},
|
||
{"settings_title", "Nastavení", "Settings"},
|
||
{"mode", "REŽIM", "MODE"},
|
||
{"mode_dark", "Tmavý", "Dark"},
|
||
{"mode_light", "Světlý", "Light"},
|
||
{"theme", "TÉMA", "THEME"},
|
||
{"language", "JAZYK", "LANGUAGE"},
|
||
{"welcome_body",
|
||
"maturita.C je vzdělávací program pro studenty středních škol a "
|
||
"gymnázií na přípravu k maturitě.\n\n"
|
||
"Program je napsaný v Céčku studentama ze SSŠVT!",
|
||
"maturita.C is an educational app for high-school and gymnasium "
|
||
"students to prepare for their maturita exam.\n\n"
|
||
"The program is written in C by students from SSŠVT!"},
|
||
{"continue", "Pokračuj", "Continue"},
|
||
{"roadmap_title", "Učební plán", "Learning path"},
|
||
{"roadmap_sub", "Vyberte jednotku na cestě a začněte procvičovat.",
|
||
"Pick a unit on the path and start practicing."},
|
||
{"unit1_sub", "Vyberte cvičení a dokončete je.",
|
||
"Choose an exercise and complete it."},
|
||
{"check", "Zkontrolovat", "Check"},
|
||
{"finish", "Dokončit", "Finish"},
|
||
{"show_sample", "Ukázat vzor", "Show sample"},
|
||
{"your_answer", "Vaše odpověď…", "Your answer…"},
|
||
{"feedback_ok", "Výborně!", "Great!"},
|
||
{"feedback_retry", "Ještě to není správně. Zkuste to znovu.",
|
||
"Not quite right yet. Try again."},
|
||
{"feedback_retry_short", "Ještě to není správně.", "Not quite right yet."},
|
||
{"feedback_sentences", "Některé věty nejsou správně. Zkuste to znovu.",
|
||
"Some sentences are not correct. Try again."},
|
||
{"tip_ss", "Písmeno „ß“ se dá na klávesnici zaměnit za „ss“!",
|
||
"You can type “ss” instead of “ß” on the keyboard!"},
|
||
{"hint_umlauts",
|
||
"Na klávesnici nemáte německé znaky? Můžete psát ä jako ae, ö jako oe, "
|
||
"ü jako ue a ß jako ss.",
|
||
"No German keyboard? You can type ä as ae, ö as oe, ü as ue and ß as "
|
||
"ss."},
|
||
{"sample_fmt", "Otázka: %s\nVzor: %s (česky: %s)",
|
||
"Question: %s\nSample: %s (English: %s)"},
|
||
{"sub_dialog", "Doplňte chybějící slova v dialogu.",
|
||
"Fill in the missing words in the dialogue."},
|
||
{"sub_assembly", "Přetáhněte slova do správného pořadí.",
|
||
"Drag the words into the correct order."},
|
||
{"sub_choice_num", "Vyberte správnou číslovku.",
|
||
"Choose the correct numeral."},
|
||
{"sub_free", "Odpovězte vlastními slovy, poté klikněte na Dokončit.",
|
||
"Answer in your own words, then click Finish."},
|
||
{"sub_zahlen", "Vyberte správné slovo pro dané číslo.",
|
||
"Choose the correct word for the given number."},
|
||
{"sub_wieviel", "Spočítejte předměty a vyberte počet.",
|
||
"Count the items and choose the amount."},
|
||
{"sub_reihe", "Doplňte chybějící číslovku.",
|
||
"Fill in the missing numeral."},
|
||
{"sub_verb", "Vyberte správný tvar slovesa.",
|
||
"Choose the correct verb form."},
|
||
{"sub_wer", "Vyberte správné tázací slovo.",
|
||
"Choose the correct question word."},
|
||
{"sub_bild", "Vyberte správný tvar slovesa podle obrázku.",
|
||
"Choose the correct verb form for the picture."},
|
||
{"sub_gruss", "Roztřiďte pozdravy na pozdravy a rozloučení.",
|
||
"Sort the phrases into greetings and farewells."},
|
||
{"sub_land", "Přiřaďte symboly ke správné zemi.",
|
||
"Match the symbols to the correct country."},
|
||
{"Vokabeltraining", NULL, "Vocabulary training"},
|
||
{"sub_translate",
|
||
"Přeložte slovo. Špatná odpověď se vrátí na konec.",
|
||
"Translate the word. Wrong answers come back at the end."},
|
||
{"trans_wrong", "Špatně. Správně: %s", "Wrong. Correct: %s"},
|
||
{"trans_incomplete", "Nepřesné – něco chybí.", "Almost – something is missing."},
|
||
{"trans_progress", "Hotovo: %d / %d", "Done: %d / %d"},
|
||
{"trans_done", "Hotovo! Zvládl(a) jsi všechna slova.",
|
||
"Done! You mastered all the words."},
|
||
{"assign_hint",
|
||
"Vyberte skupinu a klikněte na kartu. Kliknutím na kartu ve skupině "
|
||
"ji vrátíte zpět.",
|
||
"Pick a group and click a card. Click a card inside a group to send "
|
||
"it back."},
|
||
{"unit2_sub", "Vyberte cvičení a dokončete je.",
|
||
"Choose an exercise and complete it."},
|
||
{"Bei uns zu Hause", "Bei uns zu Hause", "At Home with Us"},
|
||
{"unit3_sub", "Vyberte cvičení a dokončete je.",
|
||
"Choose an exercise and complete it."},
|
||
{"sub3_pair", "Přiřaďte každému slovu jeho protějšek.",
|
||
"Match each word with its counterpart."},
|
||
{"sub3_poss", "Doplňte přivlastňovací zájmena (1. pád).",
|
||
"Fill in the possessive pronouns (nominative)."},
|
||
{"sub3_haustier", "Doplňte ein/kein ve správném tvaru.",
|
||
"Fill in ein/kein in the correct form."},
|
||
{"sub3_buchst", "Doplňte chybějící písmena.",
|
||
"Fill in the missing letters."},
|
||
{"sub3_marco", "Doplňte slova z nabídky.",
|
||
"Fill in the words from the box."},
|
||
{"sub3_sort", "Roztřiďte slova do dvou skupin.",
|
||
"Sort the words into two groups."},
|
||
{"sub3_tabelle", "Doplňte přivlastňovací zájmena do tabulky.",
|
||
"Fill the possessive pronouns into the table."},
|
||
{"sub3_akk", "Doplňte přivlastňovací zájmena (4. pád).",
|
||
"Fill in the possessive pronouns (accusative)."},
|
||
{"sub3_nicht", "Vyberte kein/keine/keinen/nicht.",
|
||
"Choose kein/keine/keinen/nicht."},
|
||
{"sub3_satz", "Sestavte správné věty.",
|
||
"Build the correct sentences."},
|
||
{"sub3_sehen", "Napište větu „Ich sehe…“.",
|
||
"Write an “Ich sehe…” sentence."},
|
||
{"sub3_wem", "Komu to patří? Doplňte zájmeno.",
|
||
"Whose is it? Fill in the pronoun."},
|
||
{"sub3_gibt", "Doplňte „Es gibt“ + ein/eine/einen.",
|
||
"Fill in “Es gibt” + ein/eine/einen."},
|
||
{"sub3_saetze", "Doplňte věty podle vzoru.",
|
||
"Complete the sentences following the example."},
|
||
{"sub3_wochen", "Doplňte chybějící písmena.",
|
||
"Fill in the missing letters."},
|
||
{"wordbank", "Nabídka slov:", "Word bank:"},
|
||
{"sample_line", "Příklad: %s", "Sample: %s"},
|
||
{"sub_verben", "Doplňte sloveso ve správném tvaru.",
|
||
"Fill in the verb in the correct form."},
|
||
{"sub_ausin", "Vyberte správnou předložku: aus nebo in.",
|
||
"Choose the correct preposition: aus or in."},
|
||
{"sub_sprich", "Doplňte sloveso „sprechen“.",
|
||
"Fill in the verb “sprechen”."},
|
||
{"sub_nation", "Doplňte národnost – použijte slova z nabídky.",
|
||
"Fill in the nationality – use the words in the box."},
|
||
{"sub_woher", "Odkud lidé pocházejí? Napište zemi.",
|
||
"Where are the people from? Type the country."},
|
||
{"sub_laender", "Doplňte chybějící písmena v názvech zemí.",
|
||
"Type the full country name (the missing letters are shown as _)."},
|
||
{"sub_verb2", "Vyberte správný tvar slovesa.",
|
||
"Choose the correct verb form."},
|
||
{"sub_euro", "Napište částku slovy.",
|
||
"Write the amount in words."},
|
||
{"sub_wortsuchen", "Najděte skryté slovo a napište ho.",
|
||
"Find the hidden word and type it."},
|
||
{"sub_ordne", "Přiřaďte správné tázací slovo a odpověď.",
|
||
"Match each phrase with the right question word and answer."},
|
||
{"sub_luecke", "Doplňte chybějící slova do textu.",
|
||
"Fill the missing words into the text."},
|
||
{"sub_verbinde", "Spojte každé podstatné jméno se správným slovesem.",
|
||
"Match each noun with the right verb."},
|
||
{"sub_zahlpaar", "Spojte čísla s německými slovy.",
|
||
"Match the numbers with the German words."},
|
||
{"sub_steckbrief", "Doplňte údaje o sobě.",
|
||
"Complete the information about yourself."},
|
||
{"sub_berufe", "Hádejte povolání dřív, než bude oběšenec hotový.",
|
||
"Guess each job before the hangman drawing is finished."},
|
||
{"sub_bistdu", "Odpovězte podle vlajky – jakou máte národnost?",
|
||
"Answer according to the flag – what is your nationality?"},
|
||
{"hm_progress", "Slovo %d / %d", "Word %d / %d"},
|
||
{"hm_hint", "Nápověda", "Hint"},
|
||
{"hm_wrong", "Slovo je uhodnuto!", "Word guessed!"},
|
||
{"hm_fail", "Oběšenec! Slovo bylo „%s“.",
|
||
"Hanged! The word was “%s”."},
|
||
{"hm_retry", "Zkusit znovu", "Try again"},
|
||
{"hm_done", "Výborně! Uhodli jste všechna povolání.",
|
||
"Great! You guessed all the jobs."},
|
||
{"hm_guess", "Hádejte písmeno", "Guess a letter"},
|
||
{"stats", "Statistiky", "Statistics"},
|
||
{"stats_title", "Statistiky", "Statistics"},
|
||
{"stats_sub", "Přehled vašeho pokroku.", "Overview of your progress."},
|
||
{"stats_ex_label", "Cvičení", "Exercises"},
|
||
{"stats_pct_label", "Hotovo", "Done"},
|
||
{"stats_units_label", "Jednotky", "Units"},
|
||
{"stats_section", "Předměty", "Subjects"},
|
||
{"stats_locked", "Zamčeno", "Locked"},
|
||
{"stats_complete", "Hotovo", "Complete"},
|
||
{"stats_ex_fmt", "%d / %d", "%d / %d"},
|
||
{"stats_pct_fmt", "%d %%", "%d %%"},
|
||
{"stats_units_fmt", "%d / %d", "%d / %d"},
|
||
{"subjects_title", "Předměty", "Subjects"},
|
||
{"Český jazyk a literatura", "Český jazyk a literatura",
|
||
"Czech Language and Literature"},
|
||
{"Občanská nauka", "Občanská nauka", "Civics"},
|
||
{"English", "English", "English"},
|
||
{"Deutsch", "Deutsch", "Deutsch"},
|
||
{"Matematika", "Matematika", "Mathematics"},
|
||
{"Fyzika", "Fyzika", "Physics"},
|
||
{"Základy Přírodopisných věd", "Základy Přírodopisných věd",
|
||
"Fundamentals of Natural Sciences"},
|
||
{"Technická grafika", "Technická grafika", "Technical Drawing"},
|
||
{"Prezentační grafika", "Prezentační grafika", "Presentation Graphics"},
|
||
{"Správa počítačových sítí", "Správa počítačových sítí",
|
||
"Computer Network Administration"},
|
||
{"Programování", "Programování", "Programming"},
|
||
{"Technické vybavení", "Technické vybavení", "Computer Hardware"},
|
||
{"Programové vybavení", "Programové vybavení", "Software"},
|
||
{"net_sub", "Vyberte lekci na cestě a začněte procvičovat.",
|
||
"Pick a unit on the path and start practicing."},
|
||
{"net_unit1", "Výpočet IP adres", "IP Address Calculation"},
|
||
{"net_unit1_sub", "4 snímky s postupem a pak cvičení.",
|
||
"4 slides with the method, then an exercise."},
|
||
{"net_ex_title", "Cvičení: výpočet IP adres",
|
||
"Exercise: IP address calculation"},
|
||
{"net_unit2", "Základní pojmy a rozdělení sítí",
|
||
"Basic concepts and network types"},
|
||
{"net_unit2_sub", "5 snímků s pojmy a pak kvíz.",
|
||
"5 slides with the concepts, then a quiz."},
|
||
{"net_ex2_title", "Kvíz: základní pojmy sítí",
|
||
"Quiz: basic networking concepts"},
|
||
{"net_unit3", "Sítě Klient–Server a Cloud",
|
||
"Client–Server networks and Cloud"},
|
||
{"net_unit3_sub", "4 snímky o serverech a cloudu a pak kvíz.",
|
||
"4 slides about servers and cloud, then a quiz."},
|
||
{"net_ex3_title", "Kvíz: klient–server a cloud",
|
||
"Quiz: client–server and cloud"},
|
||
{"net_unit4", "Přenos dat a jeho zabezpečení",
|
||
"Data transmission and security"},
|
||
{"net_unit4_sub", "4 snímky o přenosu a zabezpečení a pak kvíz.",
|
||
"4 slides about transmission and security, then a quiz."},
|
||
{"net_ex4_title", "Kvíz: přenos dat a zabezpečení",
|
||
"Quiz: data transmission and security"},
|
||
{"net_unit5", "Signály a modulace",
|
||
"Signals and modulation"},
|
||
{"net_unit5_sub", "4 snímky o signálech a modulaci a pak kvíz.",
|
||
"4 slides about signals and modulation, then a quiz."},
|
||
{"net_ex5_title", "Kvíz: signály a modulace",
|
||
"Quiz: signals and modulation"},
|
||
{"net_unit6", "Cesta, kanál a okruh",
|
||
"Path, channel and circuit"},
|
||
{"net_unit6_sub", "4 snímky o cestě, kanálu a okruhu a pak kvíz.",
|
||
"4 slides about path, channel and circuit, then a quiz."},
|
||
{"net_ex6_title", "Kvíz: cesta, kanál a okruh",
|
||
"Quiz: path, channel and circuit"},
|
||
{"net_unit7", "Multiplex a směry přenosu",
|
||
"Multiplexing and transmission directions"},
|
||
{"net_unit7_sub", "4 snímky o multiplexu a směrech a pak kvíz.",
|
||
"4 slides about multiplexing and directions, then a quiz."},
|
||
{"net_ex7_title", "Kvíz: multiplex a směry přenosu",
|
||
"Quiz: multiplexing and transmission directions"},
|
||
{"net_unit8", "Přepojování",
|
||
"Switching"},
|
||
{"net_unit8_sub", "4 snímky o přepojování a pak kvíz.",
|
||
"4 slides about switching, then a quiz."},
|
||
{"net_ex8_title", "Kvíz: přepojování",
|
||
"Quiz: switching"},
|
||
{"net_unit9", "Vrstevnaté modely a protokoly",
|
||
"Layered models and protocols"},
|
||
{"net_unit9_sub", "4 snímky o vrstvách a protokolech a pak kvíz.",
|
||
"4 slides about layers and protocols, then a quiz."},
|
||
{"net_ex9_title", "Kvíz: vrstevnaté modely a protokoly",
|
||
"Quiz: layered models and protocols"},
|
||
{"net_unit10", "Model ISO/OSI a TCP/IP",
|
||
"ISO/OSI and TCP/IP models"},
|
||
{"net_unit10_sub", "3 snímky o ISO/OSI a TCP/IP a pak kvíz.",
|
||
"3 slides about ISO/OSI and TCP/IP, then a quiz."},
|
||
{"net_ex10_title", "Kvíz: ISO/OSI a TCP/IP",
|
||
"Quiz: ISO/OSI and TCP/IP"},
|
||
{"net_unit11", "Podrobný rozbor 7 vrstev ISO/OSI",
|
||
"Detailed review of the 7 ISO/OSI layers"},
|
||
{"net_unit11_sub", "8 snímků o jednotlivých vrstvách a pak kvíz.",
|
||
"8 slides about each layer, then a quiz."},
|
||
{"net_ex11_title", "Kvíz: 7 vrstev ISO/OSI",
|
||
"Quiz: 7 ISO/OSI layers"},
|
||
{"net_unit12", "Základy architektury TCP/IP",
|
||
"Basics of TCP/IP architecture"},
|
||
{"net_unit12_sub", "6 snímků o TCP/IP a protokolech a pak kvíz.",
|
||
"6 slides about TCP/IP and protocols, then a quiz."},
|
||
{"net_ex12_title", "Kvíz: architektura TCP/IP",
|
||
"Quiz: TCP/IP architecture"},
|
||
{"net_unit13", "Topologie sítě",
|
||
"Network topologies"},
|
||
{"net_unit13_sub", "4 snímky o sběrnici, hvězdě a kruhu a pak kvíz.",
|
||
"4 slides about bus, star and ring, then a quiz."},
|
||
{"net_ex13_title", "Kvíz: topologie sítě",
|
||
"Quiz: network topologies"},
|
||
{"net_unit14", "Optika",
|
||
"Fiber optics"},
|
||
{"net_unit14_sub", "5 snímků o optických vláknech a pak kvíz.",
|
||
"5 slides about optical fibers, then a quiz."},
|
||
{"net_ex14_title", "Kvíz: optika",
|
||
"Quiz: fiber optics"},
|
||
{"net_unit15", "Ochrana a montáž optiky",
|
||
"Fiber protection and installation"},
|
||
{"net_unit15_sub", "3 snímky o ochraně a montáži a pak kvíz.",
|
||
"3 slides about protection and installation, then a quiz."},
|
||
{"net_ex15_title", "Kvíz: ochrana a montáž optiky",
|
||
"Quiz: fiber protection and installation"},
|
||
{"net_unit16", "Metody přístupu",
|
||
"Access methods"},
|
||
{"net_unit16_sub", "4 snímky o kolizích a CSMA a pak kvíz.",
|
||
"4 slides about collisions and CSMA, then a quiz."},
|
||
{"net_ex16_title", "Kvíz: metody přístupu",
|
||
"Quiz: access methods"},
|
||
{"net_unit17", "Aktivní prvky",
|
||
"Active network devices"},
|
||
{"net_unit17_sub", "7 snímků o hubu, switchi a routeru a pak kvíz.",
|
||
"7 slides about hubs, switches and routers, then a quiz."},
|
||
{"net_ex17_title", "Kvíz: aktivní prvky",
|
||
"Quiz: active network devices"},
|
||
{"net_unit18", "Switch (podrobně)",
|
||
"Switch in detail"},
|
||
{"net_unit18_sub", "5 snímků o CAM a přepínání a pak kvíz.",
|
||
"5 slides about CAM and switching modes, then a quiz."},
|
||
{"net_ex18_title", "Kvíz: switch podrobně",
|
||
"Quiz: switch in detail"},
|
||
{"net_unit19", "Směrování (Routing)",
|
||
"Routing"},
|
||
{"net_unit19_sub", "7 snímků o směrovacích algoritmech a pak kvíz.",
|
||
"7 slides about routing algorithms, then a quiz."},
|
||
{"net_ex19_title", "Kvíz: směrování",
|
||
"Quiz: routing"},
|
||
{"net_unit20", "Směrovač a brána",
|
||
"Router and gateway"},
|
||
{"net_unit20_sub", "7 snímků o routeru a gateway a pak kvíz.",
|
||
"7 slides about routers and gateways, then a quiz."},
|
||
{"net_ex20_title", "Kvíz: směrovač a brána",
|
||
"Quiz: router and gateway"},
|
||
{"net_unit21", "Adresy a rámce v ethernetu",
|
||
"Ethernet addresses and frames"},
|
||
{"net_unit21_sub", "8 snímků o MAC a typech rámců a pak kvíz.",
|
||
"8 slides about MAC and frame types, then a quiz."},
|
||
{"net_ex21_title", "Kvíz: ethernet adresy a rámce",
|
||
"Quiz: Ethernet addresses and frames"},
|
||
{"net_unit22", "Paket IP",
|
||
"IP packet"},
|
||
{"net_unit22_sub", "8 snímků o IP datagramu a hlavičce a pak kvíz.",
|
||
"8 slides about the IP datagram and header, then a quiz."},
|
||
{"net_ex22_title", "Kvíz: paket IP",
|
||
"Quiz: IP packet"},
|
||
{"net_quiz_intro",
|
||
"Vyberte u každé otázky jednu správnou odpověď a stiskněte Zkontrolovat.",
|
||
"Choose one correct answer for each question and press Check."},
|
||
{"net_quiz2_head", "Kvíz k základním pojmům sítí",
|
||
"Quiz on basic networking concepts"},
|
||
{"net_quiz3_head", "Kvíz ke klient–server a cloudu",
|
||
"Quiz on client–server and cloud"},
|
||
{"net_quiz4_head", "Kvíz k přenosu dat a zabezpečení",
|
||
"Quiz on data transmission and security"},
|
||
{"net_quiz5_head", "Kvíz k signálům a modulaci",
|
||
"Quiz on signals and modulation"},
|
||
{"net_quiz6_head", "Kvíz k cestě, kanálu a okruhu",
|
||
"Quiz on path, channel and circuit"},
|
||
{"net_quiz7_head", "Kvíz k multiplexu a směrům přenosu",
|
||
"Quiz on multiplexing and transmission directions"},
|
||
{"net_quiz8_head", "Kvíz k přepojování",
|
||
"Quiz on switching"},
|
||
{"net_quiz9_head", "Kvíz k vrstevnatým modelům a protokolům",
|
||
"Quiz on layered models and protocols"},
|
||
{"net_quiz10_head", "Kvíz k ISO/OSI a TCP/IP",
|
||
"Quiz on ISO/OSI and TCP/IP"},
|
||
{"net_quiz11_head", "Kvíz k 7 vrstvám ISO/OSI",
|
||
"Quiz on the 7 ISO/OSI layers"},
|
||
{"net_quiz12_head", "Kvíz k architektuře TCP/IP",
|
||
"Quiz on TCP/IP architecture"},
|
||
{"net_quiz13_head", "Kvíz k topologiím sítě",
|
||
"Quiz on network topologies"},
|
||
{"net_quiz14_head", "Kvíz k optice",
|
||
"Quiz on fiber optics"},
|
||
{"net_quiz15_head", "Kvíz k ochraně a montáži optiky",
|
||
"Quiz on fiber protection and installation"},
|
||
{"net_quiz16_head", "Kvíz k metodám přístupu",
|
||
"Quiz on access methods"},
|
||
{"net_quiz17_head", "Kvíz k aktivním prvkům",
|
||
"Quiz on active network devices"},
|
||
{"net_quiz18_head", "Kvíz ke switchi podrobně",
|
||
"Quiz on switches in detail"},
|
||
{"net_quiz19_head", "Kvíz ke směrování",
|
||
"Quiz on routing"},
|
||
{"net_quiz20_head", "Kvíz ke směrovači a bráně",
|
||
"Quiz on router and gateway"},
|
||
{"net_quiz21_head", "Kvíz k ethernetovým adresám a rámcům",
|
||
"Quiz on Ethernet addresses and frames"},
|
||
{"net_quiz22_head", "Kvíz k IP paketu",
|
||
"Quiz on the IP packet"},
|
||
{"net_slide_next", "Další", "Next"},
|
||
{"net_slide_prev", "Zpět", "Back"},
|
||
{"net_slide_start", "Přejít na cvičení", "Go to the exercise"},
|
||
{"net_solution", "Ukázat řešení", "Show solution"},
|
||
{"hw_sub", "Vyberte lekci na cestě a začněte procvičovat.",
|
||
"Pick a unit on the path and start practicing."},
|
||
{"hw_unit1", "Architektura počítače", "Computer architecture"},
|
||
{"hw_unit1_sub", "3 snímky o Von Neumannovi a schématu a pak kvíz.",
|
||
"3 slides about von Neumann and the model, then a quiz."},
|
||
{"hw_ex1_title", "Kvíz: architektura počítače",
|
||
"Quiz: computer architecture"},
|
||
{"hw_quiz1_head", "Kvíz k architektuře počítače",
|
||
"Quiz on computer architecture"},
|
||
{"hw_unit2", "Historie počítačů", "History of computers"},
|
||
{"hw_unit2_sub", "6 snímků o generacích počítačů a pak kvíz.",
|
||
"6 slides about computer generations, then a quiz."},
|
||
{"hw_ex2_title", "Kvíz: historie počítačů",
|
||
"Quiz: history of computers"},
|
||
{"hw_quiz2_head", "Kvíz k historii počítačů",
|
||
"Quiz on the history of computers"},
|
||
{"hw_unit3", "Zobrazování dat v počítači", "Data representation"},
|
||
{"hw_unit3_sub", "2 snímky o bitu a bytu a pak kvíz.",
|
||
"2 slides about bits and bytes, then a quiz."},
|
||
{"hw_ex3_title", "Kvíz: zobrazování dat",
|
||
"Quiz: data representation"},
|
||
{"hw_quiz3_head", "Kvíz k zobrazování dat v počítači",
|
||
"Quiz on data representation in computers"},
|
||
{"czech_sub", "Vyberte oblast a začněte procvičovat.",
|
||
"Pick an area and start practicing."},
|
||
{"Literatura", "Literatura", "Literature"},
|
||
{"Mluvnice", "Mluvnice", "Grammar"},
|
||
{"Maturitní četba", "Maturitní četba", "Maturita reading list"},
|
||
{NULL, NULL, NULL}
|
||
};
|
||
|
||
/* Exercise content: the Czech text doubles as the lookup key, so `cs`
|
||
* stays NULL and tr() falls back to the key itself. */
|
||
const TrEntry tr_content[] = {
|
||
{"Ahoj! Jmenuji se Anna.", NULL, "Hi! My name is Anna."},
|
||
{"Ahoj! Jmenuji se Petr.", NULL, "Hi! My name is Petr."},
|
||
{"Jmenuji se Anna.", NULL, "My name is Anna."},
|
||
{"Jmenuji se Petr.", NULL, "My name is Petr."},
|
||
{"Odkud jsi?", NULL, "Where are you from?"},
|
||
{"Odkud pocházíš?", NULL, "Where do you come from?"},
|
||
{"Pocházím z Česka.", NULL, "I come from Czechia."},
|
||
{"Dobré ráno!", NULL, "Good morning!"},
|
||
{"Jak se máš?", NULL, "How are you?"},
|
||
{"Mám se dobře, děkuji.", NULL, "I am fine, thank you."},
|
||
{"Musím jít. Na shledanou!", NULL, "I have to go. Goodbye!"},
|
||
{"Brzy na viděnou!", NULL, "See you soon!"},
|
||
{"Čau!", NULL, "Bye!"},
|
||
{"Jak se jmenuješ?", NULL, "What is your name?"},
|
||
{"Kde bydlíš?", NULL, "Where do you live?"},
|
||
{"Kdo to je?", NULL, "Who is that?"},
|
||
{"Kolik je ti let?", NULL, "How old are you?"},
|
||
{"Je mi šestnáct let.", NULL, "I am sixteen years old."},
|
||
{"Bydlím v Praze.", NULL, "I live in Prague."},
|
||
{"Hraji fotbal.", NULL, "I play football."},
|
||
{"Co rád/a děláš?", NULL, "What do you like to do?"},
|
||
{"Kolik je hodin?", NULL, "What time is it?"},
|
||
{"Na shledanou.", NULL, "Goodbye."},
|
||
{"Moc děkuji.", NULL, "Thank you very much."},
|
||
{"„vierzehn“ = čtrnáct (14)", NULL, "“vierzehn” = fourteen (14)"},
|
||
{"„siebzehn“ = sedmnáct (17)", NULL, "“siebzehn” = seventeen (17)"},
|
||
{"„zwanzig“ = dvacet (20)", NULL, "“zwanzig” = twenty (20)"},
|
||
{"„sechs“ = šest (6)", NULL, "“sechs” = six (6)"},
|
||
{"1 B = 8 b", NULL, "1 B = 8 b"},
|
||
{"2⁸ = 256 hodnot (0–255)", NULL, "2⁸ = 256 values (0–255)"},
|
||
{"Kabely – síť zůstává připojená i po přenosu", NULL,
|
||
"Cables – the network stays connected after transfer"},
|
||
{"WAN = Wide Area Network, např. internet", NULL,
|
||
"WAN = Wide Area Network, e.g. the internet"},
|
||
{"Např. hvězda, kruh, sběrnice", NULL,
|
||
"E.g. star, ring, bus"},
|
||
{"Architektura = topologie + standard", NULL,
|
||
"Architecture = topology + standard"},
|
||
{"Bez centrálního serveru – stanice si sdílejí data a tiskárny", NULL,
|
||
"No central server – stations share data and printers"},
|
||
{"Server řídí a poskytuje služby, má vyšší výkon", NULL,
|
||
"A server controls and provides services; higher performance"},
|
||
{"Ověřují uživatele a povolují přístup ke službám", NULL,
|
||
"They authenticate users and grant access to services"},
|
||
{"Fileserver = souborový server", NULL,
|
||
"Fileserver = file server"},
|
||
{"Jeden server – při výpadku je služba nedostupná", NULL,
|
||
"One server – if it fails, the service is unavailable"},
|
||
{"Více serverů, každý obsluhuje část – vyšší spolehlivost", NULL,
|
||
"Multiple servers, each handles a part – higher reliability"},
|
||
{"Slouží zároveň i jako pracovní stanice", NULL,
|
||
"It also works as a workstation"},
|
||
{"Jen síťové služby – vysoký výkon a bezpečnost, často v racku", NULL,
|
||
"Network services only – high performance and security, often in a rack"},
|
||
{"Obří sálové počítače (IBM, Siemens) pro banky a státní správu", NULL,
|
||
"Huge mainframe computers (IBM, Siemens) for banks and government"},
|
||
{"SaaS = software jako služba, přístup online z libovolného zařízení", NULL,
|
||
"SaaS = software as a service, online access from any device"},
|
||
{"Více bitů najednou po více vodičích; problém jsou přeslechy", NULL,
|
||
"Multiple bits at once over multiple wires; crosstalk is the problem"},
|
||
{"Přeslechy vznikají při delších kabelech a vysokých frekvencích", NULL,
|
||
"Crosstalk occurs on longer cables and at high frequencies"},
|
||
{"Bit po bitu po jednom vodiči – vyšší frekvence i délky", NULL,
|
||
"Bit by bit over one wire – higher frequencies and longer distances"},
|
||
{"Start-bit (0) synchronizuje, Stop-bit (1) ukončuje znak", NULL,
|
||
"Start bit (0) synchronizes, stop bit (1) ends the character"},
|
||
{"Řízeno společným hodinovým signálem a přesným časováním", NULL,
|
||
"Controlled by a shared clock signal and precise timing"},
|
||
{"Nejslabší – přidá bit pro sudý/lichý počet jedniček", NULL,
|
||
"Weakest – adds a bit for even/odd number of ones"},
|
||
{"Součet znaků jako dvojkových čísel", NULL,
|
||
"Sum of characters treated as binary numbers"},
|
||
{"Nejbezpečnější – počítá se z jednotlivých bitů v bloku", NULL,
|
||
"Most secure – computed from individual bits in the block"},
|
||
{"Analogový je spojitý, digitální má diskrétní hodnoty 0 a 1", NULL,
|
||
"Analog is continuous; digital has discrete 0 and 1 values"},
|
||
{"Frekvence f = 1/T, kde T je perioda", NULL,
|
||
"Frequency f = 1/T, where T is the period"},
|
||
{"AM mění amplitudu, FM frekvenci, PM fázi", NULL,
|
||
"AM changes amplitude, FM frequency, PM phase"},
|
||
{"QPSK nese 2 bity v prvku, 256-QAM nese 8 bitů", NULL,
|
||
"QPSK carries 2 bits per symbol, 256-QAM carries 8 bits"},
|
||
{"Modulační rychlost = počet změn signálu za sekundu [Bd/s]", NULL,
|
||
"Modulation rate = number of signal changes per second [Bd/s]"},
|
||
{"Přenosová rychlost = množství informace za sekundu [bit/s]", NULL,
|
||
"Bit rate = amount of information per second [bit/s]"},
|
||
{"Šířka pásma určuje maximální možnou přenosovou rychlost", NULL,
|
||
"Bandwidth determines the maximum possible bit rate"},
|
||
{"Datový spoj umožňuje výměnu informací mezi uzly", NULL,
|
||
"A data link enables information exchange between nodes"},
|
||
{"Fyzické médium: kabely, mikrovlny nebo družice", NULL,
|
||
"Physical medium: cables, microwaves or satellites"},
|
||
{"Kanál je jednosměrný souhrn prostředků pro spojení", NULL,
|
||
"A channel is a one-way set of means for a connection"},
|
||
{"Okruh tvoří dva kanály pro obousměrný přenos", NULL,
|
||
"A circuit is made of two channels for two-way transfer"},
|
||
{"Trunking spojuje více cest do jednoho okruhu", NULL,
|
||
"Trunking joins multiple paths into one circuit"},
|
||
{"Trunking zvyšuje šířku pásma spojením cest", NULL,
|
||
"Trunking increases bandwidth by combining paths"},
|
||
{"Multiplex dělí jeden kanál na více logických podkanálů", NULL,
|
||
"Multiplexing splits one channel into multiple logical subchannels"},
|
||
{"FDM: každému kanálu část frekvenčního pásma", NULL,
|
||
"FDM: each channel gets part of the frequency band"},
|
||
{"TDM: každému kanálu vyhrazený časový slot", NULL,
|
||
"TDM: each channel gets a reserved time slot"},
|
||
{"STDM přiděluje kapacitu dle potřeby, negarantuje 100 %", NULL,
|
||
"STDM allocates capacity on demand and does not guarantee 100%"},
|
||
{"Simplex = jen jeden směr přenosu", NULL,
|
||
"Simplex = only one transmission direction"},
|
||
{"Half-duplex = oběma směry, ale ne současně", NULL,
|
||
"Half-duplex = both directions, but not at the same time"},
|
||
{"Full-duplex = oběma směry současně", NULL,
|
||
"Full-duplex = both directions at the same time"},
|
||
{"Agregace = sdílení kapacity kanálu více uživateli", NULL,
|
||
"Aggregation = sharing channel capacity among multiple users"},
|
||
{"Cesta se vytýčí předem, kapacita je garantována", NULL,
|
||
"The path is set up in advance and capacity is guaranteed"},
|
||
{"Data se dělí na pakety, každý může jít jinou cestou", NULL,
|
||
"Data are split into packets; each may take a different path"},
|
||
{"Výhody: reakce na zátěž a lepší využití kapacity", NULL,
|
||
"Advantages: reaction to load and better capacity use"},
|
||
{"Negarantuje pořadí ani plynulost – nevhodné pro živé video", NULL,
|
||
"Does not guarantee order or smoothness – unsuitable for live video"},
|
||
{"Cesta je předem, prostředky se použijí jen při průchodu paketu", NULL,
|
||
"Path is preset; resources are used only when a packet passes"},
|
||
{"Virtuální spoje zrychlují přenos datagramů", NULL,
|
||
"Virtual circuits speed up datagram transfer"},
|
||
{"Standardizace zajišťuje kompatibilitu mezi výrobci", NULL,
|
||
"Standardization ensures compatibility between vendors"},
|
||
{"Dekompozice rozkládá přenos na jednotlivé vrstvy", NULL,
|
||
"Decomposition splits transmission into individual layers"},
|
||
{"Vrstvy komunikují jen se sousedy přes rozhraní SAP", NULL,
|
||
"Layers communicate only with neighbors through SAP interfaces"},
|
||
{"Protokol = pravidla mezi stejnými vrstvami na různých uzlech", NULL,
|
||
"A protocol is rules between the same layers on different nodes"},
|
||
{"Každá vrstva přidává k datům hlavičku (header)", NULL,
|
||
"Each layer adds a header to the data"},
|
||
{"Rámec = linková, paket = síťová, segment = transportní", NULL,
|
||
"Frame = link, packet = network, segment = transport"},
|
||
{"ISO/OSI má 7 vrstev a je univerzální model", NULL,
|
||
"ISO/OSI has 7 layers and is a universal model"},
|
||
{"V praxi je ISO/OSI pomalejší – spolehlivost řeší každá vrstva", NULL,
|
||
"In practice ISO/OSI is slower – each layer handles reliability"},
|
||
{"TCP/IP zvítězil, protože vycházel ze skutečných potřeb", NULL,
|
||
"TCP/IP won because it came from real-world needs"},
|
||
{"V TCP/IP řeší spolehlivost až vyšší vrstvy", NULL,
|
||
"In TCP/IP, reliability is handled by higher layers"},
|
||
{"Fyzická vrstva přenáší bity a řeší médium", NULL,
|
||
"The physical layer transmits bits and handles the medium"},
|
||
{"Spojová vrstva má podvrstvy MAC a LLC", NULL,
|
||
"The data-link layer has MAC and LLC sublayers"},
|
||
{"Síťová vrstva směruje pakety i bez přímého spojení", NULL,
|
||
"The network layer routes packets even without a direct link"},
|
||
{"Transportní vrstva je jen v koncových uzlech, ne v routerech", NULL,
|
||
"The transport layer exists only in end nodes, not in routers"},
|
||
{"Relační vrstva řídí relace, dialog a synchronizaci", NULL,
|
||
"The session layer manages sessions, dialogue and synchronization"},
|
||
{"Prezentační vrstva formátuje data, komprimuje a šifruje", NULL,
|
||
"The presentation layer formats, compresses and encrypts data"},
|
||
{"Aplikační vrstva je rozhraní pro programy a služby", NULL,
|
||
"The application layer is the interface for programs and services"},
|
||
{"Aplikační TCP/IP = aplikační + prezentační + relační ISO/OSI", NULL,
|
||
"TCP/IP application = ISO/OSI application + presentation + session"},
|
||
{"Síťové rozhraní TCP/IP = linková + fyzická ISO/OSI", NULL,
|
||
"TCP/IP network interface = ISO/OSI data-link + physical"},
|
||
{"U TCP/IP vznikly nejdřív protokoly, až pak model", NULL,
|
||
"With TCP/IP, protocols came first and the model later"},
|
||
{"TCP je spolehlivý a spojovaný", NULL,
|
||
"TCP is reliable and connection-oriented"},
|
||
{"UDP je nespolehlivý a rychlý", NULL,
|
||
"UDP is unreliable and fast"},
|
||
{"HTTP, DNS a SMTP jsou aplikační protokoly", NULL,
|
||
"HTTP, DNS and SMTP are application protocols"},
|
||
{"IP, ICMP a OSPF patří na síťovou (internetovou) vrstvu", NULL,
|
||
"IP, ICMP and OSPF belong to the network (internet) layer"},
|
||
{"Ethernet a PPP patří na vrstvu síťového rozhraní", NULL,
|
||
"Ethernet and PPP belong to the network interface layer"},
|
||
{"Sběrnice: médium sdílí všichni", NULL,
|
||
"Bus: the medium is shared by everyone"},
|
||
{"Sběrnice: nízká bezpečnost a porucha kabelu vyřadí síť", NULL,
|
||
"Bus: low security and a cable fault takes down the network"},
|
||
{"Hvězda: uzly jdou přes hub nebo switch", NULL,
|
||
"Star: nodes connect through a hub or switch"},
|
||
{"Hvězda: porucha kabelu k uzlu nevyřadí celou síť", NULL,
|
||
"Star: a cable fault to one node does not take down the whole network"},
|
||
{"Hvězda používá kroucenou dvoulinku nebo optiku", NULL,
|
||
"Star uses twisted pair or fiber"},
|
||
{"V kruhu zprávy obíhají, dokud nenajdou adresáta", NULL,
|
||
"In a ring, messages circulate until they find the recipient"},
|
||
{"Optika: el. impulsy → světlo (LED/laser) → fotodioda", NULL,
|
||
"Optics: electrical pulses → light (LED/laser) → photodiode"},
|
||
{"Jedno vlákno = jednosměrný přenos; obousměrně dvě vlákna", NULL,
|
||
"One fiber = one-way; two fibers for bidirectional use"},
|
||
{"Nevýhody: náročná montáž a cena prvků/konektorů", NULL,
|
||
"Drawbacks: difficult installation and costly parts/connectors"},
|
||
{"MM: jádro 50/62,5 µm a více vidů", NULL,
|
||
"MM: 50/62.5 µm core and multiple modes"},
|
||
{"SM: jádro 7–10 µm, jeden paprsek, laser", NULL,
|
||
"SM: 7–10 µm core, one beam, laser"},
|
||
{"MM typicky používá levnější LED zdroje", NULL,
|
||
"MM typically uses cheaper LED sources"},
|
||
{"Primární ochrana: 250 µm", NULL,
|
||
"Primary protection: 250 µm"},
|
||
{"Sekundární ochrana: 900 µm", NULL,
|
||
"Secondary protection: 900 µm"},
|
||
{"Těsná sekundární ochrana: svislé instalace", NULL,
|
||
"Tight secondary protection: vertical installs"},
|
||
{"Volná sekundární ochrana: vodorovné instalace", NULL,
|
||
"Loose secondary protection: horizontal installs"},
|
||
{"Montáž: lámačka a svářečka optických vláken", NULL,
|
||
"Installation: cleaver and optical fiber splicer"},
|
||
{"Lámání vyžaduje kolmost asi 0,5°", NULL,
|
||
"Cleaving requires roughly 0.5° squareness"},
|
||
{"Kolize = více uzlů vysílá na sdíleném médiu najednou", NULL,
|
||
"A collision is multiple nodes transmitting on a shared medium at once"},
|
||
{"Aloha: vysílej kdykoliv, při chybě znovu", NULL,
|
||
"Aloha: transmit anytime; retry if there is no acknowledgment"},
|
||
{"CSMA/CD patří k Ethernetu", NULL,
|
||
"CSMA/CD belongs to Ethernet"},
|
||
{"CSMA/CD nejdřív poslouchá nosnou (Carrier Sense)", NULL,
|
||
"CSMA/CD first listens for the carrier (Carrier Sense)"},
|
||
{"Po kolizi CSMA/CD čeká náhodný čas a zkusí znovu", NULL,
|
||
"After a collision, CSMA/CD waits a random time and retries"},
|
||
{"CSMA/CA rezervuje médium přes RTS/CTS", NULL,
|
||
"CSMA/CA reserves the medium with RTS/CTS"},
|
||
{"Repeater zesiluje signál na fyzické vrstvě", NULL,
|
||
"A repeater amplifies the signal at the physical layer"},
|
||
{"Transceiver převádí mezi médii (např. metalika ↔ optika)", NULL,
|
||
"A transceiver converts between media (e.g. copper ↔ fiber)"},
|
||
{"Hub rozešle přijatá data do všech ostatních portů", NULL,
|
||
"A hub floods received data to all other ports"},
|
||
{"Bridge/switch = linková vrstva, rámce a MAC", NULL,
|
||
"Bridge/switch = data-link layer, frames and MAC"},
|
||
{"Switch dělí síť na kolizní domény", NULL,
|
||
"A switch splits the network into collision domains"},
|
||
{"Router = síťová vrstva, pakety a IP, propojuje sítě", NULL,
|
||
"A router = network layer, packets and IP, connects networks"},
|
||
{"Gateway převádí mezi odlišnými architekturami/protokoly", NULL,
|
||
"A gateway converts between different architectures/protocols"},
|
||
{"MAC adresy switch ukládá do CAM tabulky", NULL,
|
||
"A switch stores MAC addresses in the CAM table"},
|
||
{"Podle CAM tabulky posílá rámec jen na cílový port", NULL,
|
||
"Using the CAM table, it forwards a frame only to the target port"},
|
||
{"Cut-through čte adresu příjemce a hned přeposílá", NULL,
|
||
"Cut-through reads the destination address and forwards immediately"},
|
||
{"Cut-through je rychlý, ale propustí i chyby", NULL,
|
||
"Cut-through is fast but also forwards errors"},
|
||
{"Store-and-forward kontroluje celý rámec včetně CRC", NULL,
|
||
"Store-and-forward checks the whole frame including CRC"},
|
||
{"Fragment-free čte prvních 64 bytů kvůli kolizím", NULL,
|
||
"Fragment-free reads the first 64 bytes for collision detection"},
|
||
{"Směrování běží na síťové (3.) vrstvě ISO/OSI", NULL,
|
||
"Routing runs on the network (3rd) ISO/OSI layer"},
|
||
{"Adaptivní algoritmy reagují na změny a sdílí stav sítě", NULL,
|
||
"Adaptive algorithms react to changes and share network state"},
|
||
{"Statické cesty nastaví správce a samy se nemění", NULL,
|
||
"Static routes are set by an admin and do not change themselves"},
|
||
{"Centralizované směrování padá s výpadkem centra", NULL,
|
||
"Centralized routing fails if the center fails"},
|
||
{"Distribuované: výměna informací a vlastní tabulky", NULL,
|
||
"Distributed: information exchange and local tables"},
|
||
{"Nižší metrika = lepší / rychlejší trasa", NULL,
|
||
"Lower metric = better / faster route"},
|
||
{"Distance Vector: výměna tabulek se sousedy (např. každých 30 s)", NULL,
|
||
"Distance Vector: exchange tables with neighbors (e.g. every 30 s)"},
|
||
{"Router pracuje na síťové (3.) vrstvě", NULL,
|
||
"A router works at the network (3rd) layer"},
|
||
{"Router segmentuje podsítě a zajišťuje WAN přístup", NULL,
|
||
"A router segments subnets and provides WAN access"},
|
||
{"Firewall filtruje pakety a služby", NULL,
|
||
"A firewall filters packets and services"},
|
||
{"Multiprotokolový router spojuje různé protokoly/standardy", NULL,
|
||
"A multiprotocol router joins different protocols/standards"},
|
||
{"Router dělí síť na broadcastové domény", NULL,
|
||
"A router splits the network into broadcast domains"},
|
||
{"Gateway připojuje LAN na odlišné prostředí", NULL,
|
||
"A gateway connects a LAN to a different environment"},
|
||
{"Pojem brána někdy označuje router nebo LAN–WAN připojení", NULL,
|
||
"Gateway sometimes means a router or LAN–WAN connection"},
|
||
{"MAC adresa Ethernetu má 48 bitů a je unikátní", NULL,
|
||
"An Ethernet MAC address is 48 bits and unique"},
|
||
{"IEEE přidělí výrobci první 3 byty adresy", NULL,
|
||
"IEEE assigns the manufacturer the first 3 address bytes"},
|
||
{"Ethernet II: EtherType > 1500 (IP = 0800h)", NULL,
|
||
"Ethernet II: EtherType > 1500 (IP = 0800h)"},
|
||
{"IEEE 802.3: délka ≤ 1500 a rámec 802.2", NULL,
|
||
"IEEE 802.3: length ≤ 1500 and an 802.2 frame"},
|
||
{"Raw 802.3: Novell/IPX, začíná FFFFh", NULL,
|
||
"Raw 802.3: Novell/IPX, starts with FFFFh"},
|
||
{"Max. Ethernet II = 1518 B", NULL,
|
||
"Max Ethernet II frame = 1518 B"},
|
||
{"Min. rámec 64 B kvůli koliznímu okénku", NULL,
|
||
"Min frame is 64 B due to the collision window"},
|
||
{"IP je nespojovaný a nespolehlivý", NULL,
|
||
"IP is connectionless and unreliable"},
|
||
{"Routing = rozhodnutí o směru datagramu", NULL,
|
||
"Routing = deciding the next direction of a datagram"},
|
||
{"Forwarding = vložení do rámce a odeslání", NULL,
|
||
"Forwarding = placing into a frame and sending"},
|
||
{"HLEN 5 = 5 × 4 B = 20 B hlavičky", NULL,
|
||
"HLEN 5 = 5 × 4 B = 20 B header"},
|
||
{"TTL snižují směrovače proti zacyklení", NULL,
|
||
"Routers decrease TTL to prevent loops"},
|
||
{"PROTOCOL 6 = TCP", NULL,
|
||
"PROTOCOL 6 = TCP"},
|
||
{"PROTOCOL 17 = UDP", NULL,
|
||
"PROTOCOL 17 = UDP"},
|
||
{"Ethernet MTU = 1500 B", NULL,
|
||
"Ethernet MTU = 1500 B"},
|
||
{"čtrnáct", NULL, "fourteen"},
|
||
{"sedmnáct", NULL, "seventeen"},
|
||
{"dvacet", NULL, "twenty"},
|
||
{"šest", NULL, "six"},
|
||
{"třináct", NULL, "thirteen"},
|
||
{"dvě jablka", NULL, "two apples"},
|
||
{"pět hvězd", NULL, "five stars"},
|
||
{"sedm koček", NULL, "seven cats"},
|
||
{"devět květin", NULL, "nine flowers"},
|
||
{"tři auta", NULL, "three cars"},
|
||
{"jedenáct knih", NULL, "eleven books"},
|
||
{"čtyři svíčky", NULL, "four candles"},
|
||
{"osm míčů", NULL, "eight balls"},
|
||
{"šest ptáků", NULL, "six birds"},
|
||
{"šest, sedm, osm, devět", NULL, "six, seven, eight, nine"},
|
||
{"dvanáct, třináct, čtrnáct, patnáct", NULL,
|
||
"twelve, thirteen, fourteen, fifteen"},
|
||
{"osmnáct, devatenáct, dvacet, dvacet jedna", NULL,
|
||
"eighteen, nineteen, twenty, twenty-one"},
|
||
{"čtyři, pět, šest, sedm", NULL, "four, five, six, seven"},
|
||
{"deset, jedenáct, dvanáct, třináct", NULL,
|
||
"ten, eleven, twelve, thirteen"},
|
||
{"Plave v jezeře.", NULL, "He/She is swimming in the lake."},
|
||
{"Zpívá píseň.", NULL, "He/She is singing a song."},
|
||
{"Vaří polévku.", NULL, "He/She is cooking soup."},
|
||
{"Čte knihu.", NULL, "He/She is reading a book."},
|
||
{"Řídí auto.", NULL, "He/She is driving a car."},
|
||
{"Maluje obraz.", NULL, "He/She is painting a picture."},
|
||
{"Hraje fotbal.", NULL, "He/She is playing football."},
|
||
{"Spí.", NULL, "He/She is sleeping."},
|
||
{"Ahoj", NULL, "Hi"},
|
||
{"Dobré ráno", NULL, "Good morning"},
|
||
{"Dobrý den", NULL, "Good day"},
|
||
{"Dobrý večer", NULL, "Good evening"},
|
||
{"Dobrý den (Bavorsko, Rakousko)", NULL, "Good day (Bavaria, Austria)"},
|
||
{"Ahoj / Čau", NULL, "Hi / Hey"},
|
||
{"Čau", NULL, "Bye"},
|
||
{"Na shledanou", NULL, "Goodbye"},
|
||
{"Brzy na viděnou", NULL, "See you soon"},
|
||
{"Do zítřka", NULL, "See you tomorrow"},
|
||
{"Dobrou noc", NULL, "Good night"},
|
||
{"Zatím / Na viděnou", NULL, "See you later"},
|
||
{"Preclík", NULL, "Pretzel"},
|
||
{"Klobása", NULL, "Sausage"},
|
||
{"Braniborská brána", NULL, "Brandenburg Gate"},
|
||
{"Značka aut", NULL, "Car brand"},
|
||
{"Rakouský skladatel", NULL, "Austrian composer"},
|
||
{"Čokoládový dort (Vídeň)", NULL, "Chocolate cake (Vienna)"},
|
||
{"Vídeňský řízek", NULL, "Viennese schnitzel"},
|
||
{"Sýr", NULL, "Cheese"},
|
||
{"Švýcarská hora", NULL, "Swiss mountain"},
|
||
{"Čokoláda", NULL, "Chocolate"},
|
||
/* ---- unit 2: grammar & vocabulary meanings ---- */
|
||
{"Pochází z Rakouska.", NULL, "He is from Austria."},
|
||
{"Bydlí ve Štýrském Hradci (Graz).", NULL, "He lives in Graz."},
|
||
{"Rád hraje golf.", NULL, "He likes playing golf."},
|
||
{"Mluví německy, anglicky a italsky.", NULL,
|
||
"He speaks German, English and Italian."},
|
||
{"Pocházejí ze Slovenska.", NULL, "They are from Slovakia."},
|
||
{"Bydlí v Bratislavě (ona).", NULL, "She lives in Bratislava."},
|
||
{"Ona ráda tancuje.", NULL, "She likes dancing."},
|
||
{"On rád cestuje.", NULL, "He likes travelling."},
|
||
{"Jsou dobří přátelé.", NULL, "They are good friends."},
|
||
{"Pocházím z Atén.", NULL, "I am from Athens."},
|
||
{"Petr bydlí v Salcburku.", NULL, "Peter lives in Salzburg."},
|
||
{"Berlín leží v Německu.", NULL, "Berlin is in Germany."},
|
||
{"Bydlíme v Paříži.", NULL, "We live in Paris."},
|
||
{"Pocházejí z Řecka.", NULL, "They are from Greece."},
|
||
{"Odkud je? – Z Londýna.", NULL, "Where is he from? – From London."},
|
||
{"Jak se jmenuje? – Andrea.", NULL, "What is her name? – Andrea."},
|
||
{"Kdo pochází z Ruska? – Alexandr.", NULL,
|
||
"Who comes from Russia? – Alexander."},
|
||
{"Kde leží Praha? – V Česku.", NULL, "Where is Prague? – In Czechia."},
|
||
{"Kde bydlí? – V Bratislavě.", NULL, "Where do they live? – In Bratislava."},
|
||
{"Co děláte? – Studujeme germanistiku.", NULL,
|
||
"What are you doing? – We're studying German studies."},
|
||
{"Mluvím německy. A ty?", NULL, "I speak German. And you?"},
|
||
{"Kterými jazyky mluvíte?", NULL, "Which languages do you speak?"},
|
||
{"Mluvíš francouzsky? – Ano, trochu.", NULL,
|
||
"Do you speak French? – Yes, a little."},
|
||
{"My mluvíme polsky a vy?", NULL, "We speak Polish and you?"},
|
||
{"Mluvíte anglicky? – Ano, velmi dobře.", NULL,
|
||
"Do you speak English? – Yes, very well."},
|
||
{"Nemluví ani slovo turecky.", NULL,
|
||
"He doesn't speak a word of Turkish."},
|
||
{"Čech", NULL, "Czech man"},
|
||
{"Španělka", NULL, "Spanish woman"},
|
||
{"Turek", NULL, "Turk (man)"},
|
||
{"Chorvatka", NULL, "Croatian woman"},
|
||
{"Němka", NULL, "German woman"},
|
||
{"Rakušanka", NULL, "Austrian woman"},
|
||
{"Slovák", NULL, "Slovak man"},
|
||
{"Švýcarka", NULL, "Swiss woman"},
|
||
{"Němec", NULL, "German man"},
|
||
{"Německo", NULL, "Germany"},
|
||
{"Deutschland – Německo", NULL, "Deutschland – Germany"},
|
||
{"Slowakei – Slovensko", NULL, "Slowakei – Slovakia"},
|
||
{"Österreich – Rakousko", NULL, "Österreich – Austria"},
|
||
{"Spanien – Španělsko", NULL, "Spanien – Spain"},
|
||
{"England – Anglie", NULL, "England – England"},
|
||
{"Polen – Polsko", NULL, "Polen – Poland"},
|
||
{"Slovensko", NULL, "Slovakia"},
|
||
{"Rakousko", NULL, "Austria"},
|
||
{"Španělsko", NULL, "Spain"},
|
||
{"Anglie", NULL, "England"},
|
||
{"Polsko", NULL, "Poland"},
|
||
{"Rusko", NULL, "Russia"},
|
||
{"Russland – Rusko", NULL, "Russland – Russia"},
|
||
{"Türkei – Turecko", NULL, "Türkei – Turkey"},
|
||
{"Slowakei – Slovensko", NULL, "Slowakei – Slovakia"},
|
||
{"Kroatien – Chorvatsko", NULL, "Kroatien – Croatia"},
|
||
{"Griechenland – Řecko", NULL, "Griechenland – Greece"},
|
||
{"Italien – Itálie", NULL, "Italien – Italy"},
|
||
{"Turecko", NULL, "Turkey"},
|
||
{"Chorvatsko", NULL, "Croatia"},
|
||
{"Řecko", NULL, "Greece"},
|
||
{"Itálie", NULL, "Italy"},
|
||
{"otec", NULL, "father"},
|
||
{"rodiče", NULL, "parents"},
|
||
{"Češka", NULL, "Czech woman"},
|
||
{"student", NULL, "student"},
|
||
{"Co čte? – Knihu.", NULL, "What is he reading? – A book."},
|
||
{"Co studuje? – Medicínu.", NULL, "What is she studying? – Medicine."},
|
||
{"Čím Jan rád jezdí? – Autem.", NULL,
|
||
"What does Jan like to drive? – A car."},
|
||
{"Kde bydlíte? – Ve Vídni.", NULL, "Where do you live? – In Vienna."},
|
||
{"Kdo pracuje u Siemensu? – Moje kamarádka Věra.", NULL,
|
||
"Who works at Siemens? – My friend Vera."},
|
||
{"Kam jedeš?", NULL, "Where are you going?"},
|
||
{"Co rád/a čteš?", NULL, "What do you like to read?"},
|
||
{"Co rád/a hraješ?", NULL, "What do you like to play?"},
|
||
{"Jmenuji se Lukáš.", NULL, "My name is Lukáš."},
|
||
{"Jedu do Německa.", NULL, "I'm going to Germany."},
|
||
{"Rád/a čtu detektivky.", NULL, "I like reading crime novels."},
|
||
{"Rád/a hraju golf.", NULL, "I like playing golf."},
|
||
{"šedesát tři eur", NULL, "sixty-three euros"},
|
||
{"třicet osm eur", NULL, "thirty-eight euros"},
|
||
{"čtyřicet pět eur", NULL, "forty-five euros"},
|
||
{"padesát sedm eur", NULL, "fifty-seven euros"},
|
||
{"devadesát devět eur", NULL, "ninety-nine euros"},
|
||
{"Agnieszka Kowalski pochází z Polska, z Krakova.", NULL,
|
||
"Agnieszka Kowalski is from Kraków, Poland."},
|
||
{"Je jí 18 let a letos dělá maturitu.", NULL,
|
||
"She is 18 years old and is taking her A-levels this year."},
|
||
{"Ráda chatuje se svým německým přítelem.", NULL,
|
||
"She likes chatting with her German friend."},
|
||
{"Jmenuje se Stefan Böhmermann a bydlí v Drážďanech.", NULL,
|
||
"His name is Stefan Böhmermann and he lives in Dresden."},
|
||
{"Agnieszce přijde ten jazyk super.", NULL,
|
||
"Agnieszka thinks the language is cool."},
|
||
{"Už mluví velmi dobře německy.", NULL,
|
||
"She already speaks German very well."},
|
||
{"potřebovat mobil", NULL, "to need a mobile phone"},
|
||
{"pracovat ve BMW", NULL, "to work at BMW"},
|
||
{"řídit auto", NULL, "to drive a car"},
|
||
{"navštěvovat gymnázium", NULL, "to attend a grammar school"},
|
||
{"mluvit španělsky", NULL, "to speak Spanish"},
|
||
{"číst detektivky", NULL, "to read crime novels"},
|
||
{"padesát čtyři", NULL, "fifty-four"},
|
||
{"čtyřicet pět", NULL, "forty-five"},
|
||
{"tři sta šedesát devět", NULL, "three hundred and sixty-nine"},
|
||
{"sto dvanáct", NULL, "one hundred and twelve"},
|
||
{"sto dvacet dva", NULL, "one hundred and twenty-two"},
|
||
{"šedesát osm", NULL, "sixty-eight"},
|
||
{"Petr rád čte knihy.", NULL, "Peter likes reading books."},
|
||
{"Filip pracuje v Salcburku.", NULL, "Filip works in Salzburg."},
|
||
{"Magda dobře mluví anglicky.", NULL, "Magda speaks English well."},
|
||
{"Marek navštěvuje gymnázium.", NULL, "Marek attends the grammar school."},
|
||
{"Dominice je 15 let.", NULL, "Dominika is 15 years old."},
|
||
{"Moje sestra se jmenuje Marta.", NULL, "My sister is called Marta."},
|
||
{"Jak se jmenují? – Jana a Michael.", NULL,
|
||
"What are their names? – Jana and Michael."},
|
||
{"Kdo mluví polsky? – Jacek.", NULL, "Who speaks Polish? – Jacek."},
|
||
{"Kde bydlí Eva? – V Plzni.", NULL, "Where does Eva live? – In Plzeň."},
|
||
{"Odkud pochází Markus? – Z Německa.", NULL,
|
||
"Where is Markus from? – From Germany."},
|
||
{"Jakým jazykem mluví Jana? – Slovensky.", NULL,
|
||
"What language does Jana speak? – Slovak."},
|
||
/* ---- unit 2: hangman hints ---- */
|
||
{"vaří v restauraci", NULL, "he cooks in a restaurant"},
|
||
{"léčí nemocné lidi", NULL, "he treats sick people"},
|
||
{"učí ve škole", NULL, "he teaches at school"},
|
||
{"pracuje u policie", NULL, "he works for the police"},
|
||
{"prodává v obchodě", NULL, "he sells in a shop"},
|
||
/* ---- unit 2: word-level glosses for ex14/ex15 ---- */
|
||
{"z", NULL, "from"},
|
||
{"dělá", NULL, "does"},
|
||
{"kamarád", NULL, "friend"},
|
||
{"žije", NULL, "lives"},
|
||
{"jazyk", NULL, "language"},
|
||
{"dobře", NULL, "well"},
|
||
{"potřebovat", NULL, "to need"},
|
||
{"pracovat", NULL, "to work"},
|
||
{"řídit", NULL, "to drive"},
|
||
{"navštěvovat", NULL, "to attend"},
|
||
{"mluvit", NULL, "to speak"},
|
||
{"číst", NULL, "to read"},
|
||
/* ---- unit 3: Bei uns zu Hause ---- */
|
||
/* ex1 family word pairs */
|
||
{"bratranec / sestřenice", NULL, "male cousin / female cousin"},
|
||
{"strýc / teta", NULL, "uncle / aunt"},
|
||
{"dědeček / babička", NULL, "grandfather / grandmother"},
|
||
{"sestra / bratr", NULL, "sister / brother"},
|
||
{"kamarád / kamarádka", NULL, "friend (m) / friend (f)"},
|
||
{"dcera / syn", NULL, "daughter / son"},
|
||
/* ex2 possessive pronouns (nominative) */
|
||
{"Je to tvoje matka? – Ne, to není moje matka. To je jeho teta.", NULL,
|
||
"Is that your mother? – No, that is not my mother. That is his aunt."},
|
||
/* ex2 word-level glosses for the selected possessive pronouns */
|
||
{"tvůj", NULL, "yours (m.)"},
|
||
{"tvoje", NULL, "yours (f.)"},
|
||
{"můj", NULL, "mine (m.)"},
|
||
{"moje", NULL, "mine (f.)"},
|
||
{"jeho", NULL, "his"},
|
||
{"Je to tvůj bratr? – Ne, to není můj bratr. To je jeho bratranec.", NULL,
|
||
"Is that your brother? – No, that is not my brother. That is his cousin."},
|
||
{"Jsou to tvoji rodiče? – Ne, to nejsou moji rodiče. To jsou rodiče Markuse.",
|
||
NULL, "Are those your parents? – No, those are not my parents. "
|
||
"Those are Markus's parents."},
|
||
/* ex3 ein/kein (pets) */
|
||
{"Máš křečka? – Ne, nemám křečka. Mám želvu.", NULL,
|
||
"Have you got a hamster? – No, I haven't got a hamster. I have a tortoise."},
|
||
{"Máš koně? – Ne, nemám koně. Mám králíka.", NULL,
|
||
"Have you got a horse? – No, I haven't got a horse. I have a rabbit."},
|
||
{"Máš rybu? – Ne, nemám rybu. Mám ptáka.", NULL,
|
||
"Have you got a fish? – No, I haven't got a fish. I have a bird."},
|
||
{"Máš morče? – Ne, nemám morče. Mám andulku.", NULL,
|
||
"Have you got a guinea pig? – No, I haven't got a guinea pig. I have a budgie."},
|
||
/* ex4 missing letters (text) */
|
||
{"Máme přátele v Rakousku. Bydlí ve Vídni.", NULL,
|
||
"We have friends in Austria. They live in Vienna."},
|
||
{"Jmenují se Elfriede a Jiří. Mají také děti.", NULL,
|
||
"They are called Elfriede and Jiri. They also have children."},
|
||
{"Jejich syn se jmenuje Philipp a jejich dcera Sabine.", NULL,
|
||
"Their son is called Philipp and their daughter Sabine."},
|
||
{"Rodina ráda cestuje.", NULL, "The family likes travelling."},
|
||
{"Často je u nás na návštěvě v Česku.", NULL,
|
||
"They often visit us in Czechia."},
|
||
{"Rodina ráda cestuje. Často je u nás na návštěvě v Česku.", NULL,
|
||
"The family likes travelling. They often visit us in Czechia."},
|
||
{"Děti se učí také česky.", NULL,
|
||
"The children are also learning Czech."},
|
||
/* ex4 word-level glosses for the gapped words */
|
||
{"mít", NULL, "to have"},
|
||
{"přátelé", NULL, "friends"},
|
||
{"bydlet", NULL, "to live"},
|
||
{"jmenovat se", NULL, "to be called"},
|
||
{"děti", NULL, "children"},
|
||
{"syn", NULL, "son"},
|
||
{"jejich", NULL, "their"},
|
||
{"rodina", NULL, "family"},
|
||
{"cestuje", NULL, "travels"},
|
||
{"často", NULL, "often"},
|
||
{"návštěva", NULL, "visit"},
|
||
{"Česko", NULL, "Czechia"},
|
||
{"učit se", NULL, "to learn"},
|
||
{"čeština", NULL, "Czech"},
|
||
/* ex5 Marco's family */
|
||
{"Máme mužskou domácnost: Můj otec Johann (50), Ivo (16) a já.", NULL,
|
||
"We live in an all-male household: my father Johann (50), Ivo (16) and me."},
|
||
{"Ivo a já jsme stejně staří – jsme totiž dvojčata.", NULL,
|
||
"Ivo and I are the same age – we are twins."},
|
||
{"Náš otec tu má novou práci.", NULL,
|
||
"Our father has a new job here."},
|
||
{"Naši rodiče jsou rozvedení.", NULL,
|
||
"Our parents are divorced."},
|
||
{"Naše matka Maja (50) žije ve Vídni, ale pochází z Chorvatska.", NULL,
|
||
"Our mother Maja (50) lives in Vienna, but she comes from Croatia."},
|
||
{"Máme v Chorvatsku hodně strýců, tet, sestřenic a bratranců.", NULL,
|
||
"We have many uncles, aunts, male and female cousins in Croatia."},
|
||
{"Vídáme je někdy o prázdninách.", NULL,
|
||
"We sometimes see them on holiday."},
|
||
/* ex6 sorting vocabulary */
|
||
{"křeček", NULL, "hamster"},
|
||
{"babička", NULL, "grandmother"},
|
||
{"kůň", NULL, "horse"},
|
||
{"bratr", NULL, "brother"},
|
||
{"kočka", NULL, "cat"},
|
||
{"dědeček", NULL, "grandfather"},
|
||
{"dcera", NULL, "daughter"},
|
||
{"pes", NULL, "dog"},
|
||
{"teta", NULL, "aunt"},
|
||
{"andulka", NULL, "budgerigar"},
|
||
/* ex8 possessive pronouns (accusative) */
|
||
{"Potřebuješ svůj mobil.", NULL, "You need your mobile."},
|
||
{"Má svého koně.", NULL, "He has his horse."},
|
||
{"Dělá svou párty.", NULL, "She is throwing her party."},
|
||
{"Ptá se svého učitele.", NULL, "It is asking its teacher."},
|
||
{"Navštěvujeme náš víkendový dům.", NULL,
|
||
"We are visiting our weekend house."},
|
||
{"Vy vidíte svého psa.", NULL, "You see your dog."},
|
||
{"Mají své nástroje.", NULL, "They have their instruments."},
|
||
/* ex8 grey notes showing which possessive is expected */
|
||
{"u3g_dein", "(tvůj)", "(your)"},
|
||
{"u3g_sein", "(jeho)", "(his)"},
|
||
{"u3g_ihr_sie", "(její)", "(her)"},
|
||
{"u3g_sein_es", "(jeho)", "(its)"},
|
||
{"u3g_unser", "(náš)", "(our)"},
|
||
{"u3g_euer", "(váš)", "(your)"},
|
||
{"u3g_ihr_sie_pl", "(jejich)", "(their)"},
|
||
/* ex9 kein / nicht */
|
||
{"Mluvíš španělsky? – Ne, nemluvím španělsky.", NULL,
|
||
"Do you speak Spanish? – No, I don't speak any Spanish."},
|
||
{"Máš bratra? – Ne, nemám bratra.", NULL,
|
||
"Have you got a brother? – No, I haven't got a brother."},
|
||
{"Je v Opavě zoo? – Ne, v Opavě žádná zoo není.", NULL,
|
||
"Is there a zoo in Opava? – No, there is no zoo in Opava."},
|
||
{"Jdeš do bazénu? – Ne, do bazénu nejdu.", NULL,
|
||
"Are you going to the swimming pool? – No, I am not going to the swimming pool."},
|
||
{"Rád chodí na túry? – Ne, nerad chodí na túry.", NULL,
|
||
"Does he like hiking? – No, he does not like hiking."},
|
||
{"Navštívíš dnes zámek? – Ne, dnes nenavštívím žádný zámek.", NULL,
|
||
"Are you visiting a castle today? – No, I am not visiting a castle today."},
|
||
/* ex10 sentence order */
|
||
{"Mají želvu.", NULL, "They have a tortoise."},
|
||
{"Co dělá tvoje kamarádka o víkendu?", NULL,
|
||
"What does your friend do at the weekend?"},
|
||
{"Můj otec je povoláním učitel.", NULL,
|
||
"My father is a teacher by profession."},
|
||
{"Je vás doma hodně?", NULL, "Are there many of you at home?"},
|
||
{"Julie představuje svého psa Trixiho.", NULL,
|
||
"Julia is introducing her dog Trixi."},
|
||
/* ex11 what do you see */
|
||
{"Vidím hrad / zámek.", NULL, "I see a castle."},
|
||
{"Vidím jezero.", NULL, "I see a lake."},
|
||
{"Vidím rodinu.", NULL, "I see a family."},
|
||
/* ex12 whose is it */
|
||
{"To je jeho mobil.", NULL, "That is his mobile."},
|
||
{"To je její králík.", NULL, "That is her rabbit."},
|
||
{"To jsou jejich brusle.", NULL, "Those are their inline skates."},
|
||
{"To je její dort.", NULL, "That is her cake."},
|
||
{"To je jeho dům.", NULL, "That is his house."},
|
||
{"To jsou jejich děti.", NULL, "Those are their children."},
|
||
/* ex13 es gibt */
|
||
{"Je tu koncert.", NULL, "There is a concert."},
|
||
{"Je tu výstava.", NULL, "There is an exhibition."},
|
||
{"Je tu sportovní slavnost.", NULL, "There is a sports festival."},
|
||
{"Je tu rodinné setkání.", NULL, "There is a family reunion."},
|
||
{"Je tu divadelní představení.", NULL, "There is a theatre performance."},
|
||
{"Je tu bleší trh.", NULL, "There is a flea market."},
|
||
/* ex14 describe (sentence pairs) */
|
||
{"Vidím ženu.", NULL, "I see a woman."},
|
||
{"Jezdí na kole.", NULL, "She is riding a bike."},
|
||
{"Vidím muže.", NULL, "I see a man."},
|
||
{"Chodí po lese.", NULL, "He is hiking in the forest."},
|
||
{"Vidím dvě děti.", NULL, "I see two children."},
|
||
{"Hrají fotbal.", NULL, "They are playing football."},
|
||
/* ex15 missing letters (weekend) */
|
||
{"Moji prarodiče jedou o víkendu do víkendového domu.", NULL,
|
||
"My grandparents are driving to their weekend house."},
|
||
{"Můj otec a moje matka navštíví koncert.", NULL,
|
||
"My father and my mother are going to a concert."},
|
||
{"Moje sestra jde do kina.", NULL,
|
||
"My sister is going to the cinema."},
|
||
{"Můj bratr jede k jezeru.", NULL,
|
||
"My brother is driving to a lake."},
|
||
{"A já? Navštívím obchodní centrum.", NULL,
|
||
"And me? I am going to a shopping centre."},
|
||
/* ---- unit 1: Wörter übersetzen (page headers) ---- */
|
||
{"Strana 10", NULL, "Page 10"},
|
||
{"Strana 11", NULL, "Page 11"},
|
||
{"Strana 12", NULL, "Page 12"},
|
||
{"Strana 13", NULL, "Page 13"},
|
||
{"Strana 14", NULL, "Page 14"},
|
||
{"Strana 15", NULL, "Page 15"},
|
||
/* ---- unit 1: Wörter übersetzen (word meanings) ---- */
|
||
{"večer", NULL, "evening"},
|
||
{"Dobrý večer!", NULL, "Good evening!"},
|
||
{"ty", NULL, "you"},
|
||
{"Těší mě.", NULL, "Nice to meet you."},
|
||
{"dobrý", NULL, "good"},
|
||
{"Ahoj!", NULL, "Hello!"},
|
||
{"jmenovat se", NULL, "to be called"},
|
||
{"Jmenuji se Jens.", NULL, "My name is Jens."},
|
||
{"Ahoj! (neformálně)", NULL, "Hi! (informal)"},
|
||
{"já", NULL, "I"},
|
||
{"vy", NULL, "you (plural)"},
|
||
{"ano", NULL, "yes"},
|
||
{"ráno", NULL, "morning"},
|
||
{"jméno", NULL, "name"},
|
||
{"ne", NULL, "no"},
|
||
{"je", NULL, "is"},
|
||
{"den", NULL, "day"},
|
||
{"Dobrý den!", NULL, "Good day!"},
|
||
{"a", NULL, "and"},
|
||
{"kdo", NULL, "who"},
|
||
{"Kdo jsi?", NULL, "Who are you?"},
|
||
{"jak", NULL, "how"},
|
||
{"my", NULL, "we"},
|
||
{"v", NULL, "in"},
|
||
{"poblíž, v blízkosti", NULL, "near, in the vicinity"},
|
||
{"hra", NULL, "game"},
|
||
{"kde", NULL, "where"},
|
||
{"bydlet", NULL, "to live"},
|
||
{"Kde bydlíš?", NULL, "Where do you live?"},
|
||
{"nula", NULL, "zero"},
|
||
{"jedna", NULL, "one"},
|
||
{"dvě", NULL, "two"},
|
||
{"tři", NULL, "three"},
|
||
{"čtyři", NULL, "four"},
|
||
{"pět", NULL, "five"},
|
||
{"sedm", NULL, "seven"},
|
||
{"osm", NULL, "eight"},
|
||
{"devět", NULL, "nine"},
|
||
{"deset", NULL, "ten"},
|
||
{"jedenáct", NULL, "eleven"},
|
||
{"dvanáct", NULL, "twelve"},
|
||
{"patnáct", NULL, "fifteen"},
|
||
{"šestnáct", NULL, "sixteen"},
|
||
{"osmnáct", NULL, "eighteen"},
|
||
{"devatenáct", NULL, "nineteen"},
|
||
{"starý", NULL, "old"},
|
||
{"on", NULL, "he"},
|
||
{"měsíc", NULL, "month"},
|
||
{"ona", NULL, "she"},
|
||
{"oni", NULL, "they"},
|
||
{"ale", NULL, "but"},
|
||
{"věk", NULL, "age"},
|
||
{"také", NULL, "also"},
|
||
{"(hudební) skupina", NULL, "(music) band"},
|
||
{"chatovat", NULL, "to chat"},
|
||
{"počítačová hra", NULL, "computer game"},
|
||
{"e-mail", NULL, "email"},
|
||
{"angličtina, anglicky", NULL, "English"},
|
||
{"fanoušek", NULL, "fan"},
|
||
{"francouzština, francouzsky", NULL, "French"},
|
||
{"kamarádka", NULL, "friend (f.)"},
|
||
{"nejlepší kamarádka", NULL, "best friend (f.)"},
|
||
{"fotbal", NULL, "football"},
|
||
{"Je fotbalový fanatik.", NULL, "He is a football fanatic."},
|
||
{"jít", NULL, "to go"},
|
||
{"Rád(a) chodím na koncerty.", NULL, "I like going to concerts."},
|
||
{"rád/a", NULL, "gladly"},
|
||
{"kytara", NULL, "guitar"},
|
||
{"mobil", NULL, "mobile phone"},
|
||
{"koníček", NULL, "hobby"},
|
||
{"poslouchat", NULL, "to listen"},
|
||
{"Rád poslouchá hudbu.", NULL, "He likes listening to music."},
|
||
{"surfovat na internetu", NULL, "to surf the internet"},
|
||
{"pořád, neustále", NULL, "always"},
|
||
{"rok", NULL, "year"},
|
||
{"žádný/žádná/žádné", NULL, "no / none"},
|
||
{"klavír", NULL, "piano"},
|
||
{"přicházet, pocházet (z)", NULL, "to come (from)"},
|
||
{"Pochází z Vídně.", NULL, "He comes from Vienna."},
|
||
{"koncert", NULL, "concert"},
|
||
{"ležet", NULL, "to lie"},
|
||
{"příjmení", NULL, "surname"},
|
||
{"nedaleko od", NULL, "not far from"},
|
||
{"cestovat", NULL, "to travel"},
|
||
{"psát", NULL, "to write"},
|
||
{"škola", NULL, "school"},
|
||
{"hrát", NULL, "to play"},
|
||
{"Hraje na kytaru.", NULL, "She plays the guitar."},
|
||
{"tancovat", NULL, "to dance"},
|
||
{"křestní jméno", NULL, "first name"},
|
||
{"bydliště", NULL, "place of residence"},
|
||
{"nesprávně, chybně", NULL, "wrong, incorrectly"},
|
||
{"flétna", NULL, "flute"},
|
||
{"(hudební) nástroj", NULL, "(musical) instrument"},
|
||
{"teď", NULL, "now"},
|
||
{"dělat", NULL, "to do"},
|
||
{"správně", NULL, "correctly"},
|
||
{"sport", NULL, "sport"},
|
||
{"sportovat", NULL, "to do sport"},
|
||
{"squash", NULL, "squash"},
|
||
{"jóga", NULL, "yoga"},
|
||
{"brzy", NULL, "soon"},
|
||
{"Brzy na shledanou!", NULL, "See you soon!"},
|
||
{"do", NULL, "until"},
|
||
{"Do příštího setkání!", NULL, "Until next time!"},
|
||
{"paní", NULL, "woman / Mrs."},
|
||
{"pan", NULL, "man / Mr."},
|
||
{"Měj se hezky!", NULL, "Take care!"},
|
||
{"muzeum", NULL, "museum"},
|
||
{"Jdou do muzea.", NULL, "They are going to the museum."},
|
||
{"hezký", NULL, "beautiful"},
|
||
{"Hezký zbytek dne!", NULL, "Have a nice rest of the day!"},
|
||
{"Ahoj! (servus)", NULL, "Hi! (Servus)"},
|
||
{"Ahoj! (při loučení)", NULL, "Bye!"},
|
||
{"shledání", NULL, "reunion"},
|
||
{"Na shledanou!", NULL, "Goodbye!"},
|
||
{"John von Neumann – americký matematik", NULL,
|
||
"John von Neumann – American mathematician"},
|
||
{"Americký matematik s objevy v digitálních počítačích", NULL,
|
||
"American mathematician with discoveries in digital computers"},
|
||
{"ALS = aritmeticko-logická jednotka", NULL,
|
||
"ALU = arithmetic-logic unit"},
|
||
{"Řadič řídí činnost ostatních částí", NULL,
|
||
"The control unit directs the other parts"},
|
||
{"Operační paměť uchovává program i data", NULL,
|
||
"Main memory stores both the program and data"},
|
||
{"Byl tvůrcem teorie her", NULL, "He created game theory"},
|
||
{"Nultá generace: 1938–1944", NULL, "Zeroth generation: 1938–1944"},
|
||
{"Jen několik počítačů, většinou vojenský účel", NULL,
|
||
"Only a few computers, mostly for military use"},
|
||
{"1. generace – objev elektronky", NULL,
|
||
"1st generation – invention of the vacuum tube"},
|
||
{"1. generace – děrné štítky", NULL, "1st generation – punch cards"},
|
||
{"2. generace – objev tranzistoru", NULL,
|
||
"2nd generation – invention of the transistor"},
|
||
{"3. generace – integrovaný obvod", NULL,
|
||
"3rd generation – integrated circuit"},
|
||
{"4. generace – programovatelné mikroprocesory", NULL,
|
||
"4th generation – programmable microprocessors"},
|
||
{"1972 – první počítačová hra", NULL, "1972 – first computer game"},
|
||
{"Bit = dvojková číslice, nejmenší jednotka informace", NULL,
|
||
"A bit is a binary digit, the smallest unit of information"},
|
||
{"Bit nabývá hodnoty 0 nebo 1", NULL, "A bit is either 0 or 1"},
|
||
{"Byte = nejmenší adresovatelná jednotka paměti", NULL,
|
||
"A byte is the smallest addressable unit of memory"},
|
||
{"1 B = 8 b", NULL, "1 B = 8 b"},
|
||
{NULL, NULL, NULL}
|
||
};
|
||
|
||
const char *tr(const char *key) {
|
||
static GHashTable *idx;
|
||
const TrEntry *e;
|
||
int i;
|
||
|
||
if (!key)
|
||
return NULL;
|
||
|
||
if (!idx) {
|
||
idx = g_hash_table_new(g_str_hash, g_str_equal);
|
||
for (i = 0; tr_ui[i].key; i++)
|
||
g_hash_table_insert(idx, (gpointer)tr_ui[i].key,
|
||
(gpointer)&tr_ui[i]);
|
||
for (i = 0; tr_content[i].key; i++)
|
||
g_hash_table_insert(idx, (gpointer)tr_content[i].key,
|
||
(gpointer)&tr_content[i]);
|
||
}
|
||
|
||
e = g_hash_table_lookup(idx, key);
|
||
if (!e)
|
||
return key;
|
||
if (app_lang == LANG_EN)
|
||
return e->en;
|
||
return e->cs ? e->cs : e->key;
|
||
}
|
||
|
||
void i18n_ensure(void) {
|
||
if (!i18n_binds)
|
||
i18n_binds = g_array_new(FALSE, FALSE, sizeof(I18nBind));
|
||
}
|
||
|
||
void i18n_apply_one(const I18nBind *b) {
|
||
if (!b->widget || !b->key)
|
||
return;
|
||
switch (b->kind) {
|
||
case 0:
|
||
gtk_label_set_text(GTK_LABEL(b->widget), tr(b->key));
|
||
break;
|
||
case 1:
|
||
gtk_button_set_label(GTK_BUTTON(b->widget), tr(b->key));
|
||
break;
|
||
case 2:
|
||
gtk_widget_set_tooltip_text(b->widget, tr(b->key));
|
||
break;
|
||
case 3:
|
||
gtk_entry_set_placeholder_text(GTK_ENTRY(b->widget), tr(b->key));
|
||
break;
|
||
case 4:
|
||
ex4_fill_sample(b->widget);
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
|
||
void i18n_bind(GtkWidget *widget, const char *key, int kind) {
|
||
I18nBind b;
|
||
|
||
i18n_ensure();
|
||
b.widget = widget;
|
||
b.key = key;
|
||
b.kind = kind;
|
||
g_array_append_val(i18n_binds, b);
|
||
|
||
i18n_apply_one(&b);
|
||
}
|
||
|
||
void refresh_welcome_heading(void) {
|
||
char *markup;
|
||
|
||
if (!welcome_heading)
|
||
return;
|
||
if (app_lang == LANG_EN)
|
||
markup = g_strdup_printf(
|
||
"Welcome to <span color=\"#%06x\">maturita.C</span>!",
|
||
app_theme.accent);
|
||
else
|
||
markup = g_strdup_printf(
|
||
"Vítejte ve <span color=\"#%06x\">maturita.C</span>!",
|
||
app_theme.accent);
|
||
gtk_label_set_markup(GTK_LABEL(welcome_heading), markup);
|
||
g_free(markup);
|
||
}
|
||
|
||
void refresh_stats_ui(void);
|
||
void net_lessons_apply_lang(void);
|
||
void hw_lessons_apply_lang(void);
|
||
void net_rail_theme_reset(void);
|
||
|
||
void apply_language(void) {
|
||
guint i;
|
||
|
||
i18n_ensure();
|
||
for (i = 0; i < i18n_binds->len; i++)
|
||
i18n_apply_one(&g_array_index(i18n_binds, I18nBind, i));
|
||
refresh_welcome_heading();
|
||
refresh_stats_ui();
|
||
net_lessons_apply_lang();
|
||
hw_lessons_apply_lang();
|
||
}
|