diff --git a/src/localization/arabic.ts b/src/localization/arabic.ts index 00f3de6652..4c00ba744b 100644 --- a/src/localization/arabic.ts +++ b/src/localization/arabic.ts @@ -9,6 +9,8 @@ export var arabicSurveyStrings = { startSurveyText: "بداية", otherItemText: "نص آخر", noneItemText: "لا شيء", + refuseItemText: "رفض الإجابة", + dontKnowItemText: "لا أعرف", selectAllItemText: "اختر الكل", progressText: "{1} صفحة {0} من", indexText: "{0} من {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["ar"] = "العربية"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "قم بسحب وإسقاط الخيارات هنا لترتيبها"// takePhotoCaption: "Take Photo" => "التقاط صورة" // photoPlaceholder: "Click the button below to take a photo using the camera." => "انقر فوق الزر أدناه لالتقاط صورة باستخدام الكاميرا." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "قم بسحب ملف وإفلاته أو تحديده لتحميله أو التقاط صورة باستخدام الكاميرا." -// replaceFileCaption: "Replace file" => "استبدال الملف"// eachRowUniqueError: "Each row must have a unique value." => "يجب أن يكون لكل صف قيمة فريدة." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "لا يمكن تحميل الملفات. يرجى إضافة معالج لحدث \"onUploadFiles\"." -// showDetails: "Show Details" => "اظهر التفاصيل" -// hideDetails: "Hide Details" => "إخفاء التفاصيل" -// ok: "OK" => "موافق" -// cancel: "Cancel" => "إلغاء الأمر" \ No newline at end of file +// replaceFileCaption: "Replace file" => "استبدال الملف"// eachRowUniqueError: "Each row must have a unique value." => "يجب أن يكون لكل صف قيمة فريدة." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "لا يمكن تحميل الملفات. يرجى إضافة معالج لحدث \"onUploadFiles\"." +// showDetails: "Show Details" => "اظهر التفاصيل" +// hideDetails: "Hide Details" => "إخفاء التفاصيل" +// ok: "OK" => "موافق" +// cancel: "Cancel" => "إلغاء الأمر" +// refuseItemText: "Refuse to answer" => "رفض الإجابة" +// dontKnowItemText: "Don't know" => "لا أعرف" \ No newline at end of file diff --git a/src/localization/basque.ts b/src/localization/basque.ts index 2c963ed499..a471d00b9a 100644 --- a/src/localization/basque.ts +++ b/src/localization/basque.ts @@ -9,6 +9,8 @@ export var basqueSurveyStrings = { startSurveyText: "Hasi", otherItemText: "Beste bat (zehaztu)", noneItemText: "Bat ere ez", + refuseItemText: "Erantzuteari uko egin", + dontKnowItemText: "Ez dakit", selectAllItemText: "Guztia hautatu", progressText: "{1}-(e)tik {0} orrialde", indexText: "{1} {0}", @@ -122,9 +124,11 @@ surveyLocalization.localeNames["eu"] = "Euskara"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Arrastaka eta askatzen ditu hemen sailkatzeko"// takePhotoCaption: "Take Photo" => "Argazkia hartu" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Egin klik beheko botoian, kamerarekin argazki bat hartzeko." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Arrastatu eta askatu artxibo bat kamerarekin argazki bat kargatzeko edo hartzeko." -// replaceFileCaption: "Replace file" => "Artxiboa ordeztu"// eachRowUniqueError: "Each row must have a unique value." => "Ilara bakoitzak balio bakarra izan behar du." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Artxiboak ezin dira kargatu. Gaineratu kontrolatzaile bat 'onUploadFiles' ekitaldirako." -// showDetails: "Show Details" => "Xehetasunak erakutsi" -// hideDetails: "Hide Details" => "Xehetasunak ezkutatu" -// ok: "OK" => "Ados" -// cancel: "Cancel" => "Ezeztatu" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Artxiboa ordeztu"// eachRowUniqueError: "Each row must have a unique value." => "Ilara bakoitzak balio bakarra izan behar du." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Artxiboak ezin dira kargatu. Gaineratu kontrolatzaile bat 'onUploadFiles' ekitaldirako." +// showDetails: "Show Details" => "Xehetasunak erakutsi" +// hideDetails: "Hide Details" => "Xehetasunak ezkutatu" +// ok: "OK" => "Ados" +// cancel: "Cancel" => "Ezeztatu" +// refuseItemText: "Refuse to answer" => "Erantzuteari uko egin" +// dontKnowItemText: "Don't know" => "Ez dakit" \ No newline at end of file diff --git a/src/localization/bulgarian.ts b/src/localization/bulgarian.ts index f60c4550fd..efa64e2f6c 100644 --- a/src/localization/bulgarian.ts +++ b/src/localization/bulgarian.ts @@ -9,6 +9,8 @@ export var bulgarianStrings = { startSurveyText: "Начало", otherItemText: "Друго (опишете)", noneItemText: "Нито един", + refuseItemText: "Отказва да отговори", + dontKnowItemText: "Не знам", selectAllItemText: "Всички", progressText: "стр. {0}, общо стр. {1}", indexText: "{0} на {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["bg"] = "български"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Плъзнете и пуснете опции тук, за да ги класирате"// takePhotoCaption: "Take Photo" => "Направете снимка" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Кликнете върху бутона по-долу, за да направите снимка с помощта на камерата." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Плъзнете и пуснете или изберете файл за качване или правене на снимка с помощта на камерата." -// replaceFileCaption: "Replace file" => "Заместване на файл"// eachRowUniqueError: "Each row must have a unique value." => "Всеки ред трябва да има уникална стойност." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Файловете не могат да бъдат качени. Моля, добавете манипулатор за събитието \"onUploadFiles\"." -// showDetails: "Show Details" => "Показване на подробни данни" -// hideDetails: "Hide Details" => "Скрий подробните данни" -// ok: "OK" => "Добре" -// cancel: "Cancel" => "Отмени" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Заместване на файл"// eachRowUniqueError: "Each row must have a unique value." => "Всеки ред трябва да има уникална стойност." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Файловете не могат да бъдат качени. Моля, добавете манипулатор за събитието \"onUploadFiles\"." +// showDetails: "Show Details" => "Показване на подробни данни" +// hideDetails: "Hide Details" => "Скрий подробните данни" +// ok: "OK" => "Добре" +// cancel: "Cancel" => "Отмени" +// refuseItemText: "Refuse to answer" => "Отказва да отговори" +// dontKnowItemText: "Don't know" => "Не знам" \ No newline at end of file diff --git a/src/localization/catalan.ts b/src/localization/catalan.ts index b5e0e82392..59b9cb217c 100644 --- a/src/localization/catalan.ts +++ b/src/localization/catalan.ts @@ -9,6 +9,8 @@ export var catalanSurveyStrings = { startSurveyText: "Començar", otherItemText: "Un altre (descrigui)", noneItemText: "Cap", + refuseItemText: "Negar-se a respondre", + dontKnowItemText: "No sé", selectAllItemText: "Selecciona-ho tot", progressText: "Pàgina {0} de {1}", indexText: "{0} de {1}", @@ -169,9 +171,11 @@ surveyLocalization.localeNames["ca"] = "català"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Arrossegueu i deixeu anar les opcions aquí per classificar-les"// takePhotoCaption: "Take Photo" => "Fer foto" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Feu clic al botó següent per fer una foto amb la càmera." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Arrossegueu i deixeu anar o seleccioneu un fitxer per penjar-lo o fer-ne una foto amb la càmera." -// replaceFileCaption: "Replace file" => "Substitueix el fitxer"// eachRowUniqueError: "Each row must have a unique value." => "Cada fila ha de tenir un valor únic." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "No es poden carregar fitxers. Afegiu un controlador per a l'esdeveniment 'onUploadFiles'." -// showDetails: "Show Details" => "Mostra els detalls" -// hideDetails: "Hide Details" => "Amaga els detalls" -// ok: "OK" => "D'ACORD" -// cancel: "Cancel" => "Cancel·lar" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Substitueix el fitxer"// eachRowUniqueError: "Each row must have a unique value." => "Cada fila ha de tenir un valor únic." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "No es poden carregar fitxers. Afegiu un controlador per a l'esdeveniment 'onUploadFiles'." +// showDetails: "Show Details" => "Mostra els detalls" +// hideDetails: "Hide Details" => "Amaga els detalls" +// ok: "OK" => "D'ACORD" +// cancel: "Cancel" => "Cancel·lar" +// refuseItemText: "Refuse to answer" => "Negar-se a respondre" +// dontKnowItemText: "Don't know" => "No sé" \ No newline at end of file diff --git a/src/localization/croatian.ts b/src/localization/croatian.ts index ec3214530e..a5832e25e9 100644 --- a/src/localization/croatian.ts +++ b/src/localization/croatian.ts @@ -9,6 +9,8 @@ export var croatianStrings = { startSurveyText: "Početak", otherItemText: "Ostali (opis)", noneItemText: "Nitko", + refuseItemText: "Odbijte odgovoriti", + dontKnowItemText: "Ne znam", selectAllItemText: "Select All", progressText: "Stranica {0} od {1}", indexText: "{0} {1}", @@ -127,9 +129,11 @@ surveyLocalization.localeNames["hr"] = "hrvatski"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Ovdje povucite i ispustite odabire da biste ih rangirali"// takePhotoCaption: "Take Photo" => "Snimi fotografiju" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Kliknite donji gumb da biste snimili fotografiju pomoću kamere." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Povucite i ispustite ili odaberite datoteku za prijenos ili snimanje fotografije pomoću kamere." -// replaceFileCaption: "Replace file" => "Zamijeni datoteku"// eachRowUniqueError: "Each row must have a unique value." => "Svaki redak mora imati jedinstvenu vrijednost." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Datoteke se ne mogu prenijeti. Dodajte rukovatelja za događaj 'onUploadFiles'." -// showDetails: "Show Details" => "Pokaži detalje" -// hideDetails: "Hide Details" => "Sakrij detalje" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Otkazati" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Zamijeni datoteku"// eachRowUniqueError: "Each row must have a unique value." => "Svaki redak mora imati jedinstvenu vrijednost." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Datoteke se ne mogu prenijeti. Dodajte rukovatelja za događaj 'onUploadFiles'." +// showDetails: "Show Details" => "Pokaži detalje" +// hideDetails: "Hide Details" => "Sakrij detalje" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Otkazati" +// refuseItemText: "Refuse to answer" => "Odbijte odgovoriti" +// dontKnowItemText: "Don't know" => "Ne znam" \ No newline at end of file diff --git a/src/localization/czech.ts b/src/localization/czech.ts index 25d8b34c2b..61e0e696a5 100644 --- a/src/localization/czech.ts +++ b/src/localization/czech.ts @@ -9,6 +9,8 @@ export var czechSurveyStrings = { startSurveyText: "Začít", otherItemText: "Jiná odpověď (napište)", noneItemText: "Žádný", + refuseItemText: "Odmítnout odpovědět", + dontKnowItemText: "Nevím", selectAllItemText: "Vybrat vše", progressText: "Strana {0} z {1}", indexText: "{0} z {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["cs"] = "čeština"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Přetáhněte volby zde a seřaďte je"// takePhotoCaption: "Take Photo" => "Pořídit fotografii" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Kliknutím na tlačítko níže pořídíte fotografii pomocí fotoaparátu." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Přetáhněte nebo vyberte soubor, který chcete nahrát nebo pořiďte fotografii pomocí fotoaparátu." -// replaceFileCaption: "Replace file" => "Nahradit soubor"// eachRowUniqueError: "Each row must have a unique value." => "Každý řádek musí mít jedinečnou hodnotu." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Soubory nelze nahrát. Přidejte obslužnou rutinu pro událost 'onUploadFiles'." -// showDetails: "Show Details" => "Zobrazit podrobnosti" -// hideDetails: "Hide Details" => "Skrýt podrobnosti" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Zrušit" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Nahradit soubor"// eachRowUniqueError: "Each row must have a unique value." => "Každý řádek musí mít jedinečnou hodnotu." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Soubory nelze nahrát. Přidejte obslužnou rutinu pro událost 'onUploadFiles'." +// showDetails: "Show Details" => "Zobrazit podrobnosti" +// hideDetails: "Hide Details" => "Skrýt podrobnosti" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Zrušit" +// refuseItemText: "Refuse to answer" => "Odmítnout odpovědět" +// dontKnowItemText: "Don't know" => "Nevím" \ No newline at end of file diff --git a/src/localization/danish.ts b/src/localization/danish.ts index 8adab4680c..4746aabd3c 100644 --- a/src/localization/danish.ts +++ b/src/localization/danish.ts @@ -9,6 +9,8 @@ export var danishSurveyStrings = { startSurveyText: "Start", otherItemText: "Valgfrit svar...", noneItemText: "Ingen", + refuseItemText: "Nægt at svare", + dontKnowItemText: "Ved ikke", selectAllItemText: "Vælg alle", progressText: "Side {0} af {1}", indexText: "{0} af {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["da"] = "dansk"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Træk og slip valg her for at rangere dem"// takePhotoCaption: "Take Photo" => "Tag billede" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Klik på knappen nedenfor for at tage et billede med kameraet." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Træk og slip, eller vælg en fil, der skal uploades, eller tag et billede med kameraet." -// replaceFileCaption: "Replace file" => "Erstat fil"// eachRowUniqueError: "Each row must have a unique value." => "Hver række skal have en entydig værdi." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Filer kan ikke uploades. Tilføj en handler for hændelsen 'onUploadFiles'." -// showDetails: "Show Details" => "Vis detaljer" -// hideDetails: "Hide Details" => "Skjul detaljer" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Aflyse" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Erstat fil"// eachRowUniqueError: "Each row must have a unique value." => "Hver række skal have en entydig værdi." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Filer kan ikke uploades. Tilføj en handler for hændelsen 'onUploadFiles'." +// showDetails: "Show Details" => "Vis detaljer" +// hideDetails: "Hide Details" => "Skjul detaljer" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Aflyse" +// refuseItemText: "Refuse to answer" => "Nægt at svare" +// dontKnowItemText: "Don't know" => "Ved ikke" \ No newline at end of file diff --git a/src/localization/dutch.ts b/src/localization/dutch.ts index 69919f1fb5..674ac55c4d 100644 --- a/src/localization/dutch.ts +++ b/src/localization/dutch.ts @@ -9,6 +9,8 @@ export var dutchSurveyStrings = { startSurveyText: "Start", otherItemText: "Anders, nl.", noneItemText: "Geen", + refuseItemText: "Weiger te antwoorden", + dontKnowItemText: "Weet niet", selectAllItemText: "Selecteer Alles", progressText: "Pagina {0} van {1}", indexText: "{0} van {1}", @@ -127,9 +129,11 @@ surveyLocalization.localeNames["nl"] = "nederlands"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Drag en drop keuzes hier om ze te rangschikken"// takePhotoCaption: "Take Photo" => "Foto maken" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Klik op de onderstaande knop om een foto te maken met de camera." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Sleep en zet neer of selecteer een bestand om te uploaden of maak een foto met de camera." -// replaceFileCaption: "Replace file" => "Bestand vervangen"// eachRowUniqueError: "Each row must have a unique value." => "Elke rij moet een unieke waarde hebben." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Bestanden kunnen niet worden geüpload. Voeg een handler toe voor de gebeurtenis 'onUploadFiles'." -// showDetails: "Show Details" => "Toon details" -// hideDetails: "Hide Details" => "Verberg details" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Annuleren" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Bestand vervangen"// eachRowUniqueError: "Each row must have a unique value." => "Elke rij moet een unieke waarde hebben." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Bestanden kunnen niet worden geüpload. Voeg een handler toe voor de gebeurtenis 'onUploadFiles'." +// showDetails: "Show Details" => "Toon details" +// hideDetails: "Hide Details" => "Verberg details" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Annuleren" +// refuseItemText: "Refuse to answer" => "Weiger te antwoorden" +// dontKnowItemText: "Don't know" => "Weet niet" \ No newline at end of file diff --git a/src/localization/english.ts b/src/localization/english.ts index bdb2f8a8fb..d1e6122316 100644 --- a/src/localization/english.ts +++ b/src/localization/english.ts @@ -10,6 +10,8 @@ export var englishStrings = { startSurveyText: "Start", otherItemText: "Other (describe)", noneItemText: "None", + refuseItemText: "Refuse to answer", + dontKnowItemText: "Don't know", selectAllItemText: "Select All", progressText: "Page {0} of {1}", indexText: "{0} of {1}", diff --git a/src/localization/estonian.ts b/src/localization/estonian.ts index 3c6bf441df..31e59d2e50 100644 --- a/src/localization/estonian.ts +++ b/src/localization/estonian.ts @@ -9,6 +9,8 @@ export var estonianSurveyStrings = { startSurveyText: "Alusta", otherItemText: "Muu (täpsusta)", noneItemText: "Mitte midagi", + refuseItemText: "Keeldu vastamast", + dontKnowItemText: "Ei tea", selectAllItemText: "Vali kõik", progressText: "Lehekülg {0}/{1}", indexText: "{0} {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["et"] = "eesti keel"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Lohistage valikuid siia, et neid järjestada"// takePhotoCaption: "Take Photo" => "Pildistamine" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Kaamera abil pildistamiseks klõpsake allolevat nuppu." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Pukseerige või valige üleslaaditav fail või pildistage seda kaamera abil." -// replaceFileCaption: "Replace file" => "Asenda fail"// eachRowUniqueError: "Each row must have a unique value." => "Igal real peab olema kordumatu väärtus." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Faile ei saa üles laadida. Palun lisage sündmuse \"onUploadFiles\" jaoks käitleja." -// showDetails: "Show Details" => "Näita detaile" -// hideDetails: "Hide Details" => "Peida üksikasjad" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Tühistama" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Asenda fail"// eachRowUniqueError: "Each row must have a unique value." => "Igal real peab olema kordumatu väärtus." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Faile ei saa üles laadida. Palun lisage sündmuse \"onUploadFiles\" jaoks käitleja." +// showDetails: "Show Details" => "Näita detaile" +// hideDetails: "Hide Details" => "Peida üksikasjad" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Tühistama" +// refuseItemText: "Refuse to answer" => "Keeldu vastamast" +// dontKnowItemText: "Don't know" => "Ei tea" \ No newline at end of file diff --git a/src/localization/finnish.ts b/src/localization/finnish.ts index 10883d4a8d..264aed20b2 100644 --- a/src/localization/finnish.ts +++ b/src/localization/finnish.ts @@ -9,6 +9,8 @@ export var finnishSurveyStrings = { startSurveyText: "Aloita", otherItemText: "Muu (tarkenna)", noneItemText: "Ei mitään", + refuseItemText: "Kieltäydy vastaamasta", + dontKnowItemText: "Ei tiedä", selectAllItemText: "Valitse kaikki", progressText: "Sivu {0} / {1}", indexText: "{0} / {1}", @@ -117,9 +119,11 @@ surveyLocalization.localeNames["fi"] = "suomi"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Vedä ja pudota vaihtoehdot tähän luokitellaksesi ne"// takePhotoCaption: "Take Photo" => "Ota valokuva" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Napsauta alla olevaa painiketta ottaaksesi valokuvan kameralla." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Vedä ja pudota tai valitse ladattava tiedosto tai ota valokuva kameralla." -// replaceFileCaption: "Replace file" => "Korvaa tiedosto"// eachRowUniqueError: "Each row must have a unique value." => "Jokaisella rivillä on oltava yksilöllinen arvo." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Tiedostoja ei voi ladata. Lisää käsittelijä onUploadFiles-tapahtumalle." -// showDetails: "Show Details" => "Näytä tiedot" -// hideDetails: "Hide Details" => "Piilota tiedot" -// ok: "OK" => "OKEI" -// cancel: "Cancel" => "Perua" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Korvaa tiedosto"// eachRowUniqueError: "Each row must have a unique value." => "Jokaisella rivillä on oltava yksilöllinen arvo." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Tiedostoja ei voi ladata. Lisää käsittelijä onUploadFiles-tapahtumalle." +// showDetails: "Show Details" => "Näytä tiedot" +// hideDetails: "Hide Details" => "Piilota tiedot" +// ok: "OK" => "OKEI" +// cancel: "Cancel" => "Perua" +// refuseItemText: "Refuse to answer" => "Kieltäydy vastaamasta" +// dontKnowItemText: "Don't know" => "Ei tiedä" \ No newline at end of file diff --git a/src/localization/french.ts b/src/localization/french.ts index 5868a98f3d..ca7f46189a 100644 --- a/src/localization/french.ts +++ b/src/localization/french.ts @@ -9,6 +9,8 @@ export var frenchSurveyStrings = { startSurveyText: "Commencer", otherItemText: "Autre (préciser)", noneItemText: "Aucun", + refuseItemText: "Refuser de répondre", + dontKnowItemText: "Sais pas", selectAllItemText: "Tout sélectionner", progressText: "Page {0} sur {1}", indexText: "{0} sur {1}", @@ -117,9 +119,11 @@ surveyLocalization.localeNames["fr"] = "français"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Faites glisser et déposez les choix ici pour les classer"// takePhotoCaption: "Take Photo" => "Prendre une photo" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Cliquez sur le bouton ci-dessous pour prendre une photo à l’aide de l’appareil photo." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Faites glisser et déposez ou sélectionnez un fichier à télécharger ou à prendre une photo à l’aide de l’appareil photo." -// replaceFileCaption: "Replace file" => "Remplacer le fichier"// eachRowUniqueError: "Each row must have a unique value." => "Chaque ligne doit avoir une valeur unique." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Les fichiers ne peuvent pas être téléchargés. Veuillez ajouter un gestionnaire pour l’événement 'onUploadFiles'." -// showDetails: "Show Details" => "Afficher les détails" -// hideDetails: "Hide Details" => "Masquer les détails" -// ok: "OK" => "D’ACCORD" -// cancel: "Cancel" => "Annuler" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Remplacer le fichier"// eachRowUniqueError: "Each row must have a unique value." => "Chaque ligne doit avoir une valeur unique." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Les fichiers ne peuvent pas être téléchargés. Veuillez ajouter un gestionnaire pour l’événement 'onUploadFiles'." +// showDetails: "Show Details" => "Afficher les détails" +// hideDetails: "Hide Details" => "Masquer les détails" +// ok: "OK" => "D’ACCORD" +// cancel: "Cancel" => "Annuler" +// refuseItemText: "Refuse to answer" => "Refuser de répondre" +// dontKnowItemText: "Don't know" => "Sais pas" \ No newline at end of file diff --git a/src/localization/georgian.ts b/src/localization/georgian.ts index 195fd2d990..027605cbc4 100644 --- a/src/localization/georgian.ts +++ b/src/localization/georgian.ts @@ -9,6 +9,8 @@ export var georgianSurveyStrings = { startSurveyText: "დაქოქვა", otherItemText: "სხვა (გთხოვთ მიუთითეთ)", noneItemText: "არცერთი", + refuseItemText: "უარი პასუხზე", + dontKnowItemText: "არ ვიცი", selectAllItemText: "ყველას მონიშნა", progressText: "გვერდი {0} / {1}", indexText: "{1} {0}", @@ -182,9 +184,11 @@ surveyLocalization.localeNames["ka"] = "ქართული"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "გადაიტანეთ და ჩამოაგდეთ არჩევანი აქ, რომ დაასახელოთ ისინი"// takePhotoCaption: "Take Photo" => "გადაიღეთ ფოტო" // photoPlaceholder: "Click the button below to take a photo using the camera." => "დააჭირეთ ქვემოთ მოცემულ ღილაკს, რომ გადაიღოთ ფოტო კამერის გამოყენებით." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "გადაიტანეთ და ჩამოაგდეთ ან შეარჩიეთ ფაილი კამერის გამოყენებით ფოტოს ასატვირთად ან გადასაღებად." -// replaceFileCaption: "Replace file" => "ფაილის შეცვლა"// eachRowUniqueError: "Each row must have a unique value." => "თითოეულ რიგს უნდა ჰქონდეს უნიკალური მნიშვნელობა." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "ფაილების ატვირთვა შეუძლებელია. გთხოვთ, დაამატოთ დამმუშავებელი 'onUploadFiles' ღონისძიებისთვის." -// showDetails: "Show Details" => "დეტალების ჩვენება" -// hideDetails: "Hide Details" => "დეტალების დამალვა" -// ok: "OK" => "კარგი" -// cancel: "Cancel" => "გაუქმება" \ No newline at end of file +// replaceFileCaption: "Replace file" => "ფაილის შეცვლა"// eachRowUniqueError: "Each row must have a unique value." => "თითოეულ რიგს უნდა ჰქონდეს უნიკალური მნიშვნელობა." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "ფაილების ატვირთვა შეუძლებელია. გთხოვთ, დაამატოთ დამმუშავებელი 'onUploadFiles' ღონისძიებისთვის." +// showDetails: "Show Details" => "დეტალების ჩვენება" +// hideDetails: "Hide Details" => "დეტალების დამალვა" +// ok: "OK" => "კარგი" +// cancel: "Cancel" => "გაუქმება" +// refuseItemText: "Refuse to answer" => "უარი პასუხზე" +// dontKnowItemText: "Don't know" => "არ ვიცი" \ No newline at end of file diff --git a/src/localization/german.ts b/src/localization/german.ts index c31474ef5b..9686ef35c4 100644 --- a/src/localization/german.ts +++ b/src/localization/german.ts @@ -9,6 +9,8 @@ export var germanSurveyStrings = { startSurveyText: "Start", otherItemText: "Sonstiges (Bitte angeben)", noneItemText: "Nichts trifft zu", + refuseItemText: "Verweigern Sie die Antwort", + dontKnowItemText: "Weiß ich nicht", selectAllItemText: "Alles auswählen", progressText: "Seite {0} von {1}", indexText: "{0} von {1}", @@ -115,9 +117,11 @@ surveyLocalization.localeNames["de"] = "deutsch"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Ziehen Sie die Auswahl hierher, um sie zu ordnen"// takePhotoCaption: "Take Photo" => "Foto machen" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Klicken Sie auf die Schaltfläche unten, um ein Foto mit der Kamera aufzunehmen." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Ziehen Sie eine Datei per Drag & Drop oder wählen Sie sie aus, um sie hochzuladen oder ein Foto mit der Kamera aufzunehmen." -// replaceFileCaption: "Replace file" => "Datei ersetzen"// eachRowUniqueError: "Each row must have a unique value." => "Jede Zeile muss einen eindeutigen Wert haben." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Dateien können nicht hochgeladen werden. Fügen Sie einen Handler für das Ereignis 'onUploadFiles' hinzu." -// showDetails: "Show Details" => "Details anzeigen" -// hideDetails: "Hide Details" => "Details ausblenden" -// ok: "OK" => "OKAY" -// cancel: "Cancel" => "Abbrechen" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Datei ersetzen"// eachRowUniqueError: "Each row must have a unique value." => "Jede Zeile muss einen eindeutigen Wert haben." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Dateien können nicht hochgeladen werden. Fügen Sie einen Handler für das Ereignis 'onUploadFiles' hinzu." +// showDetails: "Show Details" => "Details anzeigen" +// hideDetails: "Hide Details" => "Details ausblenden" +// ok: "OK" => "OKAY" +// cancel: "Cancel" => "Abbrechen" +// refuseItemText: "Refuse to answer" => "Verweigern Sie die Antwort" +// dontKnowItemText: "Don't know" => "Weiß ich nicht" \ No newline at end of file diff --git a/src/localization/greek.ts b/src/localization/greek.ts index e2c4903200..027594dad1 100644 --- a/src/localization/greek.ts +++ b/src/localization/greek.ts @@ -9,6 +9,8 @@ export var greekSurveyStrings = { startSurveyText: "Αρχή", otherItemText: "Άλλο (παρακαλώ διευκρινίστε)", noneItemText: "Κανένας", + refuseItemText: "Αρνηθείτε να απαντήσετε", + dontKnowItemText: "Δεν ξέρω", selectAllItemText: "Επιλογή όλων", progressText: "Σελίδα {0} από {1}", indexText: "{0} από {1}", @@ -114,9 +116,11 @@ surveyLocalization.localeNames["gr"] = "ελληνικά"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Σύρετε και αποθέστε επιλογές εδώ για να τις κατατάξετε"// takePhotoCaption: "Take Photo" => "Λήψη φωτογραφίας" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Κάντε κλικ στο παρακάτω κουμπί για να τραβήξετε μια φωτογραφία χρησιμοποιώντας την κάμερα." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Σύρετε και αποθέστε ή επιλέξτε ένα αρχείο για αποστολή ή λήψη φωτογραφίας χρησιμοποιώντας την κάμερα." -// replaceFileCaption: "Replace file" => "Αντικατάσταση αρχείου"// eachRowUniqueError: "Each row must have a unique value." => "Κάθε γραμμή πρέπει να έχει μια μοναδική τιμή." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Δεν είναι δυνατή η αποστολή αρχείων. Προσθέστε ένα πρόγραμμα χειρισμού για το συμβάν 'onUploadFiles'." -// showDetails: "Show Details" => "Εμφάνιση λεπτομερειών" -// hideDetails: "Hide Details" => "Απόκρυψη λεπτομερειών" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Ακυρώνω" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Αντικατάσταση αρχείου"// eachRowUniqueError: "Each row must have a unique value." => "Κάθε γραμμή πρέπει να έχει μια μοναδική τιμή." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Δεν είναι δυνατή η αποστολή αρχείων. Προσθέστε ένα πρόγραμμα χειρισμού για το συμβάν 'onUploadFiles'." +// showDetails: "Show Details" => "Εμφάνιση λεπτομερειών" +// hideDetails: "Hide Details" => "Απόκρυψη λεπτομερειών" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Ακυρώνω" +// refuseItemText: "Refuse to answer" => "Αρνηθείτε να απαντήσετε" +// dontKnowItemText: "Don't know" => "Δεν ξέρω" \ No newline at end of file diff --git a/src/localization/hebrew.ts b/src/localization/hebrew.ts index 6aa482cfa3..2ac5c87790 100644 --- a/src/localization/hebrew.ts +++ b/src/localization/hebrew.ts @@ -9,6 +9,8 @@ export var hebrewSurveyStrings = { startSurveyText: "הַתחָלָה", otherItemText: "אחר (נא לתאר)", noneItemText: "אף אחד", + refuseItemText: "מסרבים לענות", + dontKnowItemText: "לא יודע", selectAllItemText: "בחר הכל", progressText: "דף {1} מתוך {0}", indexText: "{0} מתוך {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["he"] = "עברית"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "גרור ושחרר אפשרויות לכאן כדי לדרג אותן"// takePhotoCaption: "Take Photo" => "צלם תמונה" // photoPlaceholder: "Click the button below to take a photo using the camera." => "לחץ על הלחצן למטה כדי לצלם תמונה באמצעות המצלמה." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "גרור ושחרר או בחר קובץ כדי להעלות או לצלם תמונה באמצעות המצלמה." -// replaceFileCaption: "Replace file" => "החלפת קובץ"// eachRowUniqueError: "Each row must have a unique value." => "לכל שורה חייב להיות ערך ייחודי." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "לא ניתן להעלות קבצים. אנא הוסף מטפל לאירוע 'onUploadFiles'." -// showDetails: "Show Details" => "הראה פרטים" -// hideDetails: "Hide Details" => "הסתר פרטים" -// ok: "OK" => "אוקיי" -// cancel: "Cancel" => "ביטל" \ No newline at end of file +// replaceFileCaption: "Replace file" => "החלפת קובץ"// eachRowUniqueError: "Each row must have a unique value." => "לכל שורה חייב להיות ערך ייחודי." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "לא ניתן להעלות קבצים. אנא הוסף מטפל לאירוע 'onUploadFiles'." +// showDetails: "Show Details" => "הראה פרטים" +// hideDetails: "Hide Details" => "הסתר פרטים" +// ok: "OK" => "אוקיי" +// cancel: "Cancel" => "ביטל" +// refuseItemText: "Refuse to answer" => "מסרבים לענות" +// dontKnowItemText: "Don't know" => "לא יודע" \ No newline at end of file diff --git a/src/localization/hindi.ts b/src/localization/hindi.ts index b369fb43cd..7eb49f1918 100644 --- a/src/localization/hindi.ts +++ b/src/localization/hindi.ts @@ -9,6 +9,8 @@ export var hindiStrings = { startSurveyText: "शुरू", otherItemText: "दूसरा (वर्णन करें)", noneItemText: "कोई नहीं", + refuseItemText: "जवाब देने से इनकार", + dontKnowItemText: "नहीं मालूम", selectAllItemText: "सभी का चयन करें", progressText: "पृष्ठ 1 में से 0", indexText: "{1} का {0}", @@ -135,4 +137,5 @@ surveyLocalization.localeNames["hi"] = "hindi"; // showDetails: "Show Details" => "विवरण दिखाएँ" // hideDetails: "Hide Details" => "विवरण छुपाएँ" // ok: "OK" => "ठीक है" -// cancel: "Cancel" => "रद्द करना" \ No newline at end of file +// cancel: "Cancel" => "रद्द करना"// refuseItemText: "Refuse to answer" => "जवाब देने से इनकार" +// dontKnowItemText: "Don't know" => "नहीं मालूम" \ No newline at end of file diff --git a/src/localization/hungarian.ts b/src/localization/hungarian.ts index dd80b7b0a7..7c7ade8069 100644 --- a/src/localization/hungarian.ts +++ b/src/localization/hungarian.ts @@ -9,6 +9,8 @@ export var hungarianSurveyStrings = { startSurveyText: "Rajt", otherItemText: "Egyéb (adja meg)", noneItemText: "Egyik sem", + refuseItemText: "A válaszadás megtagadása", + dontKnowItemText: "Nem tudom", selectAllItemText: "Mindet kiválaszt", progressText: "{0}./{1} oldal", indexText: "{0} {1} közül", @@ -128,9 +130,11 @@ surveyLocalization.localeNames["hu"] = "magyar"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Húzza ide a választási lehetőségeket a rangsoroláshoz"// takePhotoCaption: "Take Photo" => "Fotó készítése" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Kattintson az alábbi gombra, hogy fényképet készítsen a fényképezőgéppel." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Húzzon át vagy válasszon ki egy fájlt, amelyet fel szeretne tölteni vagy fényképet szeretne készíteni a kamerával." -// replaceFileCaption: "Replace file" => "Fájl cseréje"// eachRowUniqueError: "Each row must have a unique value." => "Minden sornak egyedi értékkel kell rendelkeznie." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "A fájlok nem tölthetők fel. Adjon hozzá egy kezelőt az \"onUploadFiles\" eseményhez." -// showDetails: "Show Details" => "Mutasd a részleteket" -// hideDetails: "Hide Details" => "Részletek elrejtése" -// ok: "OK" => "OKÉ" -// cancel: "Cancel" => "Érvénytelenít" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Fájl cseréje"// eachRowUniqueError: "Each row must have a unique value." => "Minden sornak egyedi értékkel kell rendelkeznie." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "A fájlok nem tölthetők fel. Adjon hozzá egy kezelőt az \"onUploadFiles\" eseményhez." +// showDetails: "Show Details" => "Mutasd a részleteket" +// hideDetails: "Hide Details" => "Részletek elrejtése" +// ok: "OK" => "OKÉ" +// cancel: "Cancel" => "Érvénytelenít" +// refuseItemText: "Refuse to answer" => "A válaszadás megtagadása" +// dontKnowItemText: "Don't know" => "Nem tudom" \ No newline at end of file diff --git a/src/localization/icelandic.ts b/src/localization/icelandic.ts index bb08ca45d0..cc053a4df4 100644 --- a/src/localization/icelandic.ts +++ b/src/localization/icelandic.ts @@ -9,6 +9,8 @@ export var icelandicSurveyStrings = { startSurveyText: "Byrjaðu", otherItemText: "Hinn (skýring)", noneItemText: "Enginn", + refuseItemText: "Neita að svara", + dontKnowItemText: "Veit ekki", selectAllItemText: "Velja allt", progressText: "Síða {0} of {1}", indexText: "{0} af {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["is"] = "íslenska"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Dragðu og slepptu valkostum hér til að raða þeim"// takePhotoCaption: "Take Photo" => "Taka mynd" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Smelltu á hnappinn hér að neðan til að taka mynd með myndavélinni." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Dragðu og slepptu eða veldu skrá til að hlaða upp eða taka mynd með myndavélinni." -// replaceFileCaption: "Replace file" => "Skipta út skrá"// eachRowUniqueError: "Each row must have a unique value." => "Hver lína verður að hafa einstakt gildi." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Ekki er hægt að hlaða upp skrám. Vinsamlegast bættu við rekli fyrir 'onUploadFiles' atvikið." -// showDetails: "Show Details" => "Sýna upplýsingar" -// hideDetails: "Hide Details" => "Fela upplýsingar" -// ok: "OK" => "ÓKEI" -// cancel: "Cancel" => "Afturkalla" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Skipta út skrá"// eachRowUniqueError: "Each row must have a unique value." => "Hver lína verður að hafa einstakt gildi." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Ekki er hægt að hlaða upp skrám. Vinsamlegast bættu við rekli fyrir 'onUploadFiles' atvikið." +// showDetails: "Show Details" => "Sýna upplýsingar" +// hideDetails: "Hide Details" => "Fela upplýsingar" +// ok: "OK" => "ÓKEI" +// cancel: "Cancel" => "Afturkalla" +// refuseItemText: "Refuse to answer" => "Neita að svara" +// dontKnowItemText: "Don't know" => "Veit ekki" \ No newline at end of file diff --git a/src/localization/indonesian.ts b/src/localization/indonesian.ts index d777f37502..1760fef3b8 100644 --- a/src/localization/indonesian.ts +++ b/src/localization/indonesian.ts @@ -9,6 +9,8 @@ export var indonesianStrings = { startSurveyText: "Mulai", otherItemText: "Lainnya (jelaskan)", noneItemText: "Tidak Ada", + refuseItemText: "Menolak untuk menjawab", + dontKnowItemText: "Tidak tahu", selectAllItemText: "Pilih Semua", progressText: "Halaman {0} dari {1}", indexText: "{0} dari {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["id"] = "bahasa Indonesia"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Seret dan lepas pilihan di sini untuk memberi peringkat"// takePhotoCaption: "Take Photo" => "Ambil Foto" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Klik tombol di bawah ini untuk mengambil foto menggunakan kamera." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Seret dan lepas atau pilih file untuk diunggah atau mengambil foto menggunakan kamera." -// replaceFileCaption: "Replace file" => "Ganti file"// eachRowUniqueError: "Each row must have a unique value." => "Setiap baris harus memiliki nilai unik." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "File tidak dapat diunggah. Harap tambahkan handler untuk acara 'onUploadFiles'." -// showDetails: "Show Details" => "Tampilkan Detail" -// hideDetails: "Hide Details" => "Sembunyikan Detail" -// ok: "OK" => "OKE" -// cancel: "Cancel" => "Membatalkan" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Ganti file"// eachRowUniqueError: "Each row must have a unique value." => "Setiap baris harus memiliki nilai unik." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "File tidak dapat diunggah. Harap tambahkan handler untuk acara 'onUploadFiles'." +// showDetails: "Show Details" => "Tampilkan Detail" +// hideDetails: "Hide Details" => "Sembunyikan Detail" +// ok: "OK" => "OKE" +// cancel: "Cancel" => "Membatalkan" +// refuseItemText: "Refuse to answer" => "Menolak untuk menjawab" +// dontKnowItemText: "Don't know" => "Tidak tahu" \ No newline at end of file diff --git a/src/localization/italian.ts b/src/localization/italian.ts index ab976c9806..1f81f5d7e1 100644 --- a/src/localization/italian.ts +++ b/src/localization/italian.ts @@ -9,6 +9,8 @@ export var italianSurveyStrings = { startSurveyText: "Inizio", otherItemText: "Altro (descrivi)", noneItemText: "Nessuno", + refuseItemText: "Rifiuta di rispondere", + dontKnowItemText: "Non lo so", selectAllItemText: "Seleziona tutti", progressText: "Pagina {0} di {1}", indexText: "{0} da {1}", @@ -117,9 +119,11 @@ surveyLocalization.localeNames["it"] = "italiano"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Trascina e rilascia le scelte qui per classificarle"// takePhotoCaption: "Take Photo" => "Scatta foto" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Fai clic sul pulsante qui sotto per scattare una foto utilizzando la fotocamera." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Trascina e rilascia o seleziona un file da caricare o scattare una foto utilizzando la fotocamera." -// replaceFileCaption: "Replace file" => "Sostituisci file"// eachRowUniqueError: "Each row must have a unique value." => "Ogni riga deve avere un valore univoco." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "I file non possono essere caricati. Aggiungere un gestore per l'evento 'onUploadFiles'." -// showDetails: "Show Details" => "Mostra dettagli" -// hideDetails: "Hide Details" => "Nascondi dettagli" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Annulla" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Sostituisci file"// eachRowUniqueError: "Each row must have a unique value." => "Ogni riga deve avere un valore univoco." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "I file non possono essere caricati. Aggiungere un gestore per l'evento 'onUploadFiles'." +// showDetails: "Show Details" => "Mostra dettagli" +// hideDetails: "Hide Details" => "Nascondi dettagli" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Annulla" +// refuseItemText: "Refuse to answer" => "Rifiuta di rispondere" +// dontKnowItemText: "Don't know" => "Non lo so" \ No newline at end of file diff --git a/src/localization/japanese.ts b/src/localization/japanese.ts index 6e144a619f..f200aad0ed 100644 --- a/src/localization/japanese.ts +++ b/src/localization/japanese.ts @@ -9,6 +9,8 @@ export var japaneseSurveyStrings = { startSurveyText: "スタート", otherItemText: "その他(説明)", noneItemText: "なし", + refuseItemText: "回答を拒否する", + dontKnowItemText: "わかりません", selectAllItemText: "すべて選択", progressText: "{0}/{1}頁", indexText: "{1}の{0}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["ja"] = "日本語"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "ここに選択肢をドラッグアンドドロップしてランク付けします"// takePhotoCaption: "Take Photo" => "写真を撮る" // photoPlaceholder: "Click the button below to take a photo using the camera." => "下のボタンをクリックして、カメラを使用して写真を撮ります。" // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "アップロードするファイルをドラッグアンドドロップまたは選択するか、カメラを使用して写真を撮ります。" -// replaceFileCaption: "Replace file" => "ファイルの置換"// eachRowUniqueError: "Each row must have a unique value." => "各行には一意の値が必要です。" -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "ファイルはアップロードできません。「onUploadFiles」イベントのハンドラーを追加してください。" -// showDetails: "Show Details" => "詳細を表示" -// hideDetails: "Hide Details" => "詳細を隠す" -// ok: "OK" => "わかりました" -// cancel: "Cancel" => "キャンセル" \ No newline at end of file +// replaceFileCaption: "Replace file" => "ファイルの置換"// eachRowUniqueError: "Each row must have a unique value." => "各行には一意の値が必要です。" +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "ファイルはアップロードできません。「onUploadFiles」イベントのハンドラーを追加してください。" +// showDetails: "Show Details" => "詳細を表示" +// hideDetails: "Hide Details" => "詳細を隠す" +// ok: "OK" => "わかりました" +// cancel: "Cancel" => "キャンセル" +// refuseItemText: "Refuse to answer" => "回答を拒否する" +// dontKnowItemText: "Don't know" => "わかりません" \ No newline at end of file diff --git a/src/localization/kazakh.ts b/src/localization/kazakh.ts index d9675c8c9f..8da5d0617b 100644 --- a/src/localization/kazakh.ts +++ b/src/localization/kazakh.ts @@ -9,6 +9,8 @@ export var kazakhStrings = { startSurveyText: "Бастау", otherItemText: "Басқа (өтінеміз, жазыңыз)", noneItemText: "Жоқ", + refuseItemText: "Жауап беруден бас тарту", + dontKnowItemText: "Білмеймін", selectAllItemText: "Барлығын таңдау", progressText: "{0} ден {1} бет ", indexText: "{1} {0}", @@ -128,9 +130,11 @@ surveyLocalization.localeNames["kk"] = "Kazakh"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Таңдауды рангтеу үшін осында апарып тастау"// takePhotoCaption: "Take Photo" => "Фотосуретке түсу" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Камераны пайдаланып суретке түсу үшін төмендегі түймені басыңыз." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Фотоаппаратты пайдаланып кері жүктеу немесе суретке түсіру үшін файлды апарып тастаыңыз немесе таңдаңыз." -// replaceFileCaption: "Replace file" => "Файлды ауыстыру"// eachRowUniqueError: "Each row must have a unique value." => "Әр жолдың бірегей мәні болуы тиіс." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Файлдарды кері жүктеу мүмкін емес. 'OnUploadFiles' оқиғасына өңдеушіні қосуыңызды сұраймыз." -// showDetails: "Show Details" => "Егжей-тегжейін көрсету" -// hideDetails: "Hide Details" => "Егжей- тегжейін жасы" -// ok: "OK" => "ЖАҚСЫ" -// cancel: "Cancel" => "Болдырмау" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Файлды ауыстыру"// eachRowUniqueError: "Each row must have a unique value." => "Әр жолдың бірегей мәні болуы тиіс." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Файлдарды кері жүктеу мүмкін емес. 'OnUploadFiles' оқиғасына өңдеушіні қосуыңызды сұраймыз." +// showDetails: "Show Details" => "Егжей-тегжейін көрсету" +// hideDetails: "Hide Details" => "Егжей- тегжейін жасы" +// ok: "OK" => "ЖАҚСЫ" +// cancel: "Cancel" => "Болдырмау" +// refuseItemText: "Refuse to answer" => "Жауап беруден бас тарту" +// dontKnowItemText: "Don't know" => "Білмеймін" \ No newline at end of file diff --git a/src/localization/korean.ts b/src/localization/korean.ts index ba33e54372..8834a17e4d 100644 --- a/src/localization/korean.ts +++ b/src/localization/korean.ts @@ -9,6 +9,8 @@ export var koreanStrings = { startSurveyText: "시작", otherItemText: "기타 (설명)", noneItemText: "없음", + refuseItemText: "대답 거부", + dontKnowItemText: "모르다", selectAllItemText: "모두 선택", progressText: "페이지 {1} / {0}", indexText: "{0} / {1}", @@ -116,9 +118,11 @@ surveyLocalization.localeNames["ko"] = "한국어"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "여기에 선택 항목을 끌어다 놓아 순위를 매깁니다."// takePhotoCaption: "Take Photo" => "사진 찍기" // photoPlaceholder: "Click the button below to take a photo using the camera." => "아래 버튼을 클릭하여 카메라로 사진을 찍습니다." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "업로드할 파일을 드래그 앤 드롭하거나 선택하거나 카메라를 사용하여 사진을 찍습니다." -// replaceFileCaption: "Replace file" => "파일 바꾸기"// eachRowUniqueError: "Each row must have a unique value." => "각 행에는 고유한 값이 있어야 합니다." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "파일을 업로드할 수 없습니다. 'onUploadFiles'이벤트에 대한 핸들러를 추가하십시오." -// showDetails: "Show Details" => "세부 정보 표시" -// hideDetails: "Hide Details" => "세부 정보 숨기기" -// ok: "OK" => "그래" -// cancel: "Cancel" => "취소" \ No newline at end of file +// replaceFileCaption: "Replace file" => "파일 바꾸기"// eachRowUniqueError: "Each row must have a unique value." => "각 행에는 고유한 값이 있어야 합니다." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "파일을 업로드할 수 없습니다. 'onUploadFiles'이벤트에 대한 핸들러를 추가하십시오." +// showDetails: "Show Details" => "세부 정보 표시" +// hideDetails: "Hide Details" => "세부 정보 숨기기" +// ok: "OK" => "그래" +// cancel: "Cancel" => "취소" +// refuseItemText: "Refuse to answer" => "대답 거부" +// dontKnowItemText: "Don't know" => "모르다" \ No newline at end of file diff --git a/src/localization/latvian.ts b/src/localization/latvian.ts index c95c994314..215972002b 100644 --- a/src/localization/latvian.ts +++ b/src/localization/latvian.ts @@ -9,6 +9,8 @@ export var latvianSurveyStrings = { startSurveyText: "Sākt", otherItemText: "Cits (lūdzu, aprakstiet!)", noneItemText: "Nav", + refuseItemText: "Atteikties atbildēt", + dontKnowItemText: "Es nezinu", selectAllItemText: "Izvēlēties visus", progressText: "{0}. lapa no {1}", indexText: "{0} no {1}", @@ -117,9 +119,11 @@ surveyLocalization.localeNames["lv"] = "latviešu"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Velciet un nometiet izvēles iespējas šeit, lai tās sarindotu"// takePhotoCaption: "Take Photo" => "Uzņemt fotoattēlu" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Noklikšķiniet uz pogas zemāk, lai uzņemtu fotoattēlu, izmantojot kameru." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Velciet un nometiet vai atlasiet failu, ko augšupielādēt vai uzņemt fotoattēlu, izmantojot kameru." -// replaceFileCaption: "Replace file" => "Aizstāt failu"// eachRowUniqueError: "Each row must have a unique value." => "Katrai rindai jābūt unikālai vērtībai." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Failus nevar augšupielādēt. Lūdzu, pievienojiet apdarinātāju notikumam \"onUploadFiles\"." -// showDetails: "Show Details" => "Rādīt detalizētu informāciju" -// hideDetails: "Hide Details" => "Slēpt detaļas" -// ok: "OK" => "LABI" -// cancel: "Cancel" => "Atcelt" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Aizstāt failu"// eachRowUniqueError: "Each row must have a unique value." => "Katrai rindai jābūt unikālai vērtībai." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Failus nevar augšupielādēt. Lūdzu, pievienojiet apdarinātāju notikumam \"onUploadFiles\"." +// showDetails: "Show Details" => "Rādīt detalizētu informāciju" +// hideDetails: "Hide Details" => "Slēpt detaļas" +// ok: "OK" => "LABI" +// cancel: "Cancel" => "Atcelt" +// refuseItemText: "Refuse to answer" => "Atteikties atbildēt" +// dontKnowItemText: "Don't know" => "Es nezinu" \ No newline at end of file diff --git a/src/localization/lithuanian.ts b/src/localization/lithuanian.ts index 127172c228..06367fe786 100644 --- a/src/localization/lithuanian.ts +++ b/src/localization/lithuanian.ts @@ -9,6 +9,8 @@ export var lithuaniaSurveyStrings = { startSurveyText: "Pradėti", otherItemText: "Kita (įvesti)", noneItemText: "Nėra", + refuseItemText: "Atsisakyti atsakyti", + dontKnowItemText: "Nežinau", selectAllItemText: "Pasirinkti visus", progressText: "Puslapis {0} iš {1}", indexText: "{1} {0}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["lt"] = "lietuvių"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Nuvilkite pasirinkimus čia, kad juos reitinguotumėte"// takePhotoCaption: "Take Photo" => "Fotografuoti" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Spustelėkite žemiau esantį mygtuką, kad nufotografuotumėte fotoaparatu." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Nuvilkite arba pasirinkite failą, kurį norite įkelti arba nufotografuoti naudodami fotoaparatą." -// replaceFileCaption: "Replace file" => "Pakeiskite failą"// eachRowUniqueError: "Each row must have a unique value." => "Kiekviena eilutė turi turėti unikalią reikšmę." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Failų įkelti negalima. Pridėkite įvykio \"onUploadFiles\" tvarkytoją." -// showDetails: "Show Details" => "Rodyti išsamią informaciją" -// hideDetails: "Hide Details" => "Slėpti išsamią informaciją" -// ok: "OK" => "GERAI" -// cancel: "Cancel" => "Atšaukti" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Pakeiskite failą"// eachRowUniqueError: "Each row must have a unique value." => "Kiekviena eilutė turi turėti unikalią reikšmę." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Failų įkelti negalima. Pridėkite įvykio \"onUploadFiles\" tvarkytoją." +// showDetails: "Show Details" => "Rodyti išsamią informaciją" +// hideDetails: "Hide Details" => "Slėpti išsamią informaciją" +// ok: "OK" => "GERAI" +// cancel: "Cancel" => "Atšaukti" +// refuseItemText: "Refuse to answer" => "Atsisakyti atsakyti" +// dontKnowItemText: "Don't know" => "Nežinau" \ No newline at end of file diff --git a/src/localization/macedonian.ts b/src/localization/macedonian.ts index c86fd65dca..5bd6612fe8 100644 --- a/src/localization/macedonian.ts +++ b/src/localization/macedonian.ts @@ -9,6 +9,8 @@ export var macedonianSurveyStrings = { startSurveyText: "Започнете", otherItemText: "Друго (опиши)", noneItemText: "Ништо", + refuseItemText: "Одбиј да одговориш.", + dontKnowItemText: "Не знам", selectAllItemText: "Селектирај се", progressText: "Страница {0} од {1}", indexText: "{0} на {1}", @@ -123,9 +125,11 @@ surveyLocalization.localeNames["mk"] = "Македонски"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Влечете и фрлете го изборот овде за да ги рангирате"// takePhotoCaption: "Take Photo" => "Фотографирајте" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Кликнете на копчето подолу за да фотографирате користејќи ја камерата." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Влечете и фрлајте или изберете датотека за качување или фотографирање користејќи ја камерата." -// replaceFileCaption: "Replace file" => "Заменете го фајлот."// eachRowUniqueError: "Each row must have a unique value." => "Секој ред мора да има уникатна вредност." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Фајловите не можат да се качуваат. Ве молиме додадете раководител за настанот 'onUploadFiles'." -// showDetails: "Show Details" => "Прикажување на деталите" -// hideDetails: "Hide Details" => "Сокриј ги деталите." -// ok: "OK" => "ДОБРО" -// cancel: "Cancel" => "Откажи" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Заменете го фајлот."// eachRowUniqueError: "Each row must have a unique value." => "Секој ред мора да има уникатна вредност." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Фајловите не можат да се качуваат. Ве молиме додадете раководител за настанот 'onUploadFiles'." +// showDetails: "Show Details" => "Прикажување на деталите" +// hideDetails: "Hide Details" => "Сокриј ги деталите." +// ok: "OK" => "ДОБРО" +// cancel: "Cancel" => "Откажи" +// refuseItemText: "Refuse to answer" => "Одбиј да одговориш." +// dontKnowItemText: "Don't know" => "Не знам" \ No newline at end of file diff --git a/src/localization/malay.ts b/src/localization/malay.ts index a74d0f89bd..630140c290 100644 --- a/src/localization/malay.ts +++ b/src/localization/malay.ts @@ -9,6 +9,8 @@ export var malaySurveyStrings = { startSurveyText: "Mula", otherItemText: "Lain (terangkan)", noneItemText: "Tiada", + refuseItemText: "Enggan menjawab", + dontKnowItemText: "Tak tahu", selectAllItemText: "Pilih Semua", progressText: "Halaman {0} daripada {1}", indexText: "{0} {1}", @@ -119,9 +121,11 @@ surveyLocalization.localeNames["ms"] = "melayu"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Seret dan lepaskan pilihan di sini untuk meletakkannya"// takePhotoCaption: "Take Photo" => "Ambil gambar" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Klik butang di bawah untuk mengambil gambar menggunakan kamera." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Seret dan lepas atau pilih fail untuk memuat naik atau mengambil foto menggunakan kamera." -// replaceFileCaption: "Replace file" => "Gantikan fail"// eachRowUniqueError: "Each row must have a unique value." => "Setiap baris mesti mempunyai nilai yang unik." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Fail tidak boleh dimuat naik. Sila tambah pengendali untuk acara 'onUploadFiles'." -// showDetails: "Show Details" => "Tunjukkan Butiran" -// hideDetails: "Hide Details" => "Sembunyikan Butiran" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Batal" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Gantikan fail"// eachRowUniqueError: "Each row must have a unique value." => "Setiap baris mesti mempunyai nilai yang unik." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Fail tidak boleh dimuat naik. Sila tambah pengendali untuk acara 'onUploadFiles'." +// showDetails: "Show Details" => "Tunjukkan Butiran" +// hideDetails: "Hide Details" => "Sembunyikan Butiran" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Batal" +// refuseItemText: "Refuse to answer" => "Enggan menjawab" +// dontKnowItemText: "Don't know" => "Tak tahu" \ No newline at end of file diff --git a/src/localization/norwegian.ts b/src/localization/norwegian.ts index c5c43b6267..65ce86b37d 100644 --- a/src/localization/norwegian.ts +++ b/src/localization/norwegian.ts @@ -9,6 +9,8 @@ export var norwegianSurveyStrings = { startSurveyText: "Start", otherItemText: "Annet (beskriv)", noneItemText: "Ingen", + refuseItemText: "Nekter å svare", + dontKnowItemText: "Vet ikke", selectAllItemText: "Velg alle", progressText: "Side {0} av {1}", indexText: "{0} av {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["no"] = "norsk"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Dra og slipp valg her for å rangere dem"// takePhotoCaption: "Take Photo" => "Ta bilde" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Klikk på knappen nedenfor for å ta et bilde med kameraet." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Dra og slipp eller velg en fil for å laste opp eller ta et bilde med kameraet." -// replaceFileCaption: "Replace file" => "Erstatt fil"// eachRowUniqueError: "Each row must have a unique value." => "Hver rad må ha en unik verdi." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Filer kan ikke lastes opp. Legg til et behandlingsprogram for onUploadFiles-hendelsen." -// showDetails: "Show Details" => "Vis detaljer" -// hideDetails: "Hide Details" => "Skjul detaljer" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Annullere" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Erstatt fil"// eachRowUniqueError: "Each row must have a unique value." => "Hver rad må ha en unik verdi." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Filer kan ikke lastes opp. Legg til et behandlingsprogram for onUploadFiles-hendelsen." +// showDetails: "Show Details" => "Vis detaljer" +// hideDetails: "Hide Details" => "Skjul detaljer" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Annullere" +// refuseItemText: "Refuse to answer" => "Nekter å svare" +// dontKnowItemText: "Don't know" => "Vet ikke" \ No newline at end of file diff --git a/src/localization/persian.ts b/src/localization/persian.ts index ae5f2ea8be..4c95143762 100644 --- a/src/localization/persian.ts +++ b/src/localization/persian.ts @@ -9,6 +9,8 @@ export var persianSurveyStrings = { startSurveyText: "شروع", otherItemText: "دیگر(توضیح)", noneItemText: "هیچ", + refuseItemText: "امتناع از پاسخ دادن", + dontKnowItemText: "نمی دانم", selectAllItemText: "انتخاب همه", progressText: "صفحه {0} از {1}", indexText: "{0} {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["fa"] = "فارْسِى"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "انتخاب های کشیدن و رها کردن در اینجا برای رتبه بندی انها"// takePhotoCaption: "Take Photo" => "گرفتن عکس" // photoPlaceholder: "Click the button below to take a photo using the camera." => "روی دکمه زیر کلیک کنید تا با استفاده از دوربین عکس بگیرید." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "کشیدن و رها کردن یا انتخاب یک فایل برای اپلود یا گرفتن عکس با استفاده از دوربین." -// replaceFileCaption: "Replace file" => "جایگزینی پرونده"// eachRowUniqueError: "Each row must have a unique value." => "هر سطر باید یک مقدار منحصر به فرد داشته باشد." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "پروندهها را نمیتوان بارگذاری کرد. لطفا یک گرداننده برای رویداد \"onUploadFiles\" اضافه کنید." -// showDetails: "Show Details" => "نمایش جزئیات" -// hideDetails: "Hide Details" => "مخفی کردن جزئیات" -// ok: "OK" => "باشه" -// cancel: "Cancel" => "لغو" \ No newline at end of file +// replaceFileCaption: "Replace file" => "جایگزینی پرونده"// eachRowUniqueError: "Each row must have a unique value." => "هر سطر باید یک مقدار منحصر به فرد داشته باشد." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "پروندهها را نمیتوان بارگذاری کرد. لطفا یک گرداننده برای رویداد \"onUploadFiles\" اضافه کنید." +// showDetails: "Show Details" => "نمایش جزئیات" +// hideDetails: "Hide Details" => "مخفی کردن جزئیات" +// ok: "OK" => "باشه" +// cancel: "Cancel" => "لغو" +// refuseItemText: "Refuse to answer" => "امتناع از پاسخ دادن" +// dontKnowItemText: "Don't know" => "نمی دانم" \ No newline at end of file diff --git a/src/localization/polish.ts b/src/localization/polish.ts index d2386da2ce..1cd8bce587 100644 --- a/src/localization/polish.ts +++ b/src/localization/polish.ts @@ -9,6 +9,8 @@ export var polishSurveyStrings = { startSurveyText: "Start", otherItemText: "Inna odpowiedź (wpisz)", noneItemText: "Brak", + refuseItemText: "Odmów odpowiedzi", + dontKnowItemText: "Nie wiem", selectAllItemText: "Wybierz wszystkie", progressText: "Strona {0} z {1}", indexText: "{0} od {1}", @@ -117,9 +119,11 @@ surveyLocalization.localeNames["pl"] = "polski"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Przeciągnij i upuść tutaj wybory, aby je uszeregować"// takePhotoCaption: "Take Photo" => "Zrób zdjęcie" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Kliknij przycisk poniżej, aby zrobić zdjęcie aparatem." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Przeciągnij i upuść lub wybierz plik, który chcesz przesłać lub zrobić zdjęcie za pomocą aparatu." -// replaceFileCaption: "Replace file" => "Zastąp plik"// eachRowUniqueError: "Each row must have a unique value." => "Każdy wiersz musi mieć unikatową wartość." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Nie można przesłać plików. Dodaj moduł obsługi zdarzenia \"onUploadFiles\"." -// showDetails: "Show Details" => "Pokaż szczegóły" -// hideDetails: "Hide Details" => "Ukryj szczegóły" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Anuluj" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Zastąp plik"// eachRowUniqueError: "Each row must have a unique value." => "Każdy wiersz musi mieć unikatową wartość." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Nie można przesłać plików. Dodaj moduł obsługi zdarzenia \"onUploadFiles\"." +// showDetails: "Show Details" => "Pokaż szczegóły" +// hideDetails: "Hide Details" => "Ukryj szczegóły" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Anuluj" +// refuseItemText: "Refuse to answer" => "Odmów odpowiedzi" +// dontKnowItemText: "Don't know" => "Nie wiem" \ No newline at end of file diff --git a/src/localization/portuguese-br.ts b/src/localization/portuguese-br.ts index e1aeb344a8..b210d2ea52 100644 --- a/src/localization/portuguese-br.ts +++ b/src/localization/portuguese-br.ts @@ -11,6 +11,8 @@ export var portugueseBrSurveyStrings = { startSurveyText: "Começar", otherItemText: "Outros (descrever)", noneItemText: "Nenhum", + refuseItemText: "Recusar-se a responder", + dontKnowItemText: "Não sei", selectAllItemText: "Selecionar tudo", progressText: "Página {0} de {1}", indexText: "{0} de {1}", @@ -178,9 +180,11 @@ surveyLocalization.localeNames["pt-br"] = "português brasileiro"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Arraste e solte as opções aqui para classificá-las"// takePhotoCaption: "Take Photo" => "Tirar foto" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Clique no botão abaixo para tirar uma foto usando a câmera." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Arraste e solte ou selecione um arquivo para carregar ou tirar uma foto usando a câmera." -// replaceFileCaption: "Replace file" => "Substituir arquivo"// eachRowUniqueError: "Each row must have a unique value." => "Cada linha deve ter um valor exclusivo." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Os arquivos não podem ser carregados. Adicione um manipulador para o evento 'onUploadFiles'." -// showDetails: "Show Details" => "Mostrar detalhes" -// hideDetails: "Hide Details" => "Ocultar detalhes" -// ok: "OK" => "OKEY" -// cancel: "Cancel" => "Cancelar" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Substituir arquivo"// eachRowUniqueError: "Each row must have a unique value." => "Cada linha deve ter um valor exclusivo." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Os arquivos não podem ser carregados. Adicione um manipulador para o evento 'onUploadFiles'." +// showDetails: "Show Details" => "Mostrar detalhes" +// hideDetails: "Hide Details" => "Ocultar detalhes" +// ok: "OK" => "OKEY" +// cancel: "Cancel" => "Cancelar" +// refuseItemText: "Refuse to answer" => "Recusar-se a responder" +// dontKnowItemText: "Don't know" => "Não sei" \ No newline at end of file diff --git a/src/localization/portuguese.ts b/src/localization/portuguese.ts index 4c69ce2ced..36ef9afa5a 100644 --- a/src/localization/portuguese.ts +++ b/src/localization/portuguese.ts @@ -9,6 +9,8 @@ export var portugueseSurveyStrings = { startSurveyText: "Começar", otherItemText: "Outros (descrever)", noneItemText: "Nenhum", + refuseItemText: "Recusar-se a responder", + dontKnowItemText: "Não sei", selectAllItemText: "Selecionar Todos", progressText: "Página {0} de {1}", indexText: "{0} de {1}", @@ -114,9 +116,11 @@ surveyLocalization.localeNames["pt"] = "português"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Arraste e solte as opções aqui para classificá-las"// takePhotoCaption: "Take Photo" => "Tirar foto" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Clique no botão abaixo para tirar uma foto usando a câmera." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Arraste e solte ou selecione um arquivo para carregar ou tirar uma foto usando a câmera." -// replaceFileCaption: "Replace file" => "Substituir arquivo"// eachRowUniqueError: "Each row must have a unique value." => "Cada linha deve ter um valor exclusivo." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Os arquivos não podem ser carregados. Adicione um manipulador para o evento 'onUploadFiles'." -// showDetails: "Show Details" => "Mostrar detalhes" -// hideDetails: "Hide Details" => "Ocultar detalhes" -// ok: "OK" => "OKEY" -// cancel: "Cancel" => "Cancelar" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Substituir arquivo"// eachRowUniqueError: "Each row must have a unique value." => "Cada linha deve ter um valor exclusivo." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Os arquivos não podem ser carregados. Adicione um manipulador para o evento 'onUploadFiles'." +// showDetails: "Show Details" => "Mostrar detalhes" +// hideDetails: "Hide Details" => "Ocultar detalhes" +// ok: "OK" => "OKEY" +// cancel: "Cancel" => "Cancelar" +// refuseItemText: "Refuse to answer" => "Recusar-se a responder" +// dontKnowItemText: "Don't know" => "Não sei" \ No newline at end of file diff --git a/src/localization/romanian.ts b/src/localization/romanian.ts index 3c8a49f64e..f7aa8583a8 100644 --- a/src/localization/romanian.ts +++ b/src/localization/romanian.ts @@ -9,6 +9,8 @@ export var romanianSurveyStrings: any = { startSurveyText: "start", otherItemText: "Altul(precizaţi)", noneItemText: "Nici unul", + refuseItemText: "Refuză să răspundă", + dontKnowItemText: "Nu ştiu", selectAllItemText: "Selectează tot", progressText: "Pagina {0} din {1}", indexText: "{0} de {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["ro"] = "română"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Glisați și fixați opțiunile aici pentru a le clasifica"// takePhotoCaption: "Take Photo" => "Faceți o fotografie" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Faceți clic pe butonul de mai jos pentru a face o fotografie folosind camera." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Glisați și fixați sau selectați un fișier pentru a încărca sau a face o fotografie folosind camera." -// replaceFileCaption: "Replace file" => "Înlocuire fișier"// eachRowUniqueError: "Each row must have a unique value." => "Fiecare rând trebuie să aibă o valoare unică." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Fișierele nu pot fi încărcate. Vă rugăm să adăugați un handler pentru evenimentul \"onUploadFiles\"." -// showDetails: "Show Details" => "Arată detalii" -// hideDetails: "Hide Details" => "Ascunde detalii" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Anula" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Înlocuire fișier"// eachRowUniqueError: "Each row must have a unique value." => "Fiecare rând trebuie să aibă o valoare unică." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Fișierele nu pot fi încărcate. Vă rugăm să adăugați un handler pentru evenimentul \"onUploadFiles\"." +// showDetails: "Show Details" => "Arată detalii" +// hideDetails: "Hide Details" => "Ascunde detalii" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Anula" +// refuseItemText: "Refuse to answer" => "Refuză să răspundă" +// dontKnowItemText: "Don't know" => "Nu ştiu" \ No newline at end of file diff --git a/src/localization/russian.ts b/src/localization/russian.ts index 83e32f6ba1..c9ed236abb 100644 --- a/src/localization/russian.ts +++ b/src/localization/russian.ts @@ -9,6 +9,8 @@ export var russianSurveyStrings = { startSurveyText: "Начать", otherItemText: "Другое (пожалуйста, опишите)", noneItemText: "Нет", + refuseItemText: "Отказываюсь отвечать", + dontKnowItemText: "Не знаю", selectAllItemText: "Выбрать всё", progressText: "Страница {0} из {1}", indexText: "{0} из {1}", @@ -96,10 +98,10 @@ export var russianSurveyStrings = { noEntriesText: "Пока нет записей.\nНажмите кнопку ниже, чтобы добавить новую запись.", noEntriesReadonlyText: "Записей нет.", more: "Больше", - tagboxDoneButtonCaption: "ХОРОШО", + tagboxDoneButtonCaption: "Хорошо", selectToRankEmptyRankedAreaText: "Все варианты ранжируются", selectToRankEmptyUnrankedAreaText: "Перетащите сюда варианты, чтобы ранжировать их", - ok: "ХОРОШО", + ok: "Хорошо", cancel: "Отмена" }; @@ -112,14 +114,12 @@ surveyLocalization.localeNames["ru"] = "русский"; // emptyMessage: "No data to display" => "Нет данных для отображения" // noEntriesReadonlyText: "There are no entries." => "Записей нет." // more: "More" => "Больше" -// tagboxDoneButtonCaption: "OK" => "ХОРОШО" // selectToRankEmptyRankedAreaText: "All choices are ranked" => "Все варианты ранжируются" // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Перетащите сюда варианты, чтобы ранжировать их"// takePhotoCaption: "Take Photo" => "Сделать фото" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Нажмите кнопку ниже, чтобы сделать снимок с помощью камеры." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Перетащите или выберите файл для загрузки или съемки с помощью камеры." -// replaceFileCaption: "Replace file" => "Заменить файл"// eachRowUniqueError: "Each row must have a unique value." => "Каждая строка должна иметь уникальное значение." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Файлы не могут быть загружены. Пожалуйста, добавьте обработчик для события 'onUploadFiles'." -// showDetails: "Show Details" => "Показать подробности" -// hideDetails: "Hide Details" => "Скрыть подробности" -// ok: "OK" => "ХОРОШО" +// replaceFileCaption: "Replace file" => "Заменить файл"// eachRowUniqueError: "Each row must have a unique value." => "Каждая строка должна иметь уникальное значение." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Файлы не могут быть загружены. Пожалуйста, добавьте обработчик для события 'onUploadFiles'." +// showDetails: "Show Details" => "Показать подробности" +// hideDetails: "Hide Details" => "Скрыть подробности" // cancel: "Cancel" => "Отмена" \ No newline at end of file diff --git a/src/localization/serbian.ts b/src/localization/serbian.ts index 5eda76cc44..0285d237ad 100644 --- a/src/localization/serbian.ts +++ b/src/localization/serbian.ts @@ -9,6 +9,8 @@ export var serbianStrings = { startSurveyText: "Započni", otherItemText: "Drugo (upiši)", noneItemText: "Ništa", + refuseItemText: "Odbijanje odgovora", + dontKnowItemText: "Ne znam", selectAllItemText: "Izaberi sve", progressText: "Stranica {0} od {1}", indexText: "{0} {1}", @@ -124,9 +126,11 @@ surveyLocalization.localeNames["rs"] = "Srpski"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Prevucite i otpustite izbor ovde da biste ih rangirali"// takePhotoCaption: "Take Photo" => "Fotografisanje" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Kliknite na dugme ispod da biste snimili fotografiju pomoću fotoaparata." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Prevucite i otpustite ili izaberite datoteku za otpremanje ili snimanje fotografije pomoću fotoaparata." -// replaceFileCaption: "Replace file" => "Zameni datoteku"// eachRowUniqueError: "Each row must have a unique value." => "Svaki red mora imati jedinstvenu vrednost." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Nije moguće otpremiti datoteke. Dodajte rukovaoca za događaj \"onUploadFiles\"." -// showDetails: "Show Details" => "Prikaži detalje" -// hideDetails: "Hide Details" => "Sakrij detalje" -// ok: "OK" => "U redu" -// cancel: "Cancel" => "Otkaži" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Zameni datoteku"// eachRowUniqueError: "Each row must have a unique value." => "Svaki red mora imati jedinstvenu vrednost." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Nije moguće otpremiti datoteke. Dodajte rukovaoca za događaj \"onUploadFiles\"." +// showDetails: "Show Details" => "Prikaži detalje" +// hideDetails: "Hide Details" => "Sakrij detalje" +// ok: "OK" => "U redu" +// cancel: "Cancel" => "Otkaži" +// refuseItemText: "Refuse to answer" => "Odbijanje odgovora" +// dontKnowItemText: "Don't know" => "Ne znam" \ No newline at end of file diff --git a/src/localization/simplified-chinese.ts b/src/localization/simplified-chinese.ts index 4fcd06250f..9f3f07b36e 100644 --- a/src/localization/simplified-chinese.ts +++ b/src/localization/simplified-chinese.ts @@ -9,6 +9,8 @@ export var simplifiedChineseSurveyStrings = { startSurveyText: "开始问卷", otherItemText: "填写其他答案", noneItemText: "无", + refuseItemText: "拒绝回答", + dontKnowItemText: "不知道", selectAllItemText: "选择全部", progressText: "第 {0} 页, 共 {1} 页", indexText: "{1}{0}", @@ -123,9 +125,11 @@ surveyLocalization.localeNames["zh-cn"] = "简体中文"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "将选项拖放到此处进行排名"// takePhotoCaption: "Take Photo" => "拍照" // photoPlaceholder: "Click the button below to take a photo using the camera." => "单击下面的按钮使用相机拍照。" // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "拖放或选择要上传的文件或使用相机拍摄照片。" -// replaceFileCaption: "Replace file" => "替换文件"// eachRowUniqueError: "Each row must have a unique value." => "每行必须具有唯一值。" -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "无法上传文件。请为“onUploadFiles”事件添加处理程序。" -// showDetails: "Show Details" => "显示详细信息" -// hideDetails: "Hide Details" => "隐藏详细信息" -// ok: "OK" => "还行" -// cancel: "Cancel" => "取消" \ No newline at end of file +// replaceFileCaption: "Replace file" => "替换文件"// eachRowUniqueError: "Each row must have a unique value." => "每行必须具有唯一值。" +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "无法上传文件。请为“onUploadFiles”事件添加处理程序。" +// showDetails: "Show Details" => "显示详细信息" +// hideDetails: "Hide Details" => "隐藏详细信息" +// ok: "OK" => "还行" +// cancel: "Cancel" => "取消" +// refuseItemText: "Refuse to answer" => "拒绝回答" +// dontKnowItemText: "Don't know" => "不知道" \ No newline at end of file diff --git a/src/localization/slovak.ts b/src/localization/slovak.ts index 2a4eee32b5..7cf3071246 100644 --- a/src/localization/slovak.ts +++ b/src/localization/slovak.ts @@ -9,6 +9,8 @@ export var slovakSurveyStrings = { startSurveyText: "Spustiť", otherItemText: "Iné (opíšte)", noneItemText: "Žiadne", + refuseItemText: "Odmietnuť odpovedať", + dontKnowItemText: "Neviem", selectAllItemText: "Vybrať všetky", progressText: "Strana {0} z {1}", indexText: "{0} {1}", @@ -119,9 +121,11 @@ surveyLocalization.localeNames["sk"] = "slovenčina"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Presuňte sem voľby, aby ste ich zoradili"// takePhotoCaption: "Take Photo" => "Odfotiť" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Kliknutím na tlačidlo nižšie nasnímate fotografiu pomocou fotoaparátu." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Presuňte myšou alebo vyberte súbor, ktorý chcete nahrať alebo nasnímať fotografiu pomocou fotoaparátu." -// replaceFileCaption: "Replace file" => "Nahradenie súboru"// eachRowUniqueError: "Each row must have a unique value." => "Každý riadok musí mať jedinečnú hodnotu." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Súbory nie je možné nahrať. Pridajte obslužný program pre udalosť \"onUploadFiles\"." -// showDetails: "Show Details" => "Zobraziť podrobnosti" -// hideDetails: "Hide Details" => "Skryť podrobnosti" -// ok: "OK" => "OK" -// cancel: "Cancel" => "Zrušiť" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Nahradenie súboru"// eachRowUniqueError: "Each row must have a unique value." => "Každý riadok musí mať jedinečnú hodnotu." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Súbory nie je možné nahrať. Pridajte obslužný program pre udalosť \"onUploadFiles\"." +// showDetails: "Show Details" => "Zobraziť podrobnosti" +// hideDetails: "Hide Details" => "Skryť podrobnosti" +// ok: "OK" => "OK" +// cancel: "Cancel" => "Zrušiť" +// refuseItemText: "Refuse to answer" => "Odmietnuť odpovedať" +// dontKnowItemText: "Don't know" => "Neviem" \ No newline at end of file diff --git a/src/localization/spanish.ts b/src/localization/spanish.ts index 2180c73fca..83537ec9ec 100644 --- a/src/localization/spanish.ts +++ b/src/localization/spanish.ts @@ -9,6 +9,8 @@ export var spanishSurveyStrings = { startSurveyText: "Comienza", otherItemText: "Otro (describa)", noneItemText: "Ninguno", + refuseItemText: "Negarse a responder", + dontKnowItemText: "No sé", selectAllItemText: "Seleccionar todo", progressText: "Página {0} de {1}", indexText: "{0} de {1}", @@ -117,9 +119,11 @@ surveyLocalization.localeNames["es"] = "español"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Arrastra y suelta opciones aquí para clasificarlas"// takePhotoCaption: "Take Photo" => "Tomar foto" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Haga clic en el botón de abajo para tomar una foto con la cámara." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Arrastre y suelte o seleccione un archivo para cargar o tomar una foto con la cámara." -// replaceFileCaption: "Replace file" => "Reemplazar archivo"// eachRowUniqueError: "Each row must have a unique value." => "Cada fila debe tener un valor único." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Los archivos no se pueden cargar. Agregue un controlador para el evento 'onUploadFiles'." -// showDetails: "Show Details" => "Mostrar detalles" -// hideDetails: "Hide Details" => "Ocultar detalles" -// ok: "OK" => "De acuerdo" -// cancel: "Cancel" => "Cancelar" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Reemplazar archivo"// eachRowUniqueError: "Each row must have a unique value." => "Cada fila debe tener un valor único." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Los archivos no se pueden cargar. Agregue un controlador para el evento 'onUploadFiles'." +// showDetails: "Show Details" => "Mostrar detalles" +// hideDetails: "Hide Details" => "Ocultar detalles" +// ok: "OK" => "De acuerdo" +// cancel: "Cancel" => "Cancelar" +// refuseItemText: "Refuse to answer" => "Negarse a responder" +// dontKnowItemText: "Don't know" => "No sé" \ No newline at end of file diff --git a/src/localization/swahili.ts b/src/localization/swahili.ts index 29a1f0b6f6..c5802170c6 100644 --- a/src/localization/swahili.ts +++ b/src/localization/swahili.ts @@ -9,6 +9,8 @@ export var swahiliStrings = { startSurveyText: "Anza", otherItemText: "Nyingine (eleza)", noneItemText: "Hakuna", + refuseItemText: "Kukataa kujibu", + dontKnowItemText: "Sijui", selectAllItemText: "Chagua Zote", progressText: "Ukurasa {0} wa {1}", indexText: "{0} ya {1}", @@ -129,9 +131,11 @@ surveyLocalization.localeNames["sw"] = "swahili"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Buruta na uache uchaguzi hapa ili kuziorodhesha"// takePhotoCaption: "Take Photo" => "Chukua Picha" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Bonyeza kitufe hapa chini ili kupiga picha kwa kutumia kamera." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Drag na kuacha au kuchagua faili kupakia au kuchukua picha kwa kutumia kamera." -// replaceFileCaption: "Replace file" => "Badilisha faili"// eachRowUniqueError: "Each row must have a unique value." => "Kila safu lazima iwe na thamani ya kipekee." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Faili haziwezi kupakiwa. Tafadhali ongeza kishiko kwa tukio la 'onUploadFiles'." -// showDetails: "Show Details" => "Onyesha Maelezo" -// hideDetails: "Hide Details" => "Ficha Maelezo" -// ok: "OK" => "Sawa kabisa" -// cancel: "Cancel" => "Katisha" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Badilisha faili"// eachRowUniqueError: "Each row must have a unique value." => "Kila safu lazima iwe na thamani ya kipekee." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Faili haziwezi kupakiwa. Tafadhali ongeza kishiko kwa tukio la 'onUploadFiles'." +// showDetails: "Show Details" => "Onyesha Maelezo" +// hideDetails: "Hide Details" => "Ficha Maelezo" +// ok: "OK" => "Sawa kabisa" +// cancel: "Cancel" => "Katisha" +// refuseItemText: "Refuse to answer" => "Kukataa kujibu" +// dontKnowItemText: "Don't know" => "Sijui" \ No newline at end of file diff --git a/src/localization/swedish.ts b/src/localization/swedish.ts index 7d2ee91d20..7f73522184 100644 --- a/src/localization/swedish.ts +++ b/src/localization/swedish.ts @@ -9,6 +9,8 @@ export var swedishSurveyStrings = { startSurveyText: "Börja", otherItemText: "Annat (beskriv)", noneItemText: "Ingen", + refuseItemText: "Vägra svara", + dontKnowItemText: "Vet inte", selectAllItemText: "Välj alla", progressText: "Sida {0} av {1}", indexText: "{0} av {1}", @@ -117,9 +119,11 @@ surveyLocalization.localeNames["sv"] = "svenska"; // selectToRankEmptyUnrankedAreaText: "Drag and drop choices here to rank them" => "Dra och släpp val här för att rangordna dem"// takePhotoCaption: "Take Photo" => "Ta foto" // photoPlaceholder: "Click the button below to take a photo using the camera." => "Klicka på knappen nedan för att ta ett foto med kameran." // fileOrPhotoPlaceholder: "Drag and drop or select a file to upload or take a photo using the camera." => "Dra och släpp eller välj en fil att ladda upp eller ta ett foto med kameran." -// replaceFileCaption: "Replace file" => "Ersätt fil"// eachRowUniqueError: "Each row must have a unique value." => "Varje rad måste ha ett unikt värde." -// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Filer kan inte laddas upp. Lägg till en hanterare för händelsen 'onUploadFiles'." -// showDetails: "Show Details" => "Detaljer" -// hideDetails: "Hide Details" => "Göm detaljer" -// ok: "OK" => "OKEJ" -// cancel: "Cancel" => "Annullera" \ No newline at end of file +// replaceFileCaption: "Replace file" => "Ersätt fil"// eachRowUniqueError: "Each row must have a unique value." => "Varje rad måste ha ett unikt värde." +// noUploadFilesHandler: "Files cannot be uploaded. Please add a handler for the 'onUploadFiles' event." => "Filer kan inte laddas upp. Lägg till en hanterare för händelsen 'onUploadFiles'." +// showDetails: "Show Details" => "Detaljer" +// hideDetails: "Hide Details" => "Göm detaljer" +// ok: "OK" => "OKEJ" +// cancel: "Cancel" => "Annullera" +// refuseItemText: "Refuse to answer" => "Vägra svara" +// dontKnowItemText: "Don't know" => "Vet inte" \ No newline at end of file diff --git a/src/localization/telugu.ts b/src/localization/telugu.ts index ee6b2d2de8..d910eb4f20 100644 --- a/src/localization/telugu.ts +++ b/src/localization/telugu.ts @@ -9,6 +9,8 @@ export var teluguStrings = { startSurveyText: "ప్రారంభించు", otherItemText: "ఇతరమైన(వివరించండి)", noneItemText: "ఎవరు కాదు", + refuseItemText: "సమాధానం ఇవ్వడానికి నిరాకరించండి", + dontKnowItemText: "తెలియదు", selectAllItemText: "అన్ని ఎంచుకో", progressText: "పేజీ{0}/{1}", indexText: "{1} {0}[మార్చు]", @@ -135,4 +137,5 @@ surveyLocalization.localeNames["tel"] = "Telugu"; // showDetails: "Show Details" => "వివరాలు చూపించు" // hideDetails: "Hide Details" => "వివరాలను దాచండి" // ok: "OK" => "సరే" -// cancel: "Cancel" => "రద్దు" \ No newline at end of file +// cancel: "Cancel" => "రద్దు"// refuseItemText: "Refuse to answer" => "సమాధానం ఇవ్వడానికి నిరాకరించండి" +// dontKnowItemText: "Don't know" => "తెలియదు" \ No newline at end of file diff --git a/src/localization/thai.ts b/src/localization/thai.ts index 3e39eb2919..21ed159538 100644 --- a/src/localization/thai.ts +++ b/src/localization/thai.ts @@ -9,6 +9,8 @@ export var thaiStrings = { startSurveyText: "เริ่ม", otherItemText: "อื่นๆ (โปรดระบุ)", noneItemText: "ไม่มี", + refuseItemText: "ปฏิเสธที่จะตอบ", + dontKnowItemText: "ไม่ทราบ", selectAllItemText: "เลือกทั้งหมด", progressText: "หน้าที่ {0} จาก {1}", indexText: "{0} of {1}", @@ -134,4 +136,5 @@ surveyLocalization.localeNames["th"] = "ไทย"; // showDetails: "Show Details" => "แสดงรายละเอียด" // hideDetails: "Hide Details" => "ซ่อนรายละเอียด" // ok: "OK" => "ตกลง, ได้" -// cancel: "Cancel" => "ยกเลิก" \ No newline at end of file +// cancel: "Cancel" => "ยกเลิก"// refuseItemText: "Refuse to answer" => "ปฏิเสธที่จะตอบ" +// dontKnowItemText: "Don't know" => "ไม่ทราบ" \ No newline at end of file diff --git a/src/localization/traditional-chinese.ts b/src/localization/traditional-chinese.ts index 8e1d3e6daf..a1dcd87626 100644 --- a/src/localization/traditional-chinese.ts +++ b/src/localization/traditional-chinese.ts @@ -9,6 +9,8 @@ export var traditionalChineseSurveyStrings = { startSurveyText: "開始", otherItemText: "填寫其他答案", noneItemText: "沒有", + refuseItemText: "拒絕回答", + dontKnowItemText: "不知道", selectAllItemText: "全選", progressText: "第 {0} 頁, 共 {1} 頁", indexText: "{1}{0}", @@ -169,4 +171,5 @@ surveyLocalization.localeNames["zh-tw"] = "繁體中文"; // showDetails: "Show Details" => "顯示詳細資訊" // hideDetails: "Hide Details" => "隱藏詳細資訊" // ok: "OK" => "還行" -// cancel: "Cancel" => "取消" \ No newline at end of file +// cancel: "Cancel" => "取消"// refuseItemText: "Refuse to answer" => "拒絕回答" +// dontKnowItemText: "Don't know" => "不知道" \ No newline at end of file diff --git a/src/localization/turkish.ts b/src/localization/turkish.ts index 2e8cc21902..c0929a9f89 100644 --- a/src/localization/turkish.ts +++ b/src/localization/turkish.ts @@ -9,6 +9,8 @@ export var turkishSurveyStrings = { startSurveyText: "Başlat", otherItemText: "Diğer (açıklayınız)", noneItemText: "Hiçbiri", + refuseItemText: "Cevap vermeyi reddet", + dontKnowItemText: "Bilmiyorum", selectAllItemText: "Tümünü Seç", progressText: "Sayfa {0}/{1}", indexText: "{0}/{1}", @@ -116,4 +118,5 @@ surveyLocalization.localeNames["tr"] = "türkçe"; // showDetails: "Show Details" => "Detayları göster" // hideDetails: "Hide Details" => "Detayları Gizle" // ok: "OK" => "TAMAM" -// cancel: "Cancel" => "İptal" \ No newline at end of file +// cancel: "Cancel" => "İptal"// refuseItemText: "Refuse to answer" => "Cevap vermeyi reddet" +// dontKnowItemText: "Don't know" => "Bilmiyorum" \ No newline at end of file diff --git a/src/localization/ukrainian.ts b/src/localization/ukrainian.ts index 5a43adac1a..fa075a9f87 100644 --- a/src/localization/ukrainian.ts +++ b/src/localization/ukrainian.ts @@ -9,6 +9,8 @@ export var ukrainianSurveyStrings = { startSurveyText: "Почати", otherItemText: "Інше (будь ласка, опишіть)", noneItemText: "Жоден", + refuseItemText: "Відмовтеся відповідати", + dontKnowItemText: "Не знаю", selectAllItemText: "Вибрати все", progressText: "Сторінка {0} з {1}", indexText: "{0} {1}", @@ -134,4 +136,5 @@ surveyLocalization.localeNames["ua"] = "українська"; // showDetails: "Show Details" => "Показати подробиці" // hideDetails: "Hide Details" => "Сховати подробиці" // ok: "OK" => "ГАРАЗД" -// cancel: "Cancel" => "Скасувати" \ No newline at end of file +// cancel: "Cancel" => "Скасувати"// refuseItemText: "Refuse to answer" => "Відмовтеся відповідати" +// dontKnowItemText: "Don't know" => "Не знаю" \ No newline at end of file diff --git a/src/localization/urdu.ts b/src/localization/urdu.ts index 40940fd104..c6f6ad309c 100644 --- a/src/localization/urdu.ts +++ b/src/localization/urdu.ts @@ -9,6 +9,8 @@ export var urduSurveyStrings = { startSurveyText: "شروع کریں", otherItemText: "دیگر (بیان کریں)", noneItemText: "کوئی نہیں", + refuseItemText: "جواب دینے سے انکار", + dontKnowItemText: "معلوم نہيں", selectAllItemText: "تمام منتخب کریں", progressText: "صفحہ {0} از {1}", indexText: "{1} کے {0}", @@ -127,4 +129,5 @@ surveyLocalization.localeNames["ur"] = "Urdu"; // showDetails: "Show Details" => "تفصیلات دکھائیں" // hideDetails: "Hide Details" => "تفصیلات چھپائیں" // ok: "OK" => "ٹھيک ہے" -// cancel: "Cancel" => "منسوخ" \ No newline at end of file +// cancel: "Cancel" => "منسوخ"// refuseItemText: "Refuse to answer" => "جواب دینے سے انکار" +// dontKnowItemText: "Don't know" => "معلوم نہيں" \ No newline at end of file diff --git a/src/localization/vietnamese.ts b/src/localization/vietnamese.ts index ff6901eafb..77795fba02 100644 --- a/src/localization/vietnamese.ts +++ b/src/localization/vietnamese.ts @@ -9,6 +9,8 @@ export var vietnameseSurveyStrings = { startSurveyText: "Bắt đầu", otherItemText: "Khác (mô tả)", noneItemText: "Trống", + refuseItemText: "Từ chối trả lời", + dontKnowItemText: "Không biết", selectAllItemText: "Chọn tất cả", progressText: "Trang {0} / {1}", indexText: "{0} của {1}", @@ -135,4 +137,5 @@ surveyLocalization.localeNames["vi"] = "Việt Nam"; // showDetails: "Show Details" => "Hiển thị chi tiết" // hideDetails: "Hide Details" => "Ẩn chi tiết" // ok: "OK" => "OK" -// cancel: "Cancel" => "Hủy" \ No newline at end of file +// cancel: "Cancel" => "Hủy"// refuseItemText: "Refuse to answer" => "Từ chối trả lời" +// dontKnowItemText: "Don't know" => "Không biết" \ No newline at end of file diff --git a/src/localization/welsh.ts b/src/localization/welsh.ts index 9e562bd836..3611bf143b 100644 --- a/src/localization/welsh.ts +++ b/src/localization/welsh.ts @@ -9,6 +9,8 @@ export var welshSurveyStrings = { startSurveyText: "Dechrau", otherItemText: "Arall (disgrifiwch)", noneItemText: "Dim", + refuseItemText: "Gwrthod ateb", + dontKnowItemText: "Ddim yn gwybod", selectAllItemText: "Dewis y Cyfan ", progressText: "Tudalen {0} o {1}", indexText: "{0} o {1}", @@ -134,4 +136,5 @@ surveyLocalization.localeNames["cy"] = "cymraeg"; // showDetails: "Show Details" => "Dangos manylion" // hideDetails: "Hide Details" => "Manylion Cuddio" // ok: "OK" => "OCÊ" -// cancel: "Cancel" => "Canslo" \ No newline at end of file +// cancel: "Cancel" => "Canslo"// refuseItemText: "Refuse to answer" => "Gwrthod ateb" +// dontKnowItemText: "Don't know" => "Ddim yn gwybod" \ No newline at end of file diff --git a/src/question_baseselect.ts b/src/question_baseselect.ts index 751da0f1fe..9f157d43c8 100644 --- a/src/question_baseselect.ts +++ b/src/question_baseselect.ts @@ -29,7 +29,9 @@ export class QuestionSelectBase extends Question { private cachedValueForUrlRequests: any; private isChoicesLoaded: boolean; private enableOnLoadingChoices: boolean; - private noneItemValue: ItemValue = new ItemValue(settings.noneItemValue); + private noneItemValue: ItemValue; + private refuseItemValue: ItemValue; + private dontKnowItemValue: ItemValue; private newItemValue: ItemValue; private canShowOptionItemCallback: (item: ItemValue) => boolean; private waitingGetChoiceDisplayValueResponse: boolean; @@ -42,10 +44,9 @@ export class QuestionSelectBase extends Question { constructor(name: string) { super(name); - var noneItemText = this.createLocalizableString("noneText", this.noneItemValue, true, "noneItemText"); - this.noneItemValue.locOwner = this; - this.noneItemValue.setLocText(noneItemText); - + this.noneItemValue = this.createDefaultItem(settings.noneItemValue, "noneText", "noneItemText"); + this.refuseItemValue = this.createDefaultItem(settings.refuseItemValue, "refuseText", "refuseItemText"); + this.dontKnowItemValue = this.createDefaultItem(settings.dontKnowItemValue, "dontKnowText", "dontKnowItemText"); this.createItemValues("choices"); this.registerPropertyChangedHandlers(["choices"], () => { if (!this.filterItems()) { @@ -54,7 +55,7 @@ export class QuestionSelectBase extends Question { }); this.registerPropertyChangedHandlers( ["choicesFromQuestion", "choicesFromQuestionMode", "choiceValuesFromQuestion", - "choiceTextsFromQuestion", "showNoneItem", "isUsingRestful", "isMessagePanelVisible"], + "choiceTextsFromQuestion", "showNoneItem", "showRefuseItem", "showDontKnowItem", "isUsingRestful", "isMessagePanelVisible"], () => { this.onVisibleChoicesChanged(); } @@ -183,7 +184,7 @@ export class QuestionSelectBase extends Question { return this.hasOther && this.getHasOther(this.renderedValue); } public get isNoneSelected(): boolean { - return this.hasNone && this.getIsItemValue(this.renderedValue, this.noneItem); + return this.showNoneItem && this.getIsItemValue(this.renderedValue, this.noneItem); } /** * Specifies whether to display the "None" choice item. @@ -191,6 +192,7 @@ export class QuestionSelectBase extends Question { * When users select the "None" item in multi-select questions, all other items become unselected. * @see noneItem * @see noneText + * @see [settings.noneItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#noneItemValue) * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder) */ public get showNoneItem(): boolean { @@ -225,6 +227,83 @@ export class QuestionSelectBase extends Question { get locNoneText(): LocalizableString { return this.getLocalizableString("noneText"); } + /** + * Specifies whether to display the "Refuse to answer" choice item. + * + * When users select the "Refuse to answer" item in multi-select questions, all other items become unselected. + * @see refuseItem + * @see refuseItemText + * @see [settings.refuseItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#refuseItemValue) + * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder) + */ + public get showRefuseItem(): boolean { + return this.getPropertyValue("showRefuseItem"); + } + public set showRefuseItem(val: boolean) { + this.setPropertyValue("showRefuseItem", val); + } + /** + * Returns the "Refuse to answer" choice item. Use this property to change the item's `value` or `text`. + * @see showRefuseItem + */ + public get refuseItem(): ItemValue { + return this.refuseItemValue; + } + /** + * Gets or sets a caption for the "Refuse to answer" choice item. + * @see showRefuseItem + */ + public get refuseText(): string { + return this.getLocalizableStringText("refuseText"); + } + public set refuseText(val: string) { + this.setLocalizableStringText("refuseText", val); + } + get locRefuseText(): LocalizableString { + return this.getLocalizableString("refuseText"); + } + /** + * Specifies whether to display the "Don't know" choice item. + * + * When users select the "Don't know" item in multi-select questions, all other items become unselected. + * @see dontKnowItem + * @see dontKnowItemText + * @see [settings.dontKnowItemValue](https://surveyjs.io/form-library/documentation/api-reference/settings#dontKnowItemValue) + * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder) + */ + public get showDontKnowItem(): boolean { + return this.getPropertyValue("showDontKnowItem"); + } + public set showDontKnowItem(val: boolean) { + this.setPropertyValue("showDontKnowItem", val); + } + /** + * Returns the "Don't know" choice item. Use this property to change the item's `value` or `text`. + * @see showDontKnowItem + */ + public get dontKnowItem(): ItemValue { + return this.dontKnowItemValue; + } + /** + * Gets or sets a caption for the "Don't know" choice item. + * @see showDontKnowItem + */ + public get dontKnowText(): string { + return this.getLocalizableStringText("dontKnowText"); + } + public set dontKnowText(val: string) { + this.setLocalizableStringText("dontKnowText", val); + } + get locDontKnowText(): LocalizableString { + return this.getLocalizableString("dontKnowText"); + } + private createDefaultItem(defaultValue: any, name: string, locName: string): ItemValue { + const item = new ItemValue(defaultValue); + const locStr = this.createLocalizableString(name, item, true, locName); + item.locOwner = this; + item.setLocText(locStr); + return item; + } /** * A Boolean expression that is evaluated against each choice item. If the expression evaluates to `false`, the choice item becomes hidden. * @@ -636,7 +715,9 @@ export class QuestionSelectBase extends Question { ): boolean { if (!checkEmptyValue && this.isValueEmpty(val)) return false; if (includeOther && val == this.otherItem.value) return false; - if (this.hasNone && val == this.noneItem.value) return false; + if (this.showNoneItem && val == this.noneItem.value) return false; + if (this.showRefuseItem && val == this.refuseItem.value) return false; + if (this.showDontKnowItem && val == this.dontKnowItem.value) return false; var choices = isFilteredChoices ? this.getFilteredChoices() : this.activeChoices; @@ -904,7 +985,9 @@ export class QuestionSelectBase extends Question { protected canUseFilteredChoices(): boolean { return ( !this.isAddDefaultItems && - !this.hasNone && + !this.showNoneItem && + !this.showRefuseItem && + !this.showDontKnowItem && !this.hasOther && this.choicesOrder == "none" ); @@ -952,19 +1035,23 @@ export class QuestionSelectBase extends Question { } } protected addNonChoicesItems(dict: Array<{ index: number, item: ItemValue }>, isAddAll: boolean): void { - if ( - this.supportNone() && this.canShowOptionItem(this.noneItem, isAddAll, this.hasNone) - ) { - this.addNonChoiceItem(dict, this.noneItem, settings.specialChoicesOrder.noneItem); + if (this.supportNone()) { + this.addNonChoiceItem(dict, this.noneItem, isAddAll, this.showNoneItem, settings.specialChoicesOrder.noneItem); } - if ( - this.supportOther() && this.canShowOptionItem(this.otherItem, isAddAll, this.hasOther) - ) { - this.addNonChoiceItem(dict, this.otherItem, settings.specialChoicesOrder.otherItem); + if (this.supportRefuse()) { + this.addNonChoiceItem(dict, this.refuseItem, isAddAll, this.showRefuseItem, settings.specialChoicesOrder.refuseItem); + } + if (this.supportDontKnow()) { + this.addNonChoiceItem(dict, this.dontKnowItem, isAddAll, this.showDontKnowItem, settings.specialChoicesOrder.dontKnowItem); + } + if(this.supportOther()) { + this.addNonChoiceItem(dict, this.otherItem, isAddAll, this.hasOther, settings.specialChoicesOrder.otherItem); } } - protected addNonChoiceItem(dict: Array<{ index: number, item: ItemValue }>, item: ItemValue, order: Array): void { - order.forEach(val => dict.push({ index: val, item: item })); + protected addNonChoiceItem(dict: Array<{ index: number, item: ItemValue }>, item: ItemValue, isAddAll: boolean, showItem: boolean, order: Array): void { + if(this.canShowOptionItem(item, isAddAll, showItem)) { + order.forEach(val => dict.push({ index: val, item: item })); + } } protected canShowOptionItem(item: ItemValue, isAddAll: boolean, hasItem: boolean): boolean { let res: boolean = (isAddAll && (!!this.canShowOptionItemCallback ? this.canShowOptionItemCallback(item) : true)) || hasItem; @@ -976,7 +1063,9 @@ export class QuestionSelectBase extends Question { } public isItemInList(item: ItemValue): boolean { if (item === this.otherItem) return this.hasOther; - if (item === this.noneItem) return this.hasNone; + if (item === this.noneItem) return this.showNoneItem; + if (item === this.refuseItem) return this.showRefuseItem; + if (item === this.dontKnowItem) return this.showDontKnowItem; if (item === this.newItemValue) return false; return true; } @@ -1157,7 +1246,7 @@ export class QuestionSelectBase extends Question { : undefined; const choices = question.visibleChoices; for (var i = 0; i < choices.length; i++) { - if (this.isBuiltInChoice(choices[i], question)) continue; + if (question.isBuiltInChoice(choices[i])) continue; if (isSelected === undefined) { res.push(this.copyChoiceItem(choices[i])); continue; @@ -1184,16 +1273,20 @@ export class QuestionSelectBase extends Question { choices = this.visibleChoices; } for (var i = 0; i < choices.length; i++) { - if (!this.isBuiltInChoice(choices[i], this)) return true; + if (!this.isBuiltInChoice(choices[i])) return true; } return false; } - protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean { - return ( - item === question.noneItem || - item === question.otherItem || - item === question.newItemValue - ); + protected isBuiltInChoice(item: ItemValue): boolean { + return this.isNoneItem(item) || + item === this.otherItem || + item === this.newItemValue; + } + public isNoneItem(item: ItemValue): boolean { + return this.getNoneItems().indexOf(item) > -1; + } + protected getNoneItems(): Array { + return [this.noneItem, this.refuseItem, this.dontKnowItem]; } protected getChoices(): Array { return this.choices; @@ -1204,6 +1297,12 @@ export class QuestionSelectBase extends Question { public supportNone(): boolean { return this.isSupportProperty("showNoneItem"); } + public supportRefuse(): boolean { + return this.isSupportProperty("showRefuseItem"); + } + public supportDontKnow(): boolean { + return this.isSupportProperty("showDontKnowItem"); + } protected isSupportProperty(propName: string): boolean { return ( !this.isDesignMode || @@ -1644,7 +1743,7 @@ export class QuestionSelectBase extends Question { return res; } get dataChoices(): ItemValue[] { - return this.visibleChoices.filter((item) => !this.isBuiltInChoice(item, this)); + return this.visibleChoices.filter((item) => !this.isBuiltInChoice(item)); } get bodyItems(): ItemValue[] { return (this.hasHeadItems || this.hasFootItems) ? this.dataChoices : this.visibleChoices; @@ -1929,6 +2028,8 @@ Serializer.addClass( { name: "separateSpecialChoices:boolean", visible: false }, { name: "showOtherItem:boolean", alternativeName: "hasOther" }, { name: "showNoneItem:boolean", alternativeName: "hasNone" }, + { name: "showRefuseItem:boolean", visible: false }, + { name: "showDontKnowItem:boolean", visible: false }, { name: "otherPlaceholder", alternativeName: "otherPlaceHolder", @@ -1943,7 +2044,23 @@ Serializer.addClass( serializationProperty: "locNoneText", dependsOn: "showNoneItem", visibleIf: function (obj: any) { - return obj.hasNone; + return obj.showNoneItem; + }, + }, + { + name: "refuseText", + serializationProperty: "locRefuseText", + dependsOn: "showRefuseItem", + visibleIf: function (obj: any) { + return obj.showRefuseItem; + }, + }, + { + name: "dontKnowText", + serializationProperty: "locDontKnowText", + dependsOn: "showDontKnowItem", + visibleIf: function (obj: any) { + return obj.showDontKnowItem; }, }, { diff --git a/src/question_checkbox.ts b/src/question_checkbox.ts index 1a96025d57..0249cc529d 100644 --- a/src/question_checkbox.ts +++ b/src/question_checkbox.ts @@ -115,7 +115,10 @@ export class QuestionCheckboxModel extends QuestionCheckboxBase { * @see showSelectAllItem */ public get isAllSelected(): boolean { - if (this.isItemSelected(this.noneItem)) return false; + const noneItems = this.getNoneItems(); + for(let i = 0; i < noneItems.length; i ++) { + if(this.isItemSelected(noneItems[i])) return false; + } const items = this.getVisibleEnableItems(); if(items.length === 0) return false; const val = this.value; @@ -162,18 +165,22 @@ export class QuestionCheckboxModel extends QuestionCheckboxBase { this.toggleSelectAll(); } } else { - const newValue: Array = [].concat(this.renderedValue || []); - const index = newValue.indexOf(item.value); - if (checked) { - if (index < 0) { - newValue.push(item.value); - } + if(this.isNoneItem(item)) { + this.renderedValue = [item.value]; } else { - if (index > -1) { - newValue.splice(index, 1); + const newValue: Array = [].concat(this.renderedValue || []); + const index = newValue.indexOf(item.value); + if (checked) { + if (index < 0) { + newValue.push(item.value); + } + } else { + if (index > -1) { + newValue.splice(index, 1); + } } + this.renderedValue = newValue; } - this.renderedValue = newValue; } } protected isItemSelectedCore(item: ItemValue): boolean { @@ -374,20 +381,7 @@ export class QuestionCheckboxModel extends QuestionCheckboxBase { if (!newValue) newValue = []; if (!value) value = []; if (this.isTwoValueEquals(value, newValue)) return; - if (this.hasNone) { - var prevNoneIndex = this.noneIndexInArray(value); - var newNoneIndex = this.noneIndexInArray(newValue); - if (prevNoneIndex > -1) { - if (newNoneIndex > -1 && newValue.length > 1) { - newValue.splice(newNoneIndex, 1); - } - } else { - if (newNoneIndex > -1) { - newValue.splice(0, newValue.length); - newValue.push(this.noneItem.value); - } - } - } + this.removeNoneItemsValues(value, newValue); super.setNewValue(newValue); } protected getIsMultipleValue(): boolean { @@ -411,30 +405,56 @@ export class QuestionCheckboxModel extends QuestionCheckboxBase { } return -1; } - private noneIndexInArray(val: any) { - if (!val || !Array.isArray(val)) return -1; - var noneValue = this.noneItem.value; - for (var i = 0; i < val.length; i++) { - if (val[i] == noneValue) return i; + protected removeNoneItemsValues(value: Array, newValue: Array): void { + const noneValues: Array = []; + if(this.showNoneItem) noneValues.push(this.noneItem.value); + if(this.showRefuseItem) noneValues.push(this.refuseItem.value); + if(this.showDontKnowItem) noneValues.push(this.dontKnowItem.value); + if (noneValues.length > 0) { + const prevNone = this.noneIndexInArray(value, noneValues); + const newNone = this.noneIndexInArray(newValue, noneValues); + if(prevNone.index > -1) { + if(prevNone.val === newNone.val) { + if(newValue.length > 0) { + newValue.splice(newNone.index, 1); + } + } else { + const prevNewNone = this.noneIndexInArray(newValue, [prevNone.val]); + if(prevNewNone.index > -1 && prevNewNone.index < newValue.length - 1) { + newValue.splice(prevNewNone.index, 1); + } + } + } else { + if (newNone.index > -1 && newValue.length > 1) { + const itemVal = this.convertValueToObject([newNone.val])[0]; + newValue.splice(0, newValue.length, itemVal); + } + } } - return -1; + } + + private noneIndexInArray(val: any, noneValues: Array): { index: number, val: any } { + if (!Array.isArray(val)) return { index: -1, val: undefined }; + for (var i = val.length - 1; i >= 0; i--) { + const index = noneValues.indexOf(this.getRealValue(val[i])); + if (index > -1) return { index: i, val: noneValues[index] }; + } + return { index: -1, val: undefined }; } protected canUseFilteredChoices(): boolean { return !this.hasSelectAll && super.canUseFilteredChoices(); } - protected supportSelectAll() { + protected supportSelectAll(): boolean { return this.isSupportProperty("showSelectAllItem"); } protected addNonChoicesItems(dict: Array<{ index: number, item: ItemValue }>, isAddAll: boolean): void { super.addNonChoicesItems(dict, isAddAll); - if ( - this.supportSelectAll() && this.canShowOptionItem(this.selectAllItem, isAddAll, this.hasSelectAll) - ) { - this.addNonChoiceItem(dict, this.selectAllItem, settings.specialChoicesOrder.selectAllItem); + if (this.supportSelectAll()) { + this.addNonChoiceItem(dict, this.selectAllItem, isAddAll, this.hasSelectAll, settings.specialChoicesOrder.selectAllItem); } } - protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean { - return item === (question).selectAllItem || super.isBuiltInChoice(item, question); + protected isBuiltInChoice(item: ItemValue): boolean { + return item === this.selectAllItem || super.isBuiltInChoice(item); } public isItemInList(item: ItemValue): boolean { diff --git a/src/question_imagepicker.ts b/src/question_imagepicker.ts index f4e3b87cbf..62d0c623ee 100644 --- a/src/question_imagepicker.ts +++ b/src/question_imagepicker.ts @@ -107,12 +107,10 @@ export class QuestionImagePickerModel extends QuestionCheckboxBase { public get isCompositeQuestion(): boolean { return true; } - public supportOther(): boolean { - return false; - } - public supportNone(): boolean { - return false; - } + public supportOther(): boolean { return false; } + public supportNone(): boolean { return false; } + public supportRefuse(): boolean { return false; } + public supportDontKnow(): boolean { return false; } public isAnswerCorrect(): boolean { if (!this.multiSelect) return super.isAnswerCorrect(); return Helpers.isArrayContainsEqual(this.value, this.correctAnswer); @@ -291,7 +289,7 @@ export class QuestionImagePickerModel extends QuestionCheckboxBase { return this.multiSelect ? "checkbox" : "radio"; } - protected isBuiltInChoice(item: ItemValue, question: QuestionSelectBase): boolean { + protected isBuiltInChoice(item: ItemValue): boolean { return false; } protected addToVisibleChoices(items: Array, isAddAll: boolean): void { @@ -442,6 +440,8 @@ Serializer.addClass( { name: "showOtherItem", visible: false }, { name: "otherText", visible: false }, { name: "showNoneItem", visible: false }, + { name: "showRefuseItem", visible: false }, + { name: "showDontKnowItem", visible: false }, { name: "noneText", visible: false }, { name: "optionsCaption", visible: false }, { name: "otherErrorText", visible: false }, diff --git a/src/question_ranking.ts b/src/question_ranking.ts index a508668670..6ec31a9d8c 100644 --- a/src/question_ranking.ts +++ b/src/question_ranking.ts @@ -368,15 +368,11 @@ export class QuestionRankingModel extends QuestionCheckboxModel { } }; - protected supportSelectAll(): boolean { - return false; - } - public supportOther(): boolean { - return false; - } - public supportNone(): boolean { - return false; - } + protected supportSelectAll(): boolean { return false; } + public supportOther(): boolean { return false; } + public supportNone(): boolean { return false; } + public supportRefuse(): boolean { return false; } + public supportDontKnow(): boolean { return false; } private handleArrowKeys = (index: number, choice: ItemValue, isDown: boolean) => { const delta = isDown ? 1 : -1; @@ -566,6 +562,8 @@ Serializer.addClass( { name: "otherErrorText", visible: false, isSerializable: false }, { name: "storeOthersAsComment", visible: false, isSerializable: false }, { name: "showNoneItem", visible: false, isSerializable: false }, + { name: "showRefuseItem", visible: false, isSerializable: false }, + { name: "showDontKnowItem", visible: false, isSerializable: false }, { name: "noneText", visible: false, isSerializable: false }, { name: "showSelectAllItem", visible: false, isSerializable: false }, { name: "selectAllText", visible: false, isSerializable: false }, diff --git a/src/settings.ts b/src/settings.ts index 4a1940a640..9f2afba260 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -510,15 +510,27 @@ export var settings = { */ showItemsInOrder: "default", /** - * A value to save in survey results when respondents select the None choice item. + * A value to save in survey results when respondents select the "None" choice item. * * Default value: `"none"` */ noneItemValue: "none", /** - * An object whose properties specify the order of the special choice items (None, Other, Select All) in select-based questions. + * A value to save in survey results when respondents select the "Refuse to answer" choice item. * - * Default value: `{ selectAllItem: [-1], noneItem: [1], otherItem: [2] }` + * Default value: `"refused"` + */ + refuseItemValue: "refused", + /** + * A value to save in survey results when respondents select the "Don't know" choice item. + * + * Default value: `"dontknow"` + */ + dontKnowItemValue: "dontknow", + /** + * An object whose properties specify the order of the special choice items ("None", "Other", "Select All", "Refuse to answer", "Don't know") in select-based questions. + * + * Default value: `{ selectAllItem: [-1], noneItem: [1], otherItem: [2], dontKnowItem: [3], otherItem: [4] }` * * Use this object to reorder special choices. Each property accepts an array of integer numbers. Negative numbers place a special choice item above regular choice items, positive numbers place it below them. For instance, the code below specifies the following order of choices: None, Select All, regular choices, Other. * @@ -539,7 +551,9 @@ export var settings = { specialChoicesOrder: { selectAllItem: [-1], noneItem: [1], - otherItem: [2] + refuseItem: [2], + dontKnowItem: [3], + otherItem: [4] }, /** * A list of supported validators by question type. diff --git a/tests/paneltests.ts b/tests/paneltests.ts index 01d44d028e..c5da3b5526 100644 --- a/tests/paneltests.ts +++ b/tests/paneltests.ts @@ -1178,7 +1178,7 @@ QUnit.test( "name": "cars", "title": "Dropdown", - "hasNone": true, + "showNoneItem": true, "colCount": 4, "choices": [ "Ford", @@ -1198,7 +1198,7 @@ QUnit.test( "title": "Checkbox", "hasSelectAll": true, - "hasNone": true, + "showNoneItem": true, "colCount": 4, "choices": [ "Ford", diff --git a/tests/questionDropdownTests.ts b/tests/questionDropdownTests.ts index 8a4b79a109..b2d9e77265 100644 --- a/tests/questionDropdownTests.ts +++ b/tests/questionDropdownTests.ts @@ -370,7 +370,7 @@ QUnit.test("readOnlyText default", assert => { "name": "q1", "placeholder": "click", "hasOther": true, - "hasNone": true, + "showNoneItem": true, "choices": [{ value: 1, text: "item 1" }, { value: 2, text: "item 2" }, { value: 3, text: "item 3" }] }] }; diff --git a/tests/question_baseselecttests.ts b/tests/question_baseselecttests.ts index 109bda0ef7..192fd2a03b 100644 --- a/tests/question_baseselecttests.ts +++ b/tests/question_baseselecttests.ts @@ -136,6 +136,65 @@ QUnit.test("Check QuestionSelectBase head and foot items property", function (as settings.supportCreatorV2 = false; }); +QUnit.test("Check QuestionSelectBase head and foot items property vs refuse and dontknow properties", function (assert) { + const refuseProp = Serializer.findProperty("selectbase", "showRefuseItem"); + const dontKnowProp = Serializer.findProperty("selectbase", "showDontKnowItem"); + refuseProp.visible = true; + dontKnowProp.visible = true; + const json = { + questions: [ + { + type: "checkbox", + name: "Question 1", + choices: ["Item1", "Item2", "Item3", "Item4", "Item5"], + colCount: 3, + }, + ], + }; + const survey = new SurveyModel(json); + + var question = survey.getAllQuestions()[0]; + assert.notOk(question.hasHeadItems); + assert.notOk(question.hasFootItems); + + settings.showItemsInOrder = "column"; + let columns = getValuesInColumns(question); + assert.deepEqual( + columns, + [["Item1", "Item2"], ["Item3", "Item4"], ["Item5"]], + "check showItemsBy col - runtime" + ); + + survey.setDesignMode(true); + settings.supportCreatorV2 = true; + (question).updateVisibleChoices(); + assert.ok(question.hasHeadItems); + assert.ok(question.hasFootItems); + columns = getValuesInColumns(question); + assert.deepEqual( + columns, + [["Item1", "Item2"], ["Item3", "Item4"], ["Item5"]], + "check showItemsBy col - design" + ); + let headItems = question.headItems.map((item) => item.id); + let footItems = question.footItems.map((item) => item.id); + + assert.deepEqual( + headItems, + ["selectall"], + "check head items" + ); + assert.deepEqual( + footItems, + ["newitem", "none", "refused", "dontknow", "other"], + "check foot items" + ); + settings.showItemsInOrder = "row"; + settings.supportCreatorV2 = false; + refuseProp.visible = false; + dontKnowProp.visible = false; +}); + QUnit.test("Check QuestionSelectBase and separateSpecialChoices option", function (assert) { var json = { questions: [ @@ -145,7 +204,7 @@ QUnit.test("Check QuestionSelectBase and separateSpecialChoices option", functio choices: ["Item1", "Item2"], hasOther: true, hasSelectAll: true, - hasNone: true, + showNoneItem: true, colCount: 2 }, ], @@ -318,7 +377,7 @@ QUnit.test("check onShowingChoiceItem event", (assert) => { type: "radiogroup", name: "q1", choices: [{ value: "Item1", visibleIf: "1 = 2" }, "Item2", "Item3"], - hasNone: true, + showNoneItem: true, hasOther: true }] }); @@ -339,6 +398,38 @@ QUnit.test("check onShowingChoiceItem event", (assert) => { assert.equal(question.visibleChoices[0].value, "Item1"); assert.equal(question.visibleChoices[1].value, "Item2"); }); +QUnit.test("check onShowingChoiceItem event & showRefuseItem & showDontKnowItem", (assert) => { + const survey = new SurveyModel({ + questions: [ + { + type: "radiogroup", + name: "q1", + choices: [{ value: "Item1", visibleIf: "1 = 2" }, "Item2", "Item3"], + showNoneItem: true, + showRefuseItem: true, + showDontKnowItem: true, + hasOther: true + }] + }); + + const question = survey.getQuestionByName("q1"); + assert.equal(question.visibleChoices.length, 6); + assert.equal(question.visibleChoices[0].value, "Item2"); + assert.equal(question.visibleChoices[1].value, "Item3"); + assert.equal(question.visibleChoices[2].value, "none"); + assert.equal(question.visibleChoices[3].value, "refused"); + assert.equal(question.visibleChoices[4].value, "dontknow"); + assert.equal(question.visibleChoices[5].value, "other"); + + survey.onShowingChoiceItem.add((sender, options) => { + if (options.question.name !== "q1") return; + options.visible = ["Item1", "Item2"].indexOf(options.item.value) > -1; + }); + + assert.equal(question.visibleChoices.length, 2); + assert.equal(question.visibleChoices[0].value, "Item1"); + assert.equal(question.visibleChoices[1].value, "Item2"); +}); QUnit.test("check focus comment of other select", (assert) => { const survey = new SurveyModel({ @@ -492,7 +583,7 @@ QUnit.test("checkbox vs valuePropertyName, check selectAll and none", (assert) = name: "q1", choices: ["apple", "banana", "orange"], valuePropertyName: "fruit", - hasNone: true, + showNoneItem: true, hasSelectAll: true } ] @@ -502,10 +593,59 @@ QUnit.test("checkbox vs valuePropertyName, check selectAll and none", (assert) = assert.deepEqual(q.renderedValue, ["apple", "banana", "orange"], "#1"); assert.deepEqual(q.value, [{ fruit: "apple" }, { fruit: "banana" }, { fruit: "orange" }], "#2"); assert.equal(q.isAllSelected, true, "#3, all is selected"); - q.renderedValue = ["none"]; + q.clickItemHandler(q.noneItem, true); assert.deepEqual(q.value, [{ fruit: "none" }], "#4"); assert.equal(q.isAllSelected, false, "#5, all is not selected"); }); +QUnit.test("checkbox vs valuePropertyName, check selectAll and none & refuse & dontknow", (assert) => { + const survey = new SurveyModel({ + elements: [ + { + type: "checkbox", + name: "q1", + choices: ["apple", "banana", "orange"], + valuePropertyName: "fruit", + showNoneItem: true, + showRefuseItem: true, + showDontKnowItem: true, + hasSelectAll: true + } + ] + }); + const q = survey.getQuestionByName("q1"); + q.toggleSelectAll(); + assert.deepEqual(q.renderedValue, ["apple", "banana", "orange"], "#1"); + assert.deepEqual(q.value, [{ fruit: "apple" }, { fruit: "banana" }, { fruit: "orange" }], "#2"); + assert.equal(q.isAllSelected, true, "#3, all is selected"); + q.clickItemHandler(q.refuseItem, true); + assert.deepEqual(q.value, [{ fruit: "refused" }], "#4"); + assert.equal(q.isAllSelected, false, "#5, all is not selected"); + q.clickItemHandler(q.selectAllItem, true); + assert.deepEqual(q.renderedValue, ["apple", "banana", "orange"], "#6"); + q.clickItemHandler(q.dontKnowItem, true); + assert.deepEqual(q.value, [{ fruit: "dontknow" }], "#7"); + q.clickItemHandler(q.refuseItem, true); + assert.deepEqual(q.value, [{ fruit: "refused" }], "#8"); + q.clickItemHandler(q.noneItem, true); + assert.deepEqual(q.value, [{ fruit: "none" }], "#9"); + q.clickItemHandler(q.choices[0], true); + assert.deepEqual(q.value, [{ fruit: "apple" }], "#10"); + q.renderedValue = ["refused"]; + assert.deepEqual(q.value, [{ fruit: "refused" }], "#11"); + q.clickItemHandler(q.choices[0], true); + assert.deepEqual(q.value, [{ fruit: "apple" }], "#12"); + + q.renderedValue = ["apple", "none"]; + assert.deepEqual(q.value, [{ fruit: "none" }], "#13"); + q.renderedValue = ["none", "refused"]; + assert.deepEqual(q.value, [{ fruit: "refused" }], "#14"); + q.renderedValue = ["refused", "dontknow"]; + assert.deepEqual(q.value, [{ fruit: "dontknow" }], "#15"); + q.renderedValue = ["dontknow", "none"]; + assert.deepEqual(q.value, [{ fruit: "none" }], "#16"); + q.renderedValue = ["none", "apple"]; + assert.deepEqual(q.value, [{ fruit: "apple" }], "#17"); +}); QUnit.test("checkbox vs valuePropertyName, check hasOther", (assert) => { const survey = new SurveyModel({ elements: [ @@ -630,7 +770,7 @@ QUnit.test("checkbox and radio css", (assert) => { type: "radiogroup", name: "q1", choices: ["Item 1"], - hasNone: true + showNoneItem: true }, { type: "checkbox", @@ -638,7 +778,7 @@ QUnit.test("checkbox and radio css", (assert) => { choices: ["Item 1"], showClearButton: true, hasSelectAll: true, - hasNone: true + showNoneItem: true }] }); let question1 = survey.getAllQuestions()[0]; @@ -787,7 +927,7 @@ QUnit.test("check locOwner for items", (assert) => { QUnit.test("check renamed has... properties", (assert) => { const question = new QuestionCheckboxModel("q1"); - assert.notOk(question.hasNone); + assert.notOk(question.showNoneItem); assert.notOk(question.hasSelectAll); assert.notOk(question.hasOther); assert.notOk(question.hasComment); @@ -799,10 +939,10 @@ QUnit.test("check renamed has... properties", (assert) => { question.showNoneItem = true; assert.ok(question.showNoneItem); - assert.ok(question.hasNone); - question.hasNone = false; + assert.ok(question.showNoneItem); + question.showNoneItem = false; + assert.notOk(question.showNoneItem); assert.notOk(question.showNoneItem); - assert.notOk(question.hasNone); question.showSelectAllItem = true; assert.ok(question.showSelectAllItem); @@ -1435,7 +1575,7 @@ QUnit.test("SelectBase visibleChoices for selectAll, none and showOtherItem", fu assert.equal(choices[4].value, "none", "none index #1"); assert.equal(choices[5].value, "other", "other index #1"); - settings.specialChoicesOrder.noneItem = [3]; + settings.specialChoicesOrder.noneItem = [5]; question.showNoneItem = false; question.showNoneItem = true; choices = question.visibleChoices; @@ -1444,7 +1584,7 @@ QUnit.test("SelectBase visibleChoices for selectAll, none and showOtherItem", fu assert.equal(choices[4].value, "other", "other index #2"); assert.equal(choices[5].value, "none", "none index #2"); - settings.specialChoicesOrder.noneItem = [-3, 3]; + settings.specialChoicesOrder.noneItem = [-5, 5]; question.showNoneItem = false; question.showNoneItem = true; choices = question.visibleChoices; @@ -1456,7 +1596,7 @@ QUnit.test("SelectBase visibleChoices for selectAll, none and showOtherItem", fu settings.specialChoicesOrder.selectAllItem = [-1]; settings.specialChoicesOrder.noneItem = [1]; - settings.specialChoicesOrder.otherItem = [2]; + settings.specialChoicesOrder.otherItem = [4]; }); QUnit.test("Double noneItem and SelectAllItem", function (assert) { settings.specialChoicesOrder.noneItem = [-3, 3]; diff --git a/tests/question_matrixdynamictests.ts b/tests/question_matrixdynamictests.ts index 9545c441fb..a35b43a952 100644 --- a/tests/question_matrixdynamictests.ts +++ b/tests/question_matrixdynamictests.ts @@ -4773,7 +4773,7 @@ QUnit.test("showInMultipleColumns property, and visibleIf in choices", function name: "col2", cellType: "checkbox", showInMultipleColumns: true, - hasNone: true, + showNoneItem: true, choices: [ { value: "A", visibleIf: "{val1} = 1" }, { value: "B", visibleIf: "{val1} = 2" }, diff --git a/tests/question_tagbox_tests.ts b/tests/question_tagbox_tests.ts index 0d261ed4c0..41a2c6d95c 100644 --- a/tests/question_tagbox_tests.ts +++ b/tests/question_tagbox_tests.ts @@ -137,7 +137,7 @@ const jsonTagboxWithSelectAll = { type: "tagbox", name: "question1", hasOther: "true", - hasNone: "true", + showNoneItem: "true", hasSelectAll: "true", choices: [ "item1", diff --git a/tests/surveyquestiontests.ts b/tests/surveyquestiontests.ts index d67646b966..82bc3baa11 100644 --- a/tests/surveyquestiontests.ts +++ b/tests/surveyquestiontests.ts @@ -1661,14 +1661,14 @@ QUnit.test("checkbox.renderedValue - storeOthersAsComment = false;", function ( ); assert.equal(question.comment, "X", "set comment"); }); -QUnit.test("checkbox.renderedValue - hasNone = true, Bug #1609", function ( +QUnit.test("checkbox.renderedValue - showNoneItem = true, Bug #1609", function ( assert ) { var survey = new SurveyModel(); survey.addNewPage("page1"); var question = new QuestionCheckboxModel("q"); question.choices = ["A", "B", "C", "D"]; - question.hasNone = true; + question.showNoneItem = true; survey.pages[0].addQuestion(question); question.value = ["A", "B"]; @@ -1686,14 +1686,14 @@ QUnit.test("checkbox.renderedValue - hasNone = true, Bug #1609", function ( ); }); QUnit.test( - "checkbox.renderedValue - hasNone = true and survey.storeOthersAsComment = false, Bug #1609", + "checkbox.renderedValue - showNoneItem = true and survey.storeOthersAsComment = false, Bug #1609", function (assert) { var survey = new SurveyModel(); survey.storeOthersAsComment = false; survey.addNewPage("page1"); var question = new QuestionCheckboxModel("q"); question.choices = ["A", "B", "C", "D"]; - question.hasNone = true; + question.showNoneItem = true; survey.pages[0].addQuestion(question); question.value = ["A", "B"]; @@ -3020,13 +3020,13 @@ QUnit.test("space in others does not work correctly , bug #1214", function ( ); }); -QUnit.test("Checkbox hasNone", function (assert) { +QUnit.test("Checkbox showNoneItem - modify value", function (assert) { var json = { elements: [ { type: "checkbox", name: "q1", - hasNone: true, + showNoneItem: true, choices: [1, 2, 3, 4, 5], }, ], @@ -3034,22 +3034,58 @@ QUnit.test("Checkbox hasNone", function (assert) { var survey = new SurveyModel(json); var q = survey.getQuestionByName("q1"); assert.equal(q.visibleChoices.length, 6, "5 items + none"); - q.hasNone = false; + q.showNoneItem = false; assert.equal(q.visibleChoices.length, 5, "none is removed"); - q.hasNone = true; + q.showNoneItem = true; assert.equal(q.visibleChoices.length, 6, "none is added"); q.value = [1, 2, "none"]; assert.deepEqual(q.value, ["none"], "we keep only none"); q.value = [1, "none"]; assert.deepEqual(q.value, [1], "none should gone"); }); -QUnit.test("Dropdown hasNone", function (assert) { +QUnit.test("Checkbox showRefuseItem/showDontKnowItem - modify value", function (assert) { + var json = { + elements: [ + { + type: "checkbox", + name: "q1", + showRefuseItem: true, + showDontKnowItem: true, + choices: [1, 2, 3, 4, 5], + }, + ], + }; + var survey = new SurveyModel(json); + var q = survey.getQuestionByName("q1"); + assert.equal(q.visibleChoices.length, 7, "7 items + refuse + don't know"); + + q.showRefuseItem = false; + assert.equal(q.visibleChoices.length, 6, "refuse is removed"); + q.showRefuseItem = true; + assert.equal(q.visibleChoices.length, 7, "refuse is added"); + + q.showDontKnowItem = false; + assert.equal(q.visibleChoices.length, 6, "don't know is removed"); + q.showDontKnowItem = true; + assert.equal(q.visibleChoices.length, 7, "don't know is added"); + + q.value = [1, 2, "refused"]; + assert.deepEqual(q.value, ["refused"], "we keep refuse only"); + q.value = [1, "refused"]; + assert.deepEqual(q.value, [1], "refuse should gone"); + + q.value = [1, 2, "dontknow"]; + assert.deepEqual(q.value, ["dontknow"], "we keep dontknow only"); + q.value = [1, "dontknow"]; + assert.deepEqual(q.value, [1], "dontknow should gone"); +}); +QUnit.test("Dropdown showNoneItem", function (assert) { var json = { elements: [ { type: "dropdown", name: "q1", - hasNone: true, + showNoneItem: true, choices: [1, 2, 3, 4, 5], }, ], @@ -3057,9 +3093,9 @@ QUnit.test("Dropdown hasNone", function (assert) { var survey = new SurveyModel(json); var q = survey.getQuestionByName("q1"); assert.equal(q.visibleChoices.length, 6, "5 items + none"); - q.hasNone = false; + q.showNoneItem = false; assert.equal(q.visibleChoices.length, 5, "none is removed"); - q.hasNone = true; + q.showNoneItem = true; assert.equal(q.visibleChoices.length, 6, "none is added"); }); @@ -3207,7 +3243,7 @@ QUnit.test("Test property hideIfChoicesEmpty", function (assert) { assert.equal(question.isVisible, false, "Choices are empty"); question.hasOther = true; question.hasSelectAll = true; - question.hasNone = true; + question.showNoneItem = true; assert.equal(question.isVisible, false, "Still choices are empty"); question.choices = [1, 2, 3]; assert.equal(question.isVisible, true, "Choices are not empty"); @@ -4578,7 +4614,7 @@ QUnit.test("Checkbox question getItemClass() + survey.onUpdateChoiceItemCss", fu name: "q1", storeOthersAsComment: false, hasSelectAll: true, - hasNone: true, + showNoneItem: true, choices: [1, 2], }, ], @@ -5295,7 +5331,7 @@ QUnit.test("Checkbox: Carry Forward and hasOther", function(assert) { assert.equal(q2.visibleChoices[2].text, "someText", "other text"); }); QUnit.test( - "choicesFromQuestion hasSelectAll, hasNone, hasOther properties, Bug#", + "choicesFromQuestion hasSelectAll, showNoneItem, hasOther properties, Bug#", function (assert) { var survey = new SurveyModel({ elements: [ @@ -5304,7 +5340,7 @@ QUnit.test( name: "q1", choices: [1, 2, 3], hasSelectAll: true, - hasNone: true, + showNoneItem: true, hasOther: true, }, { @@ -5312,7 +5348,7 @@ QUnit.test( name: "q2", choicesFromQuestion: "q1", hasSelectAll: true, - hasNone: true, + showNoneItem: true, hasOther: true, }, ], @@ -5607,7 +5643,7 @@ QUnit.test( false, "none not in list" ); - q1.hasNone = true; + q1.showNoneItem = true; assert.equal(q1.isItemInList(q1.visibleChoices[4]), true, "none in list"); assert.equal(q1.visibleChoices[5].value, "other", "index=5, other"); @@ -5679,7 +5715,7 @@ QUnit.test( "Do not show SelectAll+None+hasOther+new: 2" ); q1.hasSelectAll = true; - q1.hasNone = true; + q1.showNoneItem = true; q1.hasOther = true; assert.equal( q1.visibleChoices.length, @@ -5728,7 +5764,7 @@ QUnit.test("Creator V2: do not add choices from carry-forward in design mode", f settings.supportCreatorV2 = false; }); QUnit.test( - "Creator V2: Hide selectAll, hasNone and hasOther if this properties are invisible", + "Creator V2: Hide selectAll, showNoneItem and hasOther if this properties are invisible", function (assert) { var json = { elements: [ @@ -5741,7 +5777,7 @@ QUnit.test( }; settings.supportCreatorV2 = true; Serializer.findProperty("selectbase", "hasOther").visible = false; - Serializer.findProperty("selectbase", "hasNone").visible = false; + Serializer.findProperty("selectbase", "showNoneItem").visible = false; Serializer.findProperty("checkbox", "hasSelectAll").visible = false; var survey = new SurveyModel(); survey.setDesignMode(true); @@ -5753,7 +5789,7 @@ QUnit.test( "Hide SelectAll+None+hasOther and show only new: 3+4 - 3" ); Serializer.findProperty("selectbase", "hasOther").visible = true; - Serializer.findProperty("selectbase", "hasNone").visible = true; + Serializer.findProperty("selectbase", "showNoneItem").visible = true; Serializer.findProperty("checkbox", "hasSelectAll").visible = true; settings.supportCreatorV2 = false; }