57 lines
4.5 KiB
JavaScript
57 lines
4.5 KiB
JavaScript
/**
|
|
* i18n: Translation manager for Curio WhatsApp Bot.
|
|
* Supports English (en), Hindi (hi), and Telugu (te).
|
|
*/
|
|
|
|
const translations = {
|
|
en: {
|
|
welcome: "Welcome to Dr. Sharma's Clinic! 🏥 I can help you book a token or check your status.\n\nWould you like to:",
|
|
book: "Book for Today",
|
|
check: "Check Queue Status",
|
|
tips: "Daily Health Tips",
|
|
select_slot: "Great! Please select your preferred time slot:",
|
|
triage_ask: "✅ Confirmed! Your token is *{{token}}*.\n\nTo help Dr. Sharma prepare, could you briefly describe your symptoms?",
|
|
triage_done: "Got it. I've shared these details with Dr. Sharma. See you soon! 🏥",
|
|
status_update: "Current Status: \n📍 Doctor is seeing: #{{current}}\n⏳ Your position: #{{pos}}\n🚀 Estimated wait: {{wait}} mins."
|
|
},
|
|
hi: {
|
|
welcome: "डॉ. शर्मा के क्लिनिक में आपका स्वागत है! 🏥 मैं टोकन बुक करने या आपकी स्थिति की जांच करने में आपकी मदद कर सकता हूँ।\n\nक्या आप चाहेंगे:",
|
|
book: "आज के लिए बुक करें",
|
|
check: "कतार की स्थिति जांचें",
|
|
tips: "स्वास्थ्य युक्तियाँ",
|
|
select_slot: "बहुत बढ़िया! कृपया अपना पसंदीदा समय स्लॉट चुनें:",
|
|
triage_ask: "✅ पुष्टि हो गई! आपका टोकन *{{token}}* है।\n\nडॉ. शर्मा को तैयारी में मदद करने के लिए, क्या आप अपने लक्षणों का संक्षेप में वर्णन कर सकते हैं?",
|
|
triage_done: "समझ गया। मैंने ये विवरण डॉ. शर्मा के साथ साझा कर दिए हैं। जल्द मिलते हैं! 🏥",
|
|
status_update: "वर्तमान स्थिति: \n📍 डॉक्टर देख रहे हैं: #{{current}}\n⏳ आपकी स्थिति: #{{pos}}\n🚀 अनुमानित प्रतीक्षा: {{wait}} मिनट।"
|
|
},
|
|
te: {
|
|
welcome: "డాక్టర్ శర్మ క్లినిక్కి స్వాగతం! 🏥 టోకెన్ బుక్ చేసుకోవడంలో లేదా మీ స్థితిని తనిఖీ చేయడంలో నేను మీకు సహాయపడగలను.\n\nమీరు వీటిని చేయాలనుకుంటున్నారా:",
|
|
book: "ఈరోజు కోసం బుక్ చేయండి",
|
|
check: "క్యూ స్థితిని తనిఖీ చేయండి",
|
|
tips: "ఆరోగ్య చిట్కాలు",
|
|
select_slot: "అద్భుతం! దయచేసి మీకు నచ్చిన సమయాన్ని ఎంచుకోండి:",
|
|
triage_ask: "✅ ధృవీకరించబడింది! మీ టోకెన్ *{{token}}*.\n\nడాక్టర్ శర్మ సిద్ధం కావడానికి సహాయపడటానికి, మీరు మీ లక్షణాలను క్లుప్తంగా వివరించగలరా?",
|
|
triage_done: "అర్థమైంది. నేను ఈ వివరాలను డాక్టర్ శర్మతో పంచుకున్నాను. త్వరలో కలుద్దాం! 🏥",
|
|
status_update: "ప్రస్తుత స్థితి: \n📍 డాక్టర్ చూస్తున్నారు: #{{current}}\n⏳ మీ స్థానం: #{{pos}}\n🚀 అంచనా వేచి ఉండే సమయం: {{wait}} నిమిషాలు."
|
|
}
|
|
};
|
|
|
|
class I18nManager {
|
|
t(lang, key, params = {}) {
|
|
let text = translations[lang] ? translations[lang][key] : translations['en'][key];
|
|
|
|
for (const [pKey, pVal] of Object.entries(params)) {
|
|
text = text.replace(`{{${pKey}}}`, pVal);
|
|
}
|
|
|
|
return text;
|
|
}
|
|
|
|
getButtons(lang) {
|
|
const t = translations[lang] || translations['en'];
|
|
return [t.book, t.check, t.tips];
|
|
}
|
|
}
|
|
|
|
module.exports = new I18nManager();
|