Spaces:
Runtime error
Runtime error
from langdetect import detect | |
from deep_translator import GoogleTranslator | |
from textblob import TextBlob | |
def detect_language(text): | |
try: | |
return detect(text) | |
except: | |
return "unknown" | |
def translate_to_english(text, src_lang): | |
if src_lang == "en": | |
return text | |
try: | |
return GoogleTranslator(source=src_lang, target="en").translate(text) | |
except: | |
return text | |
def estimate_cefr_ilr(text): | |
blob = TextBlob(text) | |
word_count = len(blob.words) | |
sentence_count = len(blob.sentences) | |
justification = f"Detected {word_count} words and {sentence_count} sentences." | |
if word_count < 50: | |
level = "A1 / ILR 0+" | |
elif word_count < 100: | |
level = "A2 / ILR 1" | |
elif word_count < 200: | |
level = "B1 / ILR 2" | |
elif word_count < 300: | |
level = "B2 / ILR 2+" | |
elif word_count < 500: | |
level = "C1 / ILR 3" | |
else: | |
level = "C2 / ILR 4-5" | |
return level, justification | |