evo-gov-copilot-mu / utils_lang.py
HemanM's picture
Update utils_lang.py
6da249d verified
"""
utils_lang.py
Step 5/6: Language helpers for EN / FR / Kreol Morisien (MFE).
"""
from typing import Dict
SUPPORTED = {
"en": "English",
"fr": "Français",
"mfe": "Kreol Morisien",
}
def normalize_lang(code: str) -> str:
return code if code in SUPPORTED else "en"
_STRINGS: Dict[str, Dict[str, str]] = {
"en": {
"title": "Evo Government Copilot (Mauritius)",
"ask_placeholder": "e.g., How do I renew my Mauritius passport?",
"ask_label": "Your question",
"k_label": "Context depth (top-k)",
"build_btn": "🔧 Build/Refresh Index (TXT)",
"status_idle": "Status: _idle_",
"intro_ok": "Answer (grounded in retrieved sources):",
"intro_err": "I couldn’t find enough information. Try rephrasing or add official documents.",
"sources": "Sources",
"links": "Official links",
"forms": "Forms",
"tip_build": "Tip: Click 'Build/Refresh Index' first.",
},
"fr": {
"title": "Copilote Gouvernemental Evo (Maurice)",
"ask_placeholder": "ex. Comment puis-je renouveler mon passeport mauricien ?",
"ask_label": "Votre question",
"k_label": "Profondeur du contexte (top-k)",
"build_btn": "🔧 Construire/Actualiser l’index (TXT)",
"status_idle": "Statut : _inactif_",
"intro_ok": "Réponse (fondée sur les sources récupérées) :",
"intro_err": "Je n’ai pas trouvé assez d’informations. Reformulez ou ajoutez des documents officiels.",
"sources": "Sources",
"links": "Liens officiels",
"forms": "Formulaires",
"tip_build": "Astuce : cliquez d’abord sur « Construire/Actualiser l’index ».",
},
"mfe": {
"title": "Evo Gouv Copilot (Morisi)",
"ask_placeholder": "eg. Kouma mo kapav renouvle mo paspor Morisien?",
"ask_label": "To kestyon",
"k_label": "Profonder konteks (top-k)",
"build_btn": "🔧 Bati/Rafresir Index (TXT)",
"status_idle": "Sta: _repoze_",
"intro_ok": "Repons (lor sours ki finn gagne):",
"intro_err": "Pena ase informasion. Esay rephrase ouswa azout dokiman ofisiel.",
"sources": "Sours",
"links": "Lyen ofisiel",
"forms": "Formiler",
"tip_build": "Tip: Klik « Bati/Rafresir Index » avan.",
},
}
def L(lang: str, key: str) -> str:
lang = normalize_lang(lang)
if key in _STRINGS.get(lang, {}):
return _STRINGS[lang][key]
return _STRINGS["en"].get(key, key)