feat: email workflow templates translation (#20674)
* Add translations in respective files * implement multilingual support for email templates * fix: indentation in common.js & typos in common.js and update.handler.ts
This commit is contained in:
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "الحجوزات الأكثر إلغاءً",
|
||||
"name_or_email": "الاسم أو البريد الإلكتروني",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "إذا لم يتم العثور على جهة اتصال، يتم الرجوع إلى مالك العميل المحتمل إذا كان موجودًا",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ أضف السلاسل الجديدة أعلاه هنا ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ أضف السلاسل الجديدة أعلاه هنا ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "التاريخ والوقت",
|
||||
"email_reminder_upcoming_event_notice" : "هذا تذكير بالحدث القادم.",
|
||||
"email_reminder_triggered_by_workflow" : "تم تشغيل هذا التذكير بواسطة سير العمل في Cal.",
|
||||
"event_upper_case": "حدث",
|
||||
"scheduling_by": "جدولة بواسطة",
|
||||
"experience_review_prompt": "كيف كانت تجربتك الأخيرة؟",
|
||||
"improve_customer_experience_message": "نحن نعمل دائمًا على تحسين تجربة عملائنا.",
|
||||
"meeting_satisfaction_question": "ما مدى رضاك عن اجتماعك الأخير؟",
|
||||
"meeting_not_joined_question": "لم تحضر الاجتماع؟",
|
||||
"reschedule_cta_short": "أعد الجدولة من هنا",
|
||||
"you_and_conjunction": "& أنت",
|
||||
"email_survey_triggered_by_workflow": "تم تشغيل هذا الاستبيان بواسطة سير العمل في كال."
|
||||
}
|
||||
@@ -3053,5 +3053,16 @@
|
||||
"most_cancelled_bookings": "Ən çox ləğv edilmiş rezervasiyalar",
|
||||
"name_or_email": "Ad və ya E-poçt",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Əgər əlaqə tapılmazsa, mövcud olduğu təqdirdə potensial müştəri sahibinə qayıt",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Yeni sətirləri bura əlavə edin ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Yeni sətirləri bura əlavə edin ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Tarix & Saat",
|
||||
"email_reminder_upcoming_event_notice" : "Bu, qarşıdan gələn tədbiriniz haqqında xatırlatmadır.",
|
||||
"email_reminder_triggered_by_workflow" : "Bu xatırladıcı Calda iş axını ilə işə salınıb.",
|
||||
"event_upper_case": "Hadisə",
|
||||
"scheduling_by": "Təqvimləşdirmə edən",
|
||||
"experience_review_prompt": "Son təcrübəniz necə oldu?",
|
||||
"improve_customer_experience_message": "Həmişə müştəri təcrübəsini yaxşılaşdırmağa çalışırıq.",
|
||||
"meeting_not_joined_question": "görüşə qoşulmadınız?",
|
||||
"reschedule_cta_short": "Buradan yenidən təyin edin.",
|
||||
"you_and_conjunction": "Siz &",
|
||||
"email_survey_triggered_by_workflow": "Bu sorğu Cal-da Workflow tərəfindən başladıldı."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Най-много отменени резервации",
|
||||
"name_or_email": "Име или имейл",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Ако не е намерен контакт, връщане към собственика на лийда, ако съществува",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Добавете новите си низове над този ред ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Добавете новите си низове над този ред ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Дата и час",
|
||||
"email_reminder_upcoming_event_notice" : "Това е напомняне за предстоящото ви събитие.",
|
||||
"email_reminder_triggered_by_workflow" : "Това напомняне е задействано от работен процес в Cal.",
|
||||
"event_upper_case": "Събитие",
|
||||
"scheduling_by": "График от",
|
||||
"experience_review_prompt": "Как бе вашето последно преживяване?",
|
||||
"improve_customer_experience_message": "Винаги се стремим да подобрим клиентското изживяване.",
|
||||
"meeting_satisfaction_question": "Колко сте доволни от последната си среща?",
|
||||
"meeting_not_joined_question": "не присъствахте на срещата?",
|
||||
"reschedule_cta_short": "Пренасрочете тук.",
|
||||
"you_and_conjunction": "Вие &",
|
||||
"email_survey_triggered_by_workflow": "Тази анкета беше стартирана от Workflow в Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Reserves més cancel·lades",
|
||||
"name_or_email": "Nom o correu electrònic",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Si no es troba cap contacte, recorre al propietari del lead si existeix",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Afegiu les vostres noves cadenes a dalt ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Afegiu les vostres noves cadenes a dalt ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Data i hora",
|
||||
"email_reminder_upcoming_event_notice": "Aquest és un recordatori del vostre proper esdeveniment.",
|
||||
"email_reminder_triggered_by_workflow": "Aquest recordatori s'ha activat per un flux de treball a Cal.",
|
||||
"event_upper_case": "Esdeveniment",
|
||||
"scheduling_by": "Planificat per",
|
||||
"experience_review_prompt": "Com ha estat la vostra experiència recent?",
|
||||
"improve_customer_experience_message": "Sempre millorem l'experiència dels nostres clients.",
|
||||
"meeting_satisfaction_question": "Què satisfet esteu amb la vostra última reunió?",
|
||||
"meeting_not_joined_question": "no vas assistir a la reunió?",
|
||||
"reschedule_cta_short": "Reprograma aquí.",
|
||||
"you_and_conjunction": "Vosaltres &",
|
||||
"email_survey_triggered_by_workflow": "Aquesta enquesta va ser activada per un Workflow a Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Nejčastěji zrušené rezervace",
|
||||
"name_or_email": "Jméno nebo e-mail",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Pokud není nalezen žádný kontakt, použít vlastníka leadu, pokud existuje",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Přidejte své nové řetězce nahoru ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Přidejte své nové řetězce nahoru ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Datum a čas",
|
||||
"email_reminder_upcoming_event_notice" : "Toto je připomínka vaší nadcházející události.",
|
||||
"email_reminder_triggered_by_workflow" : "Toto připomenutí bylo spuštěno pracovním postupem v Cal.",
|
||||
"event_upper_case": "Událost",
|
||||
"scheduling_by": "Plánování podle",
|
||||
"experience_review_prompt": "Jaké byly vaše nedávné zkušenosti?",
|
||||
"improve_customer_experience_message": "Neustále pracujeme na zlepšování zákaznických zkušeností.",
|
||||
"meeting_satisfaction_question": "Jak jste spokojeni s vaším posledním jednáním?",
|
||||
"meeting_not_joined_question": "nejste se zúčastnili schůzky?",
|
||||
"reschedule_cta_short": "Přeplánujte zde.",
|
||||
"you_and_conjunction": "Vy &",
|
||||
"email_survey_triggered_by_workflow": "Tento průzkum byl spuštěn pracovním postupem v Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Flest annullerede bookinger",
|
||||
"name_or_email": "Navn eller e-mail",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Hvis ingen kontakt findes, fald tilbage til lead-ejeren, hvis denne eksisterer",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Tilføj dine nye strenge ovenfor her ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Tilføj dine nye strenge ovenfor her ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Dato og tid",
|
||||
"email_reminder_upcoming_event_notice" : "Dette er en påmindelse om din kommende begivenhed.",
|
||||
"email_reminder_triggered_by_workflow" : "Denne påmindelse blev udløst af en arbejdsgang i Cal.",
|
||||
"event_upper_case": "Begivenhed",
|
||||
"scheduling_by": "Planlægning af",
|
||||
"experience_review_prompt": "Hvordan var din seneste oplevelse?",
|
||||
"improve_customer_experience_message": "Vi arbejder altid på at forbedre kundeoplevelsen.",
|
||||
"meeting_satisfaction_question": "Hvor tilfreds var du med dit seneste møde?",
|
||||
"meeting_not_joined_question": "deltog ikke i mødet?",
|
||||
"reschedule_cta_short": "Planlæg igen her.",
|
||||
"you_and_conjunction": "Du &",
|
||||
"email_survey_triggered_by_workflow": "Denne undersøgelse blev udløst af en Arbejdsgang i Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Am häufigsten abgesagte Termine",
|
||||
"name_or_email": "Name oder E-Mail",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Wenn kein Kontakt gefunden wird, auf den Lead-Eigentümer zurückgreifen, falls vorhanden",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Fügen Sie Ihre neuen Code-Zeilen über dieser hinzu ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Fügen Sie Ihre neuen Code-Zeilen über dieser hinzu ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Datum und Uhrzeit",
|
||||
"email_reminder_upcoming_event_notice" : "Dies ist eine Erinnerung an Ihre bevorstehende Veranstaltung.",
|
||||
"email_reminder_triggered_by_workflow" : "Diese Erinnerung wurde durch einen Workflow in Cal ausgelöst.",
|
||||
"event_upper_case": "Ereignis",
|
||||
"scheduling_by": "Terminplanung durch",
|
||||
"experience_review_prompt": "Wie war Ihre letzte Erfahrung?",
|
||||
"improve_customer_experience_message": "Wir arbeiten ständig daran, das Kundenerlebnis zu verbessern.",
|
||||
"meeting_satisfaction_question": "Wie zufrieden waren Sie mit Ihrer letzten Besprechung?",
|
||||
"meeting_not_joined_question": "nicht am Meeting teilgenommen?",
|
||||
"reschedule_cta_short": "Hier neu planen.",
|
||||
"you_and_conjunction": "Sie &",
|
||||
"email_survey_triggered_by_workflow": "Diese Umfrage wurde durch einen Workflow in Cal ausgelöst."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Περισσότερες ακυρωμένες κρατήσεις",
|
||||
"name_or_email": "Όνομα ή Email",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Αν δεν βρεθεί επαφή, επιστροφή στον ιδιοκτήτη του lead εάν υπάρχει",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Προσθέστε τις νέες συμβολοσειρές σας πάνω από εδώ ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Προσθέστε τις νέες συμβολοσειρές σας πάνω από εδώ ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Ημερομηνία & Ώρα",
|
||||
"email_reminder_upcoming_event_notice" : "Αυτή είναι μια υπενθύμιση για την επερχόμενη εκδήλωσή σας.",
|
||||
"email_reminder_triggered_by_workflow" : "Αυτή η υπενθύμιση ενεργοποιήθηκε από μια ροή εργασίας στο Cal.",
|
||||
"event_upper_case": "Γεγονός",
|
||||
"scheduling_by": "Προγραμματισμός από",
|
||||
"experience_review_prompt": "Πώς ήταν η πρόσφατη εμπειρία σας;",
|
||||
"improve_customer_experience_message": "Προσπαθούμε συνεχώς να βελτιώνουμε την εμπειρία των πελατών.",
|
||||
"meeting_satisfaction_question": "Πόσο ικανοποιημένοι ήσασταν με την τελευταία σας συνάντηση;",
|
||||
"meeting_not_joined_question": "δεν συμμετείχατε στη συνάντηση;",
|
||||
"reschedule_cta_short": "Επαναπρογραμματίστε εδώ.",
|
||||
"you_and_conjunction": "Εσείς &",
|
||||
"email_survey_triggered_by_workflow": "Αυτή η έρευνα ενεργοποιήθηκε από μια ροή εργασίας στο Cal."
|
||||
}
|
||||
@@ -3122,5 +3122,17 @@
|
||||
"resend_in_seconds": "Resend in {{seconds}} seconds",
|
||||
"resend": "Resend",
|
||||
"verification_email_sent": "Verification email sent",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Date & Time",
|
||||
"email_reminder_upcoming_event_notice": "This is a reminder about your upcoming event.",
|
||||
"email_reminder_triggered_by_workflow": "This reminder was triggered by a Workflow in Cal.",
|
||||
"event_upper_case": "Event",
|
||||
"scheduling_by": "Scheduling by",
|
||||
"experience_review_prompt": "How was your recent experience?",
|
||||
"improve_customer_experience_message": "We're always looking to improve our customer's experience.",
|
||||
"meeting_satisfaction_question": "How satisfied were you with your recent meeting?",
|
||||
"meeting_not_joined_question": "didn't join the meeting?",
|
||||
"reschedule_cta_short": "Reschedule here.",
|
||||
"you_and_conjunction": "You &",
|
||||
"email_survey_triggered_by_workflow": "This survey was triggered by a Workflow in Cal."
|
||||
}
|
||||
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Reservas más canceladas",
|
||||
"name_or_email": "Nombre o correo electrónico",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Si no se encuentra ningún contacto, recurrir al propietario del lead si existe",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Agrega tus nuevas cadenas arriba de esta línea ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Agrega tus nuevas cadenas arriba de esta línea ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Fecha y hora",
|
||||
"email_reminder_upcoming_event_notice" : "Este es un recordatorio sobre tu próximo evento.",
|
||||
"email_reminder_triggered_by_workflow" : "Este recordatorio fue activado por un Workflow en Cal.",
|
||||
"event_upper_case": "Evento",
|
||||
"scheduling_by": "Programado por",
|
||||
"experience_review_prompt": "¿Cómo fue tu última experiencia?",
|
||||
"improve_customer_experience_message": "Siempre buscamos mejorar la experiencia del cliente.",
|
||||
"meeting_satisfaction_question": "¿Qué tan satisfecho estuviste con tu última reunión?",
|
||||
"meeting_not_joined_question": "¿no asististe a la reunión?",
|
||||
"reschedule_cta_short": "Reprograma aquí.",
|
||||
"you_and_conjunction": "Tú &",
|
||||
"email_survey_triggered_by_workflow": "Esta encuesta se activó mediante un Workflow en Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Reservas más canceladas",
|
||||
"name_or_email": "Nombre o correo electrónico",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Si no se encuentra ningún contacto, recurrir al propietario del lead si existe",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Agregue sus nuevas cadenas arriba ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Agregue sus nuevas cadenas arriba ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Fecha y hora",
|
||||
"email_reminder_upcoming_event_notice" : "Este es un recordatorio sobre su próximo evento.",
|
||||
"email_reminder_triggered_by_workflow" : "Este recordatorio fue activado por un flujo de trabajo en Cal.",
|
||||
"event_upper_case": "Evento",
|
||||
"scheduling_by": "Programado por",
|
||||
"experience_review_prompt": "¿Cómo fue tu experiencia reciente?",
|
||||
"improve_customer_experience_message": "Siempre buscamos mejorar la experiencia de nuestros clientes.",
|
||||
"meeting_satisfaction_question": "¿Qué tan satisfecho estuvo con su última reunión?",
|
||||
"meeting_not_joined_question": "¿no asististe a la reunión?",
|
||||
"reschedule_cta_short": "Reprogramar aquí.",
|
||||
"you_and_conjunction": "Tú &",
|
||||
"email_survey_triggered_by_workflow": "Esta encuesta fue activada por un Workflow en Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Enim tühistatud broneeringud",
|
||||
"name_or_email": "Nimi või e-post",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Kui kontakti ei leita, kasuta võimalusel liidi omanikku",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Kuupäev ja kellaaeg",
|
||||
"email_reminder_upcoming_event_notice" : "See on meeldetuletus teie eelseisva sündmuse kohta.",
|
||||
"email_reminder_triggered_by_workflow" : "Selle meeldetuletuse käivitas Cali töövoog.",
|
||||
"event_upper_case": "Sündmus",
|
||||
"scheduling_by": "Plaanitud",
|
||||
"experience_review_prompt": "Kuidas oli teie hiljutine kogemus?",
|
||||
"improve_customer_experience_message": "Me püüame pidevalt klindikogemust parandada.",
|
||||
"meeting_satisfaction_question": "Kui rahul olite oma viimase kohtumisega?",
|
||||
"meeting_not_joined_question": "ei osalenud koosolekul?",
|
||||
"reschedule_cta_short": "Broneeri uuesti siit.",
|
||||
"you_and_conjunction": "Sina &",
|
||||
"email_survey_triggered_by_workflow": "See küsitlus käivitati Cali töövooga."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Bertan behera utzitako erreserba gehienak",
|
||||
"name_or_email": "Izena edo helbide elektronikoa",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Kontakturik aurkitzen ez bada, itzuli bezeroen arduradunera existitzen bada",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Gehitu zure kate berriak honen gainean ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Gehitu zure kate berriak honen gainean ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Data eta ordua",
|
||||
"email_reminder_upcoming_event_notice" : "Hau zure hurrengo ekitaldiari buruzko abisua da.",
|
||||
"email_reminder_triggered_by_workflow" : "Abisu hau Cal-eko lan-fluxu batek abiarazi zuen.",
|
||||
"event_upper_case": "Gertaera",
|
||||
"scheduling_by": "Antolatzailea",
|
||||
"experience_review_prompt": "Zein izan da zure azken esperientzia?",
|
||||
"improve_customer_experience_message": "Bezeroaren esperientzia hobetzen saiatzen gara beti.",
|
||||
"meeting_satisfaction_question": "Zenbat pozik zaude azken bilerarekin?",
|
||||
"meeting_not_joined_question": "ez zenuen bileran parte hartu?",
|
||||
"reschedule_cta_short": "Berriz programatu hemen.",
|
||||
"you_and_conjunction": "Zu &",
|
||||
"email_survey_triggered_by_workflow": "Galdeketa hau Cal-eko Workflow baten bidez aktibatu da."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Eniten perutut varaukset",
|
||||
"name_or_email": "Nimi tai sähköposti",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Jos yhteyshenkilöä ei löydy, käytä liidin omistajaa, jos sellainen on olemassa",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Lisää uudet merkkijonot tämän yläpuolelle ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Lisää uudet merkkijonot tämän yläpuolelle ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Päivämäärä ja aika",
|
||||
"email_reminder_upcoming_event_notice" : "Tämä on muistutus tulevasta tapahtumastasi.",
|
||||
"email_reminder_triggered_by_workflow" : "Tämän muistutuksen laukaisi Cal.",
|
||||
"event_upper_case": "Tapahtuma",
|
||||
"scheduling_by": "Aikatauluttaja",
|
||||
"experience_review_prompt": "Minkälainen oli viimeisin kokemuksesi?",
|
||||
"improve_customer_experience_message": "Pyrimme jatkuvasti parantamaan asiakaskokemusta.",
|
||||
"meeting_satisfaction_question": "Kuinka tyytyväinen olit viime kokoukseen?",
|
||||
"meeting_not_joined_question": "et osallistunut kokoukseen?",
|
||||
"reschedule_cta_short": "Uudelleenaikatauluta tästä.",
|
||||
"you_and_conjunction": "Sinä &",
|
||||
"email_survey_triggered_by_workflow": "Tämä kysely käynnistettiin Workflow-ohjelmalla Cal-palvelussa."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Réservations les plus annulées",
|
||||
"name_or_email": "Nom ou e-mail",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Si aucun contact n'est trouvé, se rabattre sur le propriétaire du lead s'il existe",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Ajoutez vos nouvelles chaînes ci-dessus ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Ajoutez vos nouvelles chaînes ci-dessus ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time" : "Date et heure",
|
||||
"email_reminder_upcoming_event_notice" : "Ceci est un rappel concernant votre événement à venir.",
|
||||
"email_reminder_triggered_by_workflow" : "Ce rappel a été déclenché par un workflow dans Cal.",
|
||||
"event_upper_case": "Événement",
|
||||
"scheduling_by": "Planifié par",
|
||||
"experience_review_prompt": "Comment s'est déroulée votre dernière expérience ?",
|
||||
"improve_customer_experience_message": "Nous cherchons toujours à améliorer l'expérience client.",
|
||||
"meeting_satisfaction_question": "Dans quelle mesure étiez-vous satisfait de votre dernière réunion ?",
|
||||
"meeting_not_joined_question": "vous n'avez pas participé à la réunion ?",
|
||||
"reschedule_cta_short": "Reprogrammer ici.",
|
||||
"you_and_conjunction": "Vous &",
|
||||
"email_survey_triggered_by_workflow": "Ce questionnaire a été déclenché par un Workflow dans Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "הזמנות שבוטלו הכי הרבה",
|
||||
"name_or_email": "שם או אימייל",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "אם לא נמצא איש קשר, חזור לבעל הליד אם הוא קיים",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "תאריך ושעה",
|
||||
"email_reminder_upcoming_event_notice": "זאת תזכורת לגבי האירוע הקרוב שלך.",
|
||||
"email_reminder_triggered_by_workflow": "תזכורת זו הופעלה על ידי Workflow ב-Cal.",
|
||||
"event_upper_case": "אירוע",
|
||||
"scheduling_by": "תזמון על ידי",
|
||||
"experience_review_prompt": "איך הייתה החוויה האחרונה שלך?",
|
||||
"improve_customer_experience_message": ".אנחנו תמיד משפרים את חווית הלקוח",
|
||||
"meeting_satisfaction_question": "?עד כמה היית מרוצה מהפגישה האחרונה שלך",
|
||||
"meeting_not_joined_question": "?לא הצטרפת לפגישה",
|
||||
"reschedule_cta_short": ".קבע מחדש כאן",
|
||||
"you_and_conjunction": "את/ה &",
|
||||
"email_survey_triggered_by_workflow": "הסקר הזה הופעל על ידי Workflow ב-Cal."
|
||||
}
|
||||
@@ -440,5 +440,17 @@
|
||||
"ooo_select_reason": "Odaberi razlog",
|
||||
"enterprise_license_locally": "Možete testirati ovu značajku lokalno, ali ne u proizvodnji.",
|
||||
"enterprise_license_sales": "Da biste se nadogradili na poslovnu verziju, obratite se našem timu za prodaju. Ako je već licencni ključ na mjestu, kontaktirajte support@cal.com za pomoć.",
|
||||
"apply_to_all_event_types": "Primjenjuje se na sve, uključujući buduće vrste događaja"
|
||||
"apply_to_all_event_types": "Primjenjuje se na sve, uključujući buduće vrste događaja",
|
||||
"date_and_time": "Datum i vrijeme",
|
||||
"email_reminder_upcoming_event_notice": "Ovo je podsjetnik za vaš nadolazeći događaj.",
|
||||
"email_reminder_triggered_by_workflow": "Ovaj podsjetnik je pokrenut putem Workflowa u Calu.",
|
||||
"event_upper_case": "Događaj",
|
||||
"scheduling_by": "Zakazano od strane",
|
||||
"experience_review_prompt": "Kako je bilo vaše nedavno iskustvo?",
|
||||
"improve_customer_experience_message": "Stalno poboljšavamo iskustvo korisnika.",
|
||||
"meeting_satisfaction_question": "Koliko ste zadovoljni svojim posljednjim sastankom?",
|
||||
"meeting_not_joined_question": "niste prisustvovali sastanku?",
|
||||
"reschedule_cta_short": "Zakažite ponovno ovdje.",
|
||||
"you_and_conjunction": "Vi &",
|
||||
"email_survey_triggered_by_workflow": "Ova anketa je pokrenuta Workflow-om u Calu."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Legtöbbször lemondott foglalások",
|
||||
"name_or_email": "Név vagy e-mail",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Ha nem található kapcsolat, visszalépés a lead tulajdonoshoz, ha létezik",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Adja hozzá az új karakterláncokat fent ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Adja hozzá az új karakterláncokat fent ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Dátum és idő",
|
||||
"email_reminder_upcoming_event_notice": "Ez egy emlékeztető a közelgő eseményedről.",
|
||||
"email_reminder_triggered_by_workflow": "Ezt az emlékeztetőt egy Cal-beli Workflow indította.",
|
||||
"event_upper_case": "Esemény",
|
||||
"scheduling_by": "Ütemezve által",
|
||||
"experience_review_prompt": "Milyen volt a legutóbbi élményed?",
|
||||
"improve_customer_experience_message": "Folyamatosan javítjuk az ügyfélélményt.",
|
||||
"meeting_satisfaction_question": "Mennyire elégedett volt a legutóbbi találkozójával?",
|
||||
"meeting_not_joined_question": "nem vett részt a találkozón?",
|
||||
"reschedule_cta_short": "Újraütemezés itt.",
|
||||
"you_and_conjunction": "Te &",
|
||||
"email_survey_triggered_by_workflow": "Ezt a kérdőívet egy Workflow indította a Cal-ban."
|
||||
}
|
||||
@@ -153,5 +153,17 @@
|
||||
"ooo_select_reason": "Pilih alasan",
|
||||
"enterprise_license_locally": "Anda dapat menguji fitur ini secara lokal tetapi tidak pada produksi.",
|
||||
"enterprise_license_sales": "Untuk meningkatkan ke edisi perusahaan, hubungi tim penjualan kami. Jika kunci lisensi sudah ada, hubungi support@cal.com untuk bantuan.",
|
||||
"apply_to_all_event_types": "Terapkan untuk semua, termasuk jenis acara di masa depan"
|
||||
"apply_to_all_event_types": "Terapkan untuk semua, termasuk jenis acara di masa depan",
|
||||
"date_and_time": "Tanggal & Waktu",
|
||||
"email_reminder_upcoming_event_notice": "Ini adalah pengingat tentang acara mendatang Anda.",
|
||||
"email_reminder_triggered_by_workflow": "Pengingat ini dipicu oleh Workflow di Cal.",
|
||||
"event_upper_case": "Acara",
|
||||
"scheduling_by": "Dijadwalkan oleh",
|
||||
"experience_review_prompt": "Bagaimana pengalaman terakhir Anda?",
|
||||
"improve_customer_experience_message": "Kami selalu berusaha meningkatkan pengalaman pelanggan.",
|
||||
"meeting_satisfaction_question": "Seberapa puas Anda dengan rapat terakhir Anda?",
|
||||
"meeting_not_joined_question": "tidak bergabung dengan rapat?",
|
||||
"reschedule_cta_short": "Jadwal ulang di sini.",
|
||||
"you_and_conjunction": "Anda &",
|
||||
"email_survey_triggered_by_workflow": "Survei ini dipicu oleh Workflow di Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Prenotazioni più cancellate",
|
||||
"name_or_email": "Nome o email",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Se non viene trovato alcun contatto, passa al proprietario del lead se esiste",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Aggiungi le tue nuove stringhe qui sopra ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Aggiungi le tue nuove stringhe qui sopra ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Data e ora",
|
||||
"email_reminder_upcoming_event_notice": "Questo è un promemoria per il tuo prossimo evento.",
|
||||
"email_reminder_triggered_by_workflow": "Questo promemoria è stato attivato da un Workflow in Cal.",
|
||||
"event_upper_case": "Evento",
|
||||
"scheduling_by": "Pianificato da",
|
||||
"experience_review_prompt": "Come è stata la tua recente esperienza?",
|
||||
"improve_customer_experience_message": "Cerchiamo sempre di migliorare l'esperienza dei clienti.",
|
||||
"meeting_satisfaction_question": "Quanto sei soddisfatto del tuo ultimo incontro?",
|
||||
"meeting_not_joined_question": "non hai partecipato all'incontro?",
|
||||
"reschedule_cta_short": "Riprogramma qui.",
|
||||
"you_and_conjunction": "Tu &",
|
||||
"email_survey_triggered_by_workflow": "Questo sondaggio è stato attivato da un Workflow in Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "最もキャンセルされた予約",
|
||||
"name_or_email": "名前またはメールアドレス",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "連絡先が見つからない場合、リード所有者が存在すればそちらにフォールバックする",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ この上に新しい文字列を追加してください ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ この上に新しい文字列を追加してください ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "日付と時刻",
|
||||
"email_reminder_upcoming_event_notice": "これは今後のイベントについてのお知らせです。",
|
||||
"email_reminder_triggered_by_workflow": "このリマインダーはCalのワークフローによってトリガーされました。",
|
||||
"event_upper_case": "イベント",
|
||||
"scheduling_by": "スケジュール担当",
|
||||
"experience_review_prompt": "最近の体験はいかがでしたか?",
|
||||
"improve_customer_experience_message": "私たちは常にお客様の体験向上に努めています。",
|
||||
"meeting_satisfaction_question": "直近のミーティングに満足されましたか?",
|
||||
"meeting_not_joined_question": "ミーティングに参加していませんか?",
|
||||
"reschedule_cta_short": "こちらから再スケジュール",
|
||||
"you_and_conjunction": "あなた &",
|
||||
"email_survey_triggered_by_workflow": "このアンケートはCalのワークフローによってトリガーされました。"
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "ការកក់ដែលត្រូវបានលុបចោលច្រើនបំផុត",
|
||||
"name_or_email": "ឈ្មោះ ឬអ៊ីមែល",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "ប្រសិនបើមិនមានទំនាក់ទំនងត្រូវបានរកឃើញទេ ត្រឡប់ទៅម្ចាស់ Lead ប្រសិនបើមាន",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ បន្ថែមខ្សែអក្សរថ្មីរបស់អ្នកនៅខាងលើនេះ ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ បន្ថែមខ្សែអក្សរថ្មីរបស់អ្នកនៅខាងលើនេះ ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "កាលបរិច្ឆេទ និងពេលវេលា",
|
||||
"email_reminder_upcoming_event_notice": "នេះគឺជាការរំលឹកអំពីព្រឹត្តិការណ៍ដែលនឹងមានឡើងរបស់អ្នក។",
|
||||
"email_reminder_triggered_by_workflow": "ការរំលឹកនេះត្រូវបានបង្កើតឡើងដោយលំហូរការងារនៅក្នុង Cal។",
|
||||
"event_upper_case": "ព្រឹត្តិការណ៍",
|
||||
"scheduling_by": "ការកំណត់ពេលវេលាដោយ",
|
||||
"experience_review_prompt": "តើបទពិសោធន៍ថ្មីៗរបស់អ្នកយ៉ាងណា?",
|
||||
"improve_customer_experience_message": "យើងតែងតែរកមធ្យោបាយកែលម្អបទពិសោធន៍អតិថិជន។",
|
||||
"meeting_satisfaction_question": "តើអ្នកពេញចិត្តប៉ុណ្ណាជាមួយការប្រជុំថ្មីៗរបស់អ្នក?",
|
||||
"meeting_not_joined_question": "មិនបានចូលរួមការប្រជុំ?",
|
||||
"reschedule_cta_short": "កំណត់ពេលវេលាថ្មីនៅទីនេះ។",
|
||||
"you_and_conjunction": "អ្នក &",
|
||||
"email_survey_triggered_by_workflow": "ការស្ទង់មតិនេះត្រូវបានបង្កើតឡើងដោយលំហូរការងារនៅក្នុង Cal។"
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "가장 많이 취소된 예약",
|
||||
"name_or_email": "이름 또는 이메일",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "연락처를 찾을 수 없는 경우, 리드 소유자가 있으면 대체",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 여기에 새 문자열을 추가하세요 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 여기에 새 문자열을 추가하세요 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "날짜 및 시간",
|
||||
"email_reminder_upcoming_event_notice": "다가오는 일정에 대한 알림입니다.",
|
||||
"email_reminder_triggered_by_workflow": "이 알림은 Cal의 워크플로우에 의해 트리거되었습니다.",
|
||||
"event_upper_case": "이벤트",
|
||||
"scheduling_by": "일정 계획 담당자",
|
||||
"experience_review_prompt": "최근 경험은 어떠셨나요?",
|
||||
"improve_customer_experience_message": "우리는 항상 고객 경험을 개선하기 위해 노력합니다.",
|
||||
"meeting_satisfaction_question": "최근 미팅에 얼마나 만족하셨나요?",
|
||||
"meeting_not_joined_question": "미팅에 참여하지 않으셨나요?",
|
||||
"reschedule_cta_short": "여기서 재예약하세요.",
|
||||
"you_and_conjunction": "당신 &",
|
||||
"email_survey_triggered_by_workflow": "이 설문은 Cal의 워크플로우에 의해 트리거되었습니다."
|
||||
}
|
||||
@@ -149,5 +149,17 @@
|
||||
"ooo_select_reason": "Izvēlieties iemeslu",
|
||||
"enterprise_license_locally": "Jūs varat testēt šo funkciju vietēji, bet ne ražošanas vidē.",
|
||||
"enterprise_license_sales": "Lai uzlabotu uz uzņēmuma izdevumu, lūdzu, sazinieties ar mūsu pārdošanas komandu. Ja licences atslēga jau ir, lūdzu, sazinieties ar support@cal.com uz palīdzību.",
|
||||
"apply_to_all_event_types": "Piemēroties visiem, ieskaitot arī nākotnes notikumu veidus"
|
||||
"apply_to_all_event_types": "Piemēroties visiem, ieskaitot arī nākotnes notikumu veidus",
|
||||
"date_and_time": "Datums un laiks",
|
||||
"email_reminder_upcoming_event_notice": "Šis ir atgādinājums par jūsu gaidāmo pasākumu.",
|
||||
"email_reminder_triggered_by_workflow": "Šo atgādinājumu ir iedarbinājis Cal darbplūsma.",
|
||||
"event_upper_case": "Notikums",
|
||||
"scheduling_by": "Ieplānoja",
|
||||
"experience_review_prompt": "Kāda bija jūsu pēdējā pieredze?",
|
||||
"improve_customer_experience_message": "Mēs pastāvīgi uzlabojam klientu pieredzi.",
|
||||
"meeting_satisfaction_question": "Cik apmierināts bijāt ar savu pēdējo tikšanos?",
|
||||
"meeting_not_joined_question": "nepiedalījāties sanāksmē?",
|
||||
"reschedule_cta_short": "Pārzīmēt šeit.",
|
||||
"you_and_conjunction": "Jūs &",
|
||||
"email_survey_triggered_by_workflow": "Šo aptauju aktivizēja darbplūsma Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Meest geannuleerde boekingen",
|
||||
"name_or_email": "Naam of e-mail",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Als er geen contactpersoon wordt gevonden, val dan terug op de lead-eigenaar als deze bestaat",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Voeg uw nieuwe strings hierboven toe ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Voeg uw nieuwe strings hierboven toe ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Datum en tijd",
|
||||
"email_reminder_upcoming_event_notice": "Dit is een herinnering voor je aankomende evenement.",
|
||||
"email_reminder_triggered_by_workflow": "Deze herinnering is geactiveerd door een Workflow in Cal.",
|
||||
"event_upper_case": "Evenement",
|
||||
"scheduling_by": "Gepland door",
|
||||
"experience_review_prompt": "Hoe was uw recente ervaring?",
|
||||
"improve_customer_experience_message": "We werken continu aan betere klantervaringen.",
|
||||
"meeting_satisfaction_question": "Hoe tevreden was u met uw laatste vergadering?",
|
||||
"meeting_not_joined_question": "heeft u niet deelgenomen aan de vergadering?",
|
||||
"reschedule_cta_short": "Hier opnieuw plannen.",
|
||||
"you_and_conjunction": "U &",
|
||||
"email_survey_triggered_by_workflow": "Deze enquête is geactiveerd door een Workflow in Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Flest kansellerte bestillinger",
|
||||
"name_or_email": "Navn eller e-post",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Hvis ingen kontakt blir funnet, fall tilbake til leadeier hvis den eksisterer",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Legg til dine nye strenger over her ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Legg til dine nye strenger over her ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Dato og klokkeslett",
|
||||
"email_reminder_upcoming_event_notice": "Dette er en påminnelse om din kommende hendelse.",
|
||||
"email_reminder_triggered_by_workflow": "Denne påminnelsen ble utløst av en Workflow i Cal.",
|
||||
"event_upper_case": "Arrangement",
|
||||
"scheduling_by": "Planlagt av",
|
||||
"experience_review_prompt": "Hvordan var din siste opplevelse?",
|
||||
"improve_customer_experience_message": "Vi forbedrer hele tiden kundeopplevelsen.",
|
||||
"meeting_satisfaction_question": "Hvor fornøyd var du med ditt siste møte?",
|
||||
"meeting_not_joined_question": "deltok ikke i møtet?",
|
||||
"reschedule_cta_short": "Planlegg på nytt her.",
|
||||
"you_and_conjunction": "Du &",
|
||||
"email_survey_triggered_by_workflow": "Denne undersøkelsen ble utløst av en arbeidsflyt i Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Najczęściej anulowane rezerwacje",
|
||||
"name_or_email": "Imię lub email",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Jeśli nie znaleziono kontaktu, powróć do właściciela leada, jeśli istnieje",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Dodaj nowe ciągi powyżej ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Dodaj nowe ciągi powyżej ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Data i godzina",
|
||||
"email_reminder_upcoming_event_notice": "To przypomnienie o nadchodzącym wydarzeniu.",
|
||||
"email_reminder_triggered_by_workflow": "To przypomnienie zostało wyzwolone przez Workflow w Cal.",
|
||||
"event_upper_case": "Wydarzenie",
|
||||
"scheduling_by": "Zaplanowane przez",
|
||||
"experience_review_prompt": "Jakie były Twoje ostatnie wrażenia?",
|
||||
"improve_customer_experience_message": "Ciągle ulepszamy doświadczenia klientów.",
|
||||
"meeting_satisfaction_question": "Jak zadowolony byłeś ze swojego ostatniego spotkania?",
|
||||
"meeting_not_joined_question": "nie uczestniczyłeś w spotkaniu?",
|
||||
"reschedule_cta_short": "Przełóż tutaj.",
|
||||
"you_and_conjunction": "Ty &",
|
||||
"email_survey_triggered_by_workflow": "Ta ankieta została uruchomiona przez Workflow w Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Reservas mais canceladas",
|
||||
"name_or_email": "Nome ou e-mail",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Se nenhum contato for encontrado, recorrer ao proprietário do lead, se existir",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Adicione suas novas strings aqui em cima ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Adicione suas novas strings aqui em cima ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Data e horário",
|
||||
"email_reminder_upcoming_event_notice": "Este é um lembrete sobre seu próximo evento.",
|
||||
"email_reminder_triggered_by_workflow": "Este lembrete foi acionado por um Workflow no Cal.",
|
||||
"event_upper_case": "Evento",
|
||||
"scheduling_by": "Agendado por",
|
||||
"experience_review_prompt": "Como foi sua experiência recente?",
|
||||
"improve_customer_experience_message": "Sempre buscamos melhorar a experiência do cliente.",
|
||||
"meeting_satisfaction_question": "Quão satisfeito você está com sua última reunião?",
|
||||
"meeting_not_joined_question": "não participou da reunião?",
|
||||
"reschedule_cta_short": "Reagende aqui.",
|
||||
"you_and_conjunction": "Você &",
|
||||
"email_survey_triggered_by_workflow": "Esta pesquisa foi acionada por um Workflow no Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Reservas mais canceladas",
|
||||
"name_or_email": "Nome ou e-mail",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Se nenhum contato for encontrado, recorrer ao proprietário do lead, se existir",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Data e hora",
|
||||
"email_reminder_upcoming_event_notice": "Este é um lembrete sobre o teu próximo evento.",
|
||||
"email_reminder_triggered_by_workflow": "Este lembrete foi acionado por um Workflow no Cal.",
|
||||
"event_upper_case": "Evento",
|
||||
"scheduling_by": "Agendado por",
|
||||
"experience_review_prompt": "Como foi a sua experiência recente?",
|
||||
"improve_customer_experience_message": "Estamos sempre a melhorar a experiência do cliente.",
|
||||
"meeting_satisfaction_question": "Quão satisfeito está com a sua última reunião?",
|
||||
"meeting_not_joined_question": "não participou na reunião?",
|
||||
"reschedule_cta_short": "Remarcar aqui.",
|
||||
"you_and_conjunction": "Você &",
|
||||
"email_survey_triggered_by_workflow": "Este questionário foi acionado por um Workflow no Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Cele mai multe rezervări anulate",
|
||||
"name_or_email": "Nume sau email",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Dacă nu este găsit niciun contact, se revine la proprietarul lead-ului dacă acesta există",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Adăugați stringurile noi deasupra acestui rând ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Adăugați stringurile noi deasupra acestui rând ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Data și ora",
|
||||
"email_reminder_upcoming_event_notice": "Acesta este un memento privind evenimentul tău viitor.",
|
||||
"email_reminder_triggered_by_workflow": "Acest memento a fost declanșat de un Workflow în Cal.",
|
||||
"event_upper_case": "Eveniment",
|
||||
"scheduling_by": "Programat de",
|
||||
"experience_review_prompt": "Cum a fost experiența ta recentă?",
|
||||
"improve_customer_experience_message": "Îmbunătățim constant experiența clienților.",
|
||||
"meeting_satisfaction_question": "Cât de mulțumit ai fost de ultima întâlnire?",
|
||||
"meeting_not_joined_question": "nu ai participat la întâlnire?",
|
||||
"reschedule_cta_short": "Reprogramează aici.",
|
||||
"you_and_conjunction": "Tu &",
|
||||
"email_survey_triggered_by_workflow": "Acest sondaj a fost declanșat de un Workflow în Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Наиболее часто отменяемые бронирования",
|
||||
"name_or_email": "Имя или электронная почта",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Если контакт не найден, использовать владельца лида, если он существует",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Добавьте строки выше ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Добавьте строки выше ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Дата и время",
|
||||
"email_reminder_upcoming_event_notice": "Это напоминание о вашем предстоящем мероприятии.",
|
||||
"email_reminder_triggered_by_workflow": "Это напоминание было активировано Workflow в Cal.",
|
||||
"event_upper_case": "Событие",
|
||||
"scheduling_by": "Запланировано",
|
||||
"experience_review_prompt": "Как прошёл ваш последний опыт?",
|
||||
"improve_customer_experience_message": "Мы постоянно улучшаем клиентский опыт.",
|
||||
"meeting_satisfaction_question": "Насколько вы довольны последней встречей?",
|
||||
"meeting_not_joined_question": "не присоединились к встрече?",
|
||||
"reschedule_cta_short": "Перенести здесь.",
|
||||
"you_and_conjunction": "Вы &",
|
||||
"email_survey_triggered_by_workflow": "Этот опрос был запущен рабочим процессом в Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Najviac zrušených rezervácií",
|
||||
"name_or_email": "Meno alebo email",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Ak sa nenájde žiadny kontakt, použije sa vlastník leadu, ak existuje",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Pridajte svoje nové reťazce nad túto líniu ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Pridajte svoje nové reťazce nad túto líniu ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Dátum a čas",
|
||||
"email_reminder_upcoming_event_notice": "Toto je pripomienka k vášmu pripravovanému podujatiu.",
|
||||
"email_reminder_triggered_by_workflow": "Toto pripomenutie bolo spustené pracovným postupom v Cal.",
|
||||
"event_upper_case": "Udalosť",
|
||||
"scheduling_by": "Naplánované",
|
||||
"experience_review_prompt": "Aký bol váš posledný zážitok?",
|
||||
"improve_customer_experience_message": "Neustále zlepšujeme zákaznícku skúsenosť.",
|
||||
"meeting_satisfaction_question": "Ako spokojní ste boli s posledným stretnutím?",
|
||||
"meeting_not_joined_question": "nezúčastnili ste sa stretnutia?",
|
||||
"reschedule_cta_short": "Preplánujte tu.",
|
||||
"you_and_conjunction": "Vy &",
|
||||
"email_survey_triggered_by_workflow": "Tento prieskum bol aktivovaný pracovným postupom v Cal."
|
||||
}
|
||||
@@ -54,5 +54,17 @@
|
||||
"ooo_select_reason": "Vybrať dôvod",
|
||||
"enterprise_license_locally": "Túto funkciu môžete otestovať lokálne, ale nie v produkčnom prostredí.",
|
||||
"enterprise_license_sales": "Na upgradovanie na podnikateľskú verziu kontaktujte náš obchodný tím. Ak už je licenčný kľúč na mieste, kontaktujte support@cal.com pre pomoc.",
|
||||
"apply_to_all_event_types": "Platí pre všetky, vrátane budúcich typov udalostí"
|
||||
"apply_to_all_event_types": "Platí pre všetky, vrátane budúcich typov udalostí",
|
||||
"date_and_time": "Dátum a čas",
|
||||
"email_reminder_upcoming_event_notice": "Toto je pripomienka k vášmu pripravovanému podujatiu.",
|
||||
"email_reminder_triggered_by_workflow": "Toto pripomenutie bolo spustené pracovným postupom v Cal.",
|
||||
"event_upper_case": "Udalosť",
|
||||
"scheduling_by": "Naplánované",
|
||||
"experience_review_prompt": "Aký bol váš posledný zážitok?",
|
||||
"improve_customer_experience_message": "Neustále zlepšujeme zákaznícku skúsenosť.",
|
||||
"meeting_satisfaction_question": "Ako spokojní ste boli s posledným stretnutím?",
|
||||
"meeting_not_joined_question": "nezúčastnili ste sa stretnutia?",
|
||||
"reschedule_cta_short": "Preplánujte tu.",
|
||||
"you_and_conjunction": "Vy &",
|
||||
"email_survey_triggered_by_workflow": "Tento prieskum bol spustený pracovným postupom v Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Najviše otkazanih rezervacija",
|
||||
"name_or_email": "Ime ili email",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Ako kontakt nije pronađen, vrati se na vlasnika potencijalnog klijenta ako postoji",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Dodajte svoje nove stringove iznad ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Dodajte svoje nove stringove iznad ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Датум и време",
|
||||
"email_reminder_upcoming_event_notice": "Ово је подсетник за ваш предстојећи догађај.",
|
||||
"email_reminder_triggered_by_workflow": "Овај подсетник је покренут путем Workflow-а у Cal-у.",
|
||||
"event_upper_case": "Догађај",
|
||||
"scheduling_by": "Планирање до",
|
||||
"experience_review_prompt": "Како је било ваше последње искуство?",
|
||||
"improve_customer_experience_message": "Стално побољшавамо клијентско искуство.",
|
||||
"meeting_satisfaction_question": "Колико сте задовољни последњим састанком?",
|
||||
"meeting_not_joined_question": "нисте присуствовали састанку?",
|
||||
"reschedule_cta_short": "Презакажите овде.",
|
||||
"you_and_conjunction": "Ви &",
|
||||
"email_survey_triggered_by_workflow": "Ова анкета је покренута Воркфловом у Цал-у."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Flest avbokade bokningar",
|
||||
"name_or_email": "Namn eller e-post",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Om ingen kontakt hittas, återgå till lead-ägaren om sådan finns",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Datum och tid",
|
||||
"email_reminder_upcoming_event_notice": "Det här är en påminnelse om ditt kommande evenemang.",
|
||||
"email_reminder_triggered_by_workflow": "Den här påminnelsen utlöstes av ett Workflow i Cal.",
|
||||
"event_upper_case": "Evenemang",
|
||||
"scheduling_by": "Schemalagt av",
|
||||
"experience_review_prompt": "Hur var din senaste upplevelse?",
|
||||
"improve_customer_experience_message": "Vi förbättrar ständigt kundupplevelsen.",
|
||||
"meeting_satisfaction_question": "Hur nöjd var du med ditt senaste möte?",
|
||||
"meeting_not_joined_question": "deltog inte i mötet?",
|
||||
"reschedule_cta_short": "Boka om här.",
|
||||
"you_and_conjunction": "Du &",
|
||||
"email_survey_triggered_by_workflow": "Den här enkäten utlöstes av ett Workflow i Cal."
|
||||
}
|
||||
@@ -198,5 +198,17 @@
|
||||
"ooo_select_reason": "காரணம் தேர்ந்தெடு",
|
||||
"enterprise_license_locally": "இந்த சாதனையை நீங்கள் உள்ளூரில் சோதிக்கலாம் ஆனால் தயாரிப்பில் இல்லை.",
|
||||
"enterprise_license_sales": "பணியில் பதிவேற்றம் செய்து தொழில் பதிப்பிற்கு மாற்றுங்கள் என்றால் எங்கள் விற்பனை குழுவுடன் தொடர்பு கொள்ளுங்கள். ஒரு உரிமை முக்கிய தொடர்பு ஏற்கனவே உள்ளது என்றால் support@cal.com க்கு தொடர்பு கொள்ளுங்கள் உதவிக்கு.",
|
||||
"apply_to_all_event_types": "எல்லா நிகழ்வுகள் தொடர்புகளிலும் பயன்படுத்துங்கள், எதிர்கால நிகழ்வுகள் தொடர்புகள் உட்பட."
|
||||
"apply_to_all_event_types": "எல்லா நிகழ்வுகள் தொடர்புகளிலும் பயன்படுத்துங்கள், எதிர்கால நிகழ்வுகள் தொடர்புகள் உட்பட.",
|
||||
"date_and_time": "தேதி மற்றும் நேரம்",
|
||||
"email_reminder_upcoming_event_notice": "இது உங்கள் வரவிருக்கும் நிகழ்வைப் பற்றிய நினைவூட்டல்.",
|
||||
"email_reminder_triggered_by_workflow": "இந்த நினைவூட்டல் Cal-ல் உள்ள ஒரு Workflow மூலம் தூண்டப்பட்டது.",
|
||||
"event_upper_case": "நிகழ்வு",
|
||||
"scheduling_by": "ஷெடியூல் செய்தவர்",
|
||||
"experience_review_prompt": "உங்களது சமீபத்திய அனுபவம் எப்படி இருந்தது?",
|
||||
"improve_customer_experience_message": "நாங்கள் வாடிக்கையாளர் அனுபவத்தை மேம்படுத்துவதில் தீவிரமாக உள்ளோம்.",
|
||||
"meeting_satisfaction_question": "உங்கள் கடைசி கூட்டத்தில் எவ்வளவு திருப்தியாக இருந்தீர்கள்?",
|
||||
"meeting_not_joined_question": "கூட்டத்தில் சேரவில்லையா?",
|
||||
"reschedule_cta_short": "இங்கே மீண்டும் ஷெடியூல் செய்யவும்.",
|
||||
"you_and_conjunction": "நீங்கள் &",
|
||||
"email_survey_triggered_by_workflow": "இந்த ஆய்வு Cal-ல் உள்ள பணிப்பாய்வு மூலம் தூண்டப்பட்டது."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "En çok iptal edilen rezervasyonlar",
|
||||
"name_or_email": "İsim veya E-posta",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Hiçbir kişi bulunamazsa, eğer varsa müşteri adayı sahibine geri dön",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Yeni dizelerinizi yukarıya ekleyin ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Yeni dizelerinizi yukarıya ekleyin ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Tarih ve saat",
|
||||
"email_reminder_upcoming_event_notice": "Bu, yaklaşan etkinliğinizle ilgili bir hatırlatmadır.",
|
||||
"email_reminder_triggered_by_workflow": "Bu hatırlatma, Cal'daki bir İş Akışı tarafından tetiklendi.",
|
||||
"event_upper_case": "Etkinlik",
|
||||
"scheduling_by": "Planlayan",
|
||||
"experience_review_prompt": "Son deneyiminiz nasıldı?",
|
||||
"improve_customer_experience_message": "Müşteri deneyimini sürekli iyileştiriyoruz.",
|
||||
"meeting_satisfaction_question": "Son toplantınızdan ne kadar memnun kaldınız?",
|
||||
"meeting_not_joined_question": "toplantıya katılmadınız mı?",
|
||||
"reschedule_cta_short": "Buradan yeniden planla.",
|
||||
"you_and_conjunction": "Sen &",
|
||||
"email_survey_triggered_by_workflow": "Bu anket, Cal'da bir İş Akışı tarafından tetiklendi."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Найбільше скасованих бронювань",
|
||||
"name_or_email": "Ім'я або електронна пошта",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Якщо контакт не знайдено, використовувати власника ліда, якщо він існує",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Дата та час",
|
||||
"email_reminder_upcoming_event_notice": "Це нагадування про вашу майбутню подію.",
|
||||
"email_reminder_triggered_by_workflow": "Це нагадування було ініційовано Workflow у Cal.",
|
||||
"event_upper_case": "Подія",
|
||||
"scheduling_by": "Заплановано",
|
||||
"experience_review_prompt": "Як пройшов ваш останній досвід?",
|
||||
"improve_customer_experience_message": "Ми постійно покращуємо клієнтський досвід.",
|
||||
"meeting_satisfaction_question": "Наскільки ви задоволені останньою зустріччю?",
|
||||
"meeting_not_joined_question": "не приєдналися до зустрічі?",
|
||||
"reschedule_cta_short": "Перенести тут.",
|
||||
"you_and_conjunction": "Ви &",
|
||||
"email_survey_triggered_by_workflow": "Це опитування було запущено робочим процесом у Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "Lịch hẹn bị hủy nhiều nhất",
|
||||
"name_or_email": "Tên hoặc email",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "Nếu không tìm thấy liên hệ, chuyển sang chủ sở hữu khách hàng tiềm năng nếu tồn tại",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ Add your new strings above here ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "Ngày và giờ",
|
||||
"email_reminder_upcoming_event_notice": "Đây là lời nhắc về sự kiện sắp tới của bạn.",
|
||||
"email_reminder_triggered_by_workflow": "Lời nhắc này được kích hoạt bởi Quy trình làm việc trong Cal.",
|
||||
"event_upper_case": "Sự kiện",
|
||||
"scheduling_by": "Được lập lịch bởi",
|
||||
"experience_review_prompt": "Trải nghiệm gần đây của bạn thế nào?",
|
||||
"improve_customer_experience_message": "Chúng tôi luôn cải thiện trải nghiệm khách hàng.",
|
||||
"meeting_satisfaction_question": "Bạn hài lòng thế nào với cuộc họp gần đây?",
|
||||
"meeting_not_joined_question": "không tham gia cuộc họp?",
|
||||
"reschedule_cta_short": "Đặt lại lịch tại đây.",
|
||||
"you_and_conjunction": "Bạn &",
|
||||
"email_survey_triggered_by_workflow": "Khảo sát này được kích hoạt bởi Quy trình làm việc trong Cal."
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "最多取消的预约",
|
||||
"name_or_email": "姓名或电子邮箱",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "如果未找到联系人,则在存在潜在客户所有者的情况下回退到潜在客户所有者",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 在此上方添加您的新字符串 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 在此上方添加您的新字符串 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "日期和时间",
|
||||
"email_reminder_upcoming_event_notice": "这是关于您即将到来的活动的提醒。",
|
||||
"email_reminder_triggered_by_workflow": "此提醒由 Cal 中的工作流触发。",
|
||||
"event_upper_case": "活动",
|
||||
"scheduling_by": "由...安排",
|
||||
"experience_review_prompt": "您最近的体验如何?",
|
||||
"improve_customer_experience_message": "我们始终致力于改善客户体验。",
|
||||
"meeting_satisfaction_question": "您对最近的会议满意吗?",
|
||||
"meeting_not_joined_question": "没有参加会议?",
|
||||
"reschedule_cta_short": "在此重新安排。",
|
||||
"you_and_conjunction": "你 &",
|
||||
"email_survey_triggered_by_workflow": "该调查由 Cal 中的工作流触发。"
|
||||
}
|
||||
@@ -3053,5 +3053,17 @@
|
||||
"most_cancelled_bookings": "最多取消的預約",
|
||||
"name_or_email": "姓名或電子郵件",
|
||||
"salesforce_round_robin_skip_fallback_to_lead_owner": "如果找不到聯絡人,則回退到潛在客戶擁有者(如果存在)",
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 請在此處新增您的字串 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"
|
||||
"ADD_NEW_STRINGS_ABOVE_THIS_LINE_TO_PREVENT_MERGE_CONFLICTS": "↑↑↑↑↑↑↑↑↑↑↑↑↑ 請在此處新增您的字串 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑",
|
||||
"date_and_time": "日期和時間",
|
||||
"email_reminder_upcoming_event_notice": "這是關於您即將到來的活動的提醒。",
|
||||
"email_reminder_triggered_by_workflow": "此提醒由 Cal 中的工作流程觸發。",
|
||||
"event_upper_case": "活動",
|
||||
"scheduling_by": "由...安排",
|
||||
"experience_review_prompt": "您最近的體驗如何?",
|
||||
"improve_customer_experience_message": "我們始終致力於改善客戶體驗。",
|
||||
"meeting_satisfaction_question": "您對最近的會議滿意嗎?",
|
||||
"meeting_not_joined_question": "沒有參加會議?",
|
||||
"reschedule_cta_short": "在此重新安排。",
|
||||
"you_and_conjunction": "你 &",
|
||||
"email_survey_triggered_by_workflow": "該調查由 Cal 中的工作流程觸發。"
|
||||
}
|
||||
@@ -245,10 +245,10 @@ export async function handler(req: NextRequest) {
|
||||
const brandingDisabled = reminder.booking.eventType?.team
|
||||
? !!reminder.booking.eventType?.team?.hideBranding
|
||||
: !!reminder.booking.user?.hideBranding;
|
||||
|
||||
emailContent = emailReminderTemplate({
|
||||
isEditingMode: false,
|
||||
locale: reminder.booking.user?.locale || "en",
|
||||
t: await getTranslation(reminder.booking.user?.locale ?? "en", "common"),
|
||||
action: reminder.workflowStep.action,
|
||||
timeFormat: getTimeFormatStringFromUserTimeFormat(reminder.booking.user?.timeFormat),
|
||||
startTime: reminder.booking.startTime.toISOString() || "",
|
||||
@@ -276,6 +276,7 @@ export async function handler(req: NextRequest) {
|
||||
isEditingMode: true,
|
||||
locale: reminder.booking.user?.locale || "en",
|
||||
action: reminder.workflowStep.action || WorkflowActions.EMAIL_ADDRESS,
|
||||
t: await getTranslation(reminder.booking.user?.locale ?? "en", "common"),
|
||||
timeFormat: getTimeFormatStringFromUserTimeFormat(reminder.booking.user?.timeFormat),
|
||||
startTime: reminder.booking.startTime.toISOString() || "",
|
||||
endTime: reminder.booking.endTime.toISOString() || "",
|
||||
@@ -383,6 +384,7 @@ export async function handler(req: NextRequest) {
|
||||
emailContent = emailReminderTemplate({
|
||||
isEditingMode: false,
|
||||
locale: reminder.booking.user?.locale || "en",
|
||||
t: await getTranslation(reminder.booking.user?.locale ?? "en", "common"),
|
||||
action: WorkflowActions.EMAIL_ATTENDEE,
|
||||
timeFormat: getTimeFormatStringFromUserTimeFormat(reminder.booking.user?.timeFormat),
|
||||
startTime: reminder.booking.startTime.toISOString() || "",
|
||||
|
||||
@@ -133,6 +133,7 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) {
|
||||
const template = getTemplateBodyForAction({
|
||||
action,
|
||||
locale: i18n.language,
|
||||
t,
|
||||
template: step.template ?? WorkflowTemplates.REMINDER,
|
||||
timeFormat,
|
||||
});
|
||||
@@ -143,6 +144,7 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) {
|
||||
const subjectTemplate = emailReminderTemplate({
|
||||
isEditingMode: true,
|
||||
locale: i18n.language,
|
||||
t,
|
||||
action: form.getValues(`steps.${step.stepNumber - 1}.action`),
|
||||
timeFormat,
|
||||
}).emailSubject;
|
||||
@@ -443,6 +445,7 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) {
|
||||
const template = getTemplateBodyForAction({
|
||||
action: val.value,
|
||||
locale: i18n.language,
|
||||
t,
|
||||
template: WorkflowTemplates.REMINDER,
|
||||
timeFormat,
|
||||
});
|
||||
@@ -762,6 +765,7 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) {
|
||||
const template = getTemplateBodyForAction({
|
||||
action,
|
||||
locale: i18n.language,
|
||||
t,
|
||||
template: val.value ?? WorkflowTemplates.REMINDER,
|
||||
timeFormat,
|
||||
});
|
||||
@@ -775,6 +779,7 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) {
|
||||
emailReminderTemplate({
|
||||
isEditingMode: true,
|
||||
locale: i18n.language,
|
||||
t,
|
||||
action,
|
||||
timeFormat,
|
||||
}).emailSubject
|
||||
@@ -786,6 +791,7 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) {
|
||||
isEditingMode: true,
|
||||
locale: i18n.language,
|
||||
action,
|
||||
t,
|
||||
timeFormat,
|
||||
}).emailSubject
|
||||
);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { WorkflowTriggerEvents } from "@prisma/client";
|
||||
import type { TFunction } from "i18next";
|
||||
|
||||
import type { TimeFormat } from "@calcom/lib/timeFormat";
|
||||
import { WorkflowActions, WorkflowTemplates } from "@calcom/prisma/enums";
|
||||
@@ -113,11 +114,13 @@ export function getWhatsappTemplateForAction(
|
||||
export function getTemplateBodyForAction({
|
||||
action,
|
||||
locale,
|
||||
t,
|
||||
template,
|
||||
timeFormat,
|
||||
}: {
|
||||
action: WorkflowActions;
|
||||
locale: string;
|
||||
t: TFunction;
|
||||
template: WorkflowTemplates;
|
||||
timeFormat: TimeFormat;
|
||||
}): string | null {
|
||||
@@ -132,5 +135,5 @@ export function getTemplateBodyForAction({
|
||||
|
||||
// If not a whatsapp action then it's an email action
|
||||
const templateFunction = getEmailTemplateFunction(template);
|
||||
return templateFunction({ isEditingMode: true, locale, action, timeFormat }).emailBody;
|
||||
return templateFunction({ isEditingMode: true, locale, t, action, timeFormat }).emailBody;
|
||||
}
|
||||
|
||||
@@ -177,6 +177,7 @@ export const scheduleEmailReminder = async (args: scheduleEmailReminderArgs) =>
|
||||
emailContent = emailReminderTemplate({
|
||||
isEditingMode: false,
|
||||
locale: evt.organizer.language.locale,
|
||||
t: await getTranslation(evt.organizer.language.locale || "en", "common"),
|
||||
action,
|
||||
timeFormat: evt.organizer.timeFormat,
|
||||
startTime,
|
||||
@@ -193,6 +194,7 @@ export const scheduleEmailReminder = async (args: scheduleEmailReminderArgs) =>
|
||||
isEditingMode: true,
|
||||
locale: evt.organizer.language.locale,
|
||||
action,
|
||||
t: await getTranslation(evt.organizer.language.locale || "en", "common"),
|
||||
timeFormat: evt.organizer.timeFormat,
|
||||
startTime,
|
||||
endTime,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import type { TFunction } from "i18next";
|
||||
|
||||
import dayjs from "@calcom/dayjs";
|
||||
import { APP_NAME } from "@calcom/lib/constants";
|
||||
import { TimeFormat } from "@calcom/lib/timeFormat";
|
||||
@@ -7,6 +9,7 @@ const emailRatingTemplate = ({
|
||||
isEditingMode,
|
||||
locale,
|
||||
action,
|
||||
t,
|
||||
timeFormat,
|
||||
startTime,
|
||||
endTime,
|
||||
@@ -21,6 +24,7 @@ const emailRatingTemplate = ({
|
||||
isEditingMode: boolean;
|
||||
locale: string;
|
||||
action: WorkflowActions;
|
||||
t: TFunction;
|
||||
timeFormat?: TimeFormat;
|
||||
startTime?: string;
|
||||
endTime?: string;
|
||||
@@ -52,26 +56,30 @@ const emailRatingTemplate = ({
|
||||
endTime = dayjs(endTime).tz(timeZone).locale(locale).format(currentTimeFormat);
|
||||
}
|
||||
|
||||
const emailSubject = `How was your recent experience? ${eventName}`;
|
||||
const emailSubject = `${t("experience_review_prompt")} ${eventName}`;
|
||||
|
||||
const introHtml = `<p>Hi${
|
||||
name ? ` ${name}` : ""
|
||||
},<br><br>We're always looking to improve our customer's experience. How satisfied were you with your recent meeting?<br></p>`;
|
||||
const introHtml = `<p>${t("hi")}${name ? ` ${name}` : ""},<br><br>${t(
|
||||
"improve_customer_experience_message"
|
||||
)} ${t("meeting_satisfaction_question")}<br></p>`;
|
||||
|
||||
const ratingHtml = `<h6><a href="${ratingUrl}=1">😠 </a> <a href="${ratingUrl}=2">🙁 </a> <a href="${ratingUrl}=3">😐 </a> <a href="${ratingUrl}=4">😄 </a> <a href="${ratingUrl}=5">😍</a></h6>`;
|
||||
|
||||
const noShowHtml = `${organizer} didn't join the meeting?<a href="${noShowUrl}"> Reschedule here</a><br><br>`;
|
||||
const noShowHtml = `${organizer} ${t("meeting_not_joined_question")}<a href="${noShowUrl}"> ${t(
|
||||
"reschedule_cta_short"
|
||||
)}</a><br><br>`;
|
||||
|
||||
const eventHtml = `<strong>Event: </strong>${eventName}<br><br>`;
|
||||
const eventHtml = `<strong>${t("event_upper_case")}: </strong>${eventName}<br><br>`;
|
||||
|
||||
const dateTimeHtml = `<strong>Date & Time: </strong>${eventDate} - ${endTime} (${timeZone})<br><br>`;
|
||||
const dateTimeHtml = `<strong>${t(
|
||||
"date_and_time"
|
||||
)}: </strong>${eventDate} - ${endTime} (${timeZone})<br><br>`;
|
||||
|
||||
const attendeeHtml = `<strong>Attendees: </strong>You & ${organizer}<br><br>`;
|
||||
const attendeeHtml = `<strong>${t("attendees")}: </strong>${t("you_and_conjunction")} ${organizer}<br><br>`;
|
||||
|
||||
const branding =
|
||||
!isBrandingDisabled && !isEditingMode ? `<div>_<br><br>Scheduling by ${APP_NAME}</div>` : "";
|
||||
!isBrandingDisabled && !isEditingMode ? `<div>_<br><br>${t("scheduling_by")} ${APP_NAME}</div>` : "";
|
||||
|
||||
const endingHtml = `This survey was triggered by a Workflow in Cal.${branding}`;
|
||||
const endingHtml = `${t("email_survey_triggered_by_workflow")}${branding}`;
|
||||
|
||||
const emailBody = `<body>${introHtml}${ratingHtml}<p>${noShowHtml}${eventHtml}${dateTimeHtml}${attendeeHtml}${endingHtml}</p></body>`;
|
||||
|
||||
@@ -81,4 +89,4 @@ const emailRatingTemplate = ({
|
||||
export default emailRatingTemplate;
|
||||
|
||||
export const plainTextTemplate =
|
||||
"Hi {ORGANIZER},We're always looking to improve our customer's experience. How satisfied were you with your recent meeting?😠 🙁 😐 😄 😍{ORGANIZER} didn't join the meeting? Reschedule hereEvent: {EVENT_NAME}Date & Time: {EVENT_DATE_ddd, MMM D, YYYY h:mma} - {EVENT_END_TIME} ({TIMEZONE})Attendees: You & {ORGANIZER}This survey was triggered by a Workflow in Cal.";
|
||||
"Hi {ORGANIZER},We're always looking to improve our customer's experience. How satisfied were you with your recent meeting?😠 🙁 😐 😄 😍{ORGANIZER} didn't join the meeting? Reschedule here.Event: {EVENT_NAME}Date & Time: {EVENT_DATE_ddd, MMM D, YYYY h:mma} - {EVENT_END_TIME} ({TIMEZONE})Attendees: You & {ORGANIZER}This survey was triggered by a Workflow in Cal.";
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import type { TFunction } from "i18next";
|
||||
|
||||
import { guessEventLocationType } from "@calcom/app-store/locations";
|
||||
import dayjs from "@calcom/dayjs";
|
||||
import { APP_NAME } from "@calcom/lib/constants";
|
||||
@@ -7,6 +9,7 @@ import { WorkflowActions } from "@calcom/prisma/enums";
|
||||
const emailReminderTemplate = ({
|
||||
isEditingMode,
|
||||
locale,
|
||||
t,
|
||||
action,
|
||||
timeFormat,
|
||||
startTime,
|
||||
@@ -21,6 +24,7 @@ const emailReminderTemplate = ({
|
||||
}: {
|
||||
isEditingMode: boolean;
|
||||
locale: string;
|
||||
t: TFunction;
|
||||
action?: WorkflowActions;
|
||||
timeFormat?: TimeFormat;
|
||||
startTime?: string;
|
||||
@@ -53,23 +57,32 @@ const emailReminderTemplate = ({
|
||||
endTime = dayjs(endTime).tz(timeZone).locale(locale).format(currentTimeFormat);
|
||||
}
|
||||
|
||||
const emailSubject = `Reminder: ${eventName} - ${eventDate}`;
|
||||
const emailSubject = `${t("reminder")}: ${eventName} - ${eventDate}`;
|
||||
|
||||
const introHtml = `<body>Hi${
|
||||
name ? ` ${name}` : ""
|
||||
},<br><br>This is a reminder about your upcoming event.<br><br>`;
|
||||
const introHtml = `<body>${t("hi")}${name ? ` ${name}` : ""},<br><br>${t?.(
|
||||
"email_reminder_upcoming_event_notice"
|
||||
)}<br><br>`;
|
||||
|
||||
const eventHtml = `<div><strong class="editor-text-bold">Event: </strong></div>${eventName}<br><br>`;
|
||||
const eventHtml = `<div><strong class="editor-text-bold">${t(
|
||||
"event_upper_case"
|
||||
)}: </strong></div>${eventName}<br><br>`;
|
||||
|
||||
const dateTimeHtml = `<div><strong class="editor-text-bold">Date & Time: </strong></div>${eventDate} - ${endTime} (${timeZone})<br><br>`;
|
||||
const dateTimeHtml = `<div><strong class="editor-text-bold">${t(
|
||||
"date_and_time"
|
||||
)}: </strong></div>${eventDate} - ${endTime} (${timeZone})<br><br>`;
|
||||
|
||||
const attendeeHtml = `<div><strong class="editor-text-bold">Attendees: </strong></div>You & ${otherPerson}<br><br>`;
|
||||
const attendeeHtml = `<div><strong class="editor-text-bold">${t("attendees")}: </strong></div>${t(
|
||||
"you_and_conjunction"
|
||||
)} ${otherPerson}<br><br>`;
|
||||
|
||||
const locationHtml = `<div><strong class="editor-text-bold">Location: </strong></div>${locationString}<br><br>`;
|
||||
const locationHtml = `<div><strong class="editor-text-bold">${t(
|
||||
"location"
|
||||
)}: </strong></div>${locationString}<br><br>`;
|
||||
|
||||
const branding = !isBrandingDisabled && !isEditingMode ? `<br><br>_<br><br>Scheduling by ${APP_NAME}` : "";
|
||||
const branding =
|
||||
!isBrandingDisabled && !isEditingMode ? `<br><br>_<br><br>${t("scheduling_by")} ${APP_NAME}` : "";
|
||||
|
||||
const endingHtml = `This reminder was triggered by a Workflow in Cal.${branding}</body>`;
|
||||
const endingHtml = `${t("email_reminder_triggered_by_workflow")}${branding}</body>`;
|
||||
|
||||
const emailBody = introHtml + eventHtml + dateTimeHtml + attendeeHtml + locationHtml + endingHtml;
|
||||
|
||||
@@ -78,5 +91,4 @@ const emailReminderTemplate = ({
|
||||
|
||||
export default emailReminderTemplate;
|
||||
|
||||
export const plainTextTemplate =
|
||||
"Hi {ORGANIZER},This is a reminder about your upcoming event.Event: {EVENT_NAME}Date & Time: {EVENT_DATE_ddd, MMM D, YYYY h:mma} - {EVENT_END_TIME} ({TIMEZONE})Attendees: You & {ATTENDEE}Location: {LOCATION} {MEETING_URL}This reminder was triggered by a Workflow in Cal.";
|
||||
export const plainTextTemplate = `Hi {ORGANIZER},This is a reminder about your upcoming event.Event: {EVENT_NAME}Date & Time: {EVENT_DATE_ddd, MMM D, YYYY h:mma} - {EVENT_END_TIME} ({TIMEZONE})Attendees: You & {ATTENDEE}Location: {LOCATION} {MEETING_URL}This reminder was triggered by a Workflow in Cal.`;
|
||||
|
||||
@@ -1,12 +1,28 @@
|
||||
import { createInstance } from "i18next";
|
||||
import { expect, test, describe } from "vitest";
|
||||
|
||||
import { getTranslation } from "@calcom/lib/server/i18n";
|
||||
import { TimeFormat } from "@calcom/lib/timeFormat";
|
||||
import { WorkflowActions, WorkflowTemplates } from "@calcom/prisma/enums";
|
||||
import en from "@calcom/web/public/static/locales/en/common.json";
|
||||
|
||||
import { getTemplateBodyForAction } from "../actionHelperFunctions";
|
||||
import compareReminderBodyToTemplate from "../compareReminderBodyToTemplate";
|
||||
import plainTextReminderTemplates from "../reminders/templates/plainTextTemplates";
|
||||
|
||||
const translation = async () => {
|
||||
const _i18n = createInstance();
|
||||
await _i18n.init({
|
||||
lng: "en",
|
||||
resources: {
|
||||
en: {
|
||||
translation: en,
|
||||
},
|
||||
},
|
||||
});
|
||||
return _i18n.getFixedT("en");
|
||||
};
|
||||
|
||||
describe("compareReminderBodyToTemplate", () => {
|
||||
test("should return true if reminderBody and template are the same", () => {
|
||||
const reminderBody = "<p>Test</p>";
|
||||
@@ -21,12 +37,13 @@ describe("compareReminderBodyToTemplate", () => {
|
||||
});
|
||||
|
||||
describe("email templates", () => {
|
||||
test("reminder", () => {
|
||||
test("reminder", async () => {
|
||||
const template = getTemplateBodyForAction({
|
||||
action: WorkflowActions.EMAIL_HOST,
|
||||
template: WorkflowTemplates.REMINDER,
|
||||
timeFormat: TimeFormat.TWELVE_HOUR,
|
||||
locale: "en",
|
||||
t: await translation(),
|
||||
});
|
||||
|
||||
if (!template) throw new Error("template not found");
|
||||
@@ -35,12 +52,13 @@ describe("compareReminderBodyToTemplate", () => {
|
||||
expect(compareReminderBodyToTemplate({ reminderBody, template })).toBe(true);
|
||||
});
|
||||
|
||||
test("rating", () => {
|
||||
test("rating", async () => {
|
||||
const template = getTemplateBodyForAction({
|
||||
action: WorkflowActions.EMAIL_HOST,
|
||||
template: WorkflowTemplates.RATING,
|
||||
timeFormat: TimeFormat.TWELVE_HOUR,
|
||||
locale: "en",
|
||||
t: await translation(),
|
||||
});
|
||||
|
||||
if (!template) throw new Error("template not found");
|
||||
@@ -51,12 +69,13 @@ describe("compareReminderBodyToTemplate", () => {
|
||||
});
|
||||
|
||||
describe("sms templates", () => {
|
||||
test("reminder", () => {
|
||||
test("reminder", async () => {
|
||||
const template = getTemplateBodyForAction({
|
||||
action: WorkflowActions.SMS_ATTENDEE,
|
||||
template: WorkflowTemplates.REMINDER,
|
||||
timeFormat: TimeFormat.TWELVE_HOUR,
|
||||
locale: "en",
|
||||
t: await getTranslation("en", "common"),
|
||||
});
|
||||
|
||||
if (!template) throw new Error("template not found");
|
||||
@@ -67,12 +86,13 @@ describe("compareReminderBodyToTemplate", () => {
|
||||
});
|
||||
|
||||
describe("whatsapp templates", () => {
|
||||
test("reminder", () => {
|
||||
test("reminder", async () => {
|
||||
const template = getTemplateBodyForAction({
|
||||
action: WorkflowActions.WHATSAPP_ATTENDEE,
|
||||
template: WorkflowTemplates.REMINDER,
|
||||
timeFormat: TimeFormat.TWELVE_HOUR,
|
||||
locale: "en",
|
||||
t: await getTranslation("en", "common"),
|
||||
});
|
||||
|
||||
if (!template) throw new Error("template not found");
|
||||
@@ -81,12 +101,13 @@ describe("compareReminderBodyToTemplate", () => {
|
||||
expect(compareReminderBodyToTemplate({ reminderBody, template })).toBe(true);
|
||||
});
|
||||
|
||||
test("rescheduled", () => {
|
||||
test("rescheduled", async () => {
|
||||
const template = getTemplateBodyForAction({
|
||||
action: WorkflowActions.WHATSAPP_ATTENDEE,
|
||||
template: WorkflowTemplates.RESCHEDULED,
|
||||
timeFormat: TimeFormat.TWELVE_HOUR,
|
||||
locale: "en",
|
||||
t: await getTranslation("en", "common"),
|
||||
});
|
||||
|
||||
if (!template) throw new Error("template not found");
|
||||
@@ -95,12 +116,13 @@ describe("compareReminderBodyToTemplate", () => {
|
||||
expect(compareReminderBodyToTemplate({ reminderBody, template })).toBe(true);
|
||||
});
|
||||
|
||||
test("completed", () => {
|
||||
test("completed", async () => {
|
||||
const template = getTemplateBodyForAction({
|
||||
action: WorkflowActions.WHATSAPP_ATTENDEE,
|
||||
template: WorkflowTemplates.COMPLETED,
|
||||
timeFormat: TimeFormat.TWELVE_HOUR,
|
||||
locale: "en",
|
||||
t: await getTranslation("en", "common"),
|
||||
});
|
||||
|
||||
if (!template) throw new Error("template not found");
|
||||
@@ -109,12 +131,13 @@ describe("compareReminderBodyToTemplate", () => {
|
||||
expect(compareReminderBodyToTemplate({ reminderBody, template })).toBe(true);
|
||||
});
|
||||
|
||||
test("canceled", () => {
|
||||
test("canceled", async () => {
|
||||
const template = getTemplateBodyForAction({
|
||||
action: WorkflowActions.WHATSAPP_ATTENDEE,
|
||||
template: WorkflowTemplates.CANCELLED,
|
||||
timeFormat: TimeFormat.TWELVE_HOUR,
|
||||
locale: "en",
|
||||
t: await getTranslation("en", "common"),
|
||||
});
|
||||
|
||||
if (!template) throw new Error("template not found");
|
||||
|
||||
@@ -7,6 +7,7 @@ import compareReminderBodyToTemplate from "@calcom/features/ee/workflows/lib/com
|
||||
import { lockUser, LockReason } from "@calcom/lib/autoLock";
|
||||
import { WEBAPP_URL } from "@calcom/lib/constants";
|
||||
import logger from "@calcom/lib/logger";
|
||||
import { getTranslation } from "@calcom/lib/server/i18n";
|
||||
import { getTimeFormatStringFromUserTimeFormat } from "@calcom/lib/timeFormat";
|
||||
import prisma from "@calcom/prisma";
|
||||
import { scheduleWorkflowNotifications } from "@calcom/trpc/server/routers/viewer/workflows/util";
|
||||
@@ -67,6 +68,7 @@ export async function scanWorkflowBody(payload: string) {
|
||||
const defaultTemplate = getTemplateBodyForAction({
|
||||
action: workflowStep.action,
|
||||
locale: workflowStep.workflow.user?.locale ?? "en",
|
||||
t: await getTranslation(workflowStep.workflow.user?.locale ?? "en", "common"),
|
||||
template: workflowStep.template,
|
||||
timeFormat,
|
||||
});
|
||||
|
||||
@@ -2,6 +2,7 @@ import type { Workflow } from "@prisma/client";
|
||||
|
||||
import emailReminderTemplate from "@calcom/ee/workflows/lib/reminders/templates/emailReminderTemplate";
|
||||
import { SENDER_NAME } from "@calcom/lib/constants";
|
||||
import { getTranslation } from "@calcom/lib/server/i18n";
|
||||
import { getTimeFormatStringFromUserTimeFormat } from "@calcom/lib/timeFormat";
|
||||
import type { PrismaClient } from "@calcom/prisma";
|
||||
import { prisma } from "@calcom/prisma";
|
||||
@@ -69,6 +70,7 @@ export const createHandler = async ({ ctx, input }: CreateOptions) => {
|
||||
const renderedEmailTemplate = emailReminderTemplate({
|
||||
isEditingMode: true,
|
||||
locale: ctx.user.locale,
|
||||
t: await getTranslation(ctx.user.locale, "common"),
|
||||
action: WorkflowActions.EMAIL_ATTENDEE,
|
||||
timeFormat: getTimeFormatStringFromUserTimeFormat(ctx.user.timeFormat),
|
||||
});
|
||||
|
||||
@@ -355,7 +355,7 @@ export const updateHandler = async ({ ctx, input }: UpdateOptions) => {
|
||||
|
||||
if (isEmailAction(newStep.action)) {
|
||||
// on free plans always use predefined templates
|
||||
const { emailBody, emailSubject } = getEmailTemplateText(newStep.template, {
|
||||
const { emailBody, emailSubject } = await getEmailTemplateText(newStep.template, {
|
||||
locale: ctx.user.locale,
|
||||
action: newStep.action,
|
||||
timeFormat: ctx.user.timeFormat,
|
||||
@@ -430,7 +430,7 @@ export const updateHandler = async ({ ctx, input }: UpdateOptions) => {
|
||||
}
|
||||
|
||||
// on free plans always use predefined templates
|
||||
const { emailBody, emailSubject } = getEmailTemplateText(newStep.template, {
|
||||
const { emailBody, emailSubject } = await getEmailTemplateText(newStep.template, {
|
||||
locale: ctx.user.locale,
|
||||
action: newStep.action,
|
||||
timeFormat: ctx.user.timeFormat,
|
||||
|
||||
@@ -20,6 +20,7 @@ import { getBookerBaseUrl } from "@calcom/lib/getBookerUrl/server";
|
||||
import getOrgIdFromMemberOrTeamId from "@calcom/lib/getOrgIdFromMemberOrTeamId";
|
||||
import { getTeamIdFromEventType } from "@calcom/lib/getTeamIdFromEventType";
|
||||
import logger from "@calcom/lib/logger";
|
||||
import { getTranslation } from "@calcom/lib/server/i18n";
|
||||
import { WorkflowRepository } from "@calcom/lib/server/repository/workflow";
|
||||
import { getTimeFormatStringFromUserTimeFormat } from "@calcom/lib/timeFormat";
|
||||
import prisma from "@calcom/prisma";
|
||||
@@ -865,7 +866,7 @@ export const getEventTypeWorkflows = async (
|
||||
return workflows.map((workflow) => ({ workflow }));
|
||||
};
|
||||
|
||||
export function getEmailTemplateText(
|
||||
export async function getEmailTemplateText(
|
||||
template: WorkflowTemplates,
|
||||
params: { locale: string; action: WorkflowActions; timeFormat: number | null }
|
||||
) {
|
||||
@@ -876,6 +877,7 @@ export function getEmailTemplateText(
|
||||
let { emailBody, emailSubject } = emailReminderTemplate({
|
||||
isEditingMode: true,
|
||||
locale,
|
||||
t: await getTranslation(locale ?? "en", "common"),
|
||||
action,
|
||||
timeFormat,
|
||||
});
|
||||
@@ -885,6 +887,7 @@ export function getEmailTemplateText(
|
||||
isEditingMode: true,
|
||||
locale,
|
||||
action,
|
||||
t: await getTranslation(locale ?? "en", "common"),
|
||||
timeFormat,
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user