From 75ddfa738551546e33f44ee2602d62ff444c5288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Wed, 2 Jan 2019 22:06:29 +0100 Subject: [PATCH] Version 18.26.1 --- sql/swad.sql | 2 +- swad_changelog.h | 7 +- swad_classroom.c | 114 ++++++++++++++-------------- swad_classroom.h | 10 +-- swad_global.c | 2 +- swad_group.c | 13 ++-- swad_text.c | 194 ++++++++++++++++++++++++++++++++--------------- 7 files changed, 210 insertions(+), 132 deletions(-) diff --git a/sql/swad.sql b/sql/swad.sql index 3ee8e4b33..bf56e0be2 100644 --- a/sql/swad.sql +++ b/sql/swad.sql @@ -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)); -- diff --git a/swad_changelog.h b/swad_changelog.h index 3f2790c82..4e58d3410 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -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; diff --git a/swad_classroom.c b/swad_classroom.c index 65689c876..00d38f376 100644 --- a/swad_classroom.c +++ b/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,""); for (Order = Cla_ORDER_BY_CLASSROOM; - Order <= Cla_ORDER_BY_MAX_STDS; + Order <= Cla_ORDER_BY_CAPACITY; Order++) { fprintf (Gbl.F.Out,""); @@ -134,7 +134,7 @@ void Cla_SeeClassrooms (void) "" "", Gbl.Classrooms.Lst[NumCla].FullName); - Cla_WriteMaxStds (Gbl.Classrooms.Lst[NumCla].MaxStudents); + Cla_WriteCapacity (Gbl.Classrooms.Lst[NumCla].Capacity); fprintf (Gbl.F.Out,"" ""); } @@ -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,""); - /* Maximum number of students */ + /* Seating capacity */ fprintf (Gbl.F.Out,""); Frm_StartForm (ActChgClaMaxStd); Cla_PutParamClaCod (Cla->ClaCod); - fprintf (Gbl.F.Out,"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) "", Cla_MAX_CHARS_CLASSROOM_FULL_NAME,Cla->FullName); - /***** Number of students *****/ + /***** Seating capacity *****/ fprintf (Gbl.F.Out,"" - "MaxStudents); + Cla_WriteCapacity (Cla->Capacity); fprintf (Gbl.F.Out,"\" />" "" ""); @@ -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,"" "" @@ -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), diff --git a/swad_classroom.h b/swad_classroom.h index ce4f50fc1..5913228e8 100644 --- a/swad_classroom.h +++ b/swad_classroom.h @@ -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 diff --git a/swad_global.c b/swad_global.c index 31aec8cdf..daec191c2 100644 --- a/swad_global.c +++ b/swad_global.c @@ -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'; diff --git a/swad_group.c b/swad_group.c index a59c2d30a..b0231b920 100644 --- a/swad_group.c +++ b/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 *****/ diff --git a/swad_text.c b/swad_text.c index 91c951645..1703cbeca 100644 --- a/swad_text.c +++ b/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
d'est." + "Aforo" #elif L==2 // de - "Max.
Stud." + "Kapazität" #elif L==3 // en - "Max.
stud." + "Capacity" #elif L==4 // es - "Máx.
estu." + "Aforo" #elif L==5 // fr - "Max.
étud." + "Capacité" #elif L==6 // gn - "Máx.
estu." // Okoteve traducción + "Aforo" // Okoteve traducción #elif L==7 // it - "Max.
stud." + "Capacità" #elif L==8 // pl - "Max.
stud." + "Pojemność" #elif L==9 // pt - "Máx.
estu." + "Capacidade" #endif }; @@ -43561,6 +43582,48 @@ const char *Txt_The_banner_X_is_now_visible = // Warning: it is very important t "O banner %s é 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 %s no ha canviat."; +#elif L==2 // de + "Die Kapazität des Klassenzimmers %s hat sich nicht geändert."; +#elif L==3 // en + "The capacity of classroom %s has not changed."; +#elif L==4 // es + "El aforo del aula %s no ha cambiado."; +#elif L==5 // fr + "La capacité de la salle de classe %s n'a pas changé."; +#elif L==6 // gn + "El aforo del aula %s no ha cambiado."; // Okoteve traducción +#elif L==7 // it + "La capacità della aula %s non è cambiata."; +#elif L==8 // pl + "Pojemność klasy %s nie uległa zmianie."; +#elif L==9 // pt + "A capacidade da sala de aula %s 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 %s ara és %u."; +#elif L==2 // de + "Die Kapazität des Klassenzimmers %s beträgt jetzt %u."; +#elif L==3 // en + "The capacity of classroom %s is now %u."; +#elif L==4 // es + "El aforo del aula %s ahora es %u."; +#elif L==5 // fr + "La capacité de la salle de classe %s est maintenant de %u."; +#elif L==6 // gn + "El aforo del aula %s ahora es %u."; // Okoteve traducción +#elif L==7 // it + "La capacità della aula %s è ora %u."; +#elif L==8 // pl + "Pojemność klasy %s wynosi teraz %u."; +#elif L==9 // pt + "A capacidade da sala de aula %s é agora %u."; +#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 %s 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 %s 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 %s ara no té cap límit d'estudiants."; + "L'aula %s ja no té un aforament limitat."; #elif L==2 // de - "Das Klassenzimmer %s hat jetzt kein Studentenlimit."; + "Das Klassenzimmer %s hat jetzt keine begrenzte Kapazität."; #elif L==3 // en - "The classroom %s does not have a student limit now."; + "The classroom %s does not have a limited capacity now."; #elif L==4 // es - "El aula %s no tiene ahora límite de estudiantes."; + "El aula %s ya no tiene un aforo limitado."; #elif L==5 // fr - "La salle de classe %s n'a plus de limite d'étudiants."; + "La salle de classe %s n'a plus de capacité limitée."; #elif L==6 // gn - "El aula %s no tiene ahora límite de estudiantes."; // Okoteve traducción + "El aula %s ya no tiene un aforo limitado."; // Okoteve traducción #elif L==7 // it - "L'aula %s ora non ha limite di studenti."; + "L'aula %s non ha una capacità limitata ora."; #elif L==8 // pl - "Klasa %s nie ma teraz żadnych limitów uczniów."; + "Klasa %s nie ma teraz ograniczonej pojemności."; #elif L==9 // pt - "A sala de clase %s não tem limite de estudantes agora."; + "A sala de clase %s 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 %u."; + " del grup %s no ha canviat."; #elif L==2 // de - "Die maximale Anzahl von Studenten" - " beträgt jetzt %u."; + "Die maximale Anzahl der Studenten" + " in Gruppe %s hat sich nicht geändert."; #elif L==3 // en "The maximum number of students" - " is now %u."; + " in group %s has not changed."; #elif L==4 // es "El nº máximo de estudiantes" - " ahora es %u."; + " del grupo %s no ha cambiado."; #elif L==5 // fr "Le nombre maximum d'étudiants" - " est maintenant de %u."; + " du groupe %s n'a pas changé."; #elif L==6 // gn "El nº máximo de estudiantes" - " ahora es %u."; // Okoteve traducción + " del grupo %s no ha cambiado."; // Okoteve traducción #elif L==7 // it "Il numero massimo di studenti" - " è ora %u."; + " nel gruppo %s non è cambiato."; #elif L==8 // pl - "Maksymalna liczba studentów" - " wynosi teraz %u."; + "Maksymalna liczba uczniów" + " w grupie %s nie uległa zmianie."; #elif L==9 // pt "O número máximo de estudantes" - " é agora %u."; + " no grupo %s 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 %s ara és %u."; +#elif L==2 // de + "Die maximale Anzahl der Studenten" + " in Gruppe %s beträgt jetzt %u."; +#elif L==3 // en + "The maximum number of students" + " in group %s is now %u."; +#elif L==4 // es + "El nº máximo de estudiantes" + " del grupo %s ahora es %u."; +#elif L==5 // fr + "Le nombre maximum d'étudiants" + " du groupe %s est maintenant de %u."; +#elif L==6 // gn + "El nº máximo de estudiantes" + " del grupo %s ahora es %u."; // Okoteve traducción +#elif L==7 // it + "Il numero massimo di studenti" + " nel gruppo %s è ora %u."; +#elif L==8 // pl + "Maksymalna liczba studentów" + " w grupie %s wynosi teraz %u."; +#elif L==9 // pt + "O número máximo de estudantes" + " no grupo %s é agora %u."; #endif const char *Txt_The_message_has_not_been_sent_to_any_recipient =