Spaces:
Running
Running
| from __future__ import annotations | |
| from langdetect import DetectorFactory, LangDetectException, detect | |
| DetectorFactory.seed = 0 | |
| class LanguageDetector: | |
| def __init__(self, min_confidence: float = 0.5) -> None: | |
| self.min_confidence = min_confidence | |
| def detect(self, text: str) -> dict[str, str | bool]: | |
| try: | |
| lang = detect(text) | |
| except LangDetectException: | |
| lang = "en" | |
| return { | |
| "language": lang, | |
| "is_english": lang == "en", | |
| "needs_translation": lang != "en", | |
| } | |
| def detect_batch(self, texts: list[str]) -> list[dict[str, str | bool]]: | |
| return [self.detect(t) for t in texts] | |