File size: 1,081 Bytes
3113b5f
9fc9ec2
 
3113b5f
 
 
9fc9ec2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3113b5f
edf4cee
9fc9ec2
 
edf4cee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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