from ..schemas import Lang _KZ_ONLY = set("әғқңөұүһі") _CYR_RANGE = (ord("а"), ord("я")) def detect_language(text: str, hint: Lang | None = None) -> Lang: if hint in ("ru", "kk"): return hint t = text.lower() if any(c in _KZ_ONLY for c in t): return "kk" for c in t: if _CYR_RANGE[0] <= ord(c) <= _CYR_RANGE[1] or c == "ё": return "ru" return "unknown"