import gradio as gr from utils.helpers import load_content from .translation_model import TranslationModel def beginner_component(): content = load_content() translator = TranslationModel() def check_answer(question, user_answer): if not user_answer.strip(): return "Please enter an answer" # Translate user's answer to English translation = translator.translate(user_answer.lower(), "af", "en") # Get expected answer expected = content["vocabulary"]["beginner"].get(question, "") # Translate expected answer to English for comparison expected_translation = translator.translate(expected, "af", "en") if translation.lower().strip() == expected_translation.lower().strip(): return f"Correct! ✓ '{user_answer}' means '{translation}'" else: return f"Not quite. '{user_answer}' means '{translation}'. The correct answer is '{expected}'" with gr.Column() as beginner: pass return beginner