chotam's picture
Deploy fraud detector API
a783939
raw
history blame contribute delete
424 Bytes
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"