diff --git a/apps/web/locales/de-DE.json b/apps/web/locales/de-DE.json index 12fcd26f08..cf22a42031 100644 --- a/apps/web/locales/de-DE.json +++ b/apps/web/locales/de-DE.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "Antwortlimit muss die Anzahl der erhaltenen Antworten ({responseCount}) überschreiten.", "response_limits_redirections_and_more": "Antwort Limits, Weiterleitungen und mehr.", "response_options": "Antwortoptionen", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "Reihenfolge gelegentlich umkehren", + "reverse_order_occasionally_except_last": "Reihenfolge gelegentlich umkehren, außer letzter", "roundness": "Rundheit", "roundness_description": "Steuert, wie abgerundet die Ecken sind.", "row_used_in_logic_error": "Diese Zeile wird in der Logik der Frage {questionIndex} verwendet. Bitte entferne sie zuerst aus der Logik.", diff --git a/apps/web/locales/es-ES.json b/apps/web/locales/es-ES.json index 2bfc02ca3b..6af9f88f13 100644 --- a/apps/web/locales/es-ES.json +++ b/apps/web/locales/es-ES.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "El límite de respuestas debe superar el número de respuestas recibidas ({responseCount}).", "response_limits_redirections_and_more": "Límites de respuestas, redirecciones y más.", "response_options": "Opciones de respuesta", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "Invertir orden ocasionalmente", + "reverse_order_occasionally_except_last": "Invertir orden ocasionalmente excepto el último", "roundness": "Redondez", "roundness_description": "Controla qué tan redondeadas están las esquinas.", "row_used_in_logic_error": "Esta fila se utiliza en la lógica de la pregunta {questionIndex}. Por favor, elimínala de la lógica primero.", diff --git a/apps/web/locales/fr-FR.json b/apps/web/locales/fr-FR.json index 481b3a49fe..b1773e9040 100644 --- a/apps/web/locales/fr-FR.json +++ b/apps/web/locales/fr-FR.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "La limite de réponses doit dépasser le nombre de réponses reçues ({responseCount}).", "response_limits_redirections_and_more": "Limites de réponse, redirections et plus.", "response_options": "Options de réponse", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "Inverser l'ordre occasionnellement", + "reverse_order_occasionally_except_last": "Inverser l'ordre occasionnellement sauf le dernier", "roundness": "Rondeur", "roundness_description": "Contrôle l'arrondi des coins.", "row_used_in_logic_error": "Cette ligne est utilisée dans la logique de la question {questionIndex}. Veuillez d'abord la supprimer de la logique.", diff --git a/apps/web/locales/hu-HU.json b/apps/web/locales/hu-HU.json index 58d6a491c5..f424c9fd9a 100644 --- a/apps/web/locales/hu-HU.json +++ b/apps/web/locales/hu-HU.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "A válaszkorlátnak meg kell haladnia a kapott válaszok számát ({responseCount}).", "response_limits_redirections_and_more": "Válaszkorlátok, átirányítások és egyebek.", "response_options": "Válasz beállításai", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "Sorrend alkalmi megfordítása", + "reverse_order_occasionally_except_last": "Sorrend alkalmi megfordítása az utolsó kivételével", "roundness": "Kerekesség", "roundness_description": "Annak vezérlése, hogy a sarkok mennyire legyenek lekerekítve.", "row_used_in_logic_error": "Ez a sor használatban van a(z) {questionIndex}. kérdés logikájában. Először távolítsa el a logikából.", diff --git a/apps/web/locales/ja-JP.json b/apps/web/locales/ja-JP.json index 6fa7b53a8e..ca73767e8e 100644 --- a/apps/web/locales/ja-JP.json +++ b/apps/web/locales/ja-JP.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "回答数の上限は、受信済みの回答数 ({responseCount}) を超える必要があります。", "response_limits_redirections_and_more": "回答数の上限、リダイレクトなど。", "response_options": "回答オプション", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "順序をランダムに逆転", + "reverse_order_occasionally_except_last": "最後以外の順序をランダムに逆転", "roundness": "丸み", "roundness_description": "角の丸みを調整します。", "row_used_in_logic_error": "この行は質問 {questionIndex} のロジックで使用されています。まず、ロジックから削除してください。", diff --git a/apps/web/locales/nl-NL.json b/apps/web/locales/nl-NL.json index a9d4a808d0..cdd147460e 100644 --- a/apps/web/locales/nl-NL.json +++ b/apps/web/locales/nl-NL.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "De responslimiet moet groter zijn dan het aantal ontvangen reacties ({responseCount}).", "response_limits_redirections_and_more": "Reactielimieten, omleidingen en meer.", "response_options": "Reactieopties", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "Volgorde af en toe omkeren", + "reverse_order_occasionally_except_last": "Volgorde af en toe omkeren behalve laatste", "roundness": "Rondheid", "roundness_description": "Bepaalt hoe afgerond de hoeken zijn.", "row_used_in_logic_error": "Deze rij wordt gebruikt in de logica van vraag {questionIndex}. Verwijder het eerst uit de logica.", diff --git a/apps/web/locales/pt-BR.json b/apps/web/locales/pt-BR.json index f6f4ed37b4..b858a07ca2 100644 --- a/apps/web/locales/pt-BR.json +++ b/apps/web/locales/pt-BR.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "O limite de respostas precisa exceder o número de respostas recebidas ({responseCount}).", "response_limits_redirections_and_more": "Limites de resposta, redirecionamentos e mais.", "response_options": "Opções de Resposta", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "Inverter ordem ocasionalmente", + "reverse_order_occasionally_except_last": "Inverter ordem ocasionalmente exceto o último", "roundness": "Circularidade", "roundness_description": "Controla o arredondamento dos cantos.", "row_used_in_logic_error": "Esta linha é usada na lógica da pergunta {questionIndex}. Por favor, remova-a da lógica primeiro.", diff --git a/apps/web/locales/pt-PT.json b/apps/web/locales/pt-PT.json index 99628545f0..803184f234 100644 --- a/apps/web/locales/pt-PT.json +++ b/apps/web/locales/pt-PT.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "O limite de respostas precisa exceder o número de respostas recebidas ({responseCount}).", "response_limits_redirections_and_more": "Limites de resposta, redirecionamentos e mais.", "response_options": "Opções de Resposta", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "Inverter ordem ocasionalmente", + "reverse_order_occasionally_except_last": "Inverter ordem ocasionalmente exceto o último", "roundness": "Arredondamento", "roundness_description": "Controla o arredondamento dos cantos.", "row_used_in_logic_error": "Esta linha é usada na lógica da pergunta {questionIndex}. Por favor, remova-a da lógica primeiro.", diff --git a/apps/web/locales/ro-RO.json b/apps/web/locales/ro-RO.json index e622ac6976..e0f96aff2c 100644 --- a/apps/web/locales/ro-RO.json +++ b/apps/web/locales/ro-RO.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "Limita răspunsurilor trebuie să depășească numărul de răspunsuri primite ({responseCount}).", "response_limits_redirections_and_more": "Limite de răspunsuri, redirecționări și altele.", "response_options": "Opțiuni răspuns", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "Inversare ordine ocazional", + "reverse_order_occasionally_except_last": "Inversare ordine ocazional cu excepția ultimului", "roundness": "Rotunjire", "roundness_description": "Controlează cât de rotunjite sunt colțurile.", "row_used_in_logic_error": "Această linie este folosită în logica întrebării {questionIndex}. Vă rugăm să-l eliminați din logică mai întâi.", diff --git a/apps/web/locales/ru-RU.json b/apps/web/locales/ru-RU.json index 60cb6d725b..e018746391 100644 --- a/apps/web/locales/ru-RU.json +++ b/apps/web/locales/ru-RU.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "Лимит ответов должен превышать количество полученных ответов ({responseCount}).", "response_limits_redirections_and_more": "Лимиты ответов, перенаправления и другое.", "response_options": "Параметры ответа", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "Иногда обращать порядок", + "reverse_order_occasionally_except_last": "Иногда обращать порядок кроме последнего", "roundness": "Скругление", "roundness_description": "Определяет степень скругления углов.", "row_used_in_logic_error": "Эта строка используется в логике вопроса {questionIndex}. Пожалуйста, сначала удалите её из логики.", diff --git a/apps/web/locales/sv-SE.json b/apps/web/locales/sv-SE.json index d2869f67eb..b04985b864 100644 --- a/apps/web/locales/sv-SE.json +++ b/apps/web/locales/sv-SE.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "Svarsgränsen måste överstiga antalet mottagna svar ({responseCount}).", "response_limits_redirections_and_more": "Svarsgränser, omdirigeringar och mer.", "response_options": "Svarsalternativ", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "Vänd ordning ibland", + "reverse_order_occasionally_except_last": "Vänd ordning ibland utom sista", "roundness": "Rundhet", "roundness_description": "Styr hur rundade hörnen är.", "row_used_in_logic_error": "Denna rad används i logiken för fråga {questionIndex}. Vänligen ta bort den från logiken först.", diff --git a/apps/web/locales/zh-Hans-CN.json b/apps/web/locales/zh-Hans-CN.json index 42abdae3f6..e3c0b9c51e 100644 --- a/apps/web/locales/zh-Hans-CN.json +++ b/apps/web/locales/zh-Hans-CN.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "限制 响应 需要 超过 收到 的 响应 数量 ({responseCount})。", "response_limits_redirections_and_more": "响应 限制 、 重定向 和 更多 。", "response_options": "响应 选项", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "偶尔反转顺序", + "reverse_order_occasionally_except_last": "偶尔反转顺序(最后一项除外)", "roundness": "圆度", "roundness_description": "控制圆角的弧度。", "row_used_in_logic_error": "\"这个 行 在 问题 {questionIndex} 的 逻辑 中 使用。请 先 从 逻辑 中 删除 它。\"", diff --git a/apps/web/locales/zh-Hant-TW.json b/apps/web/locales/zh-Hant-TW.json index 4170ee613a..831bff2e31 100644 --- a/apps/web/locales/zh-Hant-TW.json +++ b/apps/web/locales/zh-Hant-TW.json @@ -1674,8 +1674,8 @@ "response_limit_needs_to_exceed_number_of_received_responses": "回應限制必須超過收到的回應數 ('{'responseCount'}')。", "response_limits_redirections_and_more": "回應限制、重新導向等。", "response_options": "回應選項", - "reverse_order_occasionally": "Reverse order occasionally", - "reverse_order_occasionally_except_last": "Reverse order occasionally except last", + "reverse_order_occasionally": "偶爾反轉順序", + "reverse_order_occasionally_except_last": "偶爾反轉順序(最後一項除外)", "roundness": "圓角", "roundness_description": "調整邊角的圓潤程度。", "row_used_in_logic_error": "此 row 用於問題 '{'questionIndex'}' 的邏輯中。請先從邏輯中移除。", diff --git a/apps/web/modules/survey/editor/components/multiple-choice-element-form.tsx b/apps/web/modules/survey/editor/components/multiple-choice-element-form.tsx index 99e30c3c09..53ae9861c2 100644 --- a/apps/web/modules/survey/editor/components/multiple-choice-element-form.tsx +++ b/apps/web/modules/survey/editor/components/multiple-choice-element-form.tsx @@ -206,8 +206,18 @@ export const MultipleChoiceElementForm = ({ setisInvalidValue(null); } + const hasRemainingSpecialChoices = newChoices.some((c) => c.id === "other" || c.id === "none"); + updateElement(elementIdx, { choices: newChoices, + ...(!hasRemainingSpecialChoices && + element.shuffleOption === "reverseOrderExceptLast" && { + shuffleOption: "reverseOrder" as TShuffleOption, + }), + ...(!hasRemainingSpecialChoices && + element.shuffleOption === "exceptLast" && { + shuffleOption: "all" as TShuffleOption, + }), }); }; diff --git a/packages/surveys/src/lib/utils.ts b/packages/surveys/src/lib/utils.ts index 5f2124068b..1828bf69af 100644 --- a/packages/surveys/src/lib/utils.ts +++ b/packages/surveys/src/lib/utils.ts @@ -90,7 +90,7 @@ export const getShuffledChoicesIds = ( if (shuffleOption === "reverseOrderExceptLast") { // 50% chance to reverse all except the last element const lastElement = shuffledChoices.pop(); - if (lastElement) { + if (lastElement !== undefined) { if (getSecureRandom() < 0.5) { shuffledChoices.reverse(); }