From a8d6cd8a9f099179c94e708cb15485b5302793d3 Mon Sep 17 00:00:00 2001
From: Labeeb <44992984+labeebahmad201@users.noreply.github.com>
Date: Thu, 30 Apr 2026 00:46:13 -0400
Subject: [PATCH 1/4] fix: 7817 use fully translated inactive survey headings
(#7836)
---
apps/web/locales/de-DE.json | 7 +++++--
apps/web/locales/en-US.json | 7 +++++--
apps/web/locales/es-ES.json | 7 +++++--
apps/web/locales/fr-FR.json | 7 +++++--
apps/web/locales/hu-HU.json | 7 +++++--
apps/web/locales/ja-JP.json | 7 +++++--
apps/web/locales/nl-NL.json | 7 +++++--
apps/web/locales/pt-BR.json | 7 +++++--
apps/web/locales/pt-PT.json | 7 +++++--
apps/web/locales/ro-RO.json | 7 +++++--
apps/web/locales/ru-RU.json | 7 +++++--
apps/web/locales/sv-SE.json | 7 +++++--
apps/web/locales/tr-TR.json | 7 +++++--
apps/web/locales/zh-Hans-CN.json | 7 +++++--
apps/web/locales/zh-Hant-TW.json | 7 +++++--
.../modules/survey/link/components/survey-inactive.tsx | 10 +++++++++-
16 files changed, 84 insertions(+), 31 deletions(-)
diff --git a/apps/web/locales/de-DE.json b/apps/web/locales/de-DE.json
index fb5bb09b49b8..1c053e91331b 100644
--- a/apps/web/locales/de-DE.json
+++ b/apps/web/locales/de-DE.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "Dein Link ist abgelaufen.",
- "link_expired_description": "Der von dir verwendete Link ist nicht mehr gültig."
+ "link_expired_description": "Der von dir verwendete Link ist nicht mehr gültig.",
+ "link_expired_heading": "Dein Link ist abgelaufen."
},
"common": {
"accepted": "Akzeptiert",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Bestätige deine E-Mail, um zu antworten",
"verify_email_before_submission_button": "Überprüfen",
"verify_email_before_submission_description": "Um an dieser Umfrage teilzunehmen, bitte bestätige deine E-Mail",
- "want_to_respond": "Möchtest Du antworten?"
+ "want_to_respond": "Möchtest Du antworten?",
+ "paused_heading": "Pausiert",
+ "completed_heading": "Abgeschlossen"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/en-US.json b/apps/web/locales/en-US.json
index f878c774d8c0..3f825dad9989 100644
--- a/apps/web/locales/en-US.json
+++ b/apps/web/locales/en-US.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "Your link is expired.",
- "link_expired_description": "The link you used is no longer valid."
+ "link_expired_description": "The link you used is no longer valid.",
+ "link_expired_heading": "Your link is expired."
},
"common": {
"accepted": "Accepted",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Verify your email to respond",
"verify_email_before_submission_button": "Verify",
"verify_email_before_submission_description": "To respond to this survey, please verify your email",
- "want_to_respond": "Want to respond?"
+ "want_to_respond": "Want to respond?",
+ "paused_heading": "Paused",
+ "completed_heading": "Completed"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/es-ES.json b/apps/web/locales/es-ES.json
index 4d98b43b09b6..2946567bb84a 100644
--- a/apps/web/locales/es-ES.json
+++ b/apps/web/locales/es-ES.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "Tu enlace ha caducado.",
- "link_expired_description": "El enlace que has utilizado ya no es válido."
+ "link_expired_description": "El enlace que has utilizado ya no es válido.",
+ "link_expired_heading": "Tu enlace ha caducado."
},
"common": {
"accepted": "Aceptado",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Verifica tu correo electrónico para responder",
"verify_email_before_submission_button": "Verificar",
"verify_email_before_submission_description": "Para responder a esta encuesta, por favor verifica tu correo electrónico",
- "want_to_respond": "¿Quieres responder?"
+ "want_to_respond": "¿Quieres responder?",
+ "paused_heading": "Pausado",
+ "completed_heading": "Completado"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/fr-FR.json b/apps/web/locales/fr-FR.json
index 41f3d5e65949..9148897bdc3e 100644
--- a/apps/web/locales/fr-FR.json
+++ b/apps/web/locales/fr-FR.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "Votre lien est expiré.",
- "link_expired_description": "Le lien que vous avez utilisé n'est plus valide."
+ "link_expired_description": "Le lien que vous avez utilisé n'est plus valide.",
+ "link_expired_heading": "Votre lien est expiré."
},
"common": {
"accepted": "Accepté",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Vérifiez votre email pour répondre.",
"verify_email_before_submission_button": "Vérifier",
"verify_email_before_submission_description": "Pour répondre à cette enquête, veuillez vérifier votre e-mail.",
- "want_to_respond": "Voulez-vous répondre ?"
+ "want_to_respond": "Voulez-vous répondre ?",
+ "paused_heading": "En pause",
+ "completed_heading": "Terminé"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/hu-HU.json b/apps/web/locales/hu-HU.json
index 7ff56cd6bf81..d97f970441c0 100644
--- a/apps/web/locales/hu-HU.json
+++ b/apps/web/locales/hu-HU.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "A hivatkozása lejárt.",
- "link_expired_description": "Az Ön által használt hivatkozás már nem érvényes."
+ "link_expired_description": "Az Ön által használt hivatkozás már nem érvényes.",
+ "link_expired_heading": "A hivatkozása lejárt."
},
"common": {
"accepted": "Elfogadva",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Ellenőrizze az e-mail-címét a válaszadáshoz",
"verify_email_before_submission_button": "Ellenőrzés",
"verify_email_before_submission_description": "A kérdőívre való válaszadáshoz ellenőrizze az e-mail-címét",
- "want_to_respond": "Szeretne válaszolni?"
+ "want_to_respond": "Szeretne válaszolni?",
+ "paused_heading": "Szüneteltetve",
+ "completed_heading": "Befejezve"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/ja-JP.json b/apps/web/locales/ja-JP.json
index f0fbd192af68..d6974ac94878 100644
--- a/apps/web/locales/ja-JP.json
+++ b/apps/web/locales/ja-JP.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "リンクの有効期限が切れています。",
- "link_expired_description": "使用したリンクはすでに無効です。"
+ "link_expired_description": "使用したリンクはすでに無効です。",
+ "link_expired_heading": "リンクの有効期限が切れています。"
},
"common": {
"accepted": "承認済み",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "回答するにはメールアドレスを認証してください",
"verify_email_before_submission_button": "認証",
"verify_email_before_submission_description": "このフォームに回答するには、メールアドレスを認証してください",
- "want_to_respond": "回答しますか?"
+ "want_to_respond": "回答しますか?",
+ "paused_heading": "一時停止",
+ "completed_heading": "完了"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/nl-NL.json b/apps/web/locales/nl-NL.json
index 07d939b6ecf4..0f098131c0aa 100644
--- a/apps/web/locales/nl-NL.json
+++ b/apps/web/locales/nl-NL.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "Uw link is verlopen.",
- "link_expired_description": "De link die u gebruikte is niet meer geldig."
+ "link_expired_description": "De link die u gebruikte is niet meer geldig.",
+ "link_expired_heading": "Uw link is verlopen."
},
"common": {
"accepted": "Geaccepteerd",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Verifieer uw e-mailadres om te reageren",
"verify_email_before_submission_button": "Verifiëren",
"verify_email_before_submission_description": "Om op deze enquête te reageren, dient u uw e-mailadres te verifiëren",
- "want_to_respond": "Wilt u reageren?"
+ "want_to_respond": "Wilt u reageren?",
+ "paused_heading": "Gepauzeerd",
+ "completed_heading": "Voltooid"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/pt-BR.json b/apps/web/locales/pt-BR.json
index 34f252e3d79d..fdf1b28b7e10 100644
--- a/apps/web/locales/pt-BR.json
+++ b/apps/web/locales/pt-BR.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "Seu link está expirado.",
- "link_expired_description": "O link que você usou não é mais válido."
+ "link_expired_description": "O link que você usou não é mais válido.",
+ "link_expired_heading": "Seu link está expirado."
},
"common": {
"accepted": "Aceito",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Verifique seu e-mail para responder",
"verify_email_before_submission_button": "Verificar",
"verify_email_before_submission_description": "Para responder a esta pesquisa, confirme seu e-mail",
- "want_to_respond": "Quer responder?"
+ "want_to_respond": "Quer responder?",
+ "paused_heading": "Pausado",
+ "completed_heading": "Concluído"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/pt-PT.json b/apps/web/locales/pt-PT.json
index e6bec31c2be2..bb20830e2933 100644
--- a/apps/web/locales/pt-PT.json
+++ b/apps/web/locales/pt-PT.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "O seu link expirou.",
- "link_expired_description": "O link que utilizou já não é válido."
+ "link_expired_description": "O link que utilizou já não é válido.",
+ "link_expired_heading": "O seu link expirou."
},
"common": {
"accepted": "Aceite",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Verifique o seu email para responder",
"verify_email_before_submission_button": "Verificar",
"verify_email_before_submission_description": "Para responder a este questionário, por favor verifique o seu email",
- "want_to_respond": "Quer responder?"
+ "want_to_respond": "Quer responder?",
+ "paused_heading": "Em pausa",
+ "completed_heading": "Concluído"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/ro-RO.json b/apps/web/locales/ro-RO.json
index a942c645dc69..9de873516956 100644
--- a/apps/web/locales/ro-RO.json
+++ b/apps/web/locales/ro-RO.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "Link-ul dumneavoastră a expirat.",
- "link_expired_description": "Link-ul pe care l-ați utilizat nu mai este valabil."
+ "link_expired_description": "Link-ul pe care l-ați utilizat nu mai este valabil.",
+ "link_expired_heading": "Link-ul dumneavoastră a expirat."
},
"common": {
"accepted": "Acceptat",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Verificați-vă emailul pentru a răspunde",
"verify_email_before_submission_button": "Verifică",
"verify_email_before_submission_description": "Pentru a răspunde la acest sondaj, vă rugăm să vă verificați emailul",
- "want_to_respond": "Dorești să răspunzi?"
+ "want_to_respond": "Dorești să răspunzi?",
+ "paused_heading": "Pauză",
+ "completed_heading": "Completat"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/ru-RU.json b/apps/web/locales/ru-RU.json
index 3c2851656d9d..dfba79d9a184 100644
--- a/apps/web/locales/ru-RU.json
+++ b/apps/web/locales/ru-RU.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "Ваша ссылка истекла.",
- "link_expired_description": "Ссылка, которой вы воспользовались, больше не действительна."
+ "link_expired_description": "Ссылка, которой вы воспользовались, больше не действительна.",
+ "link_expired_heading": "Ваша ссылка истекла."
},
"common": {
"accepted": "Принято",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Подтвердите свой email, чтобы ответить",
"verify_email_before_submission_button": "Подтвердить",
"verify_email_before_submission_description": "Чтобы ответить на этот опрос, пожалуйста, подтвердите свой email",
- "want_to_respond": "Хотите ответить?"
+ "want_to_respond": "Хотите ответить?",
+ "paused_heading": "Приостановлено",
+ "completed_heading": "Завершено"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/sv-SE.json b/apps/web/locales/sv-SE.json
index 9058fc4c551d..111d25a91646 100644
--- a/apps/web/locales/sv-SE.json
+++ b/apps/web/locales/sv-SE.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "Din länk har gått ut.",
- "link_expired_description": "Länken du använde är inte längre giltig."
+ "link_expired_description": "Länken du använde är inte längre giltig.",
+ "link_expired_heading": "Din länk har gått ut."
},
"common": {
"accepted": "Accepterad",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Verifiera din e-post för att svara",
"verify_email_before_submission_button": "Verifiera",
"verify_email_before_submission_description": "För att svara på denna enkät, vänligen verifiera din e-post",
- "want_to_respond": "Vill du svara?"
+ "want_to_respond": "Vill du svara?",
+ "paused_heading": "Pausad",
+ "completed_heading": "Slutförd"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/tr-TR.json b/apps/web/locales/tr-TR.json
index 7f11a91d8372..2fc8f720e686 100644
--- a/apps/web/locales/tr-TR.json
+++ b/apps/web/locales/tr-TR.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "Bağlantınızın süresi doldu.",
- "link_expired_description": "Kullandığınız bağlantı artık geçerli değil."
+ "link_expired_description": "Kullandığınız bağlantı artık geçerli değil.",
+ "link_expired_heading": "Bağlantınızın süresi doldu."
},
"common": {
"accepted": "Kabul Edildi",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "Yanıtlamak için email adresinizi doğrulayın",
"verify_email_before_submission_button": "Doğrula",
"verify_email_before_submission_description": "Bu survey'e yanıt vermek için lütfen email adresinizi doğrulayın",
- "want_to_respond": "Yanıtlamak ister misiniz?"
+ "want_to_respond": "Yanıtlamak ister misiniz?",
+ "paused_heading": "Duraklatıldı",
+ "completed_heading": "Tamamlandı"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/zh-Hans-CN.json b/apps/web/locales/zh-Hans-CN.json
index 5ccaed52933d..86cd411850cf 100644
--- a/apps/web/locales/zh-Hans-CN.json
+++ b/apps/web/locales/zh-Hans-CN.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "您的 链接 已过期。",
- "link_expired_description": "您 使用 的 链接 已失效。"
+ "link_expired_description": "您 使用 的 链接 已失效。",
+ "link_expired_heading": "您的 链接 已过期。"
},
"common": {
"accepted": "已接受",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "验证 您的 邮件 以 响应",
"verify_email_before_submission_button": "验证",
"verify_email_before_submission_description": "要 响应 此 调查,请 验证 您的 邮件",
- "want_to_respond": "想要 参与 吗?"
+ "want_to_respond": "想要 参与 吗?",
+ "paused_heading": "暂停",
+ "completed_heading": "完成"
},
"setup": {
"intro": {
diff --git a/apps/web/locales/zh-Hant-TW.json b/apps/web/locales/zh-Hant-TW.json
index 1c4f01afdf40..a0d2194183f9 100644
--- a/apps/web/locales/zh-Hant-TW.json
+++ b/apps/web/locales/zh-Hant-TW.json
@@ -111,7 +111,8 @@
},
"c": {
"link_expired": "您 的 連結 已過期。",
- "link_expired_description": "您 使用 的 連結 已無效。"
+ "link_expired_description": "您 使用 的 連結 已無效。",
+ "link_expired_heading": "您 的 連結 已過期。"
},
"common": {
"accepted": "已接受",
@@ -2446,7 +2447,9 @@
"verify_email_before_submission": "驗證您的電子郵件以回應",
"verify_email_before_submission_button": "驗證",
"verify_email_before_submission_description": "若要回應此問卷,請驗證您的電子郵件",
- "want_to_respond": "想要回應嗎?"
+ "want_to_respond": "想要回應嗎?",
+ "paused_heading": "已暫停",
+ "completed_heading": "已完成"
},
"setup": {
"intro": {
diff --git a/apps/web/modules/survey/link/components/survey-inactive.tsx b/apps/web/modules/survey/link/components/survey-inactive.tsx
index ca851fe8282d..f86e618f79ab 100644
--- a/apps/web/modules/survey/link/components/survey-inactive.tsx
+++ b/apps/web/modules/survey/link/components/survey-inactive.tsx
@@ -33,6 +33,14 @@ export const SurveyInactive = async ({
"link expired": t("c.link_expired_description"),
};
+ const headings = {
+ paused: t("s.paused_heading"),
+ completed: t("s.completed_heading"),
+ "link invalid": t("s.this_looks_fishy"),
+ "response submitted": t("s.survey_already_answered_heading"),
+ "link expired": t("c.link_expired_heading"),
+ };
+
const showCTA =
status !== "link invalid" &&
status !== "link expired" &&
@@ -47,7 +55,7 @@ export const SurveyInactive = async ({
{(status === "completed" || status === "link expired") && surveyClosedMessage
? surveyClosedMessage.heading
- : `${t("common.survey")} ${status}.`}
+ : headings[status]}
{status === "completed" && surveyClosedMessage
From e0250b2a58a62f6cfb6f80a49571a6b73ec4f4dd Mon Sep 17 00:00:00 2001
From: Johannes <72809645+jobenjada@users.noreply.github.com>
Date: Wed, 29 Apr 2026 23:27:48 -0700
Subject: [PATCH 2/4] fix: include partial response in trigger description
(#7908)
Co-authored-by: Cursor Agent
Co-authored-by: Johannes
Co-authored-by: Dhruwang
---
apps/web/i18n.lock | 3 ++-
apps/web/locales/de-DE.json | 2 +-
apps/web/locales/en-US.json | 2 +-
apps/web/locales/es-ES.json | 2 +-
apps/web/locales/fr-FR.json | 2 +-
apps/web/locales/hu-HU.json | 2 +-
apps/web/locales/ja-JP.json | 2 +-
apps/web/locales/nl-NL.json | 2 +-
apps/web/locales/pt-BR.json | 2 +-
apps/web/locales/pt-PT.json | 2 +-
apps/web/locales/ro-RO.json | 2 +-
apps/web/locales/ru-RU.json | 2 +-
apps/web/locales/sv-SE.json | 2 +-
apps/web/locales/tr-TR.json | 2 +-
apps/web/locales/zh-Hans-CN.json | 2 +-
apps/web/locales/zh-Hant-TW.json | 2 +-
16 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/apps/web/i18n.lock b/apps/web/i18n.lock
index 7610aecc49fe..92b6a78c7257 100644
--- a/apps/web/i18n.lock
+++ b/apps/web/i18n.lock
@@ -1192,6 +1192,7 @@ checksums:
environments/settings/profile/update_personal_info: 5806f9bae0248a604cf85a2d8790a606
environments/settings/profile/warning_cannot_delete_account: 07c25c3829149cd7171e7ad88229deac
environments/settings/profile/warning_cannot_undo: dd1b2a59ff244b362d1d0d4eb1dbf7c6
+ environments/settings/profile/wrong_password: e3523f78b302d11b33af6cc40d8df9da
environments/settings/teams/add_members_description: 96e1e7125a0dfeaecc2c238eda3a216f
environments/settings/teams/add_workspaces_description: f0f0cdd4d1032fbcb83d34a780bdfa52
environments/settings/teams/all_members_added: 0541be1777b5c838f2e039035488506c
@@ -1481,7 +1482,7 @@ checksums:
environments/surveys/edit/hide_question_settings: 99127cd016db2f7fc80333b36473c0ef
environments/surveys/edit/hostname: 9bdaa7692869999df51bb60d58d9ef62
environments/surveys/edit/if_you_need_more_please: a7d208c283caf6b93800b809fca80768
- environments/surveys/edit/if_you_really_want_that_answer_ask_until_you_get_it: 31c18a8c7c578db2ba49eed663d1739f
+ environments/surveys/edit/if_you_really_want_that_answer_ask_until_you_get_it: 5abd8b702f9fb0e3815c3413d6f8aef6
environments/surveys/edit/ignore_global_waiting_time: e08db543ace4935625e0961cc6e60489
environments/surveys/edit/ignore_global_waiting_time_description: 37d173a4d537622de40677389238d859
environments/surveys/edit/image: 048ba7a239de0fbd883ade8558415830
diff --git a/apps/web/locales/de-DE.json b/apps/web/locales/de-DE.json
index 1c053e91331b..39de8fb91c53 100644
--- a/apps/web/locales/de-DE.json
+++ b/apps/web/locales/de-DE.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Frageeinstellungen ausblenden",
"hostname": "Hostname",
"if_you_need_more_please": "Wenn Sie mehr benötigen, bitte",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Weiterhin anzeigen, wenn ausgelöst, bis eine Antwort abgegeben wird.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Immer anzeigen, wenn ausgelöst, bis eine Antwort oder Teilantwort übermittelt wurde.",
"ignore_global_waiting_time": "Abkühlphase ignorieren",
"ignore_global_waiting_time_description": "Diese Umfrage kann angezeigt werden, wenn ihre Bedingungen erfüllt sind, auch wenn kürzlich eine andere Umfrage angezeigt wurde.",
"image": "Bild",
diff --git a/apps/web/locales/en-US.json b/apps/web/locales/en-US.json
index 3f825dad9989..b8b830f03629 100644
--- a/apps/web/locales/en-US.json
+++ b/apps/web/locales/en-US.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Hide Question settings",
"hostname": "Hostname",
"if_you_need_more_please": "If you need more, please",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Keep showing whenever triggered until a response is submitted.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Keep showing whenever triggered until a response or partial response is submitted.",
"ignore_global_waiting_time": "Ignore Cooldown Period",
"ignore_global_waiting_time_description": "This survey can show whenever its conditions are met, even if another survey was shown recently.",
"image": "Image",
diff --git a/apps/web/locales/es-ES.json b/apps/web/locales/es-ES.json
index 2946567bb84a..8dcbcdd1f8f6 100644
--- a/apps/web/locales/es-ES.json
+++ b/apps/web/locales/es-ES.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Ocultar ajustes de la pregunta",
"hostname": "Nombre de host",
"if_you_need_more_please": "Si necesitas más, por favor",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Seguir mostrando cuando se active hasta que se envíe una respuesta.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Seguir mostrando cada vez que se active hasta que se envíe una respuesta o respuesta parcial.",
"ignore_global_waiting_time": "Ignorar periodo de espera",
"ignore_global_waiting_time_description": "Esta encuesta puede mostrarse siempre que se cumplan sus condiciones, incluso si otra encuesta se mostró recientemente.",
"image": "Imagen",
diff --git a/apps/web/locales/fr-FR.json b/apps/web/locales/fr-FR.json
index 9148897bdc3e..5a8218e1136e 100644
--- a/apps/web/locales/fr-FR.json
+++ b/apps/web/locales/fr-FR.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Masquer les paramètres de la question",
"hostname": "Nom d'hôte",
"if_you_need_more_please": "Si vous avez besoin de plus, veuillez",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Continuer à afficher à chaque déclenchement jusqu'à ce qu'une réponse soit soumise.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Continuer à afficher à chaque déclenchement jusqu'à ce qu'une réponse ou une réponse partielle soit soumise.",
"ignore_global_waiting_time": "Ignorer la période de refroidissement",
"ignore_global_waiting_time_description": "Cette enquête peut s'afficher chaque fois que ses conditions sont remplies, même si une autre enquête a été affichée récemment.",
"image": "Image",
diff --git a/apps/web/locales/hu-HU.json b/apps/web/locales/hu-HU.json
index d97f970441c0..c03e6b890074 100644
--- a/apps/web/locales/hu-HU.json
+++ b/apps/web/locales/hu-HU.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Kérdésbeállítások elrejtése",
"hostname": "Gépnév",
"if_you_need_more_please": "Ha többre van szüksége, akkor",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Maradjon megjelenítve bármikor is aktiválódott, amíg egy választ el nem küldenek.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Továbbra is megjelenítés minden egyes aktiváláskor, amíg választ vagy részleges választ nem küldenek be.",
"ignore_global_waiting_time": "Várakozási időszak figyelmen kívül hagyása",
"ignore_global_waiting_time_description": "Ez a kérdőív akkor jelenhet meg, ha a feltételei teljesülnek, még akkor is, ha egy másik kérdőív jelent meg nemrég.",
"image": "Kép",
diff --git a/apps/web/locales/ja-JP.json b/apps/web/locales/ja-JP.json
index d6974ac94878..044281f187d5 100644
--- a/apps/web/locales/ja-JP.json
+++ b/apps/web/locales/ja-JP.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "質問設定を非表示",
"hostname": "ホスト名",
"if_you_need_more_please": "さらに必要な場合は、",
- "if_you_really_want_that_answer_ask_until_you_get_it": "回答が提出されるまで、トリガーされるたびに表示し続けます。",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "回答または一部の回答が送信されるまで、トリガーされるたびに表示し続けます。",
"ignore_global_waiting_time": "クールダウン期間を無視",
"ignore_global_waiting_time_description": "このフォームは、最近別のフォームが表示されていても、条件が満たされればいつでも表示できます。",
"image": "画像",
diff --git a/apps/web/locales/nl-NL.json b/apps/web/locales/nl-NL.json
index 0f098131c0aa..81450fc6714c 100644
--- a/apps/web/locales/nl-NL.json
+++ b/apps/web/locales/nl-NL.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Vraaginstellingen verbergen",
"hostname": "Hostnaam",
"if_you_need_more_please": "Als je meer nodig hebt,",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Blijf tonen wanneer geactiveerd totdat een reactie is ingediend.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Blijf tonen wanneer geactiveerd totdat een antwoord of gedeeltelijk antwoord is ingediend.",
"ignore_global_waiting_time": "Afkoelperiode negeren",
"ignore_global_waiting_time_description": "Deze enquête kan worden getoond wanneer aan de voorwaarden wordt voldaan, zelfs als er onlangs een andere enquête is getoond.",
"image": "Afbeelding",
diff --git a/apps/web/locales/pt-BR.json b/apps/web/locales/pt-BR.json
index fdf1b28b7e10..e62a707a0b4e 100644
--- a/apps/web/locales/pt-BR.json
+++ b/apps/web/locales/pt-BR.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Ocultar configurações da pergunta",
"hostname": "nome do host",
"if_you_need_more_please": "Se você precisar de mais, por favor",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Continuar mostrando sempre que acionada até que uma resposta seja enviada.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Continue mostrando sempre que acionado até que uma resposta ou resposta parcial seja enviada.",
"ignore_global_waiting_time": "Ignorar período de espera",
"ignore_global_waiting_time_description": "Esta pesquisa pode ser mostrada sempre que suas condições forem atendidas, mesmo que outra pesquisa tenha sido mostrada recentemente.",
"image": "imagem",
diff --git a/apps/web/locales/pt-PT.json b/apps/web/locales/pt-PT.json
index bb20830e2933..8305d2691c73 100644
--- a/apps/web/locales/pt-PT.json
+++ b/apps/web/locales/pt-PT.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Ocultar definições da pergunta",
"hostname": "Nome do host",
"if_you_need_more_please": "Se precisar de mais, por favor",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Continuar a mostrar sempre que acionado até que uma resposta seja submetida.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Continuar a mostrar sempre que acionado até que uma resposta ou resposta parcial seja submetida.",
"ignore_global_waiting_time": "Ignorar período de espera",
"ignore_global_waiting_time_description": "Este inquérito pode ser mostrado sempre que as suas condições forem cumpridas, mesmo que outro inquérito tenha sido mostrado recentemente.",
"image": "Imagem",
diff --git a/apps/web/locales/ro-RO.json b/apps/web/locales/ro-RO.json
index 9de873516956..ff984f374525 100644
--- a/apps/web/locales/ro-RO.json
+++ b/apps/web/locales/ro-RO.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Ascunde setările întrebării",
"hostname": "Nume gazdă",
"if_you_need_more_please": "Dacă aveți nevoie de mai mult, vă rugăm",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Continuă afișarea ori de câte ori este declanșat până când se trimite un răspuns.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Continuă să afișezi de fiecare dată când este declanșat, până când se trimite un răspuns sau un răspuns parțial.",
"ignore_global_waiting_time": "Ignoră perioada de răcire",
"ignore_global_waiting_time_description": "Acest sondaj poate fi afișat ori de câte ori condițiile sale sunt îndeplinite, chiar dacă un alt sondaj a fost afișat recent.",
"image": "Imagine",
diff --git a/apps/web/locales/ru-RU.json b/apps/web/locales/ru-RU.json
index dfba79d9a184..90be1fcaa961 100644
--- a/apps/web/locales/ru-RU.json
+++ b/apps/web/locales/ru-RU.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Скрыть настройки вопроса",
"hostname": "Имя хоста",
"if_you_need_more_please": "Если вам нужно больше, пожалуйста",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Показывать каждый раз при срабатывании, пока не будет получен ответ.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Продолжай показывать при каждом срабатывании триггера, пока не будет отправлен ответ или частичный ответ.",
"ignore_global_waiting_time": "Игнорировать период ожидания",
"ignore_global_waiting_time_description": "Этот опрос может отображаться при выполнении условий, даже если недавно уже был показан другой опрос.",
"image": "Изображение",
diff --git a/apps/web/locales/sv-SE.json b/apps/web/locales/sv-SE.json
index 111d25a91646..eb1f77ffc515 100644
--- a/apps/web/locales/sv-SE.json
+++ b/apps/web/locales/sv-SE.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Dölj frågeinställningar",
"hostname": "Värdnamn",
"if_you_need_more_please": "Om du behöver mer, vänligen",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Fortsätt visa när villkoren är uppfyllda tills ett svar skickas in.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Fortsätt visa varje gång det utlöses tills ett svar eller ett delsvar skickas in.",
"ignore_global_waiting_time": "Ignorera väntetid",
"ignore_global_waiting_time_description": "Denna enkät kan visas när dess villkor är uppfyllda, även om en annan enkät nyligen visats.",
"image": "Bild",
diff --git a/apps/web/locales/tr-TR.json b/apps/web/locales/tr-TR.json
index 2fc8f720e686..b3187fcdb2b0 100644
--- a/apps/web/locales/tr-TR.json
+++ b/apps/web/locales/tr-TR.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "Soru ayarlarını gizle",
"hostname": "Ana bilgisayar adı",
"if_you_need_more_please": "Daha fazlasına ihtiyacınız varsa lütfen",
- "if_you_really_want_that_answer_ask_until_you_get_it": "Yanıt gönderilene kadar tetiklendiğinde göstermeye devam et.",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "Bir yanıt veya kısmi yanıt gönderilene kadar her tetiklendiğinde göstermeye devam et.",
"ignore_global_waiting_time": "Bekleme Süresini Yoksay",
"ignore_global_waiting_time_description": "Bu survey, yakın zamanda başka bir survey gösterilmiş olsa bile koşulları sağlandığında gösterilebilir.",
"image": "Görsel",
diff --git a/apps/web/locales/zh-Hans-CN.json b/apps/web/locales/zh-Hans-CN.json
index 86cd411850cf..2f6d34cea0fe 100644
--- a/apps/web/locales/zh-Hans-CN.json
+++ b/apps/web/locales/zh-Hans-CN.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "隐藏问题设置",
"hostname": "主 机 名",
"if_you_need_more_please": "如果您需要更多,请",
- "if_you_really_want_that_answer_ask_until_you_get_it": "每次触发时都会显示,直到提交回应为止。",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "持续在触发时显示,直到提交响应或部分响应。",
"ignore_global_waiting_time": "忽略冷却期",
"ignore_global_waiting_time_description": "只要满足条件,此调查即可显示,即使最近刚显示过其他调查。",
"image": "图片",
diff --git a/apps/web/locales/zh-Hant-TW.json b/apps/web/locales/zh-Hant-TW.json
index a0d2194183f9..100a01ba666f 100644
--- a/apps/web/locales/zh-Hant-TW.json
+++ b/apps/web/locales/zh-Hant-TW.json
@@ -1554,7 +1554,7 @@
"hide_question_settings": "隱藏問題設定",
"hostname": "主機名稱",
"if_you_need_more_please": "如果您需要更多,請",
- "if_you_really_want_that_answer_ask_until_you_get_it": "每次觸發時都顯示,直到提交回應為止。",
+ "if_you_really_want_that_answer_ask_until_you_get_it": "持續顯示,直到使用者提交回應或部分回應為止。",
"ignore_global_waiting_time": "忽略冷卻期",
"ignore_global_waiting_time_description": "此問卷在符合條件時即可顯示,即使最近已顯示過其他問卷。",
"image": "圖片",
From 44aac89d41c548187cca47dc343497a5a7bd7a1f Mon Sep 17 00:00:00 2001
From: Johannes <72809645+jobenjada@users.noreply.github.com>
Date: Thu, 30 Apr 2026 01:09:34 -0700
Subject: [PATCH 3/4] fix: return generic credentials error for SSO-only
accounts (#7911)
Co-authored-by: Cursor Agent
---
apps/web/modules/auth/lib/authOptions.test.ts | 4 ++--
apps/web/modules/auth/lib/authOptions.ts | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/apps/web/modules/auth/lib/authOptions.test.ts b/apps/web/modules/auth/lib/authOptions.test.ts
index 4d41895f94db..8a5b00851143 100644
--- a/apps/web/modules/auth/lib/authOptions.test.ts
+++ b/apps/web/modules/auth/lib/authOptions.test.ts
@@ -175,7 +175,7 @@ describe("authOptions", () => {
);
}, 15000);
- test("should throw error if user has no password stored", async () => {
+ test("should throw generic invalid credentials error if user has no password stored", async () => {
vi.mocked(applyIPRateLimit).mockResolvedValue({ allowed: true }); // Rate limiting passes
vi.spyOn(prisma.user, "findUnique").mockResolvedValue({
id: mockUser.id,
@@ -186,7 +186,7 @@ describe("authOptions", () => {
const credentials = { email: mockUser.email, password: mockPassword };
await expect(credentialsProvider.options.authorize(credentials, {})).rejects.toThrow(
- "User has no password stored"
+ "Invalid credentials"
);
}, 15000);
diff --git a/apps/web/modules/auth/lib/authOptions.ts b/apps/web/modules/auth/lib/authOptions.ts
index ae1befe96719..cacb81f5a74f 100644
--- a/apps/web/modules/auth/lib/authOptions.ts
+++ b/apps/web/modules/auth/lib/authOptions.ts
@@ -117,7 +117,7 @@ export const authOptions: NextAuthOptions = {
if (!user.password) {
logAuthAttempt("no_password_set", "credentials", "password_validation", user.id, user.email);
- throw new Error("User has no password stored");
+ throw new Error("Invalid credentials");
}
if (user.isActive === false) {
From 654539d320928cb97f35d4232a55a088ab1e6d1a Mon Sep 17 00:00:00 2001
From: Johannes <72809645+jobenjada@users.noreply.github.com>
Date: Thu, 30 Apr 2026 01:09:40 -0700
Subject: [PATCH 4/4] fix: removed dead menu item & theme import (#7909)
Co-authored-by: Dhruwang
---
docs/docs.json | 1 -
.../self-hosting/advanced/enterprise-features/audit-logging.mdx | 2 --
2 files changed, 3 deletions(-)
diff --git a/docs/docs.json b/docs/docs.json
index 098ec7365945..87e46039809c 100644
--- a/docs/docs.json
+++ b/docs/docs.json
@@ -277,7 +277,6 @@
"self-hosting/advanced/enterprise-features/whitelabel-email-follow-ups",
"self-hosting/advanced/enterprise-features/team-access",
"self-hosting/advanced/enterprise-features/contact-management-segments",
- "self-hosting/advanced/enterprise-features/multi-language-surveys",
"self-hosting/advanced/enterprise-features/oidc-sso",
"self-hosting/advanced/enterprise-features/saml-sso",
"self-hosting/advanced/enterprise-features/audit-logging"
diff --git a/docs/self-hosting/advanced/enterprise-features/audit-logging.mdx b/docs/self-hosting/advanced/enterprise-features/audit-logging.mdx
index b20bed21606e..9103de586d00 100644
--- a/docs/self-hosting/advanced/enterprise-features/audit-logging.mdx
+++ b/docs/self-hosting/advanced/enterprise-features/audit-logging.mdx
@@ -5,8 +5,6 @@ description: Enable comprehensive audit logs for your Formbricks instance.
icon: file-shield
---
-import Hint from "@theme/Hint";
-
Audit logs record **who** did **what**, **when**, **from where**, and **with what outcome** across your Formbricks instance.