mirror of https://github.com/acanas/swad-core.git
Version19.197
This commit is contained in:
parent
23abb64f34
commit
b8ca23cb90
|
@ -544,10 +544,11 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
|||
En OpenSWAD:
|
||||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 19.196.1 (2020-04-25)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 19.197 (2020-04-26)"
|
||||
#define CSS_FILE "swad19.193.1.css"
|
||||
#define JS_FILE "swad19.193.1.js"
|
||||
/*
|
||||
Version 19.197: Apr 26, 2020 Ask user to remove set of questions. (298954 lines)
|
||||
Version 19.196.1: Apr 25, 2020 Changes in edition of exams. (298857 lines)
|
||||
Version 19.196: Apr 25, 2020 Changes in edition of sets of questions. (298866 lines)
|
||||
Version 19.195.1: Apr 25, 2020 Translation of messages related to sets of questions. (298840 lines)
|
||||
|
|
136
swad_exam.c
136
swad_exam.c
|
@ -130,7 +130,7 @@ static void Exa_PutFormsToRemEditOneExam (struct Exa_Exams *Exams,
|
|||
const struct Exa_Exam *Exam,
|
||||
const char *Anchor);
|
||||
|
||||
static void Exa_PutParamsOneSet (void *Exams);
|
||||
static void ExaSet_PutParamsOneSet (void *Exams);
|
||||
static void Exa_PutParamsOneQst (void *Exams);
|
||||
static void Exa_PutHiddenParamOrder (Exa_Order_t SelectedOrder);
|
||||
static Exa_Order_t Exa_GetParamOrder (void);
|
||||
|
@ -168,6 +168,8 @@ static void ExaSet_UpdateSet (struct ExaSet_Set *Set);
|
|||
static void Exa_CreateExam (struct Exa_Exam *Exam,const char *Txt);
|
||||
static void Exa_UpdateExam (struct Exa_Exam *Exam,const char *Txt);
|
||||
|
||||
static void ExaSet_PutParamSetCod (long SetCod);
|
||||
|
||||
static void Exa_RemAnswersOfAQuestion (long ExaCod,unsigned QstInd);
|
||||
|
||||
static unsigned ExaSet_GetMaxSetIndexInExam (long ExaCod);
|
||||
|
@ -484,7 +486,7 @@ void Exa_SeeOneExam (void)
|
|||
Lay_WrongExamExit ();
|
||||
Exam.ExaCod = Exams.ExaCod;
|
||||
|
||||
/***** Get data of exam *****/
|
||||
/***** Get exam data *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
|
||||
/***** Show exam *****/
|
||||
|
@ -773,15 +775,15 @@ static void Exa_PutFormsToRemEditOneExam (struct Exa_Exams *Exams,
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************** Put parameter to move/remove one set of questions ****************/
|
||||
/************ Put parameter to move/remove one set of questions **************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Exa_PutParamsOneSet (void *Exams)
|
||||
static void ExaSet_PutParamsOneSet (void *Exams)
|
||||
{
|
||||
if (Exams)
|
||||
{
|
||||
Exa_PutParams (Exams);
|
||||
Exa_PutParamSetInd (((struct Exa_Exams *) Exams)->SetInd);
|
||||
ExaSet_PutParamSetCod (((struct Exa_Exams *) Exams)->SetCod);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1043,10 +1045,14 @@ void ExaSet_GetDataOfSetByCod (struct ExaSet_Set *Set)
|
|||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
unsigned long NumRows;
|
||||
char StrSetInd[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
|
||||
|
||||
/***** Get data of set from database *****/
|
||||
/***** Get data of set of questions from database *****/
|
||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get set data",
|
||||
"SELECT SetInd" // row[0]
|
||||
"SELECT SetCod," // row[0]
|
||||
"SetInd," // row[1]
|
||||
"NumQstsToExam," // row[2]
|
||||
"Title" // row[3]
|
||||
" FROM exa_sets"
|
||||
" WHERE SetCod=%ld"
|
||||
" AND ExaCod=%ld", // Extra check
|
||||
|
@ -1055,9 +1061,27 @@ void ExaSet_GetDataOfSetByCod (struct ExaSet_Set *Set)
|
|||
{
|
||||
/* Get row */
|
||||
row = mysql_fetch_row (mysql_res);
|
||||
/*
|
||||
row[0] SetCod
|
||||
row[1] SetInd
|
||||
row[2] NumQstsToExam
|
||||
row[3] Title
|
||||
*/
|
||||
/* Get set code (row[0]) */
|
||||
Set->SetCod = Str_ConvertStrCodToLongCod (row[0]);
|
||||
|
||||
/* Get index of the set (row[0]) */
|
||||
Set->SetInd = Str_ConvertStrToUnsigned (row[0]);
|
||||
/* Get set index (row[1]) */
|
||||
Set->SetInd = Str_ConvertStrToUnsigned (row[1]);
|
||||
snprintf (StrSetInd,sizeof (Set->SetInd),
|
||||
"%u",
|
||||
Set->SetInd);
|
||||
|
||||
/* Get set index (row[2]) */
|
||||
Set->NumQstsToExam = Str_ConvertStrToUnsigned (row[2]);
|
||||
|
||||
/* Get the title of the set (row[3]) */
|
||||
Str_Copy (Set->Title,row[3],
|
||||
ExaSet_MAX_BYTES_TITLE);
|
||||
}
|
||||
else
|
||||
/* Initialize to empty set */
|
||||
|
@ -1077,7 +1101,7 @@ void Exa_GetDataOfExamByCod (struct Exa_Exam *Exam)
|
|||
MYSQL_ROW row;
|
||||
unsigned long NumRows;
|
||||
|
||||
/***** Get data of exam from database *****/
|
||||
/***** Get exam data from database *****/
|
||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get exam data",
|
||||
"SELECT exa_exams.ExaCod," // row[0]
|
||||
"exa_exams.CrsCod," // row[1]
|
||||
|
@ -1633,7 +1657,7 @@ void ExaSet_RecFormSet (void)
|
|||
ExaSet_UpdateSet (&Set); // Update set data in database
|
||||
}
|
||||
|
||||
/***** Put form to create/edit an exam and show sets *****/
|
||||
/***** Show current exam and its sets *****/
|
||||
Exa_PutFormsOneExam (&Exams,&Exam,&Set,
|
||||
false); // It's not a new exam
|
||||
}
|
||||
|
@ -1828,7 +1852,7 @@ void Exa_RecFormExam (void)
|
|||
Exa_UpdateExam (&Exam,Txt); // Update exam data in database
|
||||
}
|
||||
|
||||
/***** Put form to create/edit an exam and show sets *****/
|
||||
/***** Show current exam and its sets *****/
|
||||
Exa_PutFormsOneExam (&Exams,&Exam,&Set,
|
||||
ItsANewExam); // It's not a new exam
|
||||
}
|
||||
|
@ -2054,12 +2078,6 @@ void ExaSet_RequestCreatOrEditSet (void)
|
|||
/***** Put form to edit the exam created or updated *****/
|
||||
Exa_PutFormEditionExam (&Exams,&Exam,Txt,
|
||||
false); // No new exam
|
||||
|
||||
/***** Show sets of the exam ready to be edited *****/
|
||||
ExaSet_ListExamSets (&Exams,&Exam,&Set);
|
||||
|
||||
/* Show questions of the exam ready to be edited */
|
||||
// Exa_ListExamQuestions (&Exams,&Exam);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -2083,7 +2101,7 @@ void Exa_RequestNewQuestion (void)
|
|||
Lay_WrongExamExit ();
|
||||
Exam.ExaCod = Exams.ExaCod;
|
||||
|
||||
/***** Get data of exam from database *****/
|
||||
/***** Get exam data from database *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
|
||||
/***** Check if exam has events *****/
|
||||
|
@ -2123,7 +2141,7 @@ void Exa_ListQuestionsToSelect (void)
|
|||
Lay_WrongExamExit ();
|
||||
Exam.ExaCod = Exams.ExaCod;
|
||||
|
||||
/***** Get data of exam from database *****/
|
||||
/***** Get exam data from database *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
|
||||
/***** Check if exam has events *****/
|
||||
|
@ -2141,9 +2159,9 @@ void Exa_ListQuestionsToSelect (void)
|
|||
/**************** Write parameter with index of set of questions *****************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Exa_PutParamSetInd (unsigned SetInd)
|
||||
static void ExaSet_PutParamSetCod (long SetCod)
|
||||
{
|
||||
Par_PutHiddenParamUnsigned (NULL,"SetInd",SetInd);
|
||||
Par_PutHiddenParamUnsigned (NULL,"SetCod",SetCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -2359,13 +2377,13 @@ static void ExaSet_ListExamSets (struct Exa_Exams *Exams,
|
|||
/***** Get maximum set index *****/
|
||||
MaxSetInd = ExaSet_GetMaxSetIndexInExam (Exam->ExaCod);
|
||||
|
||||
/***** Get data of set of questionss from database *****/
|
||||
/***** Get data of set of questions from database *****/
|
||||
NumSets = (unsigned)
|
||||
DB_QuerySELECT (&mysql_res,"can not get exam set of questionss",
|
||||
"SELECT exa_sets.SetCod," // row[0]
|
||||
"exa_sets.SetInd," // row[1]
|
||||
"exa_sets.NumQstsToExam," // row[2]
|
||||
"exa_sets.Title" // row[3]
|
||||
DB_QuerySELECT (&mysql_res,"can not get sets of questions",
|
||||
"SELECT SetCod," // row[0]
|
||||
"SetInd," // row[1]
|
||||
"NumQstsToExam," // row[2]
|
||||
"Title" // row[3]
|
||||
" FROM exa_sets"
|
||||
" WHERE ExaCod=%ld"
|
||||
" ORDER BY SetInd",
|
||||
|
@ -2383,7 +2401,7 @@ static void ExaSet_ListExamSets (struct Exa_Exams *Exams,
|
|||
Exam->ExaCod,MaxSetInd,
|
||||
NumSets,mysql_res,
|
||||
ICanEditSets);
|
||||
else // This exam has no sets
|
||||
else // This exam has no sets
|
||||
Ale_ShowAlert (Ale_INFO,Txt_This_exam_has_no_sets_of_questions);
|
||||
|
||||
/***** Free structure that stores the query result *****/
|
||||
|
@ -2519,8 +2537,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
|
|||
if (ICanEditSets)
|
||||
{
|
||||
Frm_StartForm (ActReqRemExaSet);
|
||||
Exa_PutParams (Exams);
|
||||
Exa_PutParamQstInd (Set.SetInd);
|
||||
ExaSet_PutParamsOneSet (Exams);
|
||||
Ico_PutIconRemove ();
|
||||
Frm_EndForm ();
|
||||
}
|
||||
|
@ -2531,7 +2548,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
|
|||
if (ICanEditSets && Set.SetInd > 1)
|
||||
{
|
||||
Lay_PutContextualLinkOnlyIcon (ActUp_ExaSet,NULL,
|
||||
Exa_PutParamsOneSet,Exams,
|
||||
ExaSet_PutParamsOneSet,Exams,
|
||||
"arrow-up.svg",
|
||||
Str_BuildStringStr (Txt_Move_up_X,
|
||||
StrSetInd));
|
||||
|
@ -2544,7 +2561,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
|
|||
if (ICanEditSets && Set.SetInd < MaxSetInd)
|
||||
{
|
||||
Lay_PutContextualLinkOnlyIcon (ActDwnExaSet,NULL,
|
||||
Exa_PutParamsOneSet,Exams,
|
||||
ExaSet_PutParamsOneSet,Exams,
|
||||
"arrow-down.svg",
|
||||
Str_BuildStringStr (Txt_Move_down_X,
|
||||
StrSetInd));
|
||||
|
@ -2881,7 +2898,7 @@ void Exa_AddQuestionsToExam (void)
|
|||
Lay_WrongExamExit ();
|
||||
Exam.ExaCod = Exams.ExaCod;
|
||||
|
||||
/***** Get data of exam from database *****/
|
||||
/***** Get exam data from database *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
|
||||
/***** Check if exam has events *****/
|
||||
|
@ -2990,6 +3007,46 @@ static unsigned Exa_CountNumQuestionsInList (const struct Exa_Exams *Exams)
|
|||
|
||||
void ExaSet_RequestRemoveSet (void)
|
||||
{
|
||||
extern const char *Txt_Do_you_really_want_to_remove_the_set_of_questions_X;
|
||||
extern const char *Txt_Remove_set_of_questions;
|
||||
struct Exa_Exams Exams;
|
||||
struct Exa_Exam Exam;
|
||||
struct ExaSet_Set Set;
|
||||
|
||||
/***** Reset exams context *****/
|
||||
Exa_ResetExams (&Exams);
|
||||
|
||||
/***** Reset exam and set *****/
|
||||
Exa_ResetExam (&Exam);
|
||||
ExaSet_ResetSet (&Set);
|
||||
|
||||
/***** Get parameters *****/
|
||||
Exa_GetParams (&Exams);
|
||||
if (Exams.ExaCod <= 0)
|
||||
Lay_WrongExamExit ();
|
||||
Set.ExaCod = Exam.ExaCod = Exams.ExaCod;
|
||||
Set.SetCod = ExaSet_GetParamSetCod ();
|
||||
if (Set.SetCod <= 0)
|
||||
Lay_WrongSetExit ();
|
||||
|
||||
/***** Get exam data from database *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
if (!Exa_CheckIfEditable (&Exam))
|
||||
Lay_NoPermissionExit ();
|
||||
|
||||
/***** Get set data from database *****/
|
||||
ExaSet_GetDataOfSetByCod (&Set);
|
||||
|
||||
/***** Show question and button to remove question *****/
|
||||
Ale_ShowAlertAndButton (ActRemExaSet,NULL,NULL,
|
||||
ExaSet_PutParamsOneSet,&Exams,
|
||||
Btn_REMOVE_BUTTON,Txt_Remove_set_of_questions,
|
||||
Ale_QUESTION,Txt_Do_you_really_want_to_remove_the_set_of_questions_X,
|
||||
Set.Title);
|
||||
|
||||
/***** Show current exam and its sets *****/
|
||||
Exa_PutFormsOneExam (&Exams,&Exam,&Set,
|
||||
false); // It's not a new exam
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -3000,7 +3057,6 @@ void ExaSet_RemoveSet (void)
|
|||
{
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
/************ Move up position of a set of questions in an exam **************/
|
||||
/*****************************************************************************/
|
||||
|
@ -3041,7 +3097,7 @@ void Exa_RequestRemoveQst (void)
|
|||
Lay_WrongExamExit ();
|
||||
Exam.ExaCod = Exams.ExaCod;
|
||||
|
||||
/***** Get data of exam from database *****/
|
||||
/***** Get exam data from database *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
|
||||
/***** Check if exam has events *****/
|
||||
|
@ -3091,7 +3147,7 @@ void Exa_RemoveQst (void)
|
|||
Lay_WrongExamExit ();
|
||||
Exam.ExaCod = Exams.ExaCod;
|
||||
|
||||
/***** Get data of exam from database *****/
|
||||
/***** Get exam data from database *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
|
||||
/***** Check if exam has events *****/
|
||||
|
@ -3162,7 +3218,7 @@ void Exa_MoveUpQst (void)
|
|||
Lay_WrongExamExit ();
|
||||
Exam.ExaCod = Exams.ExaCod;
|
||||
|
||||
/***** Get data of exam from database *****/
|
||||
/***** Get exam data from database *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
|
||||
/***** Check if exam has events *****/
|
||||
|
@ -3224,7 +3280,7 @@ void Exa_MoveDownQst (void)
|
|||
Lay_WrongExamExit ();
|
||||
Exam.ExaCod = Exams.ExaCod;
|
||||
|
||||
/***** Get data of exam from database *****/
|
||||
/***** Get exam data from database *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
|
||||
/***** Check if exam has events *****/
|
||||
|
@ -3368,7 +3424,7 @@ void Exa_RequestNewEvent (void)
|
|||
Lay_WrongExamExit ();
|
||||
Exam.ExaCod = Exams.ExaCod;
|
||||
|
||||
/***** Get data of exam from database *****/
|
||||
/***** Get exam data from database *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
|
||||
/***** Show exam *****/
|
||||
|
|
|
@ -162,7 +162,6 @@ void ExaSet_RequestCreatOrEditSet (void);
|
|||
void Exa_RequestNewQuestion (void);
|
||||
void Exa_ListQuestionsToSelect (void);
|
||||
|
||||
void Exa_PutParamSetInd (unsigned SetInd);
|
||||
void Exa_PutParamQstInd (unsigned QstInd);
|
||||
unsigned Exa_GetParamQstInd (void);
|
||||
long Exa_GetQstCodFromQstInd (long ExaCod,unsigned QstInd);
|
||||
|
|
|
@ -381,7 +381,7 @@ void ExaEvt_GetDataOfEventByCod (struct ExaEvt_Event *Event)
|
|||
unsigned long NumRows;
|
||||
Dat_StartEndTime_t StartEndTime;
|
||||
|
||||
/***** Get data of exam event from database *****/
|
||||
/***** Get exam data event from database *****/
|
||||
NumRows = (unsigned) DB_QuerySELECT (&mysql_res,"can not get events",
|
||||
"SELECT EvtCod," // row[ 0]
|
||||
"ExaCod," // row[ 1]
|
||||
|
@ -1300,7 +1300,7 @@ void ExaEvt_GetAndCheckParameters (struct Exa_Exams *Exams,
|
|||
if ((Event->EvtCod = ExaEvt_GetParamEvtCod ()) <= 0)
|
||||
Lay_WrongEventExit ();
|
||||
|
||||
/***** Get data of exam and event from database *****/
|
||||
/***** Get exam data and event from database *****/
|
||||
Exa_GetDataOfExamByCod (Exam);
|
||||
ExaEvt_GetDataOfEventByCod (Event);
|
||||
|
||||
|
|
|
@ -169,7 +169,7 @@ void ExaRes_ShowMyExaResultsInExa (void)
|
|||
Lay_WrongExamExit ();
|
||||
Exam.ExaCod = Exams.ExaCod;
|
||||
|
||||
/***** Get data of exam from database *****/
|
||||
/***** Get exam data from database *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
|
||||
/***** Exam begin *****/
|
||||
|
@ -472,7 +472,7 @@ void ExaRes_ShowAllExaResultsInEvt (void)
|
|||
if ((Event.EvtCod = ExaEvt_GetParamEvtCod ()) <= 0)
|
||||
Lay_WrongEventExit ();
|
||||
|
||||
/***** Get data of exam and event *****/
|
||||
/***** Get exam data and event *****/
|
||||
Exa_GetDataOfExamByCod (&Exam);
|
||||
ExaEvt_GetDataOfEventByCod (&Event);
|
||||
|
||||
|
|
|
@ -1493,6 +1493,15 @@ void Lay_WrongExamExit (void)
|
|||
Lay_ShowErrorAndExit ("Wrong exam.");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********* Write error message and exit when wrong set of questions **********/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Lay_WrongSetExit (void)
|
||||
{
|
||||
Lay_ShowErrorAndExit ("Wrong set of questions.");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************** Write error message and exit when wrong event ****************/
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -74,6 +74,7 @@ void Lay_WrongScopeExit (void);
|
|||
void Lay_WrongOrderExit (void);
|
||||
void Lay_WrongTypeOfViewExit (void);
|
||||
void Lay_WrongExamExit (void);
|
||||
void Lay_WrongSetExit (void);
|
||||
void Lay_WrongEventExit (void);
|
||||
void Lay_NoPermissionExit (void);
|
||||
void Lay_ShowErrorAndExit (const char *Txt);
|
||||
|
|
42
swad_text.c
42
swad_text.c
|
@ -9438,6 +9438,27 @@ const char *Txt_Do_you_really_want_to_remove_the_selected_questions =
|
|||
"Você realmente deseja remover as perguntas selecionadas?";
|
||||
#endif
|
||||
|
||||
const char *Txt_Do_you_really_want_to_remove_the_set_of_questions_X = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"¿De veres voleu eliminar el conjunt de preguntes <strong>%s</strong>?";
|
||||
#elif L==2 // de
|
||||
"Wollen Sie die Satz von Fragen <strong>%s</strong> wirklich entfernen?";
|
||||
#elif L==3 // en
|
||||
"Do you really want to remove the set of questions <strong>%s</strong>?";
|
||||
#elif L==4 // es
|
||||
"¿Realmente desea eliminar el conjunto de preguntas <strong>%s</strong>?";
|
||||
#elif L==5 // fr
|
||||
"Voulez-vous vraiment supprimer l'ensemble de questions <strong>%s</strong>?";
|
||||
#elif L==6 // gn
|
||||
"¿Realmente desea eliminar el conjunto de preguntas <strong>%s</strong>?"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Vuoi realmente rimuovere il set di domande <strong>%s</strong>?";
|
||||
#elif L==8 // pl
|
||||
"Czy na pewno chcesz usunac zestaw pytań <strong>%s</strong>?";
|
||||
#elif L==9 // pt
|
||||
"Você realmente deseja remover o conjunto de perguntas <strong>%s</strong>?";
|
||||
#endif
|
||||
|
||||
const char *Txt_Do_you_really_want_to_remove_the_survey_X = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"Realment voleu eliminar l'enquesta <strong>%s</strong>?";
|
||||
|
@ -34099,6 +34120,27 @@ const char *Txt_Remove_record_field =
|
|||
"Remover campo de cartão";
|
||||
#endif
|
||||
|
||||
const char *Txt_Remove_set_of_questions =
|
||||
#if L==1 // ca
|
||||
"Eliminar conjunt de preguntes";
|
||||
#elif L==2 // de
|
||||
"Entfernen Satz von Fragen";
|
||||
#elif L==3 // en
|
||||
"Remove set of questions";
|
||||
#elif L==4 // es
|
||||
"Eliminar conjunto de preguntas";
|
||||
#elif L==5 // fr
|
||||
"Supprimer ensemble de questions";
|
||||
#elif L==6 // gn
|
||||
"Eliminar conjunto de preguntas"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Rimuovere set di domande";
|
||||
#elif L==8 // pl
|
||||
"Usuń zestaw pytań";
|
||||
#elif L==9 // pt
|
||||
"Remover conjunto de perguntas";
|
||||
#endif
|
||||
|
||||
const char *Txt_Remove_survey =
|
||||
#if L==1 // ca
|
||||
"Eliminar enquesta";
|
||||
|
|
Loading…
Reference in New Issue