mirror of
https://github.com/formbricks/formbricks.git
synced 2026-05-20 11:38:38 -05:00
localize the survey dialog aria-label
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
"select_option": "اختر خيارًا",
|
||||
"select_options": "اختر الخيارات",
|
||||
"sending_responses": "جارٍ إرسال الردود...",
|
||||
"survey_dialog": "مربع حوار الاستبيان",
|
||||
"takes_less_than_x_minutes": "{count, plural, zero {يستغرق أقل من دقيقة} one {يستغرق أقل من دقيقة واحدة} two {يستغرق أقل من دقيقتين} few {يستغرق أقل من {count} دقائق} many {يستغرق أقل من {count} دقيقة} other {يستغرق أقل من {count} دقيقة}}",
|
||||
"takes_x_minutes": "{count, plural, zero {يستغرق صفر دقائق} one {يستغرق دقيقة واحدة} two {يستغرق دقيقتين} few {يستغرق {count} دقائق} many {يستغرق {count} دقيقة} other {يستغرق {count} دقيقة}}",
|
||||
"takes_x_plus_minutes": "يستغرق {count}+ دقيقة",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Vælg en mulighed",
|
||||
"select_options": "Vælg muligheder",
|
||||
"sending_responses": "Sender svar…",
|
||||
"survey_dialog": "Undersøgelsesdialog",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Tager mindre end 1 minut} other {Tager mindre end {count} minutter}}",
|
||||
"takes_x_minutes": "{count, plural, one {Tager 1 minut} other {Tager {count} minutter}}",
|
||||
"takes_x_plus_minutes": "Tager {count}+ minutter",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Wähle eine Option",
|
||||
"select_options": "Wähle Optionen",
|
||||
"sending_responses": "Antworten werden gesendet...",
|
||||
"survey_dialog": "Umfragedialog",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Dauert weniger als 1 Minute} other {Dauert weniger als {count} Minuten}}",
|
||||
"takes_x_minutes": "{count, plural, one {Dauert 1 Minute} other {Dauert {count} Minuten}}",
|
||||
"takes_x_plus_minutes": "Dauert {count}+ Minuten",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Select an option",
|
||||
"select_options": "Select options",
|
||||
"sending_responses": "Sending responses…",
|
||||
"survey_dialog": "Survey Dialog",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Takes less than 1 minute} other {Takes less than {count} minutes}}",
|
||||
"takes_x_minutes": "{count, plural, one {Takes 1 minute} other {Takes {count} minutes}}",
|
||||
"takes_x_plus_minutes": "Takes {count}+ minutes",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Selecciona una opción",
|
||||
"select_options": "Selecciona opciones",
|
||||
"sending_responses": "Enviando respuestas...",
|
||||
"survey_dialog": "Diálogo de encuesta",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Toma menos de 1 minuto} other {Toma menos de {count} minutos}}",
|
||||
"takes_x_minutes": "{count, plural, one {Toma 1 minuto} other {Toma {count} minutos}}",
|
||||
"takes_x_plus_minutes": "Toma {count}+ minutos",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Vali variant",
|
||||
"select_options": "Vali variandid",
|
||||
"sending_responses": "Vastuste saatmine…",
|
||||
"survey_dialog": "Küsitluse dialoog",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Võtab vähem kui 1 minuti} other {Võtab vähem kui {count} minutit}}",
|
||||
"takes_x_minutes": "{count, plural, one {Võtab 1 minuti} other {Võtab {count} minutit}}",
|
||||
"takes_x_plus_minutes": "Võtab {count}+ minutit",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Sélectionner une option",
|
||||
"select_options": "Sélectionner des options",
|
||||
"sending_responses": "Envoi des réponses...",
|
||||
"survey_dialog": "Boîte de dialogue du sondage",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Prend moins d'une minute} other {Prend moins de {count} minutes}}",
|
||||
"takes_x_minutes": "{count, plural, one {Prend 1 minute} other {Prend {count} minutes}}",
|
||||
"takes_x_plus_minutes": "Prend {count}+ minutes",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "एक विकल्प चुनें",
|
||||
"select_options": "विकल्प चुनें",
|
||||
"sending_responses": "प्रतिक्रियाएँ भेज रहे हैं...",
|
||||
"survey_dialog": "सर्वेक्षण संवाद",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {1 मिनट से कम लगता है} other {{count} मिनट से कम लगता है}}",
|
||||
"takes_x_minutes": "{count, plural, one {1 मिनट लगता है} other {{count} मिनट लगते हैं}}",
|
||||
"takes_x_plus_minutes": "{count}+ मिनट लगते हैं",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Lehetőség kiválasztása",
|
||||
"select_options": "Lehetőségek kiválasztása",
|
||||
"sending_responses": "Válaszok küldése…",
|
||||
"survey_dialog": "Kérdőív párbeszédpanel",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Kevesebb mint 1 percet vesz igénybe} other {Kevesebb mint {count} percet vesz igénybe}}",
|
||||
"takes_x_minutes": "{count, plural, one {1 percet vesz igénybe} other {{count} percet vesz igénybe}}",
|
||||
"takes_x_plus_minutes": "{count}+ percet vesz igénybe",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Seleziona un'opzione",
|
||||
"select_options": "Seleziona opzioni",
|
||||
"sending_responses": "Invio risposte in corso...",
|
||||
"survey_dialog": "Finestra di dialogo del sondaggio",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Richiede meno di 1 minuto} other {Richiede meno di {count} minuti}}",
|
||||
"takes_x_minutes": "{count, plural, one {Richiede 1 minuto} other {Richiede {count} minuti}}",
|
||||
"takes_x_plus_minutes": "Richiede più di {count} minuti",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "オプションを選択",
|
||||
"select_options": "オプションを選択",
|
||||
"sending_responses": "回答を送信中...",
|
||||
"survey_dialog": "アンケートダイアログ",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {1分未満} other {{count}分未満}}",
|
||||
"takes_x_minutes": "{count, plural, one {1分} other {{count}分}}",
|
||||
"takes_x_plus_minutes": "{count}分以上",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Selecteer een optie",
|
||||
"select_options": "Selecteer opties",
|
||||
"sending_responses": "Reacties verzenden...",
|
||||
"survey_dialog": "Enquête-dialoogvenster",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Duurt minder dan 1 minuut} other {Duurt minder dan {count} minuten}}",
|
||||
"takes_x_minutes": "{count, plural, one {Duurt 1 minuut} other {Duurt {count} minuten}}",
|
||||
"takes_x_plus_minutes": "Duurt {count}+ minuten",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Selecione uma opção",
|
||||
"select_options": "Selecione opções",
|
||||
"sending_responses": "Enviando respostas...",
|
||||
"survey_dialog": "Caixa de diálogo da pesquisa",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Leva menos de 1 minuto} other {Leva menos de {count} minutos}}",
|
||||
"takes_x_minutes": "{count, plural, one {Leva 1 minuto} other {Leva {count} minutos}}",
|
||||
"takes_x_plus_minutes": "Leva {count}+ minutos",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Selectează o opțiune",
|
||||
"select_options": "Selectează opțiuni",
|
||||
"sending_responses": "Trimiterea răspunsurilor...",
|
||||
"survey_dialog": "Dialog sondaj",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Durează mai puțin de 1 minut} few {Durează mai puțin de {count} minute} other {Durează mai puțin de {count} de minute}}",
|
||||
"takes_x_minutes": "{count, plural, one {Durează 1 minut} few {Durează {count} minute} other {Durează {count} de minute}}",
|
||||
"takes_x_plus_minutes": "Durează peste {count} minute",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Выбери вариант",
|
||||
"select_options": "Выбери варианты",
|
||||
"sending_responses": "Отправка ответов...",
|
||||
"survey_dialog": "Диалог опроса",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Займёт меньше 1 минуты} few {Займёт меньше {count} минут} many {Займёт меньше {count} минут} other {Займёт меньше {count} минуты}}",
|
||||
"takes_x_minutes": "{count, plural, one {Займёт 1 минуту} few {Займёт {count} минуты} many {Займёт {count} минут} other {Займёт {count} минуты}}",
|
||||
"takes_x_plus_minutes": "Займёт {count}+ минут",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Välj ett alternativ",
|
||||
"select_options": "Välj alternativ",
|
||||
"sending_responses": "Skickar svar...",
|
||||
"survey_dialog": "Enkätdialog",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {Tar mindre än 1 minut} other {Tar mindre än {count} minuter}}",
|
||||
"takes_x_minutes": "{count, plural, one {Tar 1 minut} other {Tar {count} minuter}}",
|
||||
"takes_x_plus_minutes": "Tar {count}+ minuter",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Bir seçenek seçin",
|
||||
"select_options": "Seçenekleri seçin",
|
||||
"sending_responses": "Yanıtlar gönderiliyor…",
|
||||
"survey_dialog": "Anket iletişim kutusu",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {1 dakikadan az sürer} other {{count} dakikadan az sürer}}",
|
||||
"takes_x_minutes": "{count, plural, one {1 dakika sürer} other {{count} dakika sürer}}",
|
||||
"takes_x_plus_minutes": "{count}+ dakika sürer",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "Variantni tanla",
|
||||
"select_options": "Variantlarni tanla",
|
||||
"sending_responses": "Javoblar yuborilmoqda...",
|
||||
"survey_dialog": "So‘rovnoma dialog oynasi",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {1 daqiqadan kam vaqt oladi} other {{count} daqiqadan kam vaqt oladi}}",
|
||||
"takes_x_minutes": "{count, plural, one {1 daqiqa vaqt oladi} other {{count} daqiqa vaqt oladi}}",
|
||||
"takes_x_plus_minutes": "{count}+ daqiqa vaqt oladi",
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
"select_option": "请选择一个选项",
|
||||
"select_options": "请选择多个选项",
|
||||
"sending_responses": "正在发送响应...",
|
||||
"survey_dialog": "调查对话框",
|
||||
"takes_less_than_x_minutes": "{count, plural, one {少于 1 分钟} other {少于 {count} 分钟}}",
|
||||
"takes_x_minutes": "{count, plural, one {1 分钟} other {{count} 分钟}}",
|
||||
"takes_x_plus_minutes": "{count}+ 分钟",
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
// @vitest-environment happy-dom
|
||||
import { cleanup, render, screen } from "@testing-library/preact";
|
||||
import { afterEach, describe, expect, test } from "vitest";
|
||||
import { afterEach, describe, expect, test, vi } from "vitest";
|
||||
import { SurveyContainer } from "./survey-container";
|
||||
|
||||
vi.mock("react-i18next", () => ({
|
||||
useTranslation: () => ({
|
||||
t: (key: string) => (key === "common.survey_dialog" ? "Survey Dialog" : key),
|
||||
}),
|
||||
}));
|
||||
|
||||
describe("SurveyContainer", () => {
|
||||
afterEach(() => {
|
||||
cleanup();
|
||||
@@ -15,7 +21,7 @@ describe("SurveyContainer", () => {
|
||||
</SurveyContainer>
|
||||
);
|
||||
|
||||
const dialog = screen.getByRole("dialog", { name: "Dialog" });
|
||||
const dialog = screen.getByRole("dialog", { name: "Survey Dialog" });
|
||||
|
||||
expect(dialog.getAttribute("aria-modal")).toBe("true");
|
||||
});
|
||||
@@ -37,7 +43,7 @@ describe("SurveyContainer", () => {
|
||||
</SurveyContainer>
|
||||
);
|
||||
|
||||
const dialog = screen.getByRole("dialog", { name: "Dialog" });
|
||||
const dialog = screen.getByRole("dialog", { name: "Survey Dialog" });
|
||||
|
||||
expect(dialog.contains(screen.getByRole("button", { name: "Start" }))).toBe(true);
|
||||
});
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { type ComponentChildren } from "preact";
|
||||
import { useEffect } from "preact/hooks";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { type TOverlay, type TPlacement } from "@formbricks/types/common";
|
||||
import { useFocusTrap } from "@/lib/use-focus-trap";
|
||||
import { cn } from "@/lib/utils";
|
||||
@@ -26,6 +27,7 @@ export function SurveyContainer({
|
||||
dir = "auto",
|
||||
}: Readonly<SurveyContainerProps>) {
|
||||
const isModal = mode === "modal";
|
||||
const { t } = useTranslation();
|
||||
const modalRef = useFocusTrap<HTMLDivElement>({ enabled: isModal && isOpen, onEscapeKeyDown: onClose });
|
||||
const hasOverlay = overlay !== "none";
|
||||
|
||||
@@ -96,7 +98,7 @@ export function SurveyContainer({
|
||||
ref={modalRef}
|
||||
role="dialog"
|
||||
aria-modal="true"
|
||||
aria-label="Dialog"
|
||||
aria-label={t("common.survey_dialog")}
|
||||
tabIndex={-1}
|
||||
className={cn(
|
||||
getPlacementStyle(placement),
|
||||
|
||||
Reference in New Issue
Block a user