first commit
This commit is contained in:
parent
5c5d88c92f
commit
eb4f62c56d
41 changed files with 3851 additions and 19 deletions
36
docker_svc/agent/app/libs/manage_languages.py
Normal file
36
docker_svc/agent/app/libs/manage_languages.py
Normal file
|
@ -0,0 +1,36 @@
|
|||
# libs/manage_languages.py
|
||||
|
||||
from langdetect import detect
|
||||
from fastapi import HTTPException
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
def validate_language(language: str) -> None:
|
||||
"""Validate the language parameter. Throws an HTTPException if the language is invalid."""
|
||||
valid_languages = {"french", "italian", "english", "german", "auto"}
|
||||
if language not in valid_languages:
|
||||
raise HTTPException(
|
||||
status_code=400,
|
||||
detail="Invalid language. Must be one of: french, italian, english, german, or auto"
|
||||
)
|
||||
|
||||
def detect_language(current_message: str) -> str:
|
||||
"""Detect the language of the current message. Defaults to French if detection fails."""
|
||||
try:
|
||||
detected_lang = detect(current_message)
|
||||
if detected_lang == "fr":
|
||||
language = "french"
|
||||
elif detected_lang == "it":
|
||||
language = "italian"
|
||||
elif detected_lang == "en":
|
||||
language = "english"
|
||||
elif detected_lang == "de":
|
||||
language = "german"
|
||||
else:
|
||||
language = "french"
|
||||
logger.info(f"Detected language: {language}")
|
||||
return language
|
||||
except Exception as e:
|
||||
logger.error(f"Language detection failed: {str(e)}")
|
||||
return "french"
|
Loading…
Add table
Add a link
Reference in a new issue