Avoid Russian lock during name capture

This commit is contained in:
Konturai DevOps
2026-05-02 02:22:52 +05:00
parent 1dfed913db
commit 2cadbdac8b
+19 -2
View File
@@ -304,6 +304,19 @@ def _detect_preferred_session_language(text: str) -> str | None:
return None return None
def _detect_name_collection_language(text: str) -> str | None:
normalized = str(text or "").strip().lower()
if not normalized:
return None
preferred_language = _detect_preferred_session_language(normalized)
if preferred_language:
return preferred_language
if any(ch in _KAZAKH_SPECIFIC_LETTERS for ch in normalized):
return "kk"
return None
def _detect_session_language(text: str) -> str | None: def _detect_session_language(text: str) -> str | None:
normalized = str(text or "").strip().lower() normalized = str(text or "").strip().lower()
if not normalized: if not normalized:
@@ -1375,7 +1388,11 @@ class CallSession:
self._active_user_transcript = transcript self._active_user_transcript = transcript
if self._session_language is None: if self._session_language is None:
detected_language = _detect_session_language(transcript) detected_language = (
_detect_name_collection_language(transcript)
if self._awaiting_customer_name
else _detect_session_language(transcript)
)
if detected_language: if detected_language:
self._session_language = detected_language self._session_language = detected_language
LOGGER.info( LOGGER.info(
@@ -1738,7 +1755,7 @@ class CallSession:
if not self._awaiting_customer_name: if not self._awaiting_customer_name:
return None return None
if self._session_language is None: if self._session_language is None:
detected_language = _detect_session_language(transcript) detected_language = _detect_name_collection_language(transcript)
if detected_language: if detected_language:
self._session_language = detected_language self._session_language = detected_language
LOGGER.info( LOGGER.info(