Spaces:
Sleeping
Sleeping
Add language support checks and fallback responses for unsupported languages
Browse files
app.py
CHANGED
|
@@ -207,6 +207,12 @@ def post_process_response(user_message, bot_response):
|
|
| 207 |
user_lang = detect_language(user_message)
|
| 208 |
bot_lang = detect_language(bot_response)
|
| 209 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 210 |
if user_lang != bot_lang and len(bot_response.strip()) > 20:
|
| 211 |
logger.warning(f"Language mismatch detected! User: {user_lang}, Bot: {bot_lang}")
|
| 212 |
|
|
@@ -218,6 +224,10 @@ def post_process_response(user_message, bot_response):
|
|
| 218 |
return translated_response
|
| 219 |
else:
|
| 220 |
logger.error(f"Translation failed: got {translated_lang} instead of {user_lang}")
|
|
|
|
|
|
|
|
|
|
|
|
|
| 221 |
|
| 222 |
return bot_response
|
| 223 |
|
|
|
|
| 207 |
user_lang = detect_language(user_message)
|
| 208 |
bot_lang = detect_language(bot_response)
|
| 209 |
|
| 210 |
+
# Check if user language is supported using LanguageUtils
|
| 211 |
+
if user_lang not in LanguageUtils.SUPPORTED_LANGUAGES:
|
| 212 |
+
apology = ("I apologize, but I cannot respond in your language. "
|
| 213 |
+
"I will answer in English instead.\n\n")
|
| 214 |
+
return apology + bot_response
|
| 215 |
+
|
| 216 |
if user_lang != bot_lang and len(bot_response.strip()) > 20:
|
| 217 |
logger.warning(f"Language mismatch detected! User: {user_lang}, Bot: {bot_lang}")
|
| 218 |
|
|
|
|
| 224 |
return translated_response
|
| 225 |
else:
|
| 226 |
logger.error(f"Translation failed: got {translated_lang} instead of {user_lang}")
|
| 227 |
+
# If translation fails, return English response with apology
|
| 228 |
+
apology = ("I apologize, but I cannot translate my response to your language. "
|
| 229 |
+
"Here is my answer in English:\n\n")
|
| 230 |
+
return apology + bot_response
|
| 231 |
|
| 232 |
return bot_response
|
| 233 |
|