mirror of https://github.com/acanas/swad-core.git
Version 18.26.1
This commit is contained in:
parent
7db7b51de2
commit
75ddfa7385
|
@ -185,7 +185,7 @@ CREATE TABLE IF NOT EXISTS classrooms (
|
|||
CtrCod INT NOT NULL,
|
||||
ShortName VARCHAR(511) NOT NULL,
|
||||
FullName VARCHAR(2047) NOT NULL,
|
||||
MaxStudents INT NOT NULL,
|
||||
Capacity INT NOT NULL,
|
||||
UNIQUE INDEX(ClaCod),
|
||||
INDEX(CtrCod));
|
||||
--
|
||||
|
|
|
@ -364,10 +364,15 @@ En OpenSWAD:
|
|||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.26 (2019-01-02)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.26.1 (2019-01-02)"
|
||||
#define CSS_FILE "swad18.22.css"
|
||||
#define JS_FILE "swad17.17.1.js"
|
||||
/*
|
||||
Version 18.26.1: Jan 02, 2019 "Maximum number of students" in a classroom is changed to "(seating) capacity". (238702 lines)
|
||||
2 changes necessary in database:
|
||||
ALTER TABLE classrooms CHANGE COLUMN MaxStudents Capacity INT NOT NULL;
|
||||
UPDATE actions SET Txt='Cambiar aforo de aula' WHERE ActCod='1750' AND Language='es';
|
||||
|
||||
Version 18.26: Jan 02, 2019 New form and action to change maximum number of students in a classroom. (? lines)
|
||||
4 changes necessary in database:
|
||||
DROP INDEX NumStds ON classrooms;
|
||||
|
|
114
swad_classroom.c
114
swad_classroom.c
|
@ -70,7 +70,7 @@ static void Cla_RenameClassroom (Cns_ShrtOrFullName_t ShrtOrFullName);
|
|||
static bool Cla_CheckIfClassroomNameExists (const char *FieldName,const char *Name,long ClaCod);
|
||||
static void Cla_UpdateClaNameDB (long ClaCod,const char *FieldName,const char *NewClaName);
|
||||
|
||||
static void Cla_WriteMaxStds (unsigned MaxStudents);
|
||||
static void Cla_WriteCapacity (unsigned Capacity);
|
||||
|
||||
static void Cla_PutFormToCreateClassroom (void);
|
||||
static void Cla_PutHeadClassrooms (void);
|
||||
|
@ -104,7 +104,7 @@ void Cla_SeeClassrooms (void)
|
|||
Tbl_StartTableWideMargin (2);
|
||||
fprintf (Gbl.F.Out,"<tr>");
|
||||
for (Order = Cla_ORDER_BY_CLASSROOM;
|
||||
Order <= Cla_ORDER_BY_MAX_STDS;
|
||||
Order <= Cla_ORDER_BY_CAPACITY;
|
||||
Order++)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">");
|
||||
|
@ -134,7 +134,7 @@ void Cla_SeeClassrooms (void)
|
|||
"</td>"
|
||||
"<td class=\"DAT RIGHT_MIDDLE\">",
|
||||
Gbl.Classrooms.Lst[NumCla].FullName);
|
||||
Cla_WriteMaxStds (Gbl.Classrooms.Lst[NumCla].MaxStudents);
|
||||
Cla_WriteCapacity (Gbl.Classrooms.Lst[NumCla].Capacity);
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
}
|
||||
|
@ -274,15 +274,15 @@ void Cla_GetListClassrooms (void)
|
|||
case Cla_ORDER_BY_CLASSROOM:
|
||||
sprintf (OrderBySubQuery,"FullName");
|
||||
break;
|
||||
case Cla_ORDER_BY_MAX_STDS:
|
||||
sprintf (OrderBySubQuery,"MaxStudents DESC,FullName");
|
||||
case Cla_ORDER_BY_CAPACITY:
|
||||
sprintf (OrderBySubQuery,"Capacity DESC,FullName");
|
||||
break;
|
||||
}
|
||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get classrooms",
|
||||
"SELECT ClaCod,"
|
||||
"ShortName,"
|
||||
"FullName,"
|
||||
"MaxStudents"
|
||||
"Capacity"
|
||||
" FROM classrooms"
|
||||
" WHERE CtrCod=%ld"
|
||||
" ORDER BY %s",
|
||||
|
@ -320,9 +320,9 @@ void Cla_GetListClassrooms (void)
|
|||
Str_Copy (Cla->FullName,row[2],
|
||||
Cla_MAX_BYTES_CLASSROOM_FULL_NAME);
|
||||
|
||||
/* Get maximum number of students in this classroom (row[3]) */
|
||||
if (sscanf (row[3],"%u",&Cla->MaxStudents) != 1)
|
||||
Cla->MaxStudents = 0;
|
||||
/* Get seating capacity in this classroom (row[3]) */
|
||||
if (sscanf (row[3],"%u",&Cla->Capacity) != 1)
|
||||
Cla->Capacity = Cla_UNLIMITED_CAPACITY;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -347,7 +347,7 @@ void Cla_GetDataOfClassroomByCod (struct Classroom *Cla)
|
|||
/***** Clear data *****/
|
||||
Cla->ShrtName[0] = '\0';
|
||||
Cla->FullName[0] = '\0';
|
||||
Cla->MaxStudents = 0;
|
||||
Cla->Capacity = Cla_UNLIMITED_CAPACITY;
|
||||
|
||||
/***** Check if classroom code is correct *****/
|
||||
if (Cla->ClaCod < 0)
|
||||
|
@ -370,7 +370,7 @@ void Cla_GetDataOfClassroomByCod (struct Classroom *Cla)
|
|||
NumRows = DB_QuerySELECT (&mysql_res,"can not get data of a classroom",
|
||||
"SELECT ShortName,"
|
||||
"FullName,"
|
||||
"MaxStudents"
|
||||
"Capacity"
|
||||
" FROM classrooms"
|
||||
" WHERE ClaCod=%ld",
|
||||
Cla->ClaCod);
|
||||
|
@ -389,9 +389,9 @@ void Cla_GetDataOfClassroomByCod (struct Classroom *Cla)
|
|||
Str_Copy (Cla->FullName,row[1],
|
||||
Cla_MAX_BYTES_CLASSROOM_FULL_NAME);
|
||||
|
||||
/* Get maximum number of students in this classroom (row[2]) */
|
||||
if (sscanf (row[2],"%u",&Cla->MaxStudents) != 1)
|
||||
Cla->MaxStudents = 0;
|
||||
/* Get seating capacity in this classroom (row[2]) */
|
||||
if (sscanf (row[2],"%u",&Cla->Capacity) != 1)
|
||||
Cla->Capacity = Cla_UNLIMITED_CAPACITY;
|
||||
}
|
||||
|
||||
/***** Free structure that stores the query result *****/
|
||||
|
@ -473,13 +473,13 @@ static void Cla_ListClassroomsForEdition (void)
|
|||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</td>");
|
||||
|
||||
/* Maximum number of students */
|
||||
/* Seating capacity */
|
||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
|
||||
Frm_StartForm (ActChgClaMaxStd);
|
||||
Cla_PutParamClaCod (Cla->ClaCod);
|
||||
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"MaxStudents\""
|
||||
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"Capacity\""
|
||||
" size=\"3\" maxlength=\"10\" value=\"");
|
||||
Cla_WriteMaxStds (Cla->MaxStudents);
|
||||
Cla_WriteCapacity (Cla->Capacity);
|
||||
fprintf (Gbl.F.Out,"\" onchange=\"document.getElementById('%s').submit();\" />",
|
||||
Gbl.Form.Id);
|
||||
Frm_EndForm ();
|
||||
|
@ -687,11 +687,11 @@ static void Cla_UpdateClaNameDB (long ClaCod,const char *FieldName,const char *N
|
|||
|
||||
void Cla_ChangeMaxStudents (void)
|
||||
{
|
||||
extern const char *Txt_The_maximum_number_of_students_has_not_changed;
|
||||
extern const char *Txt_The_classroom_X_does_not_have_a_student_limit_now;
|
||||
extern const char *Txt_The_maximum_number_of_students_is_now_X;
|
||||
extern const char *Txt_The_capacity_of_classroom_X_has_not_changed;
|
||||
extern const char *Txt_The_classroom_X_does_not_have_a_limited_capacity_now;
|
||||
extern const char *Txt_The_capacity_of_classroom_X_is_now_Y;
|
||||
struct Classroom *Cla;
|
||||
unsigned NewMaxStds;
|
||||
unsigned NewCapacity;
|
||||
|
||||
/***** Use current editing classroom *****/
|
||||
Cla = &Gbl.Classrooms.EditingCla;
|
||||
|
@ -701,44 +701,44 @@ void Cla_ChangeMaxStudents (void)
|
|||
if ((Cla->ClaCod = Cla_GetParamClaCod ()) == -1L)
|
||||
Lay_ShowErrorAndExit ("Code of classroom is missing.");
|
||||
|
||||
/* Get the new maximum number of students of the group */
|
||||
NewMaxStds = (unsigned)
|
||||
Par_GetParToUnsignedLong ("MaxStudents",
|
||||
/* Get the seating capacity of the classroom */
|
||||
NewCapacity = (unsigned)
|
||||
Par_GetParToUnsignedLong ("Capacity",
|
||||
0,
|
||||
Cla_MAX_STUDENTS_IN_A_CLASSROOM,
|
||||
Cla_NUM_STUDENTS_NOT_LIMITED);
|
||||
Cla_MAX_CAPACITY_OF_A_CLASSROOM,
|
||||
Cla_UNLIMITED_CAPACITY);
|
||||
|
||||
/***** Get data of the classroom from database *****/
|
||||
Cla_GetDataOfClassroomByCod (Cla);
|
||||
|
||||
/***** Check if the old maximum of students equals the new one
|
||||
/***** Check if the old capacity equals the new one
|
||||
(this happens when return is pressed without changes) *****/
|
||||
if (Cla->MaxStudents == NewMaxStds)
|
||||
if (Cla->Capacity == NewCapacity)
|
||||
{
|
||||
/***** Message to show no changes made *****/
|
||||
Gbl.Alert.Type = Ale_INFO;
|
||||
Str_Copy (Gbl.Alert.Txt,Txt_The_maximum_number_of_students_has_not_changed,
|
||||
Ale_MAX_BYTES_ALERT);
|
||||
snprintf (Gbl.Alert.Txt,sizeof (Gbl.Alert.Txt),
|
||||
Txt_The_capacity_of_classroom_X_has_not_changed,
|
||||
Cla->FullName);
|
||||
}
|
||||
else
|
||||
{
|
||||
/***** Update the table of groups changing the old maximum of students to the new *****/
|
||||
DB_QueryUPDATE ("can not update the maximum number of students"
|
||||
" in a classroom",
|
||||
"UPDATE classrooms SET MaxStudents=%u WHERE ClaCod=%ld",
|
||||
NewMaxStds,Cla->ClaCod);
|
||||
Cla->MaxStudents = NewMaxStds;
|
||||
/***** Update the table of groups changing the old capacity to the new *****/
|
||||
DB_QueryUPDATE ("can not update the capacity of a classroom",
|
||||
"UPDATE classrooms SET Capacity=%u WHERE ClaCod=%ld",
|
||||
NewCapacity,Cla->ClaCod);
|
||||
Cla->Capacity = NewCapacity;
|
||||
|
||||
/***** Message to show the change made *****/
|
||||
Gbl.Alert.Type = Ale_SUCCESS;
|
||||
if (NewMaxStds > Grp_MAX_STUDENTS_IN_A_GROUP)
|
||||
if (NewCapacity > Grp_MAX_STUDENTS_IN_A_GROUP)
|
||||
snprintf (Gbl.Alert.Txt,sizeof (Gbl.Alert.Txt),
|
||||
Txt_The_classroom_X_does_not_have_a_student_limit_now,
|
||||
Txt_The_classroom_X_does_not_have_a_limited_capacity_now,
|
||||
Cla->FullName);
|
||||
else
|
||||
snprintf (Gbl.Alert.Txt,sizeof (Gbl.Alert.Txt),
|
||||
Txt_The_maximum_number_of_students_is_now_X,
|
||||
NewMaxStds);
|
||||
Txt_The_capacity_of_classroom_X_is_now_Y,
|
||||
Cla->FullName,NewCapacity);
|
||||
}
|
||||
Ale_ShowAlert (Gbl.Alert.Type,Gbl.Alert.Txt);
|
||||
|
||||
|
@ -747,13 +747,13 @@ void Cla_ChangeMaxStudents (void)
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********** Write the maximum number of students in a classroom *************/
|
||||
/****************** Write seating capacity of a classroom ********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Cla_WriteMaxStds (unsigned MaxStudents)
|
||||
static void Cla_WriteCapacity (unsigned Capacity)
|
||||
{
|
||||
if (MaxStudents <= Cla_MAX_STUDENTS_IN_A_CLASSROOM)
|
||||
fprintf (Gbl.F.Out,"%u",MaxStudents);
|
||||
if (Capacity <= Cla_MAX_CAPACITY_OF_A_CLASSROOM)
|
||||
fprintf (Gbl.F.Out,"%u",Capacity);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -804,11 +804,11 @@ static void Cla_PutFormToCreateClassroom (void)
|
|||
"</td>",
|
||||
Cla_MAX_CHARS_CLASSROOM_FULL_NAME,Cla->FullName);
|
||||
|
||||
/***** Number of students *****/
|
||||
/***** Seating capacity *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||
"<input type=\"text\" name=\"MaxStudents\""
|
||||
"<input type=\"text\" name=\"Capacity\""
|
||||
" size=\"3\" maxlength=\"10\" value=\"");
|
||||
Cla_WriteMaxStds (Cla->MaxStudents);
|
||||
Cla_WriteCapacity (Cla->Capacity);
|
||||
fprintf (Gbl.F.Out,"\" />"
|
||||
"</td>"
|
||||
"</tr>");
|
||||
|
@ -829,7 +829,7 @@ static void Cla_PutHeadClassrooms (void)
|
|||
extern const char *Txt_Code;
|
||||
extern const char *Txt_Short_name;
|
||||
extern const char *Txt_Full_name;
|
||||
extern const char *Txt_Max_BR_students;
|
||||
extern const char *Txt_Capacity_OF_A_CLASSROOM;
|
||||
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<th class=\"BM\"></th>"
|
||||
|
@ -849,7 +849,7 @@ static void Cla_PutHeadClassrooms (void)
|
|||
Txt_Code,
|
||||
Txt_Short_name,
|
||||
Txt_Full_name,
|
||||
Txt_Max_BR_students);
|
||||
Txt_Capacity_OF_A_CLASSROOM);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -871,12 +871,12 @@ void Cla_RecFormNewClassroom (void)
|
|||
/* Get classroom full name */
|
||||
Par_GetParToText ("FullName",Cla->FullName,Cla_MAX_BYTES_CLASSROOM_FULL_NAME);
|
||||
|
||||
/* Get maximum number of students */
|
||||
Cla->MaxStudents = (unsigned)
|
||||
Par_GetParToUnsignedLong ("MaxStudents",
|
||||
0,
|
||||
Cla_MAX_STUDENTS_IN_A_CLASSROOM,
|
||||
Cla_NUM_STUDENTS_NOT_LIMITED);
|
||||
/* Get seating capacity */
|
||||
Cla->Capacity = (unsigned)
|
||||
Par_GetParToUnsignedLong ("Capacity",
|
||||
0,
|
||||
Cla_MAX_CAPACITY_OF_A_CLASSROOM,
|
||||
Cla_UNLIMITED_CAPACITY);
|
||||
|
||||
if (Cla->ShrtName[0] && Cla->FullName[0]) // If there's a classroom name
|
||||
{
|
||||
|
@ -916,11 +916,11 @@ static void Cla_CreateClassroom (struct Classroom *Cla)
|
|||
/***** Create a new classroom *****/
|
||||
DB_QueryINSERT ("can not create classroom",
|
||||
"INSERT INTO classrooms"
|
||||
" (CtrCod,ShortName,FullName,MaxStudents)"
|
||||
" (CtrCod,ShortName,FullName,Capacity)"
|
||||
" VALUES"
|
||||
" (%ld,'%s','%s',%u)",
|
||||
Gbl.CurrentCtr.Ctr.CtrCod,
|
||||
Cla->ShrtName,Cla->FullName,Cla->MaxStudents);
|
||||
Cla->ShrtName,Cla->FullName,Cla->Capacity);
|
||||
|
||||
/***** Write success message *****/
|
||||
snprintf (Gbl.Alert.Txt,sizeof (Gbl.Alert.Txt),
|
||||
|
|
|
@ -39,9 +39,9 @@
|
|||
#define Cla_MAX_CHARS_CLASSROOM_FULL_NAME (128 - 1) // 127
|
||||
#define Cla_MAX_BYTES_CLASSROOM_FULL_NAME ((Cla_MAX_CHARS_CLASSROOM_FULL_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
|
||||
|
||||
#define Cla_MAX_STUDENTS_IN_A_CLASSROOM 10000 // If max of students in a classroom is greater than this, it is considered infinite
|
||||
#define Cla_NUM_STUDENTS_NOT_LIMITED INT_MAX // This number can be stored in database as an integer...
|
||||
// ...and means that a classroom has no limit of students
|
||||
#define Cla_MAX_CAPACITY_OF_A_CLASSROOM 10000 // If capacity of a classroom is greater than this, it is considered infinite
|
||||
#define Cla_UNLIMITED_CAPACITY INT_MAX // This number can be stored in database as an integer...
|
||||
// ...and means that a classroom has no limited capacity
|
||||
|
||||
struct Classroom
|
||||
{
|
||||
|
@ -49,14 +49,14 @@ struct Classroom
|
|||
long InsCod;
|
||||
char ShrtName[Cla_MAX_BYTES_CLASSROOM_SHRT_NAME + 1];
|
||||
char FullName[Cla_MAX_BYTES_CLASSROOM_FULL_NAME + 1];
|
||||
unsigned MaxStudents;
|
||||
unsigned Capacity; // Seating capacity (maximum number of people that fit in the room)
|
||||
};
|
||||
|
||||
#define Cla_NUM_ORDERS 2
|
||||
typedef enum
|
||||
{
|
||||
Cla_ORDER_BY_CLASSROOM = 0,
|
||||
Cla_ORDER_BY_MAX_STDS = 1,
|
||||
Cla_ORDER_BY_CAPACITY = 1,
|
||||
} Cla_Order_t;
|
||||
#define Cla_ORDER_DEFAULT Cla_ORDER_BY_CLASSROOM
|
||||
|
||||
|
|
|
@ -235,7 +235,7 @@ void Gbl_InitializeGlobals (void)
|
|||
Gbl.CurrentDeg.Deg.DegCod = -1L;
|
||||
Gbl.CurrentDeg.Deg.ShrtName[0] = Gbl.CurrentDeg.Deg.FullName[0] = '\0';
|
||||
|
||||
Gbl.Classrooms.EditingCla.MaxStudents = Cla_NUM_STUDENTS_NOT_LIMITED;
|
||||
Gbl.Classrooms.EditingCla.Capacity = Cla_UNLIMITED_CAPACITY;
|
||||
|
||||
Gbl.CurrentCrs.Crs.CrsCod = -1L;
|
||||
Gbl.CurrentCrs.Crs.ShrtName[0] = Gbl.CurrentCrs.Crs.FullName[0] = '\0';
|
||||
|
|
13
swad_group.c
13
swad_group.c
|
@ -4476,9 +4476,9 @@ void Grp_ChangeOpenTimeGrpTyp (void)
|
|||
|
||||
void Grp_ChangeMaxStdsGrp (void)
|
||||
{
|
||||
extern const char *Txt_The_maximum_number_of_students_has_not_changed;
|
||||
extern const char *Txt_The_maximum_number_of_students_in_group_X_has_not_changed;
|
||||
extern const char *Txt_The_group_X_does_not_have_a_student_limit_now;
|
||||
extern const char *Txt_The_maximum_number_of_students_is_now_X;
|
||||
extern const char *Txt_The_maximum_number_of_students_in_group_X_is_now_Y;
|
||||
struct GroupData GrpDat;
|
||||
unsigned NewMaxStds;
|
||||
Ale_AlertType_t AlertType;
|
||||
|
@ -4504,8 +4504,9 @@ void Grp_ChangeMaxStdsGrp (void)
|
|||
if (GrpDat.MaxStudents == NewMaxStds)
|
||||
{
|
||||
AlertType = Ale_INFO;
|
||||
Str_Copy (Gbl.Alert.Txt,Txt_The_maximum_number_of_students_has_not_changed,
|
||||
Ale_MAX_BYTES_ALERT);
|
||||
snprintf (Gbl.Alert.Txt,sizeof (Gbl.Alert.Txt),
|
||||
Txt_The_maximum_number_of_students_in_group_X_has_not_changed,
|
||||
GrpDat.GrpName);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -4523,8 +4524,8 @@ void Grp_ChangeMaxStdsGrp (void)
|
|||
GrpDat.GrpName);
|
||||
else
|
||||
snprintf (Gbl.Alert.Txt,sizeof (Gbl.Alert.Txt),
|
||||
Txt_The_maximum_number_of_students_is_now_X,
|
||||
NewMaxStds);
|
||||
Txt_The_maximum_number_of_students_in_group_X_is_now_Y,
|
||||
GrpDat.GrpName,NewMaxStds);
|
||||
}
|
||||
|
||||
/***** Show the form again *****/
|
||||
|
|
194
swad_text.c
194
swad_text.c
|
@ -3179,6 +3179,27 @@ const char *Txt_Can_not_rename_a_folder_of_assignment =
|
|||
"Não é possível renomear um diretório de actividade.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Capacity_OF_A_CLASSROOM =
|
||||
#if L==1 // ca
|
||||
"Aforo";
|
||||
#elif L==2 // de
|
||||
"Kapazität";
|
||||
#elif L==3 // en
|
||||
"Capacity";
|
||||
#elif L==4 // es
|
||||
"Aforo";
|
||||
#elif L==5 // fr
|
||||
"Capacité";
|
||||
#elif L==6 // gn
|
||||
"Aforo"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Capacità";
|
||||
#elif L==8 // pl
|
||||
"Pojemność";
|
||||
#elif L==9 // pt
|
||||
"Capacidade";
|
||||
#endif
|
||||
|
||||
const char *Txt_Centre =
|
||||
#if L==1 // ca
|
||||
"Centre";
|
||||
|
@ -3917,23 +3938,23 @@ const char *Txt_CLASSROOMS_HELP_ORDER[Cla_NUM_ORDERS] =
|
|||
#endif
|
||||
,
|
||||
#if L==1 // ca
|
||||
"Ordenar per nombre màxim d'estudiants"
|
||||
"Ordenar per aforo"
|
||||
#elif L==2 // de
|
||||
"Sortieren nach maximaler Schülerzahl"
|
||||
"Sortieren nach Sitzplatzkapazität"
|
||||
#elif L==3 // en
|
||||
"Sort by maximum number of students"
|
||||
"Sort by seating capacity"
|
||||
#elif L==4 // es
|
||||
"Ordenar por nº máximo de estudiantes"
|
||||
"Ordenar por aforo"
|
||||
#elif L==5 // fr
|
||||
"Trier par nombre maximum d'étudiants"
|
||||
"Trier par nombre de places"
|
||||
#elif L==6 // gn
|
||||
"Ordenar por nº máximo de estudiantes" // Okoteve traducción
|
||||
"Ordenar por aforo" // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Ordina per numero massimo di studenti"
|
||||
"Ordina per capacità di posti"
|
||||
#elif L==8 // pl
|
||||
"Sortuj wed&lsgtrok;ug maksymalnej liczby studentów"
|
||||
"Sortuj wed&lsgtrok;ug pojemności miejsc"
|
||||
#elif L==9 // pt
|
||||
"Ordenar pelo número máximo de estudantes"
|
||||
"Ordenar por capacidade"
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -3960,23 +3981,23 @@ const char *Txt_CLASSROOMS_ORDER[Cla_NUM_ORDERS] =
|
|||
#endif
|
||||
,
|
||||
#if L==1 // ca
|
||||
"Màxim<br />d'est."
|
||||
"Aforo"
|
||||
#elif L==2 // de
|
||||
"Max.<br />Stud."
|
||||
"Kapazität"
|
||||
#elif L==3 // en
|
||||
"Max.<br />stud."
|
||||
"Capacity"
|
||||
#elif L==4 // es
|
||||
"Máx.<br />estu."
|
||||
"Aforo"
|
||||
#elif L==5 // fr
|
||||
"Max.<br />étud."
|
||||
"Capacité"
|
||||
#elif L==6 // gn
|
||||
"Máx.<br />estu." // Okoteve traducción
|
||||
"Aforo" // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Max.<br />stud."
|
||||
"Capacità"
|
||||
#elif L==8 // pl
|
||||
"Max.<br />stud."
|
||||
"Pojemność"
|
||||
#elif L==9 // pt
|
||||
"Máx.<br />estu."
|
||||
"Capacidade"
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -43561,6 +43582,48 @@ const char *Txt_The_banner_X_is_now_visible = // Warning: it is very important t
|
|||
"O banner <strong>%s</strong> é agora visible.";
|
||||
#endif
|
||||
|
||||
const char *Txt_The_capacity_of_classroom_X_has_not_changed = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"L'aforament de l'aula <strong>%s</strong> no ha canviat.";
|
||||
#elif L==2 // de
|
||||
"Die Kapazität des Klassenzimmers <strong>%s</strong> hat sich nicht geändert.";
|
||||
#elif L==3 // en
|
||||
"The capacity of classroom <strong>%s</strong> has not changed.";
|
||||
#elif L==4 // es
|
||||
"El aforo del aula <strong>%s</strong> no ha cambiado.";
|
||||
#elif L==5 // fr
|
||||
"La capacité de la salle de classe <strong>%s</strong> n'a pas changé.";
|
||||
#elif L==6 // gn
|
||||
"El aforo del aula <strong>%s</strong> no ha cambiado."; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"La capacità della aula <strong>%s</strong> non è cambiata.";
|
||||
#elif L==8 // pl
|
||||
"Pojemność klasy <strong>%s</strong> nie uległa zmianie.";
|
||||
#elif L==9 // pt
|
||||
"A capacidade da sala de aula <strong>%s</strong> não mudou.";
|
||||
#endif
|
||||
|
||||
const char *Txt_The_capacity_of_classroom_X_is_now_Y = // Warning: it is very important to include %s and %u in the following sentences
|
||||
#if L==1 // ca
|
||||
"L'aforament de l'aula <strong>%s</strong> ara és <strong>%u</strong>.";
|
||||
#elif L==2 // de
|
||||
"Die Kapazität des Klassenzimmers <strong>%s</strong> beträgt jetzt <strong>%u</strong>.";
|
||||
#elif L==3 // en
|
||||
"The capacity of classroom <strong>%s</strong> is now <strong>%u</strong>.";
|
||||
#elif L==4 // es
|
||||
"El aforo del aula <strong>%s</strong> ahora es <strong>%u</strong>.";
|
||||
#elif L==5 // fr
|
||||
"La capacité de la salle de classe <strong>%s</strong> est maintenant de <strong>%u</strong>.";
|
||||
#elif L==6 // gn
|
||||
"El aforo del aula <strong>%s</strong> ahora es <strong>%u</strong>."; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"La capacità della aula <strong>%s</strong> è ora <strong>%u</strong>.";
|
||||
#elif L==8 // pl
|
||||
"Pojemność klasy <strong>%s</strong> wynosi teraz <strong>%u</strong>.";
|
||||
#elif L==9 // pt
|
||||
"A capacidade da sala de aula <strong>%s</strong> é agora <strong>%u</strong>.";
|
||||
#endif
|
||||
|
||||
const char *Txt_The_centre_X_already_exists = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"El centro <strong>%s</strong> ya existe."; // Necessita traduccio
|
||||
|
@ -43654,25 +43717,25 @@ const char *Txt_The_classroom_X_already_exists = // Warning: it is very importan
|
|||
"A sala de clase <strong>%s</strong> já existe.";
|
||||
#endif
|
||||
|
||||
const char *Txt_The_classroom_X_does_not_have_a_student_limit_now = // Warning: it is very important to include %s in the following sentences
|
||||
const char *Txt_The_classroom_X_does_not_have_a_limited_capacity_now = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"L'aula <strong>%s</strong> ara no té cap límit d'estudiants.";
|
||||
"L'aula <strong>%s</strong> ja no té un aforament limitat.";
|
||||
#elif L==2 // de
|
||||
"Das Klassenzimmer <strong>%s</strong> hat jetzt kein Studentenlimit.";
|
||||
"Das Klassenzimmer <strong>%s</strong> hat jetzt keine begrenzte Kapazität.";
|
||||
#elif L==3 // en
|
||||
"The classroom <strong>%s</strong> does not have a student limit now.";
|
||||
"The classroom <strong>%s</strong> does not have a limited capacity now.";
|
||||
#elif L==4 // es
|
||||
"El aula <strong>%s</strong> no tiene ahora límite de estudiantes.";
|
||||
"El aula <strong>%s</strong> ya no tiene un aforo limitado.";
|
||||
#elif L==5 // fr
|
||||
"La salle de classe <strong>%s</strong> n'a plus de limite d'étudiants.";
|
||||
"La salle de classe <strong>%s</strong> n'a plus de capacité limitée.";
|
||||
#elif L==6 // gn
|
||||
"El aula <strong>%s</strong> no tiene ahora límite de estudiantes."; // Okoteve traducción
|
||||
"El aula <strong>%s</strong> ya no tiene un aforo limitado."; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"L'aula <strong>%s</strong> ora non ha limite di studenti.";
|
||||
"L'aula <strong>%s</strong> non ha una capacità limitata ora.";
|
||||
#elif L==8 // pl
|
||||
"Klasa <strong>%s</strong> nie ma teraz żadnych limitów uczniów.";
|
||||
"Klasa <strong>%s</strong> nie ma teraz ograniczonej pojemności.";
|
||||
#elif L==9 // pt
|
||||
"A sala de clase <strong>%s</strong> não tem limite de estudantes agora.";
|
||||
"A sala de clase <strong>%s</strong> não tem capacidade limitada agora.";
|
||||
#endif
|
||||
|
||||
const char *Txt_The_classroom_X_has_been_renamed_as_Y = // Warning: it is very important to include two %s in the following sentences
|
||||
|
@ -45574,55 +45637,64 @@ const char *Txt_the_marks_of_a_student_chosen_at_random_ =
|
|||
" se você vir mais de um estudante, isso significa que o número de cabeça ou pé linhas não está correto";
|
||||
#endif
|
||||
|
||||
const char *Txt_The_maximum_number_of_students_has_not_changed =
|
||||
#if L==1 // ca
|
||||
"El nombre màxim d'estudiants no ha canviat.";
|
||||
#elif L==2 // de
|
||||
"Die maximale Anzahl von Studenten hat sich nicht geändert.";
|
||||
#elif L==3 // en
|
||||
"The maximum number of students has not changed.";
|
||||
#elif L==4 // es
|
||||
"El nº máximo de estudiantes no ha cambiado.";
|
||||
#elif L==5 // fr
|
||||
"Le nombre maximum d'étudiants n'a pas changé.";
|
||||
#elif L==6 // gn
|
||||
"El nº máximo de estudiantes no ha cambiado."; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Il numero massimo di studenti non è cambiato.";
|
||||
#elif L==8 // pl
|
||||
"Maksymalna liczba studentów nie uległa zmianie.";
|
||||
#elif L==9 // pt
|
||||
"O número máximo de estudantes não foi alterado.";
|
||||
#endif
|
||||
|
||||
const char *Txt_The_maximum_number_of_students_is_now_X = // Warning: it is very important to include %u in the following sentences
|
||||
const char *Txt_The_maximum_number_of_students_in_group_X_has_not_changed = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"El nombre màxim d'estudiants"
|
||||
" ara és <strong>%u</strong>.";
|
||||
" del grup <strong>%s</strong> no ha canviat.";
|
||||
#elif L==2 // de
|
||||
"Die maximale Anzahl von Studenten"
|
||||
" beträgt jetzt <strong>%u</strong>.";
|
||||
"Die maximale Anzahl der Studenten"
|
||||
" in Gruppe <strong>%s</strong> hat sich nicht geändert.";
|
||||
#elif L==3 // en
|
||||
"The maximum number of students"
|
||||
" is now <strong>%u</strong>.";
|
||||
" in group <strong>%s</strong> has not changed.";
|
||||
#elif L==4 // es
|
||||
"El nº máximo de estudiantes"
|
||||
" ahora es <strong>%u</strong>.";
|
||||
" del grupo <strong>%s</strong> no ha cambiado.";
|
||||
#elif L==5 // fr
|
||||
"Le nombre maximum d'étudiants"
|
||||
" est maintenant de <strong>%u</strong>.";
|
||||
" du groupe <strong>%s</strong> n'a pas changé.";
|
||||
#elif L==6 // gn
|
||||
"El nº máximo de estudiantes"
|
||||
" ahora es <strong>%u</strong>."; // Okoteve traducción
|
||||
" del grupo <strong>%s</strong> no ha cambiado."; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Il numero massimo di studenti"
|
||||
" è ora <strong>%u</strong>.";
|
||||
" nel gruppo <strong>%s</strong> non è cambiato.";
|
||||
#elif L==8 // pl
|
||||
"Maksymalna liczba studentów"
|
||||
" wynosi teraz <strong>%u</strong>.";
|
||||
"Maksymalna liczba uczniów"
|
||||
" w grupie <strong>%s</strong> nie uległa zmianie.";
|
||||
#elif L==9 // pt
|
||||
"O número máximo de estudantes"
|
||||
" é agora <strong>%u</strong>.";
|
||||
" no grupo <strong>%s</strong> não foi alterado.";
|
||||
#endif
|
||||
|
||||
const char *Txt_The_maximum_number_of_students_in_group_X_is_now_Y = // Warning: it is very important to include %s and %u in the following sentences
|
||||
#if L==1 // ca
|
||||
"El nombre màxim d'estudiants"
|
||||
" del grup <strong>%s</strong> ara és <strong>%u</strong>.";
|
||||
#elif L==2 // de
|
||||
"Die maximale Anzahl der Studenten"
|
||||
" in Gruppe <strong>%s</strong> beträgt jetzt <strong>%u</strong>.";
|
||||
#elif L==3 // en
|
||||
"The maximum number of students"
|
||||
" in group <strong>%s</strong> is now <strong>%u</strong>.";
|
||||
#elif L==4 // es
|
||||
"El nº máximo de estudiantes"
|
||||
" del grupo <strong>%s</strong> ahora es <strong>%u</strong>.";
|
||||
#elif L==5 // fr
|
||||
"Le nombre maximum d'étudiants"
|
||||
" du groupe <strong>%s</strong> est maintenant de <strong>%u</strong>.";
|
||||
#elif L==6 // gn
|
||||
"El nº máximo de estudiantes"
|
||||
" del grupo <strong>%s</strong> ahora es <strong>%u</strong>."; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Il numero massimo di studenti"
|
||||
" nel gruppo <strong>%s</strong> è ora <strong>%u</strong>.";
|
||||
#elif L==8 // pl
|
||||
"Maksymalna liczba studentów"
|
||||
" w grupie <strong>%s</strong> wynosi teraz <strong>%u</strong>.";
|
||||
#elif L==9 // pt
|
||||
"O número máximo de estudantes"
|
||||
" no grupo <strong>%s</strong> é agora <strong>%u</strong>.";
|
||||
#endif
|
||||
|
||||
const char *Txt_The_message_has_not_been_sent_to_any_recipient =
|
||||
|
|
Loading…
Reference in New Issue