UNPKG

@iotauz/ai-chat

Version:

A customizable React chatbot component for IOTA SDK

292 lines (250 loc) 12.4 kB
export interface Translations { // Header chatbotTitle: string chatbotSubtitle: string // Welcome message welcomeGreeting: string welcomeMessage: string phoneRequestMessage: string // Input placeholders phoneInputPlaceholder: string phoneInputLabel: string messageInputPlaceholder: string // Buttons sendButton: string callbackRequestButton: string // Quick replies extendPolicyQuestion: string findContractNumberQuestion: string submitClaimQuestion: string // Callback modal callbackModalTitle: string callbackModalSubtitle: string callbackPhoneInputLabel: string dataPrivacyMessage: string dataProcessingConsent: string backButton: string requestCallButton: string // Messages callbackConfirmation: string errorLoadingMessages: string errorCreatingChat: string errorSendingMessage: string threadNotFoundMessage: string // Date formatting months: string[] } export const ru: Translations = { // Header chatbotTitle: 'Ai chat bot', chatbotSubtitle: 'Наш AI-бот готов помочь вам круглосуточно', // Welcome message welcomeGreeting: 'Привет! 👋', welcomeMessage: 'Я Али, ваш виртуальный помощник от Euroasia Insurance. Готов помочь разобраться в мире страхования, подобрать нужный полис или ответить на любые ваши вопросы. Спрашивайте, не стесняйтесь! Чем могу быть полезен сегодня?', phoneRequestMessage: 'Чтобы начать, пожалуйста, введите свой номер телефона — мы используем его для связи и сохранения истории обращений.', // Input placeholders phoneInputPlaceholder: '+ 998 (__) ___ __ __', phoneInputLabel: 'Введите ваш номер телефона', messageInputPlaceholder: 'Ваш запрос', // Buttons sendButton: 'Отправить', callbackRequestButton: 'Запрос обратного звонка', // Quick replies extendPolicyQuestion: 'Как продлить полис?', findContractNumberQuestion: 'Где найти номер договора?', submitClaimQuestion: 'Как подать заявление на страховой случай?', // Callback modal callbackModalTitle: 'Закажите обратный звонок', callbackModalSubtitle: 'Оставьте свой номер телефона, и наш специалист свяжется с вами в ближайшее время', callbackPhoneInputLabel: 'Введите номер телефона', dataPrivacyMessage: 'Мы не передаём ваши данные третьим лицам', dataProcessingConsent: 'Согласен(а) с обработкой персональных данных', backButton: 'Назад', requestCallButton: 'Заказать звонок', // Messages callbackConfirmation: 'Спасибо за запрос! Наш специалист свяжется с вами по номеру {phone} в ближайшее время.', errorLoadingMessages: 'Не удалось загрузить историю сообщений. Пожалуйста, попробуйте еще раз позже.', errorCreatingChat: 'Произошла ошибка при создании чата. Пожалуйста, попробуйте еще раз позже.', errorSendingMessage: 'Извините, произошла ошибка при отправке сообщения. Пожалуйста, попробуйте еще раз позже.', threadNotFoundMessage: 'Ваш чат был завершен или не найден. Начинаем новый чат.', // Date formatting months: [ 'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь', ], }; export const oz: Translations = { // Header chatbotTitle: 'AI suhbat boti', chatbotSubtitle: 'Bizning AI-botimiz sizga 24/7 yordam berishga tayyor', // Welcome message welcomeGreeting: 'Assalomu alaykum! 👋', welcomeMessage: "Men Ali, Euroasia Insurance'dan sizning virtual yordamchingizman. Sug'urta olamida yo'l ko'rsatish, kerakli polisni tanlash yoki har qanday savollaringizga javob berishga tayyorman. Bemalol murojaat qiling! Bugun sizga qanday yordam bera olaman?", phoneRequestMessage: 'Boshlash uchun, iltimos, telefon raqamingizni kiriting — biz undan aloqa va murojaat tarixini saqlash uchun foydalanamiz.', // Input placeholders phoneInputPlaceholder: '+ 998 (__) ___ __ __', phoneInputLabel: 'Telefon raqamingizni kiriting', messageInputPlaceholder: 'Sizning so\'rovingiz', // Buttons sendButton: 'Yuborish', callbackRequestButton: "Qayta qo'ng'iroq so'rovi", // Quick replies extendPolicyQuestion: 'Polisni qanday uzaytirish mumkin?', findContractNumberQuestion: 'Shartnoma raqamini qayerdan topish mumkin?', submitClaimQuestion: "Sug'urta hodisasi bo'yicha arizani qanday topshirish kerak?", // Callback modal callbackModalTitle: "Qayta qo'ng'iroq buyurtma qiling", callbackModalSubtitle: "Telefon raqamingizni qoldiring, va bizning mutaxassisimiz siz bilan yaqin vaqt ichida bog'lanadi", callbackPhoneInputLabel: 'Telefon raqamini kiriting', dataPrivacyMessage: "Biz sizning ma'lumotlaringizni uchinchi shaxslarga bermaydi", dataProcessingConsent: "Shaxsiy ma'lumotlarni qayta ishlashga roziman", backButton: 'Orqaga', requestCallButton: "Qo'ng'iroq buyurtma qilish", // Messages callbackConfirmation: "So'rov uchun rahmat! Mutaxassisimiz {phone} raqami orqali siz bilan yaqin vaqt ichida bog'lanadi.", errorLoadingMessages: "Xabarlar tarixini yuklab bo'lmadi. Iltimos, keyinroq qayta urinib ko'ring.", errorCreatingChat: "Chat yaratishda xatolik yuz berdi. Iltimos, keyinroq qayta urinib ko'ring.", errorSendingMessage: "Kechirasiz, xabar yuborishda xatolik yuz berdi. Iltimos, keyinroq qayta urinib ko'ring.", threadNotFoundMessage: 'Sizning chatingiz tugatilgan yoki topilmadi. Yangi chat boshlaymiz.', // Date formatting months: [ 'Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'Iyun', 'Iyul', 'Avgust', 'Sentabr', 'Oktabr', 'Noyabr', 'Dekabr', ], }; export const uz: Translations = { // Header chatbotTitle: 'AI суҳбат боти', chatbotSubtitle: 'Бизнинг AI-ботимиз сизга 24/7 ёрдам беришга тайёр', // Welcome message welcomeGreeting: 'Ассалому алайкум! 👋', welcomeMessage: 'Мен Али, Euroasia Insurance\'дан сизнинг виртуал ёрдамчингизман. Суғурта оламида йўл кўрсатиш, керакли полисни танлаш ёки ҳар қандай саволларингизга жавоб беришга тайёрман. Бемалол мурожаат қилинг! Бугун сизга қандай ёрдам бера оламан?', phoneRequestMessage: 'Бошлаш учун, илтимос, телефон рақамингизни киритинг — биз ундан алоқа ва мурожаат тарихини сақлаш учун фойдаланамиз.', // Input placeholders phoneInputPlaceholder: '+ 998 (__) ___ __ __', phoneInputLabel: 'Телефон рақамингизни киритинг', messageInputPlaceholder: 'Сизнинг сўровингиз', // Buttons sendButton: 'Юбориш', callbackRequestButton: 'Қайта қўнғироқ сўрови', // Quick replies extendPolicyQuestion: 'Полисни қандай узайтириш мумкин?', findContractNumberQuestion: 'Шартнома рақамини қаердан топиш мумкин?', submitClaimQuestion: 'Суғурта ҳодисаси бўйича аризани қандай топшириш керак?', // Callback modal callbackModalTitle: 'Қайта қўнғироқ буюртма қилинг', callbackModalSubtitle: 'Телефон рақамингизни қолдиринг, ва бизнинг мутахассисимиз сиз билан яқин вақт ичида боғланади', callbackPhoneInputLabel: 'Телефон рақамини киритинг', dataPrivacyMessage: 'Биз сизнинг маълумотларингизни учинчи шахсларга бермайди', dataProcessingConsent: 'Шахсий маълумотларни қайта ишлашга розиман', backButton: 'Орқага', requestCallButton: 'Қўнғироқ буюртма қилиш', // Messages callbackConfirmation: 'Сўров учун раҳмат! Мутахассисимиз {phone} рақами орқали сиз билан яқин вақт ичида боғланади.', errorLoadingMessages: 'Хабарлар тарихини юклаб бўлмади. Илтимос, кейинроқ қайта уриниб кўринг.', errorCreatingChat: 'Чат яратишда хатолик юз берди. Илтимос, кейинроқ қайта уриниб кўринг.', errorSendingMessage: 'Кечирасиз, хабар юборишда хатолик юз берди. Илтимос, кейинроқ қайта уриниб кўринг.', threadNotFoundMessage: 'Сизнинг чатингиз тугатилган ёки топилмади. Янги чат бошлаймиз.', // Date formatting months: [ 'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь', ], }; export const en: Translations = { // Header chatbotTitle: 'AI chat bot', chatbotSubtitle: 'Our AI bot is ready to help you 24/7', // Welcome message welcomeGreeting: 'Hi there! 👋', welcomeMessage: "I'm Ally, your virtual assistant from Euroasia Insurance. I'm ready to help you navigate the world of insurance, pick the right policy, or answer any questions you have. Feel free to ask! How can I help you today?", phoneRequestMessage: 'To get started, please enter your phone number — we use it for communication and to save your request history.', // Input placeholders phoneInputPlaceholder: '+ 998 (__) ___ __ __', phoneInputLabel: 'Enter your phone number', messageInputPlaceholder: 'Your request', // Buttons sendButton: 'Send', callbackRequestButton: 'Request a callback', // Quick replies extendPolicyQuestion: 'How to extend my policy?', findContractNumberQuestion: 'Where to find my contract number?', submitClaimQuestion: 'How to submit an insurance claim?', // Callback modal callbackModalTitle: 'Request a callback', callbackModalSubtitle: 'Leave your phone number, and our specialist will contact you shortly', callbackPhoneInputLabel: 'Enter phone number', dataPrivacyMessage: "We don't share your data with third parties", dataProcessingConsent: 'I agree to the processing of personal data', backButton: 'Back', requestCallButton: 'Request call', // Messages callbackConfirmation: 'Thank you for your request! Our specialist will contact you at {phone} shortly.', errorLoadingMessages: 'Failed to load message history. Please try again later.', errorCreatingChat: 'An error occurred while creating the chat. Please try again later.', errorSendingMessage: 'Sorry, an error occurred while sending the message. Please try again later.', threadNotFoundMessage: 'Your chat has been ended or not found. Starting a new chat.', // Date formatting months: [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', ], }; export const translations: Record<string, Translations> = { ru, oz, uz, en, }; export function getTranslations(locale: string): Translations { return translations[locale] || en; }