""" Level A1 — данные всех тем уровня A1. Тема 1: Приветствия и знакомство (a1_greetings) """ async def init_level_a1(conn): """Инициализирует все темы уровня A1""" # ==================== ТЕМА 1: ПРИВЕТСТВИЯ ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_greetings', 'A1', 1, 'Powitania i poznawanie się', 'Приветствия и знакомство', 'Привітання та знайомство', 'Greetings and introductions') ON CONFLICT (topic_id) DO NOTHING """) # Уроки lessons = [ ("a1_greetings_l01", 1, "greeting_formal", "Formalne powitanie", "Формальное приветствие", "Формальне привітання", "Formal greeting", "„Dzień dobry” to podstawowe, bezpieczne formalne powitanie. Używamy go rano i w ciągu dnia.", "«Dzień dobry» — основное безопасное формальное приветствие. Используется утром и днём.", "«Dzień dobry» — основне безпечне формальне привітання. Використовується вранці та вдень.", "“Dzień dobry” is the basic safe formal greeting. Used in the morning and during the day."), ("a1_greetings_l02", 2, "greeting_informal", "Nieformalne powitanie", "Неформальное приветствие", "Неформальне привітання", "Informal greeting", "„Cześć!” jest bardzo częstym nieformalnym powitaniem. Używamy go z przyjaciółmi i rodziną.", "«Cześć!» — очень распространённое неформальное приветствие. Используется с друзьями и семьёй.", "«Cześć!» — поширене неформальне привітання. Використовується з друзями та родиною.", "“Cześć!” is a common informal greeting. Used with friends and family."), ("a1_greetings_l03", 3, "self_intro", "Przedstawianie się", "Как представиться", "Як представитися", "Introducing yourself", "Możesz powiedzieć „Jestem Anna” albo „Nazywam się Anna”.", "Можно сказать «Jestem Anna» или «Nazywam się Anna».", "Можна сказати «Jestem Anna» або «Nazywam się Anna».", "You can say “Jestem Anna” or “Nazywam się Anna”."), ("a1_greetings_l04", 4, "asking_name", "Pytanie o imię", "Как спросить имя", "Як запитати ім'я", "Asking someone's name", "„Jak się nazywasz?” to nieformalne pytanie o imię.", "«Jak się nazywasz?» — неформальный вопрос «Как тебя зовут?».", "«Jak się nazywasz?» — неформальне запитання «Як тебе звати?».", "“Jak się nazywasz?” is an informal way to ask someone's name."), ("a1_greetings_l05", 5, "answering_name", "Odpowiadanie na pytanie o imię", "Отвечаем на вопрос об имени", "Відповідаємо на запитання про ім'я", "Answering a question about your name", "Na pytanie „Jak się nazywasz?” możesz odpowiedzieć „Nazywam się Anna.”", "На вопрос «Как тебя зовут?» можно ответить «Nazywam się Anna».", "На запитання «Як тебе звати?» можна відповісти «Nazywam się Anna».", "To answer “What is your name?”, you can say “Nazywam się Anna.”"), ("a1_greetings_l06", 6, "formal_address_pan_pani", "Forma Pan/Pani", "Формальное обращение Pan/Pani", "Формальне звертання Pan/Pani", "Formal address: Pan/Pani", "W formalnej rozmowie używamy „Pan” wobec mężczyzny i „Pani” wobec kobiety.", "В формальной речи к мужчине обращаются «Pan», к женщине — «Pani».", "У формальному спілкуванні до чоловіка звертаються «Pan», до жінки — «Pani».", "In formal Polish, “Pan” is used for a man and “Pani” for a woman."), ("a1_greetings_l07", 7, "how_are_you", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", "„Jak się masz?” to nieformalne pytanie o samopoczucie.", "«Jak się masz?» — неформальный вопрос о том, как у человека дела.", "«Jak się masz?» — неформальне запитання про те, як у людини справи.", "“Jak się masz?” is an informal question asking how someone is doing."), ("a1_greetings_l08", 8, "responding_how_are_you", "Odpowiadanie na „Jak się masz?”", "Отвечаем на «Как дела?»", "Відповідаємо на «Як справи?»", "Responding to “How are you?”", "Na „Jak się masz?” możesz odpowiedzieć „Dobrze, dziękuję. A ty?”", "На «Как дела?» можно ответить «Dobrze, dziękuję. A ty?»", "На «Як справи?» можна відповісти «Dobrze, dziękuję. A ty?»", "To “How are you?” you can answer “Dobrze, dziękuję. A ty?”"), ("a1_greetings_l09", 9, "farewell_formal", "Formalne pożegnanie", "Формальное прощание", "Формальне прощання", "Formal farewell", "„Do widzenia!” to podstawowe formalne pożegnanie.", "«Do widzenia!» — основное формальное прощание.", "«Do widzenia!» — основне формальне прощання.", "“Do widzenia!” is the basic formal farewell."), ("a1_greetings_l10", 10, "farewell_informal", "Nieformalne pożegnanie", "Неформальное прощание", "Неформальне прощання", "Informal farewell", "W nieformalnej rozmowie możesz powiedzieć „Cześć!”, „Na razie!” albo „Pa!”.", "В неформальном общении можно сказать «Cześć!», «Na razie!» или «Pa!».", "У неформальному спілкуванні можна сказати «Cześć!», «Na razie!» або «Pa!».", "In informal conversation, you can say “Cześć!”, “Na razie!” or “Pa!”."), ] for lesson in lessons: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_greetings', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) # Примеры examples = [ ("a1_greetings_l01", 1, "Dzień dobry!", "Добрый день!", "Добрий день!", "Good morning!"), ("a1_greetings_l01", 2, "Dzień dobry, Panie Adamie.", "Добрый день, пан Адам.", "Добрий день, пане Адаме.", "Good morning, Mr. Adam."), ("a1_greetings_l01", 3, "Dzień dobry, Pani Anno.", "Добрый день, пани Анна.", "Добрий день, пані Анно.", "Good morning, Mrs. Anna."), ("a1_greetings_l02", 1, "Cześć, Anna!", "Привет, Анна!", "Привіт, Анно!", "Hi, Anna!"), ("a1_greetings_l02", 2, "Cześć! Co słychać?", "Привет! Как дела?", "Привіт! Як справи?", "Hi! What's up?"), ("a1_greetings_l02", 3, "Cześć! Do jutra!", "Привет! До завтра!", "Привіт! До завтра!", "Hi! See you tomorrow!"), ("a1_greetings_l03", 1, "Jestem Piotr.", "Я Пётр.", "Я Пьотр.", "I am Piotr."), ("a1_greetings_l03", 2, "Jestem Maria.", "Я Мария.", "Я Марія.", "I am Maria."), ("a1_greetings_l03", 3, "Nazywam się Oleg.", "Меня зовут Олег.", "Мене звати Олег.", "My name is Oleg."), ("a1_greetings_l04", 1, "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?"), ("a1_greetings_l04", 2, "Cześć! Jak się nazywasz?", "Привет! Как тебя зовут?", "Привіт! Як тебе звати?", "Hi! What's your name?"), ("a1_greetings_l05", 1, "Nazywam się Piotr.", "Меня зовут Пётр.", "Мене звати Пьотр.", "My name is Piotr."), ("a1_greetings_l05", 2, "Nazywam się Anna.", "Меня зовут Анна.", "Мене звати Анна.", "My name is Anna."), ("a1_greetings_l06", 1, "Jak Pan się nazywa?", "Как вас зовут? (к мужчине)", "Як вас звати? (до чоловіка)", "What is your name? (to a man)"), ("a1_greetings_l06", 2, "Jak Pani się nazywa?", "Как вас зовут? (к женщине)", "Як вас звати? (до жінки)", "What is your name? (to a woman)"), ("a1_greetings_l07", 1, "Cześć! Jak się masz?", "Привет! Как дела?", "Привіт! Як справи?", "Hi! How are you?"), ("a1_greetings_l07", 2, "Hej, jak się masz?", "Эй, как дела?", "Гей, як справи?", "Hey, how are you?"), ("a1_greetings_l08", 1, "Dobrze, dziękuję. A ty?", "Хорошо, спасибо. А ты?", "Добре, дякую. А ти?", "Good, thank you. And you?"), ("a1_greetings_l08", 2, "W porządku. A ty?", "В порядке. А ты?", "В порядку. А ти?", "All right. And you?"), ("a1_greetings_l09", 1, "Do widzenia!", "До свидания!", "До побачення!", "Goodbye!"), ("a1_greetings_l09", 2, "Do widzenia, Pani Anno.", "До свидания, пани Анна.", "До побачення, пані Анно.", "Goodbye, Mrs. Anna."), ("a1_greetings_l10", 1, "Na razie!", "Пока!", "Бувай!", "See you!"), ("a1_greetings_l10", 2, "Pa!", "Пока!", "Па!", "Bye!"), ("a1_greetings_l10", 3, "Cześć! Do jutra!", "Пока! До завтра!", "Бувай! До завтра!", "Bye! See you tomorrow!"), ] for ex in examples: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) # Вопросы уроков questions = [ ("a1_greetings_l01_q1", "a1_greetings_l01", "lesson_practice", "recognition", "greeting_formal", 1, "Wchodzisz do urzędu. Jak się przywitasz?", "Вы входите в уженд. Как вы поздороваетесь?", "Ви заходите до установи. Як ви привітаєтеся?", "You enter a government office. How do you greet?", "B", None, None), ("a1_greetings_l02_q1", "a1_greetings_l02", "lesson_practice", "recognition", "greeting_informal", 1, "Spotykasz przyjaciela na uniwersytecie. Jak się przywitasz?", "Вы встретили друга в университете. Как поздороваетесь?", "Ти зустрічаєш друга в університеті. Як привітаєшся?", "You meet a friend at university. How do you greet?", "B", None, None), ("a1_greetings_l03_q1", "a1_greetings_l03", "lesson_practice", "recognition", "self_intro", 1, "Jak powiedzieć „Ja Maria”?", "Как правильно сказать «Я Мария»?", "Як правильно сказати «Я Марія»?", "How to say “I am Maria”?", "B", None, None), ("a1_greetings_l03_q2", "a1_greetings_l03", "lesson_practice", "production", "self_intro", 2, "Wstaw słowo: „Ja ___ Michał.”", "Вставьте слово: «Ja ___ Michał.»", "Вставте слово: «Ja ___ Michał.»", "Complete: “Ja ___ Michał.”", "jestem", "first_letter", "j"), ("a1_greetings_l04_q1", "a1_greetings_l04", "lesson_practice", "recognition", "asking_name", 1, "Jak zapytać o imię nowego kolegi?", "Как спросить имя у нового друга?", "Як запитати ім'я у нового друга?", "How to ask a new friend's name?", "A", None, None), ("a1_greetings_l05_q1", "a1_greetings_l05", "lesson_practice", "application", "answering_name", 1, "Wybierz poprawną odpowiedź na: „Jak się nazywasz?”", "Выберите правильный ответ на: «Как тебя зовут?»", "Виберіть правильну відповідь на: «Як тебе звати?»", "Choose the correct answer to: “What's your name?”", "B", None, None), ("a1_greetings_l05_q2", "a1_greetings_l05", "lesson_practice", "production", "answering_name", 2, "Wstaw słowo: „___ się Ewa.”", "Вставьте слово: «___ się Ewa.»", "Вставте слово: «___ się Ewa.»", "Complete: “___ się Ewa.”", "Nazywam", "first_letter", "N"), ("a1_greetings_l06_q1", "a1_greetings_l06", "lesson_practice", "application", "formal_address_pan_pani", 2, "Formalnie zwracasz się do kobiety. Jak zapytać o imię?", "Вы формально обращаетесь к женщине. Как спросить её имя?", "Формально звертаєтесь до жінки. Як запитати її ім'я?", "You formally address a woman. How to ask her name?", "C", None, None), ("a1_greetings_l06_q2", "a1_greetings_l06", "lesson_practice", "recognition", "formal_address_pan_pani", 2, "Wybierz poprawną formę dla mężczyzny:", "Выберите правильное обращение к мужчине:", "Виберіть правильне звертання до чоловіка:", "Choose the correct form for a man:", "B", None, None), ("a1_greetings_l07_q1", "a1_greetings_l07", "lesson_practice", "recognition", "how_are_you", 1, "Co oznacza „Jak się masz?”", "Что означает «Jak się masz?»?", "Що означає «Jak się masz?»?", "What does “Jak się masz?” mean?", "B", None, None), ("a1_greetings_l08_q1", "a1_greetings_l08", "lesson_practice", "application", "responding_how_are_you", 1, "Wybierz poprawną odpowiedź:", "Выберите правильный ответ:", "Виберіть правильну відповідь:", "Choose the correct answer:", "A", None, None), ("a1_greetings_l08_q2", "a1_greetings_l08", "lesson_practice", "production", "responding_how_are_you", 2, "Wstaw słowo: „Dobrze, ___. A ty?”", "Вставьте слово: «Dobrze, ___. A ty?»", "Вставте слово: «Dobrze, ___. A ty?»", "Complete: “Dobrze, ___. A ty?”", "dziękuję", "first_letter", "d"), ("a1_greetings_l09_q1", "a1_greetings_l09", "lesson_practice", "application", "farewell_formal", 1, "Kończysz rozmowę z pracownikiem urzędu. Co powiesz?", "Вы закончили разговор с сотрудником уженда. Что скажете?", "Закінчуєте розмову з працівником установи. Що скажете?", "You end a conversation with an office worker. What do you say?", "B", None, None), ("a1_greetings_l10_q1", "a1_greetings_l10", "lesson_practice", "application", "farewell_informal", 1, "Żegnasz się z przyjacielem. Wybierz odpowiedni wariant.", "Вы прощаетесь с другом. Выберите подходящий вариант.", "Ви прощаєтесь з другом. Виберіть відповідний варіант.", "You say goodbye to a friend. Choose the right option.", "B", None, None), ] for q in questions: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_greetings', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) # Варианты ответов options = [ ("a1_greetings_l01_q1", "A", "Cześć!", "Привет!", "Привіт!", "Hi!", False, "too_informal"), ("a1_greetings_l01_q1", "B", "Dzień dobry!", "Добрый день!", "Добрий день!", "Good morning!", True, None), ("a1_greetings_l01_q1", "C", "Dobranoc!", "Спокойной ночи!", "На добраніч!", "Good night!", False, "wrong_time_of_day"), ("a1_greetings_l01_q1", "D", "Na razie!", "Пока!", "Бувай!", "See you!", False, "is_farewell_not_greeting"), ("a1_greetings_l02_q1", "A", "Dzień dobry!", "Добрый день!", "Добрий день!", "Good morning!", False, "too_formal"), ("a1_greetings_l02_q1", "B", "Cześć!", "Привет!", "Привіт!", "Hi!", True, None), ("a1_greetings_l02_q1", "C", "Do widzenia!", "До свидания!", "До побачення!", "Goodbye!", False, "is_farewell_not_greeting"), ("a1_greetings_l02_q1", "D", "Dobranoc!", "Спокойной ночи!", "На добраніч!", "Good night!", False, "wrong_context"), ("a1_greetings_l03_q1", "A", "Ja jesteś Maria.", "Я есть Мария.", "Я є Марія.", "I are Maria.", False, "wrong_person"), ("a1_greetings_l03_q1", "B", "Ja jestem Maria.", "Я Мария.", "Я Марія.", "I am Maria.", True, None), ("a1_greetings_l03_q1", "C", "Ja jest Maria.", "Я есть Мария.", "Я є Марія.", "I is Maria.", False, "wrong_person"), ("a1_greetings_l03_q1", "D", "Ja są Maria.", "Я есть Мария.", "Я є Марія.", "I are Maria.", False, "wrong_number"), ("a1_greetings_l04_q1", "A", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", True, None), ("a1_greetings_l04_q1", "B", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_question_meaning"), ("a1_greetings_l04_q1", "C", "Skąd jesteś?", "Откуда ты?", "Звідки ти?", "Where are you from?", False, "wrong_question_meaning"), ("a1_greetings_l04_q1", "D", "Do widzenia!", "До свидания!", "До побачення!", "Goodbye!", False, "wrong_phrase_category"), ("a1_greetings_l05_q1", "A", "Dzień dobry.", "Добрый день.", "Добрий день.", "Good morning.", False, "wrong_response"), ("a1_greetings_l05_q1", "B", "Nazywam się Tomek.", "Меня зовут Томек.", "Мене звати Томек.", "My name is Tomek.", True, None), ("a1_greetings_l05_q1", "C", "Do widzenia.", "До свидания.", "До побачення.", "Goodbye.", False, "wrong_phrase_category"), ("a1_greetings_l05_q1", "D", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_question_meaning"), ("a1_greetings_l06_q1", "A", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "too_informal"), ("a1_greetings_l06_q1", "B", "Jak Pan się nazywa?", "Как вас зовут? (м)", "Як вас звати? (ч)", "What is your name? (m)", False, "wrong_gender"), ("a1_greetings_l06_q1", "C", "Jak Pani się nazywa?", "Как вас зовут? (ж)", "Як вас звати? (ж)", "What is your name? (f)", True, None), ("a1_greetings_l06_q1", "D", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_question_meaning"), ("a1_greetings_l06_q2", "A", "Pani", "Пани", "Пані", "Mrs.", False, "wrong_gender"), ("a1_greetings_l06_q2", "B", "Pan", "Пан", "Пан", "Mr.", True, None), ("a1_greetings_l06_q2", "C", "Ty", "Ты", "Ти", "You", False, "too_informal"), ("a1_greetings_l06_q2", "D", "Ona", "Она", "Вона", "She", False, "wrong_word"), ("a1_greetings_l07_q1", "A", "Jak masz na imię?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "confused_with_name_question"), ("a1_greetings_l07_q1", "B", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", True, None), ("a1_greetings_l07_q1", "C", "Skąd jesteś?", "Откуда ты?", "Звідки ти?", "Where are you from?", False, "confused_with_origin_question"), ("a1_greetings_l07_q1", "D", "Do widzenia!", "До свидания!", "До побачення!", "Goodbye!", False, "confused_with_farewell"), ("a1_greetings_l08_q1", "A", "Dobrze, dziękuję.", "Хорошо, спасибо.", "Добре, дякую.", "Good, thank you.", True, None), ("a1_greetings_l08_q1", "B", "Nazywam się Anna.", "Меня зовут Анна.", "Мене звати Анна.", "My name is Anna.", False, "wrong_response"), ("a1_greetings_l08_q1", "C", "Do widzenia.", "До свидания.", "До побачення.", "Goodbye.", False, "wrong_phrase_category"), ("a1_greetings_l08_q1", "D", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "wrong_question_meaning"), ("a1_greetings_l09_q1", "A", "Cześć!", "Привет!", "Привіт!", "Hi!", False, "too_informal"), ("a1_greetings_l09_q1", "B", "Do widzenia!", "До свидания!", "До побачення!", "Goodbye!", True, None), ("a1_greetings_l09_q1", "C", "Dzień dobry!", "Добрый день!", "Добрий день!", "Good morning!", False, "is_greeting_not_farewell"), ("a1_greetings_l09_q1", "D", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_phrase_category"), ("a1_greetings_l10_q1", "A", "Do widzenia!", "До свидания!", "До побачення!", "Goodbye!", False, "too_formal"), ("a1_greetings_l10_q1", "B", "Na razie!", "Пока!", "Бувай!", "See you!", True, None), ("a1_greetings_l10_q1", "C", "Dzień dobry!", "Добрый день!", "Добрий день!", "Good morning!", False, "is_greeting_not_farewell"), ("a1_greetings_l10_q1", "D", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "wrong_phrase_category"), ] for opt in options: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # Финальный тест test_questions = [ ("a1_greetings_t01", None, "topic_test", "recognition", "greeting_formal", 1, "Przyszedłeś do lekarza rano. Jak się przywitasz?", "Вы пришли к врачу утром. Как поздороваетесь?", "Ви прийшли до лікаря вранці. Як привітаєтесь?", "You came to the doctor in the morning. How do you greet?", "B", None, None, 1), ("a1_greetings_t02", None, "topic_test", "application", "greeting_informal", 1, "Spotkałeś dobrego przyjaciela. Co powiesz?", "Вы встретили хорошего друга. Что скажете?", "Ви зустріли хорошого друга. Що скажете?", "You met a good friend. What do you say?", "B", None, None, 2), ("a1_greetings_t03", None, "topic_test", "recognition", "self_intro", 2, "Wybierz poprawny wariant: „Ja Anna”.", "Выберите правильный вариант: «Я Анна».", "Виберіть правильний варіант: «Я Анна».", "Choose the correct option: “I am Anna”.", "B", None, None, 3), ("a1_greetings_t04", None, "topic_test", "production", "self_intro", 2, "Uzupełnij: „Ja ___ Oleg.”", "Заполните: «Ja ___ Oleg.»", "Заповніть: «Ja ___ Oleg.»", "Complete: “Ja ___ Oleg.”", "jestem", "first_letter", "j", 4), ("a1_greetings_t05", None, "topic_test", "application", "asking_name", 1, "Jak nieformalnie zapytać o imię?", "Как неформально спросить имя?", "Як неформально запитати ім'я?", "How to informally ask for a name?", "B", None, None, 5), ("a1_greetings_t06", None, "topic_test", "application", "answering_name", 2, "Ktoś pyta: „Jak się nazywasz?” Jak odpowiesz?", "Человек спрашивает: «Jak się nazywasz?» Как ответить?", "Людина питає: «Jak się nazywasz?» Як відповісти?", "Someone asks: “Jak się nazywasz?” How do you answer?", "B", None, None, 6), ("a1_greetings_t07", None, "topic_test", "application", "formal_address_pan_pani", 2, "Zwracasz się do kobiety w urzędzie. Jak zapytać o imię?", "Вы обращаетесь к женщине в уженде. Как спросить её имя?", "Звертаєтесь до жінки в установі. Як запитати її ім'я?", "You address a woman at the office. How to ask her name?", "C", None, None, 7), ("a1_greetings_t08", None, "topic_test", "recognition", "formal_address_pan_pani", 2, "Rozmawiasz z mężczyzną formalnie. Który wariant jest poprawny?", "Вы разговариваете с мужчиной формально. Какой вариант правильный?", "Розмовляєте з чоловіком формально. Який варіант правильний?", "You talk to a man formally. Which option is correct?", "B", None, None, 8), ("a1_greetings_t09", None, "topic_test", "recognition", "how_are_you", 1, "Co oznacza „Jak się masz?”", "Что означает «Jak się masz?»?", "Що означає «Jak się masz?»?", "What does “Jak się masz?” mean?", "B", None, None, 9), ("a1_greetings_t10", None, "topic_test", "application", "responding_how_are_you", 1, "Kolega pyta: „Jak się masz?” Która odpowiedź jest najlepsza?", "Друг спрашивает: «Jak się masz?» Какой ответ лучше всего?", "Друг питає: «Jak się masz?» Яка відповідь найкраща?", "A friend asks: “Jak się masz?” Which answer is best?", "A", None, None, 10), ("a1_greetings_t11", None, "topic_test", "production", "responding_how_are_you", 2, "Uzupełnij: „Dobrze, ___. A ty?”", "Заполните: «Dobrze, ___. A ty?»", "Заповніть: «Dobrze, ___. A ty?»", "Complete: “Dobrze, ___. A ty?”", "dziękuję", "first_letter", "d", 11), ("a1_greetings_t12", None, "topic_test", "application", "farewell_formal", 1, "Kończysz rozmowę z pracownikiem urzędu.", "Вы закончили разговор с сотрудником уженда.", "Закінчуєте розмову з працівником установи.", "You end a conversation with an office worker.", "C", None, None, 12), ("a1_greetings_t13", None, "topic_test", "application", "farewell_informal", 1, "Żegnasz się z przyjacielem.", "Вы прощаетесь с другом.", "Ви прощаєтесь з другом.", "You say goodbye to a friend.", "B", None, None, 13), ("a1_greetings_t14", None, "topic_test", "application", "answering_name", 2, "Wybierz poprawną replikę: „Cześć! Jak się nazywasz?” → ___", "Выберите правильную реплику: «Cześć! Jak się nazywasz?» → ___", "Виберіть правильну репліку: «Cześć! Jak się nazywasz?» → ___", "Choose the right reply: “Cześć! Jak się nazywasz?” → ___", "A", None, None, 14), ("a1_greetings_t15", None, "topic_test", "application", "formal_address_pan_pani", 2, "Uzupełnij dialog: „Dzień dobry, jak Pani się nazywa?” → ___", "Дополните диалог: «Dzień dobry, jak Pani się nazywa?» → ___", "Доповніть діалог: «Dzień dobry, jak Pani się nazywa?» → ___", "Complete the dialogue: “Dzień dobry, jak Pani się nazywa?” → ___", "A", None, None, 15), ("a1_greetings_t16", None, "topic_test", "application", "greeting_formal", 2, "Wybierz odpowiednią replikę dla pierwszej rozmowy z pracownikiem urzędu.", "Выберите подходящую реплику для первого разговора с сотрудником уженда.", "Виберіть відповідну репліку для першої розмови з працівником установи.", "Choose the right phrase for a first conversation with an office worker.", "B", None, None, 16), ("a1_greetings_t17", None, "topic_test", "recognition", "greeting_informal", 2, "Które słowo może być używane i na powitanie, i na pożegnanie?", "Какое слово может использоваться и при встрече, и при прощании?", "Яке слово може використовуватися і при зустрічі, і при прощанні?", "Which word can be used for both greeting and farewell?", "B", None, None, 17), ("a1_greetings_t18", None, "topic_test", "production", "formal_address_pan_pani", 2, "Wstaw słowo: „Jak ___ się nazywa?” (formalnie do kobiety)", "Вставьте слово: «Jak ___ się nazywa?» (формально к женщине)", "Вставте слово: «Jak ___ się nazywa?» (формально до жінки)", "Insert the word: “Jak ___ się nazywa?” (formally to a woman)", "Pani", "first_letter", "P", 18), ("a1_greetings_t19", None, "topic_test", "application", "responding_how_are_you", 2, "Rozmówca mówi: „Cześć! Jak się masz?” Wybierz najlepszą odpowiedź.", "Собеседник говорит: «Cześć! Jak się masz?» Выберите лучший ответ.", "Співрозмовник каже: «Cześć! Jak się masz?» Виберіть найкращу відповідь.", "The speaker says: “Cześć! Jak się masz?” Choose the best answer.", "A", None, None, 19), ("a1_greetings_t20", None, "topic_test", "application", "formal_address_pan_pani", 3, "Pierwszy raz spotykasz nieznajomego mężczyznę w pracy rano. Chcesz się przywitać i zapytać o imię formalnie.", "Вы впервые встречаете незнакомого мужчину на работе утром. Хотите поздороваться и спросить имя формально.", "Вперше зустрічаєте незнайомого чоловіка на роботі вранці. Хочете привітатися і запитати ім'я формально.", "You meet an unknown man at work in the morning. You want to greet and ask his name formally.", "B", None, None, 20), ] for q in test_questions: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_greetings', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options = [ ("a1_greetings_t01", "A", "Cześć!", "Привет!", "Привіт!", "Hi!", False, "too_informal"), ("a1_greetings_t01", "B", "Dzień dobry!", "Добрый день!", "Добрий день!", "Good morning!", True, None), ("a1_greetings_t01", "C", "Na razie!", "Пока!", "Бувай!", "See you!", False, "farewell"), ("a1_greetings_t01", "D", "Pa!", "Пока!", "Па!", "Bye!", False, "farewell"), ("a1_greetings_t02", "A", "Dzień dobry!", "Добрый день!", "Добрий день!", "Good morning!", False, "too_formal"), ("a1_greetings_t02", "B", "Cześć!", "Привет!", "Привіт!", "Hi!", True, None), ("a1_greetings_t02", "C", "Do widzenia!", "До свидания!", "До побачення!", "Goodbye!", False, "farewell"), ("a1_greetings_t02", "D", "Dobranoc!", "Спокойной ночи!", "На добраніч!", "Good night!", False, "wrong_context"), ("a1_greetings_t03", "A", "Ja jesteś Anna.", "Я есть Анна.", "Я є Анна.", "I are Anna.", False, "wrong_person"), ("a1_greetings_t03", "B", "Ja jestem Anna.", "Я Анна.", "Я Анна.", "I am Anna.", True, None), ("a1_greetings_t03", "C", "Ja jest Anna.", "Я есть Анна.", "Я є Анна.", "I is Anna.", False, "wrong_person"), ("a1_greetings_t03", "D", "Ja są Anna.", "Я есть Анна.", "Я є Анна.", "I are Anna.", False, "wrong_number"), ("a1_greetings_t05", "A", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_question_meaning"), ("a1_greetings_t05", "B", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", True, None), ("a1_greetings_t05", "C", "Jak Pan się nazywa?", "Как вас зовут? (м)", "Як вас звати? (ч)", "What is your name? (m)", False, "too_formal"), ("a1_greetings_t05", "D", "Skąd jesteś?", "Откуда ты?", "Звідки ти?", "Where are you from?", False, "wrong_question_meaning"), ("a1_greetings_t06", "A", "Dobrze, dziękuję.", "Хорошо, спасибо.", "Добре, дякую.", "Good, thank you.", False, "wrong_response"), ("a1_greetings_t06", "B", "Nazywam się Piotr.", "Меня зовут Пётр.", "Мене звати Пьотр.", "My name is Piotr.", True, None), ("a1_greetings_t06", "C", "Do widzenia.", "До свидания.", "До побачення.", "Goodbye.", False, "wrong_phrase_category"), ("a1_greetings_t06", "D", "Jestem się Piotr.", "Я есть Пётр.", "Я є Пьотр.", "I am Piotr.", False, "wrong_construction"), ("a1_greetings_t07", "A", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "too_informal"), ("a1_greetings_t07", "B", "Jak Pan się nazywa?", "Как вас зовут? (м)", "Як вас звати? (ч)", "What is your name? (m)", False, "wrong_gender"), ("a1_greetings_t07", "C", "Jak Pani się nazywa?", "Как вас зовут? (ж)", "Як вас звати? (ж)", "What is your name? (f)", True, None), ("a1_greetings_t07", "D", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_question_meaning"), ("a1_greetings_t08", "A", "Jak Pani się nazywa?", "Как вас зовут? (ж)", "Як вас звати? (ж)", "What is your name? (f)", False, "wrong_gender"), ("a1_greetings_t08", "B", "Jak Pan się nazywa?", "Как вас зовут? (м)", "Як вас звати? (ч)", "What is your name? (m)", True, None), ("a1_greetings_t08", "C", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "too_informal"), ("a1_greetings_t08", "D", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_question_meaning"), ("a1_greetings_t09", "A", "Как тебя зовут?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "confused_with_name_question"), ("a1_greetings_t09", "B", "Как дела?", "Как дела?", "Як справи?", "How are you?", True, None), ("a1_greetings_t09", "C", "Где ты живёшь?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?", False, "confused_with_origin_question"), ("a1_greetings_t09", "D", "До свидания.", "До свидания.", "До побачення.", "Goodbye.", False, "confused_with_farewell"), ("a1_greetings_t10", "A", "Dobrze, dziękuję.", "Хорошо, спасибо.", "Добре, дякую.", "Good, thank you.", True, None), ("a1_greetings_t10", "B", "Nazywam się Anna.", "Меня зовут Анна.", "Мене звати Анна.", "My name is Anna.", False, "wrong_response"), ("a1_greetings_t10", "C", "Do widzenia.", "До свидания.", "До побачення.", "Goodbye.", False, "wrong_phrase_category"), ("a1_greetings_t10", "D", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "wrong_question_meaning"), ("a1_greetings_t12", "A", "Cześć!", "Привет!", "Привіт!", "Hi!", False, "too_informal"), ("a1_greetings_t12", "B", "Na razie!", "Пока!", "Бувай!", "See you!", False, "too_informal"), ("a1_greetings_t12", "C", "Do widzenia!", "До свидания!", "До побачення!", "Goodbye!", True, None), ("a1_greetings_t12", "D", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_phrase_category"), ("a1_greetings_t13", "A", "Do widzenia!", "До свидания!", "До побачення!", "Goodbye!", False, "too_formal"), ("a1_greetings_t13", "B", "Na razie!", "Пока!", "Бувай!", "See you!", True, None), ("a1_greetings_t13", "C", "Dzień dobry!", "Добрый день!", "Добрий день!", "Good morning!", False, "is_greeting_not_farewell"), ("a1_greetings_t13", "D", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "wrong_phrase_category"), ("a1_greetings_t14", "A", "Nazywam się Tomek.", "Меня зовут Томек.", "Мене звати Томек.", "My name is Tomek.", True, None), ("a1_greetings_t14", "B", "Do widzenia.", "До свидания.", "До побачення.", "Goodbye.", False, "wrong_phrase_category"), ("a1_greetings_t14", "C", "Dobrze, dziękuję.", "Хорошо, спасибо.", "Добре, дякую.", "Good, thank you.", False, "wrong_response"), ("a1_greetings_t14", "D", "Dzień dobry.", "Добрый день.", "Добрий день.", "Good morning.", False, "wrong_context"), ("a1_greetings_t15", "A", "Nazywam się Anna.", "Меня зовут Анна.", "Мене звати Анна.", "My name is Anna.", True, None), ("a1_greetings_t15", "B", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_question_meaning"), ("a1_greetings_t15", "C", "Cześć!", "Привет!", "Привіт!", "Hi!", False, "too_informal"), ("a1_greetings_t15", "D", "Na razie!", "Пока!", "Бувай!", "See you!", False, "wrong_phrase_category"), ("a1_greetings_t16", "A", "Cześć!", "Привет!", "Привіт!", "Hi!", False, "too_informal"), ("a1_greetings_t16", "B", "Dzień dobry!", "Добрый день!", "Добрий день!", "Good morning!", True, None), ("a1_greetings_t16", "C", "Pa!", "Пока!", "Па!", "Bye!", False, "farewell"), ("a1_greetings_t16", "D", "Na razie!", "Пока!", "Бувай!", "See you!", False, "farewell"), ("a1_greetings_t17", "A", "Dzień dobry", "Добрый день", "Добрий день", "Good morning", False, "greeting_only"), ("a1_greetings_t17", "B", "Cześć", "Привет", "Привіт", "Hi", True, None), ("a1_greetings_t17", "C", "Do widzenia", "До свидания", "До побачення", "Goodbye", False, "farewell_only"), ("a1_greetings_t17", "D", "Dobranoc", "Спокойной ночи", "На добраніч", "Good night", False, "wrong_context"), ("a1_greetings_t19", "A", "Dobrze, dziękuję. A ty?", "Хорошо, спасибо. А ты?", "Добре, дякую. А ти?", "Good, thank you. And you?", True, None), ("a1_greetings_t19", "B", "Nazywam się Oleg.", "Меня зовут Олег.", "Мене звати Олег.", "My name is Oleg.", False, "wrong_response"), ("a1_greetings_t19", "C", "Do widzenia, Pani.", "До свидания, пани.", "До побачення, пані.", "Goodbye, Mrs.", False, "too_formal"), ("a1_greetings_t19", "D", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "wrong_question_meaning"), ("a1_greetings_t20", "A", "Cześć! Jak się nazywasz?", "Привет! Как тебя зовут?", "Привіт! Як тебе звати?", "Hi! What's your name?", False, "too_informal"), ("a1_greetings_t20", "B", "Dzień dobry. Jak Pan się nazywa?", "Добрый день. Как вас зовут?", "Добрий день. Як вас звати?", "Good morning. What is your name?", True, None), ("a1_greetings_t20", "C", "Cześć! Jak się masz?", "Привет! Как дела?", "Привіт! Як справи?", "Hi! How are you?", False, "too_informal"), ("a1_greetings_t20", "D", "Na razie! Jak się nazywasz?", "Пока! Как тебя зовут?", "Бувай! Як тебе звати?", "Bye! What's your name?", False, "wrong_phrase_category"), ] for opt in test_options: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 2: SKĄD JESTEŚ? GDZIE MIESZKASZ? ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_origin_residence', 'A1', 2, 'Skąd jesteś? Gdzie mieszkasz?', 'Откуда ты? Где живёшь?', 'Звідки ти? Де живеш?', 'Where are you from? Where do you live?') ON CONFLICT (topic_id) DO NOTHING """) # Уроки темы 2 lessons_t2 = [ ("a1_origin_l01", 1, "asking_origin", "Skąd jesteś?", "Откуда ты?", "Звідки ти?", "Where are you from?", "Skąd jesteś? — pytamy, skąd ktoś pochodzi.", "Skąd jesteś? — «Откуда ты?»", "Skąd jesteś? — «Звідки ти?»", "Skąd jesteś? — “Where are you from?”"), ("a1_origin_l02", 2, "answering_origin", "Jestem z...", "Я из...", "Я з...", "I am from...", "Jestem z + kraj/miejsce. Przykłady: Jestem z Polski, Jestem z Ukrainy.", "Jestem z... — «Я из...»", "Jestem z... — «Я з...»", "Jestem z... — “I am from...”"), ("a1_origin_l03", 3, "country_vocabulary", "Kraje", "Страны", "Країни", "Countries", "Polska, Ukraina, Białoruś, Rosja, Niemcy, Francja, Hiszpania, Włochy, Wielka Brytania, USA.", "Учимся узнавать распространённые названия стран непосредственно на польском.", "Вчимося впізнавати поширені назви країн польською.", "Learn to recognize common country names in Polish."), ("a1_origin_l04", 4, "nationality_forms", "Narodowość", "Национальность", "Національність", "Nationality", "Polska → Polak/Polka. Ukraina → Ukrainiec/Ukrainka. Białoruś → Białorusin/Białorusinka. Forma zależy od płci.", "Форма зависит от пола говорящего. Мужчина: Jestem Białorusinem. Женщина: Jestem Białorusinką.", "Форма залежить від статі. Чоловік: Jestem Białorusinem. Жінка: Jestem Białorusinką.", "The nationality form can change depending on gender."), ("a1_origin_l05", 5, "asking_residence", "Gdzie mieszkasz?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?", "Gdzie mieszkasz? — «Где ты живёшь?» Gdzie = «где».", "Gdzie mieszkasz? — «Где ты живёшь?» Не путайте со Skąd jesteś?", "Gdzie mieszkasz? — «Де ти живеш?» Не плутайте зі Skąd jesteś?", "Gdzie mieszkasz? — “Where do you live?” Don't confuse with Skąd jesteś?”"), ("a1_origin_l06", 6, "answering_residence", "Mieszkam w...", "Я живу в...", "Я живу в...", "I live in...", "Mieszkam w + miejsce. Przykłady: Mieszkam w Warszawie, Mieszkam w Krakowie.", "Mieszkam w... — «Я живу в...»", "Mieszkam w... — «Я живу в...»", "Mieszkam w... — “I live in...”"), ("a1_origin_l07", 7, "city_vocabulary", "Miasta", "Города", "Міста", "Cities", "Warszawa, Kraków, Gdańsk, Wrocław, Poznań, Łódź, Mińsk, Lwów.", "Учимся узнавать распространённые названия городов на польском.", "Вчимося впізнавати поширені назви міст польською.", "Learn to recognize common city names in Polish."), ("a1_origin_l08", 8, "skad_vs_gdzie", "Skąd czy Gdzie?", "Skąd или Gdzie?", "Skąd чи Gdzie?", "Skąd or Gdzie?", "Skąd? = откуда. Gdzie? = где. Skąd jesteś? Gdzie mieszkasz?", "Skąd? = откуда. Gdzie? = где. Это ключевое различие темы.", "Skąd? = звідки. Gdzie? = де. Це ключова відмінність теми.", "Skąd? = where from. Gdzie? = where. This is a key distinction."), ("a1_origin_l09", 9, "mieszkac_conjugation", "Mieszkam / mieszkasz", "Mieszkam / mieszkasz", "Mieszkam / mieszkasz", "Mieszkam / mieszkasz", "Ja mieszkam. Ty mieszkasz.", "«Я» → mieszkam. «Ты» → mieszkasz.", "«Я» → mieszkam. «Ти» → mieszkasz.", "“I” → mieszkam. “you” → mieszkasz."), ("a1_origin_l10", 10, "self_description", "O sobie", "О себе", "Про себе", "About myself", "Cześć! Nazywam się Anna. Jestem z Ukrainy. Mieszkam w Warszawie.", "«Привет! Меня зовут Анна. Я из Украины. Я живу в Варшаве».", "«Привіт! Мене звати Анна. Я з України. Я живу у Варшаві».", "“Hi! My name is Anna. I am from Ukraine. I live in Warsaw.”"), ] for lesson in lessons_t2: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_origin_residence', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) # Примеры темы 2 examples_t2 = [ ("a1_origin_l01", 1, "Skąd jesteś?", "Откуда ты?", "Звідки ти?", "Where are you from?"), ("a1_origin_l01", 2, "Cześć! Skąd jesteś?", "Привет! Откуда ты?", "Привіт! Звідки ти?", "Hi! Where are you from?"), ("a1_origin_l02", 1, "Jestem z Polski.", "Я из Польши.", "Я з Польщі.", "I am from Poland."), ("a1_origin_l02", 2, "Jestem z Ukrainy.", "Я из Украины.", "Я з України.", "I am from Ukraine."), ("a1_origin_l03", 1, "Polska", "Польша", "Польща", "Poland"), ("a1_origin_l03", 2, "Niemcy", "Германия", "Німеччина", "Germany"), ("a1_origin_l04", 1, "Jestem Polakiem.", "Я поляк.", "Я поляк.", "I am Polish (male)."), ("a1_origin_l04", 2, "Jestem Ukrainką.", "Я украинка.", "Я українка.", "I am Ukrainian (female)."), ("a1_origin_l05", 1, "Gdzie mieszkasz?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?"), ("a1_origin_l06", 1, "Mieszkam w Warszawie.", "Я живу в Варшаве.", "Я живу у Варшаві.", "I live in Warsaw."), ("a1_origin_l06", 2, "Mieszkam w Krakowie.", "Я живу в Кракове.", "Я живу у Кракові.", "I live in Kraków."), ("a1_origin_l07", 1, "Warszawa", "Варшава", "Варшава", "Warsaw"), ("a1_origin_l07", 2, "Kraków", "Краков", "Краків", "Kraków"), ("a1_origin_l08", 1, "Skąd jesteś?", "Откуда ты?", "Звідки ти?", "Where are you from?"), ("a1_origin_l08", 2, "Gdzie mieszkasz?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?"), ("a1_origin_l09", 1, "Ja mieszkam.", "Я живу.", "Я живу.", "I live."), ("a1_origin_l09", 2, "Ty mieszkasz.", "Ты живёшь.", "Ти живеш.", "You live."), ("a1_origin_l10", 1, "Nazywam się Anna. Jestem z Ukrainy. Mieszkam w Warszawie.", "Меня зовут Анна. Я из Украины. Я живу в Варшаве.", "Мене звати Анна. Я з України. Я живу у Варшаві.", "My name is Anna. I am from Ukraine. I live in Warsaw."), ] for ex in examples_t2: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) # Вопросы уроков темы 2 questions_t2 = [ ("a1_origin_l01_q1", "a1_origin_l01", "lesson_practice", "recognition", "asking_origin", 1, "Chcesz zapytać nową osobę, skąd pochodzi.", "Вы познакомились с новым человеком и хотите спросить, откуда он.", "Ви познайомилися з новою людиною і хочете запитати, звідки вона.", "You met a new person and want to ask where they are from.", "B", None, None), ("a1_origin_l02_q1", "a1_origin_l02", "lesson_practice", "recognition", "answering_origin", 1, "Wstaw słowo: Jestem ___ Ukrainy.", "Вставьте слово: Jestem ___ Ukrainy.", "Вставте слово: Jestem ___ Ukrainy.", "Insert the word: Jestem ___ Ukrainy.", "B", None, None), ("a1_origin_l03_q1", "a1_origin_l03", "lesson_practice", "recognition", "country_vocabulary", 1, "Jak po polsku „Niemcy”?", "Как по-польски «Германия»?", "Як польською «Німеччина»?", "How to say “Germany” in Polish?", "B", None, None), ("a1_origin_l04_q1", "a1_origin_l04", "lesson_practice", "recognition", "nationality_forms", 2, "Mężczyzna mówi: „Jestem Białorusinem”.", "Мужчина говорит: «Я белорус».", "Чоловік говорить: «Я білорус».", "A man says: “I am Belarusian”.", "B", None, None), ("a1_origin_l05_q1", "a1_origin_l05", "lesson_practice", "recognition", "asking_residence", 1, "Chcesz zapytać kolegę, gdzie mieszka.", "Вы хотите спросить друга, где он живёт.", "Ви хочете запитати друга, де він живе.", "You want to ask a friend where they live.", "B", None, None), ("a1_origin_l06_q1", "a1_origin_l06", "lesson_practice", "recognition", "answering_residence", 1, "Wybierz poprawny wariant.", "Выберите правильный вариант.", "Виберіть правильний варіант.", "Choose the correct option.", "B", None, None), ("a1_origin_l07_q1", "a1_origin_l07", "lesson_practice", "recognition", "city_vocabulary", 1, "Jak po polsku „Warszawa”?", "Как по-польски «Варшава»?", "Як польською «Варшава»?", "How to say “Warsaw” in Polish?", "A", None, None), ("a1_origin_l08_q1", "a1_origin_l08", "lesson_practice", "recognition", "skad_vs_gdzie", 2, "Wybierz poprawne słowo: ___ mieszkasz?", "Выберите правильное слово: ___ mieszkasz?", "Виберіть правильне слово: ___ mieszkasz?", "Choose the correct word: ___ mieszkasz?", "B", None, None), ("a1_origin_l09_q1", "a1_origin_l09", "lesson_practice", "recognition", "mieszkac_conjugation", 2, "Ty ___ w Warszawie.", "Ty ___ w Warszawie.", "Ty ___ w Warszawie.", "Ty ___ w Warszawie.", "B", None, None), ("a1_origin_l10_q1", "a1_origin_l10", "lesson_practice", "recognition", "self_description", 2, "Który wariant jest poprawny?", "Какой вариант правильный?", "Який варіант правильний?", "Which option is correct?", "A", None, None), ] for q in questions_t2: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_origin_residence', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) # Варианты ответов темы 2 options_t2 = [ ("a1_origin_l01_q1", "A", "Gdzie mieszkasz?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?", False, "wrong_question_meaning"), ("a1_origin_l01_q1", "B", "Skąd jesteś?", "Откуда ты?", "Звідки ти?", "Where are you from?", True, None), ("a1_origin_l01_q1", "C", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "wrong_question_meaning"), ("a1_origin_l01_q1", "D", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_question_meaning"), ("a1_origin_l02_q1", "A", "w", "в", "в", "in", False, "wrong_preposition"), ("a1_origin_l02_q1", "B", "z", "из", "з", "from", True, None), ("a1_origin_l02_q1", "C", "do", "до", "до", "to", False, "wrong_preposition"), ("a1_origin_l02_q1", "D", "na", "на", "на", "on", False, "wrong_preposition"), ("a1_origin_l03_q1", "A", "Francja", "Франция", "Франція", "France", False, "wrong_country"), ("a1_origin_l03_q1", "B", "Niemcy", "Германия", "Німеччина", "Germany", True, None), ("a1_origin_l03_q1", "C", "Hiszpania", "Испания", "Іспанія", "Spain", False, "wrong_country"), ("a1_origin_l03_q1", "D", "Włochy", "Италия", "Італія", "Italy", False, "wrong_country"), ("a1_origin_l04_q1", "A", "Jestem Białorusinką.", "Я белоруска.", "Я білоруска.", "I am Belarusian (female).", False, "wrong_gender_form"), ("a1_origin_l04_q1", "B", "Jestem Białorusinem.", "Я белорус.", "Я білорус.", "I am Belarusian (male).", True, None), ("a1_origin_l04_q1", "C", "Jestem Białoruś.", "Я Беларусь.", "Я Білорусь.", "I am Belarus.", False, "country_not_nationality"), ("a1_origin_l04_q1", "D", "Jestem Białoruska.", "Я белорусская.", "Я білоруська.", "I am Belarusian.", False, "wrong_gender_form"), ("a1_origin_l05_q1", "A", "Skąd jesteś?", "Откуда ты?", "Звідки ти?", "Where are you from?", False, "confused_with_origin_question"), ("a1_origin_l05_q1", "B", "Gdzie mieszkasz?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?", True, None), ("a1_origin_l05_q1", "C", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_question_meaning"), ("a1_origin_l05_q1", "D", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "wrong_question_meaning"), ("a1_origin_l06_q1", "A", "Mieszkam z Warszawie.", "Я живу в Варшаве.", "Я живу у Варшаві.", "I live in Warsaw.", False, "wrong_preposition"), ("a1_origin_l06_q1", "B", "Mieszkam w Warszawie.", "Я живу в Варшаве.", "Я живу у Варшаві.", "I live in Warsaw.", True, None), ("a1_origin_l06_q1", "C", "Mieszkam do Warszawie.", "Я живу в Варшаве.", "Я живу у Варшаві.", "I live in Warsaw.", False, "wrong_preposition"), ("a1_origin_l06_q1", "D", "Mieszkam na Warszawie.", "Я живу в Варшаве.", "Я живу у Варшаві.", "I live in Warsaw.", False, "wrong_preposition"), ("a1_origin_l07_q1", "A", "Warszawa", "Варшава", "Варшава", "Warsaw", True, None), ("a1_origin_l07_q1", "B", "Wrocław", "Вроцлав", "Вроцлав", "Wrocław", False, "wrong_city"), ("a1_origin_l07_q1", "C", "Kraków", "Краков", "Краків", "Kraków", False, "wrong_city"), ("a1_origin_l07_q1", "D", "Gdańsk", "Гданьск", "Гданськ", "Gdańsk", False, "wrong_city"), ("a1_origin_l08_q1", "A", "Skąd", "Откуда", "Звідки", "Where from", False, "confused_with_origin_question"), ("a1_origin_l08_q1", "B", "Gdzie", "Где", "Де", "Where", True, None), ("a1_origin_l08_q1", "C", "Jak", "Как", "Як", "How", False, "wrong_question_word"), ("a1_origin_l08_q1", "D", "Kiedy", "Когда", "Коли", "When", False, "wrong_question_word"), ("a1_origin_l09_q1", "A", "mieszkam", "живу", "живу", "live (I)", False, "wrong_person_1st_sing"), ("a1_origin_l09_q1", "B", "mieszkasz", "живёшь", "живеш", "live (you)", True, None), ("a1_origin_l09_q1", "C", "mieszka", "живёт", "живе", "lives", False, "wrong_person_3rd_sing"), ("a1_origin_l09_q1", "D", "mieszkać", "жить", "жити", "to live", False, "infinitive_not_conjugated"), ("a1_origin_l10_q1", "A", "Nazywam się Anna. Jestem z Ukrainy. Mieszkam w Warszawie.", "Меня зовут Анна. Я из Украины. Я живу в Варшаве.", "Мене звати Анна. Я з України. Я живу у Варшаві.", "My name is Anna. I am from Ukraine. I live in Warsaw.", True, None), ("a1_origin_l10_q1", "B", "Nazywam Anna. Jestem Ukraina. Mieszkam z Warszawa.", "Неправильно.", "Неправильно.", "Incorrect.", False, "multiple_grammar_errors"), ("a1_origin_l10_q1", "C", "Jestem się Anna. Skąd Polski. Gdzie Kraków.", "Неправильно.", "Неправильно.", "Incorrect.", False, "multiple_grammar_errors"), ("a1_origin_l10_q1", "D", "Nazywam się Anna. Jestem w Ukrainy. Mieszkam z Warszawie.", "Неправильно.", "Неправильно.", "Incorrect.", False, "wrong_prepositions"), ] for opt in options_t2: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # Финальный тест темы 2 (15 вопросов) test_questions_t2 = [ ("a1_origin_t01", None, "topic_test", "recognition", "asking_origin", 1, "Chcesz zapytać, skąd ktoś pochodzi.", "Вы хотите узнать, откуда человек.", "Ви хочете дізнатися, звідки людина.", "You want to know where someone is from.", "B", None, None, 1), ("a1_origin_t02", None, "topic_test", "recognition", "answering_origin", 1, "Jestem ___ Polski.", "Jestem ___ Polski.", "Jestem ___ Polski.", "Jestem ___ Polski.", "B", None, None, 2), ("a1_origin_t03", None, "topic_test", "recognition", "country_vocabulary", 1, "Jak po polsku „Francja”?", "Как по-польски «Франция»?", "Як польською «Франція»?", "How to say “France” in Polish?", "A", None, None, 3), ("a1_origin_t04", None, "topic_test", "application", "nationality_forms", 2, "Kobieta mówi: „Jestem Ukrainką”.", "Женщина говорит: «Я украинка».", "Жінка говорить: «Я українка».", "A woman says: “I am Ukrainian”.", "B", None, None, 4), ("a1_origin_t05", None, "topic_test", "recognition", "asking_residence", 1, "„Gdzie mieszkasz?”", "«Где ты живёшь?»", "«Де ти живеш?»", "“Where do you live?”", "B", None, None, 5), ("a1_origin_t06", None, "topic_test", "recognition", "answering_residence", 1, "Wybierz poprawne zdanie.", "Выберите правильное предложение.", "Виберіть правильне речення.", "Choose the correct sentence.", "B", None, None, 6), ("a1_origin_t07", None, "topic_test", "recognition", "city_vocabulary", 1, "Który wariant to „Wrocław”?", "Какой вариант означает «Вроцлав»?", "Який варіант означає «Вроцлав»?", "Which option means “Wrocław”?", "A", None, None, 7), ("a1_origin_t08", None, "topic_test", "application", "skad_vs_gdzie", 2, "Chcesz zapytać, skąd ktoś jest.", "Вы хотите узнать, откуда человек.", "Ви хочете дізнатися, звідки людина.", "You want to know where someone is from.", "B", None, None, 8), ("a1_origin_t09", None, "topic_test", "recognition", "mieszkac_conjugation", 2, "Ja ___ w Warszawie.", "Ja ___ w Warszawie.", "Ja ___ w Warszawie.", "Ja ___ w Warszawie.", "B", None, None, 9), ("a1_origin_t10", None, "topic_test", "application", "self_description", 2, "Który wariant to poprawne przedstawienie się?", "Какой вариант является правильным коротким представлением?", "Який варіант є правильним коротким представленням?", "Which option is a correct self-introduction?", "A", None, None, 10), ("a1_origin_t11", None, "topic_test", "application", "answering_origin", 2, "Anna mówi: „Jestem z Białorusi”.", "Анна говорит: «Я из Беларуси».", "Анна говорить: «Я з Білорусі».", "Anna says: “I am from Belarus”.", "A", None, None, 11), ("a1_origin_t12", None, "topic_test", "application", "answering_residence", 2, "Paweł mieszka w Warszawie.", "Павел живёт в Варшаве.", "Павло живе у Варшаві.", "Paweł lives in Warsaw.", "A", None, None, 12), ("a1_origin_t13", None, "topic_test", "production", "asking_origin", 2, "Wpisz brakujące słowo: Skąd ___?", "Впишите пропущенное слово: Skąd ___?", "Впишіть пропущене слово: Skąd ___?", "Fill in the missing word: Skąd ___?", "jesteś", "first_letter", "j", 13), ("a1_origin_t14", None, "topic_test", "production", "mieszkac_conjugation", 2, "Wpisz: Ty ___ w Warszawie.", "Впишите: Ty ___ w Warszawie.", "Впишіть: Ty ___ w Warszawie.", "Fill in: Ty ___ w Warszawie.", "mieszkasz", "first_letter", "m", 14), ("a1_origin_t15", None, "topic_test", "application", "self_description", 3, "Chcesz powiedzieć: „Jestem z Ukrainy i mieszkam w Warszawie”.", "Вы хотите сказать: «Я из Украины и живу в Варшаве».", "Ви хочете сказати: «Я з України і живу у Варшаві».", "You want to say: “I am from Ukraine and I live in Warsaw”.", "A", None, None, 15), ] for q in test_questions_t2: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_origin_residence', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t2 = [ ("a1_origin_t01", "A", "Gdzie mieszkasz?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?", False, "wrong_question_meaning"), ("a1_origin_t01", "B", "Skąd jesteś?", "Откуда ты?", "Звідки ти?", "Where are you from?", True, None), ("a1_origin_t01", "C", "Jak się masz?", "Как дела?", "Як справи?", "How are you?", False, "wrong_question_meaning"), ("a1_origin_t01", "D", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "wrong_question_meaning"), ("a1_origin_t02", "A", "w", "в", "в", "in", False, "wrong_preposition"), ("a1_origin_t02", "B", "z", "из", "з", "from", True, None), ("a1_origin_t02", "C", "do", "до", "до", "to", False, "wrong_preposition"), ("a1_origin_t02", "D", "na", "на", "на", "on", False, "wrong_preposition"), ("a1_origin_t03", "A", "Francja", "Франция", "Франція", "France", True, None), ("a1_origin_t03", "B", "Francuz", "Француз", "Француз", "Frenchman", False, "wrong_word_form"), ("a1_origin_t03", "C", "Fryzja", "Фризия", "Фризія", "Frisia", False, "wrong_country"), ("a1_origin_t03", "D", "Finlandia", "Финляндия", "Фінляндія", "Finland", False, "wrong_country"), ("a1_origin_t04", "A", "Jestem Ukrainiec.", "Я украинец.", "Я українець.", "I am Ukrainian (male).", False, "wrong_gender_form"), ("a1_origin_t04", "B", "Jestem Ukrainką.", "Я украинка.", "Я українка.", "I am Ukrainian (female).", True, None), ("a1_origin_t04", "C", "Jestem Ukraina.", "Я Украина.", "Я Україна.", "I am Ukraine.", False, "country_not_nationality"), ("a1_origin_t04", "D", "Jestem Ukraiński.", "Я украинский.", "Я український.", "I am Ukrainian.", False, "wrong_word_form"), ("a1_origin_t05", "A", "Skąd jesteś?", "Откуда ты?", "Звідки ти?", "Where are you from?", False, "confused_with_origin_question"), ("a1_origin_t05", "B", "Gdzie mieszkasz?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?", True, None), ("a1_origin_t05", "C", "Gdzie jesteś z?", "Где ты из?", "Де ти з?", "Where are you from?", False, "wrong_question_meaning"), ("a1_origin_t05", "D", "Jak mieszkasz?", "Как ты живёшь?", "Як ти живеш?", "How do you live?", False, "wrong_question_meaning"), ("a1_origin_t06", "A", "Mieszkam z Krakowie.", "Я живу в Кракове.", "Я живу у Кракові.", "I live in Kraków.", False, "wrong_preposition"), ("a1_origin_t06", "B", "Mieszkam w Krakowie.", "Я живу в Кракове.", "Я живу у Кракові.", "I live in Kraków.", True, None), ("a1_origin_t06", "C", "Mieszkam Krakowie.", "Я живу Краков.", "Я живу Краків.", "I live Kraków.", False, "missing_preposition"), ("a1_origin_t06", "D", "Mieszkam do Krakowie.", "Я живу в Кракове.", "Я живу у Кракові.", "I live in Kraków.", False, "wrong_preposition"), ("a1_origin_t07", "A", "Wrocław", "Вроцлав", "Вроцлав", "Wrocław", True, None), ("a1_origin_t07", "B", "Warszawa", "Варшава", "Варшава", "Warsaw", False, "wrong_city"), ("a1_origin_t07", "C", "Włochy", "Италия", "Італія", "Italy", False, "wrong_city"), ("a1_origin_t07", "D", "Wiedeń", "Вена", "Відень", "Vienna", False, "wrong_city"), ("a1_origin_t08", "A", "Gdzie jesteś?", "Где ты?", "Де ти?", "Where are you?", False, "wrong_question_meaning"), ("a1_origin_t08", "B", "Skąd jesteś?", "Откуда ты?", "Звідки ти?", "Where are you from?", True, None), ("a1_origin_t08", "C", "Gdzie mieszkasz?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?", False, "wrong_question_meaning"), ("a1_origin_t08", "D", "Jak mieszkasz?", "Как ты живёшь?", "Як ти живеш?", "How do you live?", False, "wrong_question_meaning"), ("a1_origin_t09", "A", "mieszkasz", "живёшь", "живеш", "live (you)", False, "wrong_person_2nd_sing"), ("a1_origin_t09", "B", "mieszkam", "живу", "живу", "live (I)", True, None), ("a1_origin_t09", "C", "mieszka", "живёт", "живе", "lives", False, "wrong_person_3rd_sing"), ("a1_origin_t09", "D", "mieszkać", "жить", "жити", "to live", False, "infinitive_not_conjugated"), ("a1_origin_t10", "A", "Nazywam się Piotr. Jestem z Polski. Mieszkam w Krakowie.", "Меня зовут Пётр. Я из Польши. Я живу в Кракове.", "Мене звати Пьотр. Я з Польщі. Я живу у Кракові.", "My name is Piotr. I am from Poland. I live in Kraków.", True, None), ("a1_origin_t10", "B", "Nazywam Piotr. Jestem Polska. Mieszkam z Kraków.", "Неправильно.", "Неправильно.", "Incorrect.", False, "multiple_grammar_errors"), ("a1_origin_t10", "C", "Jestem się Piotr. Skąd Polski. Gdzie Kraków.", "Неправильно.", "Неправильно.", "Incorrect.", False, "multiple_grammar_errors"), ("a1_origin_t10", "D", "Nazywam się Piotr. Jestem w Polski. Mieszkam z Krakowie.", "Неправильно.", "Неправильно.", "Incorrect.", False, "wrong_prepositions"), ("a1_origin_t11", "A", "Jestem z Białorusi.", "Я из Беларуси.", "Я з Білорусі.", "I am from Belarus.", True, None), ("a1_origin_t11", "B", "Jestem w Białorusi.", "Я в Беларуси.", "Я в Білорусі.", "I am in Belarus.", False, "wrong_preposition"), ("a1_origin_t11", "C", "Mieszkam z Białorusi.", "Я живу из Беларуси.", "Я живу з Білорусі.", "I live from Belarus.", False, "wrong_verb_meaning"), ("a1_origin_t11", "D", "Jestem Białoruś.", "Я Беларусь.", "Я Білорусь.", "I am Belarus.", False, "country_not_sentence"), ("a1_origin_t12", "A", "Mieszkam w Warszawie.", "Я живу в Варшаве.", "Я живу у Варшаві.", "I live in Warsaw.", True, None), ("a1_origin_t12", "B", "Mieszkasz w Warszawie.", "Ты живёшь в Варшаве.", "Ти живеш у Варшаві.", "You live in Warsaw.", False, "wrong_person_2nd_sing"), ("a1_origin_t12", "C", "Jestem z Warszawie.", "Я из Варшавы.", "Я з Варшави.", "I am from Warsaw.", False, "wrong_preposition"), ("a1_origin_t12", "D", "Gdzie Warszawa.", "Где Варшава.", "Де Варшава.", "Where Warsaw.", False, "incomplete_sentence"), ("a1_origin_t15", "A", "Jestem z Ukrainy. Mieszkam w Warszawie.", "Я из Украины и живу в Варшаве.", "Я з України і живу у Варшаві.", "I am from Ukraine and I live in Warsaw.", True, None), ("a1_origin_t15", "B", "Jestem w Ukrainie. Mieszkam z Warszawy.", "Неправильно.", "Неправильно.", "Incorrect.", False, "wrong_prepositions"), ("a1_origin_t15", "C", "Mieszkam z Ukrainy. Jestem w Warszawie.", "Неправильно.", "Неправильно.", "Incorrect.", False, "wrong_verb_meaning"), ("a1_origin_t15", "D", "Jestem Ukraina. Mieszkam Warszawa.", "Неправильно.", "Неправильно.", "Incorrect.", False, "multiple_grammar_errors"), ] for opt in test_options_t2: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 3: СЕМЬЯ И ДРУЗЬЯ (ПЕРЕДЕЛАННАЯ) ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_family', 'A1', 3, 'Rodzina i przyjaciele', 'Семья и друзья', 'Сім''я та друзі', 'Family and Friends') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t3 = [ ("a1_family_l01", 1, "family_vocabulary", "Rodzice i rodzeństwo", "Родители и родные братья/сёстры", "Батьки та рідні брати/сестри", "Parents and siblings", "Podstawowe słowa rodzinne: mama, tata razem to rodzice. Brat i siostra razem to rodzeństwo.", "Основные семейные слова: mama и tata вместе — это rodzice. Brat и siostra вместе — это rodzeństwo.", "Основні сімейні слова: mama і tata разом — це rodzice. Brat і siostra разом — це rodzeństwo.", "Basic family words: mama and tata together are rodzice. Brat and siostra together are rodzeństwo."), ("a1_family_l02", 2, "family_vocabulary", "Dalsza rodzina", "Дальняя родня", "Далека родина", "Extended family", "Babcia i dziadek razem to dziadkowie. Brat mamy lub taty to wujek, siostra mamy lub taty to ciocia.", "Babcia и dziadek вместе — это dziadkowie. Брат мамы или папы — это wujek, сестра мамы или папы — это ciocia.", "Babcia і dziadek разом — це dziadkowie. Брат мами чи тата — це wujek, сестра мами чи тата — це ciocia.", "Babcia and dziadek together are dziadkowie. Mom's or dad's brother is wujek, mom's or dad's sister is ciocia."), ("a1_family_l03", 3, "family_possessive", "Mój czy moja?", "Mój или moja?", "Mój чи moja?", "Mój or moja?", "„Mój” używamy z rzeczownikami rodzaju męskiego: mój brat, mój tata. „Moja” używamy z rzeczownikami rodzaju żeńskiego: moja mama, moja siostra.", "„Mój” используется со словами мужского рода: mój brat, mój tata. „Moja” — со словами женского рода: moja mama, moja siostra.", "„Mój” використовується зі словами чоловічого роду: mój brat, mój tata. „Moja” — зі словами жіночого роду: moja mama, moja siostra.", "„Mój” is used with masculine nouns: mój brat, mój tata. „Moja” is used with feminine nouns: moja mama, moja siostra."), ("a1_family_l04", 4, "family_possessive", "Moi czy moje?", "Moi или moje?", "Moi чи moje?", "Moi or moje?", "W liczbie mnogiej: „moi” używamy dla grup osób, w których jest chociaż jeden mężczyzna — moi rodzice. „Moje” używamy dla wszystkiego innego — moje dzieci.", "Во множественном числе: „moi” используется для групп людей, где есть хотя бы один мужчина — moi rodzice. „Moje” — для всего остального — moje dzieci.", "У множині: „moi” використовується для груп людей, де є хоча б один чоловік — moi rodzice. „Moje” — для всього іншого — moje dzieci.", "In the plural: „moi” is used for groups that include at least one man — moi rodzice. „Moje” is used for everything else — moje dzieci."), ("a1_family_l05", 5, "family_accusative", "Mam brata, mam siostrę", "У меня есть брат, у меня есть сестра", "У мене є брат, у мене є сестра", "I have a brother, I have a sister", "Po „mam” rzeczowniki zmieniają końcówkę (biernik): brat → brata, siostra → siostrę, syn → syna, córka → córkę.", "После „mam” существительные меняют окончание (винительный падеж): brat → brata, siostra → siostrę, syn → syna, córka → córkę.", "Після „mam” іменники змінюють закінчення (знахідний відмінок): brat → brata, siostra → siostrę, syn → syna, córka → córkę.", "After „mam” nouns change their ending (accusative): brat → brata, siostra → siostrę, syn → syna, córka → córkę."), ("a1_family_l06", 6, "family_accusative", "Mam dużą rodzinę", "У меня большая семья", "У мене велика родина", "I have a big family", "Gdy dodajemy przymiotnik, on też zmienia końcówkę: duża rodzina → mam dużą rodzinę. Mały brat → mam małego brata.", "Когда добавляем прилагательное, оно тоже меняет окончание: duża rodzina → mam dużą rodzinę. Mały brat → mam małego brata.", "Коли додаємо прикметник, він теж змінює закінчення: duża rodzina → mam dużą rodzinę. Mały brat → mam małego brata.", "When an adjective is added, it also changes its ending: duża rodzina → mam dużą rodzinę. Mały brat → mam małego brata."), ("a1_family_l07", 7, "family_questions", "Masz brata?", "У тебя есть брат?", "У тебе є брат?", "Do you have a brother?", "Pytanie „Masz + biernik?” pyta, czy ktoś posiada coś/kogoś. Odpowiadamy „Tak, mam ___.” albo „Nie, nie mam ___.”", "Вопрос „Masz + винительный?” спрашивает, есть ли у кого-то что-то/кто-то. Отвечаем „Tak, mam ___.” или „Nie, nie mam ___.”", "Питання „Masz + знахідний?” запитує, чи є у когось щось/хтось. Відповідаємо „Tak, mam ___.” або „Nie, nie mam ___.”", "The question „Masz + accusative?” asks whether someone has something/someone. We answer „Tak, mam ___.” or „Nie, nie mam ___.”"), ("a1_family_l08", 8, "family_questions", "Kto to jest?", "Кто это?", "Хто це?", "Who is this?", "„Kto to jest?” pytamy, gdy chcemy wiedzieć, kim jest osoba. Odpowiadamy „To jest mój/moja ___.”", "„Kto to jest?” спрашиваем, когда хотим узнать, кто человек. Отвечаем „To jest mój/moja ___.”", "„Kto to jest?” запитуємо, коли хочемо дізнатися, хто людина. Відповідаємо „To jest mój/moja ___.”", "We ask „Kto to jest?” when we want to know who a person is. We answer „To jest mój/moja ___.”"), ("a1_family_l09", 9, "family_description", "Opowiadam o rodzinie", "Рассказываю о семье", "Розповідаю про родину", "Talking about my family", "Żeby opowiedzieć o rodzinie, łączymy kilka zdań: Mam dużą rodzinę. Mam mamę, tatę, brata i siostrę.", "Чтобы рассказать о семье, соединяем несколько предложений: Mam dużą rodzinę. Mam mamę, tatę, brata i siostrę.", "Щоб розповісти про родину, з'єднуємо кілька речень: Mam dużą rodzinę. Mam mamę, tatę, brata i siostrę.", "To talk about your family, combine several sentences: Mam dużą rodzinę. Mam mamę, tatę, brata i siostrę."), ("a1_family_l10", 10, "family_description", "Duża czy mała rodzina?", "Большая или маленькая семья?", "Велика чи мала родина?", "Big or small family?", "Możemy połączyć pytanie i pełną odpowiedź: „Masz dużą rodzinę?” — „Tak, mam dużą rodzinę: mamę, tatę, brata i siostrę.”", "Можно соединить вопрос и полный ответ: „Masz dużą rodzinę?” — „Tak, mam dużą rodzinę: mamę, tatę, brata i siostrę.”", "Можна поєднати питання і повну відповідь: „Masz dużą rodzinę?” — „Tak, mam dużą rodzinę: mamę, tatę, brata i siostrę.”", "You can combine a question and a full answer: „Masz dużą rodzinę?” — „Tak, mam dużą rodzinę: mamę, tatę, brata i siostrę.”"), ] for lesson in lessons_t3: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_family', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t3 = [ ("a1_family_l01", 1, "Mama i tata to rodzice.", "Мама и папа — это родители.", "Мама і тато — це батьки.", "Mom and dad are parents."), ("a1_family_l01", 2, "Brat i siostra to rodzeństwo.", "Брат и сестра — это братья и сёстры.", "Брат і сестра — це брати і сестри.", "Brother and sister are siblings."), ("a1_family_l01", 3, "To jest moja mama, a to mój tata.", "Это моя мама, а это мой папа.", "Це моя мама, а це мій тато.", "This is my mom, and this is my dad."), ("a1_family_l02", 1, "Babcia i dziadek to dziadkowie.", "Бабушка и дедушка вместе — это dziadkowie.", "Бабуся і дідусь разом — це dziadkowie.", "Grandma and grandpa together are dziadkowie."), ("a1_family_l02", 2, "To jest mój wujek, a to moja ciocia.", "Это мой дядя, а это моя тётя.", "Це мій дядько, а це моя тітка.", "This is my uncle, and this is my aunt."), ("a1_family_l02", 3, "Mam kuzyna i kuzynkę.", "У меня есть двоюродный брат и двоюродная сестра.", "У мене є двоюрідний брат і двоюрідна сестра.", "I have a male cousin and a female cousin."), ("a1_family_l03", 1, "To jest mój brat.", "Это мой брат.", "Це мій брат.", "This is my brother."), ("a1_family_l03", 2, "To jest moja siostra.", "Это моя сестра.", "Це моя сестра.", "This is my sister."), ("a1_family_l03", 3, "Mój tata i moja mama pracują.", "Мой папа и моя мама работают.", "Мій тато і моя мама працюють.", "My dad and my mom work."), ("a1_family_l04", 1, "To są moi rodzice.", "Это мои родители.", "Це мої батьки.", "These are my parents."), ("a1_family_l04", 2, "To są moje dzieci.", "Это мои дети.", "Це мої діти.", "These are my children."), ("a1_family_l04", 3, "Moi dziadkowie mieszkają w Krakowie.", "Мои бабушка и дедушка живут в Кракове.", "Мої бабуся і дідусь живуть у Кракові.", "My grandparents live in Kraków."), ("a1_family_l05", 1, "Mam brata.", "У меня есть брат.", "У мене є брат.", "I have a brother."), ("a1_family_l05", 2, "Mam siostrę.", "У меня есть сестра.", "У мене є сестра.", "I have a sister."), ("a1_family_l05", 3, "Mam syna i córkę.", "У меня есть сын и дочь.", "У мене є син і дочка.", "I have a son and a daughter."), ("a1_family_l06", 1, "Mam dużą rodzinę.", "У меня большая семья.", "У мене велика родина.", "I have a big family."), ("a1_family_l06", 2, "Mam małą rodzinę.", "У меня маленькая семья.", "У мене мала родина.", "I have a small family."), ("a1_family_l06", 3, "Mam starszego brata i młodszą siostrę.", "У меня есть старший брат и младшая сестра.", "У мене є старший брат і молодша сестра.", "I have an older brother and a younger sister."), ("a1_family_l07", 1, "Masz brata?", "У тебя есть брат?", "У тебе є брат?", "Do you have a brother?"), ("a1_family_l07", 2, "Tak, mam brata.", "Да, у меня есть брат.", "Так, у мене є брат.", "Yes, I have a brother."), ("a1_family_l07", 3, "Nie, nie mam siostry.", "Нет, у меня нет сестры.", "Ні, у мене немає сестри.", "No, I don't have a sister."), ("a1_family_l08", 1, "Kto to jest?", "Кто это?", "Хто це?", "Who is this?"), ("a1_family_l08", 2, "To jest moja mama.", "Это моя мама.", "Це моя мама.", "This is my mom."), ("a1_family_l08", 3, "To jest mój brat, Adam.", "Это мой брат, Адам.", "Це мій брат, Адам.", "This is my brother, Adam."), ("a1_family_l09", 1, "Mam dużą rodzinę.", "У меня большая семья.", "У мене велика родина.", "I have a big family."), ("a1_family_l09", 2, "Mam mamę, tatę, brata i siostrę.", "У меня есть мама, папа, брат и сестра.", "У мене є мама, тато, брат і сестра.", "I have a mom, a dad, a brother and a sister."), ("a1_family_l09", 3, "Moja mama ma na imię Anna.", "Мою маму зовут Анна.", "Мою маму звати Анна.", "My mom's name is Anna."), ("a1_family_l10", 1, "Masz dużą rodzinę?", "У тебя большая семья?", "У тебе велика родина?", "Do you have a big family?"), ("a1_family_l10", 2, "Tak, mam dużą rodzinę: mamę, tatę, brata i siostrę.", "Да, у меня большая семья: мама, папа, брат и сестра.", "Так, у мене велика родина: мама, тато, брат і сестра.", "Yes, I have a big family: mom, dad, brother and sister."), ("a1_family_l10", 3, "Nie, mam małą rodzinę: tylko mamę i tatę.", "Нет, у меня маленькая семья: только мама и папа.", "Ні, у мене мала родина: тільки мама і тато.", "No, I have a small family: just mom and dad."), ] for ex in examples_t3: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t3 = [ ("a1_family_l01_q1", "a1_family_l01", "lesson_practice", "recognition", "family_vocabulary", 1, "Jak nazywa się rodzic płci żeńskiej?", "Как называется родитель женского пола?", "Як називається батько жіночої статі?", "What do you call the female parent?", "B", None, None), ("a1_family_l01_q2", "a1_family_l01", "lesson_practice", "production", "family_vocabulary", 1, "Wpisz brakujące słowo: Mama i tata to ___. (родители)", "Вставьте пропущенное слово: Mama i tata to ___. (родители)", "Вставте пропущене слово: Mama i tata to ___. (батьки)", "Fill in the missing word: Mama i tata to ___. (parents)", "rodzice", "first_letter", "r"), ("a1_family_l01_q3", "a1_family_l01", "lesson_practice", "application", "family_vocabulary", 1, "Pokazujesz koledze zdjęcie i mówisz o swoim bracie i siostrze razem. Jak ich nazwiesz?", "Вы показываете другу фото и говорите о своих брате и сестре вместе. Как вы их назовёте?", "Ви показуєте другу фото і говорите про свого брата і сестру разом. Як ви їх назвете?", "You show a friend a photo and talk about your brother and sister together. What do you call them?", "B", None, None), ("a1_family_l02_q1", "a1_family_l02", "lesson_practice", "recognition", "family_vocabulary", 1, "Jak po polsku powiesz „бабушка”?", "Как по-польски «бабушка»?", "Як польською «бабуся»?", "How do you say “grandma” in Polish?", "B", None, None), ("a1_family_l02_q2", "a1_family_l02", "lesson_practice", "production", "family_vocabulary", 2, "Wpisz brakujące słowo: Brat mamy to mój ___. (дядя)", "Вставьте пропущенное слово: Brat mamy to mój ___. (дядя)", "Вставте пропущене слово: Brat mamy to mój ___. (дядько)", "Fill in the missing word: Brat mamy to mój ___. (uncle)", "wujek", "first_letter", "w"), ("a1_family_l02_q3", "a1_family_l02", "lesson_practice", "application", "family_vocabulary", 2, "Pokazujesz zdjęcie syna swojego wujka. Kim on dla ciebie jest?", "Вы показываете фото сына своего дяди. Кем он вам приходится?", "Ви показуєте фото сина свого дядька. Ким він вам доводиться?", "You show a photo of your uncle's son. Who is he to you?", "B", None, None), ("a1_family_l03_q1", "a1_family_l03", "lesson_practice", "recognition", "family_possessive", 1, "Wybierz poprawną formę: To jest ___ brat.", "Выберите правильную форму: To jest ___ brat.", "Виберіть правильну форму: To jest ___ brat.", "Choose the correct form: To jest ___ brat.", "A", None, None), ("a1_family_l03_q2", "a1_family_l03", "lesson_practice", "production", "family_possessive", 1, "Wpisz brakujące słowo: To jest ___ siostra. (моя)", "Вставьте пропущенное слово: To jest ___ siostra. (моя)", "Вставте пропущене слово: To jest ___ siostra. (моя)", "Fill in the missing word: To jest ___ siostra. (my)", "moja", "first_letter", "m"), ("a1_family_l03_q3", "a1_family_l03", "lesson_practice", "application", "family_possessive", 2, "Pokazujesz zdjęcie taty koledze. Jak powiesz?", "Вы показываете фото папы другу. Как вы скажете?", "Ви показуєте фото тата другу. Як ви скажете?", "You show a photo of your dad to a friend. What do you say?", "B", None, None), ("a1_family_l04_q1", "a1_family_l04", "lesson_practice", "recognition", "family_possessive", 2, "Wybierz poprawną formę: To są ___ rodzice.", "Выберите правильную форму: To są ___ rodzice.", "Виберіть правильну форму: To są ___ rodzice.", "Choose the correct form: To są ___ rodzice.", "B", None, None), ("a1_family_l04_q2", "a1_family_l04", "lesson_practice", "production", "family_possessive", 2, "Wpisz brakujące słowo: To są ___ dzieci. (мои)", "Вставьте пропущенное слово: To są ___ dzieci. (мои)", "Вставте пропущене слово: To są ___ dzieci. (мої)", "Fill in the missing word: To są ___ dzieci. (my)", "moje", "first_letter", "m"), ("a1_family_l04_q3", "a1_family_l04", "lesson_practice", "application", "family_possessive", 2, "Mówisz o swoich dziadkach (babci i dziadku razem). Jak powiesz?", "Вы говорите о своих бабушке и дедушке вместе. Как вы скажете?", "Ви говорите про свою бабусю і дідуся разом. Як ви скажете?", "You talk about your grandma and grandpa together. What do you say?", "B", None, None), ("a1_family_l05_q1", "a1_family_l05", "lesson_practice", "recognition", "family_accusative", 2, "Wybierz poprawną formę: Mam ___. (brat)", "Выберите правильную форму: Mam ___. (brat)", "Виберіть правильну форму: Mam ___. (brat)", "Choose the correct form: Mam ___. (brat)", "B", None, None), ("a1_family_l05_q2", "a1_family_l05", "lesson_practice", "production", "family_accusative", 2, "Wpisz brakujące słowo: Mam ___. (сестра)", "Вставьте пропущенное слово: Mam ___. (сестра)", "Вставте пропущене слово: Mam ___. (сестра)", "Fill in the missing word: Mam ___. (sister)", "siostrę", "first_letter", "s"), ("a1_family_l05_q3", "a1_family_l05", "lesson_practice", "application", "family_accusative", 2, "Kolega pyta, czy masz rodzeństwo. Chcesz powiedzieć, że masz brata. Co powiesz?", "Друг спрашивает, есть ли у тебя братья/сёстры. Ты хочешь сказать, что у тебя есть брат. Что ты скажешь?", "Друг питає, чи є у тебе брати/сестри. Ти хочеш сказати, що у тебе є брат. Що ти скажеш?", "A friend asks if you have siblings. You want to say you have a brother. What do you say?", "B", None, None), ("a1_family_l06_q1", "a1_family_l06", "lesson_practice", "recognition", "family_accusative", 2, "Wybierz poprawną formę: Mam ___ rodzinę. (duża)", "Выберите правильную форму: Mam ___ rodzinę. (duża)", "Виберіть правильну форму: Mam ___ rodzinę. (duża)", "Choose the correct form: Mam ___ rodzinę. (big)", "B", None, None), ("a1_family_l06_q2", "a1_family_l06", "lesson_practice", "production", "family_accusative", 2, "Wpisz brakujące słowo: Mam ___ rodzinę. (маленькая)", "Вставьте пропущенное слово: Mam ___ rodzinę. (маленькая)", "Вставте пропущене слово: Mam ___ rodzinę. (маленька)", "Fill in the missing word: Mam ___ rodzinę. (small)", "małą", "first_letter", "m"), ("a1_family_l06_q3", "a1_family_l06", "lesson_practice", "application", "family_accusative", 3, "Chcesz powiedzieć, że masz starszego brata. Co powiesz?", "Ты хочешь сказать, что у тебя есть старший брат. Что ты скажешь?", "Ти хочеш сказати, що у тебе є старший брат. Що ти скажеш?", "You want to say you have an older brother. What do you say?", "B", None, None), ("a1_family_l07_q1", "a1_family_l07", "lesson_practice", "recognition", "family_questions", 1, "Co znaczy „Masz siostrę?”", "Что означает «Masz siostrę?»", "Що означає «Masz siostrę?»", "What does “Masz siostrę?” mean?", "A", None, None), ("a1_family_l07_q2", "a1_family_l07", "lesson_practice", "production", "family_questions", 2, "Uzupełnij dialog: — ___ brata? — Tak, mam brata. (ty)", "Дополните диалог: — ___ brata? — Tak, mam brata. (ты)", "Доповніть діалог: — ___ brata? — Tak, mam brata. (ти)", "Complete the dialogue: — ___ brata? — Tak, mam brata. (you)", "Masz", "first_letter", "M"), ("a1_family_l07_q3", "a1_family_l07", "lesson_practice", "application", "family_questions", 2, "Chcesz zapytać kolegę, czy ma siostrę. Co powiesz?", "Ты хочешь спросить друга, есть ли у него сестра. Что ты скажешь?", "Ти хочеш запитати друга, чи є у нього сестра. Що ти скажеш?", "You want to ask a friend if he has a sister. What do you say?", "B", None, None), ("a1_family_l08_q1", "a1_family_l08", "lesson_practice", "recognition", "family_questions", 1, "Które pytanie oznacza «Кто это?»", "Какой вопрос означает «Кто это?»", "Яке питання означає «Хто це?»", "Which question means “Who is this?”", "B", None, None), ("a1_family_l08_q2", "a1_family_l08", "lesson_practice", "production", "family_questions", 2, "Uzupełnij: — Kto to jest? — To jest ___ mama. (моя)", "Дополните: — Kto to jest? — To jest ___ mama. (моя)", "Доповніть: — Kto to jest? — To jest ___ mama. (моя)", "Complete: — Kto to jest? — To jest ___ mama. (my)", "moja", "first_letter", "m"), ("a1_family_l08_q3", "a1_family_l08", "lesson_practice", "application", "family_questions", 2, "Kolega pokazuje zdjęcie i pyta „Kto to jest?” o twoim bracie. Co odpowiesz?", "Друг показывает фото и спрашивает «Kto to jest?» о твоём брате. Что ты ответишь?", "Друг показує фото і питає «Kto to jest?» про твого брата. Що ти відповіси?", "A friend shows a photo and asks “Kto to jest?” about your brother. How do you answer?", "B", None, None), ("a1_family_l09_q1", "a1_family_l09", "lesson_practice", "recognition", "family_description", 2, "Które zdanie poprawnie opisuje rodzinę?", "Какое предложение правильно описывает семью?", "Яке речення правильно описує родину?", "Which sentence correctly describes a family?", "B", None, None), ("a1_family_l09_q2", "a1_family_l09", "lesson_practice", "production", "family_description", 2, "Przetłumacz: «У меня есть брат и сестра».", "Переведите: «У меня есть брат и сестра».", "Перекладіть: «У мене є брат і сестра».", "Translate: “I have a brother and a sister.”", "Mam brata i siostrę", "first_letter", "M"), ("a1_family_l09_q3", "a1_family_l09", "lesson_practice", "application", "family_description", 3, "Chcesz opowiedzieć koledze o swojej rodzinie: masz mamę, tatę i brata. Jak zaczniesz zdanie?", "Ты хочешь рассказать другу о своей семье: у тебя есть мама, папа и брат. Как ты начнёшь предложение?", "Ти хочеш розповісти другу про свою родину: у тебе є мама, тато і брат. Як ти почнеш речення?", "You want to tell a friend about your family: you have a mom, dad and brother. How do you start the sentence?", "B", None, None), ("a1_family_l10_q1", "a1_family_l10", "lesson_practice", "recognition", "family_description", 2, "Co znaczy „Masz dużą rodzinę?”", "Что означает «Masz dużą rodzinę?»", "Що означає «Masz dużą rodzinę?»", "What does “Masz dużą rodzinę?” mean?", "A", None, None), ("a1_family_l10_q2", "a1_family_l10", "lesson_practice", "production", "family_description", 3, "Przetłumacz: «У меня большая семья: мама, папа, брат и сестра».", "Переведите: «У меня большая семья: мама, папа, брат и сестра».", "Перекладіть: «У мене велика родина: мама, тато, брат і сестра».", "Translate: “I have a big family: mom, dad, brother and sister.”", "Mam dużą rodzinę: mamę, tatę, brata i siostrę", "first_letter", "M"), ("a1_family_l10_q3", "a1_family_l10", "lesson_practice", "application", "family_description", 3, "Kolega pyta „Masz dużą rodzinę?” Chcesz odpowiedzieć, że tak, i wymienić mamę, tatę, brata i siostrę. Co powiesz?", "Друг спрашивает «Masz dużą rodzinę?» Ты хочешь ответить, что да, и перечислить маму, папу, брата и сестру. Что ты скажешь?", "Друг питає «Masz dużą rodzinę?» Ти хочеш відповісти, що так, і перелічити маму, тата, брата і сестру. Що ти скажеш?", "A friend asks “Masz dużą rodzinę?” You want to say yes and list mom, dad, brother and sister. What do you say?", "A", None, None), ] for q in questions_t3: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_family', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t3 = [ ("a1_family_l01_q1", "A", "tata", "папа", "тато", "dad", False, "wrong_gender"), ("a1_family_l01_q1", "B", "mama", "мама", "мама", "mom", True, None), ("a1_family_l01_q1", "C", "brat", "брат", "брат", "brother", False, "wrong_word"), ("a1_family_l01_q1", "D", "rodzice", "родители", "батьки", "parents", False, "wrong_number"), ("a1_family_l01_q3", "A", "rodzice", "родители", "батьки", "parents", False, "wrong_word"), ("a1_family_l01_q3", "B", "rodzeństwo", "братья и сёстры", "брати і сестри", "siblings", True, None), ("a1_family_l01_q3", "C", "dzieci", "дети", "діти", "children", False, "wrong_word"), ("a1_family_l01_q3", "D", "dziadkowie", "бабушка и дедушка", "бабуся і дідусь", "grandparents", False, "wrong_word"), ("a1_family_l02_q1", "A", "dziadek", "дедушка", "дідусь", "grandpa", False, "wrong_gender"), ("a1_family_l02_q1", "B", "babcia", "бабушка", "бабуся", "grandma", True, None), ("a1_family_l02_q1", "C", "ciocia", "тётя", "тітка", "aunt", False, "wrong_word"), ("a1_family_l02_q1", "D", "wujek", "дядя", "дядько", "uncle", False, "wrong_gender"), ("a1_family_l02_q3", "A", "brat", "брат", "брат", "brother", False, "wrong_word"), ("a1_family_l02_q3", "B", "kuzyn", "двоюродный брат", "двоюрідний брат", "cousin", True, None), ("a1_family_l02_q3", "C", "wnuk", "внук", "онук", "grandson", False, "wrong_word"), ("a1_family_l02_q3", "D", "syn", "сын", "син", "son", False, "wrong_word"), ("a1_family_l03_q1", "A", "mój", "мой", "мій", "my (m)", True, None), ("a1_family_l03_q1", "B", "moja", "моя", "моя", "my (f)", False, "wrong_gender"), ("a1_family_l03_q1", "C", "moje", "мои", "мої", "my (n/pl)", False, "wrong_gender"), ("a1_family_l03_q1", "D", "moi", "мои", "мої", "my (masc. pl)", False, "wrong_number"), ("a1_family_l03_q3", "A", "To jest moja tata.", "Это моя папа.", "Це моя тато.", "This is my dad. (wrong gender)", False, "wrong_gender"), ("a1_family_l03_q3", "B", "To jest mój tata.", "Это мой папа.", "Це мій тато.", "This is my dad.", True, None), ("a1_family_l03_q3", "C", "To jest moje tata.", "Это моё папа.", "Це моє тато.", "This is my dad. (wrong gender)", False, "wrong_gender"), ("a1_family_l03_q3", "D", "To jest moi tata.", "Это мои папа.", "Це мої тато.", "This is my dad. (wrong number)", False, "wrong_number"), ("a1_family_l04_q1", "A", "moje", "мои", "мої", "my", False, "wrong_gender"), ("a1_family_l04_q1", "B", "moi", "мои", "мої", "my (masc. personal pl)", True, None), ("a1_family_l04_q1", "C", "mój", "мой", "мій", "my (m sing)", False, "wrong_number"), ("a1_family_l04_q1", "D", "moja", "моя", "моя", "my (f sing)", False, "wrong_number"), ("a1_family_l04_q3", "A", "To jest mój dziadek.", "Это мой дедушка.", "Це мій дідусь.", "This is my grandpa.", False, "wrong_number"), ("a1_family_l04_q3", "B", "To są moi dziadkowie.", "Это мои бабушка и дедушка.", "Це мої бабуся і дідусь.", "These are my grandparents.", True, None), ("a1_family_l04_q3", "C", "To są moje dziadkowie.", "Это мои бабушка и дедушка.", "Це мої бабуся і дідусь.", "These are my grandparents. (wrong gender)", False, "wrong_gender"), ("a1_family_l04_q3", "D", "To jest moja babcia.", "Это моя бабушка.", "Це моя бабуся.", "This is my grandma.", False, "wrong_context"), ("a1_family_l05_q1", "A", "brat", "брат", "брат", "brother", False, "wrong_case"), ("a1_family_l05_q1", "B", "brata", "брата", "брата", "brother (acc.)", True, None), ("a1_family_l05_q1", "C", "bratem", "братом", "братом", "brother (instr.)", False, "wrong_case"), ("a1_family_l05_q1", "D", "bracia", "братья", "брати", "brothers", False, "wrong_number"), ("a1_family_l05_q3", "A", "Mam brat.", "У меня брат.", "У мене брат.", "I have brother. (wrong case)", False, "wrong_case"), ("a1_family_l05_q3", "B", "Mam brata.", "У меня есть брат.", "У мене є брат.", "I have a brother.", True, None), ("a1_family_l05_q3", "C", "Jestem brat.", "Я брат.", "Я брат.", "I am brother.", False, "wrong_sentence_type"), ("a1_family_l05_q3", "D", "To brat.", "Это брат.", "Це брат.", "This is a brother.", False, "wrong_sentence_type"), ("a1_family_l06_q1", "A", "duża", "большая", "велика", "big (nom.)", False, "wrong_case"), ("a1_family_l06_q1", "B", "dużą", "большую", "велику", "big (acc.)", True, None), ("a1_family_l06_q1", "C", "duży", "большой", "великий", "big (masc.)", False, "wrong_gender"), ("a1_family_l06_q1", "D", "duże", "большие", "великі", "big (n/pl)", False, "wrong_gender"), ("a1_family_l06_q3", "A", "Mam starszy brat.", "У меня старший брат. (неправильно)", "У мене старший брат. (неправильно)", "I have older brother. (wrong case)", False, "wrong_case"), ("a1_family_l06_q3", "B", "Mam starszego brata.", "У меня есть старший брат.", "У мене є старший брат.", "I have an older brother.", True, None), ("a1_family_l06_q3", "C", "Jestem starszy brat.", "Я старший брат.", "Я старший брат.", "I am older brother.", False, "wrong_sentence_type"), ("a1_family_l06_q3", "D", "Mam stara brata.", "У меня старая брат. (неправильно)", "У мене стара брат. (неправильно)", "I have old (f) brother. (wrong gender)", False, "wrong_gender"), ("a1_family_l07_q1", "A", "У тебя есть сестра?", "У тебя есть сестра?", "У тебе є сестра?", "Do you have a sister?", True, None), ("a1_family_l07_q1", "B", "Это твоя сестра?", "Это твоя сестра?", "Це твоя сестра?", "Is this your sister?", False, "wrong_translation"), ("a1_family_l07_q1", "C", "Ты сестра?", "Ты сестра?", "Ти сестра?", "Are you a sister?", False, "wrong_translation"), ("a1_family_l07_q1", "D", "Где твоя сестра?", "Где твоя сестра?", "Де твоя сестра?", "Where is your sister?", False, "wrong_translation"), ("a1_family_l07_q3", "A", "Mam siostrę.", "У меня есть сестра.", "У мене є сестра.", "I have a sister.", False, "wrong_sentence_type"), ("a1_family_l07_q3", "B", "Masz siostrę?", "У тебя есть сестра?", "У тебе є сестра?", "Do you have a sister?", True, None), ("a1_family_l07_q3", "C", "To jest siostra.", "Это сестра.", "Це сестра.", "This is a sister.", False, "wrong_sentence_type"), ("a1_family_l07_q3", "D", "Moja siostra.", "Моя сестра.", "Моя сестра.", "My sister.", False, "wrong_sentence_type"), ("a1_family_l08_q1", "A", "Co to jest?", "Что это?", "Що це?", "What is this?", False, "wrong_word"), ("a1_family_l08_q1", "B", "Kto to jest?", "Кто это?", "Хто це?", "Who is this?", True, None), ("a1_family_l08_q1", "C", "Gdzie to jest?", "Где это?", "Де це?", "Where is this?", False, "wrong_word"), ("a1_family_l08_q1", "D", "Jak to jest?", "Как это?", "Як це?", "How is this?", False, "wrong_word"), ("a1_family_l08_q3", "A", "Masz brata?", "У тебя есть брат?", "У тебе є брат?", "Do you have a brother?", False, "wrong_sentence_type"), ("a1_family_l08_q3", "B", "To jest mój brat.", "Это мой брат.", "Це мій брат.", "This is my brother.", True, None), ("a1_family_l08_q3", "C", "Mam brata.", "У меня есть брат.", "У мене є брат.", "I have a brother.", False, "wrong_context"), ("a1_family_l08_q3", "D", "Jestem brat.", "Я брат.", "Я брат.", "I am brother.", False, "wrong_sentence_type"), ("a1_family_l09_q1", "A", "Mam duża rodzina.", "У меня большая семья. (неправильно)", "У мене велика родина. (неправильно)", "I have big family. (wrong case)", False, "wrong_case"), ("a1_family_l09_q1", "B", "Mam dużą rodzinę.", "У меня большая семья.", "У мене велика родина.", "I have a big family.", True, None), ("a1_family_l09_q1", "C", "Jestem duża rodzina.", "Я большая семья.", "Я велика родина.", "I am big family.", False, "wrong_sentence_type"), ("a1_family_l09_q1", "D", "To duża rodzina.", "Это большая семья.", "Це велика родина.", "This is a big family.", False, "wrong_sentence_type"), ("a1_family_l09_q3", "A", "Ja rodzina mamę, tatę i brata.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_family_l09_q3", "B", "Mam mamę, tatę i brata.", "У меня есть мама, папа и брат.", "У мене є мама, тато і брат.", "I have a mom, a dad and a brother.", True, None), ("a1_family_l09_q3", "C", "Moja rodzina jestem mamę, tatę i brata.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_family_l09_q3", "D", "Jestem mama, tata i brat.", "Я мама, папа и брат.", "Я мама, тато і брат.", "I am mom, dad and brother.", False, "wrong_sentence_type"), ("a1_family_l10_q1", "A", "У тебя большая семья?", "У тебя большая семья?", "У тебе велика родина?", "Do you have a big family?", True, None), ("a1_family_l10_q1", "B", "У тебя есть семья?", "У тебя есть семья?", "У тебе є родина?", "Do you have a family?", False, "wrong_translation"), ("a1_family_l10_q1", "C", "Твоя семья далеко?", "Твоя семья далеко?", "Твоя родина далеко?", "Is your family far away?", False, "wrong_translation"), ("a1_family_l10_q1", "D", "Сколько тебе лет?", "Сколько тебе лет?", "Скільки тобі років?", "How old are you?", False, "wrong_translation"), ("a1_family_l10_q3", "A", "Tak, mam dużą rodzinę: mamę, tatę, brata i siostrę.", "Да, у меня большая семья: мама, папа, брат и сестра.", "Так, у мене велика родина: мама, тато, брат і сестра.", "Yes, I have a big family: mom, dad, brother and sister.", True, None), ("a1_family_l10_q3", "B", "Tak, mam duża rodzina: mama, tata, brat, siostra.", "Неправильная форма падежа.", "Неправильна форма відмінка.", "Wrong case form.", False, "wrong_case"), ("a1_family_l10_q3", "C", "Nie, nie mam rodziny.", "Нет, у меня нет семьи.", "Ні, у мене немає родини.", "No, I don't have a family.", False, "wrong_context"), ("a1_family_l10_q3", "D", "Tak, jestem duża rodzina.", "Да, я большая семья.", "Так, я велика родина.", "Yes, I am a big family.", False, "wrong_sentence_type"), ] for opt in options_t3: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t3 = [ ("a1_family_t01", None, "topic_test", "recognition", "family_vocabulary", 1, "Jak po polsku powiesz „бабушка”?", "Как по-польски «бабушка»?", "Як польською «бабуся»?", "How do you say “grandma” in Polish?", "B", None, None, 1), ("a1_family_t02", None, "topic_test", "recognition", "family_vocabulary", 1, "Jak po polsku powiesz „дядя”?", "Как по-польски «дядя»?", "Як польською «дядько»?", "How do you say “uncle” in Polish?", "C", None, None, 2), ("a1_family_t03", None, "topic_test", "recognition", "family_possessive", 1, "Wybierz poprawną formę: ___ brat.", "Выберите правильную форму: ___ brat.", "Виберіть правильну форму: ___ brat.", "Choose the correct form: ___ brat.", "A", None, None, 3), ("a1_family_t04", None, "topic_test", "recognition", "family_possessive", 2, "Wybierz poprawną formę: ___ rodzice.", "Выберите правильную форму: ___ rodzice.", "Виберіть правильну форму: ___ rodzice.", "Choose the correct form: ___ rodzice.", "B", None, None, 4), ("a1_family_t05", None, "topic_test", "recognition", "family_accusative", 2, "Wybierz poprawną formę: Mam ___. (brat)", "Выберите правильную форму: Mam ___. (brat)", "Виберіть правильну форму: Mam ___. (brat)", "Choose the correct form: Mam ___. (brat)", "B", None, None, 5), ("a1_family_t06", None, "topic_test", "recognition", "family_questions", 1, "Co znaczy „Masz siostrę?”", "Что означает «Masz siostrę?»", "Що означає «Masz siostrę?»", "What does “Masz siostrę?” mean?", "A", None, None, 6), ("a1_family_t07", None, "topic_test", "application", "family_vocabulary", 1, "Pokazujesz zdjęcie matki swojej mamy. Jak ją nazwiesz?", "Ты показываешь фото матери своей мамы. Как ты её назовёшь?", "Ти показуєш фото матері своєї мами. Як ти її назвеш?", "You show a photo of your mom's mother. What do you call her?", "B", None, None, 7), ("a1_family_t08", None, "topic_test", "application", "family_possessive", 2, "Mówisz koledze o swoim bracie. Jak powiesz?", "Ты говоришь другу о своём брате. Что ты скажешь?", "Ти говориш другу про свого брата. Що ти скажеш?", "You tell a friend about your brother. What do you say?", "B", None, None, 8), ("a1_family_t09", None, "topic_test", "application", "family_accusative", 2, "Kolega pyta, czy masz rodzeństwo. Chcesz powiedzieć, że masz brata. Co powiesz?", "Друг спрашивает, есть ли у тебя братья/сёстры. Ты хочешь сказать, что у тебя есть брат. Что ты скажешь?", "Друг питає, чи є у тебе брати/сестри. Ти хочеш сказати, що у тебе є брат. Що ти скажеш?", "A friend asks if you have siblings. You want to say you have a brother. What do you say?", "B", None, None, 9), ("a1_family_t10", None, "topic_test", "application", "family_questions", 2, "Chcesz zapytać kolegę, czy ma siostrę. Co powiesz?", "Ты хочешь спросить друга, есть ли у него сестра. Что ты скажешь?", "Ти хочеш запитати друга, чи є у нього сестра. Що ти скажеш?", "You want to ask a friend if he has a sister. What do you say?", "B", None, None, 10), ("a1_family_t11", None, "topic_test", "application", "family_questions", 2, "Kolega pyta „Kto to jest?”, pokazując zdjęcie twojej mamy. Co odpowiesz?", "Друг спрашивает «Kto to jest?», показывая фото твоей мамы. Что ты ответишь?", "Друг питає «Kto to jest?», показуючи фото твоєї мами. Що ти відповіси?", "A friend asks “Kto to jest?” while showing a photo of your mom. How do you answer?", "B", None, None, 11), ("a1_family_t12", None, "topic_test", "application", "family_description", 3, "Opisujesz swoją rodzinę koledze. Chcesz powiedzieć, że jest duża. Co powiesz?", "Ты описываешь свою семью другу. Ты хочешь сказать, что она большая. Что ты скажешь?", "Ти описуєш свою родину другу. Ти хочеш сказати, що вона велика. Що ти скажеш?", "You describe your family to a friend. You want to say it's big. What do you say?", "B", None, None, 12), ("a1_family_t13", None, "topic_test", "production", "family_vocabulary", 1, "Wpisz brakujące słowo: To jest moja ___. (сестра)", "Вставьте пропущенное слово: To jest moja ___. (сестра)", "Вставте пропущене слово: To jest moja ___. (сестра)", "Fill in the missing word: To jest moja ___. (sister)", "siostra", "first_letter", "s", 13), ("a1_family_t14", None, "topic_test", "production", "family_possessive", 2, "Wpisz brakujące słowo: To są ___ rodzice. (мои)", "Вставьте пропущенное слово: To są ___ rodzice. (мои)", "Вставте пропущене слово: To są ___ rodzice. (мої)", "Fill in the missing word: To są ___ rodzice. (my)", "moi", "first_letter", "m", 14), ("a1_family_t15", None, "topic_test", "production", "family_accusative", 2, "Wpisz brakujące słowo: Mam ___. (сестра, винительный)", "Вставьте пропущенное слово: Mam ___. (сестра, винительный)", "Вставте пропущене слово: Mam ___. (сестра, знахідний)", "Fill in the missing word: Mam ___. (sister, accusative)", "siostrę", "first_letter", "s", 15), ("a1_family_t16", None, "topic_test", "production", "family_accusative", 2, "Wpisz brakujące słowo: Mam dużą ___. (семья, винительный)", "Вставьте пропущенное слово: Mam dużą ___. (семья, винительный)", "Вставте пропущене слово: Mam dużą ___. (родина, знахідний)", "Fill in the missing word: Mam dużą ___. (family, accusative)", "rodzinę", "first_letter", "r", 16), ("a1_family_t17", None, "topic_test", "production", "family_questions", 2, "Uzupełnij dialog: — ___ brata? — Tak, mam brata. (ty)", "Дополните диалог: — ___ brata? — Tak, mam brata. (ты)", "Доповніть діалог: — ___ brata? — Tak, mam brata. (ти)", "Complete the dialogue: — ___ brata? — Tak, mam brata. (you)", "Masz", "first_letter", "M", 17), ("a1_family_t18", None, "topic_test", "production", "family_description", 3, "Przetłumacz: «У меня есть брат и сестра».", "Переведите: «У меня есть брат и сестра».", "Перекладіть: «У мене є брат і сестра».", "Translate: “I have a brother and a sister.”", "Mam brata i siostrę", "first_letter", "M", 18), ("a1_family_t19", None, "topic_test", "mixed", "family_description", 3, "Przetłumacz cały dialog: «— У тебя есть брат? — Да, это мой брат, Адам.»", "Переведите весь диалог: «— У тебя есть брат? — Да, это мой брат, Адам.»", "Перекладіть весь діалог: «— У тебе є брат? — Так, це мій брат, Адам.»", "Translate the whole dialogue: “— Do you have a brother? — Yes, this is my brother, Adam.”", "Masz brata? Tak, to jest mój brat, Adam", "first_letter", "M", 19), ("a1_family_t20", None, "topic_test", "mixed", "family_description", 3, "Opisz jednym zdaniem: masz dużą rodzinę — mamę, tatę, brata i siostrę.", "Опиши одним предложением: у тебя большая семья — мама, папа, брат и сестра.", "Опиши одним реченням: у тебе велика родина — мама, тато, брат і сестра.", "Describe in one sentence: you have a big family — mom, dad, brother and sister.", "Mam dużą rodzinę: mamę, tatę, brata i siostrę", "first_letter", "M", 20), ] for q in test_questions_t3: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_family', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t3 = [ ("a1_family_t01", "A", "dziadek", "дедушка", "дідусь", "grandpa", False, "wrong_gender"), ("a1_family_t01", "B", "babcia", "бабушка", "бабуся", "grandma", True, None), ("a1_family_t01", "C", "ciocia", "тётя", "тітка", "aunt", False, "wrong_word"), ("a1_family_t01", "D", "wujek", "дядя", "дядько", "uncle", False, "wrong_gender"), ("a1_family_t02", "A", "dziadek", "дедушка", "дідусь", "grandpa", False, "wrong_word"), ("a1_family_t02", "B", "kuzyn", "двоюродный брат", "двоюрідний брат", "cousin", False, "wrong_word"), ("a1_family_t02", "C", "wujek", "дядя", "дядько", "uncle", True, None), ("a1_family_t02", "D", "brat", "брат", "брат", "brother", False, "wrong_word"), ("a1_family_t03", "A", "mój", "мой", "мій", "my (m)", True, None), ("a1_family_t03", "B", "moja", "моя", "моя", "my (f)", False, "wrong_gender"), ("a1_family_t03", "C", "moje", "мои", "мої", "my (n/pl)", False, "wrong_gender"), ("a1_family_t03", "D", "moi", "мои", "мої", "my (masc. pl)", False, "wrong_number"), ("a1_family_t04", "A", "moje", "мои", "мої", "my", False, "wrong_gender"), ("a1_family_t04", "B", "moi", "мои", "мої", "my (masc. personal pl)", True, None), ("a1_family_t04", "C", "mój", "мой", "мій", "my (m sing)", False, "wrong_number"), ("a1_family_t04", "D", "moja", "моя", "моя", "my (f sing)", False, "wrong_number"), ("a1_family_t05", "A", "brat", "брат", "брат", "brother", False, "wrong_case"), ("a1_family_t05", "B", "brata", "брата", "брата", "brother (acc.)", True, None), ("a1_family_t05", "C", "bratem", "братом", "братом", "brother (instr.)", False, "wrong_case"), ("a1_family_t05", "D", "bracia", "братья", "брати", "brothers", False, "wrong_number"), ("a1_family_t06", "A", "У тебя есть сестра?", "У тебя есть сестра?", "У тебе є сестра?", "Do you have a sister?", True, None), ("a1_family_t06", "B", "Это твоя сестра?", "Это твоя сестра?", "Це твоя сестра?", "Is this your sister?", False, "wrong_translation"), ("a1_family_t06", "C", "Ты сестра?", "Ты сестра?", "Ти сестра?", "Are you a sister?", False, "wrong_translation"), ("a1_family_t06", "D", "Где твоя сестра?", "Где твоя сестра?", "Де твоя сестра?", "Where is your sister?", False, "wrong_translation"), ("a1_family_t07", "A", "ciocia", "тётя", "тітка", "aunt", False, "wrong_word"), ("a1_family_t07", "B", "babcia", "бабушка", "бабуся", "grandma", True, None), ("a1_family_t07", "C", "kuzynka", "двоюродная сестра", "двоюрідна сестра", "cousin (f)", False, "wrong_word"), ("a1_family_t07", "D", "mama", "мама", "мама", "mom", False, "wrong_context"), ("a1_family_t08", "A", "To jest moja brat.", "Это моя брат. (неправильно)", "Це моя брат. (неправильно)", "This is my (f) brother. (wrong gender)", False, "wrong_gender"), ("a1_family_t08", "B", "To jest mój brat.", "Это мой брат.", "Це мій брат.", "This is my brother.", True, None), ("a1_family_t08", "C", "To jest moje brat.", "Это моё брат. (неправильно)", "Це моє брат. (неправильно)", "This is my (n) brother. (wrong gender)", False, "wrong_gender"), ("a1_family_t08", "D", "To jest moi brat.", "Это мои брат. (неправильно)", "Це мої брат. (неправильно)", "This is my (pl) brother. (wrong number)", False, "wrong_number"), ("a1_family_t09", "A", "Mam brat.", "У меня брат. (неправильно)", "У мене брат. (неправильно)", "I have brother. (wrong case)", False, "wrong_case"), ("a1_family_t09", "B", "Mam brata.", "У меня есть брат.", "У мене є брат.", "I have a brother.", True, None), ("a1_family_t09", "C", "Jestem brat.", "Я брат.", "Я брат.", "I am brother.", False, "wrong_sentence_type"), ("a1_family_t09", "D", "To brat.", "Это брат.", "Це брат.", "This is a brother.", False, "wrong_sentence_type"), ("a1_family_t10", "A", "Mam siostrę.", "У меня есть сестра.", "У мене є сестра.", "I have a sister.", False, "wrong_sentence_type"), ("a1_family_t10", "B", "Masz siostrę?", "У тебя есть сестра?", "У тебе є сестра?", "Do you have a sister?", True, None), ("a1_family_t10", "C", "To jest siostra.", "Это сестра.", "Це сестра.", "This is a sister.", False, "wrong_sentence_type"), ("a1_family_t10", "D", "Moja siostra.", "Моя сестра.", "Моя сестра.", "My sister.", False, "wrong_sentence_type"), ("a1_family_t11", "A", "Masz mamę?", "У тебя есть мама?", "У тебе є мама?", "Do you have a mom?", False, "wrong_sentence_type"), ("a1_family_t11", "B", "To jest moja mama.", "Это моя мама.", "Це моя мама.", "This is my mom.", True, None), ("a1_family_t11", "C", "Mam mamę.", "У меня есть мама.", "У мене є мама.", "I have a mom.", False, "wrong_context"), ("a1_family_t11", "D", "Jestem mama.", "Я мама.", "Я мама.", "I am mom.", False, "wrong_sentence_type"), ("a1_family_t12", "A", "Mam duża rodzina.", "У меня большая семья. (неправильно)", "У мене велика родина. (неправильно)", "I have big family. (wrong case)", False, "wrong_case"), ("a1_family_t12", "B", "Mam dużą rodzinę.", "У меня большая семья.", "У мене велика родина.", "I have a big family.", True, None), ("a1_family_t12", "C", "Jestem duża rodzina.", "Я большая семья.", "Я велика родина.", "I am big family.", False, "wrong_sentence_type"), ("a1_family_t12", "D", "To duża rodzina.", "Это большая семья.", "Це велика родина.", "This is a big family.", False, "wrong_sentence_type"), ("a1_family_t19", "A", "Masz brata? Tak, to jest mój brat, Adam.", "У тебя есть брат? Да, это мой брат, Адам.", "У тебе є брат? Так, це мій брат, Адам.", "Do you have a brother? Yes, this is my brother, Adam.", True, None), ("a1_family_t19", "B", "Mam brata? Tak, jestem mój brat, Adam.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_family_t19", "C", "Masz brat? Tak, to moja brat, Adam.", "Неправильные падежи.", "Неправильні відмінки.", "Wrong cases.", False, "wrong_case"), ("a1_family_t19", "D", "Czy brata? Tak, mój brat Adam.", "Неполная конструкция.", "Неповна конструкція.", "Incomplete construction.", False, "wrong_sentence_type"), ("a1_family_t20", "A", "Mam dużą rodzinę: mamę, tatę, brata i siostrę.", "У меня большая семья: мама, папа, брат и сестра.", "У мене велика родина: мама, тато, брат і сестра.", "I have a big family: mom, dad, brother and sister.", True, None), ("a1_family_t20", "B", "Mam duża rodzina: mama, tata, brat, siostra.", "Неправильные падежи.", "Неправильні відмінки.", "Wrong cases.", False, "wrong_case"), ("a1_family_t20", "C", "Jestem duża rodzina z mamą, tatą, bratem i siostrą.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_family_t20", "D", "Nie mam dużej rodziny.", "У меня нет большой семьи.", "У мене немає великої родини.", "I don't have a big family.", False, "wrong_context"), ] for opt in test_options_t3: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 4: ЕДА И НАПИТКИ ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_food', 'A1', 4, 'Jedzenie i picie', 'Еда и напитки', 'Їжа та напої', 'Food and Drinks') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t4 = [ ("a1_food_l01", 1, "food_vocabulary", "Podstawowe produkty", "Основные продукты", "Основні продукти", "Basic products", "Podstawowe słowa: chleb (rodzaj męski), mleko (rodzaj nijaki), ser (rodzaj męski), jajko (rodzaj nijaki). To rzeczy, które kupujemy najczęściej.", "Основные слова: chleb (мужской род), mleko (средний род), ser (мужской род), jajko (средний род). Это продукты, которые покупаем чаще всего.", "Основні слова: chleb (чоловічий рід), mleko (середній рід), ser (чоловічий рід), jajko (середній рід). Це продукти, які купуємо найчастіше.", "Basic words: chleb (masculine), mleko (neuter), ser (masculine), jajko (neuter). These are things we buy most often."), ("a1_food_l02", 2, "food_vocabulary", "W kuchni", "На кухне", "На кухні", "In the kitchen", "Więcej produktów do gotowania: mąka, cukier, sól, ryż, makaron. Tych słów używamy, gdy mówimy o gotowaniu.", "Больше продуктов для готовки: mąka (мука), cukier (сахар), sól (соль), ryż (рис), makaron (макароны). Эти слова используем, когда говорим о готовке.", "Більше продуктів для готування: mąka (борошно), cukier (цукор), sól (сіль), ryż (рис), makaron (макарони). Ці слова використовуємо, коли говоримо про готування.", "More cooking ingredients: mąka (flour), cukier (sugar), sól (salt), ryż (rice), makaron (pasta). We use these words when talking about cooking."), ("a1_food_l03", 3, "food_fruits_vegetables", "Owoce", "Фрукты", "Фрукти", "Fruits", "Owoce: jabłko, banan, gruszka, pomarańcza. „Jabłko” jest rodzaju nijakiego, „banan” rodzaju męskiego, „gruszka” i „pomarańcza” rodzaju żeńskiego.", "Фрукты: jabłko (яблоко), banan (банан), gruszka (груша), pomarańcza (апельсин). „Jabłko” среднего рода, „banan” мужского, „gruszka” и „pomarańcza” женского.", "Фрукти: jabłko (яблуко), banan (банан), gruszka (груша), pomarańcza (апельсин). „Jabłko” середнього роду, „banan” чоловічого, „gruszka” і „pomarańcza” жіночого.", "Fruits: jabłko (apple), banan (banana), gruszka (pear), pomarańcza (orange). „Jabłko” is neuter, „banan” is masculine, „gruszka” and „pomarańcza” are feminine."), ("a1_food_l04", 4, "food_fruits_vegetables", "Warzywa", "Овощи", "Овочі", "Vegetables", "Warzywa: pomidor, ziemniak, marchewka, ogórek. „Pomidor”, „ziemniak” i „ogórek” są rodzaju męskiego, „marchewka” jest rodzaju żeńskiego.", "Овощи: pomidor (помидор), ziemniak (картофель), marchewka (морковь), ogórek (огурец). „Pomidor”, „ziemniak” и „ogórek” мужского рода, „marchewka” — женского.", "Овочі: pomidor (помідор), ziemniak (картопля), marchewka (морква), ogórek (огірок). „Pomidor”, „ziemniak” і „ogórek” чоловічого роду, „marchewka” — жіночого.", "Vegetables: pomidor (tomato), ziemniak (potato), marchewka (carrot), ogórek (cucumber). „Pomidor”, „ziemniak” and „ogórek” are masculine, „marchewka” is feminine."), ("a1_food_l05", 5, "food_drinks", "Podstawowe napoje", "Основные напитки", "Основні напої", "Basic drinks", "Napoje: woda, herbata, kawa. Wszystkie są rodzaju żeńskiego. Czasownik „pić” łączy się z biernikiem: piję wodę, piję herbatę, piję kawę.", "Напитки: woda (вода), herbata (чай), kawa (кофе). Все женского рода. Глагол „pić” требует винительного падежа: piję wodę, piję herbatę, piję kawę.", "Напої: woda (вода), herbata (чай), kawa (кава). Усі жіночого роду. Дієслово „pić” вимагає знахідного відмінка: piję wodę, piję herbatę, piję kawę.", "Drinks: woda (water), herbata (tea), kawa (coffee). All are feminine. The verb „pić” (to drink) takes the accusative: piję wodę, piję herbatę, piję kawę."), ("a1_food_l06", 6, "food_drinks", "Więcej napojów", "Больше напитков", "Більше напоїв", "More drinks", "Więcej napojów: sok, lemoniada. Odmiana czasownika „pić”: ja piję, ty pijesz, on/ona pije.", "Больше напитков: sok (сок), lemoniada (лимонад). Спряжение глагола „pić”: ja piję, ty pijesz, on/ona pije.", "Більше напоїв: sok (сік), lemoniada (лимонад). Відмінювання дієслова „pić”: ja piję, ty pijesz, on/ona pije.", "More drinks: sok (juice), lemoniada (lemonade). Conjugation of „pić” (to drink): ja piję, ty pijesz, on/ona pije."), ("a1_food_l07", 7, "food_meals", "Posiłki", "Приёмы пищи", "Прийоми їжі", "Meals", "Posiłki w ciągu dnia: śniadanie (rano), obiad (w południe), kolacja (wieczorem). Te trzy słowa mają różne rodzaje: śniadanie — nijaki, obiad — męski, kolacja — żeński.", "Приёмы пищи в течение дня: śniadanie (завтрак, утром), obiad (обед, в полдень), kolacja (ужин, вечером). Śniadanie среднего рода, obiad мужского, kolacja женского.", "Прийоми їжі протягом дня: śniadanie (сніданок, вранці), obiad (обід, опівдні), kolacja (вечеря, ввечері). Śniadanie середнього роду, obiad чоловічого, kolacja жіночого.", "Meals during the day: śniadanie (breakfast, morning), obiad (lunch, midday), kolacja (dinner, evening). Śniadanie is neuter, obiad is masculine, kolacja is feminine."), ("a1_food_l08", 8, "food_meals", "Co jesz na...?", "Что ты ешь на...?", "Що ти їси на...?", "What do you eat for...?", "Pytamy „Co jesz na śniadanie/obiad/kolację?” i odpowiadamy „Na śniadanie jem ___.” Zwróć uwagę: „kolację” ma końcówkę biernika, bo jest po „na”.", "Спрашиваем „Co jesz na śniadanie/obiad/kolację?” и отвечаем „Na śniadanie jem ___.” Обрати внимание: „kolację” имеет окончание винительного падежа, потому что стоит после „na”.", "Запитуємо „Co jesz na śniadanie/obiad/kolację?” і відповідаємо „Na śniadanie jem ___.” Зверни увагу: „kolację” має закінчення знахідного відмінка, бо стоїть після „na”.", "We ask „Co jesz na śniadanie/obiad/kolację?” and answer „Na śniadanie jem ___.” Note: „kolację” has an accusative ending because it follows „na”."), ("a1_food_l09", 9, "food_lubie", "Lubię + biernik", "Lubię + винительный падеж", "Lubię + знахідний відмінок", "Lubię + accusative", "Czasownik „lubić” łączy się z biernikiem: lubię chleb (bez zmiany), lubię jabłko (bez zmiany), lubię kawę (kawa → kawę). Rzeczowniki męskie nieżywotne i nijakie się nie zmieniają, żeńskie dostają końcówkę -ę.", "Глагол „lubić” требует винительного падежа: lubię chleb (без изменений), lubię jabłko (без изменений), lubię kawę (kawa → kawę). Мужские неодушевлённые и средний род не меняются, женский род получает окончание -ę.", "Дієслово „lubić” вимагає знахідного відмінка: lubię chleb (без змін), lubię jabłko (без змін), lubię kawę (kawa → kawę). Чоловічі неістоти і середній рід не змінюються, жіночий рід отримує закінчення -ę.", "The verb „lubić” (to like) takes the accusative: lubię chleb (unchanged), lubię jabłko (unchanged), lubię kawę (kawa → kawę). Masculine inanimate and neuter nouns stay the same; feminine nouns get the -ę ending."), ("a1_food_l10", 10, "food_lubie", "Nie lubię + dopełniacz", "Nie lubię + родительный падеж", "Nie lubię + родовий відмінок", "Nie lubię + genitive", "Po zaprzeczeniu „nie lubię” rzeczownik zmienia się na dopełniacz: nie lubię kawy (a nie „kawę”), nie lubię sera (a nie „ser”). W liczbie mnogiej: nie lubię jabłek (a nie „jabłka”).", "После отрицания „nie lubię” существительное меняется на родительный падеж: nie lubię kawy (а не „kawę”), nie lubię sera (а не „ser”). Во множественном числе: nie lubię jabłek (а не „jabłka”).", "Після заперечення „nie lubię” іменник змінюється на родовий відмінок: nie lubię kawy (а не „kawę”), nie lubię sera (а не „ser”). У множині: nie lubię jabłek (а не „jabłka”).", "After the negation „nie lubię”, the noun switches to the genitive: nie lubię kawy (not „kawę”), nie lubię sera (not „ser”). In the plural: nie lubię jabłek (not „jabłka”)."), ] for lesson in lessons_t4: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_food', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t4 = [ ("a1_food_l01", 1, "Kupuję chleb i mleko.", "Я покупаю хлеб и молоко.", "Я купую хліб і молоко.", "I buy bread and milk."), ("a1_food_l01", 2, "Ser jest w lodówce.", "Сыр в холодильнике.", "Сир у холодильнику.", "The cheese is in the fridge."), ("a1_food_l01", 3, "Jem jajko na śniadanie.", "Я ем яйцо на завтрак.", "Я їм яйце на сніданок.", "I eat an egg for breakfast."), ("a1_food_l02", 1, "W kuchni mam mąkę i cukier.", "На кухне у меня есть мука и сахар.", "На кухні у мене є борошно і цукор.", "In the kitchen I have flour and sugar."), ("a1_food_l02", 2, "Gotuję ryż i makaron.", "Я готовлю рис и макароны.", "Я готую рис і макарони.", "I'm cooking rice and pasta."), ("a1_food_l02", 3, "Dodaję sól do zupy.", "Я добавляю соль в суп.", "Я додаю сіль до супу.", "I add salt to the soup."), ("a1_food_l03", 1, "Lubię jabłka i banany.", "Я люблю яблоки и бананы.", "Я люблю яблука і банани.", "I like apples and bananas."), ("a1_food_l03", 2, "Pomarańcza jest słodka.", "Апельсин сладкий.", "Апельсин солодкий.", "The orange is sweet."), ("a1_food_l03", 3, "Kupuję gruszki na targu.", "Я покупаю груши на рынке.", "Я купую груші на ринку.", "I buy pears at the market."), ("a1_food_l04", 1, "Kupuję pomidory i ogórki.", "Я покупаю помидоры и огурцы.", "Я купую помідори та огірки.", "I buy tomatoes and cucumbers."), ("a1_food_l04", 2, "Gotuję ziemniaki.", "Я варю картофель.", "Я варю картоплю.", "I'm cooking potatoes."), ("a1_food_l04", 3, "Marchewka jest pomarańczowa.", "Морковь оранжевая.", "Морква помаранчева.", "The carrot is orange."), ("a1_food_l05", 1, "Piję wodę rano.", "Я пью воду утром.", "Я п'ю воду вранці.", "I drink water in the morning."), ("a1_food_l05", 2, "Lubię herbatę z cytryną.", "Я люблю чай с лимоном.", "Я люблю чай з лимоном.", "I like tea with lemon."), ("a1_food_l05", 3, "Piję kawę codziennie.", "Я пью кофе каждый день.", "Я п'ю каву щодня.", "I drink coffee every day."), ("a1_food_l06", 1, "Piję sok pomarańczowy.", "Я пью апельсиновый сок.", "Я п'ю апельсиновий сік.", "I drink orange juice."), ("a1_food_l06", 2, "Dzieci piją lemoniadę latem.", "Дети пьют лимонад летом.", "Діти п'ють лимонад влітку.", "Children drink lemonade in summer."), ("a1_food_l06", 3, "Co pijesz?", "Что ты пьёшь?", "Що ти п'єш?", "What do you drink?"), ("a1_food_l07", 1, "Jem śniadanie o ósmej.", "Я завтракаю в восемь.", "Я снідаю о восьмій.", "I have breakfast at eight."), ("a1_food_l07", 2, "Jem obiad o dwunastej.", "Я обедаю в двенадцать.", "Я обідаю о дванадцятій.", "I have lunch at twelve."), ("a1_food_l07", 3, "Kolacja jest wieczorem.", "Ужин вечером.", "Вечеря ввечері.", "Dinner is in the evening."), ("a1_food_l08", 1, "Co jesz na śniadanie?", "Что ты ешь на завтрак?", "Що ти їси на сніданок?", "What do you eat for breakfast?"), ("a1_food_l08", 2, "Na śniadanie jem chleb i ser.", "На завтрак я ем хлеб и сыр.", "На сніданок я їм хліб і сир.", "For breakfast I eat bread and cheese."), ("a1_food_l08", 3, "Co jesz na obiad?", "Что ты ешь на обед?", "Що ти їси на обід?", "What do you eat for lunch?"), ("a1_food_l09", 1, "Lubię chleb.", "Я люблю хлеб.", "Я люблю хліб.", "I like bread."), ("a1_food_l09", 2, "Lubię jabłko.", "Я люблю яблоко.", "Я люблю яблуко.", "I like an apple."), ("a1_food_l09", 3, "Lubię kawę.", "Я люблю кофе.", "Я люблю каву.", "I like coffee."), ("a1_food_l10", 1, "Lubię jabłka.", "Я люблю яблоки.", "Я люблю яблука.", "I like apples."), ("a1_food_l10", 2, "Nie lubię kawy.", "Я не люблю кофе.", "Я не люблю каву.", "I don't like coffee."), ("a1_food_l10", 3, "Nie lubię sera.", "Я не люблю сыр.", "Я не люблю сир.", "I don't like cheese."), ] for ex in examples_t4: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t4 = [ ("a1_food_l01_q1", "a1_food_l01", "lesson_practice", "recognition", "food_vocabulary", 1, "Jak po polsku „молоко”?", "Как по-польски «молоко»?", "Як польською «молоко»?", "How do you say “milk” in Polish?", "A", None, None), ("a1_food_l01_q2", "a1_food_l01", "lesson_practice", "production", "food_vocabulary", 1, "Wpisz brakujące słowo: Kupuję ___. (хлеб)", "Вставьте пропущенное слово: Kupuję ___. (хлеб)", "Вставте пропущене слово: Kupuję ___. (хліб)", "Fill in the missing word: Kupuję ___. (bread)", "chleb", "first_letter", "c"), ("a1_food_l01_q3", "a1_food_l01", "lesson_practice", "application", "food_vocabulary", 1, "Chcesz kupić coś, co robi się z mleka. Co kupisz?", "Ты хочешь купить что-то, что делают из молока. Что ты купишь?", "Ти хочеш купити щось, що роблять з молока. Що ти купиш?", "You want to buy something made from milk. What do you buy?", "B", None, None), ("a1_food_l02_q1", "a1_food_l02", "lesson_practice", "recognition", "food_vocabulary", 1, "Jak po polsku „сахар”?", "Как по-польски «сахар»?", "Як польською «цукор»?", "How do you say “sugar” in Polish?", "B", None, None), ("a1_food_l02_q2", "a1_food_l02", "lesson_practice", "production", "food_vocabulary", 1, "Wpisz brakujące słowo: Gotuję ___. (рис)", "Вставьте пропущенное слово: Gotuję ___. (рис)", "Вставте пропущене слово: Gotuję ___. (рис)", "Fill in the missing word: Gotuję ___. (rice)", "ryż", "first_letter", "r"), ("a1_food_l02_q3", "a1_food_l02", "lesson_practice", "application", "food_vocabulary", 1, "Gotujesz zupę, ale jest bez smaku. Czego dodasz?", "Ты варишь суп, но он невкусный. Что ты добавишь?", "Ти вариш суп, але він несмачний. Що ти додаси?", "You're cooking soup, but it's bland. What do you add?", "C", None, None), ("a1_food_l03_q1", "a1_food_l03", "lesson_practice", "recognition", "food_fruits_vegetables", 1, "Jak po polsku „банан”?", "Как по-польски «банан»?", "Як польською «банан»?", "How do you say “banana” in Polish?", "A", None, None), ("a1_food_l03_q2", "a1_food_l03", "lesson_practice", "production", "food_fruits_vegetables", 1, "Wpisz brakujące słowo: Jem ___. (яблоко)", "Вставьте пропущенное слово: Jem ___. (яблоко)", "Вставте пропущене слово: Jem ___. (яблуко)", "Fill in the missing word: Jem ___. (apple)", "jabłko", "first_letter", "j"), ("a1_food_l03_q3", "a1_food_l03", "lesson_practice", "application", "food_fruits_vegetables", 1, "Chcesz kupić owoc, który jest długi i żółty. Co kupisz?", "Ты хочешь купить фрукт, который длинный и жёлтый. Что ты купишь?", "Ти хочеш купити фрукт, який довгий і жовтий. Що ти купиш?", "You want to buy a fruit that is long and yellow. What do you buy?", "A", None, None), ("a1_food_l04_q1", "a1_food_l04", "lesson_practice", "recognition", "food_fruits_vegetables", 1, "Jak po polsku „картофель”?", "Как по-польски «картофель»?", "Як польською «картопля»?", "How do you say “potato” in Polish?", "B", None, None), ("a1_food_l04_q2", "a1_food_l04", "lesson_practice", "production", "food_fruits_vegetables", 1, "Wpisz brakujące słowo: Kupuję ___. (помидор)", "Вставьте пропущенное слово: Kupuję ___. (помидор)", "Вставте пропущене слово: Kupuję ___. (помідор)", "Fill in the missing word: Kupuję ___. (tomato)", "pomidor", "first_letter", "p"), ("a1_food_l04_q3", "a1_food_l04", "lesson_practice", "application", "food_fruits_vegetables", 1, "Robisz sałatkę. Potrzebujesz warzywa, które jest pomarańczowe. Co wybierzesz?", "Ты делаешь салат. Тебе нужен овощ, который оранжевый. Что ты выберешь?", "Ти робиш салат. Тобі потрібен овоч, який помаранчевий. Що ти вибереш?", "You're making a salad. You need a vegetable that is orange. What do you choose?", "D", None, None), ("a1_food_l05_q1", "a1_food_l05", "lesson_practice", "recognition", "food_drinks", 2, "Jak po polsku „чай”?", "Как по-польски «чай»?", "Як польською «чай»?", "How do you say “tea” in Polish?", "B", None, None), ("a1_food_l05_q2", "a1_food_l05", "lesson_practice", "production", "food_drinks", 2, "Wpisz brakujące słowo: Piję ___. (кофе, винительный)", "Вставьте пропущенное слово: Piję ___. (кофе, винительный)", "Вставте пропущене слово: Piję ___. (кава, знахідний)", "Fill in the missing word: Piję ___. (coffee, accusative)", "kawę", "first_letter", "k"), ("a1_food_l05_q3", "a1_food_l05", "lesson_practice", "application", "food_drinks", 2, "Rano jesteś bardzo zmęczony. Co wypijesz, żeby się obudzić?", "Утром ты очень уставший. Что ты выпьешь, чтобы проснуться?", "Вранці ти дуже втомлений. Що ти вип'єш, щоб прокинутися?", "You're very tired in the morning. What do you drink to wake up?", "B", None, None), ("a1_food_l06_q1", "a1_food_l06", "lesson_practice", "recognition", "food_drinks", 2, "Jak po polsku „сок”?", "Как по-польски «сок»?", "Як польською «сік»?", "How do you say “juice” in Polish?", "C", None, None), ("a1_food_l06_q2", "a1_food_l06", "lesson_practice", "production", "food_drinks", 2, "Wpisz brakujące słowo: Ty ___ sok. (пьёшь)", "Вставьте пропущенное слово: Ty ___ sok. (пьёшь)", "Вставте пропущене слово: Ty ___ sok. (п'єш)", "Fill in the missing word: Ty ___ sok. (you drink)", "pijesz", "first_letter", "p"), ("a1_food_l06_q3", "a1_food_l06", "lesson_practice", "application", "food_drinks", 2, "Kolega pyta „Co pijesz?” Chcesz odpowiedzieć, że pijesz sok. Co powiesz?", "Друг спрашивает «Co pijesz?» Ты хочешь ответить, что пьёшь сок. Что ты скажешь?", "Друг питає «Co pijesz?» Ти хочеш відповісти, що п'єш сік. Що ти скажеш?", "A friend asks “Co pijesz?” You want to answer that you're drinking juice. What do you say?", "A", None, None), ("a1_food_l07_q1", "a1_food_l07", "lesson_practice", "recognition", "food_meals", 2, "Jak po polsku „ужин”?", "Как по-польски «ужин»?", "Як польською «вечеря»?", "How do you say “dinner” in Polish?", "C", None, None), ("a1_food_l07_q2", "a1_food_l07", "lesson_practice", "production", "food_meals", 2, "Wpisz brakujące słowo: Jem ___ rano. (завтрак)", "Вставьте пропущенное слово: Jem ___ rano. (завтрак)", "Вставте пропущене слово: Jem ___ rano. (сніданок)", "Fill in the missing word: Jem ___ rano. (breakfast)", "śniadanie", "first_letter", "ś"), ("a1_food_l07_q3", "a1_food_l07", "lesson_practice", "application", "food_meals", 2, "Jest wieczór, godzina 19:00. Co teraz jesz?", "Сейчас вечер, 19:00. Что ты сейчас ешь?", "Зараз вечір, 19:00. Що ти зараз їси?", "It's evening, 7 PM. What are you eating now?", "C", None, None), ("a1_food_l08_q1", "a1_food_l08", "lesson_practice", "recognition", "food_meals", 2, "Co znaczy „Co jesz na śniadanie?”", "Что означает «Co jesz na śniadanie?»", "Що означає «Co jesz na śniadanie?»", "What does “Co jesz na śniadanie?” mean?", "A", None, None), ("a1_food_l08_q2", "a1_food_l08", "lesson_practice", "production", "food_meals", 2, "Wpisz brakujące słowo: Na ___ jem jajko. (завтрак)", "Вставьте пропущенное слово: Na ___ jem jajko. (завтрак)", "Вставте пропущене слово: Na ___ jem jajko. (сніданок)", "Fill in the missing word: Na ___ jem jajko. (breakfast)", "śniadanie", "first_letter", "ś"), ("a1_food_l08_q3", "a1_food_l08", "lesson_practice", "application", "food_meals", 2, "Kolega pyta „Co jesz na obiad?” Chcesz odpowiedzieć, że jesz ziemniaki i pomidory. Co powiesz?", "Друг спрашивает «Co jesz na obiad?» Ты хочешь ответить, что ешь картофель и помидоры. Что ты скажешь?", "Друг питає «Co jesz na obiad?» Ти хочеш відповісти, що їси картоплю і помідори. Що ти скажеш?", "A friend asks “Co jesz na obiad?” You want to answer that you eat potatoes and tomatoes. What do you say?", "B", None, None), ("a1_food_l09_q1", "a1_food_l09", "lesson_practice", "recognition", "food_lubie", 3, "Wybierz poprawną formę: Lubię ___. (kawa)", "Выберите правильную форму: Lubię ___. (kawa)", "Виберіть правильну форму: Lubię ___. (kawa)", "Choose the correct form: Lubię ___. (kawa)", "B", None, None), ("a1_food_l09_q2", "a1_food_l09", "lesson_practice", "production", "food_lubie", 3, "Wpisz brakujące słowo: Lubię ___. (яблоко)", "Вставьте пропущенное слово: Lubię ___. (яблоко)", "Вставте пропущене слово: Lubię ___. (яблуко)", "Fill in the missing word: Lubię ___. (apple)", "jabłko", "first_letter", "j"), ("a1_food_l09_q3", "a1_food_l09", "lesson_practice", "application", "food_lubie", 3, "Kolega pyta, co lubisz jeść. Chcesz powiedzieć, że lubisz ser. Co powiesz?", "Друг спрашивает, что ты любишь есть. Ты хочешь сказать, что любишь сыр. Что ты скажешь?", "Друг питає, що ти любиш їсти. Ти хочеш сказати, що любиш сир. Що ти скажеш?", "A friend asks what you like to eat. You want to say you like cheese. What do you say?", "A", None, None), ("a1_food_l10_q1", "a1_food_l10", "lesson_practice", "recognition", "food_lubie", 3, "Wybierz poprawną formę: Nie lubię ___. (kawa)", "Выберите правильную форму: Nie lubię ___. (kawa)", "Виберіть правильну форму: Nie lubię ___. (kawa)", "Choose the correct form: Nie lubię ___. (kawa)", "C", None, None), ("a1_food_l10_q2", "a1_food_l10", "lesson_practice", "production", "food_lubie", 3, "Wpisz brakujące słowo: Nie lubię ___. (сыр, родительный)", "Вставьте пропущенное слово: Nie lubię ___. (сыр, родительный)", "Вставте пропущене слово: Nie lubię ___. (сир, родовий)", "Fill in the missing word: Nie lubię ___. (cheese, genitive)", "sera", "first_letter", "s"), ("a1_food_l10_q3", "a1_food_l10", "lesson_practice", "application", "food_lubie", 3, "Kolega pyta, czy lubisz kawę. Nie lubisz jej. Co powiesz?", "Друг спрашивает, любишь ли ты кофе. Ты его не любишь. Что ты скажешь?", "Друг питає, чи любиш ти каву. Ти її не любиш. Що ти скажеш?", "A friend asks if you like coffee. You don't like it. What do you say?", "A", None, None), ] for q in questions_t4: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_food', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t4 = [ ("a1_food_l01_q1", "A", "mleko", "молоко", "молоко", "milk", True, None), ("a1_food_l01_q1", "B", "chleb", "хлеб", "хліб", "bread", False, "wrong_word"), ("a1_food_l01_q1", "C", "ser", "сыр", "сир", "cheese", False, "wrong_word"), ("a1_food_l01_q1", "D", "jajko", "яйцо", "яйце", "egg", False, "wrong_word"), ("a1_food_l01_q3", "A", "chleb", "хлеб", "хліб", "bread", False, "wrong_context"), ("a1_food_l01_q3", "B", "ser", "сыр", "сир", "cheese", True, None), ("a1_food_l01_q3", "C", "mleko", "молоко", "молоко", "milk", False, "wrong_context"), ("a1_food_l01_q3", "D", "jajko", "яйцо", "яйце", "egg", False, "wrong_context"), ("a1_food_l02_q1", "A", "sól", "соль", "сіль", "salt", False, "wrong_word"), ("a1_food_l02_q1", "B", "cukier", "сахар", "цукор", "sugar", True, None), ("a1_food_l02_q1", "C", "mąka", "мука", "борошно", "flour", False, "wrong_word"), ("a1_food_l02_q1", "D", "ryż", "рис", "рис", "rice", False, "wrong_word"), ("a1_food_l02_q3", "A", "cukier", "сахар", "цукор", "sugar", False, "wrong_context"), ("a1_food_l02_q3", "B", "mąka", "мука", "борошно", "flour", False, "wrong_context"), ("a1_food_l02_q3", "C", "sól", "соль", "сіль", "salt", True, None), ("a1_food_l02_q3", "D", "ryż", "рис", "рис", "rice", False, "wrong_context"), ("a1_food_l03_q1", "A", "banan", "банан", "банан", "banana", True, None), ("a1_food_l03_q1", "B", "jabłko", "яблоко", "яблуко", "apple", False, "wrong_word"), ("a1_food_l03_q1", "C", "gruszka", "груша", "груша", "pear", False, "wrong_word"), ("a1_food_l03_q1", "D", "pomarańcza", "апельсин", "апельсин", "orange", False, "wrong_word"), ("a1_food_l03_q3", "A", "banan", "банан", "банан", "banana", True, None), ("a1_food_l03_q3", "B", "jabłko", "яблоко", "яблуко", "apple", False, "wrong_context"), ("a1_food_l03_q3", "C", "gruszka", "груша", "груша", "pear", False, "wrong_context"), ("a1_food_l03_q3", "D", "pomarańcza", "апельсин", "апельсин", "orange", False, "wrong_context"), ("a1_food_l04_q1", "A", "pomidor", "помидор", "помідор", "tomato", False, "wrong_word"), ("a1_food_l04_q1", "B", "ziemniak", "картофель", "картопля", "potato", True, None), ("a1_food_l04_q1", "C", "ogórek", "огурец", "огірок", "cucumber", False, "wrong_word"), ("a1_food_l04_q1", "D", "marchewka", "морковь", "морква", "carrot", False, "wrong_word"), ("a1_food_l04_q3", "A", "pomidor", "помидор", "помідор", "tomato", False, "wrong_context"), ("a1_food_l04_q3", "B", "ziemniak", "картофель", "картопля", "potato", False, "wrong_context"), ("a1_food_l04_q3", "C", "ogórek", "огурец", "огірок", "cucumber", False, "wrong_context"), ("a1_food_l04_q3", "D", "marchewka", "морковь", "морква", "carrot", True, None), ("a1_food_l05_q1", "A", "woda", "вода", "вода", "water", False, "wrong_word"), ("a1_food_l05_q1", "B", "herbata", "чай", "чай", "tea", True, None), ("a1_food_l05_q1", "C", "kawa", "кофе", "кава", "coffee", False, "wrong_word"), ("a1_food_l05_q1", "D", "sok", "сок", "сік", "juice", False, "wrong_word"), ("a1_food_l05_q3", "A", "Piję wodę.", "Я пью воду.", "Я п'ю воду.", "I drink water.", False, "wrong_context"), ("a1_food_l05_q3", "B", "Piję kawę.", "Я пью кофе.", "Я п'ю каву.", "I drink coffee.", True, None), ("a1_food_l05_q3", "C", "Piję herbatę.", "Я пью чай.", "Я п'ю чай.", "I drink tea.", False, "wrong_context"), ("a1_food_l05_q3", "D", "Jem chleb.", "Я ем хлеб.", "Я їм хліб.", "I eat bread.", False, "wrong_word"), ("a1_food_l06_q1", "A", "woda", "вода", "вода", "water", False, "wrong_word"), ("a1_food_l06_q1", "B", "lemoniada", "лимонад", "лимонад", "lemonade", False, "wrong_word"), ("a1_food_l06_q1", "C", "sok", "сок", "сік", "juice", True, None), ("a1_food_l06_q1", "D", "herbata", "чай", "чай", "tea", False, "wrong_word"), ("a1_food_l06_q3", "A", "Piję sok.", "Я пью сок.", "Я п'ю сік.", "I drink juice.", True, None), ("a1_food_l06_q3", "B", "Pijesz sok.", "Ты пьёшь сок.", "Ти п'єш сік.", "You drink juice.", False, "wrong_sentence_type"), ("a1_food_l06_q3", "C", "Piję woda.", "Я пью вода. (неправильно)", "Я п'ю вода. (неправильно)", "I drink water. (wrong case)", False, "wrong_case"), ("a1_food_l06_q3", "D", "Jem sok.", "Я ем сок. (неправильно)", "Я їм сік. (неправильно)", "I eat juice. (wrong verb)", False, "wrong_word"), ("a1_food_l07_q1", "A", "śniadanie", "завтрак", "сніданок", "breakfast", False, "wrong_word"), ("a1_food_l07_q1", "B", "obiad", "обед", "обід", "lunch", False, "wrong_word"), ("a1_food_l07_q1", "C", "kolacja", "ужин", "вечеря", "dinner", True, None), ("a1_food_l07_q1", "D", "chleb", "хлеб", "хліб", "bread", False, "wrong_word"), ("a1_food_l07_q3", "A", "śniadanie", "завтрак", "сніданок", "breakfast", False, "wrong_context"), ("a1_food_l07_q3", "B", "obiad", "обед", "обід", "lunch", False, "wrong_context"), ("a1_food_l07_q3", "C", "kolacja", "ужин", "вечеря", "dinner", True, None), ("a1_food_l07_q3", "D", "chleb", "хлеб", "хліб", "bread", False, "wrong_word"), ("a1_food_l08_q1", "A", "Что ты ешь на завтрак?", "Что ты ешь на завтрак?", "Що ти їси на сніданок?", "What do you eat for breakfast?", True, None), ("a1_food_l08_q1", "B", "Что ты пьёшь утром?", "Что ты пьёшь утром?", "Що ти п'єш вранці?", "What do you drink in the morning?", False, "wrong_translation"), ("a1_food_l08_q1", "C", "Когда ты завтракаешь?", "Когда ты завтракаешь?", "Коли ти снідаєш?", "When do you have breakfast?", False, "wrong_translation"), ("a1_food_l08_q1", "D", "Любишь ли ты завтрак?", "Любишь ли ты завтрак?", "Чи любиш ти сніданок?", "Do you like breakfast?", False, "wrong_translation"), ("a1_food_l08_q3", "A", "Obiad jem ziemniaki i pomidory.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_food_l08_q3", "B", "Na obiad jem ziemniaki i pomidory.", "На обед я ем картофель и помидоры.", "На обід я їм картоплю і помідори.", "For lunch I eat potatoes and tomatoes.", True, None), ("a1_food_l08_q3", "C", "Jestem ziemniaki i pomidory na obiad.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_food_l08_q3", "D", "Nie jem ziemniaki i pomidory.", "Я не ем картофель и помидоры.", "Я не їм картоплю і помідори.", "I don't eat potatoes and tomatoes.", False, "wrong_context"), ("a1_food_l09_q1", "A", "kawa", "кофе", "кава", "coffee (nom.)", False, "wrong_case"), ("a1_food_l09_q1", "B", "kawę", "кофе (вин.)", "каву (знах.)", "coffee (acc.)", True, None), ("a1_food_l09_q1", "C", "kawie", "кофе (местн.)", "кава (місц.)", "coffee (loc.)", False, "wrong_case"), ("a1_food_l09_q1", "D", "kawą", "кофе (тв.)", "кава (ор.)", "coffee (instr.)", False, "wrong_case"), ("a1_food_l09_q3", "A", "Lubię ser.", "Я люблю сыр.", "Я люблю сир.", "I like cheese.", True, None), ("a1_food_l09_q3", "B", "Lubię sera.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_food_l09_q3", "C", "Jestem ser.", "Я сыр.", "Я сир.", "I am cheese.", False, "wrong_sentence_type"), ("a1_food_l09_q3", "D", "To ser.", "Это сыр.", "Це сир.", "This is cheese.", False, "wrong_sentence_type"), ("a1_food_l10_q1", "A", "kawę", "кофе (вин.)", "каву (знах.)", "coffee (acc.)", False, "wrong_case"), ("a1_food_l10_q1", "B", "kawa", "кофе (им.)", "кава (наз.)", "coffee (nom.)", False, "wrong_case"), ("a1_food_l10_q1", "C", "kawy", "кофе (род.)", "кави (род.)", "coffee (gen.)", True, None), ("a1_food_l10_q1", "D", "kawą", "кофе (тв.)", "кава (ор.)", "coffee (instr.)", False, "wrong_case"), ("a1_food_l10_q3", "A", "Nie lubię kawy.", "Я не люблю кофе.", "Я не люблю каву.", "I don't like coffee.", True, None), ("a1_food_l10_q3", "B", "Nie lubię kawę.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_food_l10_q3", "C", "Lubię kawy.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_case"), ("a1_food_l10_q3", "D", "Nie jestem kawa.", "Я не кофе.", "Я не кава.", "I am not coffee.", False, "wrong_sentence_type"), ] for opt in options_t4: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t4 = [ ("a1_food_t01", None, "topic_test", "recognition", "food_vocabulary", 1, "Jak po polsku „сыр”?", "Как по-польски «сыр»?", "Як польською «сир»?", "How do you say “cheese” in Polish?", "B", None, None, 1), ("a1_food_t02", None, "topic_test", "recognition", "food_vocabulary", 1, "Jak po polsku „сахар”?", "Как по-польски «сахар»?", "Як польською «цукор»?", "How do you say “sugar” in Polish?", "A", None, None, 2), ("a1_food_t03", None, "topic_test", "recognition", "food_fruits_vegetables", 1, "Jak po polsku „помидор”?", "Как по-польски «помидор»?", "Як польською «помідор»?", "How do you say “tomato” in Polish?", "C", None, None, 3), ("a1_food_t04", None, "topic_test", "recognition", "food_drinks", 1, "Jak po polsku „сок”?", "Как по-польски «сок»?", "Як польською «сік»?", "How do you say “juice” in Polish?", "B", None, None, 4), ("a1_food_t05", None, "topic_test", "recognition", "food_meals", 1, "Jak po polsku „ужин”?", "Как по-польски «ужин»?", "Як польською «вечеря»?", "How do you say “dinner” in Polish?", "D", None, None, 5), ("a1_food_t06", None, "topic_test", "recognition", "food_lubie", 2, "Wybierz poprawną formę: Lubię ___. (herbata)", "Выберите правильную форму: Lubię ___. (herbata)", "Виберіть правильну форму: Lubię ___. (herbata)", "Choose the correct form: Lubię ___. (herbata)", "A", None, None, 6), ("a1_food_t07", None, "topic_test", "application", "food_vocabulary", 2, "Chcesz kupić coś, co robi się z mleka. Co kupisz?", "Ты хочешь купить что-то, что делают из молока. Что ты купишь?", "Ти хочеш купити щось, що роблять з молока. Що ти купиш?", "You want to buy something made from milk. What do you buy?", "B", None, None, 7), ("a1_food_t08", None, "topic_test", "application", "food_fruits_vegetables", 2, "Robisz sałatkę. Potrzebujesz warzywa, które jest pomarańczowe. Co wybierzesz?", "Ты делаешь салат. Тебе нужен овощ, который оранжевый. Что ты выберешь?", "Ти робиш салат. Тобі потрібен овоч, який помаранчевий. Що ти вибереш?", "You're making a salad. You need a vegetable that is orange. What do you choose?", "D", None, None, 8), ("a1_food_t09", None, "topic_test", "application", "food_drinks", 2, "Rano jesteś bardzo zmęczony. Co wypijesz, żeby się obudzić?", "Утром ты очень уставший. Что ты выпьешь, чтобы проснуться?", "Вранці ти дуже втомлений. Що ти вип'єш, щоб прокинутися?", "You're very tired in the morning. What do you drink to wake up?", "B", None, None, 9), ("a1_food_t10", None, "topic_test", "application", "food_meals", 2, "Jest wieczór, godzina 19:00. Co teraz jesz?", "Сейчас вечер, 19:00. Что ты сейчас ешь?", "Зараз вечір, 19:00. Що ти зараз їси?", "It's evening, 7 PM. What are you eating now?", "C", None, None, 10), ("a1_food_t11", None, "topic_test", "application", "food_meals", 2, "Kolega pyta „Co jesz na obiad?” Chcesz odpowiedzieć, że jesz ziemniaki. Co powiesz?", "Друг спрашивает «Co jesz na obiad?» Ты хочешь ответить, что ешь картофель. Что ты скажешь?", "Друг питає «Co jesz na obiad?» Ти хочеш відповісти, що їси картоплю. Що ти скажеш?", "A friend asks “Co jesz na obiad?” You want to answer that you eat potatoes. What do you say?", "B", None, None, 11), ("a1_food_t12", None, "topic_test", "application", "food_lubie", 2, "Kolega pyta, czy lubisz kawę. Nie lubisz jej. Co powiesz?", "Друг спрашивает, любишь ли ты кофе. Ты его не любишь. Что ты скажешь?", "Друг питає, чи любиш ти каву. Ти її не любиш. Що ти скажеш?", "A friend asks if you like coffee. You don't like it. What do you say?", "A", None, None, 12), ("a1_food_t13", None, "topic_test", "production", "food_vocabulary", 1, "Wpisz brakujące słowo: Kupuję ___. (хлеб)", "Вставьте пропущенное слово: Kupuję ___. (хлеб)", "Вставте пропущене слово: Kupuję ___. (хліб)", "Fill in the missing word: Kupuję ___. (bread)", "chleb", "first_letter", "c", 13), ("a1_food_t14", None, "topic_test", "production", "food_fruits_vegetables", 1, "Wpisz brakujące słowo: Jem ___. (яблоко)", "Вставьте пропущенное слово: Jem ___. (яблоко)", "Вставте пропущене слово: Jem ___. (яблуко)", "Fill in the missing word: Jem ___. (apple)", "jabłko", "first_letter", "j", 14), ("a1_food_t15", None, "topic_test", "production", "food_drinks", 2, "Wpisz brakujące słowo: Piję ___. (кофе, винительный)", "Вставьте пропущенное слово: Piję ___. (кофе, винительный)", "Вставте пропущене слово: Piję ___. (кава, знахідний)", "Fill in the missing word: Piję ___. (coffee, accusative)", "kawę", "first_letter", "k", 15), ("a1_food_t16", None, "topic_test", "production", "food_meals", 1, "Wpisz brakujące słowo: Jem ___ rano. (завтрак)", "Вставьте пропущенное слово: Jem ___ rano. (завтрак)", "Вставте пропущене слово: Jem ___ rano. (сніданок)", "Fill in the missing word: Jem ___ rano. (breakfast)", "śniadanie", "first_letter", "ś", 16), ("a1_food_t17", None, "topic_test", "production", "food_lubie", 2, "Wpisz brakujące słowo: Lubię ___. (сыр)", "Вставьте пропущенное слово: Lubię ___. (сыр)", "Вставте пропущене слово: Lubię ___. (сир)", "Fill in the missing word: Lubię ___. (cheese)", "ser", "first_letter", "s", 17), ("a1_food_t18", None, "topic_test", "production", "food_lubie", 3, "Wpisz brakujące słowo: Nie lubię ___. (сыр, родительный)", "Вставьте пропущенное слово: Nie lubię ___. (сыр, родительный)", "Вставте пропущене слово: Nie lubię ___. (сир, родовий)", "Fill in the missing word: Nie lubię ___. (cheese, genitive)", "sera", "first_letter", "s", 18), ("a1_food_t19", None, "topic_test", "mixed", "food_lubie", 3, "Wybierz poprawne tłumaczenie: «Я не люблю кофе, но люблю чай».", "Выберите правильный перевод: «Я не люблю кофе, но люблю чай».", "Виберіть правильний переклад: «Я не люблю каву, але люблю чай».", "Choose the correct translation: “I don't like coffee, but I like tea.”", "A", None, None, 19), ("a1_food_t20", None, "topic_test", "mixed", "food_meals", 3, "Wybierz poprawne tłumaczenie dialogu: «— Что ты ешь на завтрак? — Я ем хлеб и яйцо.»", "Выберите правильный перевод диалога: «— Что ты ешь на завтрак? — Я ем хлеб и яйцо.»", "Виберіть правильний переклад діалогу: «— Що ти їси на сніданок? — Я їм хліб і яйце.»", "Choose the correct translation of the dialogue: “— What do you eat for breakfast? — I eat bread and an egg.”", "A", None, None, 20), ] for q in test_questions_t4: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_food', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t4 = [ ("a1_food_t01", "A", "chleb", "хлеб", "хліб", "bread", False, "wrong_word"), ("a1_food_t01", "B", "ser", "сыр", "сир", "cheese", True, None), ("a1_food_t01", "C", "mleko", "молоко", "молоко", "milk", False, "wrong_word"), ("a1_food_t01", "D", "jajko", "яйцо", "яйце", "egg", False, "wrong_word"), ("a1_food_t02", "A", "cukier", "сахар", "цукор", "sugar", True, None), ("a1_food_t02", "B", "sól", "соль", "сіль", "salt", False, "wrong_word"), ("a1_food_t02", "C", "mąka", "мука", "борошно", "flour", False, "wrong_word"), ("a1_food_t02", "D", "ryż", "рис", "рис", "rice", False, "wrong_word"), ("a1_food_t03", "A", "ogórek", "огурец", "огірок", "cucumber", False, "wrong_word"), ("a1_food_t03", "B", "ziemniak", "картофель", "картопля", "potato", False, "wrong_word"), ("a1_food_t03", "C", "pomidor", "помидор", "помідор", "tomato", True, None), ("a1_food_t03", "D", "marchewka", "морковь", "морква", "carrot", False, "wrong_word"), ("a1_food_t04", "A", "woda", "вода", "вода", "water", False, "wrong_word"), ("a1_food_t04", "B", "sok", "сок", "сік", "juice", True, None), ("a1_food_t04", "C", "herbata", "чай", "чай", "tea", False, "wrong_word"), ("a1_food_t04", "D", "kawa", "кофе", "кава", "coffee", False, "wrong_word"), ("a1_food_t05", "A", "śniadanie", "завтрак", "сніданок", "breakfast", False, "wrong_word"), ("a1_food_t05", "B", "obiad", "обед", "обід", "lunch", False, "wrong_word"), ("a1_food_t05", "C", "sok", "сок", "сік", "juice", False, "wrong_word"), ("a1_food_t05", "D", "kolacja", "ужин", "вечеря", "dinner", True, None), ("a1_food_t06", "A", "herbatę", "чай (вин.)", "чай (знах.)", "tea (acc.)", True, None), ("a1_food_t06", "B", "herbata", "чай (им.)", "чай (наз.)", "tea (nom.)", False, "wrong_case"), ("a1_food_t06", "C", "herbacie", "чай (местн.)", "чай (місц.)", "tea (loc.)", False, "wrong_case"), ("a1_food_t06", "D", "herbatą", "чай (тв.)", "чай (ор.)", "tea (instr.)", False, "wrong_case"), ("a1_food_t07", "A", "chleb", "хлеб", "хліб", "bread", False, "wrong_context"), ("a1_food_t07", "B", "ser", "сыр", "сир", "cheese", True, None), ("a1_food_t07", "C", "mleko", "молоко", "молоко", "milk", False, "wrong_context"), ("a1_food_t07", "D", "jajko", "яйцо", "яйце", "egg", False, "wrong_context"), ("a1_food_t08", "A", "pomidor", "помидор", "помідор", "tomato", False, "wrong_context"), ("a1_food_t08", "B", "ziemniak", "картофель", "картопля", "potato", False, "wrong_context"), ("a1_food_t08", "C", "ogórek", "огурец", "огірок", "cucumber", False, "wrong_context"), ("a1_food_t08", "D", "marchewka", "морковь", "морква", "carrot", True, None), ("a1_food_t09", "A", "Piję wodę.", "Я пью воду.", "Я п'ю воду.", "I drink water.", False, "wrong_context"), ("a1_food_t09", "B", "Piję kawę.", "Я пью кофе.", "Я п'ю каву.", "I drink coffee.", True, None), ("a1_food_t09", "C", "Piję herbatę.", "Я пью чай.", "Я п'ю чай.", "I drink tea.", False, "wrong_context"), ("a1_food_t09", "D", "Jem chleb.", "Я ем хлеб.", "Я їм хліб.", "I eat bread.", False, "wrong_word"), ("a1_food_t10", "A", "śniadanie", "завтрак", "сніданок", "breakfast", False, "wrong_context"), ("a1_food_t10", "B", "obiad", "обед", "обід", "lunch", False, "wrong_context"), ("a1_food_t10", "C", "kolacja", "ужин", "вечеря", "dinner", True, None), ("a1_food_t10", "D", "chleb", "хлеб", "хліб", "bread", False, "wrong_word"), ("a1_food_t11", "A", "Obiad jem ziemniaki.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_food_t11", "B", "Na obiad jem ziemniaki.", "На обед я ем картофель.", "На обід я їм картоплю.", "For lunch I eat potatoes.", True, None), ("a1_food_t11", "C", "Jestem ziemniaki na obiad.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_food_t11", "D", "Nie jem ziemniaki.", "Я не ем картофель.", "Я не їм картоплю.", "I don't eat potatoes.", False, "wrong_context"), ("a1_food_t12", "A", "Nie lubię kawy.", "Я не люблю кофе.", "Я не люблю каву.", "I don't like coffee.", True, None), ("a1_food_t12", "B", "Nie lubię kawę.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_food_t12", "C", "Lubię kawy.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_case"), ("a1_food_t12", "D", "Nie jestem kawa.", "Я не кофе.", "Я не кава.", "I am not coffee.", False, "wrong_sentence_type"), ("a1_food_t19", "A", "Nie lubię kawy, ale lubię herbatę.", "Я не люблю кофе, но люблю чай.", "Я не люблю каву, але люблю чай.", "I don't like coffee, but I like tea.", True, None), ("a1_food_t19", "B", "Nie lubię kawę, ale lubię herbata.", "Неправильные падежи.", "Неправильні відмінки.", "Wrong cases.", False, "wrong_case"), ("a1_food_t19", "C", "Lubię kawy, ale nie lubię herbatę.", "Смысл перевёрнут.", "Сенс перевернуто.", "Meaning is reversed.", False, "wrong_translation"), ("a1_food_t19", "D", "Nie jestem kawa, ale jestem herbata.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_food_t20", "A", "Co jesz na śniadanie? Jem chleb i jajko.", "Что ты ешь на завтрак? Я ем хлеб и яйцо.", "Що ти їси на сніданок? Я їм хліб і яйце.", "What do you eat for breakfast? I eat bread and an egg.", True, None), ("a1_food_t20", "B", "Co jem na śniadanie? Jesz chleb i jajko.", "Лица перепутаны.", "Особи переплутані.", "Persons are mixed up.", False, "wrong_sentence_type"), ("a1_food_t20", "C", "Co pijesz na śniadanie? Piję chleb i jajko.", "Неправильный глагол.", "Неправильне дієслово.", "Wrong verb.", False, "wrong_word"), ("a1_food_t20", "D", "Co jesz na obiad? Jem chleb i jajko.", "Неправильный приём пищи.", "Неправильний прийом їжі.", "Wrong meal.", False, "wrong_context"), ] for opt in test_options_t4: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 5: ДОМ И КВАРТИРА ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_home', 'A1', 5, 'Dom i mieszkanie', 'Дом и квартира', 'Будинок і квартира', 'House and Apartment') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t5 = [ ("a1_home_l01", 1, "home_vocabulary", "Dom i mieszkanie", "Дом и квартира", "Будинок і квартира", "House and apartment", "Dom (rodzaj męski) to budynek, w którym mieszka jedna rodzina. Mieszkanie (rodzaj nijaki) to część większego budynku (bloku). „Mam dom” i „mam mieszkanie” — oba zdania są poprawne, zależą od tego, gdzie mieszkasz.", "Dom (мужской род) — это здание, в котором живёт одна семья. Mieszkanie (средний род) — это часть большего здания (блока). „Mam dom” и „mam mieszkanie” — оба предложения правильные, зависят от того, где ты живёшь.", "Dom (чоловічий рід) — це будівля, в якій живе одна родина. Mieszkanie (середній рід) — це частина більшої будівлі (блоку). „Mam dom” і „mam mieszkanie” — обидва речення правильні, залежать від того, де ти живеш.", "Dom (masculine) is a building where one family lives. Mieszkanie (neuter) is part of a larger building (apartment block). „Mam dom” and „mam mieszkanie” are both correct, depending on where you live."), ("a1_home_l02", 2, "home_vocabulary", "Pokoje w domu", "Комнаты в доме", "Кімнати в будинку", "Rooms in the house", "Pokoje: pokój (ogólne słowo na pomieszczenie), kuchnia, łazienka, sypialnia, salon (pokój, w którym się odpoczywa i ogląda telewizję).", "Комнаты: pokój (общее слово для помещения), kuchnia (кухня), łazienka (ванная), sypialnia (спальня), salon (гостиная, комната для отдыха и просмотра телевизора).", "Кімнати: pokój (загальне слово для приміщення), kuchnia (кухня), łazienka (ванна), sypialnia (спальня), salon (вітальня, кімната для відпочинку і перегляду телевізора).", "Rooms: pokój (general word for a room), kuchnia (kitchen), łazienka (bathroom), sypialnia (bedroom), salon (living room, where you relax and watch TV)."), ("a1_home_l03", 3, "home_furniture", "Meble", "Мебель", "Меблі", "Furniture", "Podstawowe meble: stół, krzesło, łóżko, szafa. „Stół” i „krzesło” są w kuchni lub salonie, „łóżko” i „szafa” zwykle są w sypialni.", "Основная мебель: stół (стол), krzesło (стул), łóżko (кровать), szafa (шкаф). „Stół” и „krzesło” обычно на кухне или в гостиной, „łóżko” и „szafa” — обычно в спальне.", "Основні меблі: stół (стіл), krzesło (стілець), łóżko (ліжко), szafa (шафа). „Stół” і „krzesło” зазвичай на кухні чи у вітальні, „łóżko” і „szafa” — зазвичай у спальні.", "Basic furniture: stół (table), krzesło (chair), łóżko (bed), szafa (wardrobe). „Stół” and „krzesło” are usually in the kitchen or living room; „łóżko” and „szafa” are usually in the bedroom."), ("a1_home_l04", 4, "home_furniture", "Więcej mebli", "Больше мебели", "Більше меблів", "More furniture", "Więcej przedmiotów w domu: kanapa, lodówka, okno, drzwi. „Drzwi” to słowo, które w polskim występuje tylko w liczbie mnogiej (jak „nożyczki”).", "Больше предметов в доме: kanapa (диван), lodówka (холодильник), okno (окно), drzwi (дверь). „Drzwi” — слово, которое в польском существует только во множественном числе (как „ножницы”).", "Більше предметів у домі: kanapa (диван), lodówka (холодильник), okno (вікно), drzwi (двері). „Drzwi” — слово, яке в польській мові існує тільки у множині (як „ножиці”).", "More household items: kanapa (sofa), lodówka (fridge), okno (window), drzwi (door). „Drzwi” is a word that in Polish exists only in the plural (like “scissors”)."), ("a1_home_l05", 5, "home_location", "Gdzie jest? — w kuchni", "Где это? — в кухне", "Де це? — на кухні", "Where is it? — in the kitchen", "Po przyimku „w” rzeczowniki zmieniają końcówkę (miejscownik): kuchnia → w kuchni, łazienka → w łazience, salon → w salonie, sypialnia → w sypialni, dom → w domu, mieszkanie → w mieszkaniu.", "После предлога „w” существительные меняют окончание (местный падеж): kuchnia → w kuchni, łazienka → w łazience, salon → w salonie, sypialnia → w sypialni, dom → w domu, mieszkanie → w mieszkaniu.", "Після прийменника „w” іменники змінюють закінчення (місцевий відмінок): kuchnia → w kuchni, łazienka → w łazience, salon → w salonie, sypialnia → w sypialni, dom → w domu, mieszkanie → w mieszkaniu.", "After the preposition „w” (in), nouns change their ending (locative case): kuchnia → w kuchni, łazienka → w łazience, salon → w salonie, sypialnia → w sypialni, dom → w domu, mieszkanie → w mieszkaniu."), ("a1_home_l06", 6, "home_location", "Na stole — miejscownik z „na”", "На столе — местный падеж с „na”", "На столі — місцевий відмінок з „na”", "On the table — locative with „na”", "Po przyimku „na” rzeczowniki też zmieniają końcówkę: stół → na stole, łóżko → na łóżku, krzesło → na krześle, okno → na oknie.", "После предлога „na” существительные тоже меняют окончание: stół → na stole, łóżko → na łóżku, krzesło → na krześle, okno → na oknie.", "Після прийменника „na” іменники теж змінюють закінчення: stół → na stole, łóżko → na łóżku, krzesło → na krześle, okno → na oknie.", "After the preposition „na” (on), nouns also change their ending: stół → na stole, łóżko → na łóżku, krzesło → na krześle, okno → na oknie."), ("a1_home_l07", 7, "home_ownership", "Mam dom, mam mieszkanie", "У меня есть дом, у меня есть квартира", "У мене є будинок, у мене є квартира", "I have a house, I have an apartment", "Po „mam” rzeczowniki nijakie i męskie nieżywotne nie zmieniają końcówki: mam dom (bez zmiany), mam mieszkanie (bez zmiany), mam pokój (bez zmiany).", "После „mam” существительные среднего рода и мужского неодушевлённого не меняют окончание: mam dom (без изменений), mam mieszkanie (без изменений), mam pokój (без изменений).", "Після „mam” іменники середнього роду і чоловічого неістоти не змінюють закінчення: mam dom (без змін), mam mieszkanie (без змін), mam pokój (без змін).", "After „mam”, neuter and masculine inanimate nouns don't change their ending: mam dom (unchanged), mam mieszkanie (unchanged), mam pokój (unchanged)."), ("a1_home_l08", 8, "home_ownership", "Mam małą kawalerkę", "У меня маленькая студия", "У мене маленька квартира-студія", "I have a small studio apartment", "Rzeczowniki żeńskie po „mam” zmieniają końcówkę: kawalerka → mam kawalerkę, kuchnia → mam kuchnię. Przymiotnik też się zmienia: mała → małą, duża → dużą. Po zaprzeczeniu „nie mam” wraca dopełniacz: nie mam dużej łazienki.", "Существительные женского рода после „mam” меняют окончание: kawalerka → mam kawalerkę, kuchnia → mam kuchnię. Прилагательное тоже меняется: mała → małą, duża → dużą. После отрицания „nie mam” возвращается родительный падеж: nie mam dużej łazienki.", "Іменники жіночого роду після „mam” змінюють закінчення: kawalerka → mam kawalerkę, kuchnia → mam kuchnię. Прикметник теж змінюється: mała → małą, duża → dużą. Після заперечення „nie mam” повертається родовий відмінок: nie mam dużej łazienki.", "Feminine nouns change their ending after „mam”: kawalerka → mam kawalerkę, kuchnia → mam kuchnię. The adjective changes too: mała → małą, duża → dużą. After the negation „nie mam”, the genitive returns: nie mam dużej łazienki."), ("a1_home_l09", 9, "home_description", "Ile masz pokoi?", "Сколько у тебя комнат?", "Скільки у тебе кімнат?", "How many rooms do you have?", "Po liczebnikach 2–4 rzeczownik ma formę mianownika liczby mnogiej: dwa pokoje, trzy pokoje, cztery pokoje. Pytanie „Ile masz pokoi?” używa dopełniacza liczby mnogiej „pokoi” — warto ją zapamiętać jako całość.", "После числительных 2–4 существительное имеет форму именительного падежа множественного числа: dwa pokoje, trzy pokoje, cztery pokoje. В вопросе „Ile masz pokoi?” используется родительный падеж множественного числа „pokoi” — её стоит запомнить целиком.", "Після числівників 2–4 іменник має форму називного відмінка множини: dwa pokoje, trzy pokoje, cztery pokoje. У питанні „Ile masz pokoi?” використовується родовий відмінок множини „pokoi” — її варто запам'ятати цілком.", "After the numbers 2–4, the noun has the nominative plural form: dwa pokoje, trzy pokoje, cztery pokoje. The question „Ile masz pokoi?” uses the genitive plural „pokoi” — worth memorizing as a whole."), ("a1_home_l10", 10, "home_description", "Opisuję swoje mieszkanie", "Описываю свою квартиру", "Описую свою квартиру", "Describing my apartment", "Żeby opisać mieszkanie, łączymy nazwy pokoi, liczby i przymiotniki w jedno zdanie: Mam małe mieszkanie: kuchnię, łazienkę i sypialnię. Mam dwa pokoje.", "Чтобы описать квартиру, соединяем названия комнат, числа и прилагательные в одно предложение: Mam małe mieszkanie: kuchnię, łazienkę i sypialnię. Mam dwa pokoje.", "Щоб описати квартиру, з'єднуємо назви кімнат, числа і прикметники в одне речення: Mam małe mieszkanie: kuchnię, łazienkę i sypialnię. Mam dwa pokoje.", "To describe an apartment, we combine room names, numbers and adjectives into one sentence: Mam małe mieszkanie: kuchnię, łazienkę i sypialnię. Mam dwa pokoje."), ] for lesson in lessons_t5: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_home', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t5 = [ ("a1_home_l01", 1, "Mam dom.", "У меня есть дом.", "У мене є будинок.", "I have a house."), ("a1_home_l01", 2, "Mam mieszkanie.", "У меня есть квартира.", "У мене є квартира.", "I have an apartment."), ("a1_home_l01", 3, "Mieszkam w domu, a mój kolega mieszka w mieszkaniu.", "Я живу в доме, а мой друг живёт в квартире.", "Я живу в будинку, а мій друг живе в квартирі.", "I live in a house, and my friend lives in an apartment."), ("a1_home_l02", 1, "W moim domu jest kuchnia i łazienka.", "В моём доме есть кухня и ванная.", "У моєму будинку є кухня і ванна.", "In my house there is a kitchen and a bathroom."), ("a1_home_l02", 2, "Sypialnia jest mała.", "Спальня маленькая.", "Спальня маленька.", "The bedroom is small."), ("a1_home_l02", 3, "Salon jest duży i jasny.", "Гостиная большая и светлая.", "Вітальня велика і світла.", "The living room is big and bright."), ("a1_home_l03", 1, "W kuchni są stół i krzesła.", "На кухне есть стол и стулья.", "На кухні є стіл і стільці.", "In the kitchen there are a table and chairs."), ("a1_home_l03", 2, "Śpię na łóżku.", "Я сплю на кровати.", "Я сплю на ліжку.", "I sleep on the bed."), ("a1_home_l03", 3, "Ubrania są w szafie.", "Одежда в шкафу.", "Одяг у шафі.", "The clothes are in the wardrobe."), ("a1_home_l04", 1, "W salonie jest kanapa.", "В гостиной есть диван.", "У вітальні є диван.", "There is a sofa in the living room."), ("a1_home_l04", 2, "Mleko jest w lodówce.", "Молоко в холодильнике.", "Молоко в холодильнику.", "The milk is in the fridge."), ("a1_home_l04", 3, "Okno jest otwarte, a drzwi są zamknięte.", "Окно открыто, а дверь закрыта.", "Вікно відкрите, а двері зачинені.", "The window is open, and the door is closed."), ("a1_home_l05", 1, "Gotuję w kuchni.", "Я готовлю на кухне.", "Я готую на кухні.", "I cook in the kitchen."), ("a1_home_l05", 2, "Myję się w łazience.", "Я моюсь в ванной.", "Я миюся у ванній.", "I wash myself in the bathroom."), ("a1_home_l05", 3, "Oglądam telewizję w salonie.", "Я смотрю телевизор в гостиной.", "Я дивлюся телевізор у вітальні.", "I watch TV in the living room."), ("a1_home_l06", 1, "Talerz jest na stole.", "Тарелка на столе.", "Тарілка на столі.", "The plate is on the table."), ("a1_home_l06", 2, "Kot śpi na łóżku.", "Кот спит на кровати.", "Кіт спить на ліжку.", "The cat sleeps on the bed."), ("a1_home_l06", 3, "Kwiaty są na oknie.", "Цветы на окне.", "Квіти на вікні.", "The flowers are on the window."), ("a1_home_l07", 1, "Mam dom.", "У меня есть дом.", "У мене є будинок.", "I have a house."), ("a1_home_l07", 2, "Mam mieszkanie.", "У меня есть квартира.", "У мене є квартира.", "I have an apartment."), ("a1_home_l07", 3, "Mam duży pokój.", "У меня большая комната.", "У мене велика кімната.", "I have a big room."), ("a1_home_l08", 1, "Mam małą kawalerkę.", "У меня маленькая студия.", "У мене маленька квартира-студія.", "I have a small studio apartment."), ("a1_home_l08", 2, "Mam dużą kuchnię.", "У меня большая кухня.", "У мене велика кухня.", "I have a big kitchen."), ("a1_home_l08", 3, "Nie mam dużej łazienki.", "У меня нет большой ванной.", "У мене немає великої ванної.", "I don't have a big bathroom."), ("a1_home_l09", 1, "Mam dwa pokoje.", "У меня две комнаты.", "У мене дві кімнати.", "I have two rooms."), ("a1_home_l09", 2, "Mam trzy pokoje.", "У меня три комнаты.", "У мене три кімнати.", "I have three rooms."), ("a1_home_l09", 3, "Ile masz pokoi?", "Сколько у тебя комнат?", "Скільки у тебе кімнат?", "How many rooms do you have?"), ("a1_home_l10", 1, "Mam małe mieszkanie: kuchnię, łazienkę i sypialnię.", "У меня маленькая квартира: кухня, ванная и спальня.", "У мене маленька квартира: кухня, ванна і спальня.", "I have a small apartment: a kitchen, a bathroom and a bedroom."), ("a1_home_l10", 2, "W salonie jest duża kanapa.", "В гостиной большой диван.", "У вітальні великий диван.", "There is a big sofa in the living room."), ("a1_home_l10", 3, "Mam dwa pokoje i małą kuchnię.", "У меня две комнаты и маленькая кухня.", "У мене дві кімнати і маленька кухня.", "I have two rooms and a small kitchen."), ] for ex in examples_t5: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t5 = [ # L01 — home_vocabulary (difficulty 1) ("a1_home_l01_q1", "a1_home_l01", "lesson_practice", "recognition", "home_vocabulary", 1, "Jak po polsku „квартира”?", "Как по-польски «квартира»?", "Як польською «квартира»?", "How do you say “apartment” in Polish?", "B", None, None), ("a1_home_l01_q2", "a1_home_l01", "lesson_practice", "production", "home_vocabulary", 1, "Wpisz brakujące słowo: Mam ___. (дом)", "Вставьте пропущенное слово: Mam ___. (дом)", "Вставте пропущене слово: Mam ___. (будинок)", "Fill in the missing word: Mam ___. (house)", "dom", "first_letter", "d"), ("a1_home_l01_q3", "a1_home_l01", "lesson_practice", "application", "home_vocabulary", 1, "Mieszkasz w bloku, na trzecim piętrze. Co masz?", "Ты живёшь в блоке, на третьем этаже. Что у тебя?", "Ти живеш у блоці, на третьому поверсі. Що у тебе?", "You live in an apartment block, on the third floor. What do you have?", "A", None, None), # L02 — home_vocabulary (difficulty 1) ("a1_home_l02_q1", "a1_home_l02", "lesson_practice", "recognition", "home_vocabulary", 1, "Jak po polsku „ванная”?", "Как по-польски «ванная»?", "Як польською «ванна»?", "How do you say “bathroom” in Polish?", "C", None, None), ("a1_home_l02_q2", "a1_home_l02", "lesson_practice", "production", "home_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (спальня)", "Вставьте пропущенное слово: To jest ___. (спальня)", "Вставте пропущене слово: To jest ___. (спальня)", "Fill in the missing word: To jest ___. (bedroom)", "sypialnia", "first_letter", "s"), ("a1_home_l02_q3", "a1_home_l02", "lesson_practice", "application", "home_vocabulary", 1, "Chcesz ugotować obiad. Do którego pokoju pójdziesz?", "Ты хочешь приготовить обед. В какую комнату ты пойдёшь?", "Ти хочеш приготувати обід. До якої кімнати ти підеш?", "You want to cook lunch. Which room do you go to?", "A", None, None), # L03 — home_furniture (difficulty 1) ("a1_home_l03_q1", "a1_home_l03", "lesson_practice", "recognition", "home_furniture", 1, "Jak po polsku „стул”?", "Как по-польски «стул»?", "Як польською «стілець»?", "How do you say “chair” in Polish?", "B", None, None), ("a1_home_l03_q2", "a1_home_l03", "lesson_practice", "production", "home_furniture", 1, "Wpisz brakujące słowo: To jest ___. (кровать)", "Вставьте пропущенное слово: To jest ___. (кровать)", "Вставте пропущене слово: To jest ___. (ліжко)", "Fill in the missing word: To jest ___. (bed)", "łóżko", "first_letter", "ł"), ("a1_home_l03_q3", "a1_home_l03", "lesson_practice", "application", "home_furniture", 1, "Chcesz powiesić ubrania. Gdzie je włożysz?", "Ты хочешь повесить одежду. Куда ты её положишь?", "Ти хочеш повісити одяг. Куди ти його покладеш?", "You want to hang your clothes. Where do you put them?", "A", None, None), # L04 — home_furniture (difficulty 1) ("a1_home_l04_q1", "a1_home_l04", "lesson_practice", "recognition", "home_furniture", 1, "Jak po polsku „холодильник”?", "Как по-польски «холодильник»?", "Як польською «холодильник»?", "How do you say “fridge” in Polish?", "B", None, None), ("a1_home_l04_q2", "a1_home_l04", "lesson_practice", "production", "home_furniture", 1, "Wpisz brakujące słowo: To jest ___. (диван)", "Вставьте пропущенное слово: To jest ___. (диван)", "Вставте пропущене слово: To jest ___. (диван)", "Fill in the missing word: To jest ___. (sofa)", "kanapa", "first_letter", "k"), ("a1_home_l04_q3", "a1_home_l04", "lesson_practice", "application", "home_furniture", 1, "Chcesz obejrzeć film w salonie. Na czym usiądziesz?", "Ты хочешь посмотреть фильм в гостиной. На чём ты сядешь?", "Ти хочеш подивитися фільм у вітальні. На чому ти сядеш?", "You want to watch a movie in the living room. What do you sit on?", "A", None, None), # L05 — home_location (difficulty 2) ("a1_home_l05_q1", "a1_home_l05", "lesson_practice", "recognition", "home_location", 2, "Wybierz poprawną formę: Gotuję ___. (w + kuchnia)", "Выберите правильную форму: Gotuję ___. (w + kuchnia)", "Виберіть правильну форму: Gotuję ___. (w + kuchnia)", "Choose the correct form: Gotuję ___. (w + kuchnia)", "A", None, None), ("a1_home_l05_q2", "a1_home_l05", "lesson_practice", "production", "home_location", 2, "Wpisz brakujące słowo: Myję się w ___. (ванная)", "Вставьте пропущенное слово: Myję się w ___. (ванная)", "Вставте пропущене слово: Myję się w ___. (ванна)", "Fill in the missing word: Myję się w ___. (bathroom)", "łazience", "first_letter", "ł"), ("a1_home_l05_q3", "a1_home_l05", "lesson_practice", "application", "home_location", 2, "Gdzie oglądasz telewizję?", "Где ты смотришь телевизор?", "Де ти дивишся телевізор?", "Where do you watch TV?", "A", None, None), # L06 — home_location (difficulty 2) ("a1_home_l06_q1", "a1_home_l06", "lesson_practice", "recognition", "home_location", 2, "Wybierz poprawną formę: Talerz jest ___. (na + stół)", "Выберите правильную форму: Talerz jest ___. (na + stół)", "Виберіть правильну форму: Talerz jest ___. (na + stół)", "Choose the correct form: Talerz jest ___. (na + stół)", "B", None, None), ("a1_home_l06_q2", "a1_home_l06", "lesson_practice", "production", "home_location", 2, "Wpisz brakujące słowo: Kot śpi na ___. (кровать)", "Вставьте пропущенное слово: Kot śpi na ___. (кровать)", "Вставте пропущене слово: Kot śpi na ___. (ліжко)", "Fill in the missing word: Kot śpi na ___. (bed)", "łóżku", "first_letter", "ł"), ("a1_home_l06_q3", "a1_home_l06", "lesson_practice", "application", "home_location", 2, "Widzisz kwiaty przy oknie. Gdzie one są?", "Ты видишь цветы у окна. Где они?", "Ти бачиш квіти біля вікна. Де вони?", "You see flowers by the window. Where are they?", "A", None, None), # L07 — home_ownership (difficulty 2) ("a1_home_l07_q1", "a1_home_l07", "lesson_practice", "recognition", "home_ownership", 2, "Wybierz poprawną formę: Mam ___. (dom)", "Выберите правильную форму: Mam ___. (dom)", "Виберіть правильну форму: Mam ___. (dom)", "Choose the correct form: Mam ___. (dom)", "A", None, None), ("a1_home_l07_q2", "a1_home_l07", "lesson_practice", "production", "home_ownership", 2, "Wpisz brakujące słowo: Mam ___. (квартира)", "Вставьте пропущенное слово: Mam ___. (квартира)", "Вставте пропущене слово: Mam ___. (квартира)", "Fill in the missing word: Mam ___. (apartment)", "mieszkanie", "first_letter", "m"), ("a1_home_l07_q3", "a1_home_l07", "lesson_practice", "application", "home_ownership", 2, "Chcesz powiedzieć, że masz duży dom. Co powiesz?", "Ты хочешь сказать, что у тебя большой дом. Что ты скажешь?", "Ти хочеш сказати, що у тебе великий будинок. Що ти скажеш?", "You want to say you have a big house. What do you say?", "A", None, None), # L08 — home_ownership (difficulty 2) ("a1_home_l08_q1", "a1_home_l08", "lesson_practice", "recognition", "home_ownership", 2, "Wybierz poprawną formę: Mam małą ___. (kawalerka)", "Выберите правильную форму: Mam małą ___. (kawalerka)", "Виберіть правильну форму: Mam małą ___. (kawalerka)", "Choose the correct form: Mam małą ___. (kawalerka)", "A", None, None), ("a1_home_l08_q2", "a1_home_l08", "lesson_practice", "production", "home_ownership", 2, "Wpisz brakujące słowo: Mam dużą ___. (кухня)", "Вставьте пропущенное слово: Mam dużą ___. (кухня)", "Вставте пропущене слово: Mam dużą ___. (кухня)", "Fill in the missing word: Mam dużą ___. (kitchen)", "kuchnię", "first_letter", "k"), ("a1_home_l08_q3", "a1_home_l08", "lesson_practice", "application", "home_ownership", 2, "Chcesz powiedzieć, że nie masz dużej łazienki. Co powiesz?", "Ты хочешь сказать, что у тебя нет большой ванной. Что ты скажешь?", "Ти хочеш сказати, що у тебе немає великої ванної. Що ти скажеш?", "You want to say you don't have a big bathroom. What do you say?", "A", None, None), # L09 — home_description (difficulty 3) ("a1_home_l09_q1", "a1_home_l09", "lesson_practice", "recognition", "home_description", 3, "Co znaczy „Ile masz pokoi?”", "Что означает «Ile masz pokoi?»", "Що означає «Ile masz pokoi?»", "What does “Ile masz pokoi?” mean?", "A", None, None), ("a1_home_l09_q2", "a1_home_l09", "lesson_practice", "production", "home_description", 3, "Wpisz brakujące słowo: Mam dwa ___. (комнаты)", "Вставьте пропущенное слово: Mam dwa ___. (комнаты)", "Вставте пропущене слово: Mam dwa ___. (кімнати)", "Fill in the missing word: Mam dwa ___. (rooms)", "pokoje", "first_letter", "p"), ("a1_home_l09_q3", "a1_home_l09", "lesson_practice", "application", "home_description", 3, "Kolega pyta „Ile masz pokoi?” Masz trzy pokoje. Co powiesz?", "Друг спрашивает «Ile masz pokoi?» У тебя три комнаты. Что ты скажешь?", "Друг питає «Ile masz pokoi?» У тебе три кімнати. Що ти скажеш?", "A friend asks “Ile masz pokoi?” You have three rooms. What do you say?", "A", None, None), # L10 — home_description (difficulty 3) ("a1_home_l10_q1", "a1_home_l10", "lesson_practice", "recognition", "home_description", 3, "Które zdanie poprawnie opisuje mieszkanie?", "Какое предложение правильно описывает квартиру?", "Яке речення правильно описує квартиру?", "Which sentence correctly describes an apartment?", "B", None, None), ("a1_home_l10_q2", "a1_home_l10", "lesson_practice", "production", "home_description", 3, "Przetłumacz: «У меня маленькая квартира: кухня, ванная и спальня».", "Переведите: «У меня маленькая квартира: кухня, ванная и спальня».", "Перекладіть: «У мене маленька квартира: кухня, ванна і спальня».", "Translate: “I have a small apartment: a kitchen, a bathroom and a bedroom.”", "Mam małe mieszkanie: kuchnię, łazienkę i sypialnię", "first_letter", "M"), ("a1_home_l10_q3", "a1_home_l10", "lesson_practice", "application", "home_description", 3, "Chcesz opisać koledze swoje mieszkanie: masz dwa pokoje i małą kuchnię. Jak zaczniesz zdanie?", "Ты хочешь описать другу свою квартиру: у тебя две комнаты и маленькая кухня. Как ты начнёшь предложение?", "Ти хочеш описати другу свою квартиру: у тебе дві кімнати і маленька кухня. Як ти почнеш речення?", "You want to describe your apartment to a friend: you have two rooms and a small kitchen. How do you start the sentence?", "A", None, None), ] for q in questions_t5: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_home', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t5 = [ # L01 ("a1_home_l01_q1", "A", "dom", "дом", "будинок", "house", False, "wrong_word"), ("a1_home_l01_q1", "B", "mieszkanie", "квартира", "квартира", "apartment", True, None), ("a1_home_l01_q1", "C", "pokój", "комната", "кімната", "room", False, "wrong_word"), ("a1_home_l01_q1", "D", "kuchnia", "кухня", "кухня", "kitchen", False, "wrong_word"), ("a1_home_l01_q3", "A", "mieszkanie", "квартира", "квартира", "apartment", True, None), ("a1_home_l01_q3", "B", "dom", "дом", "будинок", "house", False, "wrong_context"), ("a1_home_l01_q3", "C", "pokój", "комната", "кімната", "room", False, "wrong_context"), ("a1_home_l01_q3", "D", "kuchnia", "кухня", "кухня", "kitchen", False, "wrong_word"), # L02 ("a1_home_l02_q1", "A", "sypialnia", "спальня", "спальня", "bedroom", False, "wrong_word"), ("a1_home_l02_q1", "B", "salon", "гостиная", "вітальня", "living room", False, "wrong_word"), ("a1_home_l02_q1", "C", "łazienka", "ванная", "ванна", "bathroom", True, None), ("a1_home_l02_q1", "D", "kuchnia", "кухня", "кухня", "kitchen", False, "wrong_word"), ("a1_home_l02_q3", "A", "kuchnia", "кухня", "кухня", "kitchen", True, None), ("a1_home_l02_q3", "B", "łazienka", "ванная", "ванна", "bathroom", False, "wrong_context"), ("a1_home_l02_q3", "C", "sypialnia", "спальня", "спальня", "bedroom", False, "wrong_context"), ("a1_home_l02_q3", "D", "salon", "гостиная", "вітальня", "living room", False, "wrong_context"), # L03 ("a1_home_l03_q1", "A", "stół", "стол", "стіл", "table", False, "wrong_word"), ("a1_home_l03_q1", "B", "krzesło", "стул", "стілець", "chair", True, None), ("a1_home_l03_q1", "C", "łóżko", "кровать", "ліжко", "bed", False, "wrong_word"), ("a1_home_l03_q1", "D", "szafa", "шкаф", "шафа", "wardrobe", False, "wrong_word"), ("a1_home_l03_q3", "A", "szafa", "шкаф", "шафа", "wardrobe", True, None), ("a1_home_l03_q3", "B", "stół", "стол", "стіл", "table", False, "wrong_context"), ("a1_home_l03_q3", "C", "łóżko", "кровать", "ліжко", "bed", False, "wrong_context"), ("a1_home_l03_q3", "D", "krzesło", "стул", "стілець", "chair", False, "wrong_context"), # L04 ("a1_home_l04_q1", "A", "okno", "окно", "вікно", "window", False, "wrong_word"), ("a1_home_l04_q1", "B", "lodówka", "холодильник", "холодильник", "fridge", True, None), ("a1_home_l04_q1", "C", "kanapa", "диван", "диван", "sofa", False, "wrong_word"), ("a1_home_l04_q1", "D", "drzwi", "дверь", "двері", "door", False, "wrong_word"), ("a1_home_l04_q3", "A", "kanapa", "диван", "диван", "sofa", True, None), ("a1_home_l04_q3", "B", "łóżko", "кровать", "ліжко", "bed", False, "wrong_context"), ("a1_home_l04_q3", "C", "krzesło", "стул", "стілець", "chair", False, "wrong_context"), ("a1_home_l04_q3", "D", "stół", "стол", "стіл", "table", False, "wrong_context"), # L05 ("a1_home_l05_q1", "A", "w kuchni", "на кухне", "на кухні", "in the kitchen", True, None), ("a1_home_l05_q1", "B", "w kuchnia", "на кухне (неправильно)", "на кухні (неправильно)", "in the kitchen (wrong case)", False, "wrong_case"), ("a1_home_l05_q1", "C", "w kuchnię", "на кухне (неправильно)", "на кухні (неправильно)", "in the kitchen (wrong case)", False, "wrong_case"), ("a1_home_l05_q1", "D", "w kuchnią", "на кухне (неправильно)", "на кухні (неправильно)", "in the kitchen (wrong case)", False, "wrong_case"), ("a1_home_l05_q3", "A", "Oglądam telewizję w salonie.", "Я смотрю телевизор в гостиной.", "Я дивлюся телевізор у вітальні.", "I watch TV in the living room.", True, None), ("a1_home_l05_q3", "B", "Oglądam telewizję w kuchni.", "Я смотрю телевизор на кухне.", "Я дивлюся телевізор на кухні.", "I watch TV in the kitchen.", False, "wrong_context"), ("a1_home_l05_q3", "C", "Oglądam telewizję w łazience.", "Я смотрю телевизор в ванной.", "Я дивлюся телевізор у ванній.", "I watch TV in the bathroom.", False, "wrong_context"), ("a1_home_l05_q3", "D", "Oglądam telewizję w sypialni.", "Я смотрю телевизор в спальне.", "Я дивлюся телевізор у спальні.", "I watch TV in the bedroom.", False, "wrong_context"), # L06 ("a1_home_l06_q1", "A", "na stół", "на стол (неправильно)", "на стіл (неправильно)", "on the table (wrong case)", False, "wrong_case"), ("a1_home_l06_q1", "B", "na stole", "на столе", "на столі", "on the table", True, None), ("a1_home_l06_q1", "C", "na stołem", "на столе (неправильно)", "на столі (неправильно)", "on the table (wrong case)", False, "wrong_case"), ("a1_home_l06_q1", "D", "na stołu", "на столе (неправильно)", "на столі (неправильно)", "on the table (wrong case)", False, "wrong_case"), ("a1_home_l06_q3", "A", "Kwiaty są na oknie.", "Цветы на окне.", "Квіти на вікні.", "The flowers are on the window.", True, None), ("a1_home_l06_q3", "B", "Kwiaty są na stole.", "Цветы на столе.", "Квіти на столі.", "The flowers are on the table.", False, "wrong_context"), ("a1_home_l06_q3", "C", "Kwiaty są na łóżku.", "Цветы на кровати.", "Квіти на ліжку.", "The flowers are on the bed.", False, "wrong_context"), ("a1_home_l06_q3", "D", "Kwiaty są na krześle.", "Цветы на стуле.", "Квіти на стільці.", "The flowers are on the chair.", False, "wrong_context"), # L07 ("a1_home_l07_q1", "A", "dom", "дом", "будинок", "house", True, None), ("a1_home_l07_q1", "B", "domu", "дома (неправильно)", "будинку (неправильно)", "house (wrong case)", False, "wrong_case"), ("a1_home_l07_q1", "C", "domem", "домом (неправильно)", "будинком (неправильно)", "house (wrong case)", False, "wrong_case"), ("a1_home_l07_q1", "D", "domowi", "дому (неправильно)", "будинкові (неправильно)", "house (wrong case)", False, "wrong_case"), ("a1_home_l07_q3", "A", "Mam duży dom.", "У меня большой дом.", "У мене великий будинок.", "I have a big house.", True, None), ("a1_home_l07_q3", "B", "Mam duża dom.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_home_l07_q3", "C", "Jestem duży dom.", "Я большой дом.", "Я великий будинок.", "I am a big house.", False, "wrong_sentence_type"), ("a1_home_l07_q3", "D", "To duży dom.", "Это большой дом.", "Це великий будинок.", "This is a big house.", False, "wrong_sentence_type"), # L08 ("a1_home_l08_q1", "A", "kawalerkę", "студию (вин.)", "квартиру-студію (знах.)", "studio (acc.)", True, None), ("a1_home_l08_q1", "B", "kawalerka", "студия (им.)", "квартира-студія (наз.)", "studio (nom.)", False, "wrong_case"), ("a1_home_l08_q1", "C", "kawalerki", "студии (род.)", "квартири-студії (род.)", "studio (gen.)", False, "wrong_case"), ("a1_home_l08_q1", "D", "kawalerką", "студией (тв.)", "квартирою-студією (ор.)", "studio (instr.)", False, "wrong_case"), ("a1_home_l08_q3", "A", "Nie mam dużej łazienki.", "У меня нет большой ванной.", "У мене немає великої ванної.", "I don't have a big bathroom.", True, None), ("a1_home_l08_q3", "B", "Nie mam duża łazienka.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_home_l08_q3", "C", "Mam dużą łazienkę.", "У меня есть большая ванная. (неверный смысл)", "У мене є велика ванна. (неправильний сенс)", "I have a big bathroom. (wrong meaning)", False, "wrong_context"), ("a1_home_l08_q3", "D", "Nie jestem duża łazienka.", "Я не большая ванная.", "Я не велика ванна.", "I am not a big bathroom.", False, "wrong_sentence_type"), # L09 ("a1_home_l09_q1", "A", "Сколько у тебя комнат?", "Сколько у тебя комнат?", "Скільки у тебе кімнат?", "How many rooms do you have?", True, None), ("a1_home_l09_q1", "B", "Где твоя комната?", "Где твоя комната?", "Де твоя кімната?", "Where is your room?", False, "wrong_translation"), ("a1_home_l09_q1", "C", "Тебе нравится твоя комната?", "Тебе нравится твоя комната?", "Тобі подобається твоя кімната?", "Do you like your room?", False, "wrong_translation"), ("a1_home_l09_q1", "D", "Какая у тебя комната?", "Какая у тебя комната?", "Яка у тебе кімната?", "What is your room like?", False, "wrong_translation"), ("a1_home_l09_q3", "A", "Mam trzy pokoje.", "У меня три комнаты.", "У мене три кімнати.", "I have three rooms.", True, None), ("a1_home_l09_q3", "B", "Mam trzy pokój.", "Неправильное число.", "Неправильне число.", "Wrong number form.", False, "wrong_number"), ("a1_home_l09_q3", "C", "Jestem trzy pokoje.", "Я три комнаты.", "Я три кімнати.", "I am three rooms.", False, "wrong_sentence_type"), ("a1_home_l09_q3", "D", "To trzy pokoje.", "Это три комнаты.", "Це три кімнати.", "This is three rooms.", False, "wrong_sentence_type"), # L10 ("a1_home_l10_q1", "A", "Mam mała mieszkanie.", "Неправильный род.", "Неправильний рід.", "Wrong gender agreement.", False, "wrong_gender"), ("a1_home_l10_q1", "B", "Mam małe mieszkanie.", "У меня маленькая квартира.", "У мене маленька квартира.", "I have a small apartment.", True, None), ("a1_home_l10_q1", "C", "Jestem małe mieszkanie.", "Я маленькая квартира.", "Я маленька квартира.", "I am a small apartment.", False, "wrong_sentence_type"), ("a1_home_l10_q1", "D", "To małe mieszkanie.", "Это маленькая квартира.", "Це маленька квартира.", "This is a small apartment.", False, "wrong_sentence_type"), ("a1_home_l10_q3", "A", "Mam dwa pokoje i małą kuchnię.", "У меня две комнаты и маленькая кухня.", "У мене дві кімнати і маленька кухня.", "I have two rooms and a small kitchen.", True, None), ("a1_home_l10_q3", "B", "Ja pokoje i kuchnia.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_home_l10_q3", "C", "Moje mieszkanie jestem dwa pokoje.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_home_l10_q3", "D", "Jestem dwa pokoje i mała kuchnia.", "Я две комнаты и маленькая кухня.", "Я дві кімнати і маленька кухня.", "I am two rooms and a small kitchen.", False, "wrong_sentence_type"), ] for opt in options_t5: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t5 = [ ("a1_home_t01", None, "topic_test", "recognition", "home_vocabulary", 1, "Jak po polsku „квартира”?", "Как по-польски «квартира»?", "Як польською «квартира»?", "How do you say “apartment” in Polish?", "B", None, None, 1), ("a1_home_t02", None, "topic_test", "recognition", "home_vocabulary", 1, "Jak po polsku „ванная”?", "Как по-польски «ванная»?", "Як польською «ванна»?", "How do you say “bathroom” in Polish?", "C", None, None, 2), ("a1_home_t03", None, "topic_test", "recognition", "home_furniture", 1, "Jak po polsku „холодильник”?", "Как по-польски «холодильник»?", "Як польською «холодильник»?", "How do you say “fridge” in Polish?", "B", None, None, 3), ("a1_home_t04", None, "topic_test", "recognition", "home_furniture", 1, "Jak po polsku „кровать”?", "Как по-польски «кровать»?", "Як польською «ліжко»?", "How do you say “bed” in Polish?", "D", None, None, 4), ("a1_home_t05", None, "topic_test", "recognition", "home_ownership", 1, "Wybierz poprawną formę: Mam ___. (dom)", "Выберите правильную форму: Mam ___. (dom)", "Виберіть правильну форму: Mam ___. (dom)", "Choose the correct form: Mam ___. (dom)", "A", None, None, 5), ("a1_home_t06", None, "topic_test", "recognition", "home_location", 2, "Wybierz poprawną formę: Gotuję ___. (w + kuchnia)", "Выберите правильную форму: Gotuję ___. (w + kuchnia)", "Виберіть правильну форму: Gotuję ___. (w + kuchnia)", "Choose the correct form: Gotuję ___. (w + kuchnia)", "A", None, None, 6), ("a1_home_t07", None, "topic_test", "application", "home_vocabulary", 2, "Mieszkasz w bloku, na trzecim piętrze. Co masz?", "Ты живёшь в блоке, на третьем этаже. Что у тебя?", "Ти живеш у блоці, на третьому поверсі. Що у тебе?", "You live in an apartment block, on the third floor. What do you have?", "A", None, None, 7), ("a1_home_t08", None, "topic_test", "application", "home_furniture", 2, "Chcesz obejrzeć film w salonie. Na czym usiądziesz?", "Ты хочешь посмотреть фильм в гостиной. На чём ты сядешь?", "Ти хочеш подивитися фільм у вітальні. На чому ти сядеш?", "You want to watch a movie in the living room. What do you sit on?", "A", None, None, 8), ("a1_home_t09", None, "topic_test", "application", "home_location", 2, "Widzisz kwiaty przy oknie. Gdzie one są?", "Ты видишь цветы у окна. Где они?", "Ти бачиш квіти біля вікна. Де вони?", "You see flowers by the window. Where are they?", "A", None, None, 9), ("a1_home_t10", None, "topic_test", "application", "home_location", 2, "Gdzie oglądasz telewizję?", "Где ты смотришь телевизор?", "Де ти дивишся телевізор?", "Where do you watch TV?", "A", None, None, 10), ("a1_home_t11", None, "topic_test", "application", "home_ownership", 2, "Chcesz powiedzieć, że nie masz dużej łazienki. Co powiesz?", "Ты хочешь сказать, что у тебя нет большой ванной. Что ты скажешь?", "Ти хочеш сказати, що у тебе немає великої ванної. Що ти скажеш?", "You want to say you don't have a big bathroom. What do you say?", "A", None, None, 11), ("a1_home_t12", None, "topic_test", "application", "home_description", 3, "Chcesz opisać koledze swoje mieszkanie: masz dwa pokoje i małą kuchnię. Jak zaczniesz zdanie?", "Ты хочешь описать другу свою квартиру: у тебя две комнаты и маленькая кухня. Как ты начнёшь предложение?", "Ти хочеш описати другу свою квартиру: у тебе дві кімнати і маленька кухня. Як ти почнеш речення?", "You want to describe your apartment to a friend: you have two rooms and a small kitchen. How do you start the sentence?", "A", None, None, 12), ("a1_home_t13", None, "topic_test", "production", "home_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (спальня)", "Вставьте пропущенное слово: To jest ___. (спальня)", "Вставте пропущене слово: To jest ___. (спальня)", "Fill in the missing word: To jest ___. (bedroom)", "sypialnia", "first_letter", "s", 13), ("a1_home_t14", None, "topic_test", "production", "home_furniture", 1, "Wpisz brakujące słowo: To jest ___. (диван)", "Вставьте пропущенное слово: To jest ___. (диван)", "Вставте пропущене слово: To jest ___. (диван)", "Fill in the missing word: To jest ___. (sofa)", "kanapa", "first_letter", "k", 14), ("a1_home_t15", None, "topic_test", "production", "home_location", 2, "Wpisz brakujące słowo: Myję się w ___. (ванная)", "Вставьте пропущенное слово: Myję się w ___. (ванная)", "Вставте пропущене слово: Myję się w ___. (ванна)", "Fill in the missing word: Myję się w ___. (bathroom)", "łazience", "first_letter", "ł", 15), ("a1_home_t16", None, "topic_test", "production", "home_location", 2, "Wpisz brakujące słowo: Kot śpi na ___. (кровать)", "Вставьте пропущенное слово: Kot śpi na ___. (кровать)", "Вставте пропущене слово: Kot śpi na ___. (ліжко)", "Fill in the missing word: Kot śpi na ___. (bed)", "łóżku", "first_letter", "ł", 16), ("a1_home_t17", None, "topic_test", "production", "home_ownership", 2, "Wpisz brakujące słowo: Mam dużą ___. (кухня)", "Вставьте пропущенное слово: Mam dużą ___. (кухня)", "Вставте пропущене слово: Mam dużą ___. (кухня)", "Fill in the missing word: Mam dużą ___. (kitchen)", "kuchnię", "first_letter", "k", 17), ("a1_home_t18", None, "topic_test", "production", "home_description", 3, "Przetłumacz: «У меня маленькая квартира: кухня, ванная и спальня».", "Переведите: «У меня маленькая квартира: кухня, ванная и спальня».", "Перекладіть: «У мене маленька квартира: кухня, ванна і спальня».", "Translate: “I have a small apartment: a kitchen, a bathroom and a bedroom.”", "Mam małe mieszkanie: kuchnię, łazienkę i sypialnię", "first_letter", "M", 18), ("a1_home_t19", None, "topic_test", "mixed", "home_location", 3, "Wybierz poprawne tłumaczenie: «Тарелка на столе, а кот спит на кровати».", "Выберите правильный перевод: «Тарелка на столе, а кот спит на кровати».", "Виберіть правильний переклад: «Тарілка на столі, а кіт спить на ліжку».", "Choose the correct translation: “The plate is on the table, and the cat sleeps on the bed.”", "A", None, None, 19), ("a1_home_t20", None, "topic_test", "mixed", "home_description", 3, "Wybierz poprawne tłumaczenie dialogu: «— Сколько у тебя комнат? — У меня две комнаты и маленькая кухня.»", "Выберите правильный перевод диалога: «— Сколько у тебя комнат? — У меня две комнаты и маленькая кухня.»", "Виберіть правильний переклад діалогу: «— Скільки у тебе кімнат? — У мене дві кімнати і маленька кухня.»", "Choose the correct translation of the dialogue: “— How many rooms do you have? — I have two rooms and a small kitchen.”", "A", None, None, 20), ] for q in test_questions_t5: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_home', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t5 = [ ("a1_home_t01", "A", "dom", "дом", "будинок", "house", False, "wrong_word"), ("a1_home_t01", "B", "mieszkanie", "квартира", "квартира", "apartment", True, None), ("a1_home_t01", "C", "pokój", "комната", "кімната", "room", False, "wrong_word"), ("a1_home_t01", "D", "kuchnia", "кухня", "кухня", "kitchen", False, "wrong_word"), ("a1_home_t02", "A", "sypialnia", "спальня", "спальня", "bedroom", False, "wrong_word"), ("a1_home_t02", "B", "salon", "гостиная", "вітальня", "living room", False, "wrong_word"), ("a1_home_t02", "C", "łazienka", "ванная", "ванна", "bathroom", True, None), ("a1_home_t02", "D", "kuchnia", "кухня", "кухня", "kitchen", False, "wrong_word"), ("a1_home_t03", "A", "okno", "окно", "вікно", "window", False, "wrong_word"), ("a1_home_t03", "B", "lodówka", "холодильник", "холодильник", "fridge", True, None), ("a1_home_t03", "C", "kanapa", "диван", "диван", "sofa", False, "wrong_word"), ("a1_home_t03", "D", "drzwi", "дверь", "двері", "door", False, "wrong_word"), ("a1_home_t04", "A", "stół", "стол", "стіл", "table", False, "wrong_word"), ("a1_home_t04", "B", "krzesło", "стул", "стілець", "chair", False, "wrong_word"), ("a1_home_t04", "C", "szafa", "шкаф", "шафа", "wardrobe", False, "wrong_word"), ("a1_home_t04", "D", "łóżko", "кровать", "ліжко", "bed", True, None), ("a1_home_t05", "A", "dom", "дом", "будинок", "house", True, None), ("a1_home_t05", "B", "domu", "дома (неправильно)", "будинку (неправильно)", "house (wrong case)", False, "wrong_case"), ("a1_home_t05", "C", "domem", "домом (неправильно)", "будинком (неправильно)", "house (wrong case)", False, "wrong_case"), ("a1_home_t05", "D", "domowi", "дому (неправильно)", "будинкові (неправильно)", "house (wrong case)", False, "wrong_case"), ("a1_home_t06", "A", "w kuchni", "на кухне", "на кухні", "in the kitchen", True, None), ("a1_home_t06", "B", "w kuchnia", "на кухне (неправильно)", "на кухні (неправильно)", "in the kitchen (wrong case)", False, "wrong_case"), ("a1_home_t06", "C", "w kuchnię", "на кухне (неправильно)", "на кухні (неправильно)", "in the kitchen (wrong case)", False, "wrong_case"), ("a1_home_t06", "D", "w kuchnią", "на кухне (неправильно)", "на кухні (неправильно)", "in the kitchen (wrong case)", False, "wrong_case"), ("a1_home_t07", "A", "mieszkanie", "квартира", "квартира", "apartment", True, None), ("a1_home_t07", "B", "dom", "дом", "будинок", "house", False, "wrong_context"), ("a1_home_t07", "C", "pokój", "комната", "кімната", "room", False, "wrong_context"), ("a1_home_t07", "D", "kuchnia", "кухня", "кухня", "kitchen", False, "wrong_word"), ("a1_home_t08", "A", "kanapa", "диван", "диван", "sofa", True, None), ("a1_home_t08", "B", "łóżko", "кровать", "ліжко", "bed", False, "wrong_context"), ("a1_home_t08", "C", "krzesło", "стул", "стілець", "chair", False, "wrong_context"), ("a1_home_t08", "D", "stół", "стол", "стіл", "table", False, "wrong_context"), ("a1_home_t09", "A", "Kwiaty są na oknie.", "Цветы на окне.", "Квіти на вікні.", "The flowers are on the window.", True, None), ("a1_home_t09", "B", "Kwiaty są na stole.", "Цветы на столе.", "Квіти на столі.", "The flowers are on the table.", False, "wrong_context"), ("a1_home_t09", "C", "Kwiaty są na łóżku.", "Цветы на кровати.", "Квіти на ліжку.", "The flowers are on the bed.", False, "wrong_context"), ("a1_home_t09", "D", "Kwiaty są na krześle.", "Цветы на стуле.", "Квіти на стільці.", "The flowers are on the chair.", False, "wrong_context"), ("a1_home_t10", "A", "Oglądam telewizję w salonie.", "Я смотрю телевизор в гостиной.", "Я дивлюся телевізор у вітальні.", "I watch TV in the living room.", True, None), ("a1_home_t10", "B", "Oglądam telewizję w kuchni.", "Я смотрю телевизор на кухне.", "Я дивлюся телевізор на кухні.", "I watch TV in the kitchen.", False, "wrong_context"), ("a1_home_t10", "C", "Oglądam telewizję w łazience.", "Я смотрю телевизор в ванной.", "Я дивлюся телевізор у ванній.", "I watch TV in the bathroom.", False, "wrong_context"), ("a1_home_t10", "D", "Oglądam telewizję w sypialni.", "Я смотрю телевизор в спальне.", "Я дивлюся телевізор у спальні.", "I watch TV in the bedroom.", False, "wrong_context"), ("a1_home_t11", "A", "Nie mam dużej łazienki.", "У меня нет большой ванной.", "У мене немає великої ванної.", "I don't have a big bathroom.", True, None), ("a1_home_t11", "B", "Nie mam duża łazienka.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_home_t11", "C", "Mam dużą łazienkę.", "У меня есть большая ванная. (неверный смысл)", "У мене є велика ванна. (неправильний сенс)", "I have a big bathroom. (wrong meaning)", False, "wrong_context"), ("a1_home_t11", "D", "Nie jestem duża łazienka.", "Я не большая ванная.", "Я не велика ванна.", "I am not a big bathroom.", False, "wrong_sentence_type"), ("a1_home_t12", "A", "Mam dwa pokoje i małą kuchnię.", "У меня две комнаты и маленькая кухня.", "У мене дві кімнати і маленька кухня.", "I have two rooms and a small kitchen.", True, None), ("a1_home_t12", "B", "Ja pokoje i kuchnia.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_home_t12", "C", "Moje mieszkanie jestem dwa pokoje.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_home_t12", "D", "Jestem dwa pokoje i mała kuchnia.", "Я две комнаты и маленькая кухня.", "Я дві кімнати і маленька кухня.", "I am two rooms and a small kitchen.", False, "wrong_sentence_type"), ("a1_home_t19", "A", "Talerz jest na stole, a kot śpi na łóżku.", "Тарелка на столе, а кот спит на кровати.", "Тарілка на столі, а кіт спить на ліжку.", "The plate is on the table, and the cat sleeps on the bed.", True, None), ("a1_home_t19", "B", "Talerz jest na stół, a kot śpi na łóżko.", "Неправильные падежи.", "Неправильні відмінки.", "Wrong cases.", False, "wrong_case"), ("a1_home_t19", "C", "Talerz śpi na stole, a kot jest na łóżku.", "Глаголы перепутаны.", "Дієслова переплутані.", "Verbs are mixed up.", False, "wrong_word"), ("a1_home_t19", "D", "Talerz jest na łóżku, a kot śpi na stole.", "Места перепутаны.", "Місця переплутані.", "Locations are swapped.", False, "wrong_context"), ("a1_home_t20", "A", "Ile masz pokoi? Mam dwa pokoje i małą kuchnię.", "Сколько у тебя комнат? У меня две комнаты и маленькая кухня.", "Скільки у тебе кімнат? У мене дві кімнати і маленька кухня.", "How many rooms do you have? I have two rooms and a small kitchen.", True, None), ("a1_home_t20", "B", "Ile masz pokój? Jestem dwa pokoje i mała kuchnia.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_home_t20", "C", "Gdzie masz pokoi? Mam dwa pokoje i małą kuchnię.", "Неправильное вопросительное слово.", "Неправильне питальне слово.", "Wrong question word.", False, "wrong_word"), ("a1_home_t20", "D", "Ile masz pokoi? Nie mam pokoi.", "Смысл ответа неверный.", "Сенс відповіді неправильний.", "Wrong meaning in the answer.", False, "wrong_context"), ] for opt in test_options_t5: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 6: ЧИСЛА, ВРЕМЯ, ДНИ НЕДЕЛИ ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_numbers_time', 'A1', 6, 'Liczby, godzina, dni tygodnia', 'Числа, время, дни недели', 'Числа, час, дні тижня', 'Numbers, Time, Days of the Week') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t6 = [ ("a1_numbers_time_l01", 1, "numbers_cardinal", "Liczby 1–10", "Числа 1–10", "Числа 1–10", "Numbers 1–10", "Podstawowe liczby: zero, jeden, dwa, trzy, cztery, pięć, sześć, siedem, osiem, dziewięć, dziesięć. Używamy ich przy wieku, cenach i adresach.", "Основные числа: zero (ноль), jeden (один), dwa (два) ... dziesięć (десять). Используются при возрасте, ценах и адресах.", "Основні числа: zero (нуль), jeden (один), dwa (два) ... dziesięć (десять). Використовуються при віці, цінах та адресах.", "Basic numbers: zero, jeden (one), dwa (two) ... dziesięć (ten). Used for age, prices, and addresses."), ("a1_numbers_time_l02", 2, "numbers_cardinal", "Liczby 11–20", "Числа 11–20", "Числа 11–20", "Numbers 11–20", "Liczby od jedenastu do dwudziestu: jedenaście, dwanaście, trzynaście, czternaście, piętnaście, szesnaście, siedemnaście, osiemnaście, dziewiętnaście, dwadzieścia.", "Числа от одиннадцати до двадцати: jedenaście (одиннадцать) ... dwadzieścia (двадцать).", "Числа від одинадцяти до двадцяти: jedenaście (одинадцять) ... dwadzieścia (двадцять).", "Numbers from eleven to twenty: jedenaście (eleven) ... dwadzieścia (twenty)."), ("a1_numbers_time_l03", 3, "numbers_tens", "Dziesiątki: 20–100", "Десятки: 20–100", "Десятки: 20–100", "Tens: 20–100", "Dziesiątki: dwadzieścia, trzydzieści, czterdzieści, pięćdziesiąt, sześćdziesiąt, siedemdziesiąt, osiemdziesiąt, dziewięćdziesiąt, sto.", "Десятки: dwadzieścia (двадцать), trzydzieści (тридцать) ... sto (сто).", "Десятки: dwadzieścia (двадцять), trzydzieści (тридцять) ... sto (сто).", "Tens: dwadzieścia (twenty), trzydzieści (thirty) ... sto (hundred)."), ("a1_numbers_time_l04", 4, "numbers_tens", "Liczby złożone: 21–99", "Составные числа: 21–99", "Складені числа: 21–99", "Compound numbers: 21–99", "Liczby złożone tworzymy, łącząc dziesiątki i jedności ze spacją, bez żadnej zmiany końcówek: dwadzieścia jeden (21), trzydzieści pięć (35), pięćdziesiąt trzy (53).", "Составные числа образуются соединением десятков и единиц через пробел, без изменения окончаний: dwadzieścia jeden (21), trzydzieści pięć (35), pięćdziesiąt trzy (53).", "Складені числа утворюються поєднанням десятків і одиниць через пробіл, без зміни закінчень: dwadzieścia jeden (21), trzydzieści pięć (35), pięćdziesiąt trzy (53).", "Compound numbers are formed by combining tens and units with a space, without changing endings: dwadzieścia jeden (21), trzydzieści pięć (35), pięćdziesiąt trzy (53)."), ("a1_numbers_time_l05", 5, "time_telling", "Która godzina? Pełne godziny", "Который час? Целые часы", "Котра година? Цілі години", "What time is it? Full hours", "„Godzina” jest rodzaju żeńskiego, dlatego godziny nazywamy formami żeńskimi: pierwsza, druga, trzecia, czwarta, piąta, szósta, siódma, ósma, dziewiąta, dziesiąta, jedenasta, dwunasta.", "„Godzina” (час) женского рода, поэтому часы называются женскими формами: pierwsza (первый), druga (второй) ... dwunasta (двенадцатый).", "„Godzina” (година) жіночого роду, тому години називаються жіночими формами: pierwsza (перша), druga (друга) ... dwunasta (дванадцята).", "„Godzina” (hour) is feminine, so hours use feminine forms: pierwsza (one), druga (two) ... dwunasta (twelve)."), ("a1_numbers_time_l06", 6, "time_telling", "Minuty: po, za, wpół", "Минуты: po, za, wpół", "Хвилини: po, za, wpół", "Minutes: po, za, wpół", "Minuty wyrażamy słowami: „po” (после — pięć po pierwszej), „za” (без — za dziesięć druga), „wpół do” (половина — wpół do trzeciej), „kwadrans” (четверть — kwadrans po czwartej, za kwadrans piąta).", "Минуты выражаем словами: „po” (после — pięć po pierwszej = пять минут второго), „za” (без — za dziesięć druga = без десяти два), „wpół do” (половина — wpół do trzeciej), „kwadrans” (четверть — kwadrans po czwartej, za kwadrans piąta).", "Хвилини виражаємо словами: „po” (після — pięć po pierwszej), „za” (без — za dziesięć druga), „wpół do” (половина — wpół do trzeciej), „kwadrans” (чверть — kwadrans po czwartej, za kwadrans piąta).", "Minutes are expressed with: „po” (past — pięć po pierwszej = five past one), „za” (to — za dziesięć druga = ten to two), „wpół do” (half past — wpół do trzeciej), „kwadrans” (quarter — kwadrans po czwartej, za kwadrans piąta)."), ("a1_numbers_time_l07", 7, "time_expressions", "O której godzinie?", "Во сколько?", "О котрій годині?", "At what time?", "Pytamy „O której godzinie?”, gdy chcemy poznać czas czynności. Odpowiadamy „o” + godzina w miejscowniku: o pierwszej, o ósmej, o dziewiątej.", "Спрашиваем „O której godzinie?”, когда хотим узнать время действия. Отвечаем „o” + час в местном падеже: o pierwszej, o ósmej, o dziewiątej.", "Запитуємо „O której godzinie?”, коли хочемо дізнатися час дії. Відповідаємо „o” + година в місцевому відмінку: o pierwszej, o ósmej, o dziewiątej.", "We ask „O której godzinie?” when we want to know the time of an action. We answer with „o” + the hour in the locative: o pierwszej, o ósmej, o dziewiątej."), ("a1_numbers_time_l08", 8, "time_expressions", "Rano, po południu, wieczorem", "Утром, днём, вечером", "Вранці, вдень, ввечері", "Morning, afternoon, evening", "Pory dnia: rano (утром), przed południem (до полудня), w południe (в полдень), po południu (после полудня), wieczorem (вечером), w nocy (ночью).", "Части суток: rano (утром), przed południem (до полудня), w południe (в полдень), po południu (после полудня), wieczorem (вечером), w nocy (ночью).", "Частини доби: rano (вранці), przed południem (до полудня), w południe (опівдні), po południu (після полудня), wieczorem (ввечері), w nocy (вночі).", "Times of day: rano (in the morning), przed południem (before noon), w południe (at noon), po południu (in the afternoon), wieczorem (in the evening), w nocy (at night)."), ("a1_numbers_time_l09", 9, "days_weekdays", "Dni tygodnia", "Дни недели", "Дні тижня", "Days of the week", "Dni tygodnia: poniedziałek, wtorek, środa, czwartek, piątek, sobota, niedziela.", "Дни недели: poniedziałek (понедельник), wtorek (вторник), środa (среда), czwartek (четверг), piątek (пятница), sobota (суббота), niedziela (воскресенье).", "Дні тижня: poniedziałek (понеділок), wtorek (вівторок), środa (середа), czwartek (четвер), piątek (п'ятниця), sobota (субота), niedziela (неділя).", "Days of the week: poniedziałek (Monday), wtorek (Tuesday), środa (Wednesday), czwartek (Thursday), piątek (Friday), sobota (Saturday), niedziela (Sunday)."), ("a1_numbers_time_l10", 10, "days_weekdays", "W poniedziałek — dzień tygodnia w zdaniu", "В понедельник — день недели в предложении", "У понеділок — день тижня в реченні", "On Monday — the day of the week in a sentence", "Mówiąc, kiedy coś się dzieje, używamy „w” + dzień tygodnia: w poniedziałek, we wtorek (wyjątek fonetyczny — „we”, nie „w”), w środę, w czwartek, w piątek, w sobotę, w niedzielę. Rzeczowniki żeńskie (środa, sobota, niedziela) zmieniają końcówkę na biernik.", "Говоря, когда что-то происходит, используем „w” + день недели: w poniedziałek, we wtorek (фонетическое исключение — „we”, а не „w”), w środę, w czwartek, w piątek, w sobotę, w niedzielę. Существительные женского рода (środa, sobota, niedziela) меняют окончание на винительный падеж.", "Кажучи, коли щось відбувається, використовуємо „w” + день тижня: w poniedziałek, we wtorek (фонетичний виняток — „we”, а не „w”), w środę, w czwartek, w piątek, w sobotę, w niedzielę. Іменники жіночого роду (środa, sobota, niedziela) змінюють закінчення на знахідний відмінок.", "To say when something happens, we use „w” + day of the week: w poniedziałek, we wtorek (phonetic exception — „we”, not „w”), w środę, w czwartek, w piątek, w sobotę, w niedzielę. Feminine nouns (środa, sobota, niedziela) switch to the accusative ending."), ] for lesson in lessons_t6: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_numbers_time', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t6 = [ ("a1_numbers_time_l01", 1, "Mam jeden telefon.", "У меня один телефон.", "У мене один телефон.", "I have one phone."), ("a1_numbers_time_l01", 2, "Mam dwa psy.", "У меня две собаки.", "У мене два пси.", "I have two dogs."), ("a1_numbers_time_l01", 3, "Liczę do dziesięciu.", "Я считаю до десяти.", "Я рахую до десяти.", "I count to ten."), ("a1_numbers_time_l02", 1, "Mam jedenaście lat.", "Мне одиннадцать лет.", "Мені одинадцять років.", "I am eleven years old."), ("a1_numbers_time_l02", 2, "W klasie jest piętnaście osób.", "В классе пятнадцать человек.", "У класі п'ятнадцять осіб.", "There are fifteen people in the class."), ("a1_numbers_time_l02", 3, "Dwadzieścia to dwa razy dziesięć.", "Двадцать — это дважды десять.", "Двадцять — це двічі десять.", "Twenty is two times ten."), ("a1_numbers_time_l03", 1, "Moja babcia ma sześćdziesiąt lat.", "Моей бабушке шестьдесят лет.", "Моїй бабусі шістдесят років.", "My grandma is sixty years old."), ("a1_numbers_time_l03", 2, "Bilet kosztuje sto złotych.", "Билет стоит сто злотых.", "Квиток коштує сто злотих.", "The ticket costs a hundred zloty."), ("a1_numbers_time_l03", 3, "Czterdzieści to cztery razy dziesięć.", "Сорок — это четырежды десять.", "Сорок — це чотири рази по десять.", "Forty is four times ten."), ("a1_numbers_time_l04", 1, "Mam dwadzieścia jeden lat.", "Мне двадцать один год.", "Мені двадцять один рік.", "I am twenty-one years old."), ("a1_numbers_time_l04", 2, "W autobusie jest trzydzieści pięć miejsc.", "В автобусе тридцать пять мест.", "В автобусі тридцять п'ять місць.", "There are thirty-five seats in the bus."), ("a1_numbers_time_l04", 3, "Numer kończy się na pięćdziesiąt trzy.", "Номер заканчивается на пятьдесят три.", "Номер закінчується на п'ятдесят три.", "The number ends in fifty-three."), ("a1_numbers_time_l05", 1, "Która godzina? Jest pierwsza.", "Который час? Час.", "Котра година? Перша.", "What time is it? It's one o'clock."), ("a1_numbers_time_l05", 2, "Jest ósma rano.", "Восемь утра.", "Восьма ранку.", "It's eight in the morning."), ("a1_numbers_time_l05", 3, "Jest dwunasta w południe.", "Двенадцать дня.", "Дванадцята дня.", "It's twelve noon."), ("a1_numbers_time_l06", 1, "Jest wpół do trzeciej.", "Половина третьего.", "Пів на третю.", "It's half past two."), ("a1_numbers_time_l06", 2, "Jest kwadrans po czwartej.", "Четверть пятого.", "Чверть на п'яту.", "It's a quarter past four."), ("a1_numbers_time_l06", 3, "Jest za dziesięć siódma.", "Без десяти семь.", "За десять сьома.", "It's ten to seven."), ("a1_numbers_time_l07", 1, "O której godzinie zaczyna się lekcja?", "Во сколько начинается урок?", "О котрій годині починається урок?", "What time does the lesson start?"), ("a1_numbers_time_l07", 2, "Lekcja zaczyna się o ósmej.", "Урок начинается в восемь.", "Урок починається о восьмій.", "The lesson starts at eight."), ("a1_numbers_time_l07", 3, "Spotkamy się o siódmej wieczorem.", "Встретимся в семь вечера.", "Зустрінемося о сьомій увечері.", "We'll meet at seven in the evening."), ("a1_numbers_time_l08", 1, "Pracuję rano i po południu.", "Я работаю утром и днём.", "Я працюю вранці і вдень.", "I work in the morning and afternoon."), ("a1_numbers_time_l08", 2, "Śpię w nocy.", "Я сплю ночью.", "Я сплю вночі.", "I sleep at night."), ("a1_numbers_time_l08", 3, "Spotykamy się wieczorem.", "Мы встречаемся вечером.", "Ми зустрічаємося ввечері.", "We meet in the evening."), ("a1_numbers_time_l09", 1, "Dziś jest poniedziałek.", "Сегодня понедельник.", "Сьогодні понеділок.", "Today is Monday."), ("a1_numbers_time_l09", 2, "Jutro będzie wtorek.", "Завтра будет вторник.", "Завтра буде вівторок.", "Tomorrow will be Tuesday."), ("a1_numbers_time_l09", 3, "Weekend to sobota i niedziela.", "Выходные — это суббота и воскресенье.", "Вихідні — це субота і неділя.", "The weekend is Saturday and Sunday."), ("a1_numbers_time_l10", 1, "W poniedziałek pracuję.", "В понедельник я работаю.", "У понеділок я працюю.", "I work on Monday."), ("a1_numbers_time_l10", 2, "We wtorek mam lekcję polskiego.", "Во вторник у меня урок польского.", "У вівторок у мене урок польської.", "On Tuesday I have a Polish lesson."), ("a1_numbers_time_l10", 3, "W niedzielę odpoczywam.", "В воскресенье я отдыхаю.", "У неділю я відпочиваю.", "On Sunday I rest."), ] for ex in examples_t6: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t6 = [ # L01 — numbers_cardinal (difficulty 1) ("a1_numbers_time_l01_q1", "a1_numbers_time_l01", "lesson_practice", "recognition", "numbers_cardinal", 1, "Jak po polsku „пять”?", "Как по-польски «пять»?", "Як польською «п'ять»?", "How do you say “five” in Polish?", "B", None, None), ("a1_numbers_time_l01_q2", "a1_numbers_time_l01", "lesson_practice", "production", "numbers_cardinal", 1, "Wpisz brakujące słowo: To jest liczba ___. (шесть)", "Вставьте пропущенное слово: To jest liczba ___. (шесть)", "Вставте пропущене слово: To jest liczba ___. (шість)", "Fill in the missing word: To jest liczba ___. (six)", "sześć", "first_letter", "s"), ("a1_numbers_time_l01_q3", "a1_numbers_time_l01", "lesson_practice", "application", "numbers_cardinal", 1, "Ktoś pyta, ile masz lat. Masz osiem lat. Co powiesz?", "Кто-то спрашивает, сколько тебе лет. Тебе восемь лет. Что ты скажешь?", "Хтось питає, скільки тобі років. Тобі вісім років. Що ти скажеш?", "Someone asks how old you are. You are eight. What do you say?", "A", None, None), # L02 — numbers_cardinal (difficulty 1) ("a1_numbers_time_l02_q1", "a1_numbers_time_l02", "lesson_practice", "recognition", "numbers_cardinal", 1, "Jak po polsku „пятнадцать”?", "Как по-польски «пятнадцать»?", "Як польською «п'ятнадцять»?", "How do you say “fifteen” in Polish?", "B", None, None), ("a1_numbers_time_l02_q2", "a1_numbers_time_l02", "lesson_practice", "production", "numbers_cardinal", 1, "Wpisz brakujące słowo: To jest liczba ___. (двадцать)", "Вставьте пропущенное слово: To jest liczba ___. (двадцать)", "Вставте пропущене слово: To jest liczba ___. (двадцять)", "Fill in the missing word: To jest liczba ___. (twenty)", "dwadzieścia", "first_letter", "d"), ("a1_numbers_time_l02_q3", "a1_numbers_time_l02", "lesson_practice", "application", "numbers_cardinal", 1, "Ktoś pyta, ile masz lat. Masz siedemnaście lat. Co powiesz?", "Кто-то спрашивает, сколько тебе лет. Тебе семнадцать лет. Что ты скажешь?", "Хтось питає, скільки тобі років. Тобі сімнадцять років. Що ти скажеш?", "Someone asks how old you are. You are seventeen. What do you say?", "A", None, None), # L03 — numbers_tens (difficulty 1) ("a1_numbers_time_l03_q1", "a1_numbers_time_l03", "lesson_practice", "recognition", "numbers_tens", 1, "Jak po polsku „пятьдесят”?", "Как по-польски «пятьдесят»?", "Як польською «п'ятдесят»?", "How do you say “fifty” in Polish?", "B", None, None), ("a1_numbers_time_l03_q2", "a1_numbers_time_l03", "lesson_practice", "production", "numbers_tens", 1, "Wpisz brakujące słowo: To jest liczba ___. (сто)", "Вставьте пропущенное слово: To jest liczba ___. (сто)", "Вставте пропущене слово: To jest liczba ___. (сто)", "Fill in the missing word: To jest liczba ___. (hundred)", "sto", "first_letter", "s"), ("a1_numbers_time_l03_q3", "a1_numbers_time_l03", "lesson_practice", "application", "numbers_tens", 1, "Chcesz kupić bilet za sto złotych. Ile to kosztuje?", "Ты хочешь купить билет за сто злотых. Сколько это стоит?", "Ти хочеш купити квиток за сто злотих. Скільки це коштує?", "You want to buy a ticket for a hundred zloty. How much does it cost?", "A", None, None), # L04 — numbers_tens (difficulty 1) ("a1_numbers_time_l04_q1", "a1_numbers_time_l04", "lesson_practice", "recognition", "numbers_tens", 1, "Jak po polsku „тридцать пять”?", "Как по-польски «тридцать пять»?", "Як польською «тридцять п'ять»?", "How do you say “thirty-five” in Polish?", "A", None, None), ("a1_numbers_time_l04_q2", "a1_numbers_time_l04", "lesson_practice", "production", "numbers_tens", 1, "Wpisz brakujące słowo: Mam ___ lat. (двадцать один)", "Вставьте пропущенное слово: Mam ___ lat. (двадцать один)", "Вставте пропущене слово: Mam ___ lat. (двадцять один)", "Fill in the missing word: Mam ___ lat. (twenty-one)", "dwadzieścia jeden", "first_letter", "d"), ("a1_numbers_time_l04_q3", "a1_numbers_time_l04", "lesson_practice", "application", "numbers_tens", 1, "Ktoś pyta, ile masz lat. Masz dwadzieścia pięć lat. Co powiesz?", "Кто-то спрашивает, сколько тебе лет. Тебе двадцать пять лет. Что ты скажешь?", "Хтось питає, скільки тобі років. Тобі двадцять п'ять років. Що ти скажеш?", "Someone asks how old you are. You are twenty-five. What do you say?", "A", None, None), # L05 — time_telling (difficulty 2) ("a1_numbers_time_l05_q1", "a1_numbers_time_l05", "lesson_practice", "recognition", "time_telling", 2, "Co znaczy „Która godzina?”", "Что означает «Która godzina?»", "Що означає «Która godzina?»", "What does “Która godzina?” mean?", "A", None, None), ("a1_numbers_time_l05_q2", "a1_numbers_time_l05", "lesson_practice", "production", "time_telling", 2, "Wpisz brakujące słowo: Jest ___. (третий час)", "Вставьте пропущенное слово: Jest ___. (третий час)", "Вставте пропущене слово: Jest ___. (третя година)", "Fill in the missing word: Jest ___. (three o'clock)", "trzecia", "first_letter", "t"), ("a1_numbers_time_l05_q3", "a1_numbers_time_l05", "lesson_practice", "application", "time_telling", 2, "Zegar pokazuje 5:00. Która jest godzina?", "Часы показывают 5:00. Который час?", "Годинник показує 5:00. Котра година?", "The clock shows 5:00. What time is it?", "A", None, None), # L06 — time_telling (difficulty 2) ("a1_numbers_time_l06_q1", "a1_numbers_time_l06", "lesson_practice", "recognition", "time_telling", 2, "Co znaczy „za kwadrans piąta”?", "Что означает «za kwadrans piąta»?", "Що означає «za kwadrans piąta»?", "What does “za kwadrans piąta” mean?", "A", None, None), ("a1_numbers_time_l06_q2", "a1_numbers_time_l06", "lesson_practice", "production", "time_telling", 2, "Wpisz brakujące słowo: Jest ___ do trzeciej. (половина)", "Вставьте пропущенное слово: Jest ___ do trzeciej. (половина)", "Вставте пропущене слово: Jest ___ do trzeciej. (половина)", "Fill in the missing word: Jest ___ do trzeciej. (half)", "wpół", "first_letter", "w"), ("a1_numbers_time_l06_q3", "a1_numbers_time_l06", "lesson_practice", "application", "time_telling", 2, "Zegar pokazuje 2:30. Która jest godzina?", "Часы показывают 2:30. Который час?", "Годинник показує 2:30. Котра година?", "The clock shows 2:30. What time is it?", "A", None, None), # L07 — time_expressions (difficulty 2) ("a1_numbers_time_l07_q1", "a1_numbers_time_l07", "lesson_practice", "recognition", "time_expressions", 2, "Co znaczy „O której godzinie?”", "Что означает «O której godzinie?»", "Що означає «O której godzinie?»", "What does “O której godzinie?” mean?", "A", None, None), ("a1_numbers_time_l07_q2", "a1_numbers_time_l07", "lesson_practice", "production", "time_expressions", 2, "Wpisz brakujące słowo: Zaczynam pracę ___ ósmej. (в)", "Вставьте пропущенное слово: Zaczynam pracę ___ ósmej. (в)", "Вставте пропущене слово: Zaczynam pracę ___ ósmej. (о)", "Fill in the missing word: Zaczynam pracę ___ ósmej. (at)", "o", "first_letter", "o"), ("a1_numbers_time_l07_q3", "a1_numbers_time_l07", "lesson_practice", "application", "time_expressions", 2, "Kolega pyta „O której godzinie zaczyna się film?” Film zaczyna się o dziewiątej. Co powiesz?", "Друг спрашивает «O której godzinie zaczyna się film?» Фильм начинается в девять. Что ты скажешь?", "Друг питає «O której godzinie zaczyna się film?» Фільм починається о дев'ятій. Що ти скажеш?", "A friend asks “O której godzinie zaczyna się film?” The movie starts at nine. What do you say?", "A", None, None), # L08 — time_expressions (difficulty 2) ("a1_numbers_time_l08_q1", "a1_numbers_time_l08", "lesson_practice", "recognition", "time_expressions", 2, "Jak po polsku „вечером”?", "Как по-польски «вечером»?", "Як польською «ввечері»?", "How do you say “in the evening” in Polish?", "A", None, None), ("a1_numbers_time_l08_q2", "a1_numbers_time_l08", "lesson_practice", "production", "time_expressions", 2, "Wpisz brakujące słowo: Śpię ___. (ночью)", "Вставьте пропущенное слово: Śpię ___. (ночью)", "Вставте пропущене слово: Śpię ___. (вночі)", "Fill in the missing word: Śpię ___. (at night)", "w nocy", "first_letter", "w"), ("a1_numbers_time_l08_q3", "a1_numbers_time_l08", "lesson_practice", "application", "time_expressions", 2, "Jest godzina 21:00. Jaka to pora dnia?", "Сейчас 21:00. Какая это часть суток?", "Зараз 21:00. Яка це частина доби?", "It's 21:00. What time of day is that?", "A", None, None), # L09 — days_weekdays (difficulty 3) ("a1_numbers_time_l09_q1", "a1_numbers_time_l09", "lesson_practice", "recognition", "days_weekdays", 3, "Jak po polsku „среда”?", "Как по-польски «среда»?", "Як польською «середа»?", "How do you say “Wednesday” in Polish?", "A", None, None), ("a1_numbers_time_l09_q2", "a1_numbers_time_l09", "lesson_practice", "production", "days_weekdays", 3, "Wpisz brakujące słowo: Dziś jest ___. (пятница)", "Вставьте пропущенное слово: Dziś jest ___. (пятница)", "Вставте пропущене слово: Dziś jest ___. (п'ятниця)", "Fill in the missing word: Dziś jest ___. (Friday)", "piątek", "first_letter", "p"), ("a1_numbers_time_l09_q3", "a1_numbers_time_l09", "lesson_practice", "application", "days_weekdays", 3, "Dziś jest sobota. Jaki dzień będzie jutro?", "Сегодня суббота. Какой день будет завтра?", "Сьогодні субота. Який день буде завтра?", "Today is Saturday. What day will it be tomorrow?", "A", None, None), # L10 — days_weekdays (difficulty 3) ("a1_numbers_time_l10_q1", "a1_numbers_time_l10", "lesson_practice", "recognition", "days_weekdays", 3, "Wybierz poprawną formę: ___ wtorek. (w/we)", "Выберите правильную форму: ___ wtorek. (w/we)", "Виберіть правильну форму: ___ wtorek. (w/we)", "Choose the correct form: ___ wtorek. (w/we)", "B", None, None), ("a1_numbers_time_l10_q2", "a1_numbers_time_l10", "lesson_practice", "production", "days_weekdays", 3, "Wpisz brakujące słowo: W ___ odpoczywam. (воскресенье, винительный)", "Вставьте пропущенное слово: W ___ odpoczywam. (воскресенье, винительный)", "Вставте пропущене слово: W ___ odpoczywam. (неділя, знахідний)", "Fill in the missing word: W ___ odpoczywam. (Sunday, accusative)", "niedzielę", "first_letter", "n"), ("a1_numbers_time_l10_q3", "a1_numbers_time_l10", "lesson_practice", "application", "days_weekdays", 3, "Chcesz powiedzieć, że masz lekcję we wtorek. Co powiesz?", "Ты хочешь сказать, что у тебя урок во вторник. Что ты скажешь?", "Ти хочеш сказати, що у тебе урок у вівторок. Що ти скажеш?", "You want to say you have a lesson on Tuesday. What do you say?", "A", None, None), ] for q in questions_t6: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_numbers_time', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t6 = [ # L01 ("a1_numbers_time_l01_q1", "A", "cztery", "четыре", "чотири", "four", False, "wrong_word"), ("a1_numbers_time_l01_q1", "B", "pięć", "пять", "п'ять", "five", True, None), ("a1_numbers_time_l01_q1", "C", "sześć", "шесть", "шість", "six", False, "wrong_word"), ("a1_numbers_time_l01_q1", "D", "siedem", "семь", "сім", "seven", False, "wrong_word"), ("a1_numbers_time_l01_q3", "A", "Mam osiem lat.", "Мне восемь лет.", "Мені вісім років.", "I am eight years old.", True, None), ("a1_numbers_time_l01_q3", "B", "Jestem osiem lat.", "Я восемь лет.", "Я вісім років.", "I am eight years. (wrong construction)", False, "wrong_sentence_type"), ("a1_numbers_time_l01_q3", "C", "Osiem lat mam ja.", "Восемь лет имею я. (неправильный порядок)", "Вісім років маю я. (неправильний порядок)", "Eight years I have. (wrong construction)", False, "wrong_sentence_type"), ("a1_numbers_time_l01_q3", "D", "Mam osiem rok.", "Мне восемь год. (неправильно)", "Мені вісім рік. (неправильно)", "I am eight year. (wrong number form)", False, "wrong_number"), # L02 ("a1_numbers_time_l02_q1", "A", "dziesięć", "десять", "десять", "ten", False, "wrong_word"), ("a1_numbers_time_l02_q1", "B", "piętnaście", "пятнадцать", "п'ятнадцять", "fifteen", True, None), ("a1_numbers_time_l02_q1", "C", "dwadzieścia", "двадцать", "двадцять", "twenty", False, "wrong_word"), ("a1_numbers_time_l02_q1", "D", "pięć", "пять", "п'ять", "five", False, "wrong_word"), ("a1_numbers_time_l02_q3", "A", "Mam siedemnaście lat.", "Мне семнадцать лет.", "Мені сімнадцять років.", "I am seventeen years old.", True, None), ("a1_numbers_time_l02_q3", "B", "Mam siedemnaście rok.", "Мне семнадцать год. (неправильно)", "Мені сімнадцять рік. (неправильно)", "I am seventeen year. (wrong number form)", False, "wrong_number"), ("a1_numbers_time_l02_q3", "C", "Jestem siedemnaście lat.", "Я семнадцать лет.", "Я сімнадцять років.", "I am seventeen years. (wrong construction)", False, "wrong_sentence_type"), ("a1_numbers_time_l02_q3", "D", "Mam osiemnaście lat.", "Мне восемнадцать лет. (неверное число)", "Мені вісімнадцять років. (невірне число)", "I am eighteen years old. (wrong number)", False, "wrong_word"), # L03 ("a1_numbers_time_l03_q1", "A", "czterdzieści", "сорок", "сорок", "forty", False, "wrong_word"), ("a1_numbers_time_l03_q1", "B", "pięćdziesiąt", "пятьдесят", "п'ятдесят", "fifty", True, None), ("a1_numbers_time_l03_q1", "C", "sześćdziesiąt", "шестьдесят", "шістдесят", "sixty", False, "wrong_word"), ("a1_numbers_time_l03_q1", "D", "sto", "сто", "сто", "hundred", False, "wrong_word"), ("a1_numbers_time_l03_q3", "A", "Sto złotych.", "Сто злотых.", "Сто злотих.", "A hundred zloty.", True, None), ("a1_numbers_time_l03_q3", "B", "Dziesięć złotych.", "Десять злотых. (неверное число)", "Десять злотих. (невірне число)", "Ten zloty. (wrong number)", False, "wrong_word"), ("a1_numbers_time_l03_q3", "C", "Tysiąc złotych.", "Тысяча злотых. (неверное число)", "Тисяча злотих. (невірне число)", "A thousand zloty. (wrong number)", False, "wrong_word"), ("a1_numbers_time_l03_q3", "D", "Sto lat.", "Сто лет. (неверная единица)", "Сто років. (невірна одиниця)", "A hundred years. (wrong unit)", False, "wrong_word"), # L04 ("a1_numbers_time_l04_q1", "A", "trzydzieści pięć", "тридцать пять", "тридцять п'ять", "thirty-five", True, None), ("a1_numbers_time_l04_q1", "B", "pięćdziesiąt trzy", "пятьдесят три", "п'ятдесят три", "fifty-three", False, "wrong_word"), ("a1_numbers_time_l04_q1", "C", "dwadzieścia pięć", "двадцать пять", "двадцять п'ять", "twenty-five", False, "wrong_word"), ("a1_numbers_time_l04_q1", "D", "czterdzieści pięć", "сорок пять", "сорок п'ять", "forty-five", False, "wrong_word"), ("a1_numbers_time_l04_q3", "A", "Mam dwadzieścia pięć lat.", "Мне двадцать пять лет.", "Мені двадцять п'ять років.", "I am twenty-five years old.", True, None), ("a1_numbers_time_l04_q3", "B", "Mam dwadzieścia pięć rok.", "Неправильная форма числа.", "Неправильна форма числа.", "Wrong number form.", False, "wrong_number"), ("a1_numbers_time_l04_q3", "C", "Jestem dwadzieścia pięć lat.", "Я двадцать пять лет.", "Я двадцять п'ять років.", "I am twenty-five years. (wrong construction)", False, "wrong_sentence_type"), ("a1_numbers_time_l04_q3", "D", "Mam piętnaście lat.", "Мне пятнадцать лет. (неверное число)", "Мені п'ятнадцять років. (невірне число)", "I am fifteen years old. (wrong number)", False, "wrong_word"), # L05 ("a1_numbers_time_l05_q1", "A", "Который час?", "Который час?", "Котра година?", "What time is it?", True, None), ("a1_numbers_time_l05_q1", "B", "Какой сегодня день?", "Какой сегодня день?", "Який сьогодні день?", "What day is it today?", False, "wrong_translation"), ("a1_numbers_time_l05_q1", "C", "Сколько тебе лет?", "Сколько тебе лет?", "Скільки тобі років?", "How old are you?", False, "wrong_translation"), ("a1_numbers_time_l05_q1", "D", "Где ты находишься?", "Где ты находишься?", "Де ти знаходишся?", "Where are you?", False, "wrong_translation"), ("a1_numbers_time_l05_q3", "A", "Jest piąta.", "Пять часов.", "П'ята година.", "It's five o'clock.", True, None), ("a1_numbers_time_l05_q3", "B", "Jest pięć.", "Неправильная форма — просто число, не время.", "Неправильна форма — просто число, не час.", "Just a number, not a time form.", False, "wrong_word"), ("a1_numbers_time_l05_q3", "C", "Jest piąty.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_numbers_time_l05_q3", "D", "Jest szósta.", "Шесть часов. (неверное время)", "Шоста година. (невірний час)", "It's six o'clock. (wrong time)", False, "wrong_context"), # L06 ("a1_numbers_time_l06_q1", "A", "без четверти пять", "без четверти пять", "без чверті п'ята", "quarter to five", True, None), ("a1_numbers_time_l06_q1", "B", "четверть пятого", "четверть пятого", "чверть на п'яту", "quarter past five", False, "wrong_translation"), ("a1_numbers_time_l06_q1", "C", "половина пятого", "половина пятого", "половина п'ятої", "half past four", False, "wrong_translation"), ("a1_numbers_time_l06_q1", "D", "ровно пять", "ровно пять", "рівно п'ята", "exactly five", False, "wrong_translation"), ("a1_numbers_time_l06_q3", "A", "Jest wpół do trzeciej.", "Половина третьего.", "Пів на третю.", "It's half past two.", True, None), ("a1_numbers_time_l06_q3", "B", "Jest kwadrans po trzeciej.", "Четверть четвёртого. (неверное время)", "Чверть на четверту. (невірний час)", "It's a quarter past three. (wrong time)", False, "wrong_context"), ("a1_numbers_time_l06_q3", "C", "Jest za dziesięć trzecia.", "Без десяти три. (неверное время)", "За десять третя. (невірний час)", "It's ten to three. (wrong time)", False, "wrong_context"), ("a1_numbers_time_l06_q3", "D", "Jest trzecia.", "Три часа. (неверное время)", "Третя година. (невірний час)", "It's three o'clock. (wrong time)", False, "wrong_context"), # L07 ("a1_numbers_time_l07_q1", "A", "Во сколько?", "Во сколько?", "О котрій?", "At what time?", True, None), ("a1_numbers_time_l07_q1", "B", "Который час?", "Который час?", "Котра година?", "What time is it?", False, "wrong_translation"), ("a1_numbers_time_l07_q1", "C", "Какой сегодня день?", "Какой сегодня день?", "Який сьогодні день?", "What day is it today?", False, "wrong_translation"), ("a1_numbers_time_l07_q1", "D", "Как долго?", "Как долго?", "Як довго?", "How long?", False, "wrong_translation"), ("a1_numbers_time_l07_q3", "A", "Film zaczyna się o dziewiątej.", "Фильм начинается в девять.", "Фільм починається о дев'ятій.", "The movie starts at nine.", True, None), ("a1_numbers_time_l07_q3", "B", "Film zaczyna dziewiątej.", "Пропущен предлог.", "Пропущено прийменник.", "Missing preposition.", False, "wrong_sentence_type"), ("a1_numbers_time_l07_q3", "C", "Film jest o dziewiątej.", "Неправильный глагол.", "Неправильне дієслово.", "Wrong verb.", False, "wrong_word"), ("a1_numbers_time_l07_q3", "D", "Film zaczyna się o ósmej.", "Фильм начинается в восемь. (неверное время)", "Фільм починається о восьмій. (невірний час)", "The movie starts at eight. (wrong time)", False, "wrong_context"), # L08 ("a1_numbers_time_l08_q1", "A", "wieczorem", "вечером", "ввечері", "in the evening", True, None), ("a1_numbers_time_l08_q1", "B", "rano", "утром", "вранці", "in the morning", False, "wrong_word"), ("a1_numbers_time_l08_q1", "C", "w nocy", "ночью", "вночі", "at night", False, "wrong_word"), ("a1_numbers_time_l08_q1", "D", "w południe", "в полдень", "опівдні", "at noon", False, "wrong_word"), ("a1_numbers_time_l08_q3", "A", "Wieczorem.", "Вечером.", "Ввечері.", "In the evening.", True, None), ("a1_numbers_time_l08_q3", "B", "Rano.", "Утром. (неверная часть суток)", "Вранці. (невірна частина доби)", "In the morning. (wrong time of day)", False, "wrong_context"), ("a1_numbers_time_l08_q3", "C", "W południe.", "В полдень. (неверная часть суток)", "Опівдні. (невірна частина доби)", "At noon. (wrong time of day)", False, "wrong_context"), ("a1_numbers_time_l08_q3", "D", "Po południu.", "Днём. (неверная часть суток)", "Вдень. (невірна частина доби)", "In the afternoon. (wrong time of day)", False, "wrong_context"), # L09 ("a1_numbers_time_l09_q1", "A", "środa", "среда", "середа", "Wednesday", True, None), ("a1_numbers_time_l09_q1", "B", "czwartek", "четверг", "четвер", "Thursday", False, "wrong_word"), ("a1_numbers_time_l09_q1", "C", "wtorek", "вторник", "вівторок", "Tuesday", False, "wrong_word"), ("a1_numbers_time_l09_q1", "D", "piątek", "пятница", "п'ятниця", "Friday", False, "wrong_word"), ("a1_numbers_time_l09_q3", "A", "Niedziela.", "Воскресенье.", "Неділя.", "Sunday.", True, None), ("a1_numbers_time_l09_q3", "B", "Poniedziałek.", "Понедельник. (неверный день)", "Понеділок. (невірний день)", "Monday. (wrong day)", False, "wrong_context"), ("a1_numbers_time_l09_q3", "C", "Piątek.", "Пятница. (неверный день)", "П'ятниця. (невірний день)", "Friday. (wrong day)", False, "wrong_context"), ("a1_numbers_time_l09_q3", "D", "Sobota.", "Суббота. (сегодняшний день, не завтрашний)", "Субота. (сьогоднішній день, не завтрашній)", "Saturday. (today, not tomorrow)", False, "wrong_context"), # L10 ("a1_numbers_time_l10_q1", "A", "w", "в (неправильно перед wtorek)", "в (неправильно перед wtorek)", "in (wrong before wtorek)", False, "wrong_word"), ("a1_numbers_time_l10_q1", "B", "we", "во", "у", "on (correct before wtorek)", True, None), ("a1_numbers_time_l10_q1", "C", "na", "на", "на", "on (wrong preposition)", False, "wrong_word"), ("a1_numbers_time_l10_q1", "D", "do", "до", "до", "to (wrong preposition)", False, "wrong_word"), ("a1_numbers_time_l10_q3", "A", "We wtorek mam lekcję.", "Во вторник у меня урок.", "У вівторок у мене урок.", "On Tuesday I have a lesson.", True, None), ("a1_numbers_time_l10_q3", "B", "W wtorek mam lekcję.", "Неправильная форма предлога.", "Неправильна форма прийменника.", "Wrong preposition form.", False, "wrong_word"), ("a1_numbers_time_l10_q3", "C", "We wtorku mam lekcję.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_numbers_time_l10_q3", "D", "Mam lekcję wtorek.", "Пропущен предлог.", "Пропущено прийменник.", "Missing preposition.", False, "wrong_sentence_type"), ] for opt in options_t6: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t6 = [ ("a1_numbers_time_t01", None, "topic_test", "recognition", "numbers_cardinal", 1, "Jak po polsku „пять”?", "Как по-польски «пять»?", "Як польською «п'ять»?", "How do you say “five” in Polish?", "B", None, None, 1), ("a1_numbers_time_t02", None, "topic_test", "recognition", "numbers_cardinal", 1, "Jak po polsku „пятнадцать”?", "Как по-польски «пятнадцать»?", "Як польською «п'ятнадцять»?", "How do you say “fifteen” in Polish?", "B", None, None, 2), ("a1_numbers_time_t03", None, "topic_test", "recognition", "numbers_tens", 1, "Jak po polsku „пятьдесят”?", "Как по-польски «пятьдесят»?", "Як польською «п'ятдесят»?", "How do you say “fifty” in Polish?", "B", None, None, 3), ("a1_numbers_time_t04", None, "topic_test", "recognition", "time_telling", 1, "Co znaczy „Która godzina?”", "Что означает «Która godzina?»", "Що означає «Która godzina?»", "What does “Która godzina?” mean?", "A", None, None, 4), ("a1_numbers_time_t05", None, "topic_test", "recognition", "time_expressions", 1, "Co znaczy „O której godzinie?”", "Что означает «O której godzinie?»", "Що означає «O której godzinie?»", "What does “O której godzinie?” mean?", "A", None, None, 5), ("a1_numbers_time_t06", None, "topic_test", "recognition", "days_weekdays", 1, "Jak po polsku „среда”?", "Как по-польски «среда»?", "Як польською «середа»?", "How do you say “Wednesday” in Polish?", "A", None, None, 6), ("a1_numbers_time_t07", None, "topic_test", "application", "numbers_cardinal", 2, "Ktoś pyta, ile masz lat. Masz dziewięć lat. Co powiesz?", "Кто-то спрашивает, сколько тебе лет. Тебе девять лет. Что ты скажешь?", "Хтось питає, скільки тобі років. Тобі дев'ять років. Що ти скажеш?", "Someone asks how old you are. You are nine. What do you say?", "A", None, None, 7), ("a1_numbers_time_t08", None, "topic_test", "application", "numbers_tens", 2, "Chcesz kupić bilet za sto złotych. Ile to kosztuje?", "Ты хочешь купить билет за сто злотых. Сколько это стоит?", "Ти хочеш купити квиток за сто злотих. Скільки це коштує?", "You want to buy a ticket for a hundred zloty. How much does it cost?", "A", None, None, 8), ("a1_numbers_time_t09", None, "topic_test", "application", "time_telling", 2, "Zegar pokazuje 6:00. Która jest godzina?", "Часы показывают 6:00. Который час?", "Годинник показує 6:00. Котра година?", "The clock shows 6:00. What time is it?", "A", None, None, 9), ("a1_numbers_time_t10", None, "topic_test", "application", "time_telling", 2, "Zegar pokazuje 4:30. Która jest godzina?", "Часы показывают 4:30. Который час?", "Годинник показує 4:30. Котра година?", "The clock shows 4:30. What time is it?", "A", None, None, 10), ("a1_numbers_time_t11", None, "topic_test", "application", "time_expressions", 2, "Kolega pyta „O której godzinie zaczyna się lekcja?” Lekcja zaczyna się o ósmej. Co powiesz?", "Друг спрашивает «O której godzinie zaczyna się lekcja?» Урок начинается в восемь. Что ты скажешь?", "Друг питає «O której godzinie zaczyna się lekcja?» Урок починається о восьмій. Що ти скажеш?", "A friend asks “O której godzinie zaczyna się lekcja?” The lesson starts at eight. What do you say?", "A", None, None, 11), ("a1_numbers_time_t12", None, "topic_test", "application", "days_weekdays", 3, "Chcesz powiedzieć, że masz lekcję we wtorek. Co powiesz?", "Ты хочешь сказать, что у тебя урок во вторник. Что ты скажешь?", "Ти хочеш сказати, що у тебе урок у вівторок. Що ти скажеш?", "You want to say you have a lesson on Tuesday. What do you say?", "A", None, None, 12), ("a1_numbers_time_t13", None, "topic_test", "production", "numbers_cardinal", 1, "Wpisz brakujące słowo: To jest liczba ___. (шесть)", "Вставьте пропущенное слово: To jest liczba ___. (шесть)", "Вставте пропущене слово: To jest liczba ___. (шість)", "Fill in the missing word: To jest liczba ___. (six)", "sześć", "first_letter", "s", 13), ("a1_numbers_time_t14", None, "topic_test", "production", "numbers_tens", 3, "Wpisz brakujące słowo: Mam ___ lat. (двадцать один)", "Вставьте пропущенное слово: Mam ___ lat. (двадцать один)", "Вставте пропущене слово: Mam ___ lat. (двадцять один)", "Fill in the missing word: Mam ___ lat. (twenty-one)", "dwadzieścia jeden", "first_letter", "d", 14), ("a1_numbers_time_t15", None, "topic_test", "production", "time_telling", 2, "Wpisz brakujące słowo: Jest ___. (четвёртый час)", "Вставьте пропущенное слово: Jest ___. (четвёртый час)", "Вставте пропущене слово: Jest ___. (четверта година)", "Fill in the missing word: Jest ___. (four o'clock)", "czwarta", "first_letter", "c", 15), ("a1_numbers_time_t16", None, "topic_test", "production", "time_telling", 3, "Wpisz brakujące słowo: Jest ___ do trzeciej. (половина)", "Вставьте пропущенное слово: Jest ___ do trzeciej. (половина)", "Вставте пропущене слово: Jest ___ do trzeciej. (половина)", "Fill in the missing word: Jest ___ do trzeciej. (half)", "wpół", "first_letter", "w", 16), ("a1_numbers_time_t17", None, "topic_test", "production", "time_expressions", 1, "Wpisz brakujące słowo: Śpię ___. (ночью)", "Вставьте пропущенное слово: Śpię ___. (ночью)", "Вставте пропущене слово: Śpię ___. (вночі)", "Fill in the missing word: Śpię ___. (at night)", "w nocy", "first_letter", "w", 17), ("a1_numbers_time_t18", None, "topic_test", "production", "days_weekdays", 3, "Wpisz brakujące słowo: W ___ odpoczywam. (воскресенье, винительный)", "Вставьте пропущенное слово: W ___ odpoczywam. (воскресенье, винительный)", "Вставте пропущене слово: W ___ odpoczywam. (неділя, знахідний)", "Fill in the missing word: W ___ odpoczywam. (Sunday, accusative)", "niedzielę", "first_letter", "n", 18), ("a1_numbers_time_t19", None, "topic_test", "mixed", "numbers_tens", 3, "Wybierz poprawne tłumaczenie: «Мне двадцать пять лет».", "Выберите правильный перевод: «Мне двадцать пять лет».", "Виберіть правильний переклад: «Мені двадцять п'ять років».", "Choose the correct translation: “I am twenty-five years old.”", "A", None, None, 19), ("a1_numbers_time_t20", None, "topic_test", "mixed", "time_expressions", 3, "Wybierz poprawne tłumaczenie: «Урок начинается в девять утра в понедельник».", "Выберите правильный перевод: «Урок начинается в девять утра в понедельник».", "Виберіть правильний переклад: «Урок починається о дев'ятій ранку в понеділок».", "Choose the correct translation: “The lesson starts at nine in the morning on Monday.”", "A", None, None, 20), ] for q in test_questions_t6: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_numbers_time', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t6 = [ ("a1_numbers_time_t01", "A", "cztery", "четыре", "чотири", "four", False, "wrong_word"), ("a1_numbers_time_t01", "B", "pięć", "пять", "п'ять", "five", True, None), ("a1_numbers_time_t01", "C", "sześć", "шесть", "шість", "six", False, "wrong_word"), ("a1_numbers_time_t01", "D", "siedem", "семь", "сім", "seven", False, "wrong_word"), ("a1_numbers_time_t02", "A", "dziesięć", "десять", "десять", "ten", False, "wrong_word"), ("a1_numbers_time_t02", "B", "piętnaście", "пятнадцать", "п'ятнадцять", "fifteen", True, None), ("a1_numbers_time_t02", "C", "dwadzieścia", "двадцать", "двадцять", "twenty", False, "wrong_word"), ("a1_numbers_time_t02", "D", "pięć", "пять", "п'ять", "five", False, "wrong_word"), ("a1_numbers_time_t03", "A", "czterdzieści", "сорок", "сорок", "forty", False, "wrong_word"), ("a1_numbers_time_t03", "B", "pięćdziesiąt", "пятьдесят", "п'ятдесят", "fifty", True, None), ("a1_numbers_time_t03", "C", "sześćdziesiąt", "шестьдесят", "шістдесят", "sixty", False, "wrong_word"), ("a1_numbers_time_t03", "D", "sto", "сто", "сто", "hundred", False, "wrong_word"), ("a1_numbers_time_t04", "A", "Который час?", "Который час?", "Котра година?", "What time is it?", True, None), ("a1_numbers_time_t04", "B", "Какой сегодня день?", "Какой сегодня день?", "Який сьогодні день?", "What day is it today?", False, "wrong_translation"), ("a1_numbers_time_t04", "C", "Сколько тебе лет?", "Сколько тебе лет?", "Скільки тобі років?", "How old are you?", False, "wrong_translation"), ("a1_numbers_time_t04", "D", "Где ты находишься?", "Где ты находишься?", "Де ти знаходишся?", "Where are you?", False, "wrong_translation"), ("a1_numbers_time_t05", "A", "Во сколько?", "Во сколько?", "О котрій?", "At what time?", True, None), ("a1_numbers_time_t05", "B", "Который час?", "Который час?", "Котра година?", "What time is it?", False, "wrong_translation"), ("a1_numbers_time_t05", "C", "Какой сегодня день?", "Какой сегодня день?", "Який сьогодні день?", "What day is it today?", False, "wrong_translation"), ("a1_numbers_time_t05", "D", "Как долго?", "Как долго?", "Як довго?", "How long?", False, "wrong_translation"), ("a1_numbers_time_t06", "A", "środa", "среда", "середа", "Wednesday", True, None), ("a1_numbers_time_t06", "B", "czwartek", "четверг", "четвер", "Thursday", False, "wrong_word"), ("a1_numbers_time_t06", "C", "wtorek", "вторник", "вівторок", "Tuesday", False, "wrong_word"), ("a1_numbers_time_t06", "D", "piątek", "пятница", "п'ятниця", "Friday", False, "wrong_word"), ("a1_numbers_time_t07", "A", "Mam dziewięć lat.", "Мне девять лет.", "Мені дев'ять років.", "I am nine years old.", True, None), ("a1_numbers_time_t07", "B", "Mam dziewięć rok.", "Неправильная форма числа.", "Неправильна форма числа.", "Wrong number form.", False, "wrong_number"), ("a1_numbers_time_t07", "C", "Jestem dziewięć lat.", "Я девять лет.", "Я дев'ять років.", "I am nine years. (wrong construction)", False, "wrong_sentence_type"), ("a1_numbers_time_t07", "D", "Mam dziesięć lat.", "Мне десять лет. (неверное число)", "Мені десять років. (невірне число)", "I am ten years old. (wrong number)", False, "wrong_word"), ("a1_numbers_time_t08", "A", "Sto złotych.", "Сто злотых.", "Сто злотих.", "A hundred zloty.", True, None), ("a1_numbers_time_t08", "B", "Dziesięć złotych.", "Десять злотых. (неверное число)", "Десять злотих. (невірне число)", "Ten zloty. (wrong number)", False, "wrong_word"), ("a1_numbers_time_t08", "C", "Tysiąc złotych.", "Тысяча злотых. (неверное число)", "Тисяча злотих. (невірне число)", "A thousand zloty. (wrong number)", False, "wrong_word"), ("a1_numbers_time_t08", "D", "Sto lat.", "Сто лет. (неверная единица)", "Сто років. (невірна одиниця)", "A hundred years. (wrong unit)", False, "wrong_word"), ("a1_numbers_time_t09", "A", "Jest szósta.", "Шесть часов.", "Шоста година.", "It's six o'clock.", True, None), ("a1_numbers_time_t09", "B", "Jest szósty.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_numbers_time_t09", "C", "Jest sześć.", "Просто число, не время.", "Просто число, не час.", "Just a number, not a time form.", False, "wrong_word"), ("a1_numbers_time_t09", "D", "Jest siódma.", "Семь часов. (неверное время)", "Сьома година. (невірний час)", "It's seven o'clock. (wrong time)", False, "wrong_context"), ("a1_numbers_time_t10", "A", "Jest wpół do piątej.", "Половина пятого.", "Пів на п'яту.", "It's half past four.", True, None), ("a1_numbers_time_t10", "B", "Jest wpół do czwartej.", "Половина четвёртого. (неверное время)", "Пів на четверту. (невірний час)", "It's half past three. (wrong time)", False, "wrong_context"), ("a1_numbers_time_t10", "C", "Jest kwadrans po czwartej.", "Четверть пятого. (неверное время)", "Чверть на п'яту. (невірний час)", "It's a quarter past four. (wrong time)", False, "wrong_context"), ("a1_numbers_time_t10", "D", "Jest czwarta.", "Четыре часа. (неверное время)", "Четверта година. (невірний час)", "It's four o'clock. (wrong time)", False, "wrong_context"), ("a1_numbers_time_t11", "A", "Lekcja zaczyna się o ósmej.", "Урок начинается в восемь.", "Урок починається о восьмій.", "The lesson starts at eight.", True, None), ("a1_numbers_time_t11", "B", "Lekcja zaczyna ósmej.", "Пропущен предлог.", "Пропущено прийменник.", "Missing preposition.", False, "wrong_sentence_type"), ("a1_numbers_time_t11", "C", "Lekcja jest o ósmej.", "Неправильный глагол.", "Неправильне дієслово.", "Wrong verb.", False, "wrong_word"), ("a1_numbers_time_t11", "D", "Lekcja zaczyna się o dziewiątej.", "Урок начинается в девять. (неверное время)", "Урок починається о дев'ятій. (невірний час)", "The lesson starts at nine. (wrong time)", False, "wrong_context"), ("a1_numbers_time_t12", "A", "We wtorek mam lekcję.", "Во вторник у меня урок.", "У вівторок у мене урок.", "On Tuesday I have a lesson.", True, None), ("a1_numbers_time_t12", "B", "W wtorek mam lekcję.", "Неправильная форма предлога.", "Неправильна форма прийменника.", "Wrong preposition form.", False, "wrong_word"), ("a1_numbers_time_t12", "C", "We wtorku mam lekcję.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_numbers_time_t12", "D", "Mam lekcję wtorek.", "Пропущен предлог.", "Пропущено прийменник.", "Missing preposition.", False, "wrong_sentence_type"), ("a1_numbers_time_t19", "A", "Mam dwadzieścia pięć lat.", "Мне двадцать пять лет.", "Мені двадцять п'ять років.", "I am twenty-five years old.", True, None), ("a1_numbers_time_t19", "B", "Mam dwadzieścia pięć rok.", "Неправильная форма числа.", "Неправильна форма числа.", "Wrong number form.", False, "wrong_number"), ("a1_numbers_time_t19", "C", "Jestem dwadzieścia pięć lat.", "Я двадцать пять лет.", "Я двадцять п'ять років.", "I am twenty-five years. (wrong construction)", False, "wrong_sentence_type"), ("a1_numbers_time_t19", "D", "Mam piętnaście lat.", "Мне пятнадцать лет. (неверное число)", "Мені п'ятнадцять років. (невірне число)", "I am fifteen years old. (wrong number)", False, "wrong_word"), ("a1_numbers_time_t20", "A", "Lekcja zaczyna się o dziewiątej rano w poniedziałek.", "Урок начинается в девять утра в понедельник.", "Урок починається о дев'ятій ранку в понеділок.", "The lesson starts at nine in the morning on Monday.", True, None), ("a1_numbers_time_t20", "B", "Lekcja zaczyna się o dziewiątej wieczorem w poniedziałek.", "Неверная часть суток.", "Невірна частина доби.", "Wrong time of day.", False, "wrong_context"), ("a1_numbers_time_t20", "C", "Lekcja zaczyna się o dziewiątej rano we wtorek.", "Неверный день недели.", "Невірний день тижня.", "Wrong day of the week.", False, "wrong_context"), ("a1_numbers_time_t20", "D", "Lekcja jest dziewiątej rano poniedziałek.", "Пропущены предлоги.", "Пропущено прийменники.", "Missing prepositions.", False, "wrong_sentence_type"), ] for opt in test_options_t6: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 7: ЦВЕТА И ОДЕЖДА ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_colors_clothes', 'A1', 7, 'Kolory i ubrania', 'Цвета и одежда', 'Кольори та одяг', 'Colors and Clothes') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t7 = [ ("a1_colors_clothes_l01", 1, "colors_basic", "Podstawowe kolory", "Основные цвета", "Основні кольори", "Basic colors", "Podstawowe kolory to: czerwony, niebieski, żółty, zielony, czarny, biały. „Kolor” jest rodzaju męskiego. Na razie używamy kolorów w formie męskiej (kończącej się na -y lub -i), tak jak w słowie „kolor”.", "Основные цвета: czerwony (красный), niebieski (синий), żółty (жёлтый), zielony (зелёный), czarny (чёрный), biały (белый). „Kolor” (цвет) мужского рода. Пока используем цвета в форме мужского рода (окончание -y или -i), как в слове „kolor”.", "Основні кольори: czerwony (червоний), niebieski (синій), żółty (жовтий), zielony (зелений), czarny (чорний), biały (білий). „Kolor” (колір) чоловічого роду. Поки використовуємо кольори у формі чоловічого роду (закінчення -y або -i), як у слові „kolor”.", "Basic colors: czerwony (red), niebieski (blue), żółty (yellow), zielony (green), czarny (black), biały (white). „Kolor” (color) is masculine. For now we use colors in the masculine form (ending in -y or -i), like the word „kolor” itself."), ("a1_colors_clothes_l02", 2, "colors_basic", "Więcej kolorów", "Больше цветов", "Більше кольорів", "More colors", "Więcej kolorów: różowy, brązowy, szary, pomarańczowy, fioletowy. Te słowa też są w formie męskiej.", "Больше цветов: różowy (розовый), brązowy (коричневый), szary (серый), pomarańczowy (оранжевый), fioletowy (фиолетовый). Эти слова тоже в форме мужского рода.", "Більше кольорів: różowy (рожевий), brązowy (коричневий), szary (сірий), pomarańczowy (помаранчевий), fioletowy (фіолетовий). Ці слова теж у формі чоловічого роду.", "More colors: różowy (pink), brązowy (brown), szary (grey), pomarańczowy (orange), fioletowy (purple). These words are also in the masculine form."), ("a1_colors_clothes_l03", 3, "colors_agreement", "Kolor pasuje do rodzaju", "Цвет согласуется с родом", "Колір узгоджується з родом", "Color matches the gender", "Przymiotniki-kolory zmieniają końcówkę zależnie od rodzaju rzeczownika: rodzaj męski -y/-i (czerwony sweter), rodzaj żeński -a (czerwona sukienka), rodzaj nijaki -e (czerwone ubranie).", "Прилагательные-цвета меняют окончание в зависимости от рода существительного: мужской род -y/-i (czerwony sweter — красный свитер), женский род -a (czerwona sukienka — красное платье), средний род -e (czerwone ubranie — красная одежда).", "Прикметники-кольори змінюють закінчення залежно від роду іменника: чоловічий рід -y/-i (czerwony sweter — червоний светр), жіночий рід -a (czerwona sukienka — червона сукня), середній рід -e (czerwone ubranie — червоний одяг).", "Color adjectives change their ending depending on the noun's gender: masculine -y/-i (czerwony sweter — red sweater), feminine -a (czerwona sukienka — red dress), neuter -e (czerwone ubranie — red garment)."), ("a1_colors_clothes_l04", 4, "colors_agreement", "Kolor w liczbie mnogiej", "Цвет во множественном числе", "Колір у множині", "Color in the plural", "W liczbie mnogiej (dla rzeczowników niemęskoosobowych) przymiotnik-kolor ma końcówkę -e, tak samo jak w rodzaju nijakim: czerwone buty, niebieskie spodnie, białe skarpetki.", "Во множественном числе (для неличных существительных) прилагательное-цвет имеет окончание -e, так же как в среднем роде: czerwone buty (красные ботинки), niebieskie spodnie (синие брюки), białe skarpetki (белые носки).", "У множині (для неособових іменників) прикметник-колір має закінчення -e, так само як у середньому роді: czerwone buty (червоні черевики), niebieskie spodnie (сині штани), białe skarpetki (білі шкарпетки).", "In the plural (for non-personal nouns), the color adjective has the ending -e, the same as in the neuter: czerwone buty (red shoes), niebieskie spodnie (blue trousers), białe skarpetki (white socks)."), ("a1_colors_clothes_l05", 5, "clothing_basic", "Podstawowe ubrania", "Основная одежда", "Основний одяг", "Basic clothing", "Podstawowe ubrania: sweter (rodzaj męski), sukienka (rodzaj żeński), spodnie (słowo tylko w liczbie mnogiej, jak „drzwi”), koszula (rodzaj żeński), buty (liczba mnoga od „but”, rodzaj męski).", "Основная одежда: sweter (свитер, мужской род), sukienka (платье, женский род), spodnie (брюки, слово только во множественном числе, как „drzwi”), koszula (рубашка, женский род), buty (ботинки, множественное число от „but”, мужской род).", "Основний одяг: sweter (светр, чоловічий рід), sukienka (сукня, жіночий рід), spodnie (штани, слово тільки у множині, як „drzwi”), koszula (сорочка, жіночий рід), buty (взуття, множина від „but”, чоловічий рід).", "Basic clothing: sweter (sweater, masculine), sukienka (dress, feminine), spodnie (trousers, a word used only in the plural, like „drzwi”), koszula (shirt, feminine), buty (shoes, plural of „but”, masculine)."), ("a1_colors_clothes_l06", 6, "clothing_basic", "Więcej ubrań", "Больше одежды", "Більше одягу", "More clothing", "Więcej ubrań: kurtka (rodzaj żeński), czapka (rodzaj żeński), szalik (rodzaj męski), rękawiczki (liczba mnoga, rodzaj żeński), skarpetki (liczba mnoga, rodzaj żeński).", "Больше одежды: kurtka (куртка, женский род), czapka (шапка, женский род), szalik (шарф, мужской род), rękawiczki (перчатки, множественное число, женский род), skarpetki (носки, множественное число, женский род).", "Більше одягу: kurtka (куртка, жіночий рід), czapka (шапка, жіночий рід), szalik (шарф, чоловічий рід), rękawiczki (рукавички, множина, жіночий рід), skarpetki (шкарпетки, множина, жіночий рід).", "More clothing: kurtka (jacket, feminine), czapka (cap, feminine), szalik (scarf, masculine), rękawiczki (gloves, plural, feminine), skarpetki (socks, plural, feminine)."), ("a1_colors_clothes_l07", 7, "clothing_wearing", "Noszę + biernik", "Ношу + винительный падеж", "Ношу + знахідний відмінок", "Noszę + accusative", "Czasownik „nosić” (ja noszę, ty nosisz, on/ona nosi) łączy się z biernikiem: noszę sweter (bez zmiany), noszę sukienkę (sukienka → sukienkę), noszę spodnie (bez zmiany, liczba mnoga).", "Глагол „nosić” (носить: ja noszę, ty nosisz, on/ona nosi) требует винительного падежа: noszę sweter (без изменений), noszę sukienkę (sukienka → sukienkę), noszę spodnie (без изменений, множественное число).", "Дієслово „nosić” (носити: ja noszę, ty nosisz, on/ona nosi) вимагає знахідного відмінка: noszę sweter (без змін), noszę sukienkę (sukienka → sukienkę), noszę spodnie (без змін, множина).", "The verb „nosić” (to wear: ja noszę, ty nosisz, on/ona nosi) takes the accusative: noszę sweter (unchanged), noszę sukienkę (sukienka → sukienkę), noszę spodnie (unchanged, plural)."), ("a1_colors_clothes_l08", 8, "clothing_wearing", "Kolorowe ubranie w bierniku", "Цветная одежда в винительном падеже", "Кольоровий одяг у знахідному відмінку", "Colored clothing in the accusative", "Gdy łączymy kolor z ubraniem w bierniku: rodzaj żeński — przymiotnik dostaje końcówkę -ą (mam na sobie czerwoną sukienkę), rodzaj męski nieżywotny i liczba mnoga — bez zmiany (mam na sobie niebieski sweter, mam na sobie czarne buty).", "Когда соединяем цвет с одеждой в винительном падеже: женский род — прилагательное получает окончание -ą (mam na sobie czerwoną sukienkę = на мне красное платье), мужской неодушевлённый и множественное число — без изменений (mam na sobie niebieski sweter, mam na sobie czarne buty).", "Коли поєднуємо колір з одягом у знахідному відмінку: жіночий рід — прикметник отримує закінчення -ą (mam na sobie czerwoną sukienkę = на мені червона сукня), чоловічий неістотний і множина — без змін (mam na sobie niebieski sweter, mam na sobie czarne buty).", "When combining a color with clothing in the accusative: feminine — the adjective gets the ending -ą (mam na sobie czerwoną sukienkę = I'm wearing a red dress), masculine inanimate and plural — unchanged (mam na sobie niebieski sweter, mam na sobie czarne buty)."), ("a1_colors_clothes_l09", 9, "color_description", "Jakiego koloru jest...?", "Какого цвета...?", "Якого кольору...?", "What color is...?", "Pytamy „Jakiego koloru jest...?” (dosłownie: jakiego koloru — dopełniacz), a odpowiadamy zdaniem z „jest” i przymiotnikiem w mianowniku, dopasowanym do rodzaju: Jakiego koloru jest twoja kurtka? Ona jest niebieska.", "Спрашиваем „Jakiego koloru jest...?” (дословно: какого цвета — родительный падеж), а отвечаем предложением с „jest” и прилагательным в именительном падеже, согласованным по роду: Jakiego koloru jest twoja kurtka? Ona jest niebieska. (Какого цвета твоя куртка? Она синяя.)", "Запитуємо „Jakiego koloru jest...?” (дослівно: якого кольору — родовий відмінок), а відповідаємо реченням з „jest” і прикметником у називному відмінку, узгодженим за родом: Jakiego koloru jest twoja kurtka? Ona jest niebieska. (Якого кольору твоя куртка? Вона синя.)", "We ask „Jakiego koloru jest...?” (literally: of what color — genitive), and we answer with a sentence using „jest” and an adjective in the nominative, agreeing in gender: Jakiego koloru jest twoja kurtka? Ona jest niebieska. (What color is your jacket? It is blue.)"), ("a1_colors_clothes_l10", 10, "color_description", "Opisuję swój strój", "Описываю свой наряд", "Описую свій одяг", "Describing my outfit", "Żeby opisać cały strój, łączymy kilka ubrań i kolorów w jednym zdaniu za pomocą „i”: Mam na sobie niebieską sukienkę i czarne buty.", "Чтобы описать весь наряд, соединяем несколько предметов одежды и цветов в одном предложении с помощью „i” (и): Mam na sobie niebieską sukienkę i czarne buty. (На мне синее платье и чёрные ботинки.)", "Щоб описати весь одяг, поєднуємо кілька речей і кольорів в одному реченні за допомогою „i” (і): Mam na sobie niebieską sukienkę i czarne buty. (На мені синя сукня і чорні черевики.)", "To describe a whole outfit, we combine several clothing items and colors in one sentence using „i” (and): Mam na sobie niebieską sukienkę i czarne buty. (I'm wearing a blue dress and black shoes.)"), ] for lesson in lessons_t7: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_colors_clothes', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t7 = [ ("a1_colors_clothes_l01", 1, "Mam czerwony samochód.", "У меня красная машина.", "У мене червоний автомобіль.", "I have a red car."), ("a1_colors_clothes_l01", 2, "Kot jest czarny.", "Кот чёрный.", "Кіт чорний.", "The cat is black."), ("a1_colors_clothes_l01", 3, "Banan jest żółty.", "Банан жёлтый.", "Банан жовтий.", "The banana is yellow."), ("a1_colors_clothes_l02", 1, "Mam różowy plecak.", "У меня розовый рюкзак.", "У мене рожевий рюкзак.", "I have a pink backpack."), ("a1_colors_clothes_l02", 2, "Ten stół jest brązowy.", "Этот стол коричневый.", "Цей стіл коричневий.", "This table is brown."), ("a1_colors_clothes_l02", 3, "Kot jest szary.", "Кот серый.", "Кіт сірий.", "The cat is grey."), ("a1_colors_clothes_l03", 1, "Mam czerwony sweter.", "У меня красный свитер.", "У мене червоний светр.", "I have a red sweater."), ("a1_colors_clothes_l03", 2, "Ta sukienka jest czerwona.", "Это платье красное.", "Ця сукня червона.", "This dress is red."), ("a1_colors_clothes_l03", 3, "To ubranie jest czerwone.", "Эта одежда красная.", "Цей одяг червоний.", "This garment is red."), ("a1_colors_clothes_l04", 1, "Mam czerwone buty.", "У меня красные ботинки.", "У мене червоні черевики.", "I have red shoes."), ("a1_colors_clothes_l04", 2, "Te spodnie są niebieskie.", "Эти брюки синие.", "Ці штани сині.", "These trousers are blue."), ("a1_colors_clothes_l04", 3, "Skarpetki są białe.", "Носки белые.", "Шкарпетки білі.", "The socks are white."), ("a1_colors_clothes_l05", 1, "Mam nowy sweter.", "У меня новый свитер.", "У мене новий светр.", "I have a new sweater."), ("a1_colors_clothes_l05", 2, "Sukienka jest w szafie.", "Платье в шкафу.", "Сукня в шафі.", "The dress is in the wardrobe."), ("a1_colors_clothes_l05", 3, "Spodnie są na krześle.", "Брюки на стуле.", "Штани на стільці.", "The trousers are on the chair."), ("a1_colors_clothes_l06", 1, "Kurtka jest w szafie.", "Куртка в шкафу.", "Куртка в шафі.", "The jacket is in the wardrobe."), ("a1_colors_clothes_l06", 2, "Czapka jest na stole.", "Шапка на столе.", "Шапка на столі.", "The cap is on the table."), ("a1_colors_clothes_l06", 3, "Rękawiczki są ciepłe.", "Перчатки тёплые.", "Рукавички теплі.", "The gloves are warm."), ("a1_colors_clothes_l07", 1, "Noszę sweter.", "Я ношу свитер.", "Я ношу светр.", "I wear a sweater."), ("a1_colors_clothes_l07", 2, "Ona nosi sukienkę.", "Она носит платье.", "Вона носить сукню.", "She wears a dress."), ("a1_colors_clothes_l07", 3, "Dzisiaj noszę spodnie.", "Сегодня я ношу брюки.", "Сьогодні я ношу штани.", "Today I'm wearing trousers."), ("a1_colors_clothes_l08", 1, "Mam na sobie niebieski sweter.", "На мне синий свитер.", "На мені синій светр.", "I'm wearing a blue sweater."), ("a1_colors_clothes_l08", 2, "Mam na sobie czerwoną sukienkę.", "На мне красное платье.", "На мені червона сукня.", "I'm wearing a red dress."), ("a1_colors_clothes_l08", 3, "Mam na sobie czarne buty.", "На мне чёрные ботинки.", "На мені чорні черевики.", "I'm wearing black shoes."), ("a1_colors_clothes_l09", 1, "Jakiego koloru jest twoja kurtka?", "Какого цвета твоя куртка?", "Якого кольору твоя куртка?", "What color is your jacket?"), ("a1_colors_clothes_l09", 2, "Ona jest niebieska.", "Она синяя.", "Вона синя.", "It is blue."), ("a1_colors_clothes_l09", 3, "Jakiego koloru są twoje buty?", "Какого цвета твои ботинки?", "Якого кольору твої черевики?", "What color are your shoes?"), ("a1_colors_clothes_l10", 1, "Mam na sobie niebieską sukienkę i czarne buty.", "На мне синее платье и чёрные ботинки.", "На мені синя сукня і чорні черевики.", "I'm wearing a blue dress and black shoes."), ("a1_colors_clothes_l10", 2, "Noszę zielony sweter i szare spodnie.", "Я ношу зелёный свитер и серые брюки.", "Я ношу зелений светр і сірі штани.", "I'm wearing a green sweater and grey trousers."), ("a1_colors_clothes_l10", 3, "Mam czerwoną czapkę i białe rękawiczki.", "У меня красная шапка и белые перчатки.", "У мене червона шапка і білі рукавички.", "I have a red cap and white gloves."), ] for ex in examples_t7: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t7 = [ # L01 — colors_basic (difficulty 1) ("a1_colors_clothes_l01_q1", "a1_colors_clothes_l01", "lesson_practice", "recognition", "colors_basic", 1, "Jak po polsku „красный”?", "Как по-польски «красный»?", "Як польською «червоний»?", "How do you say “red” in Polish?", "B", None, None), ("a1_colors_clothes_l01_q2", "a1_colors_clothes_l01", "lesson_practice", "production", "colors_basic", 1, "Wpisz brakujące słowo: Kot jest ___. (чёрный)", "Вставьте пропущенное слово: Kot jest ___. (чёрный)", "Вставте пропущене слово: Kot jest ___. (чорний)", "Fill in the missing word: Kot jest ___. (black)", "czarny", "first_letter", "c"), ("a1_colors_clothes_l01_q3", "a1_colors_clothes_l01", "lesson_practice", "application", "colors_basic", 1, "Widzisz banana. Jakiego jest koloru?", "Ты видишь банан. Какого он цвета?", "Ти бачиш банан. Якого він кольору?", "You see a banana. What color is it?", "A", None, None), # L02 — colors_basic (difficulty 1) ("a1_colors_clothes_l02_q1", "a1_colors_clothes_l02", "lesson_practice", "recognition", "colors_basic", 1, "Jak po polsku „розовый”?", "Как по-польски «розовый»?", "Як польською «рожевий»?", "How do you say “pink” in Polish?", "B", None, None), ("a1_colors_clothes_l02_q2", "a1_colors_clothes_l02", "lesson_practice", "production", "colors_basic", 1, "Wpisz brakujące słowo: Ten stół jest ___. (коричневый)", "Вставьте пропущенное слово: Ten stół jest ___. (коричневый)", "Вставте пропущене слово: Ten stół jest ___. (коричневий)", "Fill in the missing word: Ten stół jest ___. (brown)", "brązowy", "first_letter", "b"), ("a1_colors_clothes_l02_q3", "a1_colors_clothes_l02", "lesson_practice", "application", "colors_basic", 1, "Widzisz pomarańczę. Jakiego jest koloru?", "Ты видишь апельсин. Какого он цвета?", "Ти бачиш апельсин. Якого він кольору?", "You see an orange. What color is it?", "A", None, None), # L03 — colors_agreement (difficulty 1) ("a1_colors_clothes_l03_q1", "a1_colors_clothes_l03", "lesson_practice", "recognition", "colors_agreement", 1, "Wybierz poprawną formę: Ta sukienka jest ___. (czerwony)", "Выберите правильную форму: Ta sukienka jest ___. (czerwony)", "Виберіть правильну форму: Ta sukienka jest ___. (czerwony)", "Choose the correct form: Ta sukienka jest ___. (czerwony)", "B", None, None), ("a1_colors_clothes_l03_q2", "a1_colors_clothes_l03", "lesson_practice", "production", "colors_agreement", 1, "Wpisz brakujące słowo: To ubranie jest ___. (czerwony, средний род)", "Вставьте пропущенное слово: To ubranie jest ___. (czerwony, средний род)", "Вставте пропущене слово: To ubranie jest ___. (czerwony, середній рід)", "Fill in the missing word: To ubranie jest ___. (czerwony, neuter)", "czerwone", "first_letter", "c"), ("a1_colors_clothes_l03_q3", "a1_colors_clothes_l03", "lesson_practice", "application", "colors_agreement", 1, "Opisujesz sukienkę, która jest czerwona. Co powiesz?", "Ты описываешь платье, которое красное. Что ты скажешь?", "Ти описуєш сукню, яка червона. Що ти скажеш?", "You're describing a dress that is red. What do you say?", "A", None, None), # L04 — colors_agreement (difficulty 1) ("a1_colors_clothes_l04_q1", "a1_colors_clothes_l04", "lesson_practice", "recognition", "colors_agreement", 1, "Wybierz poprawną formę: Te buty są ___. (czerwony)", "Выберите правильную форму: Te buty są ___. (czerwony)", "Виберіть правильну форму: Te buty są ___. (czerwony)", "Choose the correct form: Te buty są ___. (czerwony)", "C", None, None), ("a1_colors_clothes_l04_q2", "a1_colors_clothes_l04", "lesson_practice", "production", "colors_agreement", 1, "Wpisz brakujące słowo: Skarpetki są ___. (белый, множественное число)", "Вставьте пропущенное слово: Skarpetki są ___. (белый, множественное число)", "Вставте пропущене слово: Skarpetki są ___. (білий, множина)", "Fill in the missing word: Skarpetki są ___. (white, plural)", "białe", "first_letter", "b"), ("a1_colors_clothes_l04_q3", "a1_colors_clothes_l04", "lesson_practice", "application", "colors_agreement", 1, "Masz niebieskie spodnie. Co powiesz o nich?", "У тебя синие брюки. Что ты о них скажешь?", "У тебе сині штани. Що ти про них скажеш?", "You have blue trousers. What do you say about them?", "A", None, None), # L05 — clothing_basic (difficulty 2) ("a1_colors_clothes_l05_q1", "a1_colors_clothes_l05", "lesson_practice", "recognition", "clothing_basic", 2, "Jak po polsku „платье”?", "Как по-польски «платье»?", "Як польською «сукня»?", "How do you say “dress” in Polish?", "B", None, None), ("a1_colors_clothes_l05_q2", "a1_colors_clothes_l05", "lesson_practice", "production", "clothing_basic", 2, "Wpisz brakujące słowo: To jest ___. (брюки)", "Вставьте пропущенное слово: To jest ___. (брюки)", "Вставте пропущене слово: To jest ___. (штани)", "Fill in the missing word: To jest ___. (trousers)", "spodnie", "first_letter", "s"), ("a1_colors_clothes_l05_q3", "a1_colors_clothes_l05", "lesson_practice", "application", "clothing_basic", 2, "Jest zimno. Chcesz założyć coś ciepłego na górę. Co wybierzesz?", "Холодно. Ты хочешь надеть что-то тёплое сверху. Что ты выберешь?", "Холодно. Ти хочеш одягнути щось тепле зверху. Що ти виберешь?", "It's cold. You want to put on something warm on top. What do you choose?", "A", None, None), # L06 — clothing_basic (difficulty 2) ("a1_colors_clothes_l06_q1", "a1_colors_clothes_l06", "lesson_practice", "recognition", "clothing_basic", 2, "Jak po polsku „шарф”?", "Как по-польски «шарф»?", "Як польською «шарф»?", "How do you say “scarf” in Polish?", "C", None, None), ("a1_colors_clothes_l06_q2", "a1_colors_clothes_l06", "lesson_practice", "production", "clothing_basic", 2, "Wpisz brakujące słowo: To jest ___. (куртка)", "Вставьте пропущенное слово: To jest ___. (куртка)", "Вставте пропущене слово: To jest ___. (куртка)", "Fill in the missing word: To jest ___. (jacket)", "kurtka", "first_letter", "k"), ("a1_colors_clothes_l06_q3", "a1_colors_clothes_l06", "lesson_practice", "application", "clothing_basic", 2, "Jest zimno na dworze. Co włożysz na ręce?", "На улице холодно. Что ты наденешь на руки?", "На вулиці холодно. Що ти вдягнеш на руки?", "It's cold outside. What do you put on your hands?", "A", None, None), # L07 — clothing_wearing (difficulty 2) ("a1_colors_clothes_l07_q1", "a1_colors_clothes_l07", "lesson_practice", "recognition", "clothing_wearing", 2, "Wybierz poprawną formę: Noszę ___. (sukienka)", "Выберите правильную форму: Noszę ___. (sukienka)", "Виберіть правильну форму: Noszę ___. (sukienka)", "Choose the correct form: Noszę ___. (sukienka)", "B", None, None), ("a1_colors_clothes_l07_q2", "a1_colors_clothes_l07", "lesson_practice", "production", "clothing_wearing", 2, "Wpisz brakujące słowo: Dzisiaj ___ spodnie. (ношу)", "Вставьте пропущенное слово: Dzisiaj ___ spodnie. (ношу)", "Вставте пропущене слово: Dzisiaj ___ spodnie. (ношу)", "Fill in the missing word: Dzisiaj ___ spodnie. (I wear)", "noszę", "first_letter", "n"), ("a1_colors_clothes_l07_q3", "a1_colors_clothes_l07", "lesson_practice", "application", "clothing_wearing", 2, "Kolega pyta, co dzisiaj nosisz. Nosisz sweter. Co powiesz?", "Друг спрашивает, что ты сегодня носишь. Ты носишь свитер. Что ты скажешь?", "Друг питає, що ти сьогодні носиш. Ти носиш светр. Що ти скажеш?", "A friend asks what you're wearing today. You're wearing a sweater. What do you say?", "A", None, None), # L08 — clothing_wearing (difficulty 2) ("a1_colors_clothes_l08_q1", "a1_colors_clothes_l08", "lesson_practice", "recognition", "clothing_wearing", 2, "Wybierz poprawną formę: Mam na sobie ___ sukienkę. (czerwony)", "Выберите правильную форму: Mam na sobie ___ sukienkę. (czerwony)", "Виберіть правильну форму: Mam na sobie ___ sukienkę. (czerwony)", "Choose the correct form: Mam na sobie ___ sukienkę. (czerwony)", "C", None, None), ("a1_colors_clothes_l08_q2", "a1_colors_clothes_l08", "lesson_practice", "production", "clothing_wearing", 2, "Wpisz brakujące słowo: Mam na sobie czarne ___. (ботинки)", "Вставьте пропущенное слово: Mam na sobie czarne ___. (ботинки)", "Вставте пропущене слово: Mam na sobie czarne ___. (черевики)", "Fill in the missing word: Mam na sobie czarne ___. (shoes)", "buty", "first_letter", "b"), ("a1_colors_clothes_l08_q3", "a1_colors_clothes_l08", "lesson_practice", "application", "clothing_wearing", 2, "Masz na sobie niebieski sweter. Co powiesz?", "На тебе синий свитер. Что ты скажешь?", "На тобі синій светр. Що ти скажеш?", "You're wearing a blue sweater. What do you say?", "A", None, None), # L09 — color_description (difficulty 3) ("a1_colors_clothes_l09_q1", "a1_colors_clothes_l09", "lesson_practice", "recognition", "color_description", 3, "Co znaczy „Jakiego koloru jest...?”", "Что означает «Jakiego koloru jest...?»", "Що означає «Jakiego koloru jest...?»", "What does “Jakiego koloru jest...?” mean?", "A", None, None), ("a1_colors_clothes_l09_q2", "a1_colors_clothes_l09", "lesson_practice", "production", "color_description", 3, "Wpisz brakujące słowo: Jakiego koloru ___ twoja kurtka? (jest)", "Вставьте пропущенное слово: Jakiego koloru ___ twoja kurtka? (jest)", "Вставте пропущене слово: Jakiego koloru ___ twoja kurtka? (jest)", "Fill in the missing word: Jakiego koloru ___ twoja kurtka? (is)", "jest", "first_letter", "j"), ("a1_colors_clothes_l09_q3", "a1_colors_clothes_l09", "lesson_practice", "application", "color_description", 3, "Kolega pyta „Jakiego koloru są twoje buty?” Twoje buty są czarne. Co powiesz?", "Друг спрашивает «Jakiego koloru są twoje buty?» Твои ботинки чёрные. Что ты скажешь?", "Друг питає «Jakiego koloru są twoje buty?» Твої черевики чорні. Що ти скажеш?", "A friend asks “Jakiego koloru są twoje buty?” Your shoes are black. What do you say?", "A", None, None), # L10 — color_description (difficulty 3) ("a1_colors_clothes_l10_q1", "a1_colors_clothes_l10", "lesson_practice", "recognition", "color_description", 3, "Które zdanie poprawnie opisuje strój?", "Какое предложение правильно описывает наряд?", "Яке речення правильно описує одяг?", "Which sentence correctly describes an outfit?", "B", None, None), ("a1_colors_clothes_l10_q2", "a1_colors_clothes_l10", "lesson_practice", "production", "color_description", 3, "Przetłumacz: «Я ношу зелёный свитер и серые брюки».", "Переведите: «Я ношу зелёный свитер и серые брюки».", "Перекладіть: «Я ношу зелений светр і сірі штани».", "Translate: “I'm wearing a green sweater and grey trousers.”", "Noszę zielony sweter i szare spodnie", "first_letter", "N"), ("a1_colors_clothes_l10_q3", "a1_colors_clothes_l10", "lesson_practice", "application", "color_description", 3, "Chcesz opisać koledze swój strój: masz niebieską sukienkę i czarne buty. Jak zaczniesz zdanie?", "Ты хочешь описать другу свой наряд: у тебя синее платье и чёрные ботинки. Как ты начнёшь предложение?", "Ти хочеш описати другу свій одяг: у тебе синя сукня і чорні черевики. Як ти почнеш речення?", "You want to describe your outfit to a friend: you have a blue dress and black shoes. How do you start the sentence?", "A", None, None), ] for q in questions_t7: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_colors_clothes', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t7 = [ # L01 ("a1_colors_clothes_l01_q1", "A", "zielony", "зелёный", "зелений", "green", False, "wrong_word"), ("a1_colors_clothes_l01_q1", "B", "czerwony", "красный", "червоний", "red", True, None), ("a1_colors_clothes_l01_q1", "C", "żółty", "жёлтый", "жовтий", "yellow", False, "wrong_word"), ("a1_colors_clothes_l01_q1", "D", "czarny", "чёрный", "чорний", "black", False, "wrong_word"), ("a1_colors_clothes_l01_q3", "A", "żółty", "жёлтый", "жовтий", "yellow", True, None), ("a1_colors_clothes_l01_q3", "B", "czerwony", "красный", "червоний", "red", False, "wrong_context"), ("a1_colors_clothes_l01_q3", "C", "niebieski", "синий", "синій", "blue", False, "wrong_context"), ("a1_colors_clothes_l01_q3", "D", "czarny", "чёрный", "чорний", "black", False, "wrong_context"), # L02 ("a1_colors_clothes_l02_q1", "A", "szary", "серый", "сірий", "grey", False, "wrong_word"), ("a1_colors_clothes_l02_q1", "B", "różowy", "розовый", "рожевий", "pink", True, None), ("a1_colors_clothes_l02_q1", "C", "brązowy", "коричневый", "коричневий", "brown", False, "wrong_word"), ("a1_colors_clothes_l02_q1", "D", "fioletowy", "фиолетовый", "фіолетовий", "purple", False, "wrong_word"), ("a1_colors_clothes_l02_q3", "A", "pomarańczowy", "оранжевый", "помаранчевий", "orange", True, None), ("a1_colors_clothes_l02_q3", "B", "różowy", "розовый", "рожевий", "pink", False, "wrong_context"), ("a1_colors_clothes_l02_q3", "C", "fioletowy", "фиолетовый", "фіолетовий", "purple", False, "wrong_context"), ("a1_colors_clothes_l02_q3", "D", "szary", "серый", "сірий", "grey", False, "wrong_context"), # L03 ("a1_colors_clothes_l03_q1", "A", "czerwony", "красный (муж.)", "червоний (чол.)", "red (masc.)", False, "wrong_gender"), ("a1_colors_clothes_l03_q1", "B", "czerwona", "красная (жен.)", "червона (жін.)", "red (fem.)", True, None), ("a1_colors_clothes_l03_q1", "C", "czerwone", "красное (ср.)", "червоне (сер.)", "red (neut.)", False, "wrong_gender"), ("a1_colors_clothes_l03_q1", "D", "czerwoną", "красную (вин.)", "червону (знах.)", "red (acc.)", False, "wrong_case"), ("a1_colors_clothes_l03_q3", "A", "Ta sukienka jest czerwona.", "Это платье красное.", "Ця сукня червона.", "This dress is red.", True, None), ("a1_colors_clothes_l03_q3", "B", "Ta sukienka jest czerwony.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_l03_q3", "C", "To ubranie jest czerwona.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_l03_q3", "D", "Ten sweter jest czerwona.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), # L04 ("a1_colors_clothes_l04_q1", "A", "czerwony", "красный (ед. ч., муж.)", "червоний (одн., чол.)", "red (sg. masc.)", False, "wrong_number"), ("a1_colors_clothes_l04_q1", "B", "czerwona", "красная (жен.)", "червона (жін.)", "red (fem.)", False, "wrong_gender"), ("a1_colors_clothes_l04_q1", "C", "czerwone", "красные (мн. ч.)", "червоні (мн.)", "red (plural)", True, None), ("a1_colors_clothes_l04_q1", "D", "czerwoną", "красную (вин.)", "червону (знах.)", "red (acc.)", False, "wrong_case"), ("a1_colors_clothes_l04_q3", "A", "Spodnie są niebieskie.", "Брюки синие.", "Штани сині.", "The trousers are blue.", True, None), ("a1_colors_clothes_l04_q3", "B", "Spodnie są niebieski.", "Неправильное число.", "Неправильне число.", "Wrong number form.", False, "wrong_number"), ("a1_colors_clothes_l04_q3", "C", "Spodnie są niebieska.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_l04_q3", "D", "Spodnie jest niebieskie.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), # L05 ("a1_colors_clothes_l05_q1", "A", "sweter", "свитер", "светр", "sweater", False, "wrong_word"), ("a1_colors_clothes_l05_q1", "B", "sukienka", "платье", "сукня", "dress", True, None), ("a1_colors_clothes_l05_q1", "C", "koszula", "рубашка", "сорочка", "shirt", False, "wrong_word"), ("a1_colors_clothes_l05_q1", "D", "kurtka", "куртка", "куртка", "jacket", False, "wrong_word"), ("a1_colors_clothes_l05_q3", "A", "sweter", "свитер", "светр", "sweater", True, None), ("a1_colors_clothes_l05_q3", "B", "sukienka", "платье", "сукня", "dress", False, "wrong_context"), ("a1_colors_clothes_l05_q3", "C", "spodnie", "брюки", "штани", "trousers", False, "wrong_context"), ("a1_colors_clothes_l05_q3", "D", "buty", "ботинки", "черевики", "shoes", False, "wrong_context"), # L06 ("a1_colors_clothes_l06_q1", "A", "czapka", "шапка", "шапка", "cap", False, "wrong_word"), ("a1_colors_clothes_l06_q1", "B", "rękawiczki", "перчатки", "рукавички", "gloves", False, "wrong_word"), ("a1_colors_clothes_l06_q1", "C", "szalik", "шарф", "шарф", "scarf", True, None), ("a1_colors_clothes_l06_q1", "D", "skarpetki", "носки", "шкарпетки", "socks", False, "wrong_word"), ("a1_colors_clothes_l06_q3", "A", "rękawiczki", "перчатки", "рукавички", "gloves", True, None), ("a1_colors_clothes_l06_q3", "B", "czapka", "шапка", "шапка", "cap", False, "wrong_context"), ("a1_colors_clothes_l06_q3", "C", "szalik", "шарф", "шарф", "scarf", False, "wrong_context"), ("a1_colors_clothes_l06_q3", "D", "skarpetki", "носки", "шкарпетки", "socks", False, "wrong_context"), # L07 ("a1_colors_clothes_l07_q1", "A", "sukienka", "платье (им.)", "сукня (наз.)", "dress (nom.)", False, "wrong_case"), ("a1_colors_clothes_l07_q1", "B", "sukienkę", "платье (вин.)", "сукню (знах.)", "dress (acc.)", True, None), ("a1_colors_clothes_l07_q1", "C", "sukience", "платье (местн.)", "сукня (місц.)", "dress (loc.)", False, "wrong_case"), ("a1_colors_clothes_l07_q1", "D", "sukienką", "платье (тв.)", "сукня (ор.)", "dress (instr.)", False, "wrong_case"), ("a1_colors_clothes_l07_q3", "A", "Noszę sweter.", "Я ношу свитер.", "Я ношу светр.", "I wear a sweater.", True, None), ("a1_colors_clothes_l07_q3", "B", "Noszę swetra.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_colors_clothes_l07_q3", "C", "Jestem sweter.", "Я свитер.", "Я светр.", "I am a sweater.", False, "wrong_sentence_type"), ("a1_colors_clothes_l07_q3", "D", "Mam sweter nosić.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), # L08 ("a1_colors_clothes_l08_q1", "A", "czerwony", "красный (муж.)", "червоний (чол.)", "red (masc.)", False, "wrong_gender"), ("a1_colors_clothes_l08_q1", "B", "czerwona", "красная (им.)", "червона (наз.)", "red (nom.)", False, "wrong_case"), ("a1_colors_clothes_l08_q1", "C", "czerwoną", "красную (вин.)", "червону (знах.)", "red (acc.)", True, None), ("a1_colors_clothes_l08_q1", "D", "czerwone", "красное (ср.)", "червоне (сер.)", "red (neut.)", False, "wrong_gender"), ("a1_colors_clothes_l08_q3", "A", "Mam na sobie niebieski sweter.", "На мне синий свитер.", "На мені синій светр.", "I'm wearing a blue sweater.", True, None), ("a1_colors_clothes_l08_q3", "B", "Mam na sobie niebieską sweter.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_l08_q3", "C", "Mam na sobie niebieskie sweter.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_l08_q3", "D", "Jestem niebieski sweter.", "Я синий свитер.", "Я синій светр.", "I am a blue sweater.", False, "wrong_sentence_type"), # L09 ("a1_colors_clothes_l09_q1", "A", "Какого цвета...?", "Какого цвета...?", "Якого кольору...?", "What color is...?", True, None), ("a1_colors_clothes_l09_q1", "B", "Который час...?", "Который час...?", "Котра година...?", "What time is it...?", False, "wrong_translation"), ("a1_colors_clothes_l09_q1", "C", "Сколько стоит...?", "Сколько стоит...?", "Скільки коштує...?", "How much does it cost...?", False, "wrong_translation"), ("a1_colors_clothes_l09_q1", "D", "Где находится...?", "Где находится...?", "Де знаходиться...?", "Where is...?", False, "wrong_translation"), ("a1_colors_clothes_l09_q3", "A", "One są czarne.", "Они чёрные.", "Вони чорні.", "They are black.", True, None), ("a1_colors_clothes_l09_q3", "B", "One jest czarne.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_colors_clothes_l09_q3", "C", "One są czarny.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_l09_q3", "D", "One są czarna.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), # L10 ("a1_colors_clothes_l10_q1", "A", "Mam na sobie niebieska sukienkę i czarne buty.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_colors_clothes_l10_q1", "B", "Mam na sobie niebieską sukienkę i czarne buty.", "На мне синее платье и чёрные ботинки.", "На мені синя сукня і чорні черевики.", "I'm wearing a blue dress and black shoes.", True, None), ("a1_colors_clothes_l10_q1", "C", "Mam na sobie niebieski sukienkę i czarni buty.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_l10_q1", "D", "Jestem niebieska sukienka i czarne buty.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_colors_clothes_l10_q3", "A", "Mam na sobie niebieską sukienkę i czarne buty.", "На мне синее платье и чёрные ботинки.", "На мені синя сукня і чорні черевики.", "I'm wearing a blue dress and black shoes.", True, None), ("a1_colors_clothes_l10_q3", "B", "Ja sukienka i buty.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_colors_clothes_l10_q3", "C", "Jestem niebieska sukienka.", "Я синее платье.", "Я синя сукня.", "I am a blue dress.", False, "wrong_sentence_type"), ("a1_colors_clothes_l10_q3", "D", "Mam na sobie niebieski sukienkę i czarny buty.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ] for opt in options_t7: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t7 = [ ("a1_colors_clothes_t01", None, "topic_test", "recognition", "colors_basic", 1, "Jak po polsku „красный”?", "Как по-польски «красный»?", "Як польською «червоний»?", "How do you say “red” in Polish?", "B", None, None, 1), ("a1_colors_clothes_t02", None, "topic_test", "recognition", "colors_basic", 1, "Jak po polsku „розовый”?", "Как по-польски «розовый»?", "Як польською «рожевий»?", "How do you say “pink” in Polish?", "B", None, None, 2), ("a1_colors_clothes_t03", None, "topic_test", "recognition", "colors_agreement", 1, "Wybierz poprawną formę: Ta sukienka jest ___. (czerwony)", "Выберите правильную форму: Ta sukienka jest ___. (czerwony)", "Виберіть правильну форму: Ta sukienka jest ___. (czerwony)", "Choose the correct form: Ta sukienka jest ___. (czerwony)", "B", None, None, 3), ("a1_colors_clothes_t04", None, "topic_test", "recognition", "clothing_basic", 2, "Jak po polsku „платье”?", "Как по-польски «платье»?", "Як польською «сукня»?", "How do you say “dress” in Polish?", "B", None, None, 4), ("a1_colors_clothes_t05", None, "topic_test", "recognition", "clothing_wearing", 2, "Wybierz poprawną formę: Noszę ___. (sukienka)", "Выберите правильную форму: Noszę ___. (sukienka)", "Виберіть правильну форму: Noszę ___. (sukienka)", "Choose the correct form: Noszę ___. (sukienka)", "B", None, None, 5), ("a1_colors_clothes_t06", None, "topic_test", "recognition", "color_description", 3, "Co znaczy „Jakiego koloru jest...?”", "Что означает «Jakiego koloru jest...?»", "Що означає «Jakiego koloru jest...?»", "What does “Jakiego koloru jest...?” mean?", "A", None, None, 6), ("a1_colors_clothes_t07", None, "topic_test", "application", "colors_agreement", 1, "Masz niebieskie spodnie. Co powiesz o nich?", "У тебя синие брюки. Что ты о них скажешь?", "У тебе сині штани. Що ти про них скажеш?", "You have blue trousers. What do you say about them?", "A", None, None, 7), ("a1_colors_clothes_t08", None, "topic_test", "application", "clothing_basic", 2, "Jest zimno. Chcesz założyć coś ciepłego na górę. Co wybierzesz?", "Холодно. Ты хочешь надеть что-то тёплое сверху. Что ты выберешь?", "Холодно. Ти хочеш одягнути щось тепле зверху. Що ти виберешь?", "It's cold. You want to put on something warm on top. What do you choose?", "A", None, None, 8), ("a1_colors_clothes_t09", None, "topic_test", "application", "clothing_basic", 2, "Jest zimno na dworze. Co włożysz na ręce?", "На улице холодно. Что ты наденешь на руки?", "На вулиці холодно. Що ти вдягнеш на руки?", "It's cold outside. What do you put on your hands?", "A", None, None, 9), ("a1_colors_clothes_t10", None, "topic_test", "application", "clothing_wearing", 2, "Kolega pyta, co dzisiaj nosisz. Nosisz sweter. Co powiesz?", "Друг спрашивает, что ты сегодня носишь. Ты носишь свитер. Что ты скажешь?", "Друг питає, що ти сьогодні носиш. Ти носиш светр. Що ти скажеш?", "A friend asks what you're wearing today. You're wearing a sweater. What do you say?", "A", None, None, 10), ("a1_colors_clothes_t11", None, "topic_test", "application", "clothing_wearing", 2, "Masz na sobie niebieski sweter. Co powiesz?", "На тебе синий свитер. Что ты скажешь?", "На тобі синій светр. Що ти скажеш?", "You're wearing a blue sweater. What do you say?", "A", None, None, 11), ("a1_colors_clothes_t12", None, "topic_test", "application", "color_description", 3, "Kolega pyta „Jakiego koloru są twoje buty?” Twoje buty są czarne. Co powiesz?", "Друг спрашивает «Jakiego koloru są twoje buty?» Твои ботинки чёрные. Что ты скажешь?", "Друг питає «Jakiego koloru są twoje buty?» Твої черевики чорні. Що ти скажеш?", "A friend asks “Jakiego koloru są twoje buty?” Your shoes are black. What do you say?", "A", None, None, 12), ("a1_colors_clothes_t13", None, "topic_test", "production", "colors_basic", 1, "Wpisz brakujące słowo: Kot jest ___. (чёрный)", "Вставьте пропущенное слово: Kot jest ___. (чёрный)", "Вставте пропущене слово: Kot jest ___. (чорний)", "Fill in the missing word: Kot jest ___. (black)", "czarny", "first_letter", "c", 13), ("a1_colors_clothes_t14", None, "topic_test", "production", "colors_agreement", 1, "Wpisz brakujące słowo: To ubranie jest ___. (czerwony, средний род)", "Вставьте пропущенное слово: To ubranie jest ___. (czerwony, средний род)", "Вставте пропущене слово: To ubranie jest ___. (czerwony, середній рід)", "Fill in the missing word: To ubranie jest ___. (czerwony, neuter)", "czerwone", "first_letter", "c", 14), ("a1_colors_clothes_t15", None, "topic_test", "production", "clothing_basic", 1, "Wpisz brakujące słowo: To jest ___. (брюки)", "Вставьте пропущенное слово: To jest ___. (брюки)", "Вставте пропущене слово: To jest ___. (штани)", "Fill in the missing word: To jest ___. (trousers)", "spodnie", "first_letter", "s", 15), ("a1_colors_clothes_t16", None, "topic_test", "production", "clothing_wearing", 2, "Wpisz brakujące słowo: Dzisiaj ___ spodnie. (ношу)", "Вставьте пропущенное слово: Dzisiaj ___ spodnie. (ношу)", "Вставте пропущене слово: Dzisiaj ___ spodnie. (ношу)", "Fill in the missing word: Dzisiaj ___ spodnie. (I wear)", "noszę", "first_letter", "n", 16), ("a1_colors_clothes_t17", None, "topic_test", "production", "color_description", 3, "Wpisz brakujące słowo: Jakiego koloru ___ twoja kurtka? (jest)", "Вставьте пропущенное слово: Jakiego koloru ___ twoja kurtka? (jest)", "Вставте пропущене слово: Jakiego koloru ___ twoja kurtka? (jest)", "Fill in the missing word: Jakiego koloru ___ twoja kurtka? (is)", "jest", "first_letter", "j", 17), ("a1_colors_clothes_t18", None, "topic_test", "production", "color_description", 3, "Przetłumacz: «Я ношу зелёный свитер и серые брюки».", "Переведите: «Я ношу зелёный свитер и серые брюки».", "Перекладіть: «Я ношу зелений светр і сірі штани».", "Translate: “I'm wearing a green sweater and grey trousers.”", "Noszę zielony sweter i szare spodnie", "first_letter", "N", 18), ("a1_colors_clothes_t19", None, "topic_test", "mixed", "clothing_wearing", 3, "Wybierz poprawne tłumaczenie: «На мне красное платье и чёрные ботинки».", "Выберите правильный перевод: «На мне красное платье и чёрные ботинки».", "Виберіть правильний переклад: «На мені червона сукня і чорні черевики».", "Choose the correct translation: “I'm wearing a red dress and black shoes.”", "A", None, None, 19), ("a1_colors_clothes_t20", None, "topic_test", "mixed", "color_description", 3, "Wybierz poprawne tłumaczenie dialogu: «— Какого цвета твоя куртка? — Она синяя.»", "Выберите правильный перевод диалога: «— Какого цвета твоя куртка? — Она синяя.»", "Виберіть правильний переклад діалогу: «— Якого кольору твоя куртка? — Вона синя.»", "Choose the correct translation of the dialogue: “— What color is your jacket? — It is blue.”", "A", None, None, 20), ] for q in test_questions_t7: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_colors_clothes', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t7 = [ ("a1_colors_clothes_t01", "A", "zielony", "зелёный", "зелений", "green", False, "wrong_word"), ("a1_colors_clothes_t01", "B", "czerwony", "красный", "червоний", "red", True, None), ("a1_colors_clothes_t01", "C", "żółty", "жёлтый", "жовтий", "yellow", False, "wrong_word"), ("a1_colors_clothes_t01", "D", "czarny", "чёрный", "чорний", "black", False, "wrong_word"), ("a1_colors_clothes_t02", "A", "szary", "серый", "сірий", "grey", False, "wrong_word"), ("a1_colors_clothes_t02", "B", "różowy", "розовый", "рожевий", "pink", True, None), ("a1_colors_clothes_t02", "C", "brązowy", "коричневый", "коричневий", "brown", False, "wrong_word"), ("a1_colors_clothes_t02", "D", "fioletowy", "фиолетовый", "фіолетовий", "purple", False, "wrong_word"), ("a1_colors_clothes_t03", "A", "czerwony", "красный (муж.)", "червоний (чол.)", "red (masc.)", False, "wrong_gender"), ("a1_colors_clothes_t03", "B", "czerwona", "красная (жен.)", "червона (жін.)", "red (fem.)", True, None), ("a1_colors_clothes_t03", "C", "czerwone", "красное (ср.)", "червоне (сер.)", "red (neut.)", False, "wrong_gender"), ("a1_colors_clothes_t03", "D", "czerwoną", "красную (вин.)", "червону (знах.)", "red (acc.)", False, "wrong_case"), ("a1_colors_clothes_t04", "A", "sweter", "свитер", "светр", "sweater", False, "wrong_word"), ("a1_colors_clothes_t04", "B", "sukienka", "платье", "сукня", "dress", True, None), ("a1_colors_clothes_t04", "C", "koszula", "рубашка", "сорочка", "shirt", False, "wrong_word"), ("a1_colors_clothes_t04", "D", "kurtka", "куртка", "куртка", "jacket", False, "wrong_word"), ("a1_colors_clothes_t05", "A", "sukienka", "платье (им.)", "сукня (наз.)", "dress (nom.)", False, "wrong_case"), ("a1_colors_clothes_t05", "B", "sukienkę", "платье (вин.)", "сукню (знах.)", "dress (acc.)", True, None), ("a1_colors_clothes_t05", "C", "sukience", "платье (местн.)", "сукня (місц.)", "dress (loc.)", False, "wrong_case"), ("a1_colors_clothes_t05", "D", "sukienką", "платье (тв.)", "сукня (ор.)", "dress (instr.)", False, "wrong_case"), ("a1_colors_clothes_t06", "A", "Какого цвета...?", "Какого цвета...?", "Якого кольору...?", "What color is...?", True, None), ("a1_colors_clothes_t06", "B", "Который час...?", "Который час...?", "Котра година...?", "What time is it...?", False, "wrong_translation"), ("a1_colors_clothes_t06", "C", "Сколько стоит...?", "Сколько стоит...?", "Скільки коштує...?", "How much does it cost...?", False, "wrong_translation"), ("a1_colors_clothes_t06", "D", "Где находится...?", "Где находится...?", "Де знаходиться...?", "Where is...?", False, "wrong_translation"), ("a1_colors_clothes_t07", "A", "Spodnie są niebieskie.", "Брюки синие.", "Штани сині.", "The trousers are blue.", True, None), ("a1_colors_clothes_t07", "B", "Spodnie są niebieski.", "Неправильное число.", "Неправильне число.", "Wrong number form.", False, "wrong_number"), ("a1_colors_clothes_t07", "C", "Spodnie są niebieska.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_t07", "D", "Spodnie jest niebieskie.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_colors_clothes_t08", "A", "sweter", "свитер", "светр", "sweater", True, None), ("a1_colors_clothes_t08", "B", "sukienka", "платье", "сукня", "dress", False, "wrong_context"), ("a1_colors_clothes_t08", "C", "spodnie", "брюки", "штани", "trousers", False, "wrong_context"), ("a1_colors_clothes_t08", "D", "buty", "ботинки", "черевики", "shoes", False, "wrong_context"), ("a1_colors_clothes_t09", "A", "rękawiczki", "перчатки", "рукавички", "gloves", True, None), ("a1_colors_clothes_t09", "B", "czapka", "шапка", "шапка", "cap", False, "wrong_context"), ("a1_colors_clothes_t09", "C", "szalik", "шарф", "шарф", "scarf", False, "wrong_context"), ("a1_colors_clothes_t09", "D", "skarpetki", "носки", "шкарпетки", "socks", False, "wrong_context"), ("a1_colors_clothes_t10", "A", "Noszę sweter.", "Я ношу свитер.", "Я ношу светр.", "I wear a sweater.", True, None), ("a1_colors_clothes_t10", "B", "Noszę swetra.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_colors_clothes_t10", "C", "Jestem sweter.", "Я свитер.", "Я светр.", "I am a sweater.", False, "wrong_sentence_type"), ("a1_colors_clothes_t10", "D", "Mam sweter nosić.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_colors_clothes_t11", "A", "Mam na sobie niebieski sweter.", "На мне синий свитер.", "На мені синій светр.", "I'm wearing a blue sweater.", True, None), ("a1_colors_clothes_t11", "B", "Mam na sobie niebieską sweter.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_t11", "C", "Mam na sobie niebieskie sweter.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_t11", "D", "Jestem niebieski sweter.", "Я синий свитер.", "Я синій светр.", "I am a blue sweater.", False, "wrong_sentence_type"), ("a1_colors_clothes_t12", "A", "One są czarne.", "Они чёрные.", "Вони чорні.", "They are black.", True, None), ("a1_colors_clothes_t12", "B", "One jest czarne.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_colors_clothes_t12", "C", "One są czarny.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_t12", "D", "One są czarna.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_t19", "A", "Mam na sobie czerwoną sukienkę i czarne buty.", "На мне красное платье и чёрные ботинки.", "На мені червона сукня і чорні черевики.", "I'm wearing a red dress and black shoes.", True, None), ("a1_colors_clothes_t19", "B", "Mam na sobie czerwona sukienkę i czarny buty.", "Неправильные падежи.", "Неправильні відмінки.", "Wrong cases.", False, "wrong_case"), ("a1_colors_clothes_t19", "C", "Jestem czerwona sukienka i czarne buty.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_colors_clothes_t19", "D", "Mam na sobie czerwony sukienkę i czarna buty.", "Неправильный род.", "Неправильний рід.", "Wrong gender.", False, "wrong_gender"), ("a1_colors_clothes_t20", "A", "Jakiego koloru jest twoja kurtka? Ona jest niebieska.", "Какого цвета твоя куртка? Она синяя.", "Якого кольору твоя куртка? Вона синя.", "What color is your jacket? It is blue.", True, None), ("a1_colors_clothes_t20", "B", "Jaki kolor twoja kurtka? On jest niebieski.", "Неправильный падеж и род.", "Неправильний відмінок і рід.", "Wrong case and gender.", False, "wrong_case"), ("a1_colors_clothes_t20", "C", "Ile kosztuje twoja kurtka? Ona jest niebieska.", "Неправильный вопрос.", "Неправильне питання.", "Wrong question.", False, "wrong_translation"), ("a1_colors_clothes_t20", "D", "Jakiego koloru jest twoja kurtka? Ona jest czerwona.", "Неверный ответ по смыслу.", "Невірна відповідь за змістом.", "Wrong meaning in the answer.", False, "wrong_context"), ] for opt in test_options_t7: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 8: ПОГОДА И ВРЕМЕНА ГОДА ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_weather_seasons', 'A1', 8, 'Pogoda i pory roku', 'Погода и времена года', 'Погода та пори року', 'Weather and Seasons') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t8 = [ ("a1_weather_seasons_l01", 1, "weather_vocabulary", "Zjawiska pogodowe", "Погодные явления", "Погодні явища", "Weather phenomena", "Podstawowe zjawiska pogodowe: pada deszcz, pada śnieg, świeci słońce, wieje wiatr. „Deszcz”, „śnieg” i „wiatr” są rodzaju męskiego, „słońce” jest rodzaju nijakiego.", "Основные погодные явления: pada deszcz (идёт дождь), pada śnieg (идёт снег), świeci słońce (светит солнце), wieje wiatr (дует ветер). „Deszcz”, „śnieg” и „wiatr” мужского рода, „słońce” среднего рода.", "Основні погодні явища: pada deszcz (йде дощ), pada śnieg (йде сніг), świeci słońce (світить сонце), wieje wiatr (дме вітер). „Deszcz”, „śnieg” і „wiatr” чоловічого роду, „słońce” середнього роду.", "Basic weather phenomena: pada deszcz (it's raining), pada śnieg (it's snowing), świeci słońce (the sun is shining), wieje wiatr (the wind is blowing). „Deszcz”, „śnieg” and „wiatr” are masculine, „słońce” is neuter."), ("a1_weather_seasons_l02", 2, "weather_vocabulary", "Jest zimno, jest ciepło", "Холодно, тепло", "Холодно, тепло", "It's cold, it's warm", "Temperaturę opisujemy zdaniem bezosobowym „jest” + przysłówek: jest zimno, jest chłodno, jest ciepło, jest gorąco. To przysłówki, dlatego nie zmieniają się przez rodzaj.", "Температуру описываем безличным предложением „jest” + наречие: jest zimno (холодно), jest chłodno (прохладно), jest ciepło (тепло), jest gorąco (жарко). Это наречия, поэтому они не меняются по родам.", "Температуру описуємо безособовим реченням „jest” + прислівник: jest zimno (холодно), jest chłodno (прохолодно), jest ciepło (тепло), jest gorąco (спекотно). Це прислівники, тому вони не змінюються за родами.", "We describe temperature with the impersonal sentence „jest” + adverb: jest zimno (it's cold), jest chłodno (it's cool), jest ciepło (it's warm), jest gorąco (it's hot). These are adverbs, so they don't change by gender."), ("a1_weather_seasons_l03", 3, "weather_description", "Jaka jest pogoda?", "Какая погода?", "Яка погода?", "What's the weather like?", "„Pogoda” jest rodzaju żeńskiego, dlatego przymiotnik opisujący pogodę ma końcówkę -a: pogoda jest ładna, pogoda jest brzydka, pogoda jest słoneczna, pogoda jest deszczowa.", "„Pogoda” (погода) женского рода, поэтому прилагательное, описывающее погоду, имеет окончание -a: pogoda jest ładna (хорошая), pogoda jest brzydka (плохая), pogoda jest słoneczna (солнечная), pogoda jest deszczowa (дождливая).", "„Pogoda” (погода) жіночого роду, тому прикметник, що описує погоду, має закінчення -a: pogoda jest ładna (гарна), pogoda jest brzydka (погана), pogoda jest słoneczna (сонячна), pogoda jest deszczowa (дощова).", "„Pogoda” (weather) is feminine, so the adjective describing weather has the ending -a: pogoda jest ładna (nice), pogoda jest brzydka (bad), pogoda jest słoneczna (sunny), pogoda jest deszczowa (rainy)."), ("a1_weather_seasons_l04", 4, "weather_description", "Niebo jest zachmurzone", "Небо облачное", "Небо хмарне", "The sky is cloudy", "„Niebo” jest rodzaju nijakiego, dlatego przymiotnik ma końcówkę -e: niebo jest zachmurzone, niebo jest czyste, niebo jest niebieskie.", "„Niebo” (небо) среднего рода, поэтому прилагательное имеет окончание -e: niebo jest zachmurzone (облачное), niebo jest czyste (чистое), niebo jest niebieskie (голубое).", "„Niebo” (небо) середнього роду, тому прикметник має закінчення -e: niebo jest zachmurzone (хмарне), niebo jest czyste (чисте), niebo jest niebieskie (блакитне).", "„Niebo” (sky) is neuter, so the adjective has the ending -e: niebo jest zachmurzone (cloudy), niebo jest czyste (clear), niebo jest niebieskie (blue)."), ("a1_weather_seasons_l05", 5, "seasons_vocabulary", "Pory roku", "Времена года", "Пори року", "Seasons", "Pory roku: wiosna (rodzaj żeński), lato (rodzaj nijaki), jesień (rodzaj żeński), zima (rodzaj żeński).", "Времена года: wiosna (весна, женский род), lato (лето, средний род), jesień (осень, женский род), zima (зима, женский род).", "Пори року: wiosna (весна, жіночий рід), lato (літо, середній рід), jesień (осінь, жіночий рід), zima (зима, жіночий рід).", "Seasons: wiosna (spring, feminine), lato (summer, neuter), jesień (autumn, feminine), zima (winter, feminine)."), ("a1_weather_seasons_l06", 6, "seasons_vocabulary", "Lubię + biernik pór roku", "Lubię + винительный падеж", "Lubię + знахідний відмінок", "Lubię + accusative", "Czasownik „lubić” łączy się z biernikiem: lubię wiosnę (wiosna → wiosnę), lubię lato (bez zmiany), lubię jesień (bez zmiany), lubię zimę (zima → zimę).", "Глагол „lubić” требует винительного падежа: lubię wiosnę (wiosna → wiosnę), lubię lato (без изменений), lubię jesień (без изменений), lubię zimę (zima → zimę).", "Дієслово „lubić” вимагає знахідного відмінка: lubię wiosnę (wiosna → wiosnę), lubię lato (без змін), lubię jesień (без змін), lubię zimę (zima → zimę).", "The verb „lubić” (to like) takes the accusative: lubię wiosnę (wiosna → wiosnę), lubię lato (unchanged), lubię jesień (unchanged), lubię zimę (zima → zimę)."), ("a1_weather_seasons_l07", 7, "seasons_time", "Zimą, latem — kiedy?", "Зимой, летом — когда?", "Взимку, влітку — коли?", "In winter, in summer — when?", "Żeby powiedzieć, kiedy coś się dzieje w danej porze roku, używamy narzędnika bez przyimka: wiosną, latem, jesienią, zimą.", "Чтобы сказать, когда что-то происходит в определённое время года, используем творительный падеж без предлога: wiosną (весной), latem (летом), jesienią (осенью), zimą (зимой).", "Щоб сказати, коли щось відбувається в певну пору року, використовуємо орудний відмінок без прийменника: wiosną (навесні), latem (влітку), jesienią (восени), zimą (взимку).", "To say when something happens during a season, we use the instrumental without a preposition: wiosną (in spring), latem (in summer), jesienią (in autumn), zimą (in winter)."), ("a1_weather_seasons_l08", 8, "seasons_time", "Pogoda w porach roku", "Погода в разные времена года", "Погода в різні пори року", "Weather in different seasons", "Łączymy porę roku z pogodą w jednym zdaniu: Zimą jest zimno i pada śnieg. Latem jest gorąco i świeci słońce.", "Соединяем время года и погоду в одном предложении: Zimą jest zimno i pada śnieg (Зимой холодно и идёт снег). Latem jest gorąco i świeci słońce (Летом жарко и светит солнце).", "Поєднуємо пору року і погоду в одному реченні: Zimą jest zimno i pada śnieg (Взимку холодно і йде сніг). Latem jest gorąco i świeci słońce (Влітку спекотно і світить сонце).", "We combine a season and the weather in one sentence: Zimą jest zimno i pada śnieg (In winter it's cold and it snows). Latem jest gorąco i świeci słońce (In summer it's hot and the sun shines)."), ("a1_weather_seasons_l09", 9, "weather_forecast", "Jutro będzie...", "Завтра будет...", "Завтра буде...", "Tomorrow it will be...", "O przyszłej pogodzie mówimy z czasownikiem „będzie” + przysłówek lub bezokolicznik: jutro będzie zimno, jutro będzie padać deszcz.", "О будущей погоде говорим с глаголом „będzie” + наречие или инфинитив: jutro będzie zimno (завтра будет холодно), jutro będzie padać deszcz (завтра будет идти дождь).", "Про майбутню погоду говоримо з дієсловом „będzie” + прислівник або інфінітив: jutro będzie zimno (завтра буде холодно), jutro będzie padać deszcz (завтра йтиме дощ).", "We talk about future weather with „będzie” + an adverb or infinitive: jutro będzie zimno (tomorrow it will be cold), jutro będzie padać deszcz (tomorrow it will rain)."), ("a1_weather_seasons_l10", 10, "weather_forecast", "Pełna prognoza pogody", "Полный прогноз погоды", "Повний прогноз погоди", "A full weather forecast", "Łączymy teraźniejszość i przyszłość w jednym opisie pogody: Dziś jest ciepło i słonecznie, ale jutro będzie zimno i będzie padać deszcz.", "Соединяем настоящее и будущее в одном описании погоды: Dziś jest ciepło i słonecznie, ale jutro będzie zimno i będzie padać deszcz. (Сегодня тепло и солнечно, но завтра будет холодно и будет идти дождь.)", "Поєднуємо теперішнє і майбутнє в одному описі погоди: Dziś jest ciepło i słonecznie, ale jutro będzie zimno i będzie padać deszcz. (Сьогодні тепло і сонячно, але завтра буде холодно і йтиме дощ.)", "We combine present and future in one weather description: Dziś jest ciepło i słonecznie, ale jutro będzie zimno i będzie padać deszcz. (Today it's warm and sunny, but tomorrow it will be cold and it will rain.)"), ] for lesson in lessons_t8: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_weather_seasons', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t8 = [ ("a1_weather_seasons_l01", 1, "Pada deszcz.", "Идёт дождь.", "Йде дощ.", "It's raining."), ("a1_weather_seasons_l01", 2, "Świeci słońce.", "Светит солнце.", "Світить сонце.", "The sun is shining."), ("a1_weather_seasons_l01", 3, "Wieje silny wiatr.", "Дует сильный ветер.", "Дме сильний вітер.", "A strong wind is blowing."), ("a1_weather_seasons_l02", 1, "Jest zimno.", "Холодно.", "Холодно.", "It's cold."), ("a1_weather_seasons_l02", 2, "Jest bardzo gorąco.", "Очень жарко.", "Дуже спекотно.", "It's very hot."), ("a1_weather_seasons_l02", 3, "Jest chłodno rano.", "Утром прохладно.", "Вранці прохолодно.", "It's cool in the morning."), ("a1_weather_seasons_l03", 1, "Pogoda jest ładna.", "Погода хорошая.", "Погода гарна.", "The weather is nice."), ("a1_weather_seasons_l03", 2, "Dzisiaj pogoda jest brzydka.", "Сегодня погода плохая.", "Сьогодні погода погана.", "Today the weather is bad."), ("a1_weather_seasons_l03", 3, "Pogoda jest słoneczna.", "Погода солнечная.", "Погода сонячна.", "The weather is sunny."), ("a1_weather_seasons_l04", 1, "Niebo jest zachmurzone.", "Небо облачное.", "Небо хмарне.", "The sky is cloudy."), ("a1_weather_seasons_l04", 2, "Niebo jest czyste.", "Небо чистое.", "Небо чисте.", "The sky is clear."), ("a1_weather_seasons_l04", 3, "Niebo jest niebieskie.", "Небо голубое.", "Небо блакитне.", "The sky is blue."), ("a1_weather_seasons_l05", 1, "Wiosna jest ciepła.", "Весна тёплая.", "Весна тепла.", "Spring is warm."), ("a1_weather_seasons_l05", 2, "Lato jest gorące.", "Лето жаркое.", "Літо спекотне.", "Summer is hot."), ("a1_weather_seasons_l05", 3, "Zima jest zimna.", "Зима холодная.", "Зима холодна.", "Winter is cold."), ("a1_weather_seasons_l06", 1, "Lubię wiosnę.", "Я люблю весну.", "Я люблю весну.", "I like spring."), ("a1_weather_seasons_l06", 2, "Lubię lato.", "Я люблю лето.", "Я люблю літо.", "I like summer."), ("a1_weather_seasons_l06", 3, "Lubię jesień.", "Я люблю осень.", "Я люблю осінь.", "I like autumn."), ("a1_weather_seasons_l07", 1, "Zimą pada śnieg.", "Зимой идёт снег.", "Взимку йде сніг.", "In winter it snows."), ("a1_weather_seasons_l07", 2, "Latem jest gorąco.", "Летом жарко.", "Влітку спекотно.", "In summer it's hot."), ("a1_weather_seasons_l07", 3, "Wiosną jest ciepło.", "Весной тепло.", "Навесні тепло.", "In spring it's warm."), ("a1_weather_seasons_l08", 1, "Zimą jest zimno i pada śnieg.", "Зимой холодно и идёт снег.", "Взимку холодно і йде сніг.", "In winter it's cold and it snows."), ("a1_weather_seasons_l08", 2, "Latem jest gorąco i świeci słońce.", "Летом жарко и светит солнце.", "Влітку спекотно і світить сонце.", "In summer it's hot and the sun shines."), ("a1_weather_seasons_l08", 3, "Jesienią pada deszcz i wieje wiatr.", "Осенью идёт дождь и дует ветер.", "Восени йде дощ і дме вітер.", "In autumn it rains and the wind blows."), ("a1_weather_seasons_l09", 1, "Jutro będzie zimno.", "Завтра будет холодно.", "Завтра буде холодно.", "Tomorrow it will be cold."), ("a1_weather_seasons_l09", 2, "Jutro będzie padać deszcz.", "Завтра будет идти дождь.", "Завтра йтиме дощ.", "Tomorrow it will rain."), ("a1_weather_seasons_l09", 3, "W weekend będzie ciepło.", "На выходных будет тепло.", "На вихідних буде тепло.", "It will be warm on the weekend."), ("a1_weather_seasons_l10", 1, "Dziś jest ciepło, ale jutro będzie zimno.", "Сегодня тепло, но завтра будет холодно.", "Сьогодні тепло, але завтра буде холодно.", "Today it's warm, but tomorrow it will be cold."), ("a1_weather_seasons_l10", 2, "Dzisiaj świeci słońce, a jutro będzie padać deszcz.", "Сегодня светит солнце, а завтра будет идти дождь.", "Сьогодні світить сонце, а завтра йтиме дощ.", "Today the sun is shining, and tomorrow it will rain."), ("a1_weather_seasons_l10", 3, "W tym tygodniu jest słonecznie, w przyszłym będzie pochmurno.", "На этой неделе солнечно, на следующей будет пасмурно.", "Цього тижня сонячно, наступного буде хмарно.", "This week it's sunny, next week it will be cloudy."), ] for ex in examples_t8: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t8 = [ # L01 — weather_vocabulary (difficulty 1) ("a1_weather_seasons_l01_q1", "a1_weather_seasons_l01", "lesson_practice", "recognition", "weather_vocabulary", 1, "Jak po polsku „дождь”?", "Как по-польски «дождь»?", "Як польською «дощ»?", "How do you say “rain” in Polish?", "A", None, None), ("a1_weather_seasons_l01_q2", "a1_weather_seasons_l01", "lesson_practice", "production", "weather_vocabulary", 1, "Wpisz brakujące słowo: ___ deszcz. (идёт)", "Вставьте пропущенное слово: ___ deszcz. (идёт)", "Вставте пропущене слово: ___ deszcz. (йде)", "Fill in the missing word: ___ deszcz. (falls)", "Pada", "first_letter", "P"), ("a1_weather_seasons_l01_q3", "a1_weather_seasons_l01", "lesson_practice", "application", "weather_vocabulary", 1, "Widzisz krople wody spadające z nieba. Co się dzieje?", "Ты видишь капли воды, падающие с неба. Что происходит?", "Ти бачиш краплі води, що падають з неба. Що відбувається?", "You see drops of water falling from the sky. What's happening?", "A", None, None), # L02 — weather_vocabulary (difficulty 1) ("a1_weather_seasons_l02_q1", "a1_weather_seasons_l02", "lesson_practice", "recognition", "weather_vocabulary", 1, "Jak po polsku „жарко”?", "Как по-польски «жарко»?", "Як польською «спекотно»?", "How do you say “hot” (weather) in Polish?", "C", None, None), ("a1_weather_seasons_l02_q2", "a1_weather_seasons_l02", "lesson_practice", "production", "weather_vocabulary", 1, "Wpisz brakujące słowo: Jest bardzo ___. (холодно)", "Вставьте пропущенное слово: Jest bardzo ___. (холодно)", "Вставте пропущене слово: Jest bardzo ___. (холодно)", "Fill in the missing word: Jest bardzo ___. (cold)", "zimno", "first_letter", "z"), ("a1_weather_seasons_l02_q3", "a1_weather_seasons_l02", "lesson_practice", "application", "weather_vocabulary", 1, "Jest lato, temperatura to 35 stopni. Jak jest?", "Сейчас лето, температура 35 градусов. Как сейчас?", "Зараз літо, температура 35 градусів. Як зараз?", "It's summer, the temperature is 35 degrees. What's it like?", "A", None, None), # L03 — weather_description (difficulty 1) ("a1_weather_seasons_l03_q1", "a1_weather_seasons_l03", "lesson_practice", "recognition", "weather_description", 1, "Wybierz poprawną formę: Pogoda jest ___. (ładny)", "Выберите правильную форму: Pogoda jest ___. (ładny)", "Виберіть правильну форму: Pogoda jest ___. (ładny)", "Choose the correct form: Pogoda jest ___. (ładny)", "B", None, None), ("a1_weather_seasons_l03_q2", "a1_weather_seasons_l03", "lesson_practice", "production", "weather_description", 1, "Wpisz brakujące słowo: Pogoda jest ___. (солнечная)", "Вставьте пропущенное слово: Pogoda jest ___. (солнечная)", "Вставте пропущене слово: Pogoda jest ___. (сонячна)", "Fill in the missing word: Pogoda jest ___. (sunny)", "słoneczna", "first_letter", "s"), ("a1_weather_seasons_l03_q3", "a1_weather_seasons_l03", "lesson_practice", "application", "weather_description", 1, "Cały dzień świeci słońce i nie ma chmur. Jaka jest pogoda?", "Целый день светит солнце и нет облаков. Какая погода?", "Цілий день світить сонце і немає хмар. Яка погода?", "The sun shines all day and there are no clouds. What's the weather like?", "A", None, None), # L04 — weather_description (difficulty 1) ("a1_weather_seasons_l04_q1", "a1_weather_seasons_l04", "lesson_practice", "recognition", "weather_description", 1, "Wybierz poprawną formę: Niebo jest ___. (czysty)", "Выберите правильную форму: Niebo jest ___. (czysty)", "Виберіть правильну форму: Niebo jest ___. (czysty)", "Choose the correct form: Niebo jest ___. (czysty)", "C", None, None), ("a1_weather_seasons_l04_q2", "a1_weather_seasons_l04", "lesson_practice", "production", "weather_description", 1, "Wpisz brakujące słowo: Niebo jest ___. (облачное)", "Вставьте пропущенное слово: Niebo jest ___. (облачное)", "Вставте пропущене слово: Niebo jest ___. (хмарне)", "Fill in the missing word: Niebo jest ___. (cloudy)", "zachmurzone", "first_letter", "z"), ("a1_weather_seasons_l04_q3", "a1_weather_seasons_l04", "lesson_practice", "application", "weather_description", 1, "Na niebie jest dużo chmur. Jakie jest niebo?", "На небе много облаков. Какое небо?", "На небі багато хмар. Яке небо?", "There are many clouds in the sky. What is the sky like?", "A", None, None), # L05 — seasons_vocabulary (difficulty 2) ("a1_weather_seasons_l05_q1", "a1_weather_seasons_l05", "lesson_practice", "recognition", "seasons_vocabulary", 2, "Jak po polsku „осень”?", "Как по-польски «осень»?", "Як польською «осінь»?", "How do you say “autumn” in Polish?", "B", None, None), ("a1_weather_seasons_l05_q2", "a1_weather_seasons_l05", "lesson_practice", "production", "seasons_vocabulary", 2, "Wpisz brakujące słowo: ___ jest zimna. (зима)", "Вставьте пропущенное слово: ___ jest zimna. (зима)", "Вставте пропущене слово: ___ jest zimna. (зима)", "Fill in the missing word: ___ jest zimna. (winter)", "Zima", "first_letter", "Z"), ("a1_weather_seasons_l05_q3", "a1_weather_seasons_l05", "lesson_practice", "application", "seasons_vocabulary", 2, "Jest bardzo gorąco, ludzie jadą nad morze. Jaka to pora roku?", "Очень жарко, люди едут на море. Какое сейчас время года?", "Дуже спекотно, люди їдуть на море. Яка це пора року?", "It's very hot, people are going to the seaside. What season is it?", "A", None, None), # L06 — seasons_vocabulary (difficulty 2) ("a1_weather_seasons_l06_q1", "a1_weather_seasons_l06", "lesson_practice", "recognition", "seasons_vocabulary", 2, "Wybierz poprawną formę: Lubię ___. (wiosna)", "Выберите правильную форму: Lubię ___. (wiosna)", "Виберіть правильну форму: Lubię ___. (wiosna)", "Choose the correct form: Lubię ___. (wiosna)", "A", None, None), ("a1_weather_seasons_l06_q2", "a1_weather_seasons_l06", "lesson_practice", "production", "seasons_vocabulary", 2, "Wpisz brakujące słowo: Lubię ___. (осень)", "Вставьте пропущенное слово: Lubię ___. (осень)", "Вставте пропущене слово: Lubię ___. (осінь)", "Fill in the missing word: Lubię ___. (autumn)", "jesień", "first_letter", "j"), ("a1_weather_seasons_l06_q3", "a1_weather_seasons_l06", "lesson_practice", "application", "seasons_vocabulary", 2, "Kolega pyta, jaką porę roku lubisz. Lubisz lato. Co powiesz?", "Друг спрашивает, какое время года ты любишь. Ты любишь лето. Что ты скажешь?", "Друг питає, яку пору року ти любиш. Ти любиш літо. Що ти скажеш?", "A friend asks what season you like. You like summer. What do you say?", "A", None, None), # L07 — seasons_time (difficulty 2) ("a1_weather_seasons_l07_q1", "a1_weather_seasons_l07", "lesson_practice", "recognition", "seasons_time", 2, "Wybierz poprawną formę: ___ pada śnieg. (zima)", "Выберите правильную форму: ___ pada śnieg. (zima)", "Виберіть правильну форму: ___ pada śnieg. (zima)", "Choose the correct form: ___ pada śnieg. (zima)", "A", None, None), ("a1_weather_seasons_l07_q2", "a1_weather_seasons_l07", "lesson_practice", "production", "seasons_time", 2, "Wpisz brakujące słowo: ___ jest ciepło. (весной)", "Вставьте пропущенное слово: ___ jest ciepło. (весной)", "Вставте пропущене слово: ___ jest ciepło. (навесні)", "Fill in the missing word: ___ jest ciepło. (in spring)", "Wiosną", "first_letter", "W"), ("a1_weather_seasons_l07_q3", "a1_weather_seasons_l07", "lesson_practice", "application", "seasons_time", 2, "Chcesz powiedzieć, że latem jest gorąco. Co powiesz?", "Ты хочешь сказать, что летом жарко. Что ты скажешь?", "Ти хочеш сказати, що влітку спекотно. Що ти скажеш?", "You want to say that it's hot in summer. What do you say?", "A", None, None), # L08 — seasons_time (difficulty 2) ("a1_weather_seasons_l08_q1", "a1_weather_seasons_l08", "lesson_practice", "recognition", "seasons_time", 2, "Które zdanie poprawnie opisuje zimę?", "Какое предложение правильно описывает зиму?", "Яке речення правильно описує зиму?", "Which sentence correctly describes winter?", "B", None, None), ("a1_weather_seasons_l08_q2", "a1_weather_seasons_l08", "lesson_practice", "production", "seasons_time", 2, "Przetłumacz: «Осенью идёт дождь и дует ветер».", "Переведите: «Осенью идёт дождь и дует ветер».", "Перекладіть: «Восени йде дощ і дме вітер».", "Translate: “In autumn it rains and the wind blows.”", "Jesienią pada deszcz i wieje wiatr", "first_letter", "J"), ("a1_weather_seasons_l08_q3", "a1_weather_seasons_l08", "lesson_practice", "application", "seasons_time", 2, "Chcesz opisać zimę koledze: jest zimno i pada śnieg. Jak zaczniesz zdanie?", "Ты хочешь описать другу зиму: холодно и идёт снег. Как ты начнёшь предложение?", "Ти хочеш описати другу зиму: холодно і йде сніг. Як ти почнеш речення?", "You want to describe winter to a friend: it's cold and it snows. How do you start the sentence?", "A", None, None), # L09 — weather_forecast (difficulty 3) ("a1_weather_seasons_l09_q1", "a1_weather_seasons_l09", "lesson_practice", "recognition", "weather_forecast", 3, "Co znaczy „Jutro będzie padać deszcz”?", "Что означает «Jutro będzie padać deszcz»?", "Що означає «Jutro będzie padać deszcz»?", "What does “Jutro będzie padać deszcz” mean?", "A", None, None), ("a1_weather_seasons_l09_q2", "a1_weather_seasons_l09", "lesson_practice", "production", "weather_forecast", 3, "Wpisz brakujące słowo: Jutro ___ zimno. (будет)", "Вставьте пропущенное слово: Jutro ___ zimno. (будет)", "Вставте пропущене слово: Jutro ___ zimno. (буде)", "Fill in the missing word: Jutro ___ zimno. (will be)", "będzie", "first_letter", "b"), ("a1_weather_seasons_l09_q3", "a1_weather_seasons_l09", "lesson_practice", "application", "weather_forecast", 3, "Sprawdzasz prognozę: jutro pada deszcz. Co powiesz?", "Ты смотришь прогноз: завтра дождь. Что ты скажешь?", "Ти дивишся прогноз: завтра дощ. Що ти скажеш?", "You check the forecast: rain tomorrow. What do you say?", "A", None, None), # L10 — weather_forecast (difficulty 3) ("a1_weather_seasons_l10_q1", "a1_weather_seasons_l10", "lesson_practice", "recognition", "weather_forecast", 3, "Które zdanie poprawnie łączy dziś i jutro?", "Какое предложение правильно соединяет сегодня и завтра?", "Яке речення правильно поєднує сьогодні і завтра?", "Which sentence correctly links today and tomorrow?", "B", None, None), ("a1_weather_seasons_l10_q2", "a1_weather_seasons_l10", "lesson_practice", "production", "weather_forecast", 3, "Przetłumacz: «Сегодня тепло, но завтра будет холодно».", "Переведите: «Сегодня тепло, но завтра будет холодно».", "Перекладіть: «Сьогодні тепло, але завтра буде холодно».", "Translate: “Today it's warm, but tomorrow it will be cold.”", "Dziś jest ciepło, ale jutro będzie zimno", "first_letter", "D"), ("a1_weather_seasons_l10_q3", "a1_weather_seasons_l10", "lesson_practice", "application", "weather_forecast", 3, "Chcesz opisać koledze pogodę: dziś słońce, jutro deszcz. Jak zaczniesz zdanie?", "Ты хочешь описать другу погоду: сегодня солнце, завтра дождь. Как ты начнёшь предложение?", "Ти хочеш описати другу погоду: сьогодні сонце, завтра дощ. Як ти почнеш речення?", "You want to describe the weather to a friend: sun today, rain tomorrow. How do you start the sentence?", "A", None, None), ] for q in questions_t8: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_weather_seasons', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t8 = [ # L01 ("a1_weather_seasons_l01_q1", "A", "deszcz", "дождь", "дощ", "rain", True, None), ("a1_weather_seasons_l01_q1", "B", "śnieg", "снег", "сніг", "snow", False, "wrong_word"), ("a1_weather_seasons_l01_q1", "C", "wiatr", "ветер", "вітер", "wind", False, "wrong_word"), ("a1_weather_seasons_l01_q1", "D", "słońce", "солнце", "сонце", "sun", False, "wrong_word"), ("a1_weather_seasons_l01_q3", "A", "Pada deszcz.", "Идёт дождь.", "Йде дощ.", "It's raining.", True, None), ("a1_weather_seasons_l01_q3", "B", "Świeci słońce.", "Светит солнце.", "Світить сонце.", "The sun is shining.", False, "wrong_context"), ("a1_weather_seasons_l01_q3", "C", "Wieje wiatr.", "Дует ветер.", "Дме вітер.", "The wind is blowing.", False, "wrong_context"), ("a1_weather_seasons_l01_q3", "D", "Pada śnieg.", "Идёт снег.", "Йде сніг.", "It's snowing.", False, "wrong_context"), # L02 ("a1_weather_seasons_l02_q1", "A", "zimno", "холодно", "холодно", "cold", False, "wrong_word"), ("a1_weather_seasons_l02_q1", "B", "chłodno", "прохладно", "прохолодно", "cool", False, "wrong_word"), ("a1_weather_seasons_l02_q1", "C", "gorąco", "жарко", "спекотно", "hot", True, None), ("a1_weather_seasons_l02_q1", "D", "ciepło", "тепло", "тепло", "warm", False, "wrong_word"), ("a1_weather_seasons_l02_q3", "A", "Jest gorąco.", "Жарко.", "Спекотно.", "It's hot.", True, None), ("a1_weather_seasons_l02_q3", "B", "Jest zimno.", "Холодно. (неверная температура)", "Холодно. (невірна температура)", "It's cold. (wrong temperature)", False, "wrong_context"), ("a1_weather_seasons_l02_q3", "C", "Jest chłodno.", "Прохладно. (неверная температура)", "Прохолодно. (невірна температура)", "It's cool. (wrong temperature)", False, "wrong_context"), ("a1_weather_seasons_l02_q3", "D", "Pada śnieg.", "Идёт снег. (неверное явление для лета)", "Йде сніг. (невірне явище для літа)", "It's snowing. (wrong for summer)", False, "wrong_context"), # L03 ("a1_weather_seasons_l03_q1", "A", "ładny", "хороший (муж.)", "гарний (чол.)", "nice (masc.)", False, "wrong_gender"), ("a1_weather_seasons_l03_q1", "B", "ładna", "хорошая (жен.)", "гарна (жін.)", "nice (fem.)", True, None), ("a1_weather_seasons_l03_q1", "C", "ładne", "хорошее (ср.)", "гарне (сер.)", "nice (neut.)", False, "wrong_gender"), ("a1_weather_seasons_l03_q1", "D", "ładną", "хорошую (вин.)", "гарну (знах.)", "nice (acc.)", False, "wrong_case"), ("a1_weather_seasons_l03_q3", "A", "Pogoda jest słoneczna.", "Погода солнечная.", "Погода сонячна.", "The weather is sunny.", True, None), ("a1_weather_seasons_l03_q3", "B", "Pogoda jest deszczowa.", "Погода дождливая. (неверная погода)", "Погода дощова. (невірна погода)", "The weather is rainy. (wrong weather)", False, "wrong_context"), ("a1_weather_seasons_l03_q3", "C", "Pogoda jest brzydka.", "Погода плохая. (неверная погода)", "Погода погана. (невірна погода)", "The weather is bad. (wrong weather)", False, "wrong_context"), ("a1_weather_seasons_l03_q3", "D", "Niebo jest zachmurzone.", "Небо облачное. (не соответствует контексту)", "Небо хмарне. (не відповідає контексту)", "The sky is cloudy. (wrong context)", False, "wrong_context"), # L04 ("a1_weather_seasons_l04_q1", "A", "czysty", "чистый (муж.)", "чистий (чол.)", "clear (masc.)", False, "wrong_gender"), ("a1_weather_seasons_l04_q1", "B", "czysta", "чистая (жен.)", "чиста (жін.)", "clear (fem.)", False, "wrong_gender"), ("a1_weather_seasons_l04_q1", "C", "czyste", "чистое (ср.)", "чисте (сер.)", "clear (neut.)", True, None), ("a1_weather_seasons_l04_q1", "D", "czystym", "чистым (тв.)", "чистим (ор.)", "clear (instr.)", False, "wrong_case"), ("a1_weather_seasons_l04_q3", "A", "Niebo jest zachmurzone.", "Небо облачное.", "Небо хмарне.", "The sky is cloudy.", True, None), ("a1_weather_seasons_l04_q3", "B", "Niebo jest czyste.", "Небо чистое. (противоречит описанию)", "Небо чисте. (суперечить опису)", "The sky is clear. (contradicts the description)", False, "wrong_context"), ("a1_weather_seasons_l04_q3", "C", "Pogoda jest słoneczna.", "Погода солнечная. (не соответствует контексту)", "Погода сонячна. (не відповідає контексту)", "The weather is sunny. (wrong context)", False, "wrong_context"), ("a1_weather_seasons_l04_q3", "D", "Jest gorąco.", "Жарко. (не о небе)", "Спекотно. (не про небо)", "It's hot. (not about the sky)", False, "wrong_context"), # L05 ("a1_weather_seasons_l05_q1", "A", "zima", "зима", "зима", "winter", False, "wrong_word"), ("a1_weather_seasons_l05_q1", "B", "jesień", "осень", "осінь", "autumn", True, None), ("a1_weather_seasons_l05_q1", "C", "wiosna", "весна", "весна", "spring", False, "wrong_word"), ("a1_weather_seasons_l05_q1", "D", "lato", "лето", "літо", "summer", False, "wrong_word"), ("a1_weather_seasons_l05_q3", "A", "Lato.", "Лето.", "Літо.", "Summer.", True, None), ("a1_weather_seasons_l05_q3", "B", "Zima.", "Зима. (неверное время года)", "Зима. (невірна пора року)", "Winter. (wrong season)", False, "wrong_context"), ("a1_weather_seasons_l05_q3", "C", "Jesień.", "Осень. (неверное время года)", "Осінь. (невірна пора року)", "Autumn. (wrong season)", False, "wrong_context"), ("a1_weather_seasons_l05_q3", "D", "Wiosna.", "Весна. (неверное время года)", "Весна. (невірна пора року)", "Spring. (wrong season)", False, "wrong_context"), # L06 ("a1_weather_seasons_l06_q1", "A", "wiosnę", "весну (вин.)", "весну (знах.)", "spring (acc.)", True, None), ("a1_weather_seasons_l06_q1", "B", "wiosna", "весна (им.)", "весна (наз.)", "spring (nom.)", False, "wrong_case"), ("a1_weather_seasons_l06_q1", "C", "wiosny", "весны (род.)", "весни (род.)", "spring (gen.)", False, "wrong_case"), ("a1_weather_seasons_l06_q1", "D", "wiosną", "весной (тв.)", "весною (ор.)", "spring (instr.)", False, "wrong_case"), ("a1_weather_seasons_l06_q3", "A", "Lubię lato.", "Я люблю лето.", "Я люблю літо.", "I like summer.", True, None), ("a1_weather_seasons_l06_q3", "B", "Lubię lata.", "Неправильная форма.", "Неправильна форма.", "Wrong form.", False, "wrong_case"), ("a1_weather_seasons_l06_q3", "C", "Jestem lato.", "Я лето.", "Я літо.", "I am summer.", False, "wrong_sentence_type"), ("a1_weather_seasons_l06_q3", "D", "Lubię zimę.", "Я люблю зиму. (неверное время года)", "Я люблю зиму. (невірна пора року)", "I like winter. (wrong season)", False, "wrong_context"), # L07 ("a1_weather_seasons_l07_q1", "A", "Zimą", "Зимой", "Взимку", "In winter", True, None), ("a1_weather_seasons_l07_q1", "B", "Zima", "Зима (им.)", "Зима (наз.)", "Winter (nom.)", False, "wrong_case"), ("a1_weather_seasons_l07_q1", "C", "Zimę", "Зиму (вин.)", "Зиму (знах.)", "Winter (acc.)", False, "wrong_case"), ("a1_weather_seasons_l07_q1", "D", "Zimy", "Зимы (род.)", "Зими (род.)", "Winter (gen.)", False, "wrong_case"), ("a1_weather_seasons_l07_q3", "A", "Latem jest gorąco.", "Летом жарко.", "Влітку спекотно.", "In summer it's hot.", True, None), ("a1_weather_seasons_l07_q3", "B", "Lato jest gorąco.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_weather_seasons_l07_q3", "C", "Zimą jest gorąco.", "Зимой жарко. (неверная пора года)", "Взимку спекотно. (невірна пора року)", "In winter it's hot. (wrong season)", False, "wrong_context"), ("a1_weather_seasons_l07_q3", "D", "Jest gorąco latem pora.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), # L08 ("a1_weather_seasons_l08_q1", "A", "Zimą jest gorąco i świeci słońce.", "Зимой жарко и светит солнце. (неверная погода)", "Взимку спекотно і світить сонце. (невірна погода)", "In winter it's hot and the sun shines. (wrong weather)", False, "wrong_context"), ("a1_weather_seasons_l08_q1", "B", "Zimą jest zimno i pada śnieg.", "Зимой холодно и идёт снег.", "Взимку холодно і йде сніг.", "In winter it's cold and it snows.", True, None), ("a1_weather_seasons_l08_q1", "C", "Zima jest zimno i pada śnieg.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_weather_seasons_l08_q1", "D", "Zimą jest ciepło i pada deszcz.", "Зимой тепло и идёт дождь. (неверная погода)", "Взимку тепло і йде дощ. (невірна погода)", "In winter it's warm and it rains. (wrong weather)", False, "wrong_context"), ("a1_weather_seasons_l08_q3", "A", "Zimą jest zimno i pada śnieg.", "Зимой холодно и идёт снег.", "Взимку холодно і йде сніг.", "In winter it's cold and it snows.", True, None), ("a1_weather_seasons_l08_q3", "B", "Ja zimno i śnieg.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_weather_seasons_l08_q3", "C", "Jestem zimno i pada śnieg.", "Я холодно и идёт снег.", "Я холодно і йде сніг.", "I am cold and it snows. (wrong construction)", False, "wrong_sentence_type"), ("a1_weather_seasons_l08_q3", "D", "Latem jest zimno i pada śnieg.", "Летом холодно и идёт снег. (неверная пора года)", "Влітку холодно і йде сніг. (невірна пора року)", "In summer it's cold and it snows. (wrong season)", False, "wrong_context"), # L09 ("a1_weather_seasons_l09_q1", "A", "Завтра будет идти дождь.", "Завтра будет идти дождь.", "Завтра йтиме дощ.", "Tomorrow it will rain.", True, None), ("a1_weather_seasons_l09_q1", "B", "Вчера шёл дождь.", "Вчера шёл дождь.", "Вчора йшов дощ.", "It rained yesterday.", False, "wrong_translation"), ("a1_weather_seasons_l09_q1", "C", "Сегодня идёт дождь.", "Сегодня идёт дождь.", "Сьогодні йде дощ.", "It's raining today.", False, "wrong_translation"), ("a1_weather_seasons_l09_q1", "D", "Завтра будет холодно.", "Завтра будет холодно.", "Завтра буде холодно.", "Tomorrow it will be cold.", False, "wrong_translation"), ("a1_weather_seasons_l09_q3", "A", "Jutro będzie padać deszcz.", "Завтра будет идти дождь.", "Завтра йтиме дощ.", "Tomorrow it will rain.", True, None), ("a1_weather_seasons_l09_q3", "B", "Wczoraj padał deszcz.", "Вчера шёл дождь. (неверное время)", "Вчора йшов дощ. (невірний час)", "It rained yesterday. (wrong tense)", False, "wrong_context"), ("a1_weather_seasons_l09_q3", "C", "Dziś pada deszcz.", "Сегодня идёт дождь. (неверное время)", "Сьогодні йде дощ. (невірний час)", "It's raining today. (wrong tense)", False, "wrong_context"), ("a1_weather_seasons_l09_q3", "D", "Jutro będzie gorąco.", "Завтра будет жарко. (неверный прогноз)", "Завтра буде спекотно. (невірний прогноз)", "Tomorrow it will be hot. (wrong forecast)", False, "wrong_context"), # L10 ("a1_weather_seasons_l10_q1", "A", "Dziś jest zimno, ale jutro było ciepło.", "Неправильное время (было вместо будет).", "Неправильний час (було замість буде).", "Wrong tense (was instead of will be).", False, "wrong_sentence_type"), ("a1_weather_seasons_l10_q1", "B", "Dziś jest ciepło, ale jutro będzie zimno.", "Сегодня тепло, но завтра будет холодно.", "Сьогодні тепло, але завтра буде холодно.", "Today it's warm, but tomorrow it will be cold.", True, None), ("a1_weather_seasons_l10_q1", "C", "Jutro jest ciepło, ale dziś będzie zimno.", "Дни перепутаны.", "Дні переплутані.", "Days are swapped.", False, "wrong_context"), ("a1_weather_seasons_l10_q1", "D", "Dziś będzie ciepło, ale jutro jest zimno.", "Времена перепутаны.", "Часи переплутані.", "Tenses are swapped.", False, "wrong_sentence_type"), ("a1_weather_seasons_l10_q3", "A", "Dzisiaj świeci słońce, a jutro będzie padać deszcz.", "Сегодня светит солнце, а завтра будет идти дождь.", "Сьогодні світить сонце, а завтра йтиме дощ.", "Today the sun is shining, and tomorrow it will rain.", True, None), ("a1_weather_seasons_l10_q3", "B", "Ja słońce i deszcz.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_weather_seasons_l10_q3", "C", "Jestem słońce, a jutro deszcz.", "Я солнце, а завтра дождь.", "Я сонце, а завтра дощ.", "I am the sun, and tomorrow rain. (wrong construction)", False, "wrong_sentence_type"), ("a1_weather_seasons_l10_q3", "D", "Dzisiaj pada deszcz, a jutro będzie słońce.", "Дни перепутаны местами.", "Дні переплутані місцями.", "Days are swapped.", False, "wrong_context"), ] for opt in options_t8: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t8 = [ ("a1_weather_seasons_t01", None, "topic_test", "recognition", "weather_vocabulary", 1, "Jak po polsku „дождь”?", "Как по-польски «дождь»?", "Як польською «дощ»?", "How do you say “rain” in Polish?", "A", None, None, 1), ("a1_weather_seasons_t02", None, "topic_test", "recognition", "weather_vocabulary", 1, "Jak po polsku „жарко”?", "Как по-польски «жарко»?", "Як польською «спекотно»?", "How do you say “hot” (weather) in Polish?", "C", None, None, 2), ("a1_weather_seasons_t03", None, "topic_test", "recognition", "weather_description", 1, "Wybierz poprawną formę: Pogoda jest ___. (ładny)", "Выберите правильную форму: Pogoda jest ___. (ładny)", "Виберіть правильну форму: Pogoda jest ___. (ładny)", "Choose the correct form: Pogoda jest ___. (ładny)", "B", None, None, 3), ("a1_weather_seasons_t04", None, "topic_test", "recognition", "seasons_vocabulary", 2, "Jak po polsku „осень”?", "Как по-польски «осень»?", "Як польською «осінь»?", "How do you say “autumn” in Polish?", "B", None, None, 4), ("a1_weather_seasons_t05", None, "topic_test", "recognition", "seasons_time", 2, "Wybierz poprawną formę: ___ pada śnieg. (zima)", "Выберите правильную форму: ___ pada śnieg. (zima)", "Виберіть правильну форму: ___ pada śnieg. (zima)", "Choose the correct form: ___ pada śnieg. (zima)", "A", None, None, 5), ("a1_weather_seasons_t06", None, "topic_test", "recognition", "weather_forecast", 3, "Co znaczy „Jutro będzie padać deszcz”?", "Что означает «Jutro będzie padać deszcz»?", "Що означає «Jutro będzie padać deszcz»?", "What does “Jutro będzie padać deszcz” mean?", "A", None, None, 6), ("a1_weather_seasons_t07", None, "topic_test", "application", "weather_vocabulary", 1, "Widzisz krople wody spadające z nieba. Co się dzieje?", "Ты видишь капли воды, падающие с неба. Что происходит?", "Ти бачиш краплі води, що падають з неба. Що відбувається?", "You see drops of water falling from the sky. What's happening?", "A", None, None, 7), ("a1_weather_seasons_t08", None, "topic_test", "application", "weather_description", 1, "Na niebie jest dużo chmur. Jakie jest niebo?", "На небе много облаков. Какое небо?", "На небі багато хмар. Яке небо?", "There are many clouds in the sky. What is the sky like?", "A", None, None, 8), ("a1_weather_seasons_t09", None, "topic_test", "application", "seasons_vocabulary", 2, "Kolega pyta, jaką porę roku lubisz. Lubisz lato. Co powiesz?", "Друг спрашивает, какое время года ты любишь. Ты любишь лето. Что ты скажешь?", "Друг питає, яку пору року ти любиш. Ти любиш літо. Що ти скажеш?", "A friend asks what season you like. You like summer. What do you say?", "A", None, None, 9), ("a1_weather_seasons_t10", None, "topic_test", "application", "seasons_time", 2, "Chcesz powiedzieć, że latem jest gorąco. Co powiesz?", "Ты хочешь сказать, что летом жарко. Что ты скажешь?", "Ти хочеш сказати, що влітку спекотно. Що ти скажеш?", "You want to say that it's hot in summer. What do you say?", "A", None, None, 10), ("a1_weather_seasons_t11", None, "topic_test", "application", "weather_forecast", 3, "Sprawdzasz prognozę: jutro pada deszcz. Co powiesz?", "Ты смотришь прогноз: завтра дождь. Что ты скажешь?", "Ти дивишся прогноз: завтра дощ. Що ти скажеш?", "You check the forecast: rain tomorrow. What do you say?", "A", None, None, 11), ("a1_weather_seasons_t12", None, "topic_test", "application", "weather_forecast", 3, "Chcesz opisać koledze pogodę: dziś słońce, jutro deszcz. Jak zaczniesz zdanie?", "Ты хочешь описать другу погоду: сегодня солнце, завтра дождь. Как ты начнёшь предложение?", "Ти хочеш описати другу погоду: сьогодні сонце, завтра дощ. Як ти почнеш речення?", "You want to describe the weather to a friend: sun today, rain tomorrow. How do you start the sentence?", "A", None, None, 12), ("a1_weather_seasons_t13", None, "topic_test", "production", "weather_vocabulary", 1, "Wpisz brakujące słowo: Jest bardzo ___. (холодно)", "Вставьте пропущенное слово: Jest bardzo ___. (холодно)", "Вставте пропущене слово: Jest bardzo ___. (холодно)", "Fill in the missing word: Jest bardzo ___. (cold)", "zimno", "first_letter", "z", 13), ("a1_weather_seasons_t14", None, "topic_test", "production", "weather_description", 1, "Wpisz brakujące słowo: Niebo jest ___. (облачное)", "Вставьте пропущенное слово: Niebo jest ___. (облачное)", "Вставте пропущене слово: Niebo jest ___. (хмарне)", "Fill in the missing word: Niebo jest ___. (cloudy)", "zachmurzone", "first_letter", "z", 14), ("a1_weather_seasons_t15", None, "topic_test", "production", "seasons_vocabulary", 2, "Wpisz brakujące słowo: Lubię ___. (осень)", "Вставьте пропущенное слово: Lubię ___. (осень)", "Вставте пропущене слово: Lubię ___. (осінь)", "Fill in the missing word: Lubię ___. (autumn)", "jesień", "first_letter", "j", 15), ("a1_weather_seasons_t16", None, "topic_test", "production", "seasons_time", 2, "Wpisz brakujące słowo: ___ jest ciepło. (весной)", "Вставьте пропущенное слово: ___ jest ciepło. (весной)", "Вставте пропущене слово: ___ jest ciepło. (навесні)", "Fill in the missing word: ___ jest ciepło. (in spring)", "Wiosną", "first_letter", "W", 16), ("a1_weather_seasons_t17", None, "topic_test", "production", "weather_forecast", 3, "Wpisz brakujące słowo: Jutro ___ zimno. (будет)", "Вставьте пропущенное слово: Jutro ___ zimno. (будет)", "Вставте пропущене слово: Jutro ___ zimno. (буде)", "Fill in the missing word: Jutro ___ zimno. (will be)", "będzie", "first_letter", "b", 17), ("a1_weather_seasons_t18", None, "topic_test", "production", "seasons_time", 2, "Przetłumacz: «Осенью идёт дождь и дует ветер».", "Переведите: «Осенью идёт дождь и дует ветер».", "Перекладіть: «Восени йде дощ і дме вітер».", "Translate: “In autumn it rains and the wind blows.”", "Jesienią pada deszcz i wieje wiatr", "first_letter", "J", 18), ("a1_weather_seasons_t19", None, "topic_test", "mixed", "weather_forecast", 3, "Wybierz poprawne tłumaczenie: «Сегодня тепло, но завтра будет холодно».", "Выберите правильный перевод: «Сегодня тепло, но завтра будет холодно».", "Виберіть правильний переклад: «Сьогодні тепло, але завтра буде холодно».", "Choose the correct translation: “Today it's warm, but tomorrow it will be cold.”", "A", None, None, 19), ("a1_weather_seasons_t20", None, "topic_test", "mixed", "weather_forecast", 3, "Wybierz poprawne tłumaczenie dialogu: «— Какая сегодня погода? — Сегодня светит солнце, а завтра будет идти дождь.»", "Выберите правильный перевод диалога: «— Какая сегодня погода? — Сегодня светит солнце, а завтра будет идти дождь.»", "Виберіть правильний переклад діалогу: «— Яка сьогодні погода? — Сьогодні світить сонце, а завтра йтиме дощ.»", "Choose the correct translation of the dialogue: “— What's the weather like today? — Today the sun is shining, and tomorrow it will rain.”", "A", None, None, 20), ] for q in test_questions_t8: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_weather_seasons', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t8 = [ ("a1_weather_seasons_t01", "A", "deszcz", "дождь", "дощ", "rain", True, None), ("a1_weather_seasons_t01", "B", "śnieg", "снег", "сніг", "snow", False, "wrong_word"), ("a1_weather_seasons_t01", "C", "wiatr", "ветер", "вітер", "wind", False, "wrong_word"), ("a1_weather_seasons_t01", "D", "słońce", "солнце", "сонце", "sun", False, "wrong_word"), ("a1_weather_seasons_t02", "A", "zimno", "холодно", "холодно", "cold", False, "wrong_word"), ("a1_weather_seasons_t02", "B", "chłodno", "прохладно", "прохолодно", "cool", False, "wrong_word"), ("a1_weather_seasons_t02", "C", "gorąco", "жарко", "спекотно", "hot", True, None), ("a1_weather_seasons_t02", "D", "ciepło", "тепло", "тепло", "warm", False, "wrong_word"), ("a1_weather_seasons_t03", "A", "ładny", "хороший (муж.)", "гарний (чол.)", "nice (masc.)", False, "wrong_gender"), ("a1_weather_seasons_t03", "B", "ładna", "хорошая (жен.)", "гарна (жін.)", "nice (fem.)", True, None), ("a1_weather_seasons_t03", "C", "ładne", "хорошее (ср.)", "гарне (сер.)", "nice (neut.)", False, "wrong_gender"), ("a1_weather_seasons_t03", "D", "ładną", "хорошую (вин.)", "гарну (знах.)", "nice (acc.)", False, "wrong_case"), ("a1_weather_seasons_t04", "A", "zima", "зима", "зима", "winter", False, "wrong_word"), ("a1_weather_seasons_t04", "B", "jesień", "осень", "осінь", "autumn", True, None), ("a1_weather_seasons_t04", "C", "wiosna", "весна", "весна", "spring", False, "wrong_word"), ("a1_weather_seasons_t04", "D", "lato", "лето", "літо", "summer", False, "wrong_word"), ("a1_weather_seasons_t05", "A", "Zimą", "Зимой", "Взимку", "In winter", True, None), ("a1_weather_seasons_t05", "B", "Zima", "Зима (им.)", "Зима (наз.)", "Winter (nom.)", False, "wrong_case"), ("a1_weather_seasons_t05", "C", "Zimę", "Зиму (вин.)", "Зиму (знах.)", "Winter (acc.)", False, "wrong_case"), ("a1_weather_seasons_t05", "D", "Zimy", "Зимы (род.)", "Зими (род.)", "Winter (gen.)", False, "wrong_case"), ("a1_weather_seasons_t06", "A", "Завтра будет идти дождь.", "Завтра будет идти дождь.", "Завтра йтиме дощ.", "Tomorrow it will rain.", True, None), ("a1_weather_seasons_t06", "B", "Вчера шёл дождь.", "Вчера шёл дождь.", "Вчора йшов дощ.", "It rained yesterday.", False, "wrong_translation"), ("a1_weather_seasons_t06", "C", "Сегодня идёт дождь.", "Сегодня идёт дождь.", "Сьогодні йде дощ.", "It's raining today.", False, "wrong_translation"), ("a1_weather_seasons_t06", "D", "Завтра будет холодно.", "Завтра будет холодно.", "Завтра буде холодно.", "Tomorrow it will be cold.", False, "wrong_translation"), ("a1_weather_seasons_t07", "A", "Pada deszcz.", "Идёт дождь.", "Йде дощ.", "It's raining.", True, None), ("a1_weather_seasons_t07", "B", "Świeci słońce.", "Светит солнце.", "Світить сонце.", "The sun is shining.", False, "wrong_context"), ("a1_weather_seasons_t07", "C", "Wieje wiatr.", "Дует ветер.", "Дме вітер.", "The wind is blowing.", False, "wrong_context"), ("a1_weather_seasons_t07", "D", "Pada śnieg.", "Идёт снег.", "Йде сніг.", "It's snowing.", False, "wrong_context"), ("a1_weather_seasons_t08", "A", "Niebo jest zachmurzone.", "Небо облачное.", "Небо хмарне.", "The sky is cloudy.", True, None), ("a1_weather_seasons_t08", "B", "Niebo jest czyste.", "Небо чистое. (противоречит описанию)", "Небо чисте. (суперечить опису)", "The sky is clear. (contradicts the description)", False, "wrong_context"), ("a1_weather_seasons_t08", "C", "Pogoda jest słoneczna.", "Погода солнечная. (не соответствует контексту)", "Погода сонячна. (не відповідає контексту)", "The weather is sunny. (wrong context)", False, "wrong_context"), ("a1_weather_seasons_t08", "D", "Jest gorąco.", "Жарко. (не о небе)", "Спекотно. (не про небо)", "It's hot. (not about the sky)", False, "wrong_context"), ("a1_weather_seasons_t09", "A", "Lubię lato.", "Я люблю лето.", "Я люблю літо.", "I like summer.", True, None), ("a1_weather_seasons_t09", "B", "Lubię lata.", "Неправильная форма.", "Неправильна форма.", "Wrong form.", False, "wrong_case"), ("a1_weather_seasons_t09", "C", "Jestem lato.", "Я лето.", "Я літо.", "I am summer.", False, "wrong_sentence_type"), ("a1_weather_seasons_t09", "D", "Lubię zimę.", "Я люблю зиму. (неверное время года)", "Я люблю зиму. (невірна пора року)", "I like winter. (wrong season)", False, "wrong_context"), ("a1_weather_seasons_t10", "A", "Latem jest gorąco.", "Летом жарко.", "Влітку спекотно.", "In summer it's hot.", True, None), ("a1_weather_seasons_t10", "B", "Lato jest gorąco.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_weather_seasons_t10", "C", "Zimą jest gorąco.", "Зимой жарко. (неверная пора года)", "Взимку спекотно. (невірна пора року)", "In winter it's hot. (wrong season)", False, "wrong_context"), ("a1_weather_seasons_t10", "D", "Jest gorąco latem pora.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_weather_seasons_t11", "A", "Jutro będzie padać deszcz.", "Завтра будет идти дождь.", "Завтра йтиме дощ.", "Tomorrow it will rain.", True, None), ("a1_weather_seasons_t11", "B", "Wczoraj padał deszcz.", "Вчера шёл дождь. (неверное время)", "Вчора йшов дощ. (невірний час)", "It rained yesterday. (wrong tense)", False, "wrong_context"), ("a1_weather_seasons_t11", "C", "Dziś pada deszcz.", "Сегодня идёт дождь. (неверное время)", "Сьогодні йде дощ. (невірний час)", "It's raining today. (wrong tense)", False, "wrong_context"), ("a1_weather_seasons_t11", "D", "Jutro będzie gorąco.", "Завтра будет жарко. (неверный прогноз)", "Завтра буде спекотно. (невірний прогноз)", "Tomorrow it will be hot. (wrong forecast)", False, "wrong_context"), ("a1_weather_seasons_t12", "A", "Dzisiaj świeci słońce, a jutro będzie padać deszcz.", "Сегодня светит солнце, а завтра будет идти дождь.", "Сьогодні світить сонце, а завтра йтиме дощ.", "Today the sun is shining, and tomorrow it will rain.", True, None), ("a1_weather_seasons_t12", "B", "Ja słońce i deszcz.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_weather_seasons_t12", "C", "Jestem słońce, a jutro deszcz.", "Я солнце, а завтра дождь.", "Я сонце, а завтра дощ.", "I am the sun, and tomorrow rain. (wrong construction)", False, "wrong_sentence_type"), ("a1_weather_seasons_t12", "D", "Dzisiaj pada deszcz, a jutro będzie słońce.", "Дни перепутаны местами.", "Дні переплутані місцями.", "Days are swapped.", False, "wrong_context"), ("a1_weather_seasons_t19", "A", "Dziś jest ciepło, ale jutro będzie zimno.", "Сегодня тепло, но завтра будет холодно.", "Сьогодні тепло, але завтра буде холодно.", "Today it's warm, but tomorrow it will be cold.", True, None), ("a1_weather_seasons_t19", "B", "Dziś jest zimno, ale jutro było ciepło.", "Неправильное время.", "Неправильний час.", "Wrong tense.", False, "wrong_sentence_type"), ("a1_weather_seasons_t19", "C", "Jutro jest ciepło, ale dziś będzie zimno.", "Дни перепутаны.", "Дні переплутані.", "Days are swapped.", False, "wrong_context"), ("a1_weather_seasons_t19", "D", "Dziś będzie ciepło, ale jutro jest zimno.", "Времена перепутаны.", "Часи переплутані.", "Tenses are swapped.", False, "wrong_sentence_type"), ("a1_weather_seasons_t20", "A", "Jaka jest dziś pogoda? Dzisiaj świeci słońce, a jutro będzie padać deszcz.", "Какая сегодня погода? Сегодня светит солнце, а завтра будет идти дождь.", "Яка сьогодні погода? Сьогодні світить сонце, а завтра йтиме дощ.", "What's the weather like today? Today the sun is shining, and tomorrow it will rain.", True, None), ("a1_weather_seasons_t20", "B", "Jaka jest dziś pogoda? Wczoraj świeciło słońce.", "Неправильное время в ответе.", "Неправильний час у відповіді.", "Wrong tense in the answer.", False, "wrong_sentence_type"), ("a1_weather_seasons_t20", "C", "Ile kosztuje pogoda? Dzisiaj świeci słońce.", "Неправильный вопрос.", "Неправильне питання.", "Wrong question.", False, "wrong_translation"), ("a1_weather_seasons_t20", "D", "Jaka jest dziś pogoda? Dzisiaj pada deszcz, a jutro będzie słońce.", "Дни перепутаны в ответе.", "Дні переплутані у відповіді.", "Days are swapped in the answer.", False, "wrong_context"), ] for opt in test_options_t8: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 9: ТРАНСПОРТ ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_transport', 'A1', 9, 'Transport', 'Транспорт', 'Транспорт', 'Transport') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t9 = [ ("a1_transport_l01", 1, "transport_vocabulary", "Podstawowe środki transportu", "Основные виды транспорта", "Основні види транспорту", "Basic means of transport", "Podstawowe środki transportu: autobus, tramwaj, pociąg, samochód. Wszystkie te słowa są rodzaju męskiego.", "Основные виды транспорта: autobus (автобус), tramwaj (трамвай), pociąg (поезд), samochód (машина). Все эти слова мужского рода.", "Основні види транспорту: autobus (автобус), tramwaj (трамвай), pociąg (потяг), samochód (машина). Усі ці слова чоловічого роду.", "Basic means of transport: autobus (bus), tramwaj (tram), pociąg (train), samochód (car). All these words are masculine."), ("a1_transport_l02", 2, "transport_vocabulary_more", "Więcej środków transportu", "Больше видов транспорта", "Більше видів транспорту", "More means of transport", "Więcej środków transportu: rower, samolot, metro, taksówka. „Rower” i „samolot” są rodzaju męskiego, „metro” jest rodzaju nijakiego, „taksówka” jest rodzaju żeńskiego.", "Больше видов транспорта: rower (велосипед), samolot (самолёт), metro (метро), taksówka (такси). „Rower” и „samolot” мужского рода, „metro” среднего рода, „taksówka” женского рода.", "Більше видів транспорту: rower (велосипед), samolot (літак), metro (метро), taksówka (таксі). „Rower” і „samolot” чоловічого роду, „metro” середнього роду, „taksówka” жіночого роду.", "More means of transport: rower (bike), samolot (plane), metro (subway), taksówka (taxi). „Rower” and „samolot” are masculine, „metro” is neuter, „taksówka” is feminine."), ("a1_transport_l03", 3, "transport_verb_jechac", "Jadę, jedziesz — czasownik jechać", "Jadę, jedziesz — глагол jechać", "Jadę, jedziesz — дієслово jechać", "Jadę, jedziesz — the verb jechać", "Czasownika „jechać” używamy dla podróży pojazdem: ja jadę, ty jedziesz, on/ona jedzie.", "Глагол „jechać” (ехать) используем для поездки на транспорте: ja jadę (я еду), ty jedziesz (ты едешь), on/ona jedzie (он/она едет).", "Дієслово „jechać” (їхати) використовуємо для подорожі транспортом: ja jadę (я їду), ty jedziesz (ти їдеш), on/ona jedzie (він/вона їде).", "The verb „jechać” (to go/ride) is used for travelling by vehicle: ja jadę (I go), ty jedziesz (you go), on/ona jedzie (he/she goes)."), ("a1_transport_l04", 4, "transport_verb_isc", "Idę czy jadę? — iść i jechać", "Idę czy jadę? — иду или еду", "Idę czy jadę? — йду чи їду", "Idę or jadę? — iść vs jechać", "„Iść” używamy, gdy idziemy pieszo: idę do szkoły. „Jechać” używamy, gdy podróżujemy pojazdem: jadę do szkoły autobusem.", "„Iść” используем, когда идём пешком: idę do szkoły (я иду в школу). „Jechać” используем, когда путешествуем на транспорте: jadę do szkoły autobusem (я еду в школу на автобусе).", "„Iść” використовуємо, коли йдемо пішки: idę do szkoły (я йду до школи). „Jechać” використовуємо, коли подорожуємо транспортом: jadę do szkoły autobusem (я їду до школи автобусом).", "„Iść” is used when going on foot: idę do szkoły (I'm going to school). „Jechać” is used when travelling by vehicle: jadę do szkoły autobusem (I'm going to school by bus)."), ("a1_transport_l05", 5, "transport_instrumental", "Jadę autobusem — narzędnik", "Jadę autobusem — творительный падеж", "Jadę autobusem — орудний відмінок", "Jadę autobusem — the instrumental", "Żeby powiedzieć, jakim środkiem transportu jedziemy, używamy narzędnika bez przyimka: autobus → autobusem, tramwaj → tramwajem, pociąg → pociągiem, samochód → samochodem, rower → rowerem.", "Чтобы сказать, на каком транспорте едем, используем творительный падеж без предлога: autobus → autobusem, tramwaj → tramwajem, pociąg → pociągiem, samochód → samochodem, rower → rowerem.", "Щоб сказати, яким транспортом їдемо, використовуємо орудний відмінок без прийменника: autobus → autobusem, tramwaj → tramwajem, pociąg → pociągiem, samochód → samochodem, rower → rowerem.", "To say which vehicle you're travelling by, we use the instrumental without a preposition: autobus → autobusem, tramwaj → tramwajem, pociąg → pociągiem, samochód → samochodem, rower → rowerem."), ("a1_transport_l06", 6, "transport_ticket", "Kupuję bilet", "Покупаю билет", "Купую квиток", "Buying a ticket", "„Bilet” jest rodzaju męskiego. Po „mam” i „kupuję” rzeczowniki męskie nieżywotne się nie zmieniają: mam bilet, kupuję bilet.", "„Bilet” (билет) мужского рода. После „mam” и „kupuję” мужские неодушевлённые существительные не меняются: mam bilet, kupuję bilet.", "„Bilet” (квиток) чоловічого роду. Після „mam” і „kupuję” чоловічі неістоти не змінюються: mam bilet, kupuję bilet.", "„Bilet” (ticket) is masculine. After „mam” and „kupuję”, masculine inanimate nouns don't change: mam bilet, kupuję bilet."), ("a1_transport_l07", 7, "transport_asking_directions", "Jak dojadę do...?", "Как мне доехать до...?", "Як мені доїхати до...?", "How do I get to...?", "Pytania „Jak dojadę do + dopełniacz?” używamy, gdy pytamy, jak dotrzeć do miejsca. Przykład: Jak dojadę do dworca?", "Вопрос „Jak dojadę do + родительный падеж?” используем, когда спрашиваем, как добраться до места. Пример: Jak dojadę do dworca? (Как мне доехать до вокзала?)", "Питання „Jak dojadę do + родовий відмінок?” використовуємо, коли запитуємо, як дістатися до місця. Приклад: Jak dojadę do dworca? (Як мені доїхати до вокзалу?)", "We use the question „Jak dojadę do + genitive?” to ask how to get to a place. Example: Jak dojadę do dworca? (How do I get to the station?)"), ("a1_transport_l08", 8, "transport_places", "Przystanek, dworzec, lotnisko", "Остановка, вокзал, аэропорт", "Зупинка, вокзал, аеропорт", "Stop, station, airport", "Miejsca związane z transportem: przystanek (autobusowy lub tramwajowy), dworzec (kolejowy), lotnisko, stacja (metra).", "Места, связанные с транспортом: przystanek (остановка автобуса или трамвая), dworzec (вокзал), lotnisko (аэропорт), stacja (станция метро).", "Місця, пов'язані з транспортом: przystanek (зупинка автобуса чи трамвая), dworzec (вокзал), lotnisko (аеропорт), stacja (станція метро).", "Places related to transport: przystanek (bus or tram stop), dworzec (train station), lotnisko (airport), stacja (metro station)."), ("a1_transport_l09", 9, "transport_frequency", "Jak często jeździsz...?", "Как часто ты ездишь...?", "Як часто ти їздиш...?", "How often do you go...?", "Gdy mówimy o częstotliwości, używamy czasownika „jeździć” (a nie „jechać”): często jeżdżę, rzadko jeżdżę. Pytamy „Jak często jeździsz + narzędnik?” Odpowiadamy przysłówkami: często, czasami, rzadko, codziennie, zawsze, nigdy.", "Когда говорим о частоте, используем глагол „jeździć” (а не „jechać”): często jeżdżę (я часто езжу), rzadko jeżdżę (я редко езжу). Спрашиваем „Jak często jeździsz + творительный падеж?” Отвечаем наречиями: często, czasami, rzadko, codziennie, zawsze, nigdy.", "Коли говоримо про частоту, використовуємо дієслово „jeździć” (а не „jechać”): często jeżdżę (я часто їжджу), rzadko jeżdżę (я рідко їжджу). Запитуємо „Jak często jeździsz + орудний відмінок?” Відповідаємо прислівниками: często, czasami, rzadko, codziennie, zawsze, nigdy.", "When talking about frequency, we use the verb „jeździć” (not „jechać”): często jeżdżę (I often go), rzadko jeżdżę (I rarely go). We ask „Jak często jeździsz + instrumental?” We answer with adverbs: często, czasami, rzadko, codziennie, zawsze, nigdy."), ("a1_transport_l10", 10, "transport_description", "Opisuję swoją podróż do pracy", "Описываю свою поездку на работу", "Описую свою поїздку на роботу", "Describing my trip to work", "Żeby opisać codzienną podróż, łączymy kilka zdań: Codziennie jadę do pracy autobusem. Bilet kupuję w kiosku. Podróż trwa dwadzieścia minut.", "Чтобы описать ежедневную поездку, соединяем несколько предложений: Codziennie jadę do pracy autobusem. Bilet kupuję w kiosku. Podróż trwa dwadzieścia minut. (Каждый день я еду на работу на автобусе. Билет покупаю в киоске. Поездка длится двадцать минут.)", "Щоб описати щоденну поїздку, поєднуємо кілька речень: Codziennie jadę do pracy autobusem. Bilet kupuję w kiosku. Podróż trwa dwadzieścia minut. (Щодня я їду на роботу автобусом. Квиток купую в кіоску. Поїздка триває двадцять хвилин.)", "To describe a daily trip, we combine several sentences: Codziennie jadę do pracy autobusem. Bilet kupuję w kiosku. Podróż trwa dwadzieścia minut. (Every day I go to work by bus. I buy the ticket at the kiosk. The trip takes twenty minutes.)"), ] for lesson in lessons_t9: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_transport', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t9 = [ ("a1_transport_l01", 1, "Jadę autobusem.", "Я еду на автобусе.", "Я їду автобусом.", "I'm going by bus."), ("a1_transport_l01", 2, "Tramwaj jest szybki.", "Трамвай быстрый.", "Трамвай швидкий.", "The tram is fast."), ("a1_transport_l01", 3, "Pociąg jedzie do Warszawy.", "Поезд едет в Варшаву.", "Потяг їде до Варшави.", "The train is going to Warsaw."), ("a1_transport_l02", 1, "Mam nowy rower.", "У меня новый велосипед.", "У мене новий велосипед.", "I have a new bike."), ("a1_transport_l02", 2, "Samolot leci do Krakowa.", "Самолёт летит в Краков.", "Літак летить до Кракова.", "The plane is flying to Kraków."), ("a1_transport_l02", 3, "Jadę metrem do centrum.", "Я еду на метро в центр.", "Я їду метро в центр.", "I'm going by subway to the center."), ("a1_transport_l03", 1, "Jadę do pracy.", "Я еду на работу.", "Я їду на роботу.", "I'm going to work."), ("a1_transport_l03", 2, "Jedziesz do domu?", "Ты едешь домой?", "Ти їдеш додому?", "Are you going home?"), ("a1_transport_l03", 3, "On jedzie do szkoły autobusem.", "Он едет в школу на автобусе.", "Він їде до школи автобусом.", "He's going to school by bus."), ("a1_transport_l04", 1, "Idę do szkoły pieszo.", "Я иду в школу пешком.", "Я йду до школи пішки.", "I'm walking to school."), ("a1_transport_l04", 2, "Jadę do pracy samochodem.", "Я еду на работу на машине.", "Я їду на роботу машиною.", "I'm driving to work by car."), ("a1_transport_l04", 3, "Idziesz czy jedziesz?", "Ты идёшь пешком или едешь?", "Ти йдеш пішки чи їдеш?", "Are you walking or riding?"), ("a1_transport_l05", 1, "Jadę autobusem.", "Я еду на автобусе.", "Я їду автобусом.", "I'm going by bus."), ("a1_transport_l05", 2, "Jedziemy pociągiem.", "Мы едем на поезде.", "Ми їдемо потягом.", "We're going by train."), ("a1_transport_l05", 3, "Jedzie rowerem do parku.", "Он/она едет на велосипеде в парк.", "Він/вона їде велосипедом до парку.", "He/she is riding a bike to the park."), ("a1_transport_l06", 1, "Kupuję bilet na dworcu.", "Я покупаю билет на вокзале.", "Я купую квиток на вокзалі.", "I buy a ticket at the station."), ("a1_transport_l06", 2, "Mam bilet na pociąg.", "У меня есть билет на поезд.", "У мене є квиток на потяг.", "I have a train ticket."), ("a1_transport_l06", 3, "Ile kosztuje bilet?", "Сколько стоит билет?", "Скільки коштує квиток?", "How much does the ticket cost?"), ("a1_transport_l07", 1, "Jak dojadę do dworca?", "Как мне доехать до вокзала?", "Як мені доїхати до вокзалу?", "How do I get to the station?"), ("a1_transport_l07", 2, "Jak dojadę do lotniska?", "Как мне доехать до аэропорта?", "Як мені доїхати до аеропорту?", "How do I get to the airport?"), ("a1_transport_l07", 3, "Przepraszam, jak dojadę do centrum?", "Извините, как мне доехать до центра?", "Перепрошую, як мені доїхати до центру?", "Excuse me, how do I get to the center?"), ("a1_transport_l08", 1, "Przystanek jest blisko.", "Остановка близко.", "Зупинка близько.", "The stop is close."), ("a1_transport_l08", 2, "Dworzec jest w centrum.", "Вокзал в центре.", "Вокзал у центрі.", "The station is downtown."), ("a1_transport_l08", 3, "Lotnisko jest daleko od miasta.", "Аэропорт далеко от города.", "Аеропорт далеко від міста.", "The airport is far from the city."), ("a1_transport_l09", 1, "Często jeżdżę autobusem.", "Я часто езжу на автобусе.", "Я часто їжджу автобусом.", "I often go by bus."), ("a1_transport_l09", 2, "Rzadko jeżdżę samochodem.", "Я редко езжу на машине.", "Я рідко їжджу машиною.", "I rarely go by car."), ("a1_transport_l09", 3, "Nigdy nie jeżdżę metrem.", "Я никогда не езжу на метро.", "Я ніколи не їжджу метро.", "I never go by subway."), ("a1_transport_l10", 1, "Codziennie jadę do pracy autobusem.", "Каждый день я еду на работу на автобусе.", "Щодня я їду на роботу автобусом.", "Every day I go to work by bus."), ("a1_transport_l10", 2, "Bilet kupuję w kiosku.", "Билет я покупаю в киоске.", "Квиток я купую в кіоску.", "I buy the ticket at the kiosk."), ("a1_transport_l10", 3, "Podróż trwa dwadzieścia minut.", "Поездка длится двадцать минут.", "Поїздка триває двадцять хвилин.", "The trip takes twenty minutes."), ] for ex in examples_t9: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t9 = [ # L01 — transport_vocabulary (difficulty 1) ("a1_transport_l01_q1", "a1_transport_l01", "lesson_practice", "recognition", "transport_vocabulary", 1, "Jak po polsku „автобус”?", "Как по-польски «автобус»?", "Як польською «автобус»?", "How do you say “bus” in Polish?", "A", None, None), ("a1_transport_l01_q2", "a1_transport_l01", "lesson_practice", "production", "transport_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (поезд)", "Вставьте пропущенное слово: To jest ___. (поезд)", "Вставте пропущене слово: To jest ___. (потяг)", "Fill in the missing word: To jest ___. (train)", "pociąg", "first_letter", "p"), ("a1_transport_l01_q3", "a1_transport_l01", "lesson_practice", "application", "transport_vocabulary", 1, "Widzisz duży pojazd, który jeździ po szynach w mieście. Co to jest?", "Ты видишь большой транспорт, который ездит по рельсам в городе. Что это?", "Ти бачиш великий транспорт, що їздить по рейках у місті. Що це?", "You see a big vehicle running on rails in the city. What is it?", "B", None, None), # L02 — transport_vocabulary_more (difficulty 1) ("a1_transport_l02_q1", "a1_transport_l02", "lesson_practice", "recognition", "transport_vocabulary_more", 1, "Jak po polsku „такси”?", "Как по-польски «такси»?", "Як польською «таксі»?", "How do you say “taxi” in Polish?", "A", None, None), ("a1_transport_l02_q2", "a1_transport_l02", "lesson_practice", "production", "transport_vocabulary_more", 1, "Wpisz brakujące słowo: To jest ___. (велосипед)", "Вставьте пропущенное слово: To jest ___. (велосипед)", "Вставте пропущене слово: To jest ___. (велосипед)", "Fill in the missing word: To jest ___. (bike)", "rower", "first_letter", "r"), ("a1_transport_l02_q3", "a1_transport_l02", "lesson_practice", "application", "transport_vocabulary_more", 1, "Chcesz szybko polecieć nad oceanem. Czym polecisz?", "Ты хочешь быстро перелететь через океан. Чем ты полетишь?", "Ти хочеш швидко перелетіти через океан. Чим ти полетиш?", "You want to quickly fly over the ocean. What do you fly?", "B", None, None), # L03 — transport_verb_jechac (difficulty 1) ("a1_transport_l03_q1", "a1_transport_l03", "lesson_practice", "recognition", "transport_verb_jechac", 1, "Wybierz poprawną formę: Ja ___. (jechać)", "Выберите правильную форму: Ja ___. (jechać)", "Виберіть правильну форму: Ja ___. (jechać)", "Choose the correct form: Ja ___. (jechać)", "A", None, None), ("a1_transport_l03_q2", "a1_transport_l03", "lesson_practice", "production", "transport_verb_jechac", 1, "Wpisz brakujące słowo: Ty ___ do domu. (едешь)", "Вставьте пропущенное слово: Ty ___ do domu. (едешь)", "Вставте пропущене слово: Ty ___ do domu. (їдеш)", "Fill in the missing word: Ty ___ do domu. (you go)", "jedziesz", "first_letter", "j"), ("a1_transport_l03_q3", "a1_transport_l03", "lesson_practice", "application", "transport_verb_jechac", 1, "Kolega pyta, dokąd jedziesz. Jedziesz do pracy. Co powiesz?", "Друг спрашивает, куда ты едешь. Ты едешь на работу. Что ты скажешь?", "Друг питає, куди ти їдеш. Ти їдеш на роботу. Що ти скажеш?", "A friend asks where you're going. You're going to work. What do you say?", "A", None, None), # L04 — transport_verb_isc (difficulty 1) ("a1_transport_l04_q1", "a1_transport_l04", "lesson_practice", "recognition", "transport_verb_isc", 1, "Idziesz pieszo do sklepu, który jest blisko. Jak powiesz?", "Ты идёшь пешком в магазин, который близко. Что ты скажешь?", "Ти йдеш пішки до магазину, який близько. Що ти скажеш?", "You're walking to a nearby shop. What do you say?", "A", None, None), ("a1_transport_l04_q2", "a1_transport_l04", "lesson_practice", "production", "transport_verb_isc", 1, "Wpisz brakujące słowo: ___ do szkoły pieszo. (иду)", "Вставьте пропущенное слово: ___ do szkoły pieszo. (иду)", "Вставте пропущене слово: ___ do szkoły pieszo. (йду)", "Fill in the missing word: ___ do szkoły pieszo. (I go)", "Idę", "first_letter", "I"), ("a1_transport_l04_q3", "a1_transport_l04", "lesson_practice", "application", "transport_verb_isc", 1, "Sklep jest bardzo daleko. Idziesz czy jedziesz?", "Магазин очень далеко. Ты идёшь пешком или едешь?", "Магазин дуже далеко. Ти йдеш пішки чи їдеш?", "The shop is very far. Are you walking or riding?", "B", None, None), # L05 — transport_instrumental (difficulty 2) ("a1_transport_l05_q1", "a1_transport_l05", "lesson_practice", "recognition", "transport_instrumental", 2, "Wybierz poprawną formę: Jadę ___. (autobus)", "Выберите правильную форму: Jadę ___. (autobus)", "Виберіть правильну форму: Jadę ___. (autobus)", "Choose the correct form: Jadę ___. (autobus)", "B", None, None), ("a1_transport_l05_q2", "a1_transport_l05", "lesson_practice", "production", "transport_instrumental", 2, "Wpisz brakujące słowo: Jadę ___. (поезд, творительный)", "Вставьте пропущенное слово: Jadę ___. (поезд, творительный)", "Вставте пропущене слово: Jadę ___. (потяг, орудний)", "Fill in the missing word: Jadę ___. (train, instrumental)", "pociągiem", "first_letter", "p"), ("a1_transport_l05_q3", "a1_transport_l05", "lesson_practice", "application", "transport_instrumental", 2, "Chcesz powiedzieć, że jedziesz do pracy na rowerze. Co powiesz?", "Ты хочешь сказать, что едешь на работу на велосипеде. Что ты скажешь?", "Ти хочеш сказати, що їдеш на роботу на велосипеді. Що ти скажеш?", "You want to say you're going to work by bike. What do you say?", "A", None, None), # L06 — transport_ticket (difficulty 2) ("a1_transport_l06_q1", "a1_transport_l06", "lesson_practice", "recognition", "transport_ticket", 2, "Jak po polsku „билет”?", "Как по-польски «билет»?", "Як польською «квиток»?", "How do you say “ticket” in Polish?", "A", None, None), ("a1_transport_l06_q2", "a1_transport_l06", "lesson_practice", "production", "transport_ticket", 2, "Wpisz brakujące słowo: Kupuję ___. (билет)", "Вставьте пропущенное слово: Kupuję ___. (билет)", "Вставте пропущене слово: Kupuję ___. (квиток)", "Fill in the missing word: Kupuję ___. (ticket)", "bilet", "first_letter", "b"), ("a1_transport_l06_q3", "a1_transport_l06", "lesson_practice", "application", "transport_ticket", 2, "Jesteś na dworcu i chcesz kupić bilet na pociąg. Co powiesz?", "Ты на вокзале и хочешь купить билет на поезд. Что ты скажешь?", "Ти на вокзалі і хочеш купити квиток на потяг. Що ти скажеш?", "You're at the station and want to buy a train ticket. What do you say?", "A", None, None), # L07 — transport_asking_directions (difficulty 2) ("a1_transport_l07_q1", "a1_transport_l07", "lesson_practice", "recognition", "transport_asking_directions", 2, "Co oznacza „Jak dojadę do dworca?”", "Что означает «Jak dojadę do dworca?»", "Що означає «Jak dojadę do dworca?»", "What does “Jak dojadę do dworca?” mean?", "A", None, None), ("a1_transport_l07_q2", "a1_transport_l07", "lesson_practice", "production", "transport_asking_directions", 2, "Wpisz brakujące słowo: Jak ___ do dworca? (доеду)", "Вставьте пропущенное слово: Jak ___ do dworca? (доеду)", "Вставте пропущене слово: Jak ___ do dworca? (доїду)", "Fill in the missing word: Jak ___ do dworca? (do I get)", "dojadę", "first_letter", "d"), ("a1_transport_l07_q3", "a1_transport_l07", "lesson_practice", "application", "transport_asking_directions", 2, "Zgubiłeś się w mieście i chcesz zapytać, jak dotrzeć na lotnisko. Co powiesz?", "Ты заблудился в городе и хочешь спросить, как добраться до аэропорта. Что ты скажешь?", "Ти загубився в місті і хочеш запитати, як дістатися до аеропорту. Що ти скажеш?", "You're lost in the city and want to ask how to get to the airport. What do you say?", "A", None, None), # L08 — transport_places (difficulty 2) ("a1_transport_l08_q1", "a1_transport_l08", "lesson_practice", "recognition", "transport_places", 2, "Jak po polsku „вокзал”?", "Как по-польски «вокзал»?", "Як польською «вокзал»?", "How do you say “train station” in Polish?", "A", None, None), ("a1_transport_l08_q2", "a1_transport_l08", "lesson_practice", "production", "transport_places", 2, "Wpisz brakujące słowo: To jest ___. (аэропорт)", "Вставьте пропущенное слово: To jest ___. (аэропорт)", "Вставте пропущене слово: To jest ___. (аеропорт)", "Fill in the missing word: To jest ___. (airport)", "lotnisko", "first_letter", "l"), ("a1_transport_l08_q3", "a1_transport_l08", "lesson_practice", "application", "transport_places", 2, "Czekasz na autobus w miejscu przy drodze. Gdzie jesteś?", "Ты ждёшь автобус в месте у дороги. Где ты?", "Ти чекаєш на автобус у місці біля дороги. Де ти?", "You're waiting for a bus at a spot by the road. Where are you?", "B", None, None), # L09 — transport_frequency (difficulty 3) ("a1_transport_l09_q1", "a1_transport_l09", "lesson_practice", "recognition", "transport_frequency", 3, "Co znaczy „Jak często jeździsz autobusem?”", "Что означает «Jak często jeździsz autobusem?»", "Що означає «Jak często jeździsz autobusem?»", "What does “Jak często jeździsz autobusem?” mean?", "A", None, None), ("a1_transport_l09_q2", "a1_transport_l09", "lesson_practice", "production", "transport_frequency", 3, "Wpisz brakujące słowo: ___ jeżdżę autobusem. (часто)", "Вставьте пропущенное слово: ___ jeżdżę autobusem. (часто)", "Вставте пропущене слово: ___ jeżdżę autobusem. (часто)", "Fill in the missing word: ___ jeżdżę autobusem. (often)", "Często", "first_letter", "C"), ("a1_transport_l09_q3", "a1_transport_l09", "lesson_practice", "application", "transport_frequency", 3, "Kolega pyta, jak często jeździsz metrem. Nigdy nie jeździsz. Co powiesz?", "Друг спрашивает, как часто ты ездишь на метро. Ты никогда не ездишь. Что ты скажешь?", "Друг питає, як часто ти їздиш метро. Ти ніколи не їздиш. Що ти скажеш?", "A friend asks how often you take the subway. You never do. What do you say?", "A", None, None), # L10 — transport_description (difficulty 3) ("a1_transport_l10_q1", "a1_transport_l10", "lesson_practice", "recognition", "transport_description", 3, "Które zdanie poprawnie opisuje codzienną podróż do pracy?", "Какое предложение правильно описывает ежедневную поездку на работу?", "Яке речення правильно описує щоденну поїздку на роботу?", "Which sentence correctly describes a daily commute to work?", "A", None, None), ("a1_transport_l10_q2", "a1_transport_l10", "lesson_practice", "production", "transport_description", 3, "Przetłumacz: «Билет покупаю в киоске».", "Переведите: «Билет покупаю в киоске».", "Перекладіть: «Квиток купую в кіоску».", "Translate: “I buy the ticket at the kiosk.”", "Bilet kupuję w kiosku", "first_letter", "B"), ("a1_transport_l10_q3", "a1_transport_l10", "lesson_practice", "application", "transport_description", 3, "Chcesz opisać koledze swoją podróż: jedziesz autobusem, bilet kupujesz w kiosku, podróż trwa dwadzieścia minut. Jak zaczniesz zdanie?", "Ты хочешь описать другу свою поездку: едешь на автобусе, билет покупаешь в киоске, поездка длится двадцать минут. Как ты начнёшь предложение?", "Ти хочеш описати другу свою поїздку: їдеш автобусом, квиток купуєш у кіоску, поїздка триває двадцять хвилин. Як ти почнеш речення?", "You want to describe your commute to a friend: you go by bus, buy the ticket at the kiosk, the trip takes twenty minutes. How do you start the sentence?", "A", None, None), ] for q in questions_t9: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_transport', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t9 = [ # L01 ("a1_transport_l01_q1", "A", "autobus", "автобус", "автобус", "bus", True, None), ("a1_transport_l01_q1", "B", "tramwaj", "трамвай", "трамвай", "tram", False, "wrong_word"), ("a1_transport_l01_q1", "C", "pociąg", "поезд", "потяг", "train", False, "wrong_word"), ("a1_transport_l01_q1", "D", "samochód", "машина", "машина", "car", False, "wrong_word"), ("a1_transport_l01_q3", "A", "autobus", "автобус", "автобус", "bus", False, "wrong_context"), ("a1_transport_l01_q3", "B", "tramwaj", "трамвай", "трамвай", "tram", True, None), ("a1_transport_l01_q3", "C", "pociąg", "поезд", "потяг", "train", False, "wrong_context"), ("a1_transport_l01_q3", "D", "samochód", "машина", "машина", "car", False, "wrong_context"), # L02 ("a1_transport_l02_q1", "A", "taksówka", "такси", "таксі", "taxi", True, None), ("a1_transport_l02_q1", "B", "rower", "велосипед", "велосипед", "bike", False, "wrong_word"), ("a1_transport_l02_q1", "C", "samolot", "самолёт", "літак", "plane", False, "wrong_word"), ("a1_transport_l02_q1", "D", "metro", "метро", "метро", "subway", False, "wrong_word"), ("a1_transport_l02_q3", "A", "rower", "велосипед", "велосипед", "bike", False, "wrong_context"), ("a1_transport_l02_q3", "B", "samolot", "самолёт", "літак", "plane", True, None), ("a1_transport_l02_q3", "C", "metro", "метро", "метро", "subway", False, "wrong_context"), ("a1_transport_l02_q3", "D", "taksówka", "такси", "таксі", "taxi", False, "wrong_context"), # L03 ("a1_transport_l03_q1", "A", "jadę", "еду", "їду", "go (I)", True, None), ("a1_transport_l03_q1", "B", "jedziesz", "едешь", "їдеш", "go (you)", False, "wrong_word"), ("a1_transport_l03_q1", "C", "jedzie", "едет", "їде", "goes", False, "wrong_word"), ("a1_transport_l03_q1", "D", "jechać", "ехать", "їхати", "to go", False, "wrong_word"), ("a1_transport_l03_q3", "A", "Jadę do pracy.", "Я еду на работу.", "Я їду на роботу.", "I'm going to work.", True, None), ("a1_transport_l03_q3", "B", "Jedziesz do pracy.", "Ты едешь на работу.", "Ти їдеш на роботу.", "You're going to work.", False, "wrong_word"), ("a1_transport_l03_q3", "C", "Idę do pracy.", "Я иду на работу.", "Я йду на роботу.", "I'm walking to work.", False, "wrong_context"), ("a1_transport_l03_q3", "D", "Jedzie do pracy.", "Он/она едет на работу.", "Він/вона їде на роботу.", "He/she is going to work.", False, "wrong_word"), # L04 ("a1_transport_l04_q1", "A", "Idę do sklepu.", "Я иду в магазин.", "Я йду до магазину.", "I'm walking to the shop.", True, None), ("a1_transport_l04_q1", "B", "Jadę do sklepu.", "Я еду в магазин.", "Я їду до магазину.", "I'm driving to the shop.", False, "wrong_context"), ("a1_transport_l04_q1", "C", "Jedziesz do sklepu.", "Ты едешь в магазин.", "Ти їдеш до магазину.", "You're driving to the shop.", False, "wrong_word"), ("a1_transport_l04_q1", "D", "Idziemy do sklepu.", "Мы идём в магазин.", "Ми йдемо до магазину.", "We're walking to the shop.", False, "wrong_number"), ("a1_transport_l04_q3", "A", "Idę.", "Я иду.", "Я йду.", "I'm walking.", False, "wrong_context"), ("a1_transport_l04_q3", "B", "Jadę.", "Я еду.", "Я їду.", "I'm driving.", True, None), ("a1_transport_l04_q3", "C", "Jedziesz.", "Ты едешь.", "Ти їдеш.", "You're driving.", False, "wrong_word"), ("a1_transport_l04_q3", "D", "Idziemy.", "Мы идём.", "Ми йдемо.", "We're walking.", False, "wrong_number"), # L05 ("a1_transport_l05_q1", "A", "autobus", "автобус (им.)", "автобус (наз.)", "bus (nom.)", False, "wrong_case"), ("a1_transport_l05_q1", "B", "autobusem", "автобусе (тв.)", "автобусом (ор.)", "bus (instr.)", True, None), ("a1_transport_l05_q1", "C", "autobusowi", "автобусу (дат.)", "автобусу (дав.)", "bus (dat.)", False, "wrong_case"), ("a1_transport_l05_q1", "D", "autobusu", "автобуса (род.)", "автобуса (род.)", "bus (gen.)", False, "wrong_case"), ("a1_transport_l05_q3", "A", "Jadę do pracy rowerem.", "Я еду на работу на велосипеде.", "Я їду на роботу велосипедом.", "I go to work by bike.", True, None), ("a1_transport_l05_q3", "B", "Jadę do pracy rower.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_transport_l05_q3", "C", "Jadę do pracy na rowerem.", "Лишний предлог.", "Зайвий прийменник.", "Extra preposition.", False, "wrong_sentence_type"), ("a1_transport_l05_q3", "D", "Jadę do pracy roweru.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), # L06 ("a1_transport_l06_q1", "A", "bilet", "билет", "квиток", "ticket", True, None), ("a1_transport_l06_q1", "B", "kasa", "касса", "каса", "ticket office", False, "wrong_word"), ("a1_transport_l06_q1", "C", "dworzec", "вокзал", "вокзал", "station", False, "wrong_word"), ("a1_transport_l06_q1", "D", "przystanek", "остановка", "зупинка", "stop", False, "wrong_word"), ("a1_transport_l06_q3", "A", "Chcę kupić bilet.", "Я хочу купить билет.", "Я хочу купити квиток.", "I want to buy a ticket.", True, None), ("a1_transport_l06_q3", "B", "Chcę kupić dworzec.", "Я хочу купить вокзал.", "Я хочу купити вокзал.", "I want to buy a station.", False, "wrong_word"), ("a1_transport_l06_q3", "C", "Mam bilet już.", "У меня уже есть билет.", "У мене вже є квиток.", "I already have a ticket.", False, "wrong_context"), ("a1_transport_l06_q3", "D", "Sprzedaję bilet.", "Я продаю билет.", "Я продаю квиток.", "I'm selling a ticket.", False, "wrong_context"), # L07 ("a1_transport_l07_q1", "A", "Jak dojadę do dworca?", "Как мне доехать до вокзала?", "Як мені доїхати до вокзалу?", "How do I get to the station?", True, None), ("a1_transport_l07_q1", "B", "Gdzie jest przystanek?", "Где остановка?", "Де зупинка?", "Where is the stop?", False, "wrong_translation"), ("a1_transport_l07_q1", "C", "Ile kosztuje bilet?", "Сколько стоит билет?", "Скільки коштує квиток?", "How much is the ticket?", False, "wrong_translation"), ("a1_transport_l07_q1", "D", "Kiedy odjeżdża pociąg?", "Когда отправляется поезд?", "Коли відправляється потяг?", "When does the train leave?", False, "wrong_translation"), ("a1_transport_l07_q3", "A", "Jak dojadę do lotniska?", "Как мне доехать до аэропорта?", "Як мені доїхати до аеропорту?", "How do I get to the airport?", True, None), ("a1_transport_l07_q3", "B", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "wrong_context"), ("a1_transport_l07_q3", "C", "Ile to kosztuje?", "Сколько это стоит?", "Скільки це коштує?", "How much is it?", False, "wrong_context"), ("a1_transport_l07_q3", "D", "Gdzie mieszkasz?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?", False, "wrong_context"), # L08 ("a1_transport_l08_q1", "A", "dworzec", "вокзал", "вокзал", "train station", True, None), ("a1_transport_l08_q1", "B", "przystanek", "остановка", "зупинка", "stop", False, "wrong_word"), ("a1_transport_l08_q1", "C", "lotnisko", "аэропорт", "аеропорт", "airport", False, "wrong_word"), ("a1_transport_l08_q1", "D", "stacja", "станция", "станція", "station", False, "wrong_word"), ("a1_transport_l08_q3", "A", "dworzec", "вокзал", "вокзал", "train station", False, "wrong_context"), ("a1_transport_l08_q3", "B", "przystanek", "остановка", "зупинка", "stop", True, None), ("a1_transport_l08_q3", "C", "lotnisko", "аэропорт", "аеропорт", "airport", False, "wrong_context"), ("a1_transport_l08_q3", "D", "stacja", "станция", "станція", "station", False, "wrong_context"), # L09 ("a1_transport_l09_q1", "A", "Jak często jeździsz autobusem?", "Как часто ты ездишь на автобусе?", "Як часто ти їздиш автобусом?", "How often do you go by bus?", True, None), ("a1_transport_l09_q1", "B", "Dokąd jedziesz autobusem?", "Куда ты едешь на автобусе?", "Куди ти їдеш автобусом?", "Where are you going by bus?", False, "wrong_translation"), ("a1_transport_l09_q1", "C", "Czy lubisz jeździć autobusem?", "Тебе нравится ездить на автобусе?", "Тобі подобається їздити автобусом?", "Do you like riding the bus?", False, "wrong_translation"), ("a1_transport_l09_q1", "D", "Ile kosztuje bilet na autobus?", "Сколько стоит билет на автобус?", "Скільки коштує квиток на автобус?", "How much is the bus ticket?", False, "wrong_translation"), ("a1_transport_l09_q3", "A", "Nigdy nie jeżdżę metrem.", "Я никогда не езжу на метро.", "Я ніколи не їжджу метро.", "I never go by subway.", True, None), ("a1_transport_l09_q3", "B", "Zawsze jeżdżę metrem.", "Я всегда езжу на метро.", "Я завжди їжджу метро.", "I always go by subway.", False, "wrong_context"), ("a1_transport_l09_q3", "C", "Często jeżdżę metrem.", "Я часто езжу на метро.", "Я часто їжджу метро.", "I often go by subway.", False, "wrong_context"), ("a1_transport_l09_q3", "D", "Nigdy jeżdżę metrem.", "Пропущено отрицание.", "Пропущено заперечення.", "Missing negation.", False, "wrong_sentence_type"), # L10 ("a1_transport_l10_q1", "A", "Codziennie jadę do pracy autobusem.", "Каждый день я еду на работу на автобусе.", "Щодня я їду на роботу автобусом.", "Every day I go to work by bus.", True, None), ("a1_transport_l10_q1", "B", "Codziennie jadę do pracy autobus.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_transport_l10_q1", "C", "Codziennie jestem do pracy autobusem.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_transport_l10_q1", "D", "Codziennie idę do pracy autobusem.", "Смысл не соответствует: „idę” — пешком, а не автобусом.", "Сенс не відповідає: „idę” — пішки, а не автобусом.", "Meaning mismatch: „idę” is on foot, not by bus.", False, "wrong_context"), ("a1_transport_l10_q3", "A", "Jadę do pracy autobusem.", "Я еду на работу на автобусе.", "Я їду на роботу автобусом.", "I go to work by bus.", True, None), ("a1_transport_l10_q3", "B", "Jestem autobus do pracy.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_transport_l10_q3", "C", "Bilet jestem w kiosku.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_transport_l10_q3", "D", "Autobusem jestem do pracy.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ] for opt in options_t9: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t9 = [ ("a1_transport_t01", None, "topic_test", "recognition", "transport_vocabulary", 1, "Jak po polsku „поезд”?", "Как по-польски «поезд»?", "Як польською «потяг»?", "How do you say “train” in Polish?", "B", None, None, 1), ("a1_transport_t02", None, "topic_test", "recognition", "transport_vocabulary_more", 1, "Jak po polsku „велосипед”?", "Как по-польски «велосипед»?", "Як польською «велосипед»?", "How do you say “bike” in Polish?", "C", None, None, 2), ("a1_transport_t03", None, "topic_test", "recognition", "transport_verb_jechac", 1, "Wybierz poprawną formę: On ___. (jechać)", "Выберите правильную форму: On ___. (jechać)", "Виберіть правильну форму: On ___. (jechać)", "Choose the correct form: On ___. (jechać)", "C", None, None, 3), ("a1_transport_t04", None, "topic_test", "recognition", "transport_verb_isc", 2, "Idziesz pieszo do parku. Jak powiesz?", "Ты идёшь пешком в парк. Что ты скажешь?", "Ти йдеш пішки до парку. Що ти скажеш?", "You're walking to the park. What do you say?", "A", None, None, 4), ("a1_transport_t05", None, "topic_test", "recognition", "transport_instrumental", 2, "Wybierz poprawną formę: Jadę ___. (rower)", "Выберите правильную форму: Jadę ___. (rower)", "Виберіть правильну форму: Jadę ___. (rower)", "Choose the correct form: Jadę ___. (rower)", "B", None, None, 5), ("a1_transport_t06", None, "topic_test", "recognition", "transport_asking_directions", 3, "Co znaczy „Jak dojadę do dworca?”", "Что означает «Jak dojadę do dworca?»", "Що означає «Jak dojadę do dworca?»", "What does “Jak dojadę do dworca?” mean?", "A", None, None, 6), ("a1_transport_t07", None, "topic_test", "application", "transport_vocabulary", 1, "Chcesz szybko podróżować po mieście po szynach. Czym pojedziesz?", "Ты хочешь быстро передвигаться по городу по рельсам. Чем ты поедешь?", "Ти хочеш швидко пересуватися містом по рейках. Чим ти поїдеш?", "You want to travel fast around the city on rails. What do you take?", "B", None, None, 7), ("a1_transport_t08", None, "topic_test", "application", "transport_vocabulary_more", 1, "Chcesz polecieć do innego kraju. Czym polecisz?", "Ты хочешь полететь в другую страну. Чем ты полетишь?", "Ти хочеш полетіти в іншу країну. Чим ти полетиш?", "You want to fly to another country. What do you fly?", "C", None, None, 8), ("a1_transport_t09", None, "topic_test", "application", "transport_verb_isc", 2, "Sklep jest bardzo blisko. Idziesz czy jedziesz?", "Магазин очень близко. Ты идёшь пешком или едешь?", "Магазин дуже близько. Ти йдеш пішки чи їдеш?", "The shop is very close. Are you walking or riding?", "A", None, None, 9), ("a1_transport_t10", None, "topic_test", "application", "transport_instrumental", 2, "Chcesz powiedzieć, że jedziesz do szkoły na rowerze. Co powiesz?", "Ты хочешь сказать, что едешь в школу на велосипеде. Что ты скажешь?", "Ти хочеш сказати, що їдеш до школи на велосипеді. Що ти скажеш?", "You want to say you go to school by bike. What do you say?", "A", None, None, 10), ("a1_transport_t11", None, "topic_test", "application", "transport_ticket", 2, "Jesteś na dworcu i chcesz kupić bilet. Co powiesz?", "Ты на вокзале и хочешь купить билет. Что ты скажешь?", "Ти на вокзалі і хочеш купити квиток. Що ти скажеш?", "You're at the station and want to buy a ticket. What do you say?", "A", None, None, 11), ("a1_transport_t12", None, "topic_test", "application", "transport_frequency", 3, "Kolega pyta, jak często jeździsz samochodem. Zawsze jeździsz. Co powiesz?", "Друг спрашивает, как часто ты ездишь на машине. Ты всегда ездишь. Что ты скажешь?", "Друг питає, як часто ти їздиш машиною. Ти завжди їздиш. Що ти скажеш?", "A friend asks how often you drive. You always do. What do you say?", "A", None, None, 12), ("a1_transport_t13", None, "topic_test", "production", "transport_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (машина)", "Вставьте пропущенное слово: To jest ___. (машина)", "Вставте пропущене слово: To jest ___. (машина)", "Fill in the missing word: To jest ___. (car)", "samochód", "first_letter", "s", 13), ("a1_transport_t14", None, "topic_test", "production", "transport_vocabulary_more", 1, "Wpisz brakujące słowo: To jest ___. (метро)", "Вставьте пропущенное слово: To jest ___. (метро)", "Вставте пропущене слово: To jest ___. (метро)", "Fill in the missing word: To jest ___. (subway)", "metro", "first_letter", "m", 14), ("a1_transport_t15", None, "topic_test", "production", "transport_verb_jechac", 2, "Wpisz brakujące słowo: Ona ___ do domu. (едет)", "Вставьте пропущенное слово: Ona ___ do domu. (едет)", "Вставте пропущене слово: Ona ___ do domu. (їде)", "Fill in the missing word: Ona ___ do domu. (she goes)", "jedzie", "first_letter", "j", 15), ("a1_transport_t16", None, "topic_test", "production", "transport_instrumental", 2, "Wpisz brakujące słowo: Jadę ___. (поезд, творительный)", "Вставьте пропущенное слово: Jadę ___. (поезд, творительный)", "Вставте пропущене слово: Jadę ___. (потяг, орудний)", "Fill in the missing word: Jadę ___. (train, instrumental)", "pociągiem", "first_letter", "p", 16), ("a1_transport_t17", None, "topic_test", "production", "transport_asking_directions", 3, "Wpisz brakujące słowo: Jak ___ do lotniska? (доеду)", "Вставьте пропущенное слово: Jak ___ do lotniska? (доеду)", "Вставте пропущене слово: Jak ___ do lotniska? (доїду)", "Fill in the missing word: Jak ___ do lotniska? (do I get)", "dojadę", "first_letter", "d", 17), ("a1_transport_t18", None, "topic_test", "production", "transport_description", 3, "Przetłumacz: «Поездка длится двадцать минут».", "Переведите: «Поездка длится двадцать минут».", "Перекладіть: «Поїздка триває двадцять хвилин».", "Translate: “The trip takes twenty minutes.”", "Podróż trwa dwadzieścia minut", "first_letter", "P", 18), ("a1_transport_t19", None, "topic_test", "mixed", "transport_places", 3, "Wybierz poprawne tłumaczenie: «Вокзал в центре города, а аэропорт далеко».", "Выберите правильный перевод: «Вокзал в центре города, а аэропорт далеко».", "Виберіть правильний переклад: «Вокзал у центрі міста, а аеропорт далеко».", "Choose the correct translation: “The train station is downtown, and the airport is far away.”", "A", None, None, 19), ("a1_transport_t20", None, "topic_test", "mixed", "transport_description", 3, "Wybierz poprawne tłumaczenie dialogu: «— Как мне доехать до вокзала? — Поезжай на автобусе номер пять.»", "Выберите правильный перевод диалога: «— Как мне доехать до вокзала? — Поезжай на автобусе номер пять.»", "Виберіть правильний переклад діалогу: «— Як мені доїхати до вокзалу? — Їдь автобусом номер п'ять.»", "Choose the correct translation of the dialogue: “— How do I get to the station? — Take bus number five.”", "A", None, None, 20), ] for q in test_questions_t9: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_transport', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t9 = [ ("a1_transport_t01", "A", "tramwaj", "трамвай", "трамвай", "tram", False, "wrong_word"), ("a1_transport_t01", "B", "pociąg", "поезд", "потяг", "train", True, None), ("a1_transport_t01", "C", "autobus", "автобус", "автобус", "bus", False, "wrong_word"), ("a1_transport_t01", "D", "samochód", "машина", "машина", "car", False, "wrong_word"), ("a1_transport_t02", "A", "samolot", "самолёт", "літак", "plane", False, "wrong_word"), ("a1_transport_t02", "B", "taksówka", "такси", "таксі", "taxi", False, "wrong_word"), ("a1_transport_t02", "C", "rower", "велосипед", "велосипед", "bike", True, None), ("a1_transport_t02", "D", "metro", "метро", "метро", "subway", False, "wrong_word"), ("a1_transport_t03", "A", "jadę", "еду", "їду", "go (I)", False, "wrong_word"), ("a1_transport_t03", "B", "jedziesz", "едешь", "їдеш", "go (you)", False, "wrong_word"), ("a1_transport_t03", "C", "jedzie", "едет", "їде", "goes", True, None), ("a1_transport_t03", "D", "jechać", "ехать", "їхати", "to go", False, "wrong_word"), ("a1_transport_t04", "A", "Idę do parku.", "Я иду в парк.", "Я йду до парку.", "I'm walking to the park.", True, None), ("a1_transport_t04", "B", "Jadę do parku.", "Я еду в парк.", "Я їду до парку.", "I'm driving to the park.", False, "wrong_context"), ("a1_transport_t04", "C", "Jedziesz do parku.", "Ты едешь в парк.", "Ти їдеш до парку.", "You're driving to the park.", False, "wrong_word"), ("a1_transport_t04", "D", "Idziemy do parku.", "Мы идём в парк.", "Ми йдемо до парку.", "We're walking to the park.", False, "wrong_number"), ("a1_transport_t05", "A", "rower", "велосипед (им.)", "велосипед (наз.)", "bike (nom.)", False, "wrong_case"), ("a1_transport_t05", "B", "rowerem", "велосипеде (тв.)", "велосипедом (ор.)", "bike (instr.)", True, None), ("a1_transport_t05", "C", "roweru", "велосипеда (род.)", "велосипеда (род.)", "bike (gen.)", False, "wrong_case"), ("a1_transport_t05", "D", "rowerowi", "велосипеду (дат.)", "велосипеду (дав.)", "bike (dat.)", False, "wrong_case"), ("a1_transport_t06", "A", "Как мне доехать до вокзала?", "Как мне доехать до вокзала?", "Як мені доїхати до вокзалу?", "How do I get to the station?", True, None), ("a1_transport_t06", "B", "Где остановка?", "Где остановка?", "Де зупинка?", "Where is the stop?", False, "wrong_translation"), ("a1_transport_t06", "C", "Сколько стоит билет?", "Сколько стоит билет?", "Скільки коштує квиток?", "How much is the ticket?", False, "wrong_translation"), ("a1_transport_t06", "D", "Когда отправляется поезд?", "Когда отправляется поезд?", "Коли відправляється потяг?", "When does the train leave?", False, "wrong_translation"), ("a1_transport_t07", "A", "autobus", "автобус", "автобус", "bus", False, "wrong_context"), ("a1_transport_t07", "B", "tramwaj", "трамвай", "трамвай", "tram", True, None), ("a1_transport_t07", "C", "samochód", "машина", "машина", "car", False, "wrong_context"), ("a1_transport_t07", "D", "rower", "велосипед", "велосипед", "bike", False, "wrong_context"), ("a1_transport_t08", "A", "rower", "велосипед", "велосипед", "bike", False, "wrong_context"), ("a1_transport_t08", "B", "metro", "метро", "метро", "subway", False, "wrong_context"), ("a1_transport_t08", "C", "samolot", "самолёт", "літак", "plane", True, None), ("a1_transport_t08", "D", "taksówka", "такси", "таксі", "taxi", False, "wrong_context"), ("a1_transport_t09", "A", "Idę.", "Я иду.", "Я йду.", "I'm walking.", True, None), ("a1_transport_t09", "B", "Jadę.", "Я еду.", "Я їду.", "I'm driving.", False, "wrong_context"), ("a1_transport_t09", "C", "Jedziesz.", "Ты едешь.", "Ти їдеш.", "You're driving.", False, "wrong_word"), ("a1_transport_t09", "D", "Idziemy.", "Мы идём.", "Ми йдемо.", "We're walking.", False, "wrong_number"), ("a1_transport_t10", "A", "Jadę do szkoły rowerem.", "Я еду в школу на велосипеде.", "Я їду до школи велосипедом.", "I go to school by bike.", True, None), ("a1_transport_t10", "B", "Jadę do szkoły rower.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_transport_t10", "C", "Jadę do szkoły na rowerem.", "Лишний предлог.", "Зайвий прийменник.", "Extra preposition.", False, "wrong_sentence_type"), ("a1_transport_t10", "D", "Jadę do szkoły roweru.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_transport_t11", "A", "Chcę kupić bilet.", "Я хочу купить билет.", "Я хочу купити квиток.", "I want to buy a ticket.", True, None), ("a1_transport_t11", "B", "Chcę kupić dworzec.", "Я хочу купить вокзал.", "Я хочу купити вокзал.", "I want to buy a station.", False, "wrong_word"), ("a1_transport_t11", "C", "Mam bilet już.", "У меня уже есть билет.", "У мене вже є квиток.", "I already have a ticket.", False, "wrong_context"), ("a1_transport_t11", "D", "Sprzedaję bilet.", "Я продаю билет.", "Я продаю квиток.", "I'm selling a ticket.", False, "wrong_context"), ("a1_transport_t12", "A", "Zawsze jeżdżę samochodem.", "Я всегда езжу на машине.", "Я завжди їжджу машиною.", "I always drive.", True, None), ("a1_transport_t12", "B", "Nigdy nie jeżdżę samochodem.", "Я никогда не езжу на машине.", "Я ніколи не їжджу машиною.", "I never drive.", False, "wrong_context"), ("a1_transport_t12", "C", "Rzadko jeżdżę samochodem.", "Я редко езжу на машине.", "Я рідко їжджу машиною.", "I rarely drive.", False, "wrong_context"), ("a1_transport_t12", "D", "Zawsze jeżdżę samochód.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_transport_t19", "A", "Dworzec jest w centrum miasta, a lotnisko jest daleko.", "Вокзал в центре города, а аэропорт далеко.", "Вокзал у центрі міста, а аеропорт далеко.", "The train station is downtown, and the airport is far away.", True, None), ("a1_transport_t19", "B", "Dworzec jest w centrum miasta, a lotnisko jest blisko.", "Смысл искажён.", "Сенс спотворено.", "Meaning is reversed.", False, "wrong_translation"), ("a1_transport_t19", "C", "Przystanek jest w centrum miasta, a lotnisko jest daleko.", "Неправильное слово.", "Неправильне слово.", "Wrong word.", False, "wrong_word"), ("a1_transport_t19", "D", "Dworzec jest daleko, a lotnisko jest w centrum miasta.", "Места перепутаны.", "Місця переплутані.", "Places are swapped.", False, "wrong_translation"), ("a1_transport_t20", "A", "Jak dojadę do dworca? Jedź autobusem numer pięć.", "Как мне доехать до вокзала? Поезжай на автобусе номер пять.", "Як мені доїхати до вокзалу? Їдь автобусом номер п'ять.", "How do I get to the station? Take bus number five.", True, None), ("a1_transport_t20", "B", "Jak dojadę do lotniska? Jedź autobusem numer pięć.", "Неверное место назначения.", "Невірне місце призначення.", "Wrong destination.", False, "wrong_translation"), ("a1_transport_t20", "C", "Jak dojadę do dworca? Idź autobusem numer pięć.", "Неправильный глагол.", "Неправильне дієслово.", "Wrong verb.", False, "wrong_word"), ("a1_transport_t20", "D", "Jak dojadę do dworca? Jedź rowerem numer pięć.", "Неправильное слово.", "Неправильне слово.", "Wrong word.", False, "wrong_word"), ] for opt in test_options_t9: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 10: РАБОТА И ПРОФЕССИИ ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_work_professions', 'A1', 10, 'Praca i zawody', 'Работа и профессии', 'Робота і професії', 'Work and Professions') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t10 = [ ("a1_work_professions_l01", 1, "professions_vocabulary", "Podstawowe zawody", "Основные профессии", "Основні професії", "Basic professions", "Podstawowe zawody: nauczyciel, lekarz, kucharz, sprzedawca. Te słowa opisują mężczyzn wykonujących dany zawód i są rodzaju męskiego.", "Основные профессии: nauczyciel (учитель), lekarz (врач), kucharz (повар), sprzedawca (продавец). Эти слова мужского рода и описывают мужчин, выполняющих данную профессию.", "Основні професії: nauczyciel (вчитель), lekarz (лікар), kucharz (кухар), sprzedawca (продавець). Ці слова чоловічого роду й описують чоловіків, які виконують цю професію.", "Basic professions: nauczyciel (teacher), lekarz (doctor), kucharz (cook), sprzedawca (salesman). These words are masculine and describe men doing the job."), ("a1_work_professions_l02", 2, "professions_vocabulary_fem", "Zawody kobiece", "Женские профессии", "Жіночі професії", "Feminine profession forms", "Zawody kobiece tworzymy zwykle końcówką -ka: nauczyciel → nauczycielka, lekarz → lekarka, kucharz → kucharka. Wyjątek: sprzedawca → sprzedawczyni.", "Женские формы профессий обычно образуются окончанием -ka: nauczyciel → nauczycielka, lekarz → lekarka, kucharz → kucharka. Исключение: sprzedawca → sprzedawczyni.", "Жіночі форми професій зазвичай утворюються закінченням -ka: nauczyciel → nauczycielka, lekarz → lekarka, kucharz → kucharka. Виняток: sprzedawca → sprzedawczyni.", "Feminine profession forms are usually made with the ending -ka: nauczyciel → nauczycielka, lekarz → lekarka, kucharz → kucharka. Exception: sprzedawca → sprzedawczyni."), ("a1_work_professions_l03", 3, "profession_work_jako", "Pracuję jako + mianownik", "Pracuję jako + именительный падеж", "Pracuję jako + називний відмінок", "Pracuję jako + nominative", "Żeby powiedzieć, jaki mamy zawód, używamy czasownika „pracować” + „jako” + mianownik: pracuję jako nauczyciel, pracujesz jako lekarz, pracuje jako kucharka.", "Чтобы сказать, кем мы работаем, используем глагол „pracować” + „jako” + именительный падеж: pracuję jako nauczyciel, pracujesz jako lekarz, pracuje jako kucharka.", "Щоб сказати, ким ми працюємо, використовуємо дієслово „pracować” + „jako” + називний відмінок: pracuję jako nauczyciel, pracujesz jako lekarz, pracuje jako kucharka.", "To say what job we do, we use „pracować” + „jako” + the nominative: pracuję jako nauczyciel, pracujesz jako lekarz, pracuje jako kucharka."), ("a1_work_professions_l04", 4, "profession_identity_instrumental", "Kim jesteś z zawodu?", "Кто ты по профессии?", "Хто ти за професією?", "What's your profession?", "Pytamy „Kim jesteś z zawodu?”. Odpowiadamy czasownikiem „być” + narzędnik: jestem lekarzem, jesteś nauczycielem, jest kucharzem.", "Спрашиваем „Kim jesteś z zawodu?” (Кто ты по профессии?). Отвечаем глаголом „być” + творительный падеж: jestem lekarzem, jesteś nauczycielem, jest kucharzem.", "Запитуємо „Kim jesteś z zawodu?” (Хто ти за професією?). Відповідаємо дієсловом „być” + орудний відмінок: jestem lekarzem, jesteś nauczycielem, jest kucharzem.", "We ask „Kim jesteś z zawodu?” (What's your profession?). We answer with „być” + the instrumental: jestem lekarzem, jesteś nauczycielem, jest kucharzem."), ("a1_work_professions_l05", 5, "workplace_vocabulary", "Miejsca pracy", "Места работы", "Місця роботи", "Places of work", "Miejsca pracy: biuro (rodzaj nijaki), szpital (rodzaj męski), szkoła (rodzaj żeński), sklep (rodzaj męski), restauracja (rodzaj żeński).", "Места работы: biuro (офис, средний род), szpital (больница, мужской род), szkoła (школа, женский род), sklep (магазин, мужской род), restauracja (ресторан, женский род).", "Місця роботи: biuro (офіс, середній рід), szpital (лікарня, чоловічий рід), szkoła (школа, жіночий рід), sklep (магазин, чоловічий рід), restauracja (ресторан, жіночий рід).", "Places of work: biuro (office, neuter), szpital (hospital, masculine), szkoła (school, feminine), sklep (shop, masculine), restauracja (restaurant, feminine)."), ("a1_work_professions_l06", 6, "workplace_locative", "Pracuję w + miejscownik", "Pracuję w + предложный падеж", "Pracuję w + місцевий відмінок", "Pracuję w + locative", "Żeby powiedzieć, gdzie pracujemy, używamy miejscownika z przyimkiem „w”: biuro → w biurze, szpital → w szpitalu, szkoła → w szkole, sklep → w sklepie, restauracja → w restauracji.", "Чтобы сказать, где мы работаем, используем предложный падеж с предлогом „w”: biuro → w biurze, szpital → w szpitalu, szkoła → w szkole, sklep → w sklepie, restauracja → w restauracji.", "Щоб сказати, де ми працюємо, використовуємо місцевий відмінок з прийменником „w”: biuro → w biurze, szpital → w szpitalu, szkoła → w szkole, sklep → w sklepie, restauracja → w restauracji.", "To say where we work, we use the locative with the preposition „w”: biuro → w biurze, szpital → w szpitalu, szkoła → w szkole, sklep → w sklepie, restauracja → w restauracji."), ("a1_work_professions_l07", 7, "work_schedule", "Zaczynam i kończę pracę", "Я начинаю и заканчиваю работу", "Я починаю і закінчую роботу", "I start and finish work", "Godziny pracy opisujemy czasownikami „zaczynać” i „kończyć” + biernik „pracę”: zaczynam pracę o ósmej, kończę pracę o szesnastej.", "Часы работы описываем глаголами „zaczynać” и „kończyć” + винительный падеж „pracę”: zaczynam pracę o ósmej (начинаю работу в восемь), kończę pracę o szesnastej (заканчиваю работу в шестнадцать).", "Робочі години описуємо дієсловами „zaczynać” і „kończyć” + знахідний відмінок „pracę”: zaczynam pracę o ósmej (починаю роботу о восьмій), kończę pracę o szesnastej (закінчую роботу о шістнадцятій).", "We describe working hours with „zaczynać” and „kończyć” + the accusative „pracę”: zaczynam pracę o ósmej (I start work at eight), kończę pracę o szesnastej (I finish work at four p.m.)."), ("a1_work_professions_l08", 8, "job_search", "Szukam pracy", "Я ищу работу", "Я шукаю роботу", "I'm looking for a job", "Czasownik „szukać” łączy się z dopełniaczem: szukam pracy. Czasownik „mieć” łączy się z biernikiem: mam pracę.", "Глагол „szukać” требует родительного падежа: szukam pracy (я ищу работу). Глагол „mieć” требует винительного падежа: mam pracę (у меня есть работа).", "Дієслово „szukać” вимагає родового відмінка: szukam pracy (я шукаю роботу). Дієслово „mieć” вимагає знахідного відмінка: mam pracę (у мене є робота).", "The verb „szukać” takes the genitive: szukam pracy (I'm looking for a job). The verb „mieć” takes the accusative: mam pracę (I have a job)."), ("a1_work_professions_l09", 9, "career_plans", "Chcę zostać + narzędnik", "Chcę zostać + творительный падеж", "Chcę zostać + орудний відмінок", "Chcę zostać + instrumental", "Żeby mówić o planach zawodowych, używamy „chcę zostać” + narzędnik: chcę zostać lekarzem, chcę zostać nauczycielką.", "Чтобы говорить о планах на будущую профессию, используем „chcę zostać” + творительный падеж: chcę zostać lekarzem (я хочу стать врачом), chcę zostać nauczycielką (я хочу стать учительницей).", "Щоб говорити про плани на майбутню професію, використовуємо „chcę zostać” + орудний відмінок: chcę zostać lekarzem (я хочу стати лікарем), chcę zostać nauczycielką (я хочу стати вчителькою).", "To talk about career plans, we use „chcę zostać” + the instrumental: chcę zostać lekarzem (I want to become a doctor), chcę zostać nauczycielką (I want to become a teacher)."), ("a1_work_professions_l10", 10, "work_description", "Opisuję swoją pracę", "Описываю свою работу", "Описую свою роботу", "Describing my job", "Żeby opisać swoją pracę, łączymy kilka zdań: Pracuję jako nauczycielka. Pracuję w szkole. Zaczynam pracę o ósmej i kończę o szesnastej.", "Чтобы описать свою работу, соединяем несколько предложений: Pracuję jako nauczycielka. Pracuję w szkole. Zaczynam pracę o ósmej i kończę o szesnastej. (Я работаю учительницей. Я работаю в школе. Я начинаю работу в восемь и заканчиваю в шестнадцать.)", "Щоб описати свою роботу, поєднуємо кілька речень: Pracuję jako nauczycielka. Pracuję w szkole. Zaczynam pracę o ósmej i kończę o szesnastej. (Я працюю вчителькою. Я працюю в школі. Я починаю роботу о восьмій і закінчую о шістнадцятій.)", "To describe your job, we combine several sentences: Pracuję jako nauczycielka. Pracuję w szkole. Zaczynam pracę o ósmej i kończę o szesnastej. (I work as a teacher. I work at a school. I start work at eight and finish at four p.m.)"), ] for lesson in lessons_t10: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_work_professions', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t10 = [ ("a1_work_professions_l01", 1, "To jest lekarz.", "Это врач.", "Це лікар.", "This is a doctor."), ("a1_work_professions_l01", 2, "To jest nauczyciel.", "Это учитель.", "Це вчитель.", "This is a teacher."), ("a1_work_professions_l01", 3, "To jest kucharz.", "Это повар.", "Це кухар.", "This is a cook."), ("a1_work_professions_l02", 1, "To jest nauczycielka.", "Это учительница.", "Це вчителька.", "This is a female teacher."), ("a1_work_professions_l02", 2, "To jest lekarka.", "Это врач (женщина).", "Це лікарка.", "This is a female doctor."), ("a1_work_professions_l02", 3, "To jest sprzedawczyni.", "Это продавщица.", "Це продавщиня.", "This is a saleswoman."), ("a1_work_professions_l03", 1, "Pracuję jako nauczyciel.", "Я работаю учителем.", "Я працюю вчителем.", "I work as a teacher."), ("a1_work_professions_l03", 2, "Pracujesz jako lekarz?", "Ты работаешь врачом?", "Ти працюєш лікарем?", "Do you work as a doctor?"), ("a1_work_professions_l03", 3, "Ona pracuje jako kucharka.", "Она работает поваром.", "Вона працює кухаркою.", "She works as a cook."), ("a1_work_professions_l04", 1, "Kim jesteś z zawodu?", "Кто ты по профессии?", "Хто ти за професією?", "What's your profession?"), ("a1_work_professions_l04", 2, "Jestem lekarzem.", "Я врач.", "Я лікар.", "I am a doctor."), ("a1_work_professions_l04", 3, "On jest nauczycielem.", "Он учитель.", "Він вчитель.", "He is a teacher."), ("a1_work_professions_l05", 1, "To jest biuro.", "Это офис.", "Це офіс.", "This is an office."), ("a1_work_professions_l05", 2, "To jest szpital.", "Это больница.", "Це лікарня.", "This is a hospital."), ("a1_work_professions_l05", 3, "To jest restauracja.", "Это ресторан.", "Це ресторан.", "This is a restaurant."), ("a1_work_professions_l06", 1, "Pracuję w biurze.", "Я работаю в офисе.", "Я працюю в офісі.", "I work in an office."), ("a1_work_professions_l06", 2, "Lekarz pracuje w szpitalu.", "Врач работает в больнице.", "Лікар працює в лікарні.", "The doctor works at a hospital."), ("a1_work_professions_l06", 3, "Ona pracuje w szkole.", "Она работает в школе.", "Вона працює в школі.", "She works at a school."), ("a1_work_professions_l07", 1, "Zaczynam pracę o ósmej.", "Я начинаю работу в восемь.", "Я починаю роботу о восьмій.", "I start work at eight."), ("a1_work_professions_l07", 2, "Kończę pracę o szesnastej.", "Я заканчиваю работу в шестнадцать.", "Я закінчую роботу о шістнадцятій.", "I finish work at four p.m."), ("a1_work_professions_l07", 3, "O której godzinie zaczynasz pracę?", "В котором часу ты начинаешь работу?", "О котрій годині ти починаєш роботу?", "What time do you start work?"), ("a1_work_professions_l08", 1, "Szukam pracy.", "Я ищу работу.", "Я шукаю роботу.", "I'm looking for a job."), ("a1_work_professions_l08", 2, "Mam dobrą pracę.", "У меня хорошая работа.", "У мене хороша робота.", "I have a good job."), ("a1_work_professions_l08", 3, "On szuka nowej pracy.", "Он ищет новую работу.", "Він шукає нову роботу.", "He is looking for a new job."), ("a1_work_professions_l09", 1, "Chcę zostać lekarzem.", "Я хочу стать врачом.", "Я хочу стати лікарем.", "I want to become a doctor."), ("a1_work_professions_l09", 2, "Chcesz zostać nauczycielką?", "Ты хочешь стать учительницей?", "Ти хочеш стати вчителькою?", "Do you want to become a teacher?"), ("a1_work_professions_l09", 3, "On chce zostać kucharzem.", "Он хочет стать поваром.", "Він хоче стати кухарем.", "He wants to become a cook."), ("a1_work_professions_l10", 1, "Pracuję jako nauczycielka.", "Я работаю учительницей.", "Я працюю вчителькою.", "I work as a teacher."), ("a1_work_professions_l10", 2, "Pracuję w szkole.", "Я работаю в школе.", "Я працюю в школі.", "I work at a school."), ("a1_work_professions_l10", 3, "Zaczynam pracę o ósmej i kończę o szesnastej.", "Я начинаю работу в восемь и заканчиваю в шестнадцать.", "Я починаю роботу о восьмій і закінчую о шістнадцятій.", "I start work at eight and finish at four p.m."), ] for ex in examples_t10: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t10 = [ # L01 — professions_vocabulary (difficulty 1) ("a1_work_professions_l01_q1", "a1_work_professions_l01", "lesson_practice", "recognition", "professions_vocabulary", 1, "Jak po polsku „врач”?", "Как по-польски «врач»?", "Як польською «лікар»?", "How do you say “doctor” in Polish?", "A", None, None), ("a1_work_professions_l01_q2", "a1_work_professions_l01", "lesson_practice", "production", "professions_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (учитель)", "Вставьте пропущенное слово: To jest ___. (учитель)", "Вставте пропущене слово: To jest ___. (вчитель)", "Fill in the missing word: To jest ___. (teacher)", "nauczyciel", "first_letter", "n"), ("a1_work_professions_l01_q3", "a1_work_professions_l01", "lesson_practice", "application", "professions_vocabulary", 1, "Ta osoba leczy chorych ludzi w szpitalu. Kim on jest?", "Этот человек лечит больных людей в больнице. Кто он?", "Ця людина лікує хворих людей у лікарні. Хто він?", "This person treats sick people at the hospital. Who is he?", "A", None, None), # L02 — professions_vocabulary_fem (difficulty 1) ("a1_work_professions_l02_q1", "a1_work_professions_l02", "lesson_practice", "recognition", "professions_vocabulary_fem", 1, "Jak po polsku „продавщица”?", "Как по-польски «продавщица»?", "Як польською «продавщиня»?", "How do you say “saleswoman” in Polish?", "A", None, None), ("a1_work_professions_l02_q2", "a1_work_professions_l02", "lesson_practice", "production", "professions_vocabulary_fem", 1, "Wpisz brakujące słowo: To jest ___. (учительница)", "Вставьте пропущенное слово: To jest ___. (учительница)", "Вставте пропущене слово: To jest ___. (вчителька)", "Fill in the missing word: To jest ___. (female teacher)", "nauczycielka", "first_letter", "n"), ("a1_work_professions_l02_q3", "a1_work_professions_l02", "lesson_practice", "application", "professions_vocabulary_fem", 1, "Widzisz kobietę, która gotuje jedzenie w restauracji. Kim ona jest?", "Ты видишь женщину, которая готовит еду в ресторане. Кто она?", "Ти бачиш жінку, яка готує їжу в ресторані. Хто вона?", "You see a woman cooking food at a restaurant. Who is she?", "A", None, None), # L03 — profession_work_jako (difficulty 1) ("a1_work_professions_l03_q1", "a1_work_professions_l03", "lesson_practice", "recognition", "profession_work_jako", 1, "Wybierz poprawną formę: Pracuję ___ nauczyciel.", "Выберите правильную форму: Pracuję ___ nauczyciel.", "Виберіть правильну форму: Pracuję ___ nauczyciel.", "Choose the correct form: Pracuję ___ nauczyciel.", "A", None, None), ("a1_work_professions_l03_q2", "a1_work_professions_l03", "lesson_practice", "production", "profession_work_jako", 1, "Wpisz brakujące słowo: Pracuję ___ lekarz. (как)", "Вставьте пропущенное слово: Pracuję ___ lekarz. (как)", "Вставте пропущене слово: Pracuję ___ lekarz. (як)", "Fill in the missing word: Pracuję ___ lekarz. (as)", "jako", "first_letter", "j"), ("a1_work_professions_l03_q3", "a1_work_professions_l03", "lesson_practice", "application", "profession_work_jako", 1, "Kolega pyta, jaki masz zawód. Jesteś kucharzem. Co powiesz?", "Друг спрашивает, кем ты работаешь. Ты повар. Что ты скажешь?", "Друг питає, ким ти працюєш. Ти кухар. Що ти скажеш?", "A friend asks what your job is. You're a cook. What do you say?", "A", None, None), # L04 — profession_identity_instrumental (difficulty 1) ("a1_work_professions_l04_q1", "a1_work_professions_l04", "lesson_practice", "recognition", "profession_identity_instrumental", 1, "Wybierz poprawną formę: Jestem ___. (lekarz)", "Выберите правильную форму: Jestem ___. (lekarz)", "Виберіть правильну форму: Jestem ___. (lekarz)", "Choose the correct form: Jestem ___. (lekarz)", "A", None, None), ("a1_work_professions_l04_q2", "a1_work_professions_l04", "lesson_practice", "production", "profession_identity_instrumental", 1, "Wpisz brakujące słowo: Jestem ___. (учитель, творительный)", "Вставьте пропущенное слово: Jestem ___. (учитель, творительный)", "Вставте пропущене слово: Jestem ___. (вчитель, орудний)", "Fill in the missing word: Jestem ___. (teacher, instrumental)", "nauczycielem", "first_letter", "n"), ("a1_work_professions_l04_q3", "a1_work_professions_l04", "lesson_practice", "application", "profession_identity_instrumental", 1, "Kolega pyta „Kim jesteś z zawodu?”. Jesteś kucharzem. Co powiesz?", "Друг спрашивает «Кто ты по профессии?». Ты повар. Что ты скажешь?", "Друг питає «Хто ти за професією?». Ти кухар. Що ти скажеш?", "A friend asks “What's your profession?” You're a cook. What do you say?", "A", None, None), # L05 — workplace_vocabulary (difficulty 2) ("a1_work_professions_l05_q1", "a1_work_professions_l05", "lesson_practice", "recognition", "workplace_vocabulary", 2, "Jak po polsku „больница”?", "Как по-польски «больница»?", "Як польською «лікарня»?", "How do you say “hospital” in Polish?", "A", None, None), ("a1_work_professions_l05_q2", "a1_work_professions_l05", "lesson_practice", "production", "workplace_vocabulary", 2, "Wpisz brakujące słowo: To jest ___. (ресторан)", "Вставьте пропущенное слово: To jest ___. (ресторан)", "Вставте пропущене слово: To jest ___. (ресторан)", "Fill in the missing word: To jest ___. (restaurant)", "restauracja", "first_letter", "r"), ("a1_work_professions_l05_q3", "a1_work_professions_l05", "lesson_practice", "application", "workplace_vocabulary", 2, "Chcesz kupić chleb. Dokąd idziesz?", "Ты хочешь купить хлеб. Куда ты идёшь?", "Ти хочеш купити хліб. Куди ти йдеш?", "You want to buy bread. Where do you go?", "A", None, None), # L06 — workplace_locative (difficulty 2) ("a1_work_professions_l06_q1", "a1_work_professions_l06", "lesson_practice", "recognition", "workplace_locative", 2, "Wybierz poprawną formę: Pracuję ___. (biuro)", "Выберите правильную форму: Pracuję ___. (biuro)", "Виберіть правильну форму: Pracuję ___. (biuro)", "Choose the correct form: Pracuję ___. (biuro)", "A", None, None), ("a1_work_professions_l06_q2", "a1_work_professions_l06", "lesson_practice", "production", "workplace_locative", 2, "Wpisz brakujące słowo: Pracuję ___. (в магазине)", "Вставьте пропущенное слово: Pracuję ___. (в магазине)", "Вставте пропущене слово: Pracuję ___. (в магазині)", "Fill in the missing word: Pracuję ___. (at a shop)", "w sklepie", "first_letter", "w"), ("a1_work_professions_l06_q3", "a1_work_professions_l06", "lesson_practice", "application", "workplace_locative", 2, "Chcesz powiedzieć koledze, że pracujesz w restauracji. Co powiesz?", "Ты хочешь сказать другу, что работаешь в ресторане. Что ты скажешь?", "Ти хочеш сказати другу, що працюєш в ресторані. Що ти скажеш?", "You want to tell a friend you work at a restaurant. What do you say?", "A", None, None), # L07 — work_schedule (difficulty 2) ("a1_work_professions_l07_q1", "a1_work_professions_l07", "lesson_practice", "recognition", "work_schedule", 2, "Wybierz poprawną formę: ___ pracę o ósmej. (начинаю)", "Выберите правильную форму: ___ pracę o ósmej. (начинаю)", "Виберіть правильну форму: ___ pracę o ósmej. (починаю)", "Choose the correct form: ___ pracę o ósmej. (I start)", "A", None, None), ("a1_work_professions_l07_q2", "a1_work_professions_l07", "lesson_practice", "production", "work_schedule", 2, "Wpisz brakujące słowo: ___ pracę o szesnastej. (заканчиваю)", "Вставьте пропущенное слово: ___ pracę o szesnastej. (заканчиваю)", "Вставте пропущене слово: ___ pracę o szesnastej. (закінчую)", "Fill in the missing word: ___ pracę o szesnastej. (I finish)", "Kończę", "first_letter", "K"), ("a1_work_professions_l07_q3", "a1_work_professions_l07", "lesson_practice", "application", "work_schedule", 2, "Kolega pyta, o której zaczynasz pracę. Zaczynasz o ósmej. Co powiesz?", "Друг спрашивает, во сколько ты начинаешь работу. Ты начинаешь в восемь. Что ты скажешь?", "Друг питає, о котрій ти починаєш роботу. Ти починаєш о восьмій. Що ти скажеш?", "A friend asks what time you start work. You start at eight. What do you say?", "A", None, None), # L08 — job_search (difficulty 2) ("a1_work_professions_l08_q1", "a1_work_professions_l08", "lesson_practice", "recognition", "job_search", 2, "Wybierz poprawną formę: Szukam ___. (praca)", "Выберите правильную форму: Szukam ___. (praca)", "Виберіть правильну форму: Szukam ___. (praca)", "Choose the correct form: Szukam ___. (praca)", "A", None, None), ("a1_work_professions_l08_q2", "a1_work_professions_l08", "lesson_practice", "production", "job_search", 2, "Wpisz brakujące słowo: Mam dobrą ___. (работу)", "Вставьте пропущенное слово: Mam dobrą ___. (работу)", "Вставте пропущене слово: Mam dobrą ___. (роботу)", "Fill in the missing word: Mam dobrą ___. (job)", "pracę", "first_letter", "p"), ("a1_work_professions_l08_q3", "a1_work_professions_l08", "lesson_practice", "application", "job_search", 2, "Nie masz pracy i chcesz ją znaleźć. Co powiesz?", "У тебя нет работы, и ты хочешь её найти. Что ты скажешь?", "У тебе немає роботи, і ти хочеш її знайти. Що ти скажеш?", "You have no job and want to find one. What do you say?", "A", None, None), # L09 — career_plans (difficulty 3) ("a1_work_professions_l09_q1", "a1_work_professions_l09", "lesson_practice", "recognition", "career_plans", 3, "Co znaczy „Chcę zostać lekarzem”?", "Что означает «Chcę zostać lekarzem»?", "Що означає «Chcę zostać lekarzem»?", "What does “Chcę zostać lekarzem” mean?", "A", None, None), ("a1_work_professions_l09_q2", "a1_work_professions_l09", "lesson_practice", "production", "career_plans", 3, "Wpisz brakujące słowo: Chcę ___ nauczycielką. (стать)", "Вставьте пропущенное слово: Chcę ___ nauczycielką. (стать)", "Вставте пропущене слово: Chcę ___ nauczycielką. (стати)", "Fill in the missing word: Chcę ___ nauczycielką. (become)", "zostać", "first_letter", "z"), ("a1_work_professions_l09_q3", "a1_work_professions_l09", "lesson_practice", "application", "career_plans", 3, "Marzysz, żeby w przyszłości leczyć ludzi. Co powiesz?", "Ты мечтаешь в будущем лечить людей. Что ты скажешь?", "Ти мрієш у майбутньому лікувати людей. Що ти скажеш?", "You dream of treating people in the future. What do you say?", "A", None, None), # L10 — work_description (difficulty 3) ("a1_work_professions_l10_q1", "a1_work_professions_l10", "lesson_practice", "recognition", "work_description", 3, "Które zdanie poprawnie opisuje pracę nauczycielki?", "Какое предложение правильно описывает работу учительницы?", "Яке речення правильно описує роботу вчительки?", "Which sentence correctly describes a teacher's job?", "A", None, None), ("a1_work_professions_l10_q2", "a1_work_professions_l10", "lesson_practice", "production", "work_description", 3, "Przetłumacz: «Я начинаю работу в восемь и заканчиваю в шестнадцать».", "Переведите: «Я начинаю работу в восемь и заканчиваю в шестнадцать».", "Перекладіть: «Я починаю роботу о восьмій і закінчую о шістнадцятій».", "Translate: “I start work at eight and finish at four p.m.”", "Zaczynam pracę o ósmej i kończę o szesnastej", "first_letter", "Z"), ("a1_work_professions_l10_q3", "a1_work_professions_l10", "lesson_practice", "application", "work_description", 3, "Chcesz opisać koledze swoją pracę: jesteś kucharzem, pracujesz w restauracji, zaczynasz o dziesiątej. Jak zaczniesz zdanie?", "Ты хочешь описать другу свою работу: ты повар, работаешь в ресторане, начинаешь в десять. Как ты начнёшь предложение?", "Ти хочеш описати другу свою роботу: ти кухар, працюєш у ресторані, починаєш о десятій. Як ти почнеш речення?", "You want to describe your job to a friend: you're a cook, you work at a restaurant, you start at ten. How do you start the sentence?", "A", None, None), ] for q in questions_t10: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_work_professions', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t10 = [ # L01 ("a1_work_professions_l01_q1", "A", "lekarz", "врач", "лікар", "doctor", True, None), ("a1_work_professions_l01_q1", "B", "nauczyciel", "учитель", "вчитель", "teacher", False, "wrong_word"), ("a1_work_professions_l01_q1", "C", "kucharz", "повар", "кухар", "cook", False, "wrong_word"), ("a1_work_professions_l01_q1", "D", "sprzedawca", "продавец", "продавець", "salesman", False, "wrong_word"), ("a1_work_professions_l01_q3", "A", "lekarz", "врач", "лікар", "doctor", True, None), ("a1_work_professions_l01_q3", "B", "nauczyciel", "учитель", "вчитель", "teacher", False, "wrong_context"), ("a1_work_professions_l01_q3", "C", "kucharz", "повар", "кухар", "cook", False, "wrong_context"), ("a1_work_professions_l01_q3", "D", "sprzedawca", "продавец", "продавець", "salesman", False, "wrong_context"), # L02 ("a1_work_professions_l02_q1", "A", "sprzedawczyni", "продавщица", "продавщиня", "saleswoman", True, None), ("a1_work_professions_l02_q1", "B", "nauczycielka", "учительница", "вчителька", "female teacher", False, "wrong_word"), ("a1_work_professions_l02_q1", "C", "lekarka", "врач (женщина)", "лікарка", "female doctor", False, "wrong_word"), ("a1_work_professions_l02_q1", "D", "kucharka", "повариха", "кухарка", "female cook", False, "wrong_word"), ("a1_work_professions_l02_q3", "A", "kucharka", "повариха", "кухарка", "female cook", True, None), ("a1_work_professions_l02_q3", "B", "lekarka", "врач (женщина)", "лікарка", "female doctor", False, "wrong_context"), ("a1_work_professions_l02_q3", "C", "nauczycielka", "учительница", "вчителька", "female teacher", False, "wrong_context"), ("a1_work_professions_l02_q3", "D", "sprzedawczyni", "продавщица", "продавщиня", "saleswoman", False, "wrong_context"), # L03 ("a1_work_professions_l03_q1", "A", "jako", "как (в роли)", "як (у ролі)", "as", True, None), ("a1_work_professions_l03_q1", "B", "jak", "как (сравнение)", "як (порівняння)", "how/like", False, "wrong_word"), ("a1_work_professions_l03_q1", "C", "jakiś", "какой-то", "якийсь", "some", False, "wrong_word"), ("a1_work_professions_l03_q1", "D", "jaki", "какой", "який", "what kind of", False, "wrong_word"), ("a1_work_professions_l03_q3", "A", "Pracuję jako kucharz.", "Я работаю поваром.", "Я працюю кухарем.", "I work as a cook.", True, None), ("a1_work_professions_l03_q3", "B", "Pracuję jako lekarz.", "Я работаю врачом. (неверная профессия)", "Я працюю лікарем. (невірна професія)", "I work as a doctor. (wrong job)", False, "wrong_context"), ("a1_work_professions_l03_q3", "C", "Jestem w kuchni.", "Я на кухне.", "Я на кухні.", "I'm in the kitchen.", False, "wrong_sentence_type"), ("a1_work_professions_l03_q3", "D", "Mam kucharza.", "У меня есть повар.", "У мене є кухар.", "I have a cook.", False, "wrong_sentence_type"), # L04 ("a1_work_professions_l04_q1", "A", "lekarzem", "врачом (тв.)", "лікарем (ор.)", "doctor (instr.)", True, None), ("a1_work_professions_l04_q1", "B", "lekarz", "врач (им.)", "лікар (наз.)", "doctor (nom.)", False, "wrong_case"), ("a1_work_professions_l04_q1", "C", "lekarza", "врача (род.)", "лікаря (род.)", "doctor (gen.)", False, "wrong_case"), ("a1_work_professions_l04_q1", "D", "lekarzowi", "врачу (дат.)", "лікарю (дав.)", "doctor (dat.)", False, "wrong_case"), ("a1_work_professions_l04_q3", "A", "Jestem kucharzem.", "Я повар.", "Я кухар.", "I am a cook.", True, None), ("a1_work_professions_l04_q3", "B", "Jestem kucharz.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_work_professions_l04_q3", "C", "Pracuję kucharz.", "Пропущено „jako”.", "Пропущено „jako”.", "Missing „jako”.", False, "wrong_sentence_type"), ("a1_work_professions_l04_q3", "D", "Mam kucharza.", "У меня есть повар.", "У мене є кухар.", "I have a cook.", False, "wrong_context"), # L05 ("a1_work_professions_l05_q1", "A", "szpital", "больница", "лікарня", "hospital", True, None), ("a1_work_professions_l05_q1", "B", "biuro", "офис", "офіс", "office", False, "wrong_word"), ("a1_work_professions_l05_q1", "C", "szkoła", "школа", "школа", "school", False, "wrong_word"), ("a1_work_professions_l05_q1", "D", "sklep", "магазин", "магазин", "shop", False, "wrong_word"), ("a1_work_professions_l05_q3", "A", "sklep", "магазин", "магазин", "shop", True, None), ("a1_work_professions_l05_q3", "B", "szpital", "больница", "лікарня", "hospital", False, "wrong_context"), ("a1_work_professions_l05_q3", "C", "biuro", "офис", "офіс", "office", False, "wrong_context"), ("a1_work_professions_l05_q3", "D", "szkoła", "школа", "школа", "school", False, "wrong_context"), # L06 ("a1_work_professions_l06_q1", "A", "w biurze", "в офисе (местн.)", "в офісі (місц.)", "in the office (loc.)", True, None), ("a1_work_professions_l06_q1", "B", "biuro", "офис (им.)", "офіс (наз.)", "office (nom.)", False, "wrong_case"), ("a1_work_professions_l06_q1", "C", "w biuro", "неправильная форма", "неправильна форма", "wrong form", False, "wrong_case"), ("a1_work_professions_l06_q1", "D", "biura", "офиса (род.)", "офісу (род.)", "office (gen.)", False, "wrong_case"), ("a1_work_professions_l06_q3", "A", "Pracuję w restauracji.", "Я работаю в ресторане.", "Я працюю в ресторані.", "I work at a restaurant.", True, None), ("a1_work_professions_l06_q3", "B", "Pracuję restauracja.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_work_professions_l06_q3", "C", "Jestem restauracja.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_work_professions_l06_q3", "D", "Mam restaurację.", "У меня есть ресторан.", "У мене є ресторан.", "I have a restaurant.", False, "wrong_context"), # L07 ("a1_work_professions_l07_q1", "A", "Zaczynam", "начинаю", "починаю", "I start", True, None), ("a1_work_professions_l07_q1", "B", "Zaczynasz", "начинаешь", "починаєш", "you start", False, "wrong_word"), ("a1_work_professions_l07_q1", "C", "Kończę", "заканчиваю", "закінчую", "I finish", False, "wrong_context"), ("a1_work_professions_l07_q1", "D", "Kończysz", "заканчиваешь", "закінчуєш", "you finish", False, "wrong_context"), ("a1_work_professions_l07_q3", "A", "Zaczynam pracę o ósmej.", "Я начинаю работу в восемь.", "Я починаю роботу о восьмій.", "I start work at eight.", True, None), ("a1_work_professions_l07_q3", "B", "Kończę pracę o ósmej.", "Я заканчиваю работу в восемь. (неверный контекст)", "Я закінчую роботу о восьмій. (невірний контекст)", "I finish work at eight. (wrong context)", False, "wrong_context"), ("a1_work_professions_l07_q3", "C", "Pracuję o ósmej godzinie.", "Неестественная конструкция.", "Неприродна конструкція.", "Unnatural construction.", False, "wrong_sentence_type"), ("a1_work_professions_l07_q3", "D", "Jestem w pracy o ósmej.", "Я на работе в восемь. (не отвечает на вопрос)", "Я на роботі о восьмій. (не відповідає на питання)", "I'm at work at eight. (doesn't answer the question)", False, "wrong_context"), # L08 ("a1_work_professions_l08_q1", "A", "pracy", "работы (род.)", "роботи (род.)", "job (gen.)", True, None), ("a1_work_professions_l08_q1", "B", "pracę", "работу (вин.)", "роботу (знах.)", "job (acc.)", False, "wrong_case"), ("a1_work_professions_l08_q1", "C", "praca", "работа (им.)", "робота (наз.)", "job (nom.)", False, "wrong_case"), ("a1_work_professions_l08_q1", "D", "pracą", "работой (тв.)", "роботою (ор.)", "job (instr.)", False, "wrong_case"), ("a1_work_professions_l08_q3", "A", "Szukam pracy.", "Я ищу работу.", "Я шукаю роботу.", "I'm looking for a job.", True, None), ("a1_work_professions_l08_q3", "B", "Mam pracę.", "У меня есть работа. (противоречит ситуации)", "У мене є робота. (суперечить ситуації)", "I have a job. (contradicts the situation)", False, "wrong_context"), ("a1_work_professions_l08_q3", "C", "Kończę pracę.", "Я заканчиваю работу. (не о поиске)", "Я закінчую роботу. (не про пошук)", "I'm finishing work. (not about searching)", False, "wrong_context"), ("a1_work_professions_l08_q3", "D", "Zaczynam pracę.", "Я начинаю работу. (не о поиске)", "Я починаю роботу. (не про пошук)", "I'm starting work. (not about searching)", False, "wrong_context"), # L09 ("a1_work_professions_l09_q1", "A", "Chcę zostać lekarzem.", "Я хочу стать врачом.", "Я хочу стати лікарем.", "I want to become a doctor.", True, None), ("a1_work_professions_l09_q1", "B", "Jestem lekarzem.", "Я врач.", "Я лікар.", "I am a doctor.", False, "wrong_translation"), ("a1_work_professions_l09_q1", "C", "Pracuję jako lekarz.", "Я работаю врачом.", "Я працюю лікарем.", "I work as a doctor.", False, "wrong_translation"), ("a1_work_professions_l09_q1", "D", "Szukam lekarza.", "Я ищу врача.", "Я шукаю лікаря.", "I am looking for a doctor.", False, "wrong_translation"), ("a1_work_professions_l09_q3", "A", "Chcę zostać lekarzem.", "Я хочу стать врачом.", "Я хочу стати лікарем.", "I want to become a doctor.", True, None), ("a1_work_professions_l09_q3", "B", "Chcę zostać kucharzem.", "Я хочу стать поваром. (неверная профессия)", "Я хочу стати кухарем. (невірна професія)", "I want to become a cook. (wrong job)", False, "wrong_context"), ("a1_work_professions_l09_q3", "C", "Jestem lekarzem.", "Я врач. (не о мечте на будущее)", "Я лікар. (не про мрію на майбутнє)", "I am a doctor. (not about a future dream)", False, "wrong_context"), ("a1_work_professions_l09_q3", "D", "Szukam pracy.", "Я ищу работу. (слишком общее)", "Я шукаю роботу. (занадто загальне)", "I'm looking for a job. (too general)", False, "wrong_context"), # L10 ("a1_work_professions_l10_q1", "A", "Pracuję jako nauczycielka w szkole.", "Я работаю учительницей в школе.", "Я працюю вчителькою в школі.", "I work as a teacher at a school.", True, None), ("a1_work_professions_l10_q1", "B", "Pracuję nauczycielka szkoła.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_work_professions_l10_q1", "C", "Jestem nauczycielka w szkole pracuję.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_work_professions_l10_q1", "D", "Pracuję jako lekarz w szpitalu.", "Неверная профессия и место.", "Невірна професія і місце.", "Wrong job and workplace.", False, "wrong_context"), ("a1_work_professions_l10_q3", "A", "Pracuję jako kucharz w restauracji.", "Я работаю поваром в ресторане.", "Я працюю кухарем у ресторані.", "I work as a cook at a restaurant.", True, None), ("a1_work_professions_l10_q3", "B", "Jestem restauracja kucharz.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_work_professions_l10_q3", "C", "Szukam pracy w restauracji.", "Я ищу работу в ресторане. (не соответствует ситуации)", "Я шукаю роботу в ресторані. (не відповідає ситуації)", "I'm looking for a job at a restaurant. (wrong context)", False, "wrong_context"), ("a1_work_professions_l10_q3", "D", "Chcę zostać kucharzem.", "Я хочу стать поваром. (не о текущей работе)", "Я хочу стати кухарем. (не про поточну роботу)", "I want to become a cook. (not about the current job)", False, "wrong_context"), ] for opt in options_t10: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t10 = [ ("a1_work_professions_t01", None, "topic_test", "recognition", "professions_vocabulary", 1, "Jak po polsku „повар”?", "Как по-польски «повар»?", "Як польською «кухар»?", "How do you say “cook” in Polish?", "A", None, None, 1), ("a1_work_professions_t02", None, "topic_test", "recognition", "professions_vocabulary_fem", 1, "Jak po polsku „продавщица”?", "Как по-польски «продавщица»?", "Як польською «продавщиня»?", "How do you say “saleswoman” in Polish?", "A", None, None, 2), ("a1_work_professions_t03", None, "topic_test", "recognition", "profession_work_jako", 1, "Wybierz poprawną formę: Pracuję ___ lekarz.", "Выберите правильную форму: Pracuję ___ lekarz.", "Виберіть правильну форму: Pracuję ___ lekarz.", "Choose the correct form: Pracuję ___ lekarz.", "A", None, None, 3), ("a1_work_professions_t04", None, "topic_test", "recognition", "profession_identity_instrumental", 2, "Wybierz poprawną formę: Jestem ___. (nauczyciel)", "Выберите правильную форму: Jestem ___. (nauczyciel)", "Виберіть правильну форму: Jestem ___. (nauczyciel)", "Choose the correct form: Jestem ___. (nauczyciel)", "A", None, None, 4), ("a1_work_professions_t05", None, "topic_test", "recognition", "workplace_vocabulary", 2, "Jak po polsku „больница”?", "Как по-польски «больница»?", "Як польською «лікарня»?", "How do you say “hospital” in Polish?", "A", None, None, 5), ("a1_work_professions_t06", None, "topic_test", "recognition", "career_plans", 3, "Co znaczy „Chcę zostać lekarzem”?", "Что означает «Chcę zostać lekarzem»?", "Що означає «Chcę zostać lekarzem»?", "What does “Chcę zostać lekarzem” mean?", "A", None, None, 6), ("a1_work_professions_t07", None, "topic_test", "application", "professions_vocabulary", 1, "Ta osoba uczy dzieci w szkole. Kim ona jest?", "Этот человек учит детей в школе. Кто она?", "Ця людина вчить дітей у школі. Хто вона?", "This person teaches children at school. Who is she?", "A", None, None, 7), ("a1_work_professions_t08", None, "topic_test", "application", "professions_vocabulary_fem", 1, "Widzisz kobietę, która sprzedaje ubrania w sklepie. Kim ona jest?", "Ты видишь женщину, которая продаёт одежду в магазине. Кто она?", "Ти бачиш жінку, яка продає одяг у магазині. Хто вона?", "You see a woman selling clothes at a shop. Who is she?", "A", None, None, 8), ("a1_work_professions_t09", None, "topic_test", "application", "workplace_locative", 2, "Chcesz powiedzieć, że pracujesz w biurze. Co powiesz?", "Ты хочешь сказать, что работаешь в офисе. Что ты скажешь?", "Ти хочеш сказати, що працюєш в офісі. Що ти скажеш?", "You want to say you work in an office. What do you say?", "A", None, None, 9), ("a1_work_professions_t10", None, "topic_test", "application", "work_schedule", 2, "Kolega pyta, kiedy kończysz pracę. Kończysz o szesnastej. Co powiesz?", "Друг спрашивает, когда ты заканчиваешь работу. Ты заканчиваешь в шестнадцать. Что ты скажешь?", "Друг питає, коли ти закінчуєш роботу. Ти закінчуєш о шістнадцятій. Що ти скажеш?", "A friend asks when you finish work. You finish at four p.m. What do you say?", "A", None, None, 10), ("a1_work_professions_t11", None, "topic_test", "application", "job_search", 3, "Nie masz pracy. Chcesz to powiedzieć koledze. Co powiesz?", "У тебя нет работы. Ты хочешь сказать об этом другу. Что ты скажешь?", "У тебе немає роботи. Ти хочеш сказати про це другу. Що ти скажеш?", "You have no job. You want to tell a friend. What do you say?", "A", None, None, 11), ("a1_work_professions_t12", None, "topic_test", "application", "career_plans", 3, "Marzysz, żeby uczyć dzieci w przyszłości. Co powiesz?", "Ты мечтаешь учить детей в будущем. Что ты скажешь?", "Ти мрієш вчити дітей у майбутньому. Що ти скажеш?", "You dream of teaching children in the future. What do you say?", "A", None, None, 12), ("a1_work_professions_t13", None, "topic_test", "production", "professions_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (продавец)", "Вставьте пропущенное слово: To jest ___. (продавец)", "Вставте пропущене слово: To jest ___. (продавець)", "Fill in the missing word: To jest ___. (salesman)", "sprzedawca", "first_letter", "s", 13), ("a1_work_professions_t14", None, "topic_test", "production", "professions_vocabulary_fem", 1, "Wpisz brakujące słowo: To jest ___. (врач, женщина)", "Вставьте пропущенное слово: To jest ___. (врач, женщина)", "Вставте пропущене слово: To jest ___. (лікарка)", "Fill in the missing word: To jest ___. (female doctor)", "lekarka", "first_letter", "l", 14), ("a1_work_professions_t15", None, "topic_test", "production", "workplace_vocabulary", 2, "Wpisz brakujące słowo: To jest ___. (офис)", "Вставьте пропущенное слово: To jest ___. (офис)", "Вставте пропущене слово: To jest ___. (офіс)", "Fill in the missing word: To jest ___. (office)", "biuro", "first_letter", "b", 15), ("a1_work_professions_t16", None, "topic_test", "production", "workplace_locative", 2, "Wpisz brakujące słowo: Pracuję ___. (в школе)", "Вставьте пропущенное слово: Pracuję ___. (в школе)", "Вставте пропущене слово: Pracuję ___. (в школі)", "Fill in the missing word: Pracuję ___. (at school)", "w szkole", "first_letter", "w", 16), ("a1_work_professions_t17", None, "topic_test", "production", "career_plans", 3, "Wpisz brakujące słowo: Chcę ___ lekarzem. (стать)", "Вставьте пропущенное слово: Chcę ___ lekarzem. (стать)", "Вставте пропущене слово: Chcę ___ lekarzem. (стати)", "Fill in the missing word: Chcę ___ lekarzem. (become)", "zostać", "first_letter", "z", 17), ("a1_work_professions_t18", None, "topic_test", "production", "work_description", 2, "Przetłumacz: «Я работаю поваром в ресторане».", "Переведите: «Я работаю поваром в ресторане».", "Перекладіть: «Я працюю кухарем у ресторані».", "Translate: “I work as a cook at a restaurant.”", "Pracuję jako kucharz w restauracji", "first_letter", "P", 18), ("a1_work_professions_t19", None, "topic_test", "mixed", "job_search", 3, "Wybierz poprawne tłumaczenie: «Я ищу новую работу, потому что хочу стать учителем».", "Выберите правильный перевод: «Я ищу новую работу, потому что хочу стать учителем».", "Виберіть правильний переклад: «Я шукаю нову роботу, тому що хочу стати вчителем».", "Choose the correct translation: “I'm looking for a new job because I want to become a teacher.”", "A", None, None, 19), ("a1_work_professions_t20", None, "topic_test", "mixed", "work_description", 3, "Wybierz poprawne tłumaczenie dialogu: «— Кто ты по профессии? — Я врач, работаю в больнице.»", "Выберите правильный перевод диалога: «— Кто ты по профессии? — Я врач, работаю в больнице.»", "Виберіть правильний переклад діалогу: «— Хто ти за професією? — Я лікар, працюю в лікарні.»", "Choose the correct translation of the dialogue: “— What's your profession? — I'm a doctor, I work at a hospital.”", "A", None, None, 20), ] for q in test_questions_t10: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_work_professions', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t10 = [ ("a1_work_professions_t01", "A", "kucharz", "повар", "кухар", "cook", True, None), ("a1_work_professions_t01", "B", "lekarz", "врач", "лікар", "doctor", False, "wrong_word"), ("a1_work_professions_t01", "C", "nauczyciel", "учитель", "вчитель", "teacher", False, "wrong_word"), ("a1_work_professions_t01", "D", "sprzedawca", "продавец", "продавець", "salesman", False, "wrong_word"), ("a1_work_professions_t02", "A", "sprzedawczyni", "продавщица", "продавщиня", "saleswoman", True, None), ("a1_work_professions_t02", "B", "nauczycielka", "учительница", "вчителька", "female teacher", False, "wrong_word"), ("a1_work_professions_t02", "C", "lekarka", "врач (женщина)", "лікарка", "female doctor", False, "wrong_word"), ("a1_work_professions_t02", "D", "kucharka", "повариха", "кухарка", "female cook", False, "wrong_word"), ("a1_work_professions_t03", "A", "jako", "как (в роли)", "як (у ролі)", "as", True, None), ("a1_work_professions_t03", "B", "jak", "как (сравнение)", "як (порівняння)", "how/like", False, "wrong_word"), ("a1_work_professions_t03", "C", "jaki", "какой", "який", "what kind of", False, "wrong_word"), ("a1_work_professions_t03", "D", "jaka", "какая", "яка", "what kind of (fem.)", False, "wrong_word"), ("a1_work_professions_t04", "A", "nauczycielem", "учителем (тв.)", "вчителем (ор.)", "teacher (instr.)", True, None), ("a1_work_professions_t04", "B", "nauczyciel", "учитель (им.)", "вчитель (наз.)", "teacher (nom.)", False, "wrong_case"), ("a1_work_professions_t04", "C", "nauczyciela", "учителя (род.)", "вчителя (род.)", "teacher (gen.)", False, "wrong_case"), ("a1_work_professions_t04", "D", "nauczycielowi", "учителю (дат.)", "вчителю (дав.)", "teacher (dat.)", False, "wrong_case"), ("a1_work_professions_t05", "A", "szpital", "больница", "лікарня", "hospital", True, None), ("a1_work_professions_t05", "B", "biuro", "офис", "офіс", "office", False, "wrong_word"), ("a1_work_professions_t05", "C", "szkoła", "школа", "школа", "school", False, "wrong_word"), ("a1_work_professions_t05", "D", "sklep", "магазин", "магазин", "shop", False, "wrong_word"), ("a1_work_professions_t06", "A", "Chcę zostać lekarzem.", "Я хочу стать врачом.", "Я хочу стати лікарем.", "I want to become a doctor.", True, None), ("a1_work_professions_t06", "B", "Jestem lekarzem.", "Я врач.", "Я лікар.", "I am a doctor.", False, "wrong_translation"), ("a1_work_professions_t06", "C", "Pracuję jako lekarz.", "Я работаю врачом.", "Я працюю лікарем.", "I work as a doctor.", False, "wrong_translation"), ("a1_work_professions_t06", "D", "Szukam lekarza.", "Я ищу врача.", "Я шукаю лікаря.", "I am looking for a doctor.", False, "wrong_translation"), ("a1_work_professions_t07", "A", "nauczycielka", "учительница", "вчителька", "female teacher", True, None), ("a1_work_professions_t07", "B", "lekarka", "врач (женщина)", "лікарка", "female doctor", False, "wrong_context"), ("a1_work_professions_t07", "C", "kucharka", "повариха", "кухарка", "female cook", False, "wrong_context"), ("a1_work_professions_t07", "D", "sprzedawczyni", "продавщица", "продавщиня", "saleswoman", False, "wrong_context"), ("a1_work_professions_t08", "A", "sprzedawczyni", "продавщица", "продавщиня", "saleswoman", True, None), ("a1_work_professions_t08", "B", "nauczycielka", "учительница", "вчителька", "female teacher", False, "wrong_context"), ("a1_work_professions_t08", "C", "lekarka", "врач (женщина)", "лікарка", "female doctor", False, "wrong_context"), ("a1_work_professions_t08", "D", "kucharka", "повариха", "кухарка", "female cook", False, "wrong_context"), ("a1_work_professions_t09", "A", "Pracuję w biurze.", "Я работаю в офисе.", "Я працюю в офісі.", "I work in an office.", True, None), ("a1_work_professions_t09", "B", "Pracuję biuro.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_work_professions_t09", "C", "Jestem biuro.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_work_professions_t09", "D", "Mam biuro.", "У меня есть офис.", "У мене є офіс.", "I have an office.", False, "wrong_context"), ("a1_work_professions_t10", "A", "Kończę pracę o szesnastej.", "Я заканчиваю работу в шестнадцать.", "Я закінчую роботу о шістнадцятій.", "I finish work at four p.m.", True, None), ("a1_work_professions_t10", "B", "Zaczynam pracę o szesnastej.", "Я начинаю работу в шестнадцать. (неверный контекст)", "Я починаю роботу о шістнадцятій. (невірний контекст)", "I start work at four p.m. (wrong context)", False, "wrong_context"), ("a1_work_professions_t10", "C", "Pracuję szesnaście godzin.", "Я работаю шестнадцать часов.", "Я працюю шістнадцять годин.", "I work sixteen hours.", False, "wrong_context"), ("a1_work_professions_t10", "D", "Jestem w pracy szesnaście.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_work_professions_t11", "A", "Szukam pracy.", "Я ищу работу.", "Я шукаю роботу.", "I'm looking for a job.", True, None), ("a1_work_professions_t11", "B", "Mam pracę.", "У меня есть работа. (противоречит ситуации)", "У мене є робота. (суперечить ситуації)", "I have a job. (contradicts the situation)", False, "wrong_context"), ("a1_work_professions_t11", "C", "Kończę pracę.", "Я заканчиваю работу.", "Я закінчую роботу.", "I'm finishing work.", False, "wrong_context"), ("a1_work_professions_t11", "D", "Zostaję lekarzem.", "Я становлюсь врачом. (не о поиске)", "Я стаю лікарем. (не про пошук)", "I'm becoming a doctor. (not about searching)", False, "wrong_context"), ("a1_work_professions_t12", "A", "Chcę zostać nauczycielką.", "Я хочу стать учительницей.", "Я хочу стати вчителькою.", "I want to become a teacher.", True, None), ("a1_work_professions_t12", "B", "Chcę zostać lekarzem.", "Я хочу стать врачом. (неверная профессия)", "Я хочу стати лікарем. (невірна професія)", "I want to become a doctor. (wrong job)", False, "wrong_context"), ("a1_work_professions_t12", "C", "Jestem nauczycielką.", "Я учительница. (не о мечте)", "Я вчителька. (не про мрію)", "I am a teacher. (not about a dream)", False, "wrong_context"), ("a1_work_professions_t12", "D", "Szukam pracy.", "Я ищу работу. (слишком общее)", "Я шукаю роботу. (занадто загальне)", "I'm looking for a job. (too general)", False, "wrong_context"), ("a1_work_professions_t19", "A", "Szukam nowej pracy, ponieważ chcę zostać nauczycielem.", "Я ищу новую работу, потому что хочу стать учителем.", "Я шукаю нову роботу, тому що хочу стати вчителем.", "I'm looking for a new job because I want to become a teacher.", True, None), ("a1_work_professions_t19", "B", "Mam nową pracę, ponieważ jestem nauczycielem.", "Смысл искажён.", "Сенс спотворено.", "Meaning is reversed.", False, "wrong_translation"), ("a1_work_professions_t19", "C", "Szukam nowej szkoły, ponieważ chcę zostać nauczycielem.", "Неправильное слово.", "Неправильне слово.", "Wrong word.", False, "wrong_word"), ("a1_work_professions_t19", "D", "Nowa praca szukam, chcę nauczyciel zostać.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_work_professions_t20", "A", "Kim jesteś z zawodu? Jestem lekarzem, pracuję w szpitalu.", "Кто ты по профессии? Я врач, работаю в больнице.", "Хто ти за професією? Я лікар, працюю в лікарні.", "What's your profession? I'm a doctor, I work at a hospital.", True, None), ("a1_work_professions_t20", "B", "Gdzie pracujesz? Pracuję w szpitalu jako lekarz.", "Другой вопрос в диалоге.", "Інше питання в діалозі.", "Different question in the dialogue.", False, "wrong_translation"), ("a1_work_professions_t20", "C", "Kim jesteś z zawodu? Jestem nauczycielem, pracuję w szpitalu.", "Неверная профессия.", "Невірна професія.", "Wrong profession.", False, "wrong_word"), ("a1_work_professions_t20", "D", "Kim jesteś z zawodu? Jestem lekarzem, pracuję w szkole.", "Неверное место работы.", "Невірне місце роботи.", "Wrong workplace.", False, "wrong_context"), ] for opt in test_options_t10: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 11: ПОКУПКИ ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_shopping', 'A1', 11, 'Zakupy', 'Покупки', 'Покупки', 'Shopping') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t11 = [ ("a1_shopping_l01", 1, "shopping_vocabulary", "Podstawowe słowa: zakupy", "Основные слова: покупки", "Основні слова: покупки", "Basic shopping words", "Podstawowe słowa związane z zakupami: sklep, kasa, koszyk, torba. „Kasa” i „torba” są rodzaju żeńskiego, „sklep” i „koszyk” są rodzaju męskiego.", "Основные слова, связанные с покупками: sklep (магазин), kasa (касса), koszyk (корзина), torba (сумка). „Kasa” и „torba” женского рода, „sklep” и „koszyk” мужского рода.", "Основні слова, пов'язані з покупками: sklep (магазин), kasa (каса), koszyk (кошик), torba (сумка). „Kasa” і „torba” жіночого роду, „sklep” і „koszyk” чоловічого роду.", "Basic shopping words: sklep (shop), kasa (checkout), koszyk (basket), torba (bag). „Kasa” and „torba” are feminine, „sklep” and „koszyk” are masculine."), ("a1_shopping_l02", 2, "food_vocabulary", "Podstawowe produkty spożywcze", "Основные продукты питания", "Основні продукти харчування", "Basic food products", "Podstawowe produkty spożywcze: chleb, mleko, ser, jabłko. „Chleb” i „ser” są rodzaju męskiego, „mleko” i „jabłko” są rodzaju nijakiego.", "Основные продукты питания: chleb (хлеб), mleko (молоко), ser (сыр), jabłko (яблоко). „Chleb” и „ser” мужского рода, „mleko” и „jabłko” среднего рода.", "Основні продукти харчування: chleb (хліб), mleko (молоко), ser (сир), jabłko (яблуко). „Chleb” і „ser” чоловічого роду, „mleko” і „jabłko” середнього роду.", "Basic food products: chleb (bread), mleko (milk), ser (cheese), jabłko (apple). „Chleb” and „ser” are masculine, „mleko” and „jabłko” are neuter."), ("a1_shopping_l03", 3, "verb_kupowac", "Kupuję, kupujesz — czasownik kupować", "Kupuję, kupujesz — глагол kupować", "Kupuję, kupujesz — дієслово kupować", "Kupuję, kupujesz — the verb kupować", "Czasownika „kupować” używamy, żeby mówić o kupowaniu: ja kupuję, ty kupujesz, on/ona kupuje.", "Глагол „kupować” (покупать) используем, чтобы говорить о покупках: ja kupuję (я покупаю), ty kupujesz (ты покупаешь), on/ona kupuje (он/она покупает).", "Дієслово „kupować” (купувати) використовуємо, щоб говорити про покупки: ja kupuję (я купую), ty kupujesz (ти купуєш), on/ona kupuje (він/вона купує).", "The verb „kupować” (to buy) is used to talk about buying: ja kupuję (I buy), ty kupujesz (you buy), on/ona kupuje (he/she buys)."), ("a1_shopping_l04", 4, "verb_chciec_kupic", "Chcę kupić + biernik", "Chcę kupić + винительный падеж", "Chcę kupić + знахідний відмінок", "Chcę kupić + accusative", "Żeby powiedzieć, co chcemy kupić, używamy „chcę kupić” + biernik: chcę kupić chleb, chcę kupić mleko, chcę kupić ser.", "Чтобы сказать, что мы хотим купить, используем „chcę kupić” + винительный падеж: chcę kupić chleb (я хочу купить хлеб), chcę kupić mleko (я хочу купить молоко).", "Щоб сказати, що ми хочемо купити, використовуємо „chcę kupić” + знахідний відмінок: chcę kupić chleb (я хочу купити хліб), chcę kupić mleko (я хочу купити молоко).", "To say what we want to buy, we use „chcę kupić” + the accusative: chcę kupić chleb (I want to buy bread), chcę kupić mleko (I want to buy milk)."), ("a1_shopping_l05", 5, "prices_ile_kosztuje", "Ile to kosztuje?", "Сколько это стоит?", "Скільки це коштує?", "How much does this cost?", "Pytamy o cenę: „Ile to kosztuje?” albo „Ile kosztuje + mianownik?”: Ile kosztuje chleb? Ile kosztuje mleko?", "Спрашиваем о цене: „Ile to kosztuje?” (Сколько это стоит?) или „Ile kosztuje + именительный падеж?”: Ile kosztuje chleb? (Сколько стоит хлеб?)", "Запитуємо про ціну: „Ile to kosztuje?” (Скільки це коштує?) або „Ile kosztuje + називний відмінок?”: Ile kosztuje chleb? (Скільки коштує хліб?)", "We ask about price with „Ile to kosztuje?” (How much does this cost?) or „Ile kosztuje + nominative?”: Ile kosztuje chleb? (How much does the bread cost?)"), ("a1_shopping_l06", 6, "numbers_prices", "Złoty, złote, złotych", "Злотый, злотых", "Злотий, злотих", "Zloty, zlote, zlotych", "Ceny podajemy liczbą + odpowiednią formą słowa „złoty”: jeden złoty (1), dwa/trzy/cztery złote (2-4), pięć złotych (5 i więcej).", "Цены называем числом + соответствующей формой слова „złoty”: jeden złoty (1), dwa/trzy/cztery złote (2-4), pięć złotych (5 и больше).", "Ціни називаємо числом + відповідною формою слова „złoty”: jeden złoty (1), dwa/trzy/cztery złote (2-4), pięć złotych (5 і більше).", "We give prices with a number + the right form of „złoty”: jeden złoty (1), dwa/trzy/cztery złote (2-4), pięć złotych (5 or more)."), ("a1_shopping_l07", 7, "quantities_genitive", "Kilogram, litr, kawałek + dopełniacz", "Kilogram, litr, kawałek + родительный падеж", "Kilogram, litr, kawałek + родовий відмінок", "Kilogram, litr, kawałek + genitive", "Ilości łączymy z dopełniaczem: kilogram jabłek, litr mleka, kawałek sera.", "Единицы количества требуют родительного падежа: kilogram jabłek (килограмм яблок), litr mleka (литр молока), kawałek sera (кусок сыра).", "Одиниці кількості вимагають родового відмінка: kilogram jabłek (кілограм яблук), litr mleka (літр молока), kawałek sera (шматок сиру).", "Quantity words take the genitive: kilogram jabłek (a kilogram of apples), litr mleka (a liter of milk), kawałek sera (a piece of cheese)."), ("a1_shopping_l08", 8, "potrzebowac", "Potrzebuję + dopełniacz", "Potrzebuję + родительный падеж", "Potrzebuję + родовий відмінок", "Potrzebuję + genitive", "Czasownik „potrzebować” łączy się z dopełniaczem: potrzebuję chleba, potrzebujesz mleka, potrzebuje sera.", "Глагол „potrzebować” (нуждаться) требует родительного падежа: potrzebuję chleba (мне нужен хлеб), potrzebujesz mleka (тебе нужно молоко).", "Дієслово „potrzebować” (потребувати) вимагає родового відмінка: potrzebuję chleba (мені потрібен хліб), potrzebujesz mleka (тобі потрібне молоко).", "The verb „potrzebować” (to need) takes the genitive: potrzebuję chleba (I need bread), potrzebujesz mleka (you need milk)."), ("a1_shopping_l09", 9, "asking_for_help_shop", "Poproszę / Czy mogę prosić o...?", "Poproszę / Можно мне...?", "Poproszę / Можна мені...?", "Poproszę / Could I have...?", "W sklepie prosimy grzecznie: „Poproszę” + biernik/dopełniacz ilości, albo „Czy mogę prosić o + biernik?”: Poproszę chleb. Czy mogę prosić o kilogram jabłek?", "В магазине просим вежливо: „Poproszę” + винительный/родительный падеж количества, или „Czy mogę prosić o + винительный?”: Poproszę chleb (Дайте, пожалуйста, хлеб). Czy mogę prosić o kilogram jabłek? (Можно мне килограмм яблок?)", "У магазині просимо ввічливо: „Poproszę” + знахідний/родовий відмінок кількості, або „Czy mogę prosić o + знахідний?”: Poproszę chleb (Дайте, будь ласка, хліб). Czy mogę prosić o kilogram jabłek? (Можна мені кілограм яблук?)", "In a shop we ask politely with „Poproszę” + the accusative/genitive of quantity, or „Czy mogę prosić o + accusative?”: Poproszę chleb (Bread, please). Czy mogę prosić o kilogram jabłek? (Could I have a kilogram of apples?)"), ("a1_shopping_l10", 10, "shopping_description", "Opisuję swoje zakupy", "Описываю свои покупки", "Описую свої покупки", "Describing my shopping", "Żeby opisać zakupy, łączymy kilka zdań: Idę do sklepu. Kupuję chleb, mleko i ser. Płacę w kasie.", "Чтобы описать покупки, соединяем несколько предложений: Idę do sklepu. Kupuję chleb, mleko i ser. Płacę w kasie. (Я иду в магазин. Я покупаю хлеб, молоко и сыр. Я плачу на кассе.)", "Щоб описати покупки, поєднуємо кілька речень: Idę do sklepu. Kupuję chleb, mleko i ser. Płacę w kasie. (Я йду до магазину. Я купую хліб, молоко і сир. Я плачу на касі.)", "To describe shopping, we combine several sentences: Idę do sklepu. Kupuję chleb, mleko i ser. Płacę w kasie. (I'm going to the shop. I'm buying bread, milk and cheese. I pay at the checkout.)"), ] for lesson in lessons_t11: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_shopping', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t11 = [ ("a1_shopping_l01", 1, "To jest sklep.", "Это магазин.", "Це магазин.", "This is a shop."), ("a1_shopping_l01", 2, "To jest koszyk.", "Это корзина.", "Це кошик.", "This is a basket."), ("a1_shopping_l01", 3, "To jest kasa.", "Это касса.", "Це каса.", "This is a checkout."), ("a1_shopping_l02", 1, "To jest chleb.", "Это хлеб.", "Це хліб.", "This is bread."), ("a1_shopping_l02", 2, "To jest mleko.", "Это молоко.", "Це молоко.", "This is milk."), ("a1_shopping_l02", 3, "To jest ser.", "Это сыр.", "Це сир.", "This is cheese."), ("a1_shopping_l03", 1, "Kupuję chleb.", "Я покупаю хлеб.", "Я купую хліб.", "I'm buying bread."), ("a1_shopping_l03", 2, "Kupujesz mleko?", "Ты покупаешь молоко?", "Ти купуєш молоко?", "Are you buying milk?"), ("a1_shopping_l03", 3, "Ona kupuje jabłka.", "Она покупает яблоки.", "Вона купує яблука.", "She's buying apples."), ("a1_shopping_l04", 1, "Chcę kupić chleb.", "Я хочу купить хлеб.", "Я хочу купити хліб.", "I want to buy bread."), ("a1_shopping_l04", 2, "Chcesz kupić ser?", "Ты хочешь купить сыр?", "Ти хочеш купити сир?", "Do you want to buy cheese?"), ("a1_shopping_l04", 3, "On chce kupić jabłka.", "Он хочет купить яблоки.", "Він хоче купити яблука.", "He wants to buy apples."), ("a1_shopping_l05", 1, "Ile to kosztuje?", "Сколько это стоит?", "Скільки це коштує?", "How much does this cost?"), ("a1_shopping_l05", 2, "Ile kosztuje chleb?", "Сколько стоит хлеб?", "Скільки коштує хліб?", "How much does the bread cost?"), ("a1_shopping_l05", 3, "Ten ser kosztuje dziesięć złotych.", "Этот сыр стоит десять злотых.", "Цей сир коштує десять злотих.", "This cheese costs ten zlotys."), ("a1_shopping_l06", 1, "To kosztuje jeden złoty.", "Это стоит один злотый.", "Це коштує один злотий.", "This costs one zloty."), ("a1_shopping_l06", 2, "To kosztuje trzy złote.", "Это стоит три злотых.", "Це коштує три злотих.", "This costs three zlotys."), ("a1_shopping_l06", 3, "To kosztuje dziesięć złotych.", "Это стоит десять злотых.", "Це коштує десять злотих.", "This costs ten zlotys."), ("a1_shopping_l07", 1, "Poproszę kilogram jabłek.", "Дайте, пожалуйста, килограмм яблок.", "Дайте, будь ласка, кілограм яблук.", "A kilogram of apples, please."), ("a1_shopping_l07", 2, "Kupuję litr mleka.", "Я покупаю литр молока.", "Я купую літр молока.", "I'm buying a liter of milk."), ("a1_shopping_l07", 3, "Chcę kawałek sera.", "Я хочу кусок сыра.", "Я хочу шматок сиру.", "I want a piece of cheese."), ("a1_shopping_l08", 1, "Potrzebuję chleba.", "Мне нужен хлеб.", "Мені потрібен хліб.", "I need bread."), ("a1_shopping_l08", 2, "Potrzebujesz mleka?", "Тебе нужно молоко?", "Тобі потрібне молоко?", "Do you need milk?"), ("a1_shopping_l08", 3, "Ona potrzebuje jabłek.", "Ей нужны яблоки.", "Їй потрібні яблука.", "She needs apples."), ("a1_shopping_l09", 1, "Poproszę chleb.", "Дайте, пожалуйста, хлеб.", "Дайте, будь ласка, хліб.", "Bread, please."), ("a1_shopping_l09", 2, "Czy mogę prosić o kilogram jabłek?", "Можно мне килограмм яблок, пожалуйста?", "Можна мені кілограм яблук, будь ласка?", "Could I have a kilogram of apples, please?"), ("a1_shopping_l09", 3, "Poproszę litr mleka.", "Дайте, пожалуйста, литр молока.", "Дайте, будь ласка, літр молока.", "A liter of milk, please."), ("a1_shopping_l10", 1, "Idę do sklepu.", "Я иду в магазин.", "Я йду до магазину.", "I'm going to the shop."), ("a1_shopping_l10", 2, "Kupuję chleb, mleko i ser.", "Я покупаю хлеб, молоко и сыр.", "Я купую хліб, молоко і сир.", "I'm buying bread, milk and cheese."), ("a1_shopping_l10", 3, "Płacę w kasie.", "Я плачу на кассе.", "Я плачу на касі.", "I pay at the checkout."), ] for ex in examples_t11: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t11 = [ # L01 — shopping_vocabulary (difficulty 1) ("a1_shopping_l01_q1", "a1_shopping_l01", "lesson_practice", "recognition", "shopping_vocabulary", 1, "Jak po polsku „сумка”?", "Как по-польски «сумка»?", "Як польською «сумка»?", "How do you say “bag” in Polish?", "A", None, None), ("a1_shopping_l01_q2", "a1_shopping_l01", "lesson_practice", "production", "shopping_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (корзина)", "Вставьте пропущенное слово: To jest ___. (корзина)", "Вставте пропущене слово: To jest ___. (кошик)", "Fill in the missing word: To jest ___. (basket)", "koszyk", "first_letter", "k"), ("a1_shopping_l01_q3", "a1_shopping_l01", "lesson_practice", "application", "shopping_vocabulary", 1, "Chcesz zapłacić za zakupy. Dokąd idziesz?", "Ты хочешь заплатить за покупки. Куда ты идёшь?", "Ти хочеш заплатити за покупки. Куди ти йдеш?", "You want to pay for your shopping. Where do you go?", "A", None, None), # L02 — food_vocabulary (difficulty 1) ("a1_shopping_l02_q1", "a1_shopping_l02", "lesson_practice", "recognition", "food_vocabulary", 1, "Jak po polsku „молоко”?", "Как по-польски «молоко»?", "Як польською «молоко»?", "How do you say “milk” in Polish?", "A", None, None), ("a1_shopping_l02_q2", "a1_shopping_l02", "lesson_practice", "production", "food_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (яблоко)", "Вставьте пропущенное слово: To jest ___. (яблоко)", "Вставте пропущене слово: To jest ___. (яблуко)", "Fill in the missing word: To jest ___. (apple)", "jabłko", "first_letter", "j"), ("a1_shopping_l02_q3", "a1_shopping_l02", "lesson_practice", "application", "food_vocabulary", 1, "Widzisz na półce żółty produkt zrobiony z mleka. Co to jest?", "Ты видишь на полке жёлтый продукт из молока. Что это?", "Ти бачиш на полиці жовтий продукт з молока. Що це?", "You see a yellow product made from milk on the shelf. What is it?", "A", None, None), # L03 — verb_kupowac (difficulty 1) ("a1_shopping_l03_q1", "a1_shopping_l03", "lesson_practice", "recognition", "verb_kupowac", 1, "Wybierz poprawną formę: Ja ___. (kupować)", "Выберите правильную форму: Ja ___. (kupować)", "Виберіть правильну форму: Ja ___. (kupować)", "Choose the correct form: Ja ___. (kupować)", "A", None, None), ("a1_shopping_l03_q2", "a1_shopping_l03", "lesson_practice", "production", "verb_kupowac", 1, "Wpisz brakujące słowo: Ty ___ ser. (покупаешь)", "Вставьте пропущенное слово: Ty ___ ser. (покупаешь)", "Вставте пропущене слово: Ty ___ ser. (купуєш)", "Fill in the missing word: Ty ___ ser. (you buy)", "kupujesz", "first_letter", "k"), ("a1_shopping_l03_q3", "a1_shopping_l03", "lesson_practice", "application", "verb_kupowac", 1, "Jesteś w sklepie i bierzesz chleb do koszyka. Co robisz?", "Ты в магазине и берёшь хлеб в корзину. Что ты делаешь?", "Ти в магазині і береш хліб у кошик. Що ти робиш?", "You're at the shop putting bread in your basket. What are you doing?", "A", None, None), # L04 — verb_chciec_kupic (difficulty 1) ("a1_shopping_l04_q1", "a1_shopping_l04", "lesson_practice", "recognition", "verb_chciec_kupic", 1, "Wybierz poprawną formę: Chcę kupić ___. (mleko)", "Выберите правильную форму: Chcę kupić ___. (mleko)", "Виберіть правильну форму: Chcę kupić ___. (mleko)", "Choose the correct form: Chcę kupić ___. (mleko)", "A", None, None), ("a1_shopping_l04_q2", "a1_shopping_l04", "lesson_practice", "production", "verb_chciec_kupic", 1, "Wpisz brakujące słowo: Chcę kupić ___. (сыр)", "Вставьте пропущенное слово: Chcę kupić ___. (сыр)", "Вставте пропущене слово: Chcę kupić ___. (сир)", "Fill in the missing word: Chcę kupić ___. (cheese)", "ser", "first_letter", "s"), ("a1_shopping_l04_q3", "a1_shopping_l04", "lesson_practice", "application", "verb_chciec_kupic", 1, "Jesteś w sklepie i chcesz kupić chleb. Co powiesz sprzedawcy?", "Ты в магазине и хочешь купить хлеб. Что ты скажешь продавцу?", "Ти в магазині і хочеш купити хліб. Що ти скажеш продавцю?", "You're at the shop and want to buy bread. What do you tell the seller?", "A", None, None), # L05 — prices_ile_kosztuje (difficulty 2) ("a1_shopping_l05_q1", "a1_shopping_l05", "lesson_practice", "recognition", "prices_ile_kosztuje", 2, "Co znaczy „Ile to kosztuje?”", "Что означает «Ile to kosztuje?»", "Що означає «Ile to kosztuje?»", "What does “Ile to kosztuje?” mean?", "A", None, None), ("a1_shopping_l05_q2", "a1_shopping_l05", "lesson_practice", "production", "prices_ile_kosztuje", 2, "Wpisz brakujące słowo: ___ kosztuje chleb? (сколько)", "Вставьте пропущенное слово: ___ kosztuje chleb? (сколько)", "Вставте пропущене слово: ___ kosztuje chleb? (скільки)", "Fill in the missing word: ___ kosztuje chleb? (how much)", "Ile", "first_letter", "I"), ("a1_shopping_l05_q3", "a1_shopping_l05", "lesson_practice", "application", "prices_ile_kosztuje", 2, "Chcesz zapytać sprzedawcę o cenę mleka. Co powiesz?", "Ты хочешь спросить продавца о цене молока. Что ты скажешь?", "Ти хочеш запитати продавця про ціну молока. Що ти скажеш?", "You want to ask the seller the price of milk. What do you say?", "A", None, None), # L06 — numbers_prices (difficulty 2) ("a1_shopping_l06_q1", "a1_shopping_l06", "lesson_practice", "recognition", "numbers_prices", 2, "Wybierz poprawną formę: To kosztuje pięć ___. (złoty)", "Выберите правильную форму: To kosztuje pięć ___. (złoty)", "Виберіть правильну форму: To kosztuje pięć ___. (złoty)", "Choose the correct form: To kosztuje pięć ___. (złoty)", "A", None, None), ("a1_shopping_l06_q2", "a1_shopping_l06", "lesson_practice", "production", "numbers_prices", 2, "Wpisz brakujące słowo: To kosztuje dwa ___. (злотых, 2-4)", "Вставьте пропущенное слово: To kosztuje dwa ___. (злотых, 2-4)", "Вставте пропущене слово: To kosztuje dwa ___. (злотих, 2-4)", "Fill in the missing word: To kosztuje dwa ___. (zlotys, 2-4)", "złote", "first_letter", "z"), ("a1_shopping_l06_q3", "a1_shopping_l06", "lesson_practice", "application", "numbers_prices", 2, "Chleb kosztuje trzy złote. Jak to powiesz?", "Хлеб стоит три злотых. Как ты это скажешь?", "Хліб коштує три злотих. Як ти це скажеш?", "The bread costs three zlotys. How do you say it?", "A", None, None), # L07 — quantities_genitive (difficulty 2) ("a1_shopping_l07_q1", "a1_shopping_l07", "lesson_practice", "recognition", "quantities_genitive", 2, "Wybierz poprawną formę: kilogram ___. (jabłka)", "Выберите правильную форму: kilogram ___. (jabłka)", "Виберіть правильну форму: kilogram ___. (jabłka)", "Choose the correct form: kilogram ___. (jabłka)", "A", None, None), ("a1_shopping_l07_q2", "a1_shopping_l07", "lesson_practice", "production", "quantities_genitive", 2, "Wpisz brakujące słowo: litr ___. (молока)", "Вставьте пропущенное слово: litr ___. (молока)", "Вставте пропущене слово: litr ___. (молока)", "Fill in the missing word: litr ___. (of milk)", "mleka", "first_letter", "m"), ("a1_shopping_l07_q3", "a1_shopping_l07", "lesson_practice", "application", "quantities_genitive", 2, "Chcesz kupić duży kawałek sera. Co powiesz?", "Ты хочешь купить большой кусок сыра. Что ты скажешь?", "Ти хочеш купити великий шматок сиру. Що ти скажеш?", "You want to buy a big piece of cheese. What do you say?", "A", None, None), # L08 — potrzebowac (difficulty 2) ("a1_shopping_l08_q1", "a1_shopping_l08", "lesson_practice", "recognition", "potrzebowac", 2, "Wybierz poprawną formę: Potrzebuję ___. (chleb)", "Выберите правильную форму: Potrzebuję ___. (chleb)", "Виберіть правильну форму: Potrzebuję ___. (chleb)", "Choose the correct form: Potrzebuję ___. (chleb)", "A", None, None), ("a1_shopping_l08_q2", "a1_shopping_l08", "lesson_practice", "production", "potrzebowac", 2, "Wpisz brakujące słowo: Potrzebuję ___. (сыра)", "Вставьте пропущенное слово: Potrzebuję ___. (сыра)", "Вставте пропущене слово: Potrzebuję ___. (сиру)", "Fill in the missing word: Potrzebuję ___. (cheese)", "sera", "first_letter", "s"), ("a1_shopping_l08_q3", "a1_shopping_l08", "lesson_practice", "application", "potrzebowac", 2, "W lodówce nie masz mleka. Co powiesz?", "У тебя в холодильнике нет молока. Что ты скажешь?", "У тебе в холодильнику немає молока. Що ти скажеш?", "You have no milk in the fridge. What do you say?", "A", None, None), # L09 — asking_for_help_shop (difficulty 3) ("a1_shopping_l09_q1", "a1_shopping_l09", "lesson_practice", "recognition", "asking_for_help_shop", 3, "Co znaczy „Czy mogę prosić o kilogram jabłek?”", "Что означает «Czy mogę prosić o kilogram jabłek?»", "Що означає «Czy mogę prosić o kilogram jabłek?»", "What does “Czy mogę prosić o kilogram jabłek?” mean?", "A", None, None), ("a1_shopping_l09_q2", "a1_shopping_l09", "lesson_practice", "production", "asking_for_help_shop", 3, "Wpisz brakujące słowo: ___ chleb. (дайте, пожалуйста)", "Вставьте пропущенное слово: ___ chleb. (дайте, пожалуйста)", "Вставте пропущене слово: ___ chleb. (дайте, будь ласка)", "Fill in the missing word: ___ chleb. (please, may I have)", "Poproszę", "first_letter", "P"), ("a1_shopping_l09_q3", "a1_shopping_l09", "lesson_practice", "application", "asking_for_help_shop", 3, "Jesteś w sklepie i grzecznie prosisz o ser. Co powiesz?", "Ты в магазине и вежливо просишь сыр. Что ты скажешь?", "Ти в магазині і ввічливо просиш сир. Що ти скажеш?", "You're at the shop and politely ask for cheese. What do you say?", "A", None, None), # L10 — shopping_description (difficulty 3) ("a1_shopping_l10_q1", "a1_shopping_l10", "lesson_practice", "recognition", "shopping_description", 3, "Które zdanie poprawnie opisuje zakupy?", "Какое предложение правильно описывает покупки?", "Яке речення правильно описує покупки?", "Which sentence correctly describes shopping?", "A", None, None), ("a1_shopping_l10_q2", "a1_shopping_l10", "lesson_practice", "production", "shopping_description", 3, "Przetłumacz: «Я плачу на кассе».", "Переведите: «Я плачу на кассе».", "Перекладіть: «Я плачу на касі».", "Translate: “I pay at the checkout.”", "Płacę w kasie", "first_letter", "P"), ("a1_shopping_l10_q3", "a1_shopping_l10", "lesson_practice", "application", "shopping_description", 3, "Chcesz opisać koledze swoje zakupy: idziesz do sklepu, kupujesz chleb i mleko, płacisz w kasie. Jak zaczniesz zdanie?", "Ты хочешь описать другу свои покупки: идёшь в магазин, покупаешь хлеб и молоко, платишь на кассе. Как ты начнёшь предложение?", "Ти хочеш описати другу свої покупки: йдеш до магазину, купуєш хліб і молоко, платиш на касі. Як ти почнеш речення?", "You want to describe your shopping trip to a friend: you go to the shop, buy bread and milk, pay at the checkout. How do you start the sentence?", "A", None, None), ] for q in questions_t11: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_shopping', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t11 = [ # L01 ("a1_shopping_l01_q1", "A", "torba", "сумка", "сумка", "bag", True, None), ("a1_shopping_l01_q1", "B", "koszyk", "корзина", "кошик", "basket", False, "wrong_word"), ("a1_shopping_l01_q1", "C", "kasa", "касса", "каса", "checkout", False, "wrong_word"), ("a1_shopping_l01_q1", "D", "sklep", "магазин", "магазин", "shop", False, "wrong_word"), ("a1_shopping_l01_q3", "A", "kasa", "касса", "каса", "checkout", True, None), ("a1_shopping_l01_q3", "B", "koszyk", "корзина", "кошик", "basket", False, "wrong_context"), ("a1_shopping_l01_q3", "C", "torba", "сумка", "сумка", "bag", False, "wrong_context"), ("a1_shopping_l01_q3", "D", "sklep", "магазин", "магазин", "shop", False, "wrong_context"), # L02 ("a1_shopping_l02_q1", "A", "mleko", "молоко", "молоко", "milk", True, None), ("a1_shopping_l02_q1", "B", "chleb", "хлеб", "хліб", "bread", False, "wrong_word"), ("a1_shopping_l02_q1", "C", "ser", "сыр", "сир", "cheese", False, "wrong_word"), ("a1_shopping_l02_q1", "D", "jabłko", "яблоко", "яблуко", "apple", False, "wrong_word"), ("a1_shopping_l02_q3", "A", "ser", "сыр", "сир", "cheese", True, None), ("a1_shopping_l02_q3", "B", "chleb", "хлеб", "хліб", "bread", False, "wrong_context"), ("a1_shopping_l02_q3", "C", "mleko", "молоко", "молоко", "milk", False, "wrong_context"), ("a1_shopping_l02_q3", "D", "jabłko", "яблоко", "яблуко", "apple", False, "wrong_context"), # L03 ("a1_shopping_l03_q1", "A", "kupuję", "покупаю", "купую", "buy (I)", True, None), ("a1_shopping_l03_q1", "B", "kupujesz", "покупаешь", "купуєш", "buy (you)", False, "wrong_word"), ("a1_shopping_l03_q1", "C", "kupuje", "покупает", "купує", "buys", False, "wrong_word"), ("a1_shopping_l03_q1", "D", "kupować", "покупать", "купувати", "to buy", False, "wrong_word"), ("a1_shopping_l03_q3", "A", "Kupuję chleb.", "Я покупаю хлеб.", "Я купую хліб.", "I'm buying bread.", True, None), ("a1_shopping_l03_q3", "B", "Sprzedaję chleb.", "Я продаю хлеб.", "Я продаю хліб.", "I'm selling bread.", False, "wrong_context"), ("a1_shopping_l03_q3", "C", "Mam chleb.", "У меня есть хлеб.", "У мене є хліб.", "I have bread.", False, "wrong_context"), ("a1_shopping_l03_q3", "D", "Szukam chleba.", "Я ищу хлеб.", "Я шукаю хліб.", "I'm looking for bread.", False, "wrong_context"), # L04 ("a1_shopping_l04_q1", "A", "mleko", "молоко (вин.)", "молоко (знах.)", "milk (acc.)", True, None), ("a1_shopping_l04_q1", "B", "mleka", "молока (род.)", "молока (род.)", "milk (gen.)", False, "wrong_case"), ("a1_shopping_l04_q1", "C", "mlekiem", "молоком (тв.)", "молоком (ор.)", "milk (instr.)", False, "wrong_case"), ("a1_shopping_l04_q1", "D", "mleku", "молоке (местн.)", "молоці (місц.)", "milk (loc.)", False, "wrong_case"), ("a1_shopping_l04_q3", "A", "Chcę kupić chleb.", "Я хочу купить хлеб.", "Я хочу купити хліб.", "I want to buy bread.", True, None), ("a1_shopping_l04_q3", "B", "Kupuję chleb wczoraj.", "Неправильное время.", "Неправильний час.", "Wrong tense.", False, "wrong_sentence_type"), ("a1_shopping_l04_q3", "C", "Sprzedaję chleb.", "Я продаю хлеб.", "Я продаю хліб.", "I'm selling bread.", False, "wrong_context"), ("a1_shopping_l04_q3", "D", "Mam chleb.", "У меня есть хлеб.", "У мене є хліб.", "I have bread.", False, "wrong_context"), # L05 ("a1_shopping_l05_q1", "A", "Ile to kosztuje?", "Сколько это стоит?", "Скільки це коштує?", "How much does this cost?", True, None), ("a1_shopping_l05_q1", "B", "Co to jest?", "Что это?", "Що це?", "What is this?", False, "wrong_translation"), ("a1_shopping_l05_q1", "C", "Gdzie to jest?", "Где это?", "Де це?", "Where is this?", False, "wrong_translation"), ("a1_shopping_l05_q1", "D", "Kiedy to jest?", "Когда это?", "Коли це?", "When is this?", False, "wrong_translation"), ("a1_shopping_l05_q3", "A", "Ile kosztuje mleko?", "Сколько стоит молоко?", "Скільки коштує молоко?", "How much does the milk cost?", True, None), ("a1_shopping_l05_q3", "B", "Co to jest mleko?", "Что это молоко? (неверная конструкция)", "Що це молоко? (невірна конструкція)", "What is this milk? (wrong construction)", False, "wrong_sentence_type"), ("a1_shopping_l05_q3", "C", "Gdzie jest mleko?", "Где молоко? (неверный вопрос)", "Де молоко? (невірне питання)", "Where is the milk? (wrong question)", False, "wrong_context"), ("a1_shopping_l05_q3", "D", "Chcę mleko.", "Я хочу молоко. (не о цене)", "Я хочу молоко. (не про ціну)", "I want milk. (not about price)", False, "wrong_context"), # L06 ("a1_shopping_l06_q1", "A", "złotych", "злотых (5+)", "злотих (5+)", "zlotys (5+)", True, None), ("a1_shopping_l06_q1", "B", "złote", "злотых (2-4)", "злотих (2-4)", "zlotys (2-4)", False, "wrong_number"), ("a1_shopping_l06_q1", "C", "złoty", "злотый (1)", "злотий (1)", "zloty (1)", False, "wrong_number"), ("a1_shopping_l06_q1", "D", "złotego", "неправильная форма", "неправильна форма", "wrong form", False, "wrong_case"), ("a1_shopping_l06_q3", "A", "Chleb kosztuje trzy złote.", "Хлеб стоит три злотых.", "Хліб коштує три злотих.", "The bread costs three zlotys.", True, None), ("a1_shopping_l06_q3", "B", "Chleb kosztuje trzy złoty.", "Неправильная форма числа.", "Неправильна форма числа.", "Wrong numeral form.", False, "wrong_number"), ("a1_shopping_l06_q3", "C", "Chleb kosztuje trzy złotych.", "Неправильная форма числа.", "Неправильна форма числа.", "Wrong numeral form.", False, "wrong_number"), ("a1_shopping_l06_q3", "D", "Chleb jest za darmo.", "Хлеб бесплатный. (противоречит ситуации)", "Хліб безкоштовний. (суперечить ситуації)", "The bread is free. (contradicts the situation)", False, "wrong_context"), # L07 ("a1_shopping_l07_q1", "A", "jabłek", "яблок (род. мн.)", "яблук (род. мн.)", "apples (gen. pl.)", True, None), ("a1_shopping_l07_q1", "B", "jabłka", "яблоки (им. мн.)", "яблука (наз. мн.)", "apples (nom. pl.)", False, "wrong_case"), ("a1_shopping_l07_q1", "C", "jabłkiem", "яблоком (тв.)", "яблуком (ор.)", "apple (instr.)", False, "wrong_case"), ("a1_shopping_l07_q1", "D", "jabłku", "яблоке (местн.)", "яблуці (місц.)", "apple (loc.)", False, "wrong_case"), ("a1_shopping_l07_q3", "A", "Poproszę kawałek sera.", "Дайте, пожалуйста, кусок сыра.", "Дайте, будь ласка, шматок сиру.", "A piece of cheese, please.", True, None), ("a1_shopping_l07_q3", "B", "Poproszę kawałek chleba.", "Дайте, пожалуйста, кусок хлеба. (неверный продукт)", "Дайте, будь ласка, шматок хліба. (невірний продукт)", "A piece of bread, please. (wrong product)", False, "wrong_context"), ("a1_shopping_l07_q3", "C", "Mam kawałek sera.", "У меня есть кусок сыра.", "У мене є шматок сиру.", "I have a piece of cheese.", False, "wrong_context"), ("a1_shopping_l07_q3", "D", "Sprzedaję kawałek sera.", "Я продаю кусок сыра.", "Я продаю шматок сиру.", "I'm selling a piece of cheese.", False, "wrong_context"), # L08 ("a1_shopping_l08_q1", "A", "chleba", "хлеба (род.)", "хліба (род.)", "bread (gen.)", True, None), ("a1_shopping_l08_q1", "B", "chleb", "хлеб (им.)", "хліб (наз.)", "bread (nom.)", False, "wrong_case"), ("a1_shopping_l08_q1", "C", "chlebem", "хлебом (тв.)", "хлібом (ор.)", "bread (instr.)", False, "wrong_case"), ("a1_shopping_l08_q1", "D", "chlebowi", "хлебу (дат.)", "хлібу (дав.)", "bread (dat.)", False, "wrong_case"), ("a1_shopping_l08_q3", "A", "Potrzebuję mleka.", "Мне нужно молоко.", "Мені потрібне молоко.", "I need milk.", True, None), ("a1_shopping_l08_q3", "B", "Mam mleko.", "У меня есть молоко. (противоречит ситуации)", "У мене є молоко. (суперечить ситуації)", "I have milk. (contradicts the situation)", False, "wrong_context"), ("a1_shopping_l08_q3", "C", "Kupuję mleko wczoraj.", "Неправильное время.", "Неправильний час.", "Wrong tense.", False, "wrong_sentence_type"), ("a1_shopping_l08_q3", "D", "Sprzedaję mleko.", "Я продаю молоко.", "Я продаю молоко.", "I'm selling milk.", False, "wrong_context"), # L09 ("a1_shopping_l09_q1", "A", "Czy mogę prosić o kilogram jabłek?", "Можно мне килограмм яблок, пожалуйста?", "Можна мені кілограм яблук, будь ласка?", "Could I have a kilogram of apples, please?", True, None), ("a1_shopping_l09_q1", "B", "Ile kosztuje kilogram jabłek?", "Сколько стоит килограмм яблок?", "Скільки коштує кілограм яблук?", "How much does a kilogram of apples cost?", False, "wrong_translation"), ("a1_shopping_l09_q1", "C", "Gdzie są jabłka?", "Где яблоки?", "Де яблука?", "Where are the apples?", False, "wrong_translation"), ("a1_shopping_l09_q1", "D", "Nie lubię jabłek.", "Я не люблю яблоки.", "Я не люблю яблука.", "I don't like apples.", False, "wrong_translation"), ("a1_shopping_l09_q3", "A", "Poproszę ser.", "Дайте, пожалуйста, сыр.", "Дайте, будь ласка, сир.", "Cheese, please.", True, None), ("a1_shopping_l09_q3", "B", "Daj ser!", "Дай сыр! (грубо)", "Дай сир! (грубо)", "Give me cheese! (rude)", False, "wrong_sentence_type"), ("a1_shopping_l09_q3", "C", "Chcę ser teraz!", "Я хочу сыр сейчас! (грубо)", "Я хочу сир зараз! (грубо)", "I want cheese now! (rude)", False, "wrong_sentence_type"), ("a1_shopping_l09_q3", "D", "Ser jest mój.", "Сыр мой.", "Сир мій.", "The cheese is mine.", False, "wrong_context"), # L10 ("a1_shopping_l10_q1", "A", "Idę do sklepu i kupuję chleb.", "Я иду в магазин и покупаю хлеб.", "Я йду до магазину і купую хліб.", "I'm going to the shop and buying bread.", True, None), ("a1_shopping_l10_q1", "B", "Idę do sklep i kupuję chleb.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_shopping_l10_q1", "C", "Jestem sklep kupuję chleb.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_shopping_l10_q1", "D", "Idę do szkoły i kupuję chleb.", "Неверное место. (не соответствует контексту покупок)", "Невірне місце. (не відповідає контексту покупок)", "Wrong place. (doesn't match the shopping context)", False, "wrong_context"), ("a1_shopping_l10_q3", "A", "Idę do sklepu i kupuję chleb i mleko.", "Я иду в магазин и покупаю хлеб и молоко.", "Я йду до магазину і купую хліб і молоко.", "I'm going to the shop and buying bread and milk.", True, None), ("a1_shopping_l10_q3", "B", "Jestem sklep i mam chleb.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_shopping_l10_q3", "C", "Sklep idę kupuję.", "Неправильный порядок слов и падеж.", "Неправильний порядок слів і відмінок.", "Wrong word order and case.", False, "wrong_sentence_type"), ("a1_shopping_l10_q3", "D", "Chcę kupić sklep.", "Я хочу купить магазин. (неверный смысл)", "Я хочу купити магазин. (невірний сенс)", "I want to buy the shop. (wrong meaning)", False, "wrong_context"), ] for opt in options_t11: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t11 = [ ("a1_shopping_t01", None, "topic_test", "recognition", "shopping_vocabulary", 1, "Jak po polsku „сумка”?", "Как по-польски «сумка»?", "Як польською «сумка»?", "How do you say “bag” in Polish?", "A", None, None, 1), ("a1_shopping_t02", None, "topic_test", "recognition", "food_vocabulary", 1, "Jak po polsku „молоко”?", "Как по-польски «молоко»?", "Як польською «молоко»?", "How do you say “milk” in Polish?", "A", None, None, 2), ("a1_shopping_t03", None, "topic_test", "recognition", "verb_kupowac", 1, "Wybierz poprawną formę: Ona ___. (kupować)", "Выберите правильную форму: Ona ___. (kupować)", "Виберіть правильну форму: Ona ___. (kupować)", "Choose the correct form: Ona ___. (kupować)", "A", None, None, 3), ("a1_shopping_t04", None, "topic_test", "recognition", "verb_chciec_kupic", 2, "Wybierz poprawną formę: Chcę kupić ___. (ser)", "Выберите правильную форму: Chcę kupić ___. (ser)", "Виберіть правильну форму: Chcę kupić ___. (ser)", "Choose the correct form: Chcę kupić ___. (ser)", "A", None, None, 4), ("a1_shopping_t05", None, "topic_test", "recognition", "prices_ile_kosztuje", 2, "Co znaczy „Ile to kosztuje?”", "Что означает «Ile to kosztuje?»", "Що означає «Ile to kosztuje?»", "What does “Ile to kosztuje?” mean?", "A", None, None, 5), ("a1_shopping_t06", None, "topic_test", "recognition", "asking_for_help_shop", 3, "Co znaczy „Czy mogę prosić o kilogram jabłek?”", "Что означает «Czy mogę prosić o kilogram jabłek?»", "Що означає «Czy mogę prosić o kilogram jabłek?»", "What does “Czy mogę prosić o kilogram jabłek?” mean?", "A", None, None, 6), ("a1_shopping_t07", None, "topic_test", "application", "shopping_vocabulary", 1, "Chcesz zapłacić za zakupy. Dokąd idziesz?", "Ты хочешь заплатить за покупки. Куда ты идёшь?", "Ти хочеш заплатити за покупки. Куди ти йдеш?", "You want to pay for your shopping. Where do you go?", "A", None, None, 7), ("a1_shopping_t08", None, "topic_test", "application", "food_vocabulary", 1, "Widzisz na półce żółty produkt zrobiony z mleka. Co to jest?", "Ты видишь на полке жёлтый продукт из молока. Что это?", "Ти бачиш на полиці жовтий продукт з молока. Що це?", "You see a yellow product made from milk on the shelf. What is it?", "A", None, None, 8), ("a1_shopping_t09", None, "topic_test", "application", "numbers_prices", 2, "Chleb kosztuje trzy złote. Jak to powiesz?", "Хлеб стоит три злотых. Как ты это скажешь?", "Хліб коштує три злотих. Як ти це скажеш?", "The bread costs three zlotys. How do you say it?", "A", None, None, 9), ("a1_shopping_t10", None, "topic_test", "application", "quantities_genitive", 2, "Chcesz kupić duży kawałek sera. Co powiesz?", "Ты хочешь купить большой кусок сыра. Что ты скажешь?", "Ти хочеш купити великий шматок сиру. Що ти скажеш?", "You want to buy a big piece of cheese. What do you say?", "A", None, None, 10), ("a1_shopping_t11", None, "topic_test", "application", "potrzebowac", 3, "W lodówce nie masz mleka. Co powiesz?", "У тебя в холодильнике нет молока. Что ты скажешь?", "У тебе в холодильнику немає молока. Що ти скажеш?", "You have no milk in the fridge. What do you say?", "A", None, None, 11), ("a1_shopping_t12", None, "topic_test", "application", "asking_for_help_shop", 3, "Jesteś w sklepie i grzecznie prosisz o ser. Co powiesz?", "Ты в магазине и вежливо просишь сыр. Что ты скажешь?", "Ти в магазині і ввічливо просиш сир. Що ти скажеш?", "You're at the shop and politely ask for cheese. What do you say?", "A", None, None, 12), ("a1_shopping_t13", None, "topic_test", "production", "shopping_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (корзина)", "Вставьте пропущенное слово: To jest ___. (корзина)", "Вставте пропущене слово: To jest ___. (кошик)", "Fill in the missing word: To jest ___. (basket)", "koszyk", "first_letter", "k", 13), ("a1_shopping_t14", None, "topic_test", "production", "food_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (яблоко)", "Вставьте пропущенное слово: To jest ___. (яблоко)", "Вставте пропущене слово: To jest ___. (яблуко)", "Fill in the missing word: To jest ___. (apple)", "jabłko", "first_letter", "j", 14), ("a1_shopping_t15", None, "topic_test", "production", "numbers_prices", 2, "Wpisz brakujące słowo: To kosztuje dwa ___. (злотых, 2-4)", "Вставьте пропущенное слово: To kosztuje dwa ___. (злотых, 2-4)", "Вставте пропущене слово: To kosztuje dwa ___. (злотих, 2-4)", "Fill in the missing word: To kosztuje dwa ___. (zlotys, 2-4)", "złote", "first_letter", "z", 15), ("a1_shopping_t16", None, "topic_test", "production", "quantities_genitive", 2, "Wpisz brakujące słowo: litr ___. (молока)", "Вставьте пропущенное слово: litr ___. (молока)", "Вставте пропущене слово: litr ___. (молока)", "Fill in the missing word: litr ___. (of milk)", "mleka", "first_letter", "m", 16), ("a1_shopping_t17", None, "topic_test", "production", "asking_for_help_shop", 3, "Wpisz brakujące słowo: ___ chleb. (дайте, пожалуйста)", "Вставьте пропущенное слово: ___ chleb. (дайте, пожалуйста)", "Вставте пропущене слово: ___ chleb. (дайте, будь ласка)", "Fill in the missing word: ___ chleb. (please, may I have)", "Poproszę", "first_letter", "P", 17), ("a1_shopping_t18", None, "topic_test", "production", "shopping_description", 2, "Przetłumacz: «Я плачу на кассе».", "Переведите: «Я плачу на кассе».", "Перекладіть: «Я плачу на касі».", "Translate: “I pay at the checkout.”", "Płacę w kasie", "first_letter", "P", 18), ("a1_shopping_t19", None, "topic_test", "mixed", "shopping_description", 3, "Wybierz poprawne tłumaczenie: «Я иду в магазин и покупаю хлеб, молоко и сыр».", "Выберите правильный перевод: «Я иду в магазин и покупаю хлеб, молоко и сыр».", "Виберіть правильний переклад: «Я йду до магазину і купую хліб, молоко і сир».", "Choose the correct translation: “I'm going to the shop and buying bread, milk and cheese.”", "A", None, None, 19), ("a1_shopping_t20", None, "topic_test", "mixed", "prices_ile_kosztuje", 3, "Wybierz poprawne tłumaczenie dialogu: «— Сколько стоит хлеб? — Хлеб стоит два злотых.»", "Выберите правильный перевод диалога: «— Сколько стоит хлеб? — Хлеб стоит два злотых.»", "Виберіть правильний переклад діалогу: «— Скільки коштує хліб? — Хліб коштує два злотих.»", "Choose the correct translation of the dialogue: “— How much does the bread cost? — The bread costs two zlotys.”", "A", None, None, 20), ] for q in test_questions_t11: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_shopping', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t11 = [ ("a1_shopping_t01", "A", "torba", "сумка", "сумка", "bag", True, None), ("a1_shopping_t01", "B", "koszyk", "корзина", "кошик", "basket", False, "wrong_word"), ("a1_shopping_t01", "C", "kasa", "касса", "каса", "checkout", False, "wrong_word"), ("a1_shopping_t01", "D", "sklep", "магазин", "магазин", "shop", False, "wrong_word"), ("a1_shopping_t02", "A", "mleko", "молоко", "молоко", "milk", True, None), ("a1_shopping_t02", "B", "chleb", "хлеб", "хліб", "bread", False, "wrong_word"), ("a1_shopping_t02", "C", "ser", "сыр", "сир", "cheese", False, "wrong_word"), ("a1_shopping_t02", "D", "jabłko", "яблоко", "яблуко", "apple", False, "wrong_word"), ("a1_shopping_t03", "A", "kupuje", "покупает", "купує", "buys", True, None), ("a1_shopping_t03", "B", "kupuję", "покупаю", "купую", "buy (I)", False, "wrong_word"), ("a1_shopping_t03", "C", "kupujesz", "покупаешь", "купуєш", "buy (you)", False, "wrong_word"), ("a1_shopping_t03", "D", "kupować", "покупать", "купувати", "to buy", False, "wrong_word"), ("a1_shopping_t04", "A", "ser", "сыр (вин.)", "сир (знах.)", "cheese (acc.)", True, None), ("a1_shopping_t04", "B", "sera", "сыра (род.)", "сиру (род.)", "cheese (gen.)", False, "wrong_case"), ("a1_shopping_t04", "C", "serem", "сыром (тв.)", "сиром (ор.)", "cheese (instr.)", False, "wrong_case"), ("a1_shopping_t04", "D", "serowi", "сыру (дат.)", "сиру (дав.)", "cheese (dat.)", False, "wrong_case"), ("a1_shopping_t05", "A", "Ile to kosztuje?", "Сколько это стоит?", "Скільки це коштує?", "How much does this cost?", True, None), ("a1_shopping_t05", "B", "Co to jest?", "Что это?", "Що це?", "What is this?", False, "wrong_translation"), ("a1_shopping_t05", "C", "Gdzie to jest?", "Где это?", "Де це?", "Where is this?", False, "wrong_translation"), ("a1_shopping_t05", "D", "Kiedy to jest?", "Когда это?", "Коли це?", "When is this?", False, "wrong_translation"), ("a1_shopping_t06", "A", "Czy mogę prosić o kilogram jabłek?", "Можно мне килограмм яблок, пожалуйста?", "Можна мені кілограм яблук, будь ласка?", "Could I have a kilogram of apples, please?", True, None), ("a1_shopping_t06", "B", "Ile kosztuje kilogram jabłek?", "Сколько стоит килограмм яблок?", "Скільки коштує кілограм яблук?", "How much does a kilogram of apples cost?", False, "wrong_translation"), ("a1_shopping_t06", "C", "Gdzie są jabłka?", "Где яблоки?", "Де яблука?", "Where are the apples?", False, "wrong_translation"), ("a1_shopping_t06", "D", "Nie lubię jabłek.", "Я не люблю яблоки.", "Я не люблю яблука.", "I don't like apples.", False, "wrong_translation"), ("a1_shopping_t07", "A", "kasa", "касса", "каса", "checkout", True, None), ("a1_shopping_t07", "B", "koszyk", "корзина", "кошик", "basket", False, "wrong_context"), ("a1_shopping_t07", "C", "torba", "сумка", "сумка", "bag", False, "wrong_context"), ("a1_shopping_t07", "D", "sklep", "магазин", "магазин", "shop", False, "wrong_context"), ("a1_shopping_t08", "A", "ser", "сыр", "сир", "cheese", True, None), ("a1_shopping_t08", "B", "chleb", "хлеб", "хліб", "bread", False, "wrong_context"), ("a1_shopping_t08", "C", "mleko", "молоко", "молоко", "milk", False, "wrong_context"), ("a1_shopping_t08", "D", "jabłko", "яблоко", "яблуко", "apple", False, "wrong_context"), ("a1_shopping_t09", "A", "Chleb kosztuje trzy złote.", "Хлеб стоит три злотых.", "Хліб коштує три злотих.", "The bread costs three zlotys.", True, None), ("a1_shopping_t09", "B", "Chleb kosztuje trzy złoty.", "Неправильная форма числа.", "Неправильна форма числа.", "Wrong numeral form.", False, "wrong_number"), ("a1_shopping_t09", "C", "Chleb kosztuje trzy złotych.", "Неправильная форма числа.", "Неправильна форма числа.", "Wrong numeral form.", False, "wrong_number"), ("a1_shopping_t09", "D", "Chleb jest za darmo.", "Хлеб бесплатный.", "Хліб безкоштовний.", "The bread is free.", False, "wrong_context"), ("a1_shopping_t10", "A", "Poproszę kawałek sera.", "Дайте, пожалуйста, кусок сыра.", "Дайте, будь ласка, шматок сиру.", "A piece of cheese, please.", True, None), ("a1_shopping_t10", "B", "Poproszę kawałek chleba.", "Дайте, пожалуйста, кусок хлеба. (неверный продукт)", "Дайте, будь ласка, шматок хліба. (невірний продукт)", "A piece of bread, please. (wrong product)", False, "wrong_context"), ("a1_shopping_t10", "C", "Mam kawałek sera.", "У меня есть кусок сыра.", "У мене є шматок сиру.", "I have a piece of cheese.", False, "wrong_context"), ("a1_shopping_t10", "D", "Sprzedaję kawałek sera.", "Я продаю кусок сыра.", "Я продаю шматок сиру.", "I'm selling a piece of cheese.", False, "wrong_context"), ("a1_shopping_t11", "A", "Potrzebuję mleka.", "Мне нужно молоко.", "Мені потрібне молоко.", "I need milk.", True, None), ("a1_shopping_t11", "B", "Mam mleko.", "У меня есть молоко. (противоречит ситуации)", "У мене є молоко. (суперечить ситуації)", "I have milk. (contradicts the situation)", False, "wrong_context"), ("a1_shopping_t11", "C", "Kupuję mleko wczoraj.", "Неправильное время.", "Неправильний час.", "Wrong tense.", False, "wrong_sentence_type"), ("a1_shopping_t11", "D", "Sprzedaję mleko.", "Я продаю молоко.", "Я продаю молоко.", "I'm selling milk.", False, "wrong_context"), ("a1_shopping_t12", "A", "Poproszę ser.", "Дайте, пожалуйста, сыр.", "Дайте, будь ласка, сир.", "Cheese, please.", True, None), ("a1_shopping_t12", "B", "Daj ser!", "Дай сыр! (грубо)", "Дай сир! (грубо)", "Give me cheese! (rude)", False, "wrong_sentence_type"), ("a1_shopping_t12", "C", "Chcę ser teraz!", "Я хочу сыр сейчас! (грубо)", "Я хочу сир зараз! (грубо)", "I want cheese now! (rude)", False, "wrong_sentence_type"), ("a1_shopping_t12", "D", "Ser jest mój.", "Сыр мой.", "Сир мій.", "The cheese is mine.", False, "wrong_context"), ("a1_shopping_t19", "A", "Idę do sklepu i kupuję chleb, mleko i ser.", "Я иду в магазин и покупаю хлеб, молоко и сыр.", "Я йду до магазину і купую хліб, молоко і сир.", "I'm going to the shop and buying bread, milk and cheese.", True, None), ("a1_shopping_t19", "B", "Byłem w sklepie i kupiłem chleb, mleko i ser.", "Неправильное время (прошедшее вместо настоящего).", "Неправильний час (минулий замість теперішнього).", "Wrong tense (past instead of present).", False, "wrong_sentence_type"), ("a1_shopping_t19", "C", "Idę do szkoły i kupuję chleb, mleko i ser.", "Неправильное слово.", "Неправильне слово.", "Wrong word.", False, "wrong_word"), ("a1_shopping_t19", "D", "Sklep idę kupuję chleb mleko ser.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_shopping_t20", "A", "Ile kosztuje chleb? Chleb kosztuje dwa złote.", "Сколько стоит хлеб? Хлеб стоит два злотых.", "Скільки коштує хліб? Хліб коштує два злотих.", "How much does the bread cost? The bread costs two zlotys.", True, None), ("a1_shopping_t20", "B", "Co to jest chleb? Chleb kosztuje dwa złote.", "Неправильный вопрос.", "Неправильне питання.", "Wrong question.", False, "wrong_translation"), ("a1_shopping_t20", "C", "Ile kosztuje mleko? Chleb kosztuje dwa złote.", "Продукты в вопросе и ответе не совпадают.", "Продукти в питанні й відповіді не збігаються.", "Products in question and answer don't match.", False, "wrong_word"), ("a1_shopping_t20", "D", "Ile kosztuje chleb? Chleb kosztuje dwa złotych.", "Неправильная форма числа (для 2-4 нужно „złote”).", "Неправильна форма числа (для 2-4 потрібно „złote”).", "Wrong numeral form (2-4 needs „złote”).", False, "wrong_number"), ] for opt in test_options_t11: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 12: ХОББИ И СВОБОДНОЕ ВРЕМЯ ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_hobbies_free_time', 'A1', 12, 'Hobby i czas wolny', 'Хобби и свободное время', 'Хобі та вільний час', 'Hobbies and Free Time') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t12 = [ ("a1_hobbies_free_time_l01", 1, "free_time_activities_verbs", "Czasowniki: hobby", "Глаголы: хобби", "Дієслова: хобі", "Verbs: hobbies", "Podstawowe czasowniki opisujące hobby: czytać, gotować, tańczyć, pływać. To bezokoliczniki — podstawowe formy czasowników.", "Основные глаголы, описывающие хобби: czytać (читать), gotować (готовить), tańczyć (танцевать), pływać (плавать). Это инфинитивы — словарные формы глаголов.", "Основні дієслова, що описують хобі: czytać (читати), gotować (готувати), tańczyć (танцювати), pływać (плавати). Це інфінітиви — словникові форми дієслів.", "Basic verbs describing hobbies: czytać (to read), gotować (to cook), tańczyć (to dance), pływać (to swim). These are infinitives — the dictionary forms of verbs."), ("a1_hobbies_free_time_l02", 2, "lubic_bezokolicznik", "Lubię + bezokolicznik", "Lubię + инфинитив", "Lubię + інфінітив", "Lubię + infinitive", "Czasownik „lubić” + bezokolicznik wyraża zamiłowanie do czynności: lubię czytać, lubisz gotować, lubi tańczyć.", "Глагол „lubić” (любить) + инфинитив выражает любовь к действию: lubię czytać (я люблю читать), lubisz gotować (ты любишь готовить), lubi tańczyć (он/она любит танцевать).", "Дієслово „lubić” (любити) + інфінітив виражає любов до дії: lubię czytać (я люблю читати), lubisz gotować (ти любиш готувати), lubi tańczyć (він/вона любить танцювати).", "The verb „lubić” (to like) + infinitive expresses fondness for an activity: lubię czytać (I like reading), lubisz gotować (you like cooking), lubi tańczyć (he/she likes dancing)."), ("a1_hobbies_free_time_l03", 3, "hobby_nouns", "Hobby jako rzeczownik", "Хобби как существительное", "Хобі як іменник", "Hobbies as nouns", "Hobby możemy też nazwać rzeczownikiem: sport, muzyka, taniec. Po „lubić” używamy biernika: lubię sport, lubię muzykę, lubię taniec.", "Хобби можно также назвать существительным: sport (спорт), muzyka (музыка), taniec (танцы). После „lubić” используем винительный падеж: lubię sport, lubię muzykę, lubię taniec.", "Хобі можна також назвати іменником: sport (спорт), muzyka (музика), taniec (танці). Після „lubić” використовуємо знахідний відмінок: lubię sport, lubię muzykę, lubię taniec.", "A hobby can also be named with a noun: sport, muzyka (music), taniec (dance). After „lubić” we use the accusative: lubię sport, lubię muzykę, lubię taniec."), ("a1_hobbies_free_time_l04", 4, "czas_wolny_vocabulary", "Słowa: czas wolny", "Слова: свободное время", "Слова: вільний час", "Words: free time", "Słowa związane z czasem wolnym: czas wolny, weekend, wieczór, sobota. „Sobota” jest rodzaju żeńskiego, pozostałe są rodzaju męskiego.", "Слова, связанные со свободным временем: czas wolny (свободное время), weekend (выходные), wieczór (вечер), sobota (суббота). „Sobota” женского рода, остальные мужского рода.", "Слова, пов'язані з вільним часом: czas wolny (вільний час), weekend (вихідні), wieczór (вечір), sobota (субота). „Sobota” жіночого роду, решта чоловічого роду.", "Words related to free time: czas wolny (free time), weekend, wieczór (evening), sobota (Saturday). „Sobota” is feminine, the rest are masculine."), ("a1_hobbies_free_time_l05", 5, "jak_czesto_hobby", "Jak często? — przysłówki", "Как часто? — наречия", "Як часто? — прислівники", "How often? — adverbs", "Częstotliwość hobby opisujemy przysłówkami: często, czasami, rzadko, codziennie, w weekendy, nigdy.", "Частоту хобби описываем наречиями: często (часто), czasami (иногда), rzadko (редко), codziennie (каждый день), w weekendy (по выходным), nigdy (никогда).", "Частоту хобі описуємо прислівниками: często (часто), czasami (іноді), rzadko (рідко), codziennie (щодня), w weekendy (у вихідні), nigdy (ніколи).", "We describe how often we do a hobby with adverbs: często (often), czasami (sometimes), rzadko (rarely), codziennie (every day), w weekendy (on weekends), nigdy (never)."), ("a1_hobbies_free_time_l06", 6, "preferencje_najbardziej", "Najbardziej lubię...", "Больше всего люблю...", "Найбільше люблю...", "I like ... the most", "Żeby powiedzieć o ulubionym hobby, używamy „najbardziej lubię” + bezokolicznik: najbardziej lubię czytać, najbardziej lubię pływać.", "Чтобы сказать о любимом хобби, используем „najbardziej lubię” + инфинитив: najbardziej lubię czytać (больше всего я люблю читать), najbardziej lubię pływać (больше всего я люблю плавать).", "Щоб сказати про улюблене хобі, використовуємо „najbardziej lubię” + інфінітив: najbardziej lubię czytać (найбільше я люблю читати), najbardziej lubię pływać (найбільше я люблю плавати).", "To talk about a favorite hobby, we use „najbardziej lubię” + infinitive: najbardziej lubię czytać (I like reading the most), najbardziej lubię pływać (I like swimming the most)."), ("a1_hobbies_free_time_l07", 7, "grac_w_na", "Grać w + biernik / grać na + miejscownik", "Grać w + винительный / grać na + предложный", "Grać w + знахідний / grać na + місцевий", "Grać w + accusative / grać na + locative", "Konstrukcja „grać w” + biernik dotyczy gier i sportów: grać w piłkę nożną, grać w szachy. Konstrukcja „grać na” + miejscownik dotyczy instrumentów: grać na gitarze, grać na pianinie.", "Конструкция „grać w” + винительный падеж используется для игр и спорта: grać w piłkę nożną (играть в футбол), grać w szachy (играть в шахматы). Конструкция „grać na” + предложный падеж используется для инструментов: grać na gitarze (играть на гитаре).", "Конструкція „grać w” + знахідний відмінок використовується для ігор і спорту: grać w piłkę nożną (грати у футбол), grać w szachy (грати в шахи). Конструкція „grać na” + місцевий відмінок використовується для інструментів: grać na gitarze (грати на гітарі).", "The construction „grać w” + accusative is used for games and sports: grać w piłkę nożną (to play football), grać w szachy (to play chess). The construction „grać na” + locative is used for instruments: grać na gitarze (to play the guitar)."), ("a1_hobbies_free_time_l08", 8, "spedzac_czas_z", "Spędzać czas z + narzędnik", "Spędzać czas z + творительный падеж", "Spędzać czas z + орудний відмінок", "Spędzać czas z + instrumental", "Żeby powiedzieć, z kim spędzamy czas, używamy „spędzać czas z” + narzędnik: spędzam czas z przyjaciółmi, spędzam czas z rodziną.", "Чтобы сказать, с кем мы проводим время, используем „spędzać czas z” + творительный падеж: spędzam czas z przyjaciółmi (я провожу время с друзьями), spędzam czas z rodziną (я провожу время с семьёй).", "Щоб сказати, з ким ми проводимо час, використовуємо „spędzać czas z” + орудний відмінок: spędzam czas z przyjaciółmi (я проводжу час з друзями), spędzam czas z rodziną (я проводжу час з родиною).", "To say who we spend time with, we use „spędzać czas z” + the instrumental: spędzam czas z przyjaciółmi (I spend time with friends), spędzam czas z rodziną (I spend time with family)."), ("a1_hobbies_free_time_l09", 9, "planning_free_time", "Będę + bezokolicznik", "Będę + инфинитив", "Będę + інфінітив", "Będę + infinitive", "O planach na wolny czas mówimy z czasownikiem „będę” + bezokolicznik: w weekend będę czytać, jutro będę grać w piłkę.", "О планах на свободное время говорим с глаголом „będę” + инфинитив: w weekend będę czytać (в выходные я буду читать), jutro będę grać w piłkę (завтра я буду играть в футбол).", "Про плани на вільний час говоримо з дієсловом „będę” + інфінітив: w weekend będę czytać (у вихідні я буду читати), jutro będę grać w piłkę (завтра я гратиму у футбол).", "We talk about free-time plans with „będę” + infinitive: w weekend będę czytać (on the weekend I'll read), jutro będę grać w piłkę (tomorrow I'll play football)."), ("a1_hobbies_free_time_l10", 10, "hobby_description", "Opisuję swoje hobby", "Описываю своё хобби", "Описую своє хобі", "Describing my hobby", "Żeby opisać swoje hobby, łączymy kilka zdań: Lubię czytać książki. Często czytam wieczorem. W weekendy spędzam czas z przyjaciółmi.", "Чтобы описать своё хобби, соединяем несколько предложений: Lubię czytać książki. Często czytam wieczorem. W weekendy spędzam czas z przyjaciółmi. (Я люблю читать книги. Я часто читаю вечером. По выходным я провожу время с друзьями.)", "Щоб описати своє хобі, поєднуємо кілька речень: Lubię czytać książki. Często czytam wieczorem. W weekendy spędzam czas z przyjaciółmi. (Я люблю читати книги. Я часто читаю ввечері. У вихідні я проводжу час з друзями.)", "To describe your hobby, we combine several sentences: Lubię czytać książki. Często czytam wieczorem. W weekendy spędzam czas z przyjaciółmi. (I like reading books. I often read in the evening. On weekends I spend time with friends.)"), ] for lesson in lessons_t12: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_hobbies_free_time', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t12 = [ ("a1_hobbies_free_time_l01", 1, "Chcę czytać.", "Я хочу читать.", "Я хочу читати.", "I want to read."), ("a1_hobbies_free_time_l01", 2, "Chcę gotować.", "Я хочу готовить.", "Я хочу готувати.", "I want to cook."), ("a1_hobbies_free_time_l01", 3, "Chcę tańczyć.", "Я хочу танцевать.", "Я хочу танцювати.", "I want to dance."), ("a1_hobbies_free_time_l02", 1, "Lubię czytać.", "Я люблю читать.", "Я люблю читати.", "I like reading."), ("a1_hobbies_free_time_l02", 2, "Lubisz gotować?", "Ты любишь готовить?", "Ти любиш готувати?", "Do you like cooking?"), ("a1_hobbies_free_time_l02", 3, "On lubi tańczyć.", "Он любит танцевать.", "Він любить танцювати.", "He likes dancing."), ("a1_hobbies_free_time_l03", 1, "Lubię sport.", "Я люблю спорт.", "Я люблю спорт.", "I like sports."), ("a1_hobbies_free_time_l03", 2, "Lubię muzykę.", "Я люблю музыку.", "Я люблю музику.", "I like music."), ("a1_hobbies_free_time_l03", 3, "Lubisz taniec?", "Ты любишь танцы?", "Ти любиш танці?", "Do you like dance?"), ("a1_hobbies_free_time_l04", 1, "Mam dużo czasu wolnego.", "У меня много свободного времени.", "У мене багато вільного часу.", "I have a lot of free time."), ("a1_hobbies_free_time_l04", 2, "W weekend odpoczywam.", "На выходных я отдыхаю.", "На вихідних я відпочиваю.", "I rest on the weekend."), ("a1_hobbies_free_time_l04", 3, "Wieczorem czytam książkę.", "Вечером я читаю книгу.", "Ввечері я читаю книгу.", "In the evening I read a book."), ("a1_hobbies_free_time_l05", 1, "Często czytam książki.", "Я часто читаю книги.", "Я часто читаю книги.", "I often read books."), ("a1_hobbies_free_time_l05", 2, "Rzadko gotuję.", "Я редко готовлю.", "Я рідко готую.", "I rarely cook."), ("a1_hobbies_free_time_l05", 3, "W weekendy tańczę.", "По выходным я танцую.", "У вихідні я танцюю.", "On weekends I dance."), ("a1_hobbies_free_time_l06", 1, "Najbardziej lubię czytać.", "Больше всего я люблю читать.", "Найбільше я люблю читати.", "I like reading the most."), ("a1_hobbies_free_time_l06", 2, "Najbardziej lubię sport.", "Больше всего я люблю спорт.", "Найбільше я люблю спорт.", "I like sports the most."), ("a1_hobbies_free_time_l06", 3, "Co najbardziej lubisz robić?", "Что тебе больше всего нравится делать?", "Що тобі найбільше подобається робити?", "What do you like doing the most?"), ("a1_hobbies_free_time_l07", 1, "Gram w piłkę nożną.", "Я играю в футбол.", "Я граю у футбол.", "I play football."), ("a1_hobbies_free_time_l07", 2, "Gram na gitarze.", "Я играю на гитаре.", "Я граю на гітарі.", "I play the guitar."), ("a1_hobbies_free_time_l07", 3, "Grasz w szachy?", "Ты играешь в шахматы?", "Ти граєш у шахи?", "Do you play chess?"), ("a1_hobbies_free_time_l08", 1, "Spędzam czas z przyjaciółmi.", "Я провожу время с друзьями.", "Я проводжу час з друзями.", "I spend time with friends."), ("a1_hobbies_free_time_l08", 2, "Spędzasz czas z rodziną?", "Ты проводишь время с семьёй?", "Ти проводиш час з родиною?", "Do you spend time with family?"), ("a1_hobbies_free_time_l08", 3, "On spędza czas z siostrą.", "Он проводит время с сестрой.", "Він проводить час із сестрою.", "He spends time with his sister."), ("a1_hobbies_free_time_l09", 1, "W weekend będę czytać.", "В выходные я буду читать.", "У вихідні я буду читати.", "On the weekend I'll read."), ("a1_hobbies_free_time_l09", 2, "Jutro będę grać w piłkę nożną.", "Завтра я буду играть в футбол.", "Завтра я гратиму у футбол.", "Tomorrow I'll play football."), ("a1_hobbies_free_time_l09", 3, "Wieczorem będziemy gotować razem.", "Вечером мы будем готовить вместе.", "Ввечері ми будемо готувати разом.", "In the evening we'll cook together."), ("a1_hobbies_free_time_l10", 1, "Lubię czytać książki.", "Я люблю читать книги.", "Я люблю читати книги.", "I like reading books."), ("a1_hobbies_free_time_l10", 2, "Często czytam wieczorem.", "Я часто читаю вечером.", "Я часто читаю ввечері.", "I often read in the evening."), ("a1_hobbies_free_time_l10", 3, "W weekendy spędzam czas z przyjaciółmi.", "По выходным я провожу время с друзьями.", "У вихідні я проводжу час з друзями.", "On weekends I spend time with friends."), ] for ex in examples_t12: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t12 = [ # L01 — free_time_activities_verbs (difficulty 1) ("a1_hobbies_free_time_l01_q1", "a1_hobbies_free_time_l01", "lesson_practice", "recognition", "free_time_activities_verbs", 1, "Jak po polsku „плавать”?", "Как по-польски «плавать»?", "Як польською «плавати»?", "How do you say “to swim” in Polish?", "A", None, None), ("a1_hobbies_free_time_l01_q2", "a1_hobbies_free_time_l01", "lesson_practice", "production", "free_time_activities_verbs", 1, "Wpisz brakujące słowo: Chcę ___. (готовить)", "Вставьте пропущенное слово: Chcę ___. (готовить)", "Вставте пропущене слово: Chcę ___. (готувати)", "Fill in the missing word: Chcę ___. (to cook)", "gotować", "first_letter", "g"), ("a1_hobbies_free_time_l01_q3", "a1_hobbies_free_time_l01", "lesson_practice", "application", "free_time_activities_verbs", 1, "Robisz ruchy w wodzie w basenie. Jaki to czasownik?", "Ты делаешь движения в воде в бассейне. Какой это глагол?", "Ти робиш рухи у воді в басейні. Яке це дієслово?", "You're moving through water at the pool. What's this verb?", "A", None, None), # L02 — lubic_bezokolicznik (difficulty 1) ("a1_hobbies_free_time_l02_q1", "a1_hobbies_free_time_l02", "lesson_practice", "recognition", "lubic_bezokolicznik", 1, "Wybierz poprawną formę: Ja ___ czytać. (lubić)", "Выберите правильную форму: Ja ___ czytać. (lubić)", "Виберіть правильну форму: Ja ___ czytać. (lubić)", "Choose the correct form: Ja ___ czytać. (lubić)", "A", None, None), ("a1_hobbies_free_time_l02_q2", "a1_hobbies_free_time_l02", "lesson_practice", "production", "lubic_bezokolicznik", 1, "Wpisz brakujące słowo: Ty ___ pływać? (любишь)", "Вставьте пропущенное слово: Ty ___ pływać? (любишь)", "Вставте пропущене слово: Ty ___ pływać? (любиш)", "Fill in the missing word: Ty ___ pływać? (do you like)", "lubisz", "first_letter", "l"), ("a1_hobbies_free_time_l02_q3", "a1_hobbies_free_time_l02", "lesson_practice", "application", "lubic_bezokolicznik", 1, "Kolega pyta, czy lubisz gotować. Tak, bardzo. Co powiesz?", "Друг спрашивает, любишь ли ты готовить. Да, очень. Что ты скажешь?", "Друг питає, чи любиш ти готувати. Так, дуже. Що ти скажеш?", "A friend asks if you like cooking. Yes, very much. What do you say?", "A", None, None), # L03 — hobby_nouns (difficulty 1) ("a1_hobbies_free_time_l03_q1", "a1_hobbies_free_time_l03", "lesson_practice", "recognition", "hobby_nouns", 1, "Wybierz poprawną formę: Lubię ___. (muzyka)", "Выберите правильную форму: Lubię ___. (muzyka)", "Виберіть правильну форму: Lubię ___. (muzyka)", "Choose the correct form: Lubię ___. (muzyka)", "A", None, None), ("a1_hobbies_free_time_l03_q2", "a1_hobbies_free_time_l03", "lesson_practice", "production", "hobby_nouns", 1, "Wpisz brakujące słowo: Lubię ___. (спорт)", "Вставьте пропущенное слово: Lubię ___. (спорт)", "Вставте пропущене слово: Lubię ___. (спорт)", "Fill in the missing word: Lubię ___. (sports)", "sport", "first_letter", "s"), ("a1_hobbies_free_time_l03_q3", "a1_hobbies_free_time_l03", "lesson_practice", "application", "hobby_nouns", 1, "Kolega pyta, co lubisz. Lubisz taniec. Co powiesz?", "Друг спрашивает, что ты любишь. Ты любишь танцы. Что ты скажешь?", "Друг питає, що ти любиш. Ти любиш танці. Що ти скажеш?", "A friend asks what you like. You like dance. What do you say?", "A", None, None), # L04 — czas_wolny_vocabulary (difficulty 1) ("a1_hobbies_free_time_l04_q1", "a1_hobbies_free_time_l04", "lesson_practice", "recognition", "czas_wolny_vocabulary", 1, "Jak po polsku „выходные”?", "Как по-польски «выходные»?", "Як польською «вихідні»?", "How do you say “weekend” in Polish?", "A", None, None), ("a1_hobbies_free_time_l04_q2", "a1_hobbies_free_time_l04", "lesson_practice", "production", "czas_wolny_vocabulary", 1, "Wpisz brakujące słowo: ___ czytam książkę. (вечером)", "Вставьте пропущенное слово: ___ czytam książkę. (вечером)", "Вставте пропущене слово: ___ czytam książkę. (ввечері)", "Fill in the missing word: ___ czytam książkę. (in the evening)", "Wieczorem", "first_letter", "W"), ("a1_hobbies_free_time_l04_q3", "a1_hobbies_free_time_l04", "lesson_practice", "application", "czas_wolny_vocabulary", 1, "Chcesz powiedzieć, że masz dużo czasu bez obowiązków. Co powiesz?", "Ты хочешь сказать, что у тебя много времени без обязательств. Что ты скажешь?", "Ти хочеш сказати, що маєш багато часу без обов'язків. Що ти скажеш?", "You want to say you have a lot of time without obligations. What do you say?", "A", None, None), # L05 — jak_czesto_hobby (difficulty 2) ("a1_hobbies_free_time_l05_q1", "a1_hobbies_free_time_l05", "lesson_practice", "recognition", "jak_czesto_hobby", 2, "Co znaczy „W weekendy tańczę”?", "Что означает «W weekendy tańczę»?", "Що означає «W weekendy tańczę»?", "What does “W weekendy tańczę” mean?", "A", None, None), ("a1_hobbies_free_time_l05_q2", "a1_hobbies_free_time_l05", "lesson_practice", "production", "jak_czesto_hobby", 2, "Wpisz brakujące słowo: ___ czytam książki. (часто)", "Вставьте пропущенное слово: ___ czytam książki. (часто)", "Вставте пропущене слово: ___ czytam książki. (часто)", "Fill in the missing word: ___ czytam książki. (often)", "Często", "first_letter", "C"), ("a1_hobbies_free_time_l05_q3", "a1_hobbies_free_time_l05", "lesson_practice", "application", "jak_czesto_hobby", 2, "Kolega pyta, jak często gotujesz. Robisz to rzadko. Co powiesz?", "Друг спрашивает, как часто ты готовишь. Ты делаешь это редко. Что ты скажешь?", "Друг питає, як часто ти готуєш. Ти робиш це рідко. Що ти скажеш?", "A friend asks how often you cook. You rarely do. What do you say?", "A", None, None), # L06 — preferencje_najbardziej (difficulty 2) ("a1_hobbies_free_time_l06_q1", "a1_hobbies_free_time_l06", "lesson_practice", "recognition", "preferencje_najbardziej", 2, "Wybierz poprawną formę: Najbardziej lubię ___. (pływać)", "Выберите правильную форму: Najbardziej lubię ___. (pływać)", "Виберіть правильну форму: Najbardziej lubię ___. (pływać)", "Choose the correct form: Najbardziej lubię ___. (pływać)", "A", None, None), ("a1_hobbies_free_time_l06_q2", "a1_hobbies_free_time_l06", "lesson_practice", "production", "preferencje_najbardziej", 2, "Wpisz brakujące słowo: Najbardziej lubię ___. (танцевать)", "Вставьте пропущенное слово: Najbardziej lubię ___. (танцевать)", "Вставте пропущене слово: Najbardziej lubię ___. (танцювати)", "Fill in the missing word: Najbardziej lubię ___. (to dance)", "tańczyć", "first_letter", "t"), ("a1_hobbies_free_time_l06_q3", "a1_hobbies_free_time_l06", "lesson_practice", "application", "preferencje_najbardziej", 2, "Kolega pyta, co najbardziej lubisz robić w wolnym czasie. Uwielbiasz czytać. Co powiesz?", "Друг спрашивает, что тебе больше всего нравится делать в свободное время. Ты обожаешь читать. Что ты скажешь?", "Друг питає, що тобі найбільше подобається робити у вільний час. Ти обожнюєш читати. Що ти скажеш?", "A friend asks what you like doing most in your free time. You love reading. What do you say?", "A", None, None), # L07 — grac_w_na (difficulty 2) ("a1_hobbies_free_time_l07_q1", "a1_hobbies_free_time_l07", "lesson_practice", "recognition", "grac_w_na", 2, "Wybierz poprawną formę: Gram ___ gitarze. (на)", "Выберите правильную форму: Gram ___ gitarze. (на)", "Виберіть правильну форму: Gram ___ gitarze. (на)", "Choose the correct form: Gram ___ gitarze. (on)", "A", None, None), ("a1_hobbies_free_time_l07_q2", "a1_hobbies_free_time_l07", "lesson_practice", "production", "grac_w_na", 2, "Wpisz brakujące słowo: Gram ___ piłkę nożną. (в)", "Вставьте пропущенное слово: Gram ___ piłkę nożną. (в)", "Вставте пропущене слово: Gram ___ piłkę nożną. (у)", "Fill in the missing word: Gram ___ piłkę nożną. (at)", "w", "first_letter", "w"), ("a1_hobbies_free_time_l07_q3", "a1_hobbies_free_time_l07", "lesson_practice", "application", "grac_w_na", 2, "Chcesz powiedzieć, że grasz na pianinie. Co powiesz?", "Ты хочешь сказать, что играешь на пианино. Что ты скажешь?", "Ти хочеш сказати, що граєш на піаніно. Що ти скажеш?", "You want to say you play the piano. What do you say?", "A", None, None), # L08 — spedzac_czas_z (difficulty 2) ("a1_hobbies_free_time_l08_q1", "a1_hobbies_free_time_l08", "lesson_practice", "recognition", "spedzac_czas_z", 2, "Wybierz poprawną formę: Spędzam czas z ___. (przyjaciele)", "Выберите правильную форму: Spędzam czas z ___. (przyjaciele)", "Виберіть правильну форму: Spędzam czas z ___. (przyjaciele)", "Choose the correct form: Spędzam czas z ___. (przyjaciele)", "A", None, None), ("a1_hobbies_free_time_l08_q2", "a1_hobbies_free_time_l08", "lesson_practice", "production", "spedzac_czas_z", 2, "Wpisz brakujące słowo: Spędzam czas z ___. (семьёй)", "Вставьте пропущенное слово: Spędzam czas z ___. (семьёй)", "Вставте пропущене слово: Spędzam czas z ___. (родиною)", "Fill in the missing word: Spędzam czas z ___. (family)", "rodziną", "first_letter", "r"), ("a1_hobbies_free_time_l08_q3", "a1_hobbies_free_time_l08", "lesson_practice", "application", "spedzac_czas_z", 2, "Chcesz powiedzieć, że w weekend spotykasz się z przyjaciółmi. Co powiesz?", "Ты хочешь сказать, что на выходных встречаешься с друзьями. Что ты скажешь?", "Ти хочеш сказати, що на вихідних зустрічаєшся з друзями. Що ти скажеш?", "You want to say you meet friends on the weekend. What do you say?", "A", None, None), # L09 — planning_free_time (difficulty 3) ("a1_hobbies_free_time_l09_q1", "a1_hobbies_free_time_l09", "lesson_practice", "recognition", "planning_free_time", 3, "Co znaczy „W weekend będę czytać”?", "Что означает «W weekend będę czytać»?", "Що означає «W weekend będę czytać»?", "What does “W weekend będę czytać” mean?", "A", None, None), ("a1_hobbies_free_time_l09_q2", "a1_hobbies_free_time_l09", "lesson_practice", "production", "planning_free_time", 3, "Wpisz brakujące słowo: Jutro ___ grać w piłkę. (буду)", "Вставьте пропущенное слово: Jutro ___ grać w piłkę. (буду)", "Вставте пропущене слово: Jutro ___ grać w piłkę. (буду)", "Fill in the missing word: Jutro ___ grać w piłkę. (I'll)", "będę", "first_letter", "b"), ("a1_hobbies_free_time_l09_q3", "a1_hobbies_free_time_l09", "lesson_practice", "application", "planning_free_time", 3, "Planujesz jutro grać w szachy z kolegą. Co powiesz?", "Ты планируешь завтра играть в шахматы с другом. Что ты скажешь?", "Ти плануєш завтра грати в шахи з другом. Що ти скажеш?", "You plan to play chess with a friend tomorrow. What do you say?", "A", None, None), # L10 — hobby_description (difficulty 3) ("a1_hobbies_free_time_l10_q1", "a1_hobbies_free_time_l10", "lesson_practice", "recognition", "hobby_description", 3, "Które zdanie poprawnie opisuje hobby?", "Какое предложение правильно описывает хобби?", "Яке речення правильно описує хобі?", "Which sentence correctly describes a hobby?", "A", None, None), ("a1_hobbies_free_time_l10_q2", "a1_hobbies_free_time_l10", "lesson_practice", "production", "hobby_description", 3, "Przetłumacz: «По выходным я провожу время с друзьями».", "Переведите: «По выходным я провожу время с друзьями».", "Перекладіть: «У вихідні я проводжу час з друзями».", "Translate: “On weekends I spend time with friends.”", "W weekendy spędzam czas z przyjaciółmi", "first_letter", "W"), ("a1_hobbies_free_time_l10_q3", "a1_hobbies_free_time_l10", "lesson_practice", "application", "hobby_description", 3, "Chcesz opisać koledze swoje hobby: lubisz grać w piłkę nożną, robisz to często, w weekendy grasz z przyjaciółmi. Jak zaczniesz zdanie?", "Ты хочешь описать другу своё хобби: тебе нравится играть в футбол, ты делаешь это часто, по выходным играешь с друзьями. Как ты начнёшь предложение?", "Ти хочеш описати другу своє хобі: тобі подобається грати у футбол, ти робиш це часто, у вихідні граєш з друзями. Як ти почнеш речення?", "You want to describe your hobby to a friend: you like playing football, you do it often, on weekends you play with friends. How do you start the sentence?", "A", None, None), ] for q in questions_t12: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_hobbies_free_time', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t12 = [ # L01 ("a1_hobbies_free_time_l01_q1", "A", "pływać", "плавать", "плавати", "to swim", True, None), ("a1_hobbies_free_time_l01_q1", "B", "tańczyć", "танцевать", "танцювати", "to dance", False, "wrong_word"), ("a1_hobbies_free_time_l01_q1", "C", "gotować", "готовить", "готувати", "to cook", False, "wrong_word"), ("a1_hobbies_free_time_l01_q1", "D", "czytać", "читать", "читати", "to read", False, "wrong_word"), ("a1_hobbies_free_time_l01_q3", "A", "pływać", "плавать", "плавати", "to swim", True, None), ("a1_hobbies_free_time_l01_q3", "B", "tańczyć", "танцевать", "танцювати", "to dance", False, "wrong_context"), ("a1_hobbies_free_time_l01_q3", "C", "gotować", "готовить", "готувати", "to cook", False, "wrong_context"), ("a1_hobbies_free_time_l01_q3", "D", "czytać", "читать", "читати", "to read", False, "wrong_context"), # L02 ("a1_hobbies_free_time_l02_q1", "A", "lubię", "люблю", "люблю", "like (I)", True, None), ("a1_hobbies_free_time_l02_q1", "B", "lubisz", "любишь", "любиш", "like (you)", False, "wrong_word"), ("a1_hobbies_free_time_l02_q1", "C", "lubi", "любит", "любить", "likes", False, "wrong_word"), ("a1_hobbies_free_time_l02_q1", "D", "lubić", "любить (инф.)", "любити (інф.)", "to like", False, "wrong_word"), ("a1_hobbies_free_time_l02_q3", "A", "Lubię gotować.", "Я люблю готовить.", "Я люблю готувати.", "I like cooking.", True, None), ("a1_hobbies_free_time_l02_q3", "B", "Lubię gotowanie wczoraj.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_hobbies_free_time_l02_q3", "C", "Gotuję teraz.", "Я готовлю сейчас. (не отвечает на вопрос)", "Я готую зараз. (не відповідає на питання)", "I'm cooking now. (doesn't answer the question)", False, "wrong_context"), ("a1_hobbies_free_time_l02_q3", "D", "Chcę gotować sklep.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), # L03 ("a1_hobbies_free_time_l03_q1", "A", "muzykę", "музыку (вин.)", "музику (знах.)", "music (acc.)", True, None), ("a1_hobbies_free_time_l03_q1", "B", "muzyka", "музыка (им.)", "музика (наз.)", "music (nom.)", False, "wrong_case"), ("a1_hobbies_free_time_l03_q1", "C", "muzyki", "музыки (род.)", "музики (род.)", "music (gen.)", False, "wrong_case"), ("a1_hobbies_free_time_l03_q1", "D", "muzyką", "музыкой (тв.)", "музикою (ор.)", "music (instr.)", False, "wrong_case"), ("a1_hobbies_free_time_l03_q3", "A", "Lubię taniec.", "Я люблю танцы.", "Я люблю танці.", "I like dance.", True, None), ("a1_hobbies_free_time_l03_q3", "B", "Lubię tańczyć wczoraj.", "Неправильное время.", "Неправильний час.", "Wrong tense.", False, "wrong_sentence_type"), ("a1_hobbies_free_time_l03_q3", "C", "Tańczę teraz.", "Я танцую сейчас. (не отвечает на вопрос)", "Я танцюю зараз. (не відповідає на питання)", "I'm dancing now. (doesn't answer the question)", False, "wrong_context"), ("a1_hobbies_free_time_l03_q3", "D", "Chcę taniec kupić.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), # L04 ("a1_hobbies_free_time_l04_q1", "A", "weekend", "выходные", "вихідні", "weekend", True, None), ("a1_hobbies_free_time_l04_q1", "B", "wieczór", "вечер", "вечір", "evening", False, "wrong_word"), ("a1_hobbies_free_time_l04_q1", "C", "sobota", "суббота", "субота", "Saturday", False, "wrong_word"), ("a1_hobbies_free_time_l04_q1", "D", "czas wolny", "свободное время", "вільний час", "free time", False, "wrong_word"), ("a1_hobbies_free_time_l04_q3", "A", "Mam dużo czasu wolnego.", "У меня много свободного времени.", "У мене багато вільного часу.", "I have a lot of free time.", True, None), ("a1_hobbies_free_time_l04_q3", "B", "Mam dużo pracy.", "У меня много работы. (противоречит ситуации)", "У мене багато роботи. (суперечить ситуації)", "I have a lot of work. (contradicts the situation)", False, "wrong_context"), ("a1_hobbies_free_time_l04_q3", "C", "Jestem w pracy.", "Я на работе. (противоречит ситуации)", "Я на роботі. (суперечить ситуації)", "I'm at work. (contradicts the situation)", False, "wrong_context"), ("a1_hobbies_free_time_l04_q3", "D", "Nie mam czasu.", "У меня нет времени. (противоречит ситуации)", "У мене немає часу. (суперечить ситуації)", "I have no time. (contradicts the situation)", False, "wrong_context"), # L05 ("a1_hobbies_free_time_l05_q1", "A", "W weekendy tańczę.", "По выходным я танцую.", "У вихідні я танцюю.", "On weekends I dance.", True, None), ("a1_hobbies_free_time_l05_q1", "B", "Codziennie tańczę.", "Я танцую каждый день.", "Я танцюю щодня.", "I dance every day.", False, "wrong_translation"), ("a1_hobbies_free_time_l05_q1", "C", "Nigdy nie tańczę.", "Я никогда не танцую.", "Я ніколи не танцюю.", "I never dance.", False, "wrong_translation"), ("a1_hobbies_free_time_l05_q1", "D", "Czasami czytam.", "Иногда я читаю.", "Іноді я читаю.", "Sometimes I read.", False, "wrong_translation"), ("a1_hobbies_free_time_l05_q3", "A", "Rzadko gotuję.", "Я редко готовлю.", "Я рідко готую.", "I rarely cook.", True, None), ("a1_hobbies_free_time_l05_q3", "B", "Często gotuję.", "Я часто готовлю. (неверная частота)", "Я часто готую. (невірна частота)", "I often cook. (wrong frequency)", False, "wrong_context"), ("a1_hobbies_free_time_l05_q3", "C", "Nigdy nie gotuję.", "Я никогда не готовлю. (неверная частота)", "Я ніколи не готую. (невірна частота)", "I never cook. (wrong frequency)", False, "wrong_context"), ("a1_hobbies_free_time_l05_q3", "D", "Codziennie gotuję.", "Я готовлю каждый день. (неверная частота)", "Я готую щодня. (невірна частота)", "I cook every day. (wrong frequency)", False, "wrong_context"), # L06 ("a1_hobbies_free_time_l06_q1", "A", "pływać", "плавать (инф.)", "плавати (інф.)", "to swim", True, None), ("a1_hobbies_free_time_l06_q1", "B", "pływam", "плаваю", "плаваю", "I swim", False, "wrong_word"), ("a1_hobbies_free_time_l06_q1", "C", "pływasz", "плаваешь", "плаваєш", "you swim", False, "wrong_word"), ("a1_hobbies_free_time_l06_q1", "D", "pływa", "плавает", "плаває", "swims", False, "wrong_word"), ("a1_hobbies_free_time_l06_q3", "A", "Najbardziej lubię czytać.", "Больше всего я люблю читать.", "Найбільше я люблю читати.", "I like reading the most.", True, None), ("a1_hobbies_free_time_l06_q3", "B", "Najbardziej lubię gotować.", "Больше всего я люблю готовить. (неверное хобби)", "Найбільше я люблю готувати. (невірне хобі)", "I like cooking the most. (wrong hobby)", False, "wrong_context"), ("a1_hobbies_free_time_l06_q3", "C", "Czytam czasami.", "Я иногда читаю. (не о любимом занятии)", "Я іноді читаю. (не про улюблене заняття)", "I sometimes read. (not about a favorite)", False, "wrong_context"), ("a1_hobbies_free_time_l06_q3", "D", "Nie lubię czytać.", "Я не люблю читать. (противоречит ситуации)", "Я не люблю читати. (суперечить ситуації)", "I don't like reading. (contradicts the situation)", False, "wrong_context"), # L07 ("a1_hobbies_free_time_l07_q1", "A", "na", "на", "на", "on", True, None), ("a1_hobbies_free_time_l07_q1", "B", "w", "в", "у", "at", False, "wrong_word"), ("a1_hobbies_free_time_l07_q1", "C", "do", "до", "до", "to", False, "wrong_word"), ("a1_hobbies_free_time_l07_q1", "D", "z", "с", "з", "with", False, "wrong_word"), ("a1_hobbies_free_time_l07_q3", "A", "Gram na pianinie.", "Я играю на пианино.", "Я граю на піаніно.", "I play the piano.", True, None), ("a1_hobbies_free_time_l07_q3", "B", "Gram w pianino.", "Неправильный предлог для инструмента.", "Неправильний прийменник для інструменту.", "Wrong preposition for an instrument.", False, "wrong_sentence_type"), ("a1_hobbies_free_time_l07_q3", "C", "Gram pianino.", "Пропущен предлог.", "Пропущено прийменник.", "Missing preposition.", False, "wrong_sentence_type"), ("a1_hobbies_free_time_l07_q3", "D", "Mam pianino.", "У меня есть пианино. (не о игре)", "У мене є піаніно. (не про гру)", "I have a piano. (not about playing)", False, "wrong_context"), # L08 ("a1_hobbies_free_time_l08_q1", "A", "przyjaciółmi", "друзьями (тв.)", "друзями (ор.)", "friends (instr.)", True, None), ("a1_hobbies_free_time_l08_q1", "B", "przyjaciele", "друзья (им.)", "друзі (наз.)", "friends (nom.)", False, "wrong_case"), ("a1_hobbies_free_time_l08_q1", "C", "przyjaciół", "друзей (род.)", "друзів (род.)", "friends (gen.)", False, "wrong_case"), ("a1_hobbies_free_time_l08_q1", "D", "przyjaciołom", "друзьям (дат.)", "друзям (дав.)", "friends (dat.)", False, "wrong_case"), ("a1_hobbies_free_time_l08_q3", "A", "Spędzam czas z przyjaciółmi.", "Я провожу время с друзьями.", "Я проводжу час з друзями.", "I spend time with friends.", True, None), ("a1_hobbies_free_time_l08_q3", "B", "Mam przyjaciół.", "У меня есть друзья. (не о проведении времени)", "У мене є друзі. (не про проведення часу)", "I have friends. (not about spending time)", False, "wrong_context"), ("a1_hobbies_free_time_l08_q3", "C", "Lubię przyjaciół.", "Я люблю друзей. (не о встрече)", "Я люблю друзів. (не про зустріч)", "I like friends. (not about meeting)", False, "wrong_context"), ("a1_hobbies_free_time_l08_q3", "D", "Szukam przyjaciół.", "Я ищу друзей. (не о встрече)", "Я шукаю друзів. (не про зустріч)", "I'm looking for friends. (not about meeting)", False, "wrong_context"), # L09 ("a1_hobbies_free_time_l09_q1", "A", "W weekend będę czytać.", "В выходные я буду читать.", "У вихідні я буду читати.", "On the weekend I'll read.", True, None), ("a1_hobbies_free_time_l09_q1", "B", "W weekend czytałem.", "В выходные я читал.", "У вихідні я читав.", "On the weekend I read (past).", False, "wrong_translation"), ("a1_hobbies_free_time_l09_q1", "C", "Codziennie czytam.", "Я читаю каждый день.", "Я читаю щодня.", "I read every day.", False, "wrong_translation"), ("a1_hobbies_free_time_l09_q1", "D", "Nie lubię czytać.", "Я не люблю читать.", "Я не люблю читати.", "I don't like reading.", False, "wrong_translation"), ("a1_hobbies_free_time_l09_q3", "A", "Jutro będę grać w szachy.", "Завтра я буду играть в шахматы.", "Завтра я гратиму в шахи.", "Tomorrow I'll play chess.", True, None), ("a1_hobbies_free_time_l09_q3", "B", "Wczoraj grałem w szachy.", "Вчера я играл в шахматы. (неверное время)", "Вчора я грав у шахи. (невірний час)", "Yesterday I played chess. (wrong tense)", False, "wrong_context"), ("a1_hobbies_free_time_l09_q3", "C", "Nigdy nie gram w szachy.", "Я никогда не играю в шахматы. (противоречит ситуации)", "Я ніколи не граю в шахи. (суперечить ситуації)", "I never play chess. (contradicts the situation)", False, "wrong_context"), ("a1_hobbies_free_time_l09_q3", "D", "Lubię szachy.", "Я люблю шахматы. (не о планах)", "Я люблю шахи. (не про плани)", "I like chess. (not about plans)", False, "wrong_context"), # L10 ("a1_hobbies_free_time_l10_q1", "A", "Lubię czytać książki i często to robię wieczorem.", "Я люблю читать книги и часто делаю это вечером.", "Я люблю читати книги і часто роблю це ввечері.", "I like reading books and I often do it in the evening.", True, None), ("a1_hobbies_free_time_l10_q1", "B", "Lubię czytać książka wieczorem.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_hobbies_free_time_l10_q1", "C", "Jestem czytać książki wieczorem.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_hobbies_free_time_l10_q1", "D", "Lubię gotować książki wieczorem.", "Бессмысленное сочетание слов.", "Безглузде поєднання слів.", "Nonsensical word combination.", False, "wrong_context"), ("a1_hobbies_free_time_l10_q3", "A", "Lubię grać w piłkę nożną i często to robię.", "Я люблю играть в футбол и часто это делаю.", "Я люблю грати у футбол і часто це роблю.", "I like playing football and I often do it.", True, None), ("a1_hobbies_free_time_l10_q3", "B", "Piłka nożna jestem lubię.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_hobbies_free_time_l10_q3", "C", "Gram piłka nożna czasami wczoraj.", "Неправильный падеж и время.", "Неправильний відмінок і час.", "Wrong case and tense.", False, "wrong_sentence_type"), ("a1_hobbies_free_time_l10_q3", "D", "Chcę kupić piłkę nożną.", "Я хочу купить футбольный мяч. (не о хобби)", "Я хочу купити футбольний м'яч. (не про хобі)", "I want to buy a football. (not about the hobby)", False, "wrong_context"), ] for opt in options_t12: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t12 = [ ("a1_hobbies_free_time_t01", None, "topic_test", "recognition", "free_time_activities_verbs", 1, "Jak po polsku „плавать”?", "Как по-польски «плавать»?", "Як польською «плавати»?", "How do you say “to swim” in Polish?", "A", None, None, 1), ("a1_hobbies_free_time_t02", None, "topic_test", "recognition", "lubic_bezokolicznik", 1, "Wybierz poprawną formę: On ___ tańczyć. (lubić)", "Выберите правильную форму: On ___ tańczyć. (lubić)", "Виберіть правильну форму: On ___ tańczyć. (lubić)", "Choose the correct form: On ___ tańczyć. (lubić)", "A", None, None, 2), ("a1_hobbies_free_time_t03", None, "topic_test", "recognition", "hobby_nouns", 1, "Wybierz poprawną formę: Lubię ___. (sport)", "Выберите правильную форму: Lubię ___. (sport)", "Виберіть правильну форму: Lubię ___. (sport)", "Choose the correct form: Lubię ___. (sport)", "A", None, None, 3), ("a1_hobbies_free_time_t04", None, "topic_test", "recognition", "czas_wolny_vocabulary", 2, "Jak po polsku „выходные”?", "Как по-польски «выходные»?", "Як польською «вихідні»?", "How do you say “weekend” in Polish?", "A", None, None, 4), ("a1_hobbies_free_time_t05", None, "topic_test", "recognition", "jak_czesto_hobby", 2, "Co znaczy „W weekendy tańczę”?", "Что означает «W weekendy tańczę»?", "Що означає «W weekendy tańczę»?", "What does “W weekendy tańczę” mean?", "A", None, None, 5), ("a1_hobbies_free_time_t06", None, "topic_test", "recognition", "grac_w_na", 3, "Wybierz poprawną formę: Gram ___ szachy. (в)", "Выберите правильную форму: Gram ___ szachy. (в)", "Виберіть правильну форму: Gram ___ szachy. (у)", "Choose the correct form: Gram ___ szachy. (at)", "A", None, None, 6), ("a1_hobbies_free_time_t07", None, "topic_test", "application", "free_time_activities_verbs", 1, "Robisz ruchy w wodzie w basenie. Jaki to czasownik?", "Ты делаешь движения в воде в бассейне. Какой это глагол?", "Ти робиш рухи у воді в басейні. Яке це дієслово?", "You're moving through water at the pool. What's this verb?", "A", None, None, 7), ("a1_hobbies_free_time_t08", None, "topic_test", "application", "hobby_nouns", 1, "Kolega pyta, co lubisz. Lubisz muzykę. Co powiesz?", "Друг спрашивает, что ты любишь. Ты любишь музыку. Что ты скажешь?", "Друг питає, що ти любиш. Ти любиш музику. Що ти скажеш?", "A friend asks what you like. You like music. What do you say?", "A", None, None, 8), ("a1_hobbies_free_time_t09", None, "topic_test", "application", "preferencje_najbardziej", 2, "Kolega pyta, co najbardziej lubisz robić. Uwielbiasz pływać. Co powiesz?", "Друг спрашивает, что тебе больше всего нравится делать. Ты обожаешь плавать. Что ты скажешь?", "Друг питає, що тобі найбільше подобається робити. Ти обожнюєш плавати. Що ти скажеш?", "A friend asks what you like doing most. You love swimming. What do you say?", "A", None, None, 9), ("a1_hobbies_free_time_t10", None, "topic_test", "application", "spedzac_czas_z", 2, "Chcesz powiedzieć, że w weekend spotykasz się z rodziną. Co powiesz?", "Ты хочешь сказать, что на выходных встречаешься с семьёй. Что ты скажешь?", "Ти хочеш сказати, що на вихідних зустрічаєшся з родиною. Що ти скажеш?", "You want to say you meet family on the weekend. What do you say?", "A", None, None, 10), ("a1_hobbies_free_time_t11", None, "topic_test", "application", "planning_free_time", 3, "Planujesz jutro czytać książkę. Co powiesz?", "Ты планируешь завтра читать книгу. Что ты скажешь?", "Ти плануєш завтра читати книгу. Що ти скажеш?", "You plan to read a book tomorrow. What do you say?", "A", None, None, 11), ("a1_hobbies_free_time_t12", None, "topic_test", "application", "hobby_description", 3, "Chcesz opisać koledze swoje hobby: lubisz gotować, robisz to często wieczorem. Jak zaczniesz zdanie?", "Ты хочешь описать другу своё хобби: тебе нравится готовить, ты делаешь это часто вечером. Как ты начнёшь предложение?", "Ти хочеш описати другу своє хобі: тобі подобається готувати, ти робиш це часто ввечері. Як ти почнеш речення?", "You want to describe your hobby to a friend: you like cooking, you do it often in the evening. How do you start the sentence?", "A", None, None, 12), ("a1_hobbies_free_time_t13", None, "topic_test", "production", "free_time_activities_verbs", 1, "Wpisz brakujące słowo: Chcę ___. (танцевать)", "Вставьте пропущенное слово: Chcę ___. (танцевать)", "Вставте пропущене слово: Chcę ___. (танцювати)", "Fill in the missing word: Chcę ___. (to dance)", "tańczyć", "first_letter", "t", 13), ("a1_hobbies_free_time_t14", None, "topic_test", "production", "hobby_nouns", 1, "Wpisz brakujące słowo: Lubię ___. (музыку)", "Вставьте пропущенное слово: Lubię ___. (музыку)", "Вставте пропущене слово: Lubię ___. (музику)", "Fill in the missing word: Lubię ___. (music)", "muzykę", "first_letter", "m", 14), ("a1_hobbies_free_time_t15", None, "topic_test", "production", "czas_wolny_vocabulary", 2, "Wpisz brakujące słowo: ___ czytam książkę. (вечером)", "Вставьте пропущенное слово: ___ czytam książkę. (вечером)", "Вставте пропущене слово: ___ czytam książkę. (ввечері)", "Fill in the missing word: ___ czytam książkę. (in the evening)", "Wieczorem", "first_letter", "W", 15), ("a1_hobbies_free_time_t16", None, "topic_test", "production", "jak_czesto_hobby", 2, "Wpisz brakujące słowo: ___ czytam książki. (часто)", "Вставьте пропущенное слово: ___ czytam książki. (часто)", "Вставте пропущене слово: ___ czytam książki. (часто)", "Fill in the missing word: ___ czytam książki. (often)", "Często", "first_letter", "C", 16), ("a1_hobbies_free_time_t17", None, "topic_test", "production", "grac_w_na", 3, "Wpisz brakujące słowo: Gram ___ gitarze. (на)", "Вставьте пропущенное слово: Gram ___ gitarze. (на)", "Вставте пропущене слово: Gram ___ gitarze. (на)", "Fill in the missing word: Gram ___ gitarze. (on)", "na", "first_letter", "n", 17), ("a1_hobbies_free_time_t18", None, "topic_test", "production", "spedzac_czas_z", 2, "Wpisz brakujące słowo: Spędzam czas z ___. (семьёй)", "Вставьте пропущенное слово: Spędzam czas z ___. (семьёй)", "Вставте пропущене слово: Spędzam czas z ___. (родиною)", "Fill in the missing word: Spędzam czas z ___. (family)", "rodziną", "first_letter", "r", 18), ("a1_hobbies_free_time_t19", None, "topic_test", "mixed", "hobby_description", 3, "Wybierz poprawne tłumaczenie: «Я люблю читать книги и часто делаю это вечером».", "Выберите правильный перевод: «Я люблю читать книги и часто делаю это вечером».", "Виберіть правильний переклад: «Я люблю читати книги і часто роблю це ввечері».", "Choose the correct translation: “I like reading books and I often do it in the evening.”", "A", None, None, 19), ("a1_hobbies_free_time_t20", None, "topic_test", "mixed", "grac_w_na", 3, "Wybierz poprawne tłumaczenie dialogu: «— Что ты любишь делать в свободное время? — Я люблю играть в футбол с друзьями.»", "Выберите правильный перевод диалога: «— Что ты любишь делать в свободное время? — Я люблю играть в футбол с друзьями.»", "Виберіть правильний переклад діалогу: «— Що ти любиш робити у вільний час? — Я люблю грати у футбол з друзями.»", "Choose the correct translation of the dialogue: “— What do you like to do in your free time? — I like playing football with friends.”", "A", None, None, 20), ] for q in test_questions_t12: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_hobbies_free_time', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t12 = [ ("a1_hobbies_free_time_t01", "A", "pływać", "плавать", "плавати", "to swim", True, None), ("a1_hobbies_free_time_t01", "B", "tańczyć", "танцевать", "танцювати", "to dance", False, "wrong_word"), ("a1_hobbies_free_time_t01", "C", "gotować", "готовить", "готувати", "to cook", False, "wrong_word"), ("a1_hobbies_free_time_t01", "D", "czytać", "читать", "читати", "to read", False, "wrong_word"), ("a1_hobbies_free_time_t02", "A", "lubi", "любит", "любить", "likes", True, None), ("a1_hobbies_free_time_t02", "B", "lubię", "люблю", "люблю", "like (I)", False, "wrong_word"), ("a1_hobbies_free_time_t02", "C", "lubisz", "любишь", "любиш", "like (you)", False, "wrong_word"), ("a1_hobbies_free_time_t02", "D", "lubić", "любить (инф.)", "любити (інф.)", "to like", False, "wrong_word"), ("a1_hobbies_free_time_t03", "A", "sport", "спорт (вин.)", "спорт (знах.)", "sports (acc.)", True, None), ("a1_hobbies_free_time_t03", "B", "sportu", "спорта (род.)", "спорту (род.)", "sports (gen.)", False, "wrong_case"), ("a1_hobbies_free_time_t03", "C", "sportem", "спортом (тв.)", "спортом (ор.)", "sports (instr.)", False, "wrong_case"), ("a1_hobbies_free_time_t03", "D", "sportowi", "спорту (дат.)", "спорту (дав.)", "sports (dat.)", False, "wrong_case"), ("a1_hobbies_free_time_t04", "A", "weekend", "выходные", "вихідні", "weekend", True, None), ("a1_hobbies_free_time_t04", "B", "wieczór", "вечер", "вечір", "evening", False, "wrong_word"), ("a1_hobbies_free_time_t04", "C", "sobota", "суббота", "субота", "Saturday", False, "wrong_word"), ("a1_hobbies_free_time_t04", "D", "czas wolny", "свободное время", "вільний час", "free time", False, "wrong_word"), ("a1_hobbies_free_time_t05", "A", "W weekendy tańczę.", "По выходным я танцую.", "У вихідні я танцюю.", "On weekends I dance.", True, None), ("a1_hobbies_free_time_t05", "B", "Codziennie tańczę.", "Я танцую каждый день.", "Я танцюю щодня.", "I dance every day.", False, "wrong_translation"), ("a1_hobbies_free_time_t05", "C", "Nigdy nie tańczę.", "Я никогда не танцую.", "Я ніколи не танцюю.", "I never dance.", False, "wrong_translation"), ("a1_hobbies_free_time_t05", "D", "Czasami czytam.", "Иногда я читаю.", "Іноді я читаю.", "Sometimes I read.", False, "wrong_translation"), ("a1_hobbies_free_time_t06", "A", "w", "в", "у", "at", True, None), ("a1_hobbies_free_time_t06", "B", "na", "на", "на", "on", False, "wrong_word"), ("a1_hobbies_free_time_t06", "C", "do", "до", "до", "to", False, "wrong_word"), ("a1_hobbies_free_time_t06", "D", "z", "с", "з", "with", False, "wrong_word"), ("a1_hobbies_free_time_t07", "A", "pływać", "плавать", "плавати", "to swim", True, None), ("a1_hobbies_free_time_t07", "B", "tańczyć", "танцевать", "танцювати", "to dance", False, "wrong_context"), ("a1_hobbies_free_time_t07", "C", "gotować", "готовить", "готувати", "to cook", False, "wrong_context"), ("a1_hobbies_free_time_t07", "D", "czytać", "читать", "читати", "to read", False, "wrong_context"), ("a1_hobbies_free_time_t08", "A", "Lubię muzykę.", "Я люблю музыку.", "Я люблю музику.", "I like music.", True, None), ("a1_hobbies_free_time_t08", "B", "Lubię muzyka.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_hobbies_free_time_t08", "C", "Muzyka lubię.", "Неправильный порядок и падеж.", "Неправильний порядок і відмінок.", "Wrong word order and case.", False, "wrong_sentence_type"), ("a1_hobbies_free_time_t08", "D", "Chcę muzykę kupić.", "Неестественная конструкция.", "Неприродна конструкція.", "Unnatural construction.", False, "wrong_context"), ("a1_hobbies_free_time_t09", "A", "Najbardziej lubię pływać.", "Больше всего я люблю плавать.", "Найбільше я люблю плавати.", "I like swimming the most.", True, None), ("a1_hobbies_free_time_t09", "B", "Najbardziej lubię gotować.", "Больше всего я люблю готовить. (неверное хобби)", "Найбільше я люблю готувати. (невірне хобі)", "I like cooking the most. (wrong hobby)", False, "wrong_context"), ("a1_hobbies_free_time_t09", "C", "Pływam czasami.", "Я иногда плаваю. (не о любимом занятии)", "Я іноді плаваю. (не про улюблене заняття)", "I sometimes swim. (not about a favorite)", False, "wrong_context"), ("a1_hobbies_free_time_t09", "D", "Nie lubię pływać.", "Я не люблю плавать. (противоречит ситуации)", "Я не люблю плавати. (суперечить ситуації)", "I don't like swimming. (contradicts the situation)", False, "wrong_context"), ("a1_hobbies_free_time_t10", "A", "Spędzam czas z rodziną.", "Я провожу время с семьёй.", "Я проводжу час з родиною.", "I spend time with family.", True, None), ("a1_hobbies_free_time_t10", "B", "Mam rodzinę.", "У меня есть семья. (не о проведении времени)", "У мене є родина. (не про проведення часу)", "I have a family. (not about spending time)", False, "wrong_context"), ("a1_hobbies_free_time_t10", "C", "Lubię rodzinę.", "Я люблю семью. (не о встрече)", "Я люблю родину. (не про зустріч)", "I like my family. (not about meeting)", False, "wrong_context"), ("a1_hobbies_free_time_t10", "D", "Szukam rodziny.", "Я ищу семью. (не о встрече)", "Я шукаю родину. (не про зустріч)", "I'm looking for a family. (not about meeting)", False, "wrong_context"), ("a1_hobbies_free_time_t11", "A", "Jutro będę czytać książkę.", "Завтра я буду читать книгу.", "Завтра я буду читати книгу.", "Tomorrow I'll read a book.", True, None), ("a1_hobbies_free_time_t11", "B", "Wczoraj czytałem książkę.", "Вчера я читал книгу. (неверное время)", "Вчора я читав книгу. (невірний час)", "Yesterday I read a book. (wrong tense)", False, "wrong_context"), ("a1_hobbies_free_time_t11", "C", "Nigdy nie czytam książek.", "Я никогда не читаю книг. (противоречит ситуации)", "Я ніколи не читаю книг. (суперечить ситуації)", "I never read books. (contradicts the situation)", False, "wrong_context"), ("a1_hobbies_free_time_t11", "D", "Lubię książki.", "Я люблю книги. (не о планах)", "Я люблю книги. (не про плани)", "I like books. (not about plans)", False, "wrong_context"), ("a1_hobbies_free_time_t12", "A", "Lubię gotować i często to robię wieczorem.", "Я люблю готовить и часто делаю это вечером.", "Я люблю готувати і часто роблю це ввечері.", "I like cooking and I often do it in the evening.", True, None), ("a1_hobbies_free_time_t12", "B", "Gotowanie jestem lubię.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_hobbies_free_time_t12", "C", "Gotuję czasami wczoraj.", "Смешение времени.", "Змішування часу.", "Mixed tense.", False, "wrong_sentence_type"), ("a1_hobbies_free_time_t12", "D", "Chcę kupić gotowanie.", "Бессмысленное сочетание слов.", "Безглузде поєднання слів.", "Nonsensical word combination.", False, "wrong_context"), ("a1_hobbies_free_time_t19", "A", "Lubię czytać książki i często to robię wieczorem.", "Я люблю читать книги и часто делаю это вечером.", "Я люблю читати книги і часто роблю це ввечері.", "I like reading books and I often do it in the evening.", True, None), ("a1_hobbies_free_time_t19", "B", "Lubiłem czytać książki wieczorem.", "Неправильное время (прошедшее вместо настоящего).", "Неправильний час (минулий замість теперішнього).", "Wrong tense (past instead of present).", False, "wrong_sentence_type"), ("a1_hobbies_free_time_t19", "C", "Lubię gotować książki i często to robię wieczorem.", "Неправильный глагол (бессмысленное сочетание).", "Неправильне дієслово (безглузде поєднання).", "Wrong verb (nonsensical combination).", False, "wrong_word"), ("a1_hobbies_free_time_t19", "D", "Książki czytać lubię wieczorem często.", "Неправильный порядок слов.", "Неправильний порядок слів.", "Wrong word order.", False, "wrong_sentence_type"), ("a1_hobbies_free_time_t20", "A", "Co lubisz robić w wolnym czasie? Lubię grać w piłkę nożną z przyjaciółmi.", "Что ты любишь делать в свободное время? Я люблю играть в футбол с друзьями.", "Що ти любиш робити у вільний час? Я люблю грати у футбол з друзями.", "What do you like to do in your free time? I like playing football with friends.", True, None), ("a1_hobbies_free_time_t20", "B", "Gdzie jest twój wolny czas? Lubię grać w piłkę nożną z przyjaciółmi.", "Неправильный вопрос.", "Неправильне питання.", "Wrong question.", False, "wrong_translation"), ("a1_hobbies_free_time_t20", "C", "Co lubisz robić w wolnym czasie? Lubię grać na piłce nożnej z przyjaciółmi.", "Неправильный предлог (piłka nożna требует „grać w”).", "Неправильний прийменник (piłka nożna вимагає „grać w”).", "Wrong preposition (piłka nożna needs „grać w”).", False, "wrong_word"), ("a1_hobbies_free_time_t20", "D", "Co lubisz robić w wolnym czasie? Lubię grać w piłkę nożną sam.", "Не соответствует контексту (речь о друзьях, а не в одиночку).", "Не відповідає контексту (мова про друзів, а не наодинці).", "Doesn't match the context (it's about friends, not alone).", False, "wrong_context"), ] for opt in test_options_t12: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 13: ЗДОРОВЬЕ ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_health', 'A1', 13, 'Zdrowie', 'Здоровье', 'Здоров''я', 'Health') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t13 = [ ("a1_health_l01", 1, "body_parts_vocabulary", "Podstawowe słowa: części ciała", "Основные слова: части тела", "Основні слова: частини тіла", "Basic words: body parts", "Podstawowe słowa dotyczące ciała: głowa, ręka, noga, brzuch. „Głowa”, „ręka” i „noga” są rodzaju żeńskiego, „brzuch” jest rodzaju męskiego.", "Основные слова, связанные с телом: głowa (голова), ręka (рука), noga (нога), brzuch (живот). „Głowa”, „ręka” и „noga” женского рода, „brzuch” мужского рода.", "Основні слова, пов'язані з тілом: głowa (голова), ręka (рука), noga (нога), brzuch (живіт). „Głowa”, „ręka” і „noga” жіночого роду, „brzuch” чоловічого роду.", "Basic words related to the body: głowa (head), ręka (hand/arm), noga (leg), brzuch (stomach). „Głowa”, „ręka” and „noga” are feminine, „brzuch” is masculine."), ("a1_health_l02", 2, "boli_mnie", "Boli mnie + mianownik", "Boli mnie + именительный падеж", "Boli mnie + називний відмінок", "Boli mnie + nominative", "Konstrukcji „boli mnie” + mianownik używamy, żeby mówić o bólu: boli mnie głowa, boli mnie brzuch, boli mnie noga.", "Конструкцию „boli mnie” (у меня болит) + именительный падеж используем, чтобы говорить о боли: boli mnie głowa (у меня болит голова), boli mnie brzuch (у меня болит живот), boli mnie noga (у меня болит нога).", "Конструкцію „boli mnie” (у мене болить) + називний відмінок використовуємо, щоб говорити про біль: boli mnie głowa (у мене болить голова), boli mnie brzuch (у мене болить живіт), boli mnie noga (у мене болить нога).", "We use the construction „boli mnie” (it hurts me) + nominative to talk about pain: boli mnie głowa (my head hurts), boli mnie brzuch (my stomach hurts), boli mnie noga (my leg hurts)."), ("a1_health_l03", 3, "czuc_sie", "Czuję się + przysłówek", "Czuję się + наречие", "Czuję się + прислівник", "Czuję się + adverb", "Czasownika „czuć się” używamy z przysłówkiem, żeby opisać samopoczucie: czuję się dobrze, czuję się źle, czuję się lepiej.", "Глагол „czuć się” (чувствовать себя) используем с наречием, чтобы описать самочувствие: czuję się dobrze (я чувствую себя хорошо), czuję się źle (я чувствую себя плохо), czuję się lepiej (я чувствую себя лучше).", "Дієслово „czuć się” (почуватися) використовуємо з прислівником, щоб описати самопочуття: czuję się dobrze (я почуваюся добре), czuję się źle (я почуваюся погано), czuję się lepiej (я почуваюся краще).", "The verb „czuć się” (to feel) is used with an adverb to describe how you feel: czuję się dobrze (I feel good), czuję się źle (I feel bad), czuję się lepiej (I feel better)."), ("a1_health_l04", 4, "u_lekarza_vocabulary", "Słowa: u lekarza", "Слова: у врача", "Слова: у лікаря", "Words: at the doctor's", "Podstawowe słowa związane z wizytą u lekarza: lekarz, szpital, apteka, recepta. „Lekarz” i „szpital” są rodzaju męskiego, „apteka” i „recepta” są rodzaju żeńskiego.", "Основные слова, связанные с визитом к врачу: lekarz (врач), szpital (больница), apteka (аптека), recepta (рецепт). „Lekarz” и „szpital” мужского рода, „apteka” и „recepta” женского рода.", "Основні слова, пов'язані з візитом до лікаря: lekarz (лікар), szpital (лікарня), apteka (аптека), recepta (рецепт). „Lekarz” і „szpital” чоловічого роду, „apteka” і „recepta” жіночого роду.", "Basic words related to a doctor's visit: lekarz (doctor), szpital (hospital), apteka (pharmacy), recepta (prescription). „Lekarz” and „szpital” are masculine, „apteka” and „recepta” are feminine."), ("a1_health_l05", 5, "objawy_choroby", "Mam + biernik (objawy)", "Mam + винительный падеж (симптомы)", "Mam + знахідний відмінок (симптоми)", "Mam + accusative (symptoms)", "Żeby opisać objawy choroby, używamy „mam” + biernik: mam kaszel, mam katar, mam gorączkę.", "Чтобы описать симптомы болезни, используем „mam” (у меня есть) + винительный падеж: mam kaszel (у меня кашель), mam katar (у меня насморк), mam gorączkę (у меня температура).", "Щоб описати симптоми хвороби, використовуємо „mam” (у мене є) + знахідний відмінок: mam kaszel (у мене кашель), mam katar (у мене нежить), mam gorączkę (у мене температура).", "To describe symptoms of illness, we use „mam” (I have) + accusative: mam kaszel (I have a cough), mam katar (I have a runny nose), mam gorączkę (I have a fever)."), ("a1_health_l06", 6, "brac_leki", "Biorę lekarstwo + biernik", "Biorę lekarstwo + винительный падеж", "Biorę lekarstwo + знахідний відмінок", "Biorę lekarstwo + accusative", "Czasownik „brać” + biernik: biorę lekarstwo, biorę tabletkę, biorę tabletki.", "Глагол „brać” (принимать/брать) + винительный падеж: biorę lekarstwo (я принимаю лекарство), biorę tabletkę (я принимаю таблетку), biorę tabletki (я принимаю таблетки).", "Дієслово „brać” (приймати/брати) + знахідний відмінок: biorę lekarstwo (я приймаю ліки), biorę tabletkę (я приймаю таблетку), biorę tabletki (я приймаю таблетки).", "The verb „brać” (to take) + accusative: biorę lekarstwo (I take medicine), biorę tabletkę (I take a pill), biorę tabletki (I take pills)."), ("a1_health_l07", 7, "musiec_isc_do_lekarza", "Muszę iść do + dopełniacz", "Muszę iść do + родительный падеж", "Muszę iść do + родовий відмінок", "Muszę iść do + genitive", "Konstrukcja „muszę iść do” + dopełniacz: muszę iść do lekarza, muszę iść do apteki, muszę iść do szpitala.", "Конструкция „muszę iść do” (мне нужно пойти в/к) + родительный падеж: muszę iść do lekarza (мне нужно пойти к врачу), muszę iść do apteki (мне нужно пойти в аптеку), muszę iść do szpitala (мне нужно пойти в больницу).", "Конструкція „muszę iść do” (мені треба піти до) + родовий відмінок: muszę iść do lekarza (мені треба піти до лікаря), muszę iść do apteki (мені треба піти в аптеку), muszę iść do szpitala (мені треба піти в лікарню).", "The construction „muszę iść do” (I have to go to) + genitive: muszę iść do lekarza (I have to go to the doctor), muszę iść do apteki (I have to go to the pharmacy), muszę iść do szpitala (I have to go to the hospital)."), ("a1_health_l08", 8, "zdrowy_tryb_zycia", "Zdrowy tryb życia — czasowniki", "Здоровый образ жизни — глаголы", "Здоровий спосіб життя — дієслова", "Healthy lifestyle — verbs", "Żeby mówić o zdrowym trybie życia, używamy czasowników: zdrowo się odżywiać, uprawiać sport, dużo spać.", "Чтобы говорить о здоровом образе жизни, используем глаголы: zdrowo się odżywiać (здорово питаться), uprawiać sport (заниматься спортом), dużo spać (много спать).", "Щоб говорити про здоровий спосіб життя, використовуємо дієслова: zdrowo się odżywiać (здорово харчуватися), uprawiać sport (займатися спортом), dużo spać (багато спати).", "To talk about a healthy lifestyle, we use verbs: zdrowo się odżywiać (to eat healthily), uprawiać sport (to do sports), dużo spać (to sleep a lot)."), ("a1_health_l09", 9, "dawac_rady_zdrowotne", "Powinieneś/powinnaś + bezokolicznik", "Powinieneś/powinnaś + инфинитив", "Powinieneś/powinnaś + інфінітив", "Powinieneś/powinnaś + infinitive", "Żeby dać radę zdrowotną, używamy „powinieneś” (do mężczyzny) lub „powinnaś” (do kobiety) + bezokolicznik: powinieneś odpoczywać, powinnaś pić dużo wody.", "Чтобы дать совет о здоровье, используем „powinieneś” (мужчине) или „powinnaś” (женщине) + инфинитив: powinieneś odpoczywać (тебе следует отдохнуть), powinnaś pić dużo wody (тебе следует пить много воды).", "Щоб дати пораду щодо здоров'я, використовуємо „powinieneś” (чоловіку) або „powinnaś” (жінці) + інфінітив: powinieneś odpoczywać (тобі варто відпочити), powinnaś pić dużo wody (тобі варто пити багато води).", "To give health advice, we use „powinieneś” (to a man) or „powinnaś” (to a woman) + infinitive: powinieneś odpoczywać (you should rest), powinnaś pić dużo wody (you should drink a lot of water)."), ("a1_health_l10", 10, "opisuje_samopoczucie", "Opisuję swoje samopoczucie", "Описываю своё самочувствие", "Описую своє самопочуття", "Describing how I feel", "Żeby opisać samopoczucie, łączymy kilka zdań: Źle się czuję. Boli mnie głowa. Muszę iść do lekarza.", "Чтобы описать самочувствие, соединяем несколько предложений: Źle się czuję. Boli mnie głowa. Muszę iść do lekarza. (Я плохо себя чувствую. У меня болит голова. Мне нужно пойти к врачу.)", "Щоб описати самопочуття, поєднуємо кілька речень: Źle się czuję. Boli mnie głowa. Muszę iść do lekarza. (Я погано почуваюся. У мене болить голова. Мені треба піти до лікаря.)", "To describe how you feel, we combine several sentences: Źle się czuję. Boli mnie głowa. Muszę iść do lekarza. (I feel bad. My head hurts. I have to go to the doctor.)"), ] for lesson in lessons_t13: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_health', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t13 = [ ("a1_health_l01", 1, "To jest głowa.", "Это голова.", "Це голова.", "This is a head."), ("a1_health_l01", 2, "To jest ręka.", "Это рука.", "Це рука.", "This is a hand."), ("a1_health_l01", 3, "To jest noga.", "Это нога.", "Це нога.", "This is a leg."), ("a1_health_l02", 1, "Boli mnie głowa.", "У меня болит голова.", "У мене болить голова.", "My head hurts."), ("a1_health_l02", 2, "Boli cię brzuch?", "У тебя болит живот?", "У тебе болить живіт?", "Does your stomach hurt?"), ("a1_health_l02", 3, "Boli go noga.", "У него болит нога.", "У нього болить нога.", "His leg hurts."), ("a1_health_l03", 1, "Czuję się dobrze.", "Я чувствую себя хорошо.", "Я почуваюся добре.", "I feel good."), ("a1_health_l03", 2, "Czujesz się źle?", "Ты чувствуешь себя плохо?", "Ти почуваєшся погано?", "Do you feel bad?"), ("a1_health_l03", 3, "Ona czuje się lepiej.", "Она чувствует себя лучше.", "Вона почувається краще.", "She feels better."), ("a1_health_l04", 1, "To jest lekarz.", "Это врач.", "Це лікар.", "This is a doctor."), ("a1_health_l04", 2, "To jest apteka.", "Это аптека.", "Це аптека.", "This is a pharmacy."), ("a1_health_l04", 3, "To jest szpital.", "Это больница.", "Це лікарня.", "This is a hospital."), ("a1_health_l05", 1, "Mam kaszel.", "У меня кашель.", "У мене кашель.", "I have a cough."), ("a1_health_l05", 2, "Masz katar?", "У тебя насморк?", "У тебе нежить?", "Do you have a runny nose?"), ("a1_health_l05", 3, "On ma gorączkę.", "У него температура.", "У нього температура.", "He has a fever."), ("a1_health_l06", 1, "Biorę lekarstwo.", "Я принимаю лекарство.", "Я приймаю ліки.", "I'm taking medicine."), ("a1_health_l06", 2, "Bierzesz tabletkę?", "Ты принимаешь таблетку?", "Ти приймаєш таблетку?", "Are you taking a pill?"), ("a1_health_l06", 3, "Ona bierze tabletki.", "Она принимает таблетки.", "Вона приймає таблетки.", "She's taking pills."), ("a1_health_l07", 1, "Muszę iść do lekarza.", "Мне нужно пойти к врачу.", "Мені треба піти до лікаря.", "I have to go to the doctor."), ("a1_health_l07", 2, "Musisz iść do apteki.", "Тебе нужно пойти в аптеку.", "Тобі треба піти в аптеку.", "You have to go to the pharmacy."), ("a1_health_l07", 3, "On musi iść do szpitala.", "Ему нужно пойти в больницу.", "Йому треба піти в лікарню.", "He has to go to the hospital."), ("a1_health_l08", 1, "Uprawiam sport.", "Я занимаюсь спортом.", "Я займаюся спортом.", "I do sports."), ("a1_health_l08", 2, "Zdrowo się odżywiasz?", "Ты здорово питаешься?", "Ти здорово харчуєшся?", "Do you eat healthily?"), ("a1_health_l08", 3, "Ona dużo śpi.", "Она много спит.", "Вона багато спить.", "She sleeps a lot."), ("a1_health_l09", 1, "Powinieneś odpoczywać.", "Тебе следует отдохнуть.", "Тобі варто відпочити.", "You should rest."), ("a1_health_l09", 2, "Powinnaś pić dużo wody.", "Тебе следует пить много воды.", "Тобі варто пити багато води.", "You should drink a lot of water."), ("a1_health_l09", 3, "Powinien iść do lekarza.", "Ему следует пойти к врачу.", "Йому варто піти до лікаря.", "He should go to the doctor."), ("a1_health_l10", 1, "Źle się czuję.", "Я плохо себя чувствую.", "Я погано почуваюся.", "I feel bad."), ("a1_health_l10", 2, "Boli mnie głowa i gardło.", "У меня болит голова и горло.", "У мене болить голова і горло.", "My head and throat hurt."), ("a1_health_l10", 3, "Muszę iść do lekarza.", "Мне нужно пойти к врачу.", "Мені треба піти до лікаря.", "I have to go to the doctor."), ] for ex in examples_t13: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t13 = [ # L01 — body_parts_vocabulary (diff 1) ("a1_health_l01_q1", "a1_health_l01", "lesson_practice", "recognition", "body_parts_vocabulary", 1, "Jak po polsku „рука”?", "Как по-польски «рука»?", "Як польською «рука»?", "How do you say “hand” in Polish?", "B", None, None), ("a1_health_l01_q2", "a1_health_l01", "lesson_practice", "production", "body_parts_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (нога)", "Вставьте пропущенное слово: To jest ___. (нога)", "Вставте пропущене слово: To jest ___. (нога)", "Fill in the missing word: To jest ___. (leg)", "noga", "first_letter", "n"), ("a1_health_l01_q3", "a1_health_l01", "lesson_practice", "application", "body_parts_vocabulary", 1, "Zakładasz czapkę na zimno. Na jaką część ciała ją zakładasz?", "Ты надеваешь шапку от холода. На какую часть тела ты её надеваешь?", "Ти надягаєш шапку від холоду. На яку частину тіла ти її надягаєш?", "You put on a hat because it's cold. Which body part do you put it on?", "D", None, None), # L02 — boli_mnie (diff 1) ("a1_health_l02_q1", "a1_health_l02", "lesson_practice", "recognition", "boli_mnie", 1, "Wybierz poprawną formę: ___ mnie głowa. (boleć)", "Выберите правильную форму: ___ mnie głowa. (boleć)", "Виберіть правильну форму: ___ mnie głowa. (boleć)", "Choose the correct form: ___ mnie głowa. (boleć)", "C", None, None), ("a1_health_l02_q2", "a1_health_l02", "lesson_practice", "production", "boli_mnie", 1, "Wpisz brakujące słowo: Boli mnie ___. (живот)", "Вставьте пропущенное слово: Boli mnie ___. (живот)", "Вставте пропущене слово: Boli mnie ___. (живіт)", "Fill in the missing word: Boli mnie ___. (stomach)", "brzuch", "first_letter", "b"), ("a1_health_l02_q3", "a1_health_l02", "lesson_practice", "application", "boli_mnie", 1, "Zjadłeś za dużo i czujesz ból. Co powiesz?", "Ты съел слишком много и чувствуешь боль. Что ты скажешь?", "Ти з'їв забагато і відчуваєш біль. Що ти скажеш?", "You ate too much and feel pain. What do you say?", "B", None, None), # L03 — czuc_sie (diff 1) ("a1_health_l03_q1", "a1_health_l03", "lesson_practice", "recognition", "czuc_sie", 1, "Wybierz poprawną formę: Ja ___ się dobrze. (czuć)", "Выберите правильную форму: Ja ___ się dobrze. (czuć)", "Виберіть правильну форму: Ja ___ się dobrze. (czuć)", "Choose the correct form: Ja ___ się dobrze. (czuć)", "D", None, None), ("a1_health_l03_q2", "a1_health_l03", "lesson_practice", "production", "czuc_sie", 1, "Wpisz brakujące słowo: Ty ___ się źle? (чувствуешь)", "Вставьте пропущенное слово: Ty ___ się źle? (чувствуешь)", "Вставте пропущене слово: Ty ___ się źle? (почуваєшся)", "Fill in the missing word: Ty ___ się źle? (do you feel)", "czujesz", "first_letter", "c"), ("a1_health_l03_q3", "a1_health_l03", "lesson_practice", "application", "czuc_sie", 1, "Kolega pyta, jak się czujesz. Czujesz się lepiej niż wczoraj. Co powiesz?", "Друг спрашивает, как ты себя чувствуешь. Ты чувствуешь себя лучше, чем вчера. Что ты скажешь?", "Друг питає, як ти почуваєшся. Ти почуваєшся краще, ніж учора. Що ти скажеш?", "A friend asks how you feel. You feel better than yesterday. What do you say?", "A", None, None), # L04 — u_lekarza_vocabulary (diff 1) ("a1_health_l04_q1", "a1_health_l04", "lesson_practice", "recognition", "u_lekarza_vocabulary", 1, "Jak po polsku „аптека”?", "Как по-польски «аптека»?", "Як польською «аптека»?", "How do you say “pharmacy” in Polish?", "C", None, None), ("a1_health_l04_q2", "a1_health_l04", "lesson_practice", "production", "u_lekarza_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (больница)", "Вставьте пропущенное слово: To jest ___. (больница)", "Вставте пропущене слово: To jest ___. (лікарня)", "Fill in the missing word: To jest ___. (hospital)", "szpital", "first_letter", "s"), ("a1_health_l04_q3", "a1_health_l04", "lesson_practice", "application", "u_lekarza_vocabulary", 1, "Potrzebujesz kupić lekarstwo. Dokąd idziesz?", "Тебе нужно купить лекарство. Куда ты идёшь?", "Тобі треба купити ліки. Куди ти йдеш?", "You need to buy medicine. Where do you go?", "B", None, None), # L05 — objawy_choroby (diff 2) ("a1_health_l05_q1", "a1_health_l05", "lesson_practice", "recognition", "objawy_choroby", 2, "Wybierz poprawną formę: Mam ___. (gorączka)", "Выберите правильную форму: Mam ___. (gorączka)", "Виберіть правильну форму: Mam ___. (gorączka)", "Choose the correct form: Mam ___. (gorączka)", "D", None, None), ("a1_health_l05_q2", "a1_health_l05", "lesson_practice", "production", "objawy_choroby", 2, "Wpisz brakujące słowo: Mam ___. (кашель)", "Вставьте пропущенное слово: Mam ___. (кашель)", "Вставте пропущене слово: Mam ___. (кашель)", "Fill in the missing word: Mam ___. (cough)", "kaszel", "first_letter", "k"), ("a1_health_l05_q3", "a1_health_l05", "lesson_practice", "application", "objawy_choroby", 2, "Masz katar i kaszlesz. Co powiesz lekarzowi?", "У тебя насморк и ты кашляешь. Что ты скажешь врачу?", "У тебе нежить і ти кашляєш. Що ти скажеш лікарю?", "You have a runny nose and are coughing. What do you tell the doctor?", "A", None, None), # L06 — brac_leki (diff 2) ("a1_health_l06_q1", "a1_health_l06", "lesson_practice", "recognition", "brac_leki", 2, "Wybierz poprawną formę: Biorę ___. (tabletka)", "Выберите правильную форму: Biorę ___. (tabletka)", "Виберіть правильну форму: Biorę ___. (tabletka)", "Choose the correct form: Biorę ___. (tabletka)", "C", None, None), ("a1_health_l06_q2", "a1_health_l06", "lesson_practice", "production", "brac_leki", 2, "Wpisz brakujące słowo: Biorę ___. (лекарство)", "Вставьте пропущенное слово: Biorę ___. (лекарство)", "Вставте пропущене слово: Biorę ___. (ліки)", "Fill in the missing word: Biorę ___. (medicine)", "lekarstwo", "first_letter", "l"), ("a1_health_l06_q3", "a1_health_l06", "lesson_practice", "application", "brac_leki", 2, "Lekarz mówi, żebyś brał tabletki dwa razy dziennie. Co robisz rano?", "Врач говорит, чтобы ты принимал таблетки два раза в день. Что ты делаешь утром?", "Лікар каже, щоб ти приймав таблетки двічі на день. Що ти робиш вранці?", "The doctor says to take pills twice a day. What do you do in the morning?", "B", None, None), # L07 — musiec_isc_do_lekarza (diff 2) ("a1_health_l07_q1", "a1_health_l07", "lesson_practice", "recognition", "musiec_isc_do_lekarza", 2, "Wybierz poprawną formę: Muszę iść do ___. (lekarz)", "Выберите правильную форму: Muszę iść do ___. (lekarz)", "Виберіть правильну форму: Muszę iść do ___. (lekarz)", "Choose the correct form: Muszę iść do ___. (lekarz)", "D", None, None), ("a1_health_l07_q2", "a1_health_l07", "lesson_practice", "production", "musiec_isc_do_lekarza", 2, "Wpisz brakujące słowo: Muszę iść do ___. (аптеки)", "Вставьте пропущенное слово: Muszę iść do ___. (аптеки)", "Вставте пропущене слово: Muszę iść do ___. (аптеки)", "Fill in the missing word: Muszę iść do ___. (the pharmacy)", "apteki", "first_letter", "a"), ("a1_health_l07_q3", "a1_health_l07", "lesson_practice", "application", "musiec_isc_do_lekarza", 2, "Masz gorączkę i kaszel. Co powiesz?", "У тебя температура и кашель. Что ты скажешь?", "У тебе температура і кашель. Що ти скажеш?", "You have a fever and a cough. What do you say?", "C", None, None), # L08 — zdrowy_tryb_zycia (diff 2) ("a1_health_l08_q1", "a1_health_l08", "lesson_practice", "recognition", "zdrowy_tryb_zycia", 2, "Wybierz poprawną formę: On ___ sport. (uprawiać)", "Выберите правильную форму: On ___ sport. (uprawiać)", "Виберіть правильну форму: On ___ sport. (uprawiać)", "Choose the correct form: On ___ sport. (uprawiać)", "A", None, None), ("a1_health_l08_q2", "a1_health_l08", "lesson_practice", "production", "zdrowy_tryb_zycia", 2, "Wpisz brakujące słowo: Ona dużo ___. (спит)", "Вставьте пропущенное слово: Ona dużo ___. (спит)", "Вставте пропущене слово: Ona dużo ___. (спить)", "Fill in the missing word: Ona dużo ___. (sleeps)", "śpi", "first_letter", "ś"), ("a1_health_l08_q3", "a1_health_l08", "lesson_practice", "application", "zdrowy_tryb_zycia", 2, "Chcesz być zdrowy i mieć dużo energii. Co robisz codziennie?", "Ты хочешь быть здоровым и иметь много энергии. Что ты делаешь каждый день?", "Ти хочеш бути здоровим і мати багато енергії. Що ти робиш щодня?", "You want to be healthy and have a lot of energy. What do you do every day?", "D", None, None), # L09 — dawac_rady_zdrowotne (diff 3) ("a1_health_l09_q1", "a1_health_l09", "lesson_practice", "recognition", "dawac_rady_zdrowotne", 3, "Co znaczy „Powinieneś iść do lekarza”?", "Что означает «Powinieneś iść do lekarza»?", "Що означає «Powinieneś iść do lekarza»?", "What does “Powinieneś iść do lekarza” mean?", "C", None, None), ("a1_health_l09_q2", "a1_health_l09", "lesson_practice", "production", "dawac_rady_zdrowotne", 3, "Wpisz brakujące słowo: ___ pić dużo wody. (тебе следует, к женщине)", "Вставьте пропущенное слово: ___ pić dużo wody. (тебе следует, к женщине)", "Вставте пропущене слово: ___ pić dużo wody. (тобі варто, до жінки)", "Fill in the missing word: ___ pić dużo wody. (you should, to a woman)", "Powinnaś", "first_letter", "P"), ("a1_health_l09_q3", "a1_health_l09", "lesson_practice", "application", "dawac_rady_zdrowotne", 3, "Twoja koleżanka źle się czuje i ma gorączkę. Jaką radę jej dasz?", "Твоя подруга плохо себя чувствует и у неё температура. Какой совет ты ей дашь?", "Твоя подруга погано почувається і в неї температура. Яку пораду ти їй даси?", "Your friend feels bad and has a fever. What advice do you give her?", "B", None, None), # L10 — opisuje_samopoczucie (diff 3) ("a1_health_l10_q1", "a1_health_l10", "lesson_practice", "recognition", "opisuje_samopoczucie", 3, "Które zdanie poprawnie opisuje samopoczucie?", "Какое предложение правильно описывает самочувствие?", "Яке речення правильно описує самопочуття?", "Which sentence correctly describes how someone feels?", "D", None, None), ("a1_health_l10_q2", "a1_health_l10", "lesson_practice", "production", "opisuje_samopoczucie", 3, "Przetłumacz: «Мне нужно пойти к врачу».", "Переведите: «Мне нужно пойти к врачу».", "Перекладіть: «Мені потрібно піти до лікаря».", "Translate: “I have to go to the doctor.”", "Muszę iść do lekarza", "first_letter", "M"), ("a1_health_l10_q3", "a1_health_l10", "lesson_practice", "application", "opisuje_samopoczucie", 3, "Chcesz opisać koledze swoje samopoczucie: źle się czujesz, boli cię głowa, musisz iść do lekarza. Jak zaczniesz zdanie?", "Ты хочешь описать другу своё самочувствие: ты плохо себя чувствуешь, у тебя болит голова, тебе нужно пойти к врачу. Как ты начнёшь предложение?", "Ти хочеш описати другу своє самопочуття: ти погано почуваєшся, у тебе болить голова, тобі треба піти до лікаря. Як ти почнеш речення?", "You want to describe how you feel to a friend: you feel bad, your head hurts, you have to go to the doctor. How do you start the sentence?", "A", None, None), ] for q in questions_t13: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_health', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t13 = [ # L01 ("a1_health_l01_q1", "A", "noga", "нога", "нога", "leg", False, "wrong_word"), ("a1_health_l01_q1", "B", "ręka", "рука", "рука", "hand", True, None), ("a1_health_l01_q1", "C", "głowa", "голова", "голова", "head", False, "wrong_word"), ("a1_health_l01_q1", "D", "brzuch", "живот", "живіт", "stomach", False, "wrong_word"), ("a1_health_l01_q3", "A", "ręka", "рука", "рука", "hand", False, "wrong_context"), ("a1_health_l01_q3", "B", "noga", "нога", "нога", "leg", False, "wrong_context"), ("a1_health_l01_q3", "C", "brzuch", "живот", "живіт", "stomach", False, "wrong_context"), ("a1_health_l01_q3", "D", "głowa", "голова", "голова", "head", True, None), # L02 ("a1_health_l02_q1", "A", "Bolę", "неправильная форма", "неправильна форма", "wrong form", False, "wrong_word"), ("a1_health_l02_q1", "B", "Bolisz", "болишь", "болиш", "you hurt", False, "wrong_word"), ("a1_health_l02_q1", "C", "Boli", "болит", "болить", "hurts", True, None), ("a1_health_l02_q1", "D", "Boleć", "болеть (инф.)", "боліти (інф.)", "to hurt", False, "wrong_word"), ("a1_health_l02_q3", "A", "Boli mnie głowa.", "У меня болит голова.", "У мене болить голова.", "My head hurts.", False, "wrong_context"), ("a1_health_l02_q3", "B", "Boli mnie brzuch.", "У меня болит живот.", "У мене болить живіт.", "My stomach hurts.", True, None), ("a1_health_l02_q3", "C", "Mam gorączkę.", "У меня температура.", "У мене температура.", "I have a fever.", False, "wrong_context"), ("a1_health_l02_q3", "D", "Czuję się dobrze.", "Я чувствую себя хорошо.", "Я почуваюся добре.", "I feel good.", False, "wrong_context"), # L03 ("a1_health_l03_q1", "A", "czujesz", "чувствуешь", "почуваєшся", "feel (you)", False, "wrong_word"), ("a1_health_l03_q1", "B", "czuje", "чувствует", "почувається", "feels", False, "wrong_word"), ("a1_health_l03_q1", "C", "czuć", "чувствовать (инф.)", "почуватися (інф.)", "to feel", False, "wrong_word"), ("a1_health_l03_q1", "D", "czuję", "чувствую", "почуваюся", "feel (I)", True, None), ("a1_health_l03_q3", "A", "Czuję się lepiej.", "Я чувствую себя лучше.", "Я почуваюся краще.", "I feel better.", True, None), ("a1_health_l03_q3", "B", "Czuję się źle.", "Я чувствую себя плохо.", "Я почуваюся погано.", "I feel bad.", False, "wrong_context"), ("a1_health_l03_q3", "C", "Boli mnie głowa.", "У меня болит голова.", "У мене болить голова.", "My head hurts.", False, "wrong_context"), ("a1_health_l03_q3", "D", "Muszę iść do lekarza.", "Мне нужно пойти к врачу.", "Мені треба піти до лікаря.", "I have to go to the doctor.", False, "wrong_context"), # L04 ("a1_health_l04_q1", "A", "lekarz", "врач", "лікар", "doctor", False, "wrong_word"), ("a1_health_l04_q1", "B", "szpital", "больница", "лікарня", "hospital", False, "wrong_word"), ("a1_health_l04_q1", "C", "apteka", "аптека", "аптека", "pharmacy", True, None), ("a1_health_l04_q1", "D", "recepta", "рецепт", "рецепт", "prescription", False, "wrong_word"), ("a1_health_l04_q3", "A", "szpital", "больница", "лікарня", "hospital", False, "wrong_context"), ("a1_health_l04_q3", "B", "apteka", "аптека", "аптека", "pharmacy", True, None), ("a1_health_l04_q3", "C", "lekarz", "врач", "лікар", "doctor", False, "wrong_context"), ("a1_health_l04_q3", "D", "recepta", "рецепт", "рецепт", "prescription", False, "wrong_context"), # L05 ("a1_health_l05_q1", "A", "gorączka", "температура (им.)", "температура (наз.)", "fever (nom.)", False, "wrong_case"), ("a1_health_l05_q1", "B", "gorączki", "температуры (род.)", "температури (род.)", "fever (gen.)", False, "wrong_case"), ("a1_health_l05_q1", "C", "gorączką", "температурой (тв.)", "температурою (ор.)", "fever (instr.)", False, "wrong_case"), ("a1_health_l05_q1", "D", "gorączkę", "температуру (вин.)", "температуру (знах.)", "fever (acc.)", True, None), ("a1_health_l05_q3", "A", "Mam katar i kaszel.", "У меня насморк и кашель.", "У мене нежить і кашель.", "I have a runny nose and a cough.", True, None), ("a1_health_l05_q3", "B", "Mam gorączkę i kaszel.", "У меня температура и кашель.", "У мене температура і кашель.", "I have a fever and a cough.", False, "wrong_context"), ("a1_health_l05_q3", "C", "Czuję się dobrze.", "Я чувствую себя хорошо.", "Я почуваюся добре.", "I feel good.", False, "wrong_context"), ("a1_health_l05_q3", "D", "Muszę iść do apteki.", "Мне нужно пойти в аптеку.", "Мені треба піти в аптеку.", "I have to go to the pharmacy.", False, "wrong_context"), # L06 ("a1_health_l06_q1", "A", "tabletka", "таблетка (им.)", "таблетка (наз.)", "pill (nom.)", False, "wrong_case"), ("a1_health_l06_q1", "B", "tabletki", "таблетки (мн./род.)", "таблетки (мн./род.)", "pills (pl./gen.)", False, "wrong_case"), ("a1_health_l06_q1", "C", "tabletkę", "таблетку (вин.)", "таблетку (знах.)", "pill (acc.)", True, None), ("a1_health_l06_q1", "D", "tabletką", "таблеткой (тв.)", "таблеткою (ор.)", "pill (instr.)", False, "wrong_case"), ("a1_health_l06_q3", "A", "Biorę lekarstwo wczoraj.", "Неправильное время.", "Неправильний час.", "Wrong tense.", False, "wrong_sentence_type"), ("a1_health_l06_q3", "B", "Biorę tabletkę.", "Я принимаю таблетку.", "Я приймаю таблетку.", "I take a pill.", True, None), ("a1_health_l06_q3", "C", "Sprzedaję tabletkę.", "Я продаю таблетку.", "Я продаю таблетку.", "I'm selling a pill.", False, "wrong_context"), ("a1_health_l06_q3", "D", "Mam tabletkę.", "У меня есть таблетка.", "У мене є таблетка.", "I have a pill.", False, "wrong_context"), # L07 ("a1_health_l07_q1", "A", "lekarz", "врач (им.)", "лікар (наз.)", "doctor (nom.)", False, "wrong_case"), ("a1_health_l07_q1", "B", "lekarzem", "врачом (тв.)", "лікарем (ор.)", "doctor (instr.)", False, "wrong_case"), ("a1_health_l07_q1", "C", "lekarzowi", "врачу (дат.)", "лікарю (дав.)", "doctor (dat.)", False, "wrong_case"), ("a1_health_l07_q1", "D", "lekarza", "врача (род.)", "лікаря (род.)", "doctor (gen.)", True, None), ("a1_health_l07_q3", "A", "Muszę iść do apteki.", "Мне нужно пойти в аптеку.", "Мені треба піти в аптеку.", "I have to go to the pharmacy.", False, "wrong_context"), ("a1_health_l07_q3", "B", "Czuję się dobrze.", "Я чувствую себя хорошо.", "Я почуваюся добре.", "I feel good.", False, "wrong_context"), ("a1_health_l07_q3", "C", "Muszę iść do lekarza.", "Мне нужно пойти к врачу.", "Мені треба піти до лікаря.", "I have to go to the doctor.", True, None), ("a1_health_l07_q3", "D", "Uprawiam sport.", "Я занимаюсь спортом.", "Я займаюся спортом.", "I do sports.", False, "wrong_context"), # L08 ("a1_health_l08_q1", "A", "uprawia", "занимается", "займається", "does (sports)", True, None), ("a1_health_l08_q1", "B", "uprawiam", "занимаюсь", "займаюся", "I do", False, "wrong_word"), ("a1_health_l08_q1", "C", "uprawiasz", "занимаешься", "займаєшся", "you do", False, "wrong_word"), ("a1_health_l08_q1", "D", "uprawiać", "заниматься (инф.)", "займатися (інф.)", "to do", False, "wrong_word"), ("a1_health_l08_q3", "A", "Biorę lekarstwo.", "Я принимаю лекарство.", "Я приймаю ліки.", "I take medicine.", False, "wrong_context"), ("a1_health_l08_q3", "B", "Idę do szpitala.", "Я иду в больницу.", "Я йду в лікарню.", "I go to the hospital.", False, "wrong_context"), ("a1_health_l08_q3", "C", "Boli mnie głowa.", "У меня болит голова.", "У мене болить голова.", "My head hurts.", False, "wrong_context"), ("a1_health_l08_q3", "D", "Uprawiam sport.", "Я занимаюсь спортом.", "Я займаюся спортом.", "I do sports.", True, None), # L09 ("a1_health_l09_q1", "A", "Chcesz iść do lekarza.", "Ты хочешь пойти к врачу.", "Ти хочеш піти до лікаря.", "You want to go to the doctor.", False, "wrong_translation"), ("a1_health_l09_q1", "B", "Musisz iść do apteki.", "Тебе нужно пойти в аптеку.", "Тобі треба піти в аптеку.", "You have to go to the pharmacy.", False, "wrong_translation"), ("a1_health_l09_q1", "C", "Powinieneś iść do lekarza.", "Тебе следует пойти к врачу.", "Тобі варто піти до лікаря.", "You should go to the doctor.", True, None), ("a1_health_l09_q1", "D", "Idziesz do lekarza.", "Ты идёшь к врачу.", "Ти йдеш до лікаря.", "You're going to the doctor.", False, "wrong_translation"), ("a1_health_l09_q3", "A", "Powinnaś iść do szkoły.", "Тебе следует пойти в школу.", "Тобі варто піти до школи.", "You should go to school.", False, "wrong_context"), ("a1_health_l09_q3", "B", "Powinnaś iść do lekarza.", "Тебе следует пойти к врачу.", "Тобі варто піти до лікаря.", "You should go to the doctor.", True, None), ("a1_health_l09_q3", "C", "Musisz uprawiać sport.", "Тебе нужно заниматься спортом.", "Тобі треба займатися спортом.", "You have to do sports.", False, "wrong_context"), ("a1_health_l09_q3", "D", "Czujesz się dobrze.", "Ты чувствуешь себя хорошо.", "Ти почуваєшся добре.", "You feel good.", False, "wrong_context"), # L10 ("a1_health_l10_q1", "A", "Źle się czuć i boli ja głowa.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_health_l10_q1", "B", "Źle jestem czuć głowa.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_health_l10_q1", "C", "Dobrze uprawiam lekarza.", "Бессмысленное сочетание слов.", "Безглузде поєднання слів.", "Nonsensical word combination.", False, "wrong_context"), ("a1_health_l10_q1", "D", "Źle się czuję i boli mnie głowa.", "Я плохо себя чувствую, и у меня болит голова.", "Я погано почуваюся, і у мене болить голова.", "I feel bad and my head hurts.", True, None), ("a1_health_l10_q3", "A", "Źle się czuję.", "Я плохо себя чувствую.", "Я погано почуваюся.", "I feel bad.", True, None), ("a1_health_l10_q3", "B", "Dobrze się czuję.", "Я чувствую себя хорошо.", "Я почуваюся добре.", "I feel good.", False, "wrong_context"), ("a1_health_l10_q3", "C", "Uprawiam sport.", "Я занимаюсь спортом.", "Я займаюся спортом.", "I do sports.", False, "wrong_context"), ("a1_health_l10_q3", "D", "Jestem lekarzem.", "Я врач.", "Я лікар.", "I am a doctor.", False, "wrong_context"), ] for opt in options_t13: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t13 = [ ("a1_health_t01", None, "topic_test", "recognition", "body_parts_vocabulary", 1, "Jak po polsku „рука”?", "Как по-польски «рука»?", "Як польською «рука»?", "How do you say “hand” in Polish?", "B", None, None, 1), ("a1_health_t02", None, "topic_test", "recognition", "boli_mnie", 1, "Wybierz poprawną formę: ___ mnie głowa. (boleć)", "Выберите правильную форму: ___ mnie głowa. (boleć)", "Виберіть правильну форму: ___ mnie głowa. (boleć)", "Choose the correct form: ___ mnie głowa. (boleć)", "C", None, None, 2), ("a1_health_t03", None, "topic_test", "recognition", "czuc_sie", 1, "Wybierz poprawną formę: Ja ___ się dobrze. (czuć)", "Выберите правильную форму: Ja ___ się dobrze. (czuć)", "Виберіть правильну форму: Ja ___ się dobrze. (czuć)", "Choose the correct form: Ja ___ się dobrze. (czuć)", "D", None, None, 3), ("a1_health_t04", None, "topic_test", "recognition", "u_lekarza_vocabulary", 1, "Jak po polsku „аптека”?", "Как по-польски «аптека»?", "Як польською «аптека»?", "How do you say “pharmacy” in Polish?", "A", None, None, 4), ("a1_health_t05", None, "topic_test", "recognition", "objawy_choroby", 2, "Wybierz poprawną formę: Mam ___. (gorączka)", "Выберите правильную форму: Mam ___. (gorączka)", "Виберіть правильну форму: Mam ___. (gorączka)", "Choose the correct form: Mam ___. (gorączka)", "B", None, None, 5), ("a1_health_t06", None, "topic_test", "recognition", "dawac_rady_zdrowotne", 3, "Co znaczy „Powinieneś iść do lekarza”?", "Что означает «Powinieneś iść do lekarza»?", "Що означає «Powinieneś iść do lekarza»?", "What does “Powinieneś iść do lekarza” mean?", "C", None, None, 6), ("a1_health_t07", None, "topic_test", "application", "body_parts_vocabulary", 1, "Zakładasz czapkę na zimno. Na jaką część ciała ją zakładasz?", "Ты надеваешь шапку от холода. На какую часть тела ты её надеваешь?", "Ти надягаєш шапку від холоду. На яку частину тіла ти її надягаєш?", "You put on a hat because it's cold. Which body part do you put it on?", "D", None, None, 7), ("a1_health_t08", None, "topic_test", "application", "boli_mnie", 1, "Zjadłeś za dużo i czujesz ból. Co powiesz?", "Ты съел слишком много и чувствуешь боль. Что ты скажешь?", "Ти з'їв забагато і відчуваєш біль. Що ти скажеш?", "You ate too much and feel pain. What do you say?", "A", None, None, 8), ("a1_health_t09", None, "topic_test", "application", "czuc_sie", 1, "Kolega pyta, jak się czujesz. Czujesz się lepiej niż wczoraj. Co powiesz?", "Друг спрашивает, как ты себя чувствуешь. Ты чувствуешь себя лучше, чем вчера. Что ты скажешь?", "Друг питає, як ти почуваєшся. Ти почуваєшся краще, ніж учора. Що ти скажеш?", "A friend asks how you feel. You feel better than yesterday. What do you say?", "B", None, None, 9), ("a1_health_t10", None, "topic_test", "application", "brac_leki", 2, "Lekarz mówi, żebyś brał tabletki dwa razy dziennie. Co robisz rano?", "Врач говорит, чтобы ты принимал таблетки два раза в день. Что ты делаешь утром?", "Лікар каже, щоб ти приймав таблетки двічі на день. Що ти робиш вранці?", "The doctor says to take pills twice a day. What do you do in the morning?", "C", None, None, 10), ("a1_health_t11", None, "topic_test", "application", "musiec_isc_do_lekarza", 2, "Masz gorączkę i kaszel. Co powiesz?", "У тебя температура и кашель. Что ты скажешь?", "У тебе температура і кашель. Що ти скажеш?", "You have a fever and a cough. What do you say?", "D", None, None, 11), ("a1_health_t12", None, "topic_test", "application", "dawac_rady_zdrowotne", 3, "Twoja koleżanka źle się czuje i ma gorączkę. Jaką radę jej dasz?", "Твоя подруга плохо себя чувствует и у неё температура. Какой совет ты ей дашь?", "Твоя подруга погано почувається і в неї температура. Яку пораду ти їй даси?", "Your friend feels bad and has a fever. What advice do you give her?", "A", None, None, 12), ("a1_health_t13", None, "topic_test", "production", "body_parts_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (нога)", "Вставьте пропущенное слово: To jest ___. (нога)", "Вставте пропущене слово: To jest ___. (нога)", "Fill in the missing word: To jest ___. (leg)", "noga", "first_letter", "n", 13), ("a1_health_t14", None, "topic_test", "production", "u_lekarza_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (больница)", "Вставьте пропущенное слово: To jest ___. (больница)", "Вставте пропущене слово: To jest ___. (лікарня)", "Fill in the missing word: To jest ___. (hospital)", "szpital", "first_letter", "s", 14), ("a1_health_t15", None, "topic_test", "production", "objawy_choroby", 2, "Wpisz brakujące słowo: Mam ___. (кашель)", "Вставьте пропущенное слово: Mam ___. (кашель)", "Вставте пропущене слово: Mam ___. (кашель)", "Fill in the missing word: Mam ___. (cough)", "kaszel", "first_letter", "k", 15), ("a1_health_t16", None, "topic_test", "production", "brac_leki", 2, "Wpisz brakujące słowo: Biorę ___. (лекарство)", "Вставьте пропущенное слово: Biorę ___. (лекарство)", "Вставте пропущене слово: Biorę ___. (ліки)", "Fill in the missing word: Biorę ___. (medicine)", "lekarstwo", "first_letter", "l", 16), ("a1_health_t17", None, "topic_test", "production", "musiec_isc_do_lekarza", 2, "Wpisz brakujące słowo: Muszę iść do ___. (аптеки)", "Вставьте пропущенное слово: Muszę iść do ___. (аптеки)", "Вставте пропущене слово: Muszę iść do ___. (аптеки)", "Fill in the missing word: Muszę iść do ___. (the pharmacy)", "apteki", "first_letter", "a", 17), ("a1_health_t18", None, "topic_test", "production", "opisuje_samopoczucie", 3, "Przetłumacz: «Мне нужно пойти к врачу».", "Переведите: «Мне нужно пойти к врачу».", "Перекладіть: «Мені потрібно піти до лікаря».", "Translate: “I have to go to the doctor.”", "Muszę iść do lekarza", "first_letter", "M", 18), ("a1_health_t19", None, "topic_test", "recognition", "opisuje_samopoczucie", 3, "Wybierz poprawne tłumaczenie: «Я плохо себя чувствую, у меня болит голова и мне нужно пойти к врачу».", "Выберите правильный перевод: «Я плохо себя чувствую, у меня болит голова и мне нужно пойти к врачу».", "Виберіть правильний переклад: «Я погано почуваюся, у мене болить голова і мені треба піти до лікаря».", "Choose the correct translation: “I feel bad, my head hurts and I have to go to the doctor.”", "B", None, None, 19), ("a1_health_t20", None, "topic_test", "recognition", "dawac_rady_zdrowotne", 3, "Wybierz poprawne tłumaczenie dialogu: «— Как ты себя чувствуешь? — Я чувствую себя плохо, у меня температура. — Ты должен пойти к врачу.»", "Выберите правильный перевод диалога: «— Как ты себя чувствуешь? — Я чувствую себя плохо, у меня температура. — Ты должен пойти к врачу.»", "Виберіть правильний переклад діалогу: «— Як ти почуваєшся? — Я почуваюся погано, у мене температура. — Ти маєш піти до лікаря.»", "Choose the correct translation of the dialogue: “— How do you feel? — I feel bad, I have a fever. — You should go to the doctor.”", "C", None, None, 20), ] for q in test_questions_t13: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_health', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t13 = [ # t01 — правильный B=ręka ("a1_health_t01", "A", "noga", "нога", "нога", "leg", False, "wrong_word"), ("a1_health_t01", "B", "ręka", "рука", "рука", "hand", True, None), ("a1_health_t01", "C", "głowa", "голова", "голова", "head", False, "wrong_word"), ("a1_health_t01", "D", "brzuch", "живот", "живіт", "stomach", False, "wrong_word"), # t02 — правильный C=Boli ("a1_health_t02", "A", "Bolę", "неправильная форма", "неправильна форма", "wrong form", False, "wrong_word"), ("a1_health_t02", "B", "Bolisz", "болишь", "болиш", "you hurt", False, "wrong_word"), ("a1_health_t02", "C", "Boli", "болит", "болить", "hurts", True, None), ("a1_health_t02", "D", "Boleć", "болеть (инф.)", "боліти (інф.)", "to hurt", False, "wrong_word"), # t03 — правильный D=czuję ("a1_health_t03", "A", "czujesz", "чувствуешь", "почуваєшся", "feel (you)", False, "wrong_word"), ("a1_health_t03", "B", "czuje", "чувствует", "почувається", "feels", False, "wrong_word"), ("a1_health_t03", "C", "czuć", "чувствовать (инф.)", "почуватися (інф.)", "to feel", False, "wrong_word"), ("a1_health_t03", "D", "czuję", "чувствую", "почуваюся", "feel (I)", True, None), # t04 — правильный A=apteka ("a1_health_t04", "A", "apteka", "аптека", "аптека", "pharmacy", True, None), ("a1_health_t04", "B", "lekarz", "врач", "лікар", "doctor", False, "wrong_word"), ("a1_health_t04", "C", "szpital", "больница", "лікарня", "hospital", False, "wrong_word"), ("a1_health_t04", "D", "recepta", "рецепт", "рецепт", "prescription", False, "wrong_word"), # t05 — правильный B=gorączkę ("a1_health_t05", "A", "gorączka", "температура (им.)", "температура (наз.)", "fever (nom.)", False, "wrong_case"), ("a1_health_t05", "B", "gorączkę", "температуру (вин.)", "температуру (знах.)", "fever (acc.)", True, None), ("a1_health_t05", "C", "gorączki", "температуры (род.)", "температури (род.)", "fever (gen.)", False, "wrong_case"), ("a1_health_t05", "D", "gorączką", "температурой (тв.)", "температурою (ор.)", "fever (instr.)", False, "wrong_case"), # t06 — правильный C=Powinieneś iść do lekarza ("a1_health_t06", "A", "Chcesz iść do lekarza.", "Ты хочешь пойти к врачу.", "Ти хочеш піти до лікаря.", "You want to go to the doctor.", False, "wrong_translation"), ("a1_health_t06", "B", "Musisz iść do apteki.", "Тебе нужно пойти в аптеку.", "Тобі треба піти в аптеку.", "You have to go to the pharmacy.", False, "wrong_translation"), ("a1_health_t06", "C", "Powinieneś iść do lekarza.", "Тебе следует пойти к врачу.", "Тобі варто піти до лікаря.", "You should go to the doctor.", True, None), ("a1_health_t06", "D", "Idziesz do lekarza.", "Ты идёшь к врачу.", "Ти йдеш до лікаря.", "You're going to the doctor.", False, "wrong_translation"), # t07 — правильный D=głowa ("a1_health_t07", "A", "ręka", "рука", "рука", "hand", False, "wrong_context"), ("a1_health_t07", "B", "noga", "нога", "нога", "leg", False, "wrong_context"), ("a1_health_t07", "C", "brzuch", "живот", "живіт", "stomach", False, "wrong_context"), ("a1_health_t07", "D", "głowa", "голова", "голова", "head", True, None), # t08 — правильный A=Boli mnie brzuch ("a1_health_t08", "A", "Boli mnie brzuch.", "У меня болит живот.", "У мене болить живіт.", "My stomach hurts.", True, None), ("a1_health_t08", "B", "Boli mnie głowa.", "У меня болит голова.", "У мене болить голова.", "My head hurts.", False, "wrong_context"), ("a1_health_t08", "C", "Mam gorączkę.", "У меня температура.", "У мене температура.", "I have a fever.", False, "wrong_context"), ("a1_health_t08", "D", "Czuję się dobrze.", "Я чувствую себя хорошо.", "Я почуваюся добре.", "I feel good.", False, "wrong_context"), # t09 — правильный B=Czuję się lepiej ("a1_health_t09", "A", "Czuję się źle.", "Я чувствую себя плохо.", "Я почуваюся погано.", "I feel bad.", False, "wrong_context"), ("a1_health_t09", "B", "Czuję się lepiej.", "Я чувствую себя лучше.", "Я почуваюся краще.", "I feel better.", True, None), ("a1_health_t09", "C", "Boli mnie głowa.", "У меня болит голова.", "У мене болить голова.", "My head hurts.", False, "wrong_context"), ("a1_health_t09", "D", "Muszę iść do lekarza.", "Мне нужно пойти к врачу.", "Мені треба піти до лікаря.", "I have to go to the doctor.", False, "wrong_context"), # t10 — правильный C=Biorę tabletkę ("a1_health_t10", "A", "Biorę lekarstwo wczoraj.", "Неправильное время.", "Неправильний час.", "Wrong tense.", False, "wrong_sentence_type"), ("a1_health_t10", "B", "Sprzedaję tabletkę.", "Я продаю таблетку.", "Я продаю таблетку.", "I'm selling a pill.", False, "wrong_context"), ("a1_health_t10", "C", "Biorę tabletkę.", "Я принимаю таблетку.", "Я приймаю таблетку.", "I take a pill.", True, None), ("a1_health_t10", "D", "Mam tabletkę.", "У меня есть таблетка.", "У мене є таблетка.", "I have a pill.", False, "wrong_context"), # t11 — правильный D=Muszę iść do lekarza ("a1_health_t11", "A", "Muszę iść do apteki.", "Мне нужно пойти в аптеку.", "Мені треба піти в аптеку.", "I have to go to the pharmacy.", False, "wrong_context"), ("a1_health_t11", "B", "Czuję się dobrze.", "Я чувствую себя хорошо.", "Я почуваюся добре.", "I feel good.", False, "wrong_context"), ("a1_health_t11", "C", "Uprawiam sport.", "Я занимаюсь спортом.", "Я займаюся спортом.", "I do sports.", False, "wrong_context"), ("a1_health_t11", "D", "Muszę iść do lekarza.", "Мне нужно пойти к врачу.", "Мені треба піти до лікаря.", "I have to go to the doctor.", True, None), # t12 — правильный A=Powinnaś iść do lekarza ("a1_health_t12", "A", "Powinnaś iść do lekarza.", "Тебе следует пойти к врачу.", "Тобі варто піти до лікаря.", "You should go to the doctor.", True, None), ("a1_health_t12", "B", "Powinnaś iść do szkoły.", "Тебе следует пойти в школу.", "Тобі варто піти до школи.", "You should go to school.", False, "wrong_context"), ("a1_health_t12", "C", "Musisz uprawiać sport.", "Тебе нужно заниматься спортом.", "Тобі треба займатися спортом.", "You have to do sports.", False, "wrong_context"), ("a1_health_t12", "D", "Czujesz się dobrze.", "Ты чувствуешь себя хорошо.", "Ти почуваєшся добре.", "You feel good.", False, "wrong_context"), # t19 — правильный B ("a1_health_t19", "A", "Źle czułem się, bolała mnie głowa i musiałem iść do lekarza.", "Неправильное время (прошедшее вместо настоящего).", "Неправильний час (минулий замість теперішнього).", "Wrong tense (past instead of present).", False, "wrong_sentence_type"), ("a1_health_t19", "B", "Źle się czuję, boli mnie głowa i muszę iść do lekarza.", "Я плохо себя чувствую, у меня болит голова и мне нужно пойти к врачу.", "Я погано почуваюся, у мене болить голова і мені треба піти до лікаря.", "I feel bad, my head hurts and I have to go to the doctor.", True, None), ("a1_health_t19", "C", "Źle się czuję, boli mnie noga i muszę iść do lekarza.", "Неправильная часть тела.", "Неправильна частина тіла.", "Wrong body part.", False, "wrong_word"), ("a1_health_t19", "D", "Dobrze się czuję, boli mnie głowa i muszę iść do apteki.", "Противоречит смыслу и неверное место.", "Суперечить змісту і невірне місце.", "Contradicts the meaning and wrong place.", False, "wrong_context"), # t20 — правильный C ("a1_health_t20", "A", "Jak się nazywasz? — Czuję się źle, mam gorączkę. — Powinieneś iść do lekarza.", "Неправильный вопрос.", "Неправильне питання.", "Wrong question.", False, "wrong_translation"), ("a1_health_t20", "B", "Jak się czujesz? — Czuję się dobrze, mam gorączkę. — Powinieneś iść do lekarza.", "Противоречие: чувствую себя хорошо, но с температурой.", "Суперечність: почуваюся добре, але з температурою.", "Contradiction: feels good but has a fever.", False, "wrong_context"), ("a1_health_t20", "C", "Jak się czujesz? — Czuję się źle, mam gorączkę. — Powinieneś iść do lekarza.", "Как ты себя чувствуешь? — Я чувствую себя плохо, у меня температура. — Тебе следует пойти к врачу.", "Як ти почуваєшся? — Я почуваюся погано, у мене температура. — Тобі варто піти до лікаря.", "How do you feel? — I feel bad, I have a fever. — You should go to the doctor.", True, None), ("a1_health_t20", "D", "Jak się czujesz? — Czuję się źle, mam katar. — Powinieneś iść do lekarza.", "Неправильный симптом (насморк вместо температуры).", "Неправильний симптом (нежить замість температури).", "Wrong symptom (runny nose instead of fever).", False, "wrong_word"), ] for opt in test_options_t13: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 14: ГОРОД И МЕСТНОСТЬ ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_city', 'A1', 14, 'Miasto i okolica', 'Город и местность', 'Місто і місцевість', 'City and Area') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t14 = [ ("a1_city_l01", 1, "city_places_vocabulary", "Podstawowe słowa: miasto", "Основные слова: город", "Основні слова: місто", "Basic words: city", "Podstawowe słowa dotyczące miasta: miasto, ulica, most, park. „Miasto” jest rodzaju nijakiego, „ulica” jest rodzaju żeńskiego, „most” i „park” są rodzaju męskiego.", "Основные слова, связанные с городом: miasto (город), ulica (улица), most (мост), park (парк). „Miasto” среднего рода, „ulica” женского рода, „most” и „park” мужского рода.", "Основні слова, пов'язані з містом: miasto (місто), ulica (вулиця), most (міст), park (парк). „Miasto” середнього роду, „ulica” жіночого роду, „most” і „park” чоловічого роду.", "Basic words related to the city: miasto (city), ulica (street), most (bridge), park. „Miasto” is neuter, „ulica” is feminine, „most” and „park” are masculine."), ("a1_city_l02", 2, "gdzie_jest", "Gdzie jest? + mianownik", "Gdzie jest? + именительный падеж", "Gdzie jest? + називний відмінок", "Gdzie jest? + nominative", "Pytania o miejsce zadajemy słowem „gdzie jest” + mianownik: gdzie jest park, gdzie jest most, gdzie jest ulica.", "Вопрос о местонахождении задаём словом „gdzie jest” (где находится) + именительный падеж: gdzie jest park (где парк), gdzie jest most (где мост), gdzie jest ulica (где улица).", "Питання про місцезнаходження ставимо словом „gdzie jest” (де знаходиться) + називний відмінок: gdzie jest park (де парк), gdzie jest most (де міст), gdzie jest ulica (де вулиця).", "We ask about location with „gdzie jest” (where is) + nominative: gdzie jest park (where is the park), gdzie jest most (where is the bridge), gdzie jest ulica (where is the street)."), ("a1_city_l03", 3, "przyimki_miejsca", "Przyimki miejsca: w, na, obok, przed", "Предлоги места: w, na, obok, przed", "Прийменники місця: w, na, obok, przed", "Prepositions of place: w, na, obok, przed", "Przyimki miejsca łączą się z różnymi przypadkami: „w” + miejscownik (w mieście), „na” + miejscownik (na ulicy), „obok” + dopełniacz (obok parku), „przed” + narzędnik (przed mostem).", "Предлоги места требуют разных падежей: „w” + предложный (w mieście — в городе), „na” + предложный (na ulicy — на улице), „obok” + родительный (obok parku — рядом с парком), „przed” + творительный (przed mostem — перед мостом).", "Прийменники місця вимагають різних відмінків: „w” + місцевий (w mieście — у місті), „na” + місцевий (na ulicy — на вулиці), „obok” + родовий (obok parku — біля парку), „przed” + орудний (przed mostem — перед мостом).", "Prepositions of place take different cases: „w” + locative (w mieście — in the city), „na” + locative (na ulicy — on the street), „obok” + genitive (obok parku — next to the park), „przed” + instrumental (przed mostem — in front of the bridge)."), ("a1_city_l04", 4, "kierunki_vocabulary", "Słowa: kierunki", "Слова: направления", "Слова: напрямки", "Words: directions", "Podstawowe słowa dotyczące kierunków: prosto, w prawo, w lewo, na rogu.", "Основные слова о направлениях: prosto (прямо), w prawo (направо), w lewo (налево), na rogu (на углу).", "Основні слова про напрямки: prosto (прямо), w prawo (праворуч), w lewo (ліворуч), na rogu (на розі).", "Basic words about directions: prosto (straight ahead), w prawo (to the right), w lewo (to the left), na rogu (on the corner)."), ("a1_city_l05", 5, "jak_dojsc", "Jak dojść do + dopełniacz", "Jak dojść do + родительный падеж", "Jak dojść do + родовий відмінок", "Jak dojść do + genitive", "Pytanie „jak dojść do” + dopełniacz służy do pytania o drogę: jak dojść do parku, jak dojść do dworca, jak dojść do biblioteki.", "Вопрос „jak dojść do” (как дойти до) + родительный падеж используется, чтобы спросить дорогу: jak dojść do parku (как дойти до парка), jak dojść do dworca (как дойти до вокзала), jak dojść do biblioteki (как дойти до библиотеки).", "Питання „jak dojść do” (як дійти до) + родовий відмінок використовується, щоб запитати дорогу: jak dojść do parku (як дійти до парку), jak dojść do dworca (як дійти до вокзалу), jak dojść do biblioteki (як дійти до бібліотеки).", "The question „jak dojść do” (how to get to) + genitive is used to ask for directions: jak dojść do parku (how to get to the park), jak dojść do dworca (how to get to the station), jak dojść do biblioteki (how to get to the library)."), ("a1_city_l06", 6, "miejsca_w_miescie", "Słowa: miejsca w mieście", "Слова: места в городе", "Слова: місця в місті", "Words: places in the city", "Kolejne miejsca w mieście: dworzec, przystanek, biblioteka, muzeum. „Dworzec” i „przystanek” są rodzaju męskiego, „biblioteka” jest rodzaju żeńskiego, „muzeum” jest rodzaju nijakiego.", "Ещё места в городе: dworzec (вокзал), przystanek (остановка), biblioteka (библиотека), muzeum (музей). „Dworzec” и „przystanek” мужского рода, „biblioteka” женского рода, „muzeum” среднего рода.", "Ще місця в місті: dworzec (вокзал), przystanek (зупинка), biblioteka (бібліотека), muzeum (музей). „Dworzec” і „przystanek” чоловічого роду, „biblioteka” жіночого роду, „muzeum” середнього роду.", "More places in the city: dworzec (station), przystanek (bus stop), biblioteka (library), muzeum (museum). „Dworzec” and „przystanek” are masculine, „biblioteka” is feminine, „muzeum” is neuter."), ("a1_city_l07", 7, "jechac_srodkami_transportu", "Jadę + narzędnik", "Jadę + творительный падеж", "Jadę + орудний відмінок", "Jadę + instrumental", "Czasownik „jechać” + narzędnik środka transportu: jadę autobusem, jadę tramwajem, jadę metrem.", "Глагол „jechać” (ехать) + творительный падеж средства передвижения: jadę autobusem (я еду на автобусе), jadę tramwajem (я еду на трамвае), jadę metrem (я еду на метро).", "Дієслово „jechać” (їхати) + орудний відмінок засобу пересування: jadę autobusem (я їду автобусом), jadę tramwajem (я їду трамваєм), jadę metrem (я їду метро).", "The verb „jechać” (to go/ride) + instrumental of the means of transport: jadę autobusem (I go by bus), jadę tramwajem (I go by tram), jadę metrem (I go by metro)."), ("a1_city_l08", 8, "opis_miejsca", "Przymiotniki: opis miejsca", "Прилагательные: описание места", "Прикметники: опис місця", "Adjectives: describing a place", "Przymiotniki opisujące miejsce zgadzają się z rzeczownikiem: duże miasto, mała ulica, stary most, nowy park.", "Прилагательные, описывающие место, согласуются с существительным: duże miasto (большой город), mała ulica (маленькая улица), stary most (старый мост), nowy park (новый парк).", "Прикметники, що описують місце, узгоджуються з іменником: duże miasto (велике місто), mała ulica (маленька вулиця), stary most (старий міст), nowy park (новий парк).", "Adjectives describing a place agree with the noun: duże miasto (a big city), mała ulica (a small street), stary most (an old bridge), nowy park (a new park)."), ("a1_city_l09", 9, "dawac_wskazowki", "Tryb rozkazujący: wskazówki", "Повелительное наклонение: указания", "Наказовий спосіб: вказівки", "Imperative: giving directions", "Żeby dać wskazówki, używamy trybu rozkazującego: idź prosto, skręć w prawo, skręć w lewo.", "Чтобы дать указания, используем повелительное наклонение: idź prosto (иди прямо), skręć w prawo (поверни направо), skręć w lewo (поверни налево).", "Щоб дати вказівки, використовуємо наказовий спосіб: idź prosto (іди прямо), skręć w prawo (поверни праворуч), skręć w lewo (поверни ліворуч).", "To give directions, we use the imperative: idź prosto (go straight ahead), skręć w prawo (turn right), skręć w lewo (turn left)."), ("a1_city_l10", 10, "opisuje_miasto", "Opisuję swoje miasto", "Описываю свой город", "Описую своє місто", "Describing my city", "Żeby opisać miasto, łączymy kilka zdań: Mieszkam w dużym mieście. Blisko jest park. Jadę tam autobusem.", "Чтобы описать город, соединяем несколько предложений: Mieszkam w dużym mieście. Blisko jest park. Jadę tam autobusem. (Я живу в большом городе. Рядом есть парк. Я еду туда на автобусе.)", "Щоб описати місто, поєднуємо кілька речень: Mieszkam w dużym mieście. Blisko jest park. Jadę tam autobusem. (Я живу у великому місті. Поруч є парк. Я їду туди автобусом.)", "To describe your city, we combine several sentences: Mieszkam w dużym mieście. Blisko jest park. Jadę tam autobusem. (I live in a big city. There's a park nearby. I go there by bus.)"), ] for lesson in lessons_t14: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_city', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t14 = [ ("a1_city_l01", 1, "To jest miasto.", "Это город.", "Це місто.", "This is a city."), ("a1_city_l01", 2, "To jest ulica.", "Это улица.", "Це вулиця.", "This is a street."), ("a1_city_l01", 3, "To jest most.", "Это мост.", "Це міст.", "This is a bridge."), ("a1_city_l02", 1, "Gdzie jest park?", "Где парк?", "Де парк?", "Where is the park?"), ("a1_city_l02", 2, "Gdzie jest most?", "Где мост?", "Де міст?", "Where is the bridge?"), ("a1_city_l02", 3, "Ulica jest tutaj.", "Улица здесь.", "Вулиця тут.", "The street is here."), ("a1_city_l03", 1, "Mieszkam w mieście.", "Я живу в городе.", "Я живу в місті.", "I live in the city."), ("a1_city_l03", 2, "Jestem na ulicy.", "Я на улице.", "Я на вулиці.", "I am on the street."), ("a1_city_l03", 3, "Park jest obok mostu.", "Парк рядом с мостом.", "Парк біля мосту.", "The park is next to the bridge."), ("a1_city_l04", 1, "Idę prosto.", "Я иду прямо.", "Я йду прямо.", "I'm walking straight ahead."), ("a1_city_l04", 2, "Skręcam w prawo.", "Я поворачиваю направо.", "Я повертаю праворуч.", "I'm turning right."), ("a1_city_l04", 3, "Sklep jest na rogu.", "Магазин на углу.", "Магазин на розі.", "The shop is on the corner."), ("a1_city_l05", 1, "Jak dojść do parku?", "Как дойти до парка?", "Як дійти до парку?", "How do I get to the park?"), ("a1_city_l05", 2, "Jak dojść do dworca?", "Как дойти до вокзала?", "Як дійти до вокзалу?", "How do I get to the station?"), ("a1_city_l05", 3, "Jak dojść do biblioteki?", "Как дойти до библиотеки?", "Як дійти до бібліотеки?", "How do I get to the library?"), ("a1_city_l06", 1, "To jest dworzec.", "Это вокзал.", "Це вокзал.", "This is a station."), ("a1_city_l06", 2, "To jest przystanek.", "Это остановка.", "Це зупинка.", "This is a bus stop."), ("a1_city_l06", 3, "To jest muzeum.", "Это музей.", "Це музей.", "This is a museum."), ("a1_city_l07", 1, "Jadę autobusem.", "Я еду на автобусе.", "Я їду автобусом.", "I go by bus."), ("a1_city_l07", 2, "Jedziesz tramwajem?", "Ты едешь на трамвае?", "Ти їдеш трамваєм?", "Do you go by tram?"), ("a1_city_l07", 3, "Ona jedzie metrem.", "Она едет на метро.", "Вона їде метро.", "She goes by metro."), ("a1_city_l08", 1, "To jest duże miasto.", "Это большой город.", "Це велике місто.", "This is a big city."), ("a1_city_l08", 2, "To jest mała ulica.", "Это маленькая улица.", "Це маленька вулиця.", "This is a small street."), ("a1_city_l08", 3, "To jest stary most.", "Это старый мост.", "Це старий міст.", "This is an old bridge."), ("a1_city_l09", 1, "Idź prosto.", "Иди прямо.", "Іди прямо.", "Go straight ahead."), ("a1_city_l09", 2, "Skręć w prawo.", "Поверни направо.", "Поверни праворуч.", "Turn right."), ("a1_city_l09", 3, "Skręć w lewo przy moście.", "Поверни налево у моста.", "Поверни ліворуч біля мосту.", "Turn left at the bridge."), ("a1_city_l10", 1, "Mieszkam w dużym mieście.", "Я живу в большом городе.", "Я живу у великому місті.", "I live in a big city."), ("a1_city_l10", 2, "Blisko jest park.", "Рядом есть парк.", "Поруч є парк.", "There's a park nearby."), ("a1_city_l10", 3, "Jadę tam autobusem.", "Я еду туда на автобусе.", "Я їду туди автобусом.", "I go there by bus."), ] for ex in examples_t14: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t14 = [ # L01 — city_places_vocabulary (difficulty 1) ("a1_city_l01_q1", "a1_city_l01", "lesson_practice", "recognition", "city_places_vocabulary", 1, "Jak po polsku „улица”?", "Как по-польски «улица»?", "Як польською «вулиця»?", "How do you say “street” in Polish?", "C", None, None), ("a1_city_l01_q2", "a1_city_l01", "lesson_practice", "production", "city_places_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (парк)", "Вставьте пропущенное слово: To jest ___. (парк)", "Вставте пропущене слово: To jest ___. (парк)", "Fill in the missing word: To jest ___. (park)", "park", "first_letter", "p"), ("a1_city_l01_q3", "a1_city_l01", "lesson_practice", "application", "city_places_vocabulary", 1, "Chcesz przejść przez rzekę. Czego szukasz?", "Ты хочешь перейти через реку. Что ты ищешь?", "Ти хочеш перейти через річку. Що ти шукаєш?", "You want to cross the river. What are you looking for?", "B", None, None), # L02 — gdzie_jest (difficulty 1) ("a1_city_l02_q1", "a1_city_l02", "lesson_practice", "recognition", "gdzie_jest", 1, "Co znaczy „Gdzie jest park?”?", "Что означает «Gdzie jest park?»?", "Що означає «Gdzie jest park?»?", "What does “Gdzie jest park?” mean?", "B", None, None), ("a1_city_l02_q2", "a1_city_l02", "lesson_practice", "production", "gdzie_jest", 1, "Wpisz brakujące słowo: ___ jest most? (где)", "Вставьте пропущенное слово: ___ jest most? (где)", "Вставте пропущене слово: ___ jest most? (де)", "Fill in the missing word: ___ jest most? (where)", "Gdzie", "first_letter", "G"), ("a1_city_l02_q3", "a1_city_l02", "lesson_practice", "application", "gdzie_jest", 1, "Nie wiesz, w którym miejscu jest ulica. Co pytasz?", "Ты не знаешь, где находится улица. Что ты спрашиваешь?", "Ти не знаєш, де знаходиться вулиця. Що ти питаєш?", "You don't know where the street is. What do you ask?", "D", None, None), # L03 — przyimki_miejsca (difficulty 1) ("a1_city_l03_q1", "a1_city_l03", "lesson_practice", "recognition", "przyimki_miejsca", 1, "Wybierz poprawną formę: Jestem w ___. (miasto)", "Выберите правильную форму: Jestem w ___. (miasto)", "Виберіть правильну форму: Jestem w ___. (miasto)", "Choose the correct form: Jestem w ___. (miasto)", "A", None, None), ("a1_city_l03_q2", "a1_city_l03", "lesson_practice", "production", "przyimki_miejsca", 1, "Wpisz brakujące słowo: Park jest ___ mostu. (рядом)", "Вставьте пропущенное слово: Park jest ___ mostu. (рядом)", "Вставте пропущене слово: Park jest ___ mostu. (поруч)", "Fill in the missing word: Park jest ___ mostu. (next to)", "obok", "first_letter", "o"), ("a1_city_l03_q3", "a1_city_l03", "lesson_practice", "application", "przyimki_miejsca", 1, "Chcesz powiedzieć, że mieszkasz w tym mieście. Co powiesz?", "Ты хочешь сказать, что живёшь в этом городе. Что ты скажешь?", "Ти хочеш сказати, що живеш у цьому місті. Що ти скажеш?", "You want to say you live in this city. What do you say?", "C", None, None), # L04 — kierunki_vocabulary (difficulty 1) ("a1_city_l04_q1", "a1_city_l04", "lesson_practice", "recognition", "kierunki_vocabulary", 1, "Jak po polsku „налево”?", "Как по-польски «налево»?", "Як польською «ліворуч»?", "How do you say “to the left” in Polish?", "D", None, None), ("a1_city_l04_q2", "a1_city_l04", "lesson_practice", "production", "kierunki_vocabulary", 1, "Wpisz brakujące słowo: Sklep jest ___. (на углу)", "Вставьте пропущенное слово: Sklep jest ___. (на углу)", "Вставте пропущене слово: Sklep jest ___. (на розі)", "Fill in the missing word: Sklep jest ___. (on the corner)", "na rogu", "first_letter", "n"), ("a1_city_l04_q3", "a1_city_l04", "lesson_practice", "application", "kierunki_vocabulary", 1, "Chcesz iść cały czas w tym samym kierunku, bez skręcania. Co robisz?", "Ты хочешь идти всё время в одном направлении, не поворачивая. Что ты делаешь?", "Ти хочеш йти весь час в одному напрямку, не повертаючи. Що ти робиш?", "You want to keep walking in the same direction without turning. What do you do?", "A", None, None), # L05 — jak_dojsc (difficulty 2) ("a1_city_l05_q1", "a1_city_l05", "lesson_practice", "recognition", "jak_dojsc", 2, "Wybierz poprawną formę: Jak dojść do ___? (park)", "Выберите правильную форму: Jak dojść do ___? (park)", "Виберіть правильну форму: Jak dojść do ___? (park)", "Choose the correct form: Jak dojść do ___? (park)", "B", None, None), ("a1_city_l05_q2", "a1_city_l05", "lesson_practice", "production", "jak_dojsc", 2, "Wpisz brakujące słowo: Jak dojść do ___? (вокзала)", "Вставьте пропущенное слово: Jak dojść do ___? (вокзала)", "Вставте пропущене слово: Jak dojść do ___? (вокзалу)", "Fill in the missing word: Jak dojść do ___? (the station)", "dworca", "first_letter", "d"), ("a1_city_l05_q3", "a1_city_l05", "lesson_practice", "application", "jak_dojsc", 2, "Jesteś w obcym mieście i szukasz biblioteki. Co pytasz przechodnia?", "Ты в незнакомом городе и ищешь библиотеку. Что ты спрашиваешь прохожего?", "Ти в незнайомому місті і шукаєш бібліотеку. Що ти питаєш перехожого?", "You're in an unfamiliar city and looking for a library. What do you ask a passer-by?", "D", None, None), # L06 — miejsca_w_miescie (difficulty 2) ("a1_city_l06_q1", "a1_city_l06", "lesson_practice", "recognition", "miejsca_w_miescie", 2, "Jak po polsku „остановка”?", "Как по-польски «остановка»?", "Як польською «зупинка»?", "How do you say “bus stop” in Polish?", "C", None, None), ("a1_city_l06_q2", "a1_city_l06", "lesson_practice", "production", "miejsca_w_miescie", 2, "Wpisz brakujące słowo: To jest ___. (библиотека)", "Вставьте пропущенное слово: To jest ___. (библиотека)", "Вставте пропущене слово: To jest ___. (бібліотека)", "Fill in the missing word: To jest ___. (library)", "biblioteka", "first_letter", "b"), ("a1_city_l06_q3", "a1_city_l06", "lesson_practice", "application", "miejsca_w_miescie", 2, "Czekasz na autobus. Gdzie stoisz?", "Ты ждёшь автобус. Где ты стоишь?", "Ти чекаєш на автобус. Де ти стоїш?", "You're waiting for the bus. Where are you standing?", "A", None, None), # L07 — jechac_srodkami_transportu (difficulty 2) ("a1_city_l07_q1", "a1_city_l07", "lesson_practice", "recognition", "jechac_srodkami_transportu", 2, "Wybierz poprawną formę: Jadę ___. (autobus)", "Выберите правильную форму: Jadę ___. (autobus)", "Виберіть правильну форму: Jadę ___. (autobus)", "Choose the correct form: Jadę ___. (autobus)", "D", None, None), ("a1_city_l07_q2", "a1_city_l07", "lesson_practice", "production", "jechac_srodkami_transportu", 2, "Wpisz brakujące słowo: Jadę ___. (трамваем)", "Вставьте пропущенное слово: Jadę ___. (трамваем)", "Вставте пропущене слово: Jadę ___. (трамваєм)", "Fill in the missing word: Jadę ___. (by tram)", "tramwajem", "first_letter", "t"), ("a1_city_l07_q3", "a1_city_l07", "lesson_practice", "application", "jechac_srodkami_transportu", 2, "Chcesz dostać się do centrum metrem. Co powiesz?", "Ты хочешь добраться до центра на метро. Что ты скажешь?", "Ти хочеш дістатися до центру метро. Що ти скажеш?", "You want to get downtown by metro. What do you say?", "B", None, None), # L08 — opis_miejsca (difficulty 2) ("a1_city_l08_q1", "a1_city_l08", "lesson_practice", "recognition", "opis_miejsca", 2, "Wybierz poprawną formę: To jest ___ park. (nowy)", "Выберите правильную форму: To jest ___ park. (nowy)", "Виберіть правильну форму: To jest ___ park. (nowy)", "Choose the correct form: To jest ___ park. (nowy)", "C", None, None), ("a1_city_l08_q2", "a1_city_l08", "lesson_practice", "production", "opis_miejsca", 2, "Wpisz brakujące słowo: To jest ___ miasto. (большой)", "Вставьте пропущенное слово: To jest ___ miasto. (большой)", "Вставте пропущене слово: To jest ___ miasto. (велике)", "Fill in the missing word: To jest ___ miasto. (big)", "duże", "first_letter", "d"), ("a1_city_l08_q3", "a1_city_l08", "lesson_practice", "application", "opis_miejsca", 2, "Opisujesz stary most w twoim mieście. Co powiesz?", "Ты описываешь старый мост в своём городе. Что ты скажешь?", "Ти описуєш старий міст у своєму місті. Що ти скажеш?", "You're describing an old bridge in your city. What do you say?", "A", None, None), # L09 — dawac_wskazowki (difficulty 3) ("a1_city_l09_q1", "a1_city_l09", "lesson_practice", "recognition", "dawac_wskazowki", 3, "Co znaczy „Skręć w prawo”?", "Что означает «Skręć w prawo»?", "Що означає «Skręć w prawo»?", "What does “Skręć w prawo” mean?", "D", None, None), ("a1_city_l09_q2", "a1_city_l09", "lesson_practice", "production", "dawac_wskazowki", 3, "Wpisz brakujące słowo: ___ prosto. (иди)", "Вставьте пропущенное слово: ___ prosto. (иди)", "Вставте пропущене слово: ___ prosto. (іди)", "Fill in the missing word: ___ prosto. (go)", "Idź", "first_letter", "I"), ("a1_city_l09_q3", "a1_city_l09", "lesson_practice", "application", "dawac_wskazowki", 3, "Pokazujesz koledze drogę i chcesz, żeby szedł cały czas w tę samą stronę. Co powiesz?", "Ты показываешь другу дорогу и хочешь, чтобы он шёл всё время в одну сторону. Что ты скажешь?", "Ти показуєш другу дорогу і хочеш, щоб він ішов увесь час в один бік. Що ти скажеш?", "You're showing a friend the way and want them to keep walking the same direction. What do you say?", "B", None, None), # L10 — opisuje_miasto (difficulty 3) ("a1_city_l10_q1", "a1_city_l10", "lesson_practice", "recognition", "opisuje_miasto", 3, "Które zdanie poprawnie opisuje miasto?", "Какое предложение правильно описывает город?", "Яке речення правильно описує місто?", "Which sentence correctly describes a city?", "A", None, None), ("a1_city_l10_q2", "a1_city_l10", "lesson_practice", "production", "opisuje_miasto", 3, "Przetłumacz: «Я еду туда на автобусе».", "Переведите: «Я еду туда на автобусе».", "Перекладіть: «Я їду туди автобусом».", "Translate: “I go there by bus.”", "Jadę tam autobusem", "first_letter", "J"), ("a1_city_l10_q3", "a1_city_l10", "lesson_practice", "application", "opisuje_miasto", 3, "Chcesz opisać koledze swoje miasto: mieszkasz w dużym mieście, blisko jest park, jeździsz tam autobusem. Jak zaczniesz zdanie?", "Ты хочешь описать другу свой город: ты живёшь в большом городе, рядом есть парк, ты ездишь туда на автобусе. Как ты начнёшь предложение?", "Ти хочеш описати другу своє місто: ти живеш у великому місті, поруч є парк, ти їздиш туди автобусом. Як ти почнеш речення?", "You want to describe your city to a friend: you live in a big city, there's a park nearby, you go there by bus. How do you start the sentence?", "C", None, None), ] for q in questions_t14: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_city', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t14 = [ # L01 ("a1_city_l01_q1", "A", "miasto", "город", "місто", "city", False, "wrong_word"), ("a1_city_l01_q1", "B", "most", "мост", "міст", "bridge", False, "wrong_word"), ("a1_city_l01_q1", "C", "ulica", "улица", "вулиця", "street", True, None), ("a1_city_l01_q1", "D", "park", "парк", "парк", "park", False, "wrong_word"), ("a1_city_l01_q3", "A", "ulica", "улица", "вулиця", "street", False, "wrong_context"), ("a1_city_l01_q3", "B", "most", "мост", "міст", "bridge", True, None), ("a1_city_l01_q3", "C", "miasto", "город", "місто", "city", False, "wrong_context"), ("a1_city_l01_q3", "D", "park", "парк", "парк", "park", False, "wrong_context"), # L02 ("a1_city_l02_q1", "A", "Jaki to park?", "Какой это парк?", "Який це парк?", "What kind of park is this?", False, "wrong_translation"), ("a1_city_l02_q1", "B", "Gdzie jest park?", "Где парк?", "Де парк?", "Where is the park?", True, None), ("a1_city_l02_q1", "C", "Ile kosztuje park?", "Сколько стоит парк?", "Скільки коштує парк?", "How much does the park cost?", False, "wrong_translation"), ("a1_city_l02_q1", "D", "Czy to jest park?", "Это парк?", "Це парк?", "Is this a park?", False, "wrong_translation"), ("a1_city_l02_q3", "A", "Ulica jest tutaj.", "Улица здесь.", "Вулиця тут.", "The street is here.", False, "wrong_context"), ("a1_city_l02_q3", "B", "Jaka to ulica?", "Какая это улица?", "Яка це вулиця?", "What street is this?", False, "wrong_translation"), ("a1_city_l02_q3", "C", "Ile kosztuje ulica?", "Сколько стоит улица?", "Скільки коштує вулиця?", "How much does the street cost?", False, "wrong_context"), ("a1_city_l02_q3", "D", "Gdzie jest ulica?", "Где улица?", "Де вулиця?", "Where is the street?", True, None), # L03 ("a1_city_l03_q1", "A", "mieście", "городе (местн.)", "місті (місц.)", "city (loc.)", True, None), ("a1_city_l03_q1", "B", "miasto", "город (им.)", "місто (наз.)", "city (nom.)", False, "wrong_case"), ("a1_city_l03_q1", "C", "miastem", "городом (тв.)", "містом (ор.)", "city (instr.)", False, "wrong_case"), ("a1_city_l03_q1", "D", "miastu", "городу (дат.)", "місту (дав.)", "city (dat.)", False, "wrong_case"), ("a1_city_l03_q3", "A", "Idę do miasta.", "Я иду в город.", "Я йду до міста.", "I'm going to the city.", False, "wrong_context"), ("a1_city_l03_q3", "B", "Miasto jest duże.", "Город большой.", "Місто велике.", "The city is big.", False, "wrong_context"), ("a1_city_l03_q3", "C", "Mieszkam w mieście.", "Я живу в городе.", "Я живу в місті.", "I live in the city.", True, None), ("a1_city_l03_q3", "D", "Szukam miasta.", "Я ищу город.", "Я шукаю місто.", "I'm looking for the city.", False, "wrong_context"), # L04 ("a1_city_l04_q1", "A", "w prawo", "направо", "праворуч", "to the right", False, "wrong_word"), ("a1_city_l04_q1", "B", "prosto", "прямо", "прямо", "straight ahead", False, "wrong_word"), ("a1_city_l04_q1", "C", "na rogu", "на углу", "на розі", "on the corner", False, "wrong_word"), ("a1_city_l04_q1", "D", "w lewo", "налево", "ліворуч", "to the left", True, None), ("a1_city_l04_q3", "A", "Idę prosto.", "Я иду прямо.", "Я йду прямо.", "I'm walking straight ahead.", True, None), ("a1_city_l04_q3", "B", "Skręcam w prawo.", "Я поворачиваю направо.", "Я повертаю праворуч.", "I'm turning right.", False, "wrong_context"), ("a1_city_l04_q3", "C", "Skręcam w lewo.", "Я поворачиваю налево.", "Я повертаю ліворуч.", "I'm turning left.", False, "wrong_context"), ("a1_city_l04_q3", "D", "Stoję na rogu.", "Я стою на углу.", "Я стою на розі.", "I'm standing on the corner.", False, "wrong_context"), # L05 ("a1_city_l05_q1", "A", "park", "парк (им.)", "парк (наз.)", "park (nom.)", False, "wrong_case"), ("a1_city_l05_q1", "B", "parku", "парка (род.)", "парку (род.)", "park (gen.)", True, None), ("a1_city_l05_q1", "C", "parkiem", "парком (тв.)", "парком (ор.)", "park (instr.)", False, "wrong_case"), ("a1_city_l05_q1", "D", "parkowi", "парку (дат.)", "парку (дав.)", "park (dat.)", False, "wrong_case"), ("a1_city_l05_q3", "A", "Ile kosztuje biblioteka?", "Сколько стоит библиотека?", "Скільки коштує бібліотека?", "How much does the library cost?", False, "wrong_context"), ("a1_city_l05_q3", "B", "Czy lubisz bibliotekę?", "Тебе нравится библиотека?", "Тобі подобається бібліотека?", "Do you like the library?", False, "wrong_context"), ("a1_city_l05_q3", "C", "Biblioteka jest ładna.", "Библиотека красивая.", "Бібліотека гарна.", "The library is nice.", False, "wrong_context"), ("a1_city_l05_q3", "D", "Jak dojść do biblioteki?", "Как дойти до библиотеки?", "Як дійти до бібліотеки?", "How do I get to the library?", True, None), # L06 ("a1_city_l06_q1", "A", "dworzec", "вокзал", "вокзал", "station", False, "wrong_word"), ("a1_city_l06_q1", "B", "biblioteka", "библиотека", "бібліотека", "library", False, "wrong_word"), ("a1_city_l06_q1", "C", "przystanek", "остановка", "зупинка", "bus stop", True, None), ("a1_city_l06_q1", "D", "muzeum", "музей", "музей", "museum", False, "wrong_word"), ("a1_city_l06_q3", "A", "przystanek", "остановка", "зупинка", "bus stop", True, None), ("a1_city_l06_q3", "B", "dworzec", "вокзал", "вокзал", "station", False, "wrong_context"), ("a1_city_l06_q3", "C", "biblioteka", "библиотека", "бібліотека", "library", False, "wrong_context"), ("a1_city_l06_q3", "D", "muzeum", "музей", "музей", "museum", False, "wrong_context"), # L07 ("a1_city_l07_q1", "A", "autobus", "автобус (им.)", "автобус (наз.)", "bus (nom.)", False, "wrong_case"), ("a1_city_l07_q1", "B", "autobusowi", "автобусу (дат.)", "автобусу (дав.)", "bus (dat.)", False, "wrong_case"), ("a1_city_l07_q1", "C", "autobusu", "автобуса (род.)", "автобуса (род.)", "bus (gen.)", False, "wrong_case"), ("a1_city_l07_q1", "D", "autobusem", "автобусом (тв.)", "автобусом (ор.)", "bus (instr.)", True, None), ("a1_city_l07_q3", "A", "Jadę autobusem.", "Я еду на автобусе.", "Я їду автобусом.", "I go by bus.", False, "wrong_context"), ("a1_city_l07_q3", "B", "Jadę metrem.", "Я еду на метро.", "Я їду метро.", "I go by metro.", True, None), ("a1_city_l07_q3", "C", "Idę prosto.", "Я иду прямо.", "Я йду прямо.", "I'm walking straight ahead.", False, "wrong_context"), ("a1_city_l07_q3", "D", "Jadę tramwajem.", "Я еду на трамвае.", "Я їду трамваєм.", "I go by tram.", False, "wrong_context"), # L08 ("a1_city_l08_q1", "A", "nowa", "новая (ж.р.)", "нова (ж.р.)", "new (fem.)", False, "wrong_gender"), ("a1_city_l08_q1", "B", "nowe", "новое (ср.р.)", "нове (сер.р.)", "new (neut.)", False, "wrong_gender"), ("a1_city_l08_q1", "C", "nowy", "новый (м.р.)", "новий (чол.р.)", "new (masc.)", True, None), ("a1_city_l08_q1", "D", "nowego", "неправильная форма", "неправильна форма", "wrong form", False, "wrong_case"), ("a1_city_l08_q3", "A", "To jest stary most.", "Это старый мост.", "Це старий міст.", "This is an old bridge.", True, None), ("a1_city_l08_q3", "B", "To jest nowy park.", "Это новый парк.", "Це новий парк.", "This is a new park.", False, "wrong_context"), ("a1_city_l08_q3", "C", "To jest mała ulica.", "Это маленькая улица.", "Це маленька вулиця.", "This is a small street.", False, "wrong_context"), ("a1_city_l08_q3", "D", "To jest duże miasto.", "Это большой город.", "Це велике місто.", "This is a big city.", False, "wrong_context"), # L09 ("a1_city_l09_q1", "A", "Idź prosto.", "Иди прямо.", "Іди прямо.", "Go straight ahead.", False, "wrong_translation"), ("a1_city_l09_q1", "B", "Skręć w lewo.", "Поверни налево.", "Поверни ліворуч.", "Turn left.", False, "wrong_translation"), ("a1_city_l09_q1", "C", "Stój tutaj.", "Стой здесь.", "Стій тут.", "Stand here.", False, "wrong_translation"), ("a1_city_l09_q1", "D", "Skręć w prawo.", "Поверни направо.", "Поверни праворуч.", "Turn right.", True, None), ("a1_city_l09_q3", "A", "Skręć w prawo.", "Поверни направо.", "Поверни праворуч.", "Turn right.", False, "wrong_context"), ("a1_city_l09_q3", "B", "Idź prosto.", "Иди прямо.", "Іди прямо.", "Go straight ahead.", True, None), ("a1_city_l09_q3", "C", "Skręć w lewo.", "Поверни налево.", "Поверни ліворуч.", "Turn left.", False, "wrong_context"), ("a1_city_l09_q3", "D", "Stój tutaj.", "Стой здесь.", "Стій тут.", "Stand here.", False, "wrong_context"), # L10 ("a1_city_l10_q1", "A", "Mieszkam w dużym mieście i blisko jest park.", "Я живу в большом городе, и рядом есть парк.", "Я живу у великому місті, і поруч є парк.", "I live in a big city and there's a park nearby.", True, None), ("a1_city_l10_q1", "B", "Mieszkam w duże miasto i blisko jest park.", "Неправильный падеж.", "Неправильний відмінок.", "Wrong case.", False, "wrong_case"), ("a1_city_l10_q1", "C", "Jestem duże miasto blisko park.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_city_l10_q1", "D", "Jadę autobus do park.", "Неправильный падеж после предлогов.", "Неправильний відмінок після прийменників.", "Wrong case after the prepositions.", False, "wrong_case"), ("a1_city_l10_q3", "A", "Blisko jest park.", "Рядом есть парк.", "Поруч є парк.", "There's a park nearby.", False, "wrong_context"), ("a1_city_l10_q3", "B", "Jadę tam autobusem.", "Я еду туда на автобусе.", "Я їду туди автобусом.", "I go there by bus.", False, "wrong_context"), ("a1_city_l10_q3", "C", "Mieszkam w dużym mieście.", "Я живу в большом городе.", "Я живу у великому місті.", "I live in a big city.", True, None), ("a1_city_l10_q3", "D", "Skręć w prawo.", "Поверни направо.", "Поверни праворуч.", "Turn right.", False, "wrong_context"), ] for opt in options_t14: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t14 = [ ("a1_city_t01", None, "topic_test", "recognition", "city_places_vocabulary", 1, "Jak po polsku „улица”?", "Как по-польски «улица»?", "Як польською «вулиця»?", "How do you say “street” in Polish?", "C", None, None, 1), ("a1_city_t02", None, "topic_test", "recognition", "gdzie_jest", 1, "Co znaczy „Gdzie jest park?”?", "Что означает «Gdzie jest park?»?", "Що означає «Gdzie jest park?»?", "What does “Gdzie jest park?” mean?", "B", None, None, 2), ("a1_city_t03", None, "topic_test", "recognition", "przyimki_miejsca", 1, "Wybierz poprawną formę: Jestem w ___. (miasto)", "Выберите правильную форму: Jestem w ___. (miasto)", "Виберіть правильну форму: Jestem w ___. (miasto)", "Choose the correct form: Jestem w ___. (miasto)", "A", None, None, 3), ("a1_city_t04", None, "topic_test", "recognition", "kierunki_vocabulary", 1, "Jak po polsku „налево”?", "Как по-польски «налево»?", "Як польською «ліворуч»?", "How do you say “to the left” in Polish?", "D", None, None, 4), ("a1_city_t05", None, "topic_test", "recognition", "jak_dojsc", 2, "Wybierz poprawną formę: Jak dojść do ___? (park)", "Выберите правильную форму: Jak dojść do ___? (park)", "Виберіть правильну форму: Jak dojść do ___? (park)", "Choose the correct form: Jak dojść do ___? (park)", "B", None, None, 5), ("a1_city_t06", None, "topic_test", "recognition", "dawac_wskazowki", 3, "Co znaczy „Skręć w prawo”?", "Что означает «Skręć w prawo»?", "Що означає «Skręć w prawo»?", "What does “Skręć w prawo” mean?", "D", None, None, 6), ("a1_city_t07", None, "topic_test", "application", "city_places_vocabulary", 1, "Chcesz przejść przez rzekę. Czego szukasz?", "Ты хочешь перейти через реку. Что ты ищешь?", "Ти хочеш перейти через річку. Що ти шукаєш?", "You want to cross the river. What are you looking for?", "B", None, None, 7), ("a1_city_t08", None, "topic_test", "application", "gdzie_jest", 1, "Nie wiesz, w którym miejscu jest ulica. Co pytasz?", "Ты не знаешь, где находится улица. Что ты спрашиваешь?", "Ти не знаєш, де знаходиться вулиця. Що ти питаєш?", "You don't know where the street is. What do you ask?", "D", None, None, 8), ("a1_city_t09", None, "topic_test", "application", "przyimki_miejsca", 1, "Chcesz powiedzieć, że mieszkasz w tym mieście. Co powiesz?", "Ты хочешь сказать, что живёшь в этом городе. Что ты скажешь?", "Ти хочеш сказати, що живеш у цьому місті. Що ти скажеш?", "You want to say you live in this city. What do you say?", "C", None, None, 9), ("a1_city_t10", None, "topic_test", "application", "miejsca_w_miescie", 2, "Czekasz na autobus. Gdzie stoisz?", "Ты ждёшь автобус. Где ты стоишь?", "Ти чекаєш на автобус. Де ти стоїш?", "You're waiting for the bus. Where are you standing?", "A", None, None, 10), ("a1_city_t11", None, "topic_test", "application", "jechac_srodkami_transportu", 2, "Chcesz dostać się do centrum metrem. Co powiesz?", "Ты хочешь добраться до центра на метро. Что ты скажешь?", "Ти хочеш дістатися до центру метро. Що ти скажеш?", "You want to get downtown by metro. What do you say?", "B", None, None, 11), ("a1_city_t12", None, "topic_test", "application", "dawac_wskazowki", 3, "Pokazujesz koledze drogę i chcesz, żeby szedł cały czas w tę samą stronę. Co powiesz?", "Ты показываешь другу дорогу и хочешь, чтобы он шёл всё время в одну сторону. Что ты скажешь?", "Ти показуєш другу дорогу і хочеш, щоб він ішов увесь час в один бік. Що ти скажеш?", "You're showing a friend the way and want them to keep walking the same direction. What do you say?", "B", None, None, 12), ("a1_city_t13", None, "topic_test", "production", "city_places_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (парк)", "Вставьте пропущенное слово: To jest ___. (парк)", "Вставте пропущене слово: To jest ___. (парк)", "Fill in the missing word: To jest ___. (park)", "park", "first_letter", "p", 13), ("a1_city_t14", None, "topic_test", "production", "kierunki_vocabulary", 1, "Wpisz brakujące słowo: Sklep jest ___. (на углу)", "Вставьте пропущенное слово: Sklep jest ___. (на углу)", "Вставте пропущене слово: Sklep jest ___. (на розі)", "Fill in the missing word: Sklep jest ___. (on the corner)", "na rogu", "first_letter", "n", 14), ("a1_city_t15", None, "topic_test", "production", "jak_dojsc", 2, "Wpisz brakujące słowo: Jak dojść do ___? (вокзала)", "Вставьте пропущенное слово: Jak dojść do ___? (вокзала)", "Вставте пропущене слово: Jak dojść do ___? (вокзалу)", "Fill in the missing word: Jak dojść do ___? (the station)", "dworca", "first_letter", "d", 15), ("a1_city_t16", None, "topic_test", "production", "miejsca_w_miescie", 2, "Wpisz brakujące słowo: To jest ___. (библиотека)", "Вставьте пропущенное слово: To jest ___. (библиотека)", "Вставте пропущене слово: To jest ___. (бібліотека)", "Fill in the missing word: To jest ___. (library)", "biblioteka", "first_letter", "b", 16), ("a1_city_t17", None, "topic_test", "production", "jechac_srodkami_transportu", 2, "Wpisz brakujące słowo: Jadę ___. (трамваем)", "Вставьте пропущенное слово: Jadę ___. (трамваем)", "Вставте пропущене слово: Jadę ___. (трамваєм)", "Fill in the missing word: Jadę ___. (by tram)", "tramwajem", "first_letter", "t", 17), ("a1_city_t18", None, "topic_test", "production", "opisuje_miasto", 3, "Przetłumacz: «Я еду туда на автобусе».", "Переведите: «Я еду туда на автобусе».", "Перекладіть: «Я їду туди автобусом».", "Translate: “I go there by bus.”", "Jadę tam autobusem", "first_letter", "J", 18), ("a1_city_t19", None, "topic_test", "recognition", "opisuje_miasto", 3, "Wybierz poprawne tłumaczenie: «Я живу в большом городе, и рядом есть парк».", "Выберите правильный перевод: «Я живу в большом городе, и рядом есть парк».", "Виберіть правильний переклад: «Я живу у великому місті, і поруч є парк».", "Choose the correct translation: “I live in a big city and there's a park nearby.”", "C", None, None, 19), ("a1_city_t20", None, "topic_test", "recognition", "jak_dojsc", 3, "Wybierz poprawne tłumaczenie dialogu: «— Как дойти до вокзала? — Иди прямо, потом поверни направо.»", "Выберите правильный перевод диалога: «— Как дойти до вокзала? — Иди прямо, потом поверни направо.»", "Виберіть правильний переклад діалогу: «— Як дійти до вокзалу? — Іди прямо, потім поверни праворуч.»", "Choose the correct translation of the dialogue: “— How do I get to the station? — Go straight ahead, then turn right.”", "D", None, None, 20), ] for q in test_questions_t14: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_city', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t14 = [ ("a1_city_t01", "A", "miasto", "город", "місто", "city", False, "wrong_word"), ("a1_city_t01", "B", "most", "мост", "міст", "bridge", False, "wrong_word"), ("a1_city_t01", "C", "ulica", "улица", "вулиця", "street", True, None), ("a1_city_t01", "D", "park", "парк", "парк", "park", False, "wrong_word"), ("a1_city_t02", "A", "Jaki to park?", "Какой это парк?", "Який це парк?", "What kind of park is this?", False, "wrong_translation"), ("a1_city_t02", "B", "Gdzie jest park?", "Где парк?", "Де парк?", "Where is the park?", True, None), ("a1_city_t02", "C", "Ile kosztuje park?", "Сколько стоит парк?", "Скільки коштує парк?", "How much does the park cost?", False, "wrong_translation"), ("a1_city_t02", "D", "Czy to jest park?", "Это парк?", "Це парк?", "Is this a park?", False, "wrong_translation"), ("a1_city_t03", "A", "mieście", "городе (местн.)", "місті (місц.)", "city (loc.)", True, None), ("a1_city_t03", "B", "miasto", "город (им.)", "місто (наз.)", "city (nom.)", False, "wrong_case"), ("a1_city_t03", "C", "miastem", "городом (тв.)", "містом (ор.)", "city (instr.)", False, "wrong_case"), ("a1_city_t03", "D", "miastu", "городу (дат.)", "місту (дав.)", "city (dat.)", False, "wrong_case"), ("a1_city_t04", "A", "w prawo", "направо", "праворуч", "to the right", False, "wrong_word"), ("a1_city_t04", "B", "prosto", "прямо", "прямо", "straight ahead", False, "wrong_word"), ("a1_city_t04", "C", "na rogu", "на углу", "на розі", "on the corner", False, "wrong_word"), ("a1_city_t04", "D", "w lewo", "налево", "ліворуч", "to the left", True, None), ("a1_city_t05", "A", "park", "парк (им.)", "парк (наз.)", "park (nom.)", False, "wrong_case"), ("a1_city_t05", "B", "parku", "парка (род.)", "парку (род.)", "park (gen.)", True, None), ("a1_city_t05", "C", "parkiem", "парком (тв.)", "парком (ор.)", "park (instr.)", False, "wrong_case"), ("a1_city_t05", "D", "parkowi", "парку (дат.)", "парку (дав.)", "park (dat.)", False, "wrong_case"), ("a1_city_t06", "A", "Idź prosto.", "Иди прямо.", "Іди прямо.", "Go straight ahead.", False, "wrong_translation"), ("a1_city_t06", "B", "Skręć w lewo.", "Поверни налево.", "Поверни ліворуч.", "Turn left.", False, "wrong_translation"), ("a1_city_t06", "C", "Stój tutaj.", "Стой здесь.", "Стій тут.", "Stand here.", False, "wrong_translation"), ("a1_city_t06", "D", "Skręć w prawo.", "Поверни направо.", "Поверни праворуч.", "Turn right.", True, None), ("a1_city_t07", "A", "ulica", "улица", "вулиця", "street", False, "wrong_context"), ("a1_city_t07", "B", "most", "мост", "міст", "bridge", True, None), ("a1_city_t07", "C", "miasto", "город", "місто", "city", False, "wrong_context"), ("a1_city_t07", "D", "park", "парк", "парк", "park", False, "wrong_context"), ("a1_city_t08", "A", "Ulica jest tutaj.", "Улица здесь.", "Вулиця тут.", "The street is here.", False, "wrong_context"), ("a1_city_t08", "B", "Jaka to ulica?", "Какая это улица?", "Яка це вулиця?", "What street is this?", False, "wrong_translation"), ("a1_city_t08", "C", "Ile kosztuje ulica?", "Сколько стоит улица?", "Скільки коштує вулиця?", "How much does the street cost?", False, "wrong_context"), ("a1_city_t08", "D", "Gdzie jest ulica?", "Где улица?", "Де вулиця?", "Where is the street?", True, None), ("a1_city_t09", "A", "Idę do miasta.", "Я иду в город.", "Я йду до міста.", "I'm going to the city.", False, "wrong_context"), ("a1_city_t09", "B", "Miasto jest duże.", "Город большой.", "Місто велике.", "The city is big.", False, "wrong_context"), ("a1_city_t09", "C", "Mieszkam w mieście.", "Я живу в городе.", "Я живу в місті.", "I live in the city.", True, None), ("a1_city_t09", "D", "Szukam miasta.", "Я ищу город.", "Я шукаю місто.", "I'm looking for the city.", False, "wrong_context"), ("a1_city_t10", "A", "przystanek", "остановка", "зупинка", "bus stop", True, None), ("a1_city_t10", "B", "dworzec", "вокзал", "вокзал", "station", False, "wrong_context"), ("a1_city_t10", "C", "biblioteka", "библиотека", "бібліотека", "library", False, "wrong_context"), ("a1_city_t10", "D", "muzeum", "музей", "музей", "museum", False, "wrong_context"), ("a1_city_t11", "A", "Jadę autobusem.", "Я еду на автобусе.", "Я їду автобусом.", "I go by bus.", False, "wrong_context"), ("a1_city_t11", "B", "Jadę metrem.", "Я еду на метро.", "Я їду метро.", "I go by metro.", True, None), ("a1_city_t11", "C", "Idę prosto.", "Я иду прямо.", "Я йду прямо.", "I'm walking straight ahead.", False, "wrong_context"), ("a1_city_t11", "D", "Jadę tramwajem.", "Я еду на трамвае.", "Я їду трамваєм.", "I go by tram.", False, "wrong_context"), ("a1_city_t12", "A", "Skręć w prawo.", "Поверни направо.", "Поверни праворуч.", "Turn right.", False, "wrong_context"), ("a1_city_t12", "B", "Idź prosto.", "Иди прямо.", "Іди прямо.", "Go straight ahead.", True, None), ("a1_city_t12", "C", "Skręć w lewo.", "Поверни налево.", "Поверни ліворуч.", "Turn left.", False, "wrong_context"), ("a1_city_t12", "D", "Stój tutaj.", "Стой здесь.", "Стій тут.", "Stand here.", False, "wrong_context"), ("a1_city_t19", "A", "Mieszkam w małym mieście i blisko jest park.", "Я живу в маленьком городе, и рядом есть парк.", "Я живу в маленькому місті, і поруч є парк.", "I live in a small city and there's a park nearby.", False, "wrong_word"), ("a1_city_t19", "B", "Mieszkam w dużym mieście i daleko jest park.", "Я живу в большом городе, и далеко есть парк.", "Я живу у великому місті, і далеко є парк.", "I live in a big city and the park is far away.", False, "wrong_context"), ("a1_city_t19", "C", "Mieszkam w dużym mieście i blisko jest park.", "Я живу в большом городе, и рядом есть парк.", "Я живу у великому місті, і поруч є парк.", "I live in a big city and there's a park nearby.", True, None), ("a1_city_t19", "D", "Mieszkałem w dużym mieście i blisko był park.", "Неправильное время (прошедшее вместо настоящего).", "Неправильний час (минулий замість теперішнього).", "Wrong tense (past instead of present).", False, "wrong_sentence_type"), ("a1_city_t20", "A", "Jak dojść do biblioteki? — Idź prosto, potem skręć w prawo.", "Неправильное место (библиотека вместо вокзала).", "Неправильне місце (бібліотека замість вокзалу).", "Wrong place (library instead of station).", False, "wrong_word"), ("a1_city_t20", "B", "Jak dojść do dworca? — Idź prosto, potem skręć w lewo.", "Неправильное направление (налево вместо направо).", "Неправильний напрямок (ліворуч замість праворуч).", "Wrong direction (left instead of right).", False, "wrong_translation"), ("a1_city_t20", "C", "Gdzie jest dworzec? — Idź prosto, potem skręć w prawo.", "Неправильный вопрос (где находится вместо как дойти).", "Неправильне питання (де знаходиться замість як дійти).", "Wrong question (where is instead of how to get to).", False, "wrong_translation"), ("a1_city_t20", "D", "Jak dojść do dworca? — Idź prosto, potem skręć w prawo.", "Как дойти до вокзала? — Иди прямо, потом поверни направо.", "Як дійти до вокзалу? — Іди прямо, потім поверни праворуч.", "How do I get to the station? — Go straight ahead, then turn right.", True, None), ] for opt in test_options_t14: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) # ==================== ТЕМА 15: ЕЖЕДНЕВНАЯ РУТИНА ==================== await conn.execute(""" INSERT INTO learning_topics (topic_id, level_code, order_number, name_pl, name_ru, name_uk, name_en) VALUES ('a1_daily_routine', 'A1', 15, 'Codzienna rutyna', 'Ежедневная рутина', 'Щоденна рутина', 'Daily Routine') ON CONFLICT (topic_id) DO UPDATE SET name_pl = EXCLUDED.name_pl, name_ru = EXCLUDED.name_ru, name_uk = EXCLUDED.name_uk, name_en = EXCLUDED.name_en """) lessons_t15 = [ ("a1_daily_routine_l01", 1, "daily_routine_verbs", "Podstawowe czasowniki: rutyna dnia", "Основные глаголы: распорядок дня", "Основні дієслова: розпорядок дня", "Basic verbs: daily routine", "Podstawowe czasowniki opisujące dzień: wstawać, myć się, jeść, spać. To bezokoliczniki — podstawowe formy czasowników.", "Основные глаголы, описывающие день: wstawać (вставать), myć się (мыться), jeść (есть), spać (спать). Это инфинитивы — словарные формы глаголов.", "Основні дієслова, що описують день: wstawać (вставати), myć się (митися), jeść (їсти), spać (спати). Це інфінітиви — словникові форми дієслів.", "Basic verbs describing the day: wstawać (to get up), myć się (to wash oneself), jeść (to eat), spać (to sleep). These are infinitives — the dictionary forms of verbs."), ("a1_daily_routine_l02", 2, "o_ktorej_godzinie", "O której godzinie? + liczebnik", "O której godzinie? + числительное", "O której godzinie? + числівник", "O której godzinie? + numeral", "Pytamy o czas czynności: „O której godzinie?” + liczebnik: O której godzinie wstajesz? Wstaję o siódmej.", "Спрашиваем о времени действия: „O której godzinie?” (В котором часу?) + числительное: O której godzinie wstajesz? (Во сколько ты встаёшь?) Wstaję o siódmej. (Я встаю в семь.)", "Запитуємо про час дії: „O której godzinie?” (О котрій годині?) + числівник: O której godzinie wstajesz? (О котрій годині ти встаєш?) Wstaję o siódmej. (Я встаю о сьомій.)", "We ask about the time of an action: „O której godzinie?” (At what time?) + numeral: O której godzinie wstajesz? (What time do you get up?) Wstaję o siódmej. (I get up at seven.)"), ("a1_daily_routine_l03", 3, "czasowniki_zwrotne", "Czasowniki zwrotne: się", "Возвратные глаголы: się", "Зворотні дієслова: się", "Reflexive verbs: się", "Czasowniki zwrotne mają cząstkę „się”: myć się, ubierać się, czesać się.", "Возвратные глаголы имеют частицу „się”: myć się (мыться), ubierać się (одеваться), czesać się (причёсываться).", "Зворотні дієслова мають частку „się”: myć się (митися), ubierać się (одягатися), czesać się (розчісуватися).", "Reflexive verbs have the particle „się”: myć się (to wash oneself), ubierać się (to get dressed), czesać się (to comb one's hair)."), ("a1_daily_routine_l04", 4, "posilki_vocabulary", "Słowa: posiłki", "Слова: приёмы пищи", "Слова: прийоми їжі", "Words: meals", "Podstawowe słowa dotyczące posiłków: śniadanie, obiad, kolacja, przekąska. „Śniadanie” jest rodzaju nijakiego, „obiad” jest rodzaju męskiego, „kolacja” i „przekąska” są rodzaju żeńskiego.", "Основные слова о приёмах пищи: śniadanie (завтрак), obiad (обед), kolacja (ужин), przekąska (перекус). „Śniadanie” среднего рода, „obiad” мужского рода, „kolacja” и „przekąska” женского рода.", "Основні слова про прийоми їжі: śniadanie (сніданок), obiad (обід), kolacja (вечеря), przekąska (перекус). „Śniadanie” середнього роду, „obiad” чоловічого роду, „kolacja” і „przekąska” жіночого роду.", "Basic words about meals: śniadanie (breakfast), obiad (lunch/dinner), kolacja (supper), przekąska (snack). „Śniadanie” is neuter, „obiad” is masculine, „kolacja” and „przekąska” are feminine."), ("a1_daily_routine_l05", 5, "wstaje_o", "Wstaję o + godzina", "Wstaję o + время", "Wstaję o + час", "Wstaję o + time", "Żeby powiedzieć, o której godzinie coś robimy, używamy „o” + liczebnik w formie żeńskiej: wstaję o siódmej, jem śniadanie o ósmej, kończę pracę o szesnastej.", "Чтобы сказать, во сколько мы что-то делаем, используем „o” + числительное в форме женского рода: wstaję o siódmej (я встаю в семь), jem śniadanie o ósmej (я завтракаю в восемь), kończę pracę o szesnastej (я заканчиваю работу в шестнадцать).", "Щоб сказати, о котрій годині ми щось робимо, використовуємо „o” + числівник у формі жіночого роду: wstaję o siódmej (я встаю о сьомій), jem śniadanie o ósmej (я снідаю о восьмій), kończę pracę o szesnastej (я закінчую роботу о шістнадцятій).", "To say at what time we do something, we use „o” + the feminine form of the numeral: wstaję o siódmej (I get up at seven), jem śniadanie o ósmej (I have breakfast at eight), kończę pracę o szesnastej (I finish work at sixteen)."), ("a1_daily_routine_l06", 6, "kolejnosc_czynnosci", "Kolejność czynności: najpierw, potem", "Порядок действий: najpierw, potem", "Порядок дій: najpierw, potem", "Order of actions: najpierw, potem", "Żeby opisać kolejność czynności, używamy słów: najpierw, potem, później, na końcu.", "Чтобы описать порядок действий, используем слова: najpierw (сначала), potem (потом), później (позже), na końcu (в конце).", "Щоб описати порядок дій, використовуємо слова: najpierw (спочатку), potem (потім), później (пізніше), na końcu (наприкінці).", "To describe the order of actions, we use the words: najpierw (first), potem (then), później (later), na końcu (finally)."), ("a1_daily_routine_l07", 7, "dni_tygodnia", "Dni tygodnia", "Дни недели", "Дні тижня", "Days of the week", "Dni tygodnia: poniedziałek, wtorek, czwartek i piątek są rodzaju męskiego. Środa, sobota i niedziela są rodzaju żeńskiego.", "Дни недели: poniedziałek, wtorek, czwartek и piątek мужского рода. Środa, sobota и niedziela женского рода.", "Дні тижня: poniedziałek, wtorek, czwartek і piątek чоловічого роду. Środa, sobota і niedziela жіночого роду.", "Days of the week: poniedziałek, wtorek, czwartek and piątek are masculine. Środa, sobota and niedziela are feminine."), ("a1_daily_routine_l08", 8, "zaczynac_konczyc", "Zaczynać/kończyć + biernik", "Zaczynać/kończyć + винительный падеж", "Zaczynać/kończyć + знахідний відмінок", "Zaczynać/kończyć + accusative", "Czasowniki „zaczynać” i „kończyć” + biernik: zaczynam pracę, kończę pracę, zaczynam naukę.", "Глаголы „zaczynać” (начинать) и „kończyć” (заканчивать) + винительный падеж: zaczynam pracę (я начинаю работу), kończę pracę (я заканчиваю работу), zaczynam naukę (я начинаю учёбу).", "Дієслова „zaczynać” (починати) і „kończyć” (закінчувати) + знахідний відмінок: zaczynam pracę (я починаю роботу), kończę pracę (я закінчую роботу), zaczynam naukę (я починаю навчання).", "The verbs „zaczynać” (to start) and „kończyć” (to finish) + accusative: zaczynam pracę (I start work), kończę pracę (I finish work), zaczynam naukę (I start studying)."), ("a1_daily_routine_l09", 9, "przed_po", "Przed + narzędnik / po + miejscownik", "Przed + творительный / po + предложный", "Przed + орудний / po + місцевий", "Przed + instrumental / po + locative", "Przyimek „przed” + narzędnik i przyimek „po” + miejscownik określają kolejność w czasie: przed śniadaniem, po pracy, po obiedzie.", "Предлог „przed” (перед) + творительный падеж и предлог „po” (после) + предложный падеж определяют порядок во времени: przed śniadaniem (перед завтраком), po pracy (после работы), po obiedzie (после обеда).", "Прийменник „przed” (перед) + орудний відмінок і прийменник „po” (після) + місцевий відмінок визначають порядок у часі: przed śniadaniem (перед сніданком), po pracy (після роботи), po obiedzie (після обіду).", "The preposition „przed” (before) + instrumental and the preposition „po” (after) + locative express order in time: przed śniadaniem (before breakfast), po pracy (after work), po obiedzie (after lunch)."), ("a1_daily_routine_l10", 10, "opisuje_dzien", "Opisuję swój dzień", "Описываю свой день", "Описую свій день", "Describing my day", "Żeby opisać swój dzień, łączymy kilka zdań: Wstaję o siódmej. Najpierw myję się, potem jem śniadanie. Po pracy odpoczywam.", "Чтобы описать свой день, соединяем несколько предложений: Wstaję o siódmej. Najpierw myję się, potem jem śniadanie. Po pracy odpoczywam. (Я встаю в семь. Сначала я моюсь, потом завтракаю. После работы я отдыхаю.)", "Щоб описати свій день, поєднуємо кілька речень: Wstaję o siódmej. Najpierw myję się, potem jem śniadanie. Po pracy odpoczywam. (Я встаю о сьомій. Спочатку я миюся, потім снідаю. Після роботи я відпочиваю.)", "To describe your day, we combine several sentences: Wstaję o siódmej. Najpierw myję się, potem jem śniadanie. Po pracy odpoczywam. (I get up at seven. First I wash, then I have breakfast. After work I rest.)"), ] for lesson in lessons_t15: await conn.execute(""" INSERT INTO learning_lessons (lesson_id, topic_id, order_number, skill_tag, title_pl, title_ru, title_uk, title_en, objective_pl, objective_ru, objective_uk, objective_en, explanation_pl, explanation_ru, explanation_uk, explanation_en) VALUES ($1, 'a1_daily_routine', $2, $3, $4, $5, $6, $7, $4, $5, $6, $7, $8, $9, $10, $11) ON CONFLICT (lesson_id) DO NOTHING """, lesson[0], lesson[1], lesson[2], lesson[3], lesson[4], lesson[5], lesson[6], lesson[7], lesson[8], lesson[9], lesson[10]) examples_t15 = [ ("a1_daily_routine_l01", 1, "Wstaję rano.", "Я встаю утром.", "Я встаю вранці.", "I get up in the morning."), ("a1_daily_routine_l01", 2, "Jem śniadanie.", "Я завтракаю.", "Я їм сніданок.", "I eat breakfast."), ("a1_daily_routine_l01", 3, "Śpię w nocy.", "Я сплю ночью.", "Я сплю вночі.", "I sleep at night."), ("a1_daily_routine_l02", 1, "O której godzinie wstajesz?", "Во сколько ты встаёшь?", "О котрій годині ти встаєш?", "What time do you get up?"), ("a1_daily_routine_l02", 2, "Wstaję o siódmej.", "Я встаю в семь.", "Я встаю о сьомій.", "I get up at seven."), ("a1_daily_routine_l02", 3, "Jem obiad o dwunastej.", "Я обедаю в двенадцать.", "Я обідаю о дванадцятій.", "I have lunch at twelve."), ("a1_daily_routine_l03", 1, "Myję się rano.", "Я умываюсь утром.", "Я вмиваюся вранці.", "I wash myself in the morning."), ("a1_daily_routine_l03", 2, "Ubierasz się szybko?", "Ты одеваешься быстро?", "Ти одягаєшся швидко?", "Do you get dressed quickly?"), ("a1_daily_routine_l03", 3, "On czesze się przed lustrem.", "Он причёсывается перед зеркалом.", "Він розчісується перед дзеркалом.", "He combs his hair in front of the mirror."), ("a1_daily_routine_l04", 1, "Jem śniadanie o ósmej.", "Я завтракаю в восемь.", "Я снідаю о восьмій.", "I have breakfast at eight."), ("a1_daily_routine_l04", 2, "Obiad jest o dwunastej.", "Обед в двенадцать.", "Обід о дванадцятій.", "Lunch is at twelve."), ("a1_daily_routine_l04", 3, "Kolacja jest wieczorem.", "Ужин вечером.", "Вечеря ввечері.", "Supper is in the evening."), ("a1_daily_routine_l05", 1, "Wstaję o siódmej.", "Я встаю в семь.", "Я встаю о сьомій.", "I get up at seven."), ("a1_daily_routine_l05", 2, "Jem śniadanie o ósmej.", "Я завтракаю в восемь.", "Я снідаю о восьмій.", "I have breakfast at eight."), ("a1_daily_routine_l05", 3, "Kończę pracę o szesnastej.", "Я заканчиваю работу в шестнадцать.", "Я закінчую роботу о шістнадцятій.", "I finish work at sixteen."), ("a1_daily_routine_l06", 1, "Najpierw myję się, potem jem śniadanie.", "Сначала я умываюсь, потом завтракаю.", "Спочатку я вмиваюся, потім снідаю.", "First I wash, then I have breakfast."), ("a1_daily_routine_l06", 2, "Później idę do pracy.", "Позже я иду на работу.", "Пізніше я йду на роботу.", "Later I go to work."), ("a1_daily_routine_l06", 3, "Na końcu idę spać.", "В конце я иду спать.", "Наприкінці я йду спати.", "Finally I go to sleep."), ("a1_daily_routine_l07", 1, "W poniedziałek pracuję.", "В понедельник я работаю.", "У понеділок я працюю.", "On Monday I work."), ("a1_daily_routine_l07", 2, "We wtorek mam zajęcia.", "Во вторник у меня занятия.", "У вівторок у мене заняття.", "On Tuesday I have classes."), ("a1_daily_routine_l07", 3, "W niedzielę odpoczywam.", "В воскресенье я отдыхаю.", "У неділю я відпочиваю.", "On Sunday I rest."), ("a1_daily_routine_l08", 1, "Zaczynam pracę o ósmej.", "Я начинаю работу в восемь.", "Я починаю роботу о восьмій.", "I start work at eight."), ("a1_daily_routine_l08", 2, "Kończysz pracę o szesnastej?", "Ты заканчиваешь работу в шестнадцать?", "Ти закінчуєш роботу о шістнадцятій?", "Do you finish work at sixteen?"), ("a1_daily_routine_l08", 3, "Ona zaczyna naukę o dziewiątej.", "Она начинает учёбу в девять.", "Вона починає навчання о дев'ятій.", "She starts studying at nine."), ("a1_daily_routine_l09", 1, "Myję się przed śniadaniem.", "Я умываюсь перед завтраком.", "Я вмиваюся перед сніданком.", "I wash before breakfast."), ("a1_daily_routine_l09", 2, "Odpoczywam po pracy.", "Я отдыхаю после работы.", "Я відпочиваю після роботи.", "I rest after work."), ("a1_daily_routine_l09", 3, "Idę spać po kolacji.", "Я иду спать после ужина.", "Я йду спати після вечері.", "I go to sleep after supper."), ("a1_daily_routine_l10", 1, "Wstaję o siódmej.", "Я встаю в семь.", "Я встаю о сьомій.", "I get up at seven."), ("a1_daily_routine_l10", 2, "Najpierw myję się, potem jem śniadanie.", "Сначала я умываюсь, потом завтракаю.", "Спочатку я вмиваюся, потім снідаю.", "First I wash, then I have breakfast."), ("a1_daily_routine_l10", 3, "Po pracy odpoczywam.", "После работы я отдыхаю.", "Після роботи я відпочиваю.", "After work I rest."), ] for ex in examples_t15: await conn.execute(""" INSERT INTO lesson_examples (lesson_id, order_number, text_pl, text_ru, text_uk, text_en) VALUES ($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING """, ex[0], ex[1], ex[2], ex[3], ex[4], ex[5]) questions_t15 = [ # L01 — daily_routine_verbs (difficulty 1) ("a1_daily_routine_l01_q1", "a1_daily_routine_l01", "lesson_practice", "recognition", "daily_routine_verbs", 1, "Jak po polsku „спать”?", "Как по-польски «спать»?", "Як польською «спати»?", "How do you say “to sleep” in Polish?", "B", None, None), ("a1_daily_routine_l01_q2", "a1_daily_routine_l01", "lesson_practice", "production", "daily_routine_verbs", 1, "Wpisz brakujące słowo: ___ śniadanie. (ем)", "Вставьте пропущенное слово: ___ śniadanie. (ем)", "Вставте пропущене слово: ___ śniadanie. (їм)", "Fill in the missing word: ___ śniadanie. (I eat)", "Jem", "first_letter", "J"), ("a1_daily_routine_l01_q3", "a1_daily_routine_l01", "lesson_practice", "application", "daily_routine_verbs", 1, "Jest rano i musisz otworzyć oczy i podnieść się z łóżka. Co robisz?", "Утро, и тебе нужно открыть глаза и подняться с кровати. Что ты делаешь?", "Ранок, і тобі треба розплющити очі та встати з ліжка. Що ти робиш?", "It's morning and you need to open your eyes and get out of bed. What do you do?", "D", None, None), # L02 — o_ktorej_godzinie (difficulty 1) ("a1_daily_routine_l02_q1", "a1_daily_routine_l02", "lesson_practice", "recognition", "o_ktorej_godzinie", 1, "Co znaczy „O której godzinie wstajesz?”?", "Что означает «O której godzinie wstajesz?»?", "Що означає «O której godzinie wstajesz?»?", "What does “O której godzinie wstajesz?” mean?", "C", None, None), ("a1_daily_routine_l02_q2", "a1_daily_routine_l02", "lesson_practice", "production", "o_ktorej_godzinie", 1, "Wpisz brakujące słowo: Wstaję ___ siódmej. (в)", "Вставьте пропущенное слово: Wstaję ___ siódmej. (в)", "Вставте пропущене слово: Wstaję ___ siódmej. (о)", "Fill in the missing word: Wstaję ___ siódmej. (at)", "o", "first_letter", "o"), ("a1_daily_routine_l02_q3", "a1_daily_routine_l02", "lesson_practice", "application", "o_ktorej_godzinie", 1, "Kolega pyta, kiedy jesz obiad. Jesz o dwunastej. Co powiesz?", "Друг спрашивает, когда ты обедаешь. Ты обедаешь в двенадцать. Что ты скажешь?", "Друг питає, коли ти обідаєш. Ти обідаєш о дванадцятій. Що ти скажеш?", "A friend asks when you have lunch. You have lunch at twelve. What do you say?", "A", None, None), # L03 — czasowniki_zwrotne (difficulty 1) ("a1_daily_routine_l03_q1", "a1_daily_routine_l03", "lesson_practice", "recognition", "czasowniki_zwrotne", 1, "Wybierz poprawną formę: Ja ___ się. (myć)", "Выберите правильную форму: Ja ___ się. (myć)", "Виберіть правильну форму: Ja ___ się. (myć)", "Choose the correct form: Ja ___ się. (myć)", "D", None, None), ("a1_daily_routine_l03_q2", "a1_daily_routine_l03", "lesson_practice", "production", "czasowniki_zwrotne", 1, "Wpisz brakujące słowo: Ty ___ się szybko? (одеваешься)", "Вставьте пропущенное слово: Ty ___ się szybko? (одеваешься)", "Вставте пропущене слово: Ty ___ się szybko? (одягаєшся)", "Fill in the missing word: Ty ___ się szybko? (do you get dressed)", "ubierasz", "first_letter", "u"), ("a1_daily_routine_l03_q3", "a1_daily_routine_l03", "lesson_practice", "application", "czasowniki_zwrotne", 1, "Stoisz przed lustrem i porządkujesz włosy. Co robisz?", "Ты стоишь перед зеркалом и приводишь в порядок волосы. Что ты делаешь?", "Ти стоїш перед дзеркалом і впорядковуєш волосся. Що ти робиш?", "You're standing in front of the mirror fixing your hair. What are you doing?", "B", None, None), # L04 — posilki_vocabulary (difficulty 1) ("a1_daily_routine_l04_q1", "a1_daily_routine_l04", "lesson_practice", "recognition", "posilki_vocabulary", 1, "Jak po polsku „ужин”?", "Как по-польски «ужин»?", "Як польською «вечеря»?", "How do you say “supper” in Polish?", "A", None, None), ("a1_daily_routine_l04_q2", "a1_daily_routine_l04", "lesson_practice", "production", "posilki_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (перекус)", "Вставьте пропущенное слово: To jest ___. (перекус)", "Вставте пропущене слово: To jest ___. (перекус)", "Fill in the missing word: To jest ___. (snack)", "przekąska", "first_letter", "p"), ("a1_daily_routine_l04_q3", "a1_daily_routine_l04", "lesson_practice", "application", "posilki_vocabulary", 1, "Jest południe i chcesz coś zjeść w środku dnia. Co jesz?", "Полдень, и ты хочешь что-нибудь съесть в середине дня. Что ты ешь?", "Полудень, і ти хочеш щось з'їсти в середині дня. Що ти їси?", "It's noon and you want to eat something in the middle of the day. What do you eat?", "C", None, None), # L05 — wstaje_o (difficulty 2) ("a1_daily_routine_l05_q1", "a1_daily_routine_l05", "lesson_practice", "recognition", "wstaje_o", 2, "Wybierz poprawną formę: Wstaję o ___. (siódma)", "Выберите правильную форму: Wstaję o ___. (siódma)", "Виберіть правильну форму: Wstaję o ___. (siódma)", "Choose the correct form: Wstaję o ___. (siódma)", "B", None, None), ("a1_daily_routine_l05_q2", "a1_daily_routine_l05", "lesson_practice", "production", "wstaje_o", 2, "Wpisz brakujące słowo: Kończę pracę ___ szesnastej. (в)", "Вставьте пропущенное слово: Kończę pracę ___ szesnastej. (в)", "Вставте пропущене слово: Kończę pracę ___ szesnastej. (о)", "Fill in the missing word: Kończę pracę ___ szesnastej. (at)", "o", "first_letter", "o"), ("a1_daily_routine_l05_q3", "a1_daily_routine_l05", "lesson_practice", "application", "wstaje_o", 2, "Chcesz powiedzieć, że jesz śniadanie o godzinie ósmej. Co powiesz?", "Ты хочешь сказать, что завтракаешь в восемь часов. Что ты скажешь?", "Ти хочеш сказати, що снідаєш о восьмій годині. Що ти скажеш?", "You want to say you have breakfast at eight o'clock. What do you say?", "D", None, None), # L06 — kolejnosc_czynnosci (difficulty 2) ("a1_daily_routine_l06_q1", "a1_daily_routine_l06", "lesson_practice", "recognition", "kolejnosc_czynnosci", 2, "Co znaczy „Najpierw myję się, potem jem śniadanie”?", "Что означает «Najpierw myję się, potem jem śniadanie»?", "Що означає «Najpierw myję się, potem jem śniadanie»?", "What does “Najpierw myję się, potem jem śniadanie” mean?", "C", None, None), ("a1_daily_routine_l06_q2", "a1_daily_routine_l06", "lesson_practice", "production", "kolejnosc_czynnosci", 2, "Wpisz brakujące słowo: ___ idę do pracy. (позже)", "Вставьте пропущенное слово: ___ idę do pracy. (позже)", "Вставте пропущене слово: ___ idę do pracy. (пізніше)", "Fill in the missing word: ___ idę do pracy. (later)", "Później", "first_letter", "P"), ("a1_daily_routine_l06_q3", "a1_daily_routine_l06", "lesson_practice", "application", "kolejnosc_czynnosci", 2, "Opisujesz kolejność: robisz coś jako pierwszą czynność dnia. Jakiego słowa użyjesz?", "Ты описываешь порядок: ты делаешь что-то как первое действие дня. Какое слово ты используешь?", "Ти описуєш порядок: ти робиш щось як першу дію дня. Яке слово ти використаєш?", "You're describing an order: you do something as the first action of the day. Which word do you use?", "A", None, None), # L07 — dni_tygodnia (difficulty 2) ("a1_daily_routine_l07_q1", "a1_daily_routine_l07", "lesson_practice", "recognition", "dni_tygodnia", 2, "Jak po polsku „воскресенье”?", "Как по-польски «воскресенье»?", "Як польською «неділя»?", "How do you say “Sunday” in Polish?", "D", None, None), ("a1_daily_routine_l07_q2", "a1_daily_routine_l07", "lesson_practice", "production", "dni_tygodnia", 2, "Wpisz brakujące słowo: W ___ pracuję. (понедельник)", "Вставьте пропущенное слово: W ___ pracuję. (понедельник)", "Вставте пропущене слово: W ___ pracuję. (понеділок)", "Fill in the missing word: W ___ pracuję. (Monday)", "poniedziałek", "first_letter", "p"), ("a1_daily_routine_l07_q3", "a1_daily_routine_l07", "lesson_practice", "application", "dni_tygodnia", 2, "To ostatni dzień weekendu i odpoczywasz. Jaki to dzień?", "Это последний день выходных, и ты отдыхаешь. Какой это день?", "Це останній день вихідних, і ти відпочиваєш. Який це день?", "It's the last day of the weekend and you're resting. What day is it?", "B", None, None), # L08 — zaczynac_konczyc (difficulty 2) ("a1_daily_routine_l08_q1", "a1_daily_routine_l08", "lesson_practice", "recognition", "zaczynac_konczyc", 2, "Wybierz poprawną formę: Zaczynam ___. (praca)", "Выберите правильную форму: Zaczynam ___. (praca)", "Виберіть правильну форму: Zaczynam ___. (praca)", "Choose the correct form: Zaczynam ___. (praca)", "A", None, None), ("a1_daily_routine_l08_q2", "a1_daily_routine_l08", "lesson_practice", "production", "zaczynac_konczyc", 2, "Wpisz brakujące słowo: Kończę ___. (учёбу)", "Вставьте пропущенное слово: Kończę ___. (учёбу)", "Вставте пропущене слово: Kończę ___. (навчання)", "Fill in the missing word: Kończę ___. (studying)", "naukę", "first_letter", "n"), ("a1_daily_routine_l08_q3", "a1_daily_routine_l08", "lesson_practice", "application", "zaczynac_konczyc", 2, "Jest ósma rano i idziesz do biura. Co robisz?", "Восемь утра, и ты идёшь в офис. Что ты делаешь?", "Восьма ранку, і ти йдеш в офіс. Що ти робиш?", "It's eight in the morning and you're going to the office. What are you doing?", "C", None, None), # L09 — przed_po (difficulty 3) ("a1_daily_routine_l09_q1", "a1_daily_routine_l09", "lesson_practice", "recognition", "przed_po", 3, "Co znaczy „Odpoczywam po pracy”?", "Что означает «Odpoczywam po pracy»?", "Що означає «Odpoczywam po pracy»?", "What does “Odpoczywam po pracy” mean?", "B", None, None), ("a1_daily_routine_l09_q2", "a1_daily_routine_l09", "lesson_practice", "production", "przed_po", 3, "Wpisz brakujące słowo: Myję się ___ śniadaniem. (перед)", "Вставьте пропущенное слово: Myję się ___ śniadaniem. (перед)", "Вставте пропущене слово: Myję się ___ śniadaniem. (перед)", "Fill in the missing word: Myję się ___ śniadaniem. (before)", "przed", "first_letter", "p"), ("a1_daily_routine_l09_q3", "a1_daily_routine_l09", "lesson_practice", "application", "przed_po", 3, "Zjadłeś kolację i teraz chcesz iść spać. Co powiesz?", "Ты поужинал и теперь хочешь идти спать. Что ты скажешь?", "Ти повечеряв і тепер хочеш іти спати. Що ти скажеш?", "You've had supper and now want to go to sleep. What do you say?", "D", None, None), # L10 — opisuje_dzien (difficulty 3) ("a1_daily_routine_l10_q1", "a1_daily_routine_l10", "lesson_practice", "recognition", "opisuje_dzien", 3, "Które zdanie poprawnie opisuje dzień?", "Какое предложение правильно описывает день?", "Яке речення правильно описує день?", "Which sentence correctly describes a day?", "C", None, None), ("a1_daily_routine_l10_q2", "a1_daily_routine_l10", "lesson_practice", "production", "opisuje_dzien", 3, "Przetłumacz: «После работы я отдыхаю».", "Переведите: «После работы я отдыхаю».", "Перекладіть: «Після роботи я відпочиваю».", "Translate: “After work I rest.”", "Po pracy odpoczywam", "first_letter", "P"), ("a1_daily_routine_l10_q3", "a1_daily_routine_l10", "lesson_practice", "application", "opisuje_dzien", 3, "Chcesz opisać koledze swój dzień: wstajesz o siódmej, myjesz się, jesz śniadanie. Jak zaczniesz zdanie?", "Ты хочешь описать другу свой день: ты встаёшь в семь, умываешься, завтракаешь. Как ты начнёшь предложение?", "Ти хочеш описати другу свій день: ти встаєш о сьомій, вмиваєшся, снідаєш. Як ти почнеш речення?", "You want to describe your day to a friend: you get up at seven, wash, have breakfast. How do you start the sentence?", "A", None, None), ] for q in questions_t15: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question) VALUES ($1, $2, 'a1_daily_routine', $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, FALSE) ON CONFLICT (question_id) DO NOTHING """, q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12]) options_t15 = [ # L01 ("a1_daily_routine_l01_q1", "A", "jeść", "есть", "їсти", "to eat", False, "wrong_word"), ("a1_daily_routine_l01_q1", "B", "spać", "спать", "спати", "to sleep", True, None), ("a1_daily_routine_l01_q1", "C", "wstawać", "вставать", "вставати", "to get up", False, "wrong_word"), ("a1_daily_routine_l01_q1", "D", "myć się", "умываться", "вмиватися", "to wash oneself", False, "wrong_word"), ("a1_daily_routine_l01_q3", "A", "jem", "я ем", "я їм", "I eat", False, "wrong_context"), ("a1_daily_routine_l01_q3", "B", "śpię", "я сплю", "я сплю", "I sleep", False, "wrong_context"), ("a1_daily_routine_l01_q3", "C", "myję się", "я умываюсь", "я вмиваюся", "I wash myself", False, "wrong_context"), ("a1_daily_routine_l01_q3", "D", "wstaję", "я встаю", "я встаю", "I get up", True, None), # L02 ("a1_daily_routine_l02_q1", "A", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "wrong_translation"), ("a1_daily_routine_l02_q1", "B", "Gdzie mieszkasz?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?", False, "wrong_translation"), ("a1_daily_routine_l02_q1", "C", "O której godzinie wstajesz?", "Во сколько ты встаёшь?", "О котрій годині ти встаєш?", "What time do you get up?", True, None), ("a1_daily_routine_l02_q1", "D", "Co robisz wieczorem?", "Что ты делаешь вечером?", "Що ти робиш увечері?", "What do you do in the evening?", False, "wrong_translation"), ("a1_daily_routine_l02_q3", "A", "Jem obiad o dwunastej.", "Я обедаю в двенадцать.", "Я обідаю о дванадцятій.", "I have lunch at twelve.", True, None), ("a1_daily_routine_l02_q3", "B", "Jem śniadanie o dwunastej.", "Я завтракаю в двенадцать.", "Я снідаю о дванадцятій.", "I have breakfast at twelve.", False, "wrong_context"), ("a1_daily_routine_l02_q3", "C", "Wstaję o dwunastej.", "Я встаю в двенадцать.", "Я встаю о дванадцятій.", "I get up at twelve.", False, "wrong_context"), ("a1_daily_routine_l02_q3", "D", "Kończę pracę o dwunastej.", "Я заканчиваю работу в двенадцать.", "Я закінчую роботу о дванадцятій.", "I finish work at twelve.", False, "wrong_context"), # L03 ("a1_daily_routine_l03_q1", "A", "myjesz", "умываешься", "вмиваєшся", "wash (you)", False, "wrong_word"), ("a1_daily_routine_l03_q1", "B", "myje", "умывается", "вмивається", "washes", False, "wrong_word"), ("a1_daily_routine_l03_q1", "C", "myć", "умываться (инф.)", "вмиватися (інф.)", "to wash", False, "wrong_word"), ("a1_daily_routine_l03_q1", "D", "myję", "умываюсь", "вмиваюся", "wash (I)", True, None), ("a1_daily_routine_l03_q3", "A", "myjesz się", "умываешься", "вмиваєшся", "you're washing", False, "wrong_context"), ("a1_daily_routine_l03_q3", "B", "czeszesz się", "причёсываешься", "розчісуєшся", "you're combing your hair", True, None), ("a1_daily_routine_l03_q3", "C", "ubierasz się", "одеваешься", "одягаєшся", "you're getting dressed", False, "wrong_context"), ("a1_daily_routine_l03_q3", "D", "jesz śniadanie", "завтракаешь", "снідаєш", "you're having breakfast", False, "wrong_context"), # L04 ("a1_daily_routine_l04_q1", "A", "kolacja", "ужин", "вечеря", "supper", True, None), ("a1_daily_routine_l04_q1", "B", "śniadanie", "завтрак", "сніданок", "breakfast", False, "wrong_word"), ("a1_daily_routine_l04_q1", "C", "obiad", "обед", "обід", "lunch", False, "wrong_word"), ("a1_daily_routine_l04_q1", "D", "przekąska", "перекус", "перекус", "snack", False, "wrong_word"), ("a1_daily_routine_l04_q3", "A", "śniadanie", "завтрак", "сніданок", "breakfast", False, "wrong_context"), ("a1_daily_routine_l04_q3", "B", "kolację", "ужин", "вечерю", "supper", False, "wrong_context"), ("a1_daily_routine_l04_q3", "C", "obiad", "обед", "обід", "lunch", True, None), ("a1_daily_routine_l04_q3", "D", "przekąskę", "перекус", "перекус", "snack", False, "wrong_context"), # L05 ("a1_daily_routine_l05_q1", "A", "siódma", "семь (им.)", "сьома (наз.)", "seven (nom.)", False, "wrong_case"), ("a1_daily_routine_l05_q1", "B", "siódmej", "семь (после „o”)", "сьомій (після „o”)", "seven (after „o”)", True, None), ("a1_daily_routine_l05_q1", "C", "siódmą", "семь (вин.)", "сьому (знах.)", "seven (acc.)", False, "wrong_case"), ("a1_daily_routine_l05_q1", "D", "siódmy", "неправильная форма рода", "неправильна форма роду", "wrong gender form", False, "wrong_gender"), ("a1_daily_routine_l05_q3", "A", "Wstaję o ósmej.", "Я встаю в восемь.", "Я встаю о восьмій.", "I get up at eight.", False, "wrong_context"), ("a1_daily_routine_l05_q3", "B", "Kończę pracę o ósmej.", "Я заканчиваю работу в восемь.", "Я закінчую роботу о восьмій.", "I finish work at eight.", False, "wrong_context"), ("a1_daily_routine_l05_q3", "C", "Idę spać o ósmej.", "Я иду спать в восемь.", "Я йду спати о восьмій.", "I go to sleep at eight.", False, "wrong_context"), ("a1_daily_routine_l05_q3", "D", "Jem śniadanie o ósmej.", "Я завтракаю в восемь.", "Я снідаю о восьмій.", "I have breakfast at eight.", True, None), # L06 ("a1_daily_routine_l06_q1", "A", "Potem myję się, najpierw jem śniadanie.", "Потом я умываюсь, сначала я завтракаю.", "Потім я вмиваюся, спочатку я снідаю.", "Then I wash, first I have breakfast.", False, "wrong_translation"), ("a1_daily_routine_l06_q1", "B", "Na końcu myję się i jem śniadanie.", "В конце я умываюсь и завтракаю.", "Наприкінці я вмиваюся і снідаю.", "Finally I wash and have breakfast.", False, "wrong_translation"), ("a1_daily_routine_l06_q1", "C", "Najpierw myję się, potem jem śniadanie.", "Сначала я умываюсь, потом завтракаю.", "Спочатку я вмиваюся, потім снідаю.", "First I wash, then I have breakfast.", True, None), ("a1_daily_routine_l06_q1", "D", "Później myję się, nigdy nie jem śniadania.", "Позже я умываюсь, никогда не завтракаю.", "Пізніше я вмиваюся, ніколи не снідаю.", "Later I wash, I never have breakfast.", False, "wrong_translation"), ("a1_daily_routine_l06_q3", "A", "Najpierw", "Сначала", "Спочатку", "First", True, None), ("a1_daily_routine_l06_q3", "B", "Potem", "Потом", "Потім", "Then", False, "wrong_context"), ("a1_daily_routine_l06_q3", "C", "Później", "Позже", "Пізніше", "Later", False, "wrong_context"), ("a1_daily_routine_l06_q3", "D", "Na końcu", "В конце", "Наприкінці", "Finally", False, "wrong_context"), # L07 ("a1_daily_routine_l07_q1", "A", "poniedziałek", "понедельник", "понеділок", "Monday", False, "wrong_word"), ("a1_daily_routine_l07_q1", "B", "wtorek", "вторник", "вівторок", "Tuesday", False, "wrong_word"), ("a1_daily_routine_l07_q1", "C", "sobota", "суббота", "субота", "Saturday", False, "wrong_word"), ("a1_daily_routine_l07_q1", "D", "niedziela", "воскресенье", "неділя", "Sunday", True, None), ("a1_daily_routine_l07_q3", "A", "sobota", "суббота", "субота", "Saturday", False, "wrong_context"), ("a1_daily_routine_l07_q3", "B", "niedziela", "воскресенье", "неділя", "Sunday", True, None), ("a1_daily_routine_l07_q3", "C", "poniedziałek", "понедельник", "понеділок", "Monday", False, "wrong_context"), ("a1_daily_routine_l07_q3", "D", "wtorek", "вторник", "вівторок", "Tuesday", False, "wrong_context"), # L08 ("a1_daily_routine_l08_q1", "A", "pracę", "работу (вин.)", "роботу (знах.)", "work (acc.)", True, None), ("a1_daily_routine_l08_q1", "B", "praca", "работа (им.)", "робота (наз.)", "work (nom.)", False, "wrong_case"), ("a1_daily_routine_l08_q1", "C", "pracy", "работы (род.)", "роботи (род.)", "work (gen.)", False, "wrong_case"), ("a1_daily_routine_l08_q1", "D", "pracą", "работой (тв.)", "роботою (ор.)", "work (instr.)", False, "wrong_case"), ("a1_daily_routine_l08_q3", "A", "Kończę pracę.", "Я заканчиваю работу.", "Я закінчую роботу.", "I finish work.", False, "wrong_context"), ("a1_daily_routine_l08_q3", "B", "Kończę naukę.", "Я заканчиваю учёбу.", "Я закінчую навчання.", "I finish studying.", False, "wrong_context"), ("a1_daily_routine_l08_q3", "C", "Zaczynam pracę.", "Я начинаю работу.", "Я починаю роботу.", "I start work.", True, None), ("a1_daily_routine_l08_q3", "D", "Zaczynam kolację.", "Я начинаю ужин.", "Я починаю вечерю.", "I start supper.", False, "wrong_context"), # L09 ("a1_daily_routine_l09_q1", "A", "Odpoczywam przed pracą.", "Я отдыхаю перед работой.", "Я відпочиваю перед роботою.", "I rest before work.", False, "wrong_translation"), ("a1_daily_routine_l09_q1", "B", "Odpoczywam po pracy.", "Я отдыхаю после работы.", "Я відпочиваю після роботи.", "I rest after work.", True, None), ("a1_daily_routine_l09_q1", "C", "Pracuję po odpoczynku.", "Я работаю после отдыха.", "Я працюю після відпочинку.", "I work after resting.", False, "wrong_translation"), ("a1_daily_routine_l09_q1", "D", "Nigdy nie odpoczywam.", "Я никогда не отдыхаю.", "Я ніколи не відпочиваю.", "I never rest.", False, "wrong_translation"), ("a1_daily_routine_l09_q3", "A", "Idę spać przed kolacją.", "Я иду спать перед ужином.", "Я йду спати перед вечерею.", "I go to sleep before supper.", False, "wrong_context"), ("a1_daily_routine_l09_q3", "B", "Jem kolację po spaniu.", "Я ужинаю после сна.", "Я вечеряю після сну.", "I have supper after sleeping.", False, "wrong_context"), ("a1_daily_routine_l09_q3", "C", "Myję się po kolacji.", "Я умываюсь после ужина.", "Я вмиваюся після вечері.", "I wash after supper.", False, "wrong_context"), ("a1_daily_routine_l09_q3", "D", "Idę spać po kolacji.", "Я иду спать после ужина.", "Я йду спати після вечері.", "I go to sleep after supper.", True, None), # L10 ("a1_daily_routine_l10_q1", "A", "Wstaję o siódma i myć się.", "Неправильный падеж и форма глагола.", "Неправильний відмінок і форма дієслова.", "Wrong case and verb form.", False, "wrong_case"), ("a1_daily_routine_l10_q1", "B", "Wstaję siódmej i myję się.", "Пропущен предлог „o”.", "Пропущено прийменник „o”.", "Missing preposition „o”.", False, "wrong_sentence_type"), ("a1_daily_routine_l10_q1", "C", "Wstaję o siódmej i myję się.", "Я встаю в семь и умываюсь.", "Я встаю о сьомій і вмиваюся.", "I get up at seven and wash myself.", True, None), ("a1_daily_routine_l10_q1", "D", "Jestem wstaję o siódmej.", "Неправильная конструкция.", "Неправильна конструкція.", "Incorrect construction.", False, "wrong_sentence_type"), ("a1_daily_routine_l10_q3", "A", "Wstaję o siódmej.", "Я встаю в семь.", "Я встаю о сьомій.", "I get up at seven.", True, None), ("a1_daily_routine_l10_q3", "B", "Po pracy odpoczywam.", "После работы я отдыхаю.", "Після роботи я відпочиваю.", "After work I rest.", False, "wrong_context"), ("a1_daily_routine_l10_q3", "C", "Idę spać po kolacji.", "Я иду спать после ужина.", "Я йду спати після вечері.", "I go to sleep after supper.", False, "wrong_context"), ("a1_daily_routine_l10_q3", "D", "Najpierw myję się.", "Сначала я умываюсь.", "Спочатку я вмиваюся.", "First I wash.", False, "wrong_context"), ] for opt in options_t15: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7]) test_questions_t15 = [ ("a1_daily_routine_t01", None, "topic_test", "recognition", "daily_routine_verbs", 1, "Jak po polsku „спать”?", "Как по-польски «спать»?", "Як польською «спати»?", "How do you say “to sleep” in Polish?", "B", None, None, 1), ("a1_daily_routine_t02", None, "topic_test", "recognition", "o_ktorej_godzinie", 1, "Co znaczy „O której godzinie wstajesz?”?", "Что означает «O której godzinie wstajesz?»?", "Що означає «O której godzinie wstajesz?»?", "What does “O której godzinie wstajesz?” mean?", "C", None, None, 2), ("a1_daily_routine_t03", None, "topic_test", "recognition", "czasowniki_zwrotne", 1, "Wybierz poprawną formę: Ja ___ się. (myć)", "Выберите правильную форму: Ja ___ się. (myć)", "Виберіть правильну форму: Ja ___ się. (myć)", "Choose the correct form: Ja ___ się. (myć)", "D", None, None, 3), ("a1_daily_routine_t04", None, "topic_test", "recognition", "posilki_vocabulary", 1, "Jak po polsku „ужин”?", "Как по-польски «ужин»?", "Як польською «вечеря»?", "How do you say “supper” in Polish?", "A", None, None, 4), ("a1_daily_routine_t05", None, "topic_test", "recognition", "wstaje_o", 2, "Wybierz poprawną formę: Wstaję o ___. (siódma)", "Выберите правильную форму: Wstaję o ___. (siódma)", "Виберіть правильну форму: Wstaję o ___. (siódma)", "Choose the correct form: Wstaję o ___. (siódma)", "B", None, None, 5), ("a1_daily_routine_t06", None, "topic_test", "recognition", "przed_po", 3, "Co znaczy „Odpoczywam po pracy”?", "Что означает «Odpoczywam po pracy»?", "Що означає «Odpoczywam po pracy»?", "What does “Odpoczywam po pracy” mean?", "B", None, None, 6), ("a1_daily_routine_t07", None, "topic_test", "application", "daily_routine_verbs", 1, "Jest rano i musisz otworzyć oczy i podnieść się z łóżka. Co robisz?", "Утро, и тебе нужно открыть глаза и подняться с кровати. Что ты делаешь?", "Ранок, і тобі треба розплющити очі та встати з ліжка. Що ти робиш?", "It's morning and you need to open your eyes and get out of bed. What do you do?", "D", None, None, 7), ("a1_daily_routine_t08", None, "topic_test", "application", "o_ktorej_godzinie", 1, "Kolega pyta, kiedy jesz obiad. Jesz o dwunastej. Co powiesz?", "Друг спрашивает, когда ты обедаешь. Ты обедаешь в двенадцать. Что ты скажешь?", "Друг питає, коли ти обідаєш. Ти обідаєш о дванадцятій. Що ти скажеш?", "A friend asks when you have lunch. You have lunch at twelve. What do you say?", "A", None, None, 8), ("a1_daily_routine_t09", None, "topic_test", "application", "czasowniki_zwrotne", 1, "Stoisz przed lustrem i porządkujesz włosy. Co robisz?", "Ты стоишь перед зеркалом и приводишь в порядок волосы. Что ты делаешь?", "Ти стоїш перед дзеркалом і впорядковуєш волосся. Що ти робиш?", "You're standing in front of the mirror fixing your hair. What are you doing?", "B", None, None, 9), ("a1_daily_routine_t10", None, "topic_test", "application", "kolejnosc_czynnosci", 2, "Opisujesz kolejność: robisz coś jako pierwszą czynność dnia. Jakiego słowa użyjesz?", "Ты описываешь порядок: ты делаешь что-то как первое действие дня. Какое слово ты используешь?", "Ти описуєш порядок: ти робиш щось як першу дію дня. Яке слово ти використаєш?", "You're describing an order: you do something as the first action of the day. Which word do you use?", "A", None, None, 10), ("a1_daily_routine_t11", None, "topic_test", "application", "dni_tygodnia", 2, "To ostatni dzień weekendu i odpoczywasz. Jaki to dzień?", "Это последний день выходных, и ты отдыхаешь. Какой это день?", "Це останній день вихідних, і ти відпочиваєш. Який це день?", "It's the last day of the weekend and you're resting. What day is it?", "B", None, None, 11), ("a1_daily_routine_t12", None, "topic_test", "application", "przed_po", 3, "Zjadłeś kolację i teraz chcesz iść spać. Co powiesz?", "Ты поужинал и теперь хочешь идти спать. Что ты скажешь?", "Ти повечеряв і тепер хочеш іти спати. Що ти скажеш?", "You've had supper and now want to go to sleep. What do you say?", "D", None, None, 12), ("a1_daily_routine_t13", None, "topic_test", "production", "daily_routine_verbs", 1, "Wpisz brakujące słowo: ___ śniadanie. (ем)", "Вставьте пропущенное слово: ___ śniadanie. (ем)", "Вставте пропущене слово: ___ śniadanie. (їм)", "Fill in the missing word: ___ śniadanie. (I eat)", "Jem", "first_letter", "J", 13), ("a1_daily_routine_t14", None, "topic_test", "production", "posilki_vocabulary", 1, "Wpisz brakujące słowo: To jest ___. (перекус)", "Вставьте пропущенное слово: To jest ___. (перекус)", "Вставте пропущене слово: To jest ___. (перекус)", "Fill in the missing word: To jest ___. (snack)", "przekąska", "first_letter", "p", 14), ("a1_daily_routine_t15", None, "topic_test", "production", "wstaje_o", 2, "Wpisz brakujące słowo: Kończę pracę ___ szesnastej. (в)", "Вставьте пропущенное слово: Kończę pracę ___ szesnastej. (в)", "Вставте пропущене слово: Kończę pracę ___ szesnastej. (о)", "Fill in the missing word: Kończę pracę ___ szesnastej. (at)", "o", "first_letter", "o", 15), ("a1_daily_routine_t16", None, "topic_test", "production", "kolejnosc_czynnosci", 2, "Wpisz brakujące słowo: ___ idę do pracy. (позже)", "Вставьте пропущенное слово: ___ idę do pracy. (позже)", "Вставте пропущене слово: ___ idę do pracy. (пізніше)", "Fill in the missing word: ___ idę do pracy. (later)", "Później", "first_letter", "P", 16), ("a1_daily_routine_t17", None, "topic_test", "production", "dni_tygodnia", 2, "Wpisz brakujące słowo: W ___ pracuję. (понедельник)", "Вставьте пропущенное слово: W ___ pracuję. (понедельник)", "Вставте пропущене слово: W ___ pracuję. (понеділок)", "Fill in the missing word: W ___ pracuję. (Monday)", "poniedziałek", "first_letter", "p", 17), ("a1_daily_routine_t18", None, "topic_test", "production", "opisuje_dzien", 3, "Przetłumacz: «После работы я отдыхаю».", "Переведите: «После работы я отдыхаю».", "Перекладіть: «Після роботи я відпочиваю».", "Translate: “After work I rest.”", "Po pracy odpoczywam", "first_letter", "P", 18), ("a1_daily_routine_t19", None, "topic_test", "recognition", "opisuje_dzien", 3, "Wybierz poprawne tłumaczenie: «Я встаю в семь, умываюсь и завтракаю в восемь».", "Выберите правильный перевод: «Я встаю в семь, умываюсь и завтракаю в восемь».", "Виберіть правильний переклад: «Я встаю о сьомій, вмиваюся і снідаю о восьмій».", "Choose the correct translation: “I get up at seven, wash myself and have breakfast at eight.”", "C", None, None, 19), ("a1_daily_routine_t20", None, "topic_test", "recognition", "zaczynac_konczyc", 3, "Wybierz poprawne tłumaczenie dialogu: «— Во сколько ты начинаешь работу? — Я начинаю работу в восемь, а заканчиваю в шестнадцать.»", "Выберите правильный перевод диалога: «— Во сколько ты начинаешь работу? — Я начинаю работу в восемь, а заканчиваю в шестнадцать.»", "Виберіть правильний переклад діалогу: «— О котрій годині ти починаєш роботу? — Я починаю роботу о восьмій, а закінчую о шістнадцятій.»", "Choose the correct translation of the dialogue: “— What time do you start work? — I start work at eight and finish at sixteen.”", "D", None, None, 20), ] for q in test_questions_t15: await conn.execute(""" INSERT INTO learning_questions (question_id, lesson_id, topic_id, context_type, question_type, skill_tag, difficulty, prompt_pl, prompt_ru, prompt_uk, prompt_en, correct_answer, hint_type, hint_value, is_test_question, test_order) VALUES ($1, NULL, 'a1_daily_routine', $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, TRUE, $13) ON CONFLICT (question_id) DO NOTHING """, q[0], q[2], q[3], q[4], q[5], q[6], q[7], q[8], q[9], q[10], q[11], q[12], q[13]) test_options_t15 = [ ("a1_daily_routine_t01", "A", "jeść", "есть", "їсти", "to eat", False, "wrong_word"), ("a1_daily_routine_t01", "B", "spać", "спать", "спати", "to sleep", True, None), ("a1_daily_routine_t01", "C", "wstawać", "вставать", "вставати", "to get up", False, "wrong_word"), ("a1_daily_routine_t01", "D", "myć się", "умываться", "вмиватися", "to wash oneself", False, "wrong_word"), ("a1_daily_routine_t02", "A", "Jak się nazywasz?", "Как тебя зовут?", "Як тебе звати?", "What's your name?", False, "wrong_translation"), ("a1_daily_routine_t02", "B", "Gdzie mieszkasz?", "Где ты живёшь?", "Де ти живеш?", "Where do you live?", False, "wrong_translation"), ("a1_daily_routine_t02", "C", "O której godzinie wstajesz?", "Во сколько ты встаёшь?", "О котрій годині ти встаєш?", "What time do you get up?", True, None), ("a1_daily_routine_t02", "D", "Co robisz wieczorem?", "Что ты делаешь вечером?", "Що ти робиш увечері?", "What do you do in the evening?", False, "wrong_translation"), ("a1_daily_routine_t03", "A", "myjesz", "умываешься", "вмиваєшся", "wash (you)", False, "wrong_word"), ("a1_daily_routine_t03", "B", "myje", "умывается", "вмивається", "washes", False, "wrong_word"), ("a1_daily_routine_t03", "C", "myć", "умываться (инф.)", "вмиватися (інф.)", "to wash", False, "wrong_word"), ("a1_daily_routine_t03", "D", "myję", "умываюсь", "вмиваюся", "wash (I)", True, None), ("a1_daily_routine_t04", "A", "kolacja", "ужин", "вечеря", "supper", True, None), ("a1_daily_routine_t04", "B", "śniadanie", "завтрак", "сніданок", "breakfast", False, "wrong_word"), ("a1_daily_routine_t04", "C", "obiad", "обед", "обід", "lunch", False, "wrong_word"), ("a1_daily_routine_t04", "D", "przekąska", "перекус", "перекус", "snack", False, "wrong_word"), ("a1_daily_routine_t05", "A", "siódma", "семь (им.)", "сьома (наз.)", "seven (nom.)", False, "wrong_case"), ("a1_daily_routine_t05", "B", "siódmej", "семь (после „o”)", "сьомій (після „o”)", "seven (after „o”)", True, None), ("a1_daily_routine_t05", "C", "siódmą", "семь (вин.)", "сьому (знах.)", "seven (acc.)", False, "wrong_case"), ("a1_daily_routine_t05", "D", "siódmy", "неправильная форма рода", "неправильна форма роду", "wrong gender form", False, "wrong_gender"), ("a1_daily_routine_t06", "A", "Odpoczywam przed pracą.", "Я отдыхаю перед работой.", "Я відпочиваю перед роботою.", "I rest before work.", False, "wrong_translation"), ("a1_daily_routine_t06", "B", "Odpoczywam po pracy.", "Я отдыхаю после работы.", "Я відпочиваю після роботи.", "I rest after work.", True, None), ("a1_daily_routine_t06", "C", "Pracuję po odpoczynku.", "Я работаю после отдыха.", "Я працюю після відпочинку.", "I work after resting.", False, "wrong_translation"), ("a1_daily_routine_t06", "D", "Nigdy nie odpoczywam.", "Я никогда не отдыхаю.", "Я ніколи не відпочиваю.", "I never rest.", False, "wrong_translation"), ("a1_daily_routine_t07", "A", "jem", "я ем", "я їм", "I eat", False, "wrong_context"), ("a1_daily_routine_t07", "B", "śpię", "я сплю", "я сплю", "I sleep", False, "wrong_context"), ("a1_daily_routine_t07", "C", "myję się", "я умываюсь", "я вмиваюся", "I wash myself", False, "wrong_context"), ("a1_daily_routine_t07", "D", "wstaję", "я встаю", "я встаю", "I get up", True, None), ("a1_daily_routine_t08", "A", "Jem obiad o dwunastej.", "Я обедаю в двенадцать.", "Я обідаю о дванадцятій.", "I have lunch at twelve.", True, None), ("a1_daily_routine_t08", "B", "Jem śniadanie o dwunastej.", "Я завтракаю в двенадцать.", "Я снідаю о дванадцятій.", "I have breakfast at twelve.", False, "wrong_context"), ("a1_daily_routine_t08", "C", "Wstaję o dwunastej.", "Я встаю в двенадцать.", "Я встаю о дванадцятій.", "I get up at twelve.", False, "wrong_context"), ("a1_daily_routine_t08", "D", "Kończę pracę o dwunastej.", "Я заканчиваю работу в двенадцать.", "Я закінчую роботу о дванадцятій.", "I finish work at twelve.", False, "wrong_context"), ("a1_daily_routine_t09", "A", "myjesz się", "умываешься", "вмиваєшся", "you're washing", False, "wrong_context"), ("a1_daily_routine_t09", "B", "czeszesz się", "причёсываешься", "розчісуєшся", "you're combing your hair", True, None), ("a1_daily_routine_t09", "C", "ubierasz się", "одеваешься", "одягаєшся", "you're getting dressed", False, "wrong_context"), ("a1_daily_routine_t09", "D", "jesz śniadanie", "завтракаешь", "снідаєш", "you're having breakfast", False, "wrong_context"), ("a1_daily_routine_t10", "A", "Najpierw", "Сначала", "Спочатку", "First", True, None), ("a1_daily_routine_t10", "B", "Potem", "Потом", "Потім", "Then", False, "wrong_context"), ("a1_daily_routine_t10", "C", "Później", "Позже", "Пізніше", "Later", False, "wrong_context"), ("a1_daily_routine_t10", "D", "Na końcu", "В конце", "Наприкінці", "Finally", False, "wrong_context"), ("a1_daily_routine_t11", "A", "sobota", "суббота", "субота", "Saturday", False, "wrong_context"), ("a1_daily_routine_t11", "B", "niedziela", "воскресенье", "неділя", "Sunday", True, None), ("a1_daily_routine_t11", "C", "poniedziałek", "понедельник", "понеділок", "Monday", False, "wrong_context"), ("a1_daily_routine_t11", "D", "wtorek", "вторник", "вівторок", "Tuesday", False, "wrong_context"), ("a1_daily_routine_t12", "A", "Idę spać przed kolacją.", "Я иду спать перед ужином.", "Я йду спати перед вечерею.", "I go to sleep before supper.", False, "wrong_context"), ("a1_daily_routine_t12", "B", "Jem kolację po spaniu.", "Я ужинаю после сна.", "Я вечеряю після сну.", "I have supper after sleeping.", False, "wrong_context"), ("a1_daily_routine_t12", "C", "Myję się po kolacji.", "Я умываюсь после ужина.", "Я вмиваюся після вечері.", "I wash after supper.", False, "wrong_context"), ("a1_daily_routine_t12", "D", "Idę spać po kolacji.", "Я иду спать после ужина.", "Я йду спати після вечері.", "I go to sleep after supper.", True, None), ("a1_daily_routine_t19", "A", "Wstaję o ósmej, myję się i jem śniadanie o siódmej.", "Время перепутано местами.", "Час переплутано місцями.", "The times are swapped.", False, "wrong_context"), ("a1_daily_routine_t19", "B", "Wstałem o siódmej, umyłem się i zjadłem śniadanie o ósmej.", "Неправильное время (прошедшее вместо настоящего).", "Неправильний час (минулий замість теперішнього).", "Wrong tense (past instead of present).", False, "wrong_sentence_type"), ("a1_daily_routine_t19", "C", "Wstaję o siódmej, myję się i jem śniadanie o ósmej.", "Я встаю в семь, умываюсь и завтракаю в восемь.", "Я встаю о сьомій, вмиваюся і снідаю о восьмій.", "I get up at seven, wash myself and have breakfast at eight.", True, None), ("a1_daily_routine_t19", "D", "Wstaję o siódmej, ubieram się i jem obiad o ósmej.", "Неправильный глагол и приём пищи (одеваюсь/обедаю вместо умываюсь/завтракаю).", "Неправильне дієслово і прийом їжі (одягаюся/обідаю замість вмиваюся/снідаю).", "Wrong verb and meal (getting dressed/lunch instead of washing/breakfast).", False, "wrong_word"), ("a1_daily_routine_t20", "A", "Kiedy skończysz pracę? — Zaczynam pracę o ósmej, a kończę o szesnastej.", "Неправильный вопрос («когда закончишь» вместо «во сколько начинаешь»).", "Неправильне питання («коли закінчиш» замість «о котрій починаєш»).", "Wrong question (“when will you finish” instead of “what time do you start”).", False, "wrong_translation"), ("a1_daily_routine_t20", "B", "O której godzinie zaczynasz pracę? — Kończę pracę o ósmej, a zaczynam o szesnastej.", "Глаголы «начинаю» и «заканчиваю» перепутаны местами в ответе.", "Дієслова «починаю» і «закінчую» переплутані місцями у відповіді.", "The verbs “start” and “finish” are swapped in the answer.", False, "wrong_context"), ("a1_daily_routine_t20", "C", "O której godzinie zaczynasz naukę? — Zaczynam pracę o ósmej, a kończę o szesnastej.", "Несоответствие: вопрос про учёбу, ответ про работу.", "Невідповідність: питання про навчання, відповідь про роботу.", "Mismatch: the question is about studying, the answer about work.", False, "wrong_word"), ("a1_daily_routine_t20", "D", "O której godzinie zaczynasz pracę? — Zaczynam pracę o ósmej, a kończę o szesnastej.", "Во сколько ты начинаешь работу? — Я начинаю работу в восемь, а заканчиваю в шестнадцать.", "О котрій годині ти починаєш роботу? — Я починаю роботу о восьмій, а закінчую о шістнадцятій.", "What time do you start work? — I start work at eight and finish at sixteen.", True, None), ] for opt in test_options_t15: await conn.execute(""" INSERT INTO question_options (question_id, option_key, text_pl, text_ru, text_uk, text_en, is_correct, wrong_because) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (question_id, option_key) DO NOTHING """, opt[0], opt[1], opt[2], opt[3], opt[4], opt[5], opt[6], opt[7])