mirror of https://github.com/acanas/swad-core.git
Version 18.26.3
This commit is contained in:
parent
9eb9a8bafd
commit
300c651135
|
@ -345,6 +345,8 @@ Buenos d
|
|||
|
||||
// TODO: Que un grupo tenga asociado un lugar, como un aula, así al hacer un evento de asistencia, podría tener por defecto el lugar asignado al grupo elegido.
|
||||
|
||||
// TODO: Refactorize OrderBySubQuery
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
@ -364,11 +366,12 @@ En OpenSWAD:
|
|||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.26.2 (2019-01-02)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.26.3 (2019-01-03)"
|
||||
#define CSS_FILE "swad18.22.css"
|
||||
#define JS_FILE "swad17.17.1.js"
|
||||
/*
|
||||
Version 18.26.2: Jan 02, 2019 New field location in classrooms table. (238711 lines)
|
||||
Version 18.26.3: Jan 03, 2019 New column location in classrooms listing. (238725 lines)
|
||||
Version 18.26.2: Jan 02, 2019 New column location in classrooms table. (238711 lines)
|
||||
1 change necessary in database:
|
||||
ALTER TABLE classrooms ADD COLUMN Location VARCHAR(2047) NOT NULL AFTER Capacity;
|
||||
|
||||
|
|
101
swad_classroom.c
101
swad_classroom.c
|
@ -25,7 +25,9 @@
|
|||
/********************************** Headers **********************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define _GNU_SOURCE // For asprintf
|
||||
#include <linux/stddef.h> // For NULL
|
||||
#include <stdio.h> // For asprintf
|
||||
#include <string.h> // For string functions
|
||||
|
||||
#include "swad_box.h"
|
||||
|
@ -84,8 +86,8 @@ void Cla_SeeClassrooms (void)
|
|||
{
|
||||
extern const char *Hlp_CENTRE_Classrooms;
|
||||
extern const char *Txt_Classrooms;
|
||||
extern const char *Txt_CLASSROOMS_HELP_ORDER[2];
|
||||
extern const char *Txt_CLASSROOMS_ORDER[2];
|
||||
extern const char *Txt_CLASSROOMS_HELP_ORDER[Cla_NUM_ORDERS];
|
||||
extern const char *Txt_CLASSROOMS_ORDER[Cla_NUM_ORDERS];
|
||||
extern const char *Txt_New_classroom;
|
||||
Cla_Order_t Order;
|
||||
unsigned NumCla;
|
||||
|
@ -103,8 +105,8 @@ void Cla_SeeClassrooms (void)
|
|||
Hlp_CENTRE_Classrooms,Box_NOT_CLOSABLE);
|
||||
Tbl_StartTableWideMargin (2);
|
||||
fprintf (Gbl.F.Out,"<tr>");
|
||||
for (Order = Cla_ORDER_BY_CLASSROOM;
|
||||
Order <= Cla_ORDER_BY_CAPACITY;
|
||||
for (Order = (Cla_Order_t) 0;
|
||||
Order <= (Cla_Order_t) (Cla_NUM_ORDERS - 1);
|
||||
Order++)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">");
|
||||
|
@ -136,7 +138,11 @@ void Cla_SeeClassrooms (void)
|
|||
Gbl.Classrooms.Lst[NumCla].FullName);
|
||||
Cla_WriteCapacity (Gbl.Classrooms.Lst[NumCla].Capacity);
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</td>"
|
||||
"</tr>",
|
||||
Gbl.Classrooms.Lst[NumCla].Location);
|
||||
}
|
||||
|
||||
/***** End table *****/
|
||||
|
@ -261,7 +267,7 @@ void Cla_PutIconToViewClassrooms (void)
|
|||
|
||||
void Cla_GetListClassrooms (void)
|
||||
{
|
||||
char OrderBySubQuery[256];
|
||||
char *OrderBySubQuery;
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
unsigned long NumRows;
|
||||
|
@ -269,26 +275,41 @@ void Cla_GetListClassrooms (void)
|
|||
struct Classroom *Cla;
|
||||
|
||||
/***** Get classrooms from database *****/
|
||||
/* Build order subquery */
|
||||
switch (Gbl.Classrooms.SelectedOrder)
|
||||
{
|
||||
case Cla_ORDER_BY_CLASSROOM:
|
||||
sprintf (OrderBySubQuery,"FullName");
|
||||
if (asprintf (&OrderBySubQuery,"FullName") < 0)
|
||||
Lay_NotEnoughMemoryExit ();
|
||||
break;
|
||||
case Cla_ORDER_BY_CAPACITY:
|
||||
sprintf (OrderBySubQuery,"Capacity DESC,FullName");
|
||||
if (asprintf (&OrderBySubQuery,"Capacity DESC,"
|
||||
"FullName") < 0)
|
||||
Lay_NotEnoughMemoryExit ();
|
||||
break;
|
||||
case Cla_ORDER_BY_LOCATION:
|
||||
if (asprintf (&OrderBySubQuery,"Location DESC,"
|
||||
"FullName") < 0)
|
||||
Lay_NotEnoughMemoryExit ();
|
||||
break;
|
||||
}
|
||||
|
||||
/* Build query */
|
||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get classrooms",
|
||||
"SELECT ClaCod,"
|
||||
"ShortName,"
|
||||
"FullName,"
|
||||
"Capacity"
|
||||
"Capacity,"
|
||||
"Location"
|
||||
" FROM classrooms"
|
||||
" WHERE CtrCod=%ld"
|
||||
" ORDER BY %s",
|
||||
Gbl.CurrentCtr.Ctr.CtrCod,
|
||||
OrderBySubQuery);
|
||||
|
||||
/* Free allocated memory for subquery */
|
||||
free ((void *) OrderBySubQuery);
|
||||
|
||||
/***** Count number of rows in result *****/
|
||||
if (NumRows) // Classrooms found...
|
||||
{
|
||||
|
@ -314,15 +335,19 @@ void Cla_GetListClassrooms (void)
|
|||
|
||||
/* Get the short name of the classroom (row[1]) */
|
||||
Str_Copy (Cla->ShrtName,row[1],
|
||||
Cla_MAX_BYTES_CLASSROOM_SHRT_NAME);
|
||||
Cla_MAX_BYTES_SHRT_NAME);
|
||||
|
||||
/* Get the full name of the classroom (row[2]) */
|
||||
Str_Copy (Cla->FullName,row[2],
|
||||
Cla_MAX_BYTES_CLASSROOM_FULL_NAME);
|
||||
Cla_MAX_BYTES_FULL_NAME);
|
||||
|
||||
/* Get seating capacity in this classroom (row[3]) */
|
||||
if (sscanf (row[3],"%u",&Cla->Capacity) != 1)
|
||||
Cla->Capacity = Cla_UNLIMITED_CAPACITY;
|
||||
|
||||
/* Get the full name of the classroom (row[4]) */
|
||||
Str_Copy (Cla->Location,row[4],
|
||||
Cla_MAX_BYTES_LOCATION);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -338,8 +363,6 @@ void Cla_GetListClassrooms (void)
|
|||
|
||||
void Cla_GetDataOfClassroomByCod (struct Classroom *Cla)
|
||||
{
|
||||
extern const char *Txt_Classroom_unspecified;
|
||||
extern const char *Txt_Another_classroom;
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
unsigned long NumRows;
|
||||
|
@ -348,29 +371,17 @@ void Cla_GetDataOfClassroomByCod (struct Classroom *Cla)
|
|||
Cla->ShrtName[0] = '\0';
|
||||
Cla->FullName[0] = '\0';
|
||||
Cla->Capacity = Cla_UNLIMITED_CAPACITY;
|
||||
Cla->Location[0] = '\0';
|
||||
|
||||
/***** Check if classroom code is correct *****/
|
||||
if (Cla->ClaCod < 0)
|
||||
{
|
||||
Str_Copy (Cla->ShrtName,Txt_Classroom_unspecified,
|
||||
Cla_MAX_BYTES_CLASSROOM_SHRT_NAME);
|
||||
Str_Copy (Cla->FullName,Txt_Classroom_unspecified,
|
||||
Cla_MAX_BYTES_CLASSROOM_FULL_NAME);
|
||||
}
|
||||
else if (Cla->ClaCod == 0)
|
||||
{
|
||||
Str_Copy (Cla->ShrtName,Txt_Another_classroom,
|
||||
Cla_MAX_BYTES_CLASSROOM_SHRT_NAME);
|
||||
Str_Copy (Cla->FullName,Txt_Another_classroom,
|
||||
Cla_MAX_BYTES_CLASSROOM_FULL_NAME);
|
||||
}
|
||||
else if (Cla->ClaCod > 0)
|
||||
if (Cla->ClaCod > 0)
|
||||
{
|
||||
/***** Get data of a classroom from database *****/
|
||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get data of a classroom",
|
||||
"SELECT ShortName,"
|
||||
"FullName,"
|
||||
"Capacity"
|
||||
"Capacity,"
|
||||
"Location"
|
||||
" FROM classrooms"
|
||||
" WHERE ClaCod=%ld",
|
||||
Cla->ClaCod);
|
||||
|
@ -383,15 +394,19 @@ void Cla_GetDataOfClassroomByCod (struct Classroom *Cla)
|
|||
|
||||
/* Get the short name of the classroom (row[0]) */
|
||||
Str_Copy (Cla->ShrtName,row[0],
|
||||
Cla_MAX_BYTES_CLASSROOM_SHRT_NAME);
|
||||
Cla_MAX_BYTES_SHRT_NAME);
|
||||
|
||||
/* Get the full name of the classroom (row[1]) */
|
||||
Str_Copy (Cla->FullName,row[1],
|
||||
Cla_MAX_BYTES_CLASSROOM_FULL_NAME);
|
||||
Cla_MAX_BYTES_FULL_NAME);
|
||||
|
||||
/* Get seating capacity in this classroom (row[2]) */
|
||||
if (sscanf (row[2],"%u",&Cla->Capacity) != 1)
|
||||
Cla->Capacity = Cla_UNLIMITED_CAPACITY;
|
||||
|
||||
/* Get the location of the classroom (row[3]) */
|
||||
Str_Copy (Cla->Location,row[3],
|
||||
Cla_MAX_BYTES_LOCATION);
|
||||
}
|
||||
|
||||
/***** Free structure that stores the query result *****/
|
||||
|
@ -457,7 +472,7 @@ static void Cla_ListClassroomsForEdition (void)
|
|||
" maxlength=\"%u\" value=\"%s\""
|
||||
" class=\"INPUT_SHORT_NAME\""
|
||||
" onchange=\"document.getElementById('%s').submit();\" />",
|
||||
Cla_MAX_CHARS_CLASSROOM_SHRT_NAME,Cla->ShrtName,Gbl.Form.Id);
|
||||
Cla_MAX_CHARS_SHRT_NAME,Cla->ShrtName,Gbl.Form.Id);
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</td>");
|
||||
|
||||
|
@ -469,7 +484,7 @@ static void Cla_ListClassroomsForEdition (void)
|
|||
" maxlength=\"%u\" value=\"%s\""
|
||||
" class=\"INPUT_FULL_NAME\""
|
||||
" onchange=\"document.getElementById('%s').submit();\" />",
|
||||
Cla_MAX_CHARS_CLASSROOM_FULL_NAME,Cla->FullName,Gbl.Form.Id);
|
||||
Cla_MAX_CHARS_FULL_NAME,Cla->FullName,Gbl.Form.Id);
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</td>");
|
||||
|
||||
|
@ -574,7 +589,7 @@ static void Cla_RenameClassroom (Cns_ShrtOrFullName_t ShrtOrFullName)
|
|||
const char *FieldName = NULL; // Initialized to avoid warning
|
||||
unsigned MaxBytes = 0; // Initialized to avoid warning
|
||||
char *CurrentClaName = NULL; // Initialized to avoid warning
|
||||
char NewClaName[Cla_MAX_BYTES_CLASSROOM_FULL_NAME + 1];
|
||||
char NewClaName[Cla_MAX_BYTES_FULL_NAME + 1];
|
||||
|
||||
Cla = &Gbl.Classrooms.EditingCla;
|
||||
switch (ShrtOrFullName)
|
||||
|
@ -582,13 +597,13 @@ static void Cla_RenameClassroom (Cns_ShrtOrFullName_t ShrtOrFullName)
|
|||
case Cns_SHRT_NAME:
|
||||
ParamName = "ShortName";
|
||||
FieldName = "ShortName";
|
||||
MaxBytes = Cla_MAX_BYTES_CLASSROOM_SHRT_NAME;
|
||||
MaxBytes = Cla_MAX_BYTES_SHRT_NAME;
|
||||
CurrentClaName = Cla->ShrtName;
|
||||
break;
|
||||
case Cns_FULL_NAME:
|
||||
ParamName = "FullName";
|
||||
FieldName = "FullName";
|
||||
MaxBytes = Cla_MAX_BYTES_CLASSROOM_FULL_NAME;
|
||||
MaxBytes = Cla_MAX_BYTES_FULL_NAME;
|
||||
CurrentClaName = Cla->FullName;
|
||||
break;
|
||||
}
|
||||
|
@ -705,7 +720,7 @@ void Cla_ChangeMaxStudents (void)
|
|||
NewCapacity = (unsigned)
|
||||
Par_GetParToUnsignedLong ("Capacity",
|
||||
0,
|
||||
Cla_MAX_CAPACITY_OF_A_CLASSROOM,
|
||||
Cla_MAX_CAPACITY,
|
||||
Cla_UNLIMITED_CAPACITY);
|
||||
|
||||
/***** Get data of the classroom from database *****/
|
||||
|
@ -752,7 +767,7 @@ void Cla_ChangeMaxStudents (void)
|
|||
|
||||
static void Cla_WriteCapacity (unsigned Capacity)
|
||||
{
|
||||
if (Capacity <= Cla_MAX_CAPACITY_OF_A_CLASSROOM)
|
||||
if (Capacity <= Cla_MAX_CAPACITY)
|
||||
fprintf (Gbl.F.Out,"%u",Capacity);
|
||||
}
|
||||
|
||||
|
@ -793,7 +808,7 @@ static void Cla_PutFormToCreateClassroom (void)
|
|||
" class=\"INPUT_SHORT_NAME\""
|
||||
" required=\"required\" />"
|
||||
"</td>",
|
||||
Cla_MAX_CHARS_CLASSROOM_SHRT_NAME,Cla->ShrtName);
|
||||
Cla_MAX_CHARS_SHRT_NAME,Cla->ShrtName);
|
||||
|
||||
/***** Classroom full name *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||
|
@ -802,7 +817,7 @@ static void Cla_PutFormToCreateClassroom (void)
|
|||
" class=\"INPUT_FULL_NAME\""
|
||||
" required=\"required\" />"
|
||||
"</td>",
|
||||
Cla_MAX_CHARS_CLASSROOM_FULL_NAME,Cla->FullName);
|
||||
Cla_MAX_CHARS_FULL_NAME,Cla->FullName);
|
||||
|
||||
/***** Seating capacity *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
|
||||
|
@ -866,16 +881,16 @@ void Cla_RecFormNewClassroom (void)
|
|||
|
||||
/***** Get parameters from form *****/
|
||||
/* Get classroom short name */
|
||||
Par_GetParToText ("ShortName",Cla->ShrtName,Cla_MAX_BYTES_CLASSROOM_SHRT_NAME);
|
||||
Par_GetParToText ("ShortName",Cla->ShrtName,Cla_MAX_BYTES_SHRT_NAME);
|
||||
|
||||
/* Get classroom full name */
|
||||
Par_GetParToText ("FullName",Cla->FullName,Cla_MAX_BYTES_CLASSROOM_FULL_NAME);
|
||||
Par_GetParToText ("FullName",Cla->FullName,Cla_MAX_BYTES_FULL_NAME);
|
||||
|
||||
/* Get seating capacity */
|
||||
Cla->Capacity = (unsigned)
|
||||
Par_GetParToUnsignedLong ("Capacity",
|
||||
0,
|
||||
Cla_MAX_CAPACITY_OF_A_CLASSROOM,
|
||||
Cla_MAX_CAPACITY,
|
||||
Cla_UNLIMITED_CAPACITY);
|
||||
|
||||
if (Cla->ShrtName[0] && Cla->FullName[0]) // If there's a classroom name
|
||||
|
|
|
@ -33,15 +33,15 @@
|
|||
/************************** Public types and constants ***********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Cla_MAX_CHARS_CLASSROOM_SHRT_NAME (32 - 1) // 31
|
||||
#define Cla_MAX_BYTES_CLASSROOM_SHRT_NAME ((Cla_MAX_CHARS_CLASSROOM_SHRT_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 511
|
||||
#define Cla_MAX_CHARS_SHRT_NAME (32 - 1) // 31
|
||||
#define Cla_MAX_BYTES_SHRT_NAME ((Cla_MAX_CHARS_SHRT_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 511
|
||||
|
||||
#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_CHARS_FULL_NAME (128 - 1) // 127
|
||||
#define Cla_MAX_BYTES_FULL_NAME ((Cla_MAX_CHARS_FULL_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
|
||||
|
||||
#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
|
||||
#define Cla_MAX_CAPACITY 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
|
||||
|
||||
#define Cla_MAX_CHARS_LOCATION (128 - 1) // 127
|
||||
#define Cla_MAX_BYTES_LOCATION ((Cla_MAX_CHARS_LOCATION + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
|
||||
|
@ -50,17 +50,18 @@ struct Classroom
|
|||
{
|
||||
long ClaCod;
|
||||
long InsCod;
|
||||
char ShrtName[Cla_MAX_BYTES_CLASSROOM_SHRT_NAME + 1];
|
||||
char FullName[Cla_MAX_BYTES_CLASSROOM_FULL_NAME + 1];
|
||||
char ShrtName[Cla_MAX_BYTES_SHRT_NAME + 1];
|
||||
char FullName[Cla_MAX_BYTES_FULL_NAME + 1];
|
||||
unsigned Capacity; // Seating capacity (maximum number of people that fit in the room)
|
||||
char Location[Cla_MAX_BYTES_LOCATION + 1]; // Examples: Ground floor, first floor, basement
|
||||
};
|
||||
|
||||
#define Cla_NUM_ORDERS 2
|
||||
#define Cla_NUM_ORDERS 3
|
||||
typedef enum
|
||||
{
|
||||
Cla_ORDER_BY_CLASSROOM = 0,
|
||||
Cla_ORDER_BY_CAPACITY = 1,
|
||||
Cla_ORDER_BY_LOCATION = 2,
|
||||
} Cla_Order_t;
|
||||
#define Cla_ORDER_DEFAULT Cla_ORDER_BY_CLASSROOM
|
||||
|
||||
|
|
|
@ -482,8 +482,8 @@ mysql> DESCRIBE classrooms;
|
|||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS classrooms ("
|
||||
"ClaCod INT NOT NULL AUTO_INCREMENT,"
|
||||
"CtrCod INT NOT NULL,"
|
||||
"ShortName VARCHAR(511) NOT NULL," // Cla_MAX_BYTES_CLASSROOM_SHRT_NAME
|
||||
"FullName VARCHAR(2047) NOT NULL," // Cla_MAX_BYTES_CLASSROOM_FULL_NAME
|
||||
"ShortName VARCHAR(511) NOT NULL," // Cla_MAX_BYTES_SHRT_NAME
|
||||
"FullName VARCHAR(2047) NOT NULL," // Cla_MAX_BYTES_FULL_NAME
|
||||
"Capacity INT NOT NULL,"
|
||||
"Location VARCHAR(2047) NOT NULL," // Cla_MAX_BYTES_LOCATION
|
||||
"UNIQUE INDEX(ClaCod),"
|
||||
|
|
70
swad_text.c
70
swad_text.c
|
@ -1642,27 +1642,6 @@ const char *Txt_Another_centre =
|
|||
"Outro centro";
|
||||
#endif
|
||||
|
||||
const char *Txt_Another_classroom =
|
||||
#if L==1 // ca
|
||||
"Una altra aula";
|
||||
#elif L==2 // de
|
||||
"Ein weiterer Klassenzimmer";
|
||||
#elif L==3 // en
|
||||
"Another classroom";
|
||||
#elif L==4 // es
|
||||
"Otra aula";
|
||||
#elif L==5 // fr
|
||||
"Une autre salle de classe";
|
||||
#elif L==6 // gn
|
||||
"Otra aula"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Un'altra aula";
|
||||
#elif L==8 // pl
|
||||
"Innym klasa";
|
||||
#elif L==9 // pt
|
||||
"Outra sala de aula";
|
||||
#endif
|
||||
|
||||
const char *Txt_Another_country =
|
||||
#if L==1 // ca
|
||||
"Un altre país";
|
||||
|
@ -3918,7 +3897,7 @@ const char *Txt_Classroom_X_removed = // Warning: it is very important to includ
|
|||
const char *Txt_CLASSROOMS_HELP_ORDER[Cla_NUM_ORDERS] =
|
||||
{
|
||||
#if L==1 // ca
|
||||
"Ordenar por aula" // Necessita traduccio
|
||||
"Ordenar per aula"
|
||||
#elif L==2 // de
|
||||
"Nach Klassenzimmer sortieren"
|
||||
#elif L==3 // en
|
||||
|
@ -3955,6 +3934,26 @@ const char *Txt_CLASSROOMS_HELP_ORDER[Cla_NUM_ORDERS] =
|
|||
"Sortuj wed&lsgtrok;ug pojemności miejsc"
|
||||
#elif L==9 // pt
|
||||
"Ordenar por capacidade"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // ca
|
||||
"Ordenar per ubicació"
|
||||
#elif L==2 // de
|
||||
"Nach Standort sortieren"
|
||||
#elif L==3 // en
|
||||
"Sort by location"
|
||||
#elif L==4 // es
|
||||
"Ordenar por ubicación"
|
||||
#elif L==5 // fr
|
||||
"Trier par emplacement"
|
||||
#elif L==6 // gn
|
||||
"Ordenar por ubicación" // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Ordina per posizione"
|
||||
#elif L==8 // pl
|
||||
"Sortuj wedlug lokacja"
|
||||
#elif L==9 // pt
|
||||
"Classificar por localização"
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -3999,28 +3998,27 @@ const char *Txt_CLASSROOMS_ORDER[Cla_NUM_ORDERS] =
|
|||
#elif L==9 // pt
|
||||
"Capacidade"
|
||||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_Classroom_unspecified =
|
||||
,
|
||||
#if L==1 // ca
|
||||
"Aula sense especificar";
|
||||
"Ubicació"
|
||||
#elif L==2 // de
|
||||
"Klassenzimmer nicht spezifiziert";
|
||||
"Standort"
|
||||
#elif L==3 // en
|
||||
"Classroom unspecified";
|
||||
"Location"
|
||||
#elif L==4 // es
|
||||
"Aula sin especificar";
|
||||
"Ubicación"
|
||||
#elif L==5 // fr
|
||||
"Salle de classe non spécifiée";
|
||||
"Emplacement"
|
||||
#elif L==6 // gn
|
||||
"Aula sin especificar"; // Okoteve traducción
|
||||
"Ñemohenda"
|
||||
#elif L==7 // it
|
||||
"Aula non specificata";
|
||||
"Posizione"
|
||||
#elif L==8 // pl
|
||||
"Klasa nieokreslone";
|
||||
"Lokacja"
|
||||
#elif L==9 // pt
|
||||
"Sala de aula indeterminada";
|
||||
"Localização"
|
||||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_Classrooms =
|
||||
#if L==1 // ca
|
||||
|
@ -17150,7 +17148,7 @@ const char *Txt_Location =
|
|||
#elif L==5 // fr
|
||||
"Emplacement";
|
||||
#elif L==6 // gn
|
||||
"Ubicación"; // Okoteve traducción
|
||||
"Tenda";
|
||||
#elif L==7 // it
|
||||
"Posizione";
|
||||
#elif L==8 // pl
|
||||
|
@ -17171,7 +17169,7 @@ const char *Txt_Locations =
|
|||
#elif L==5 // fr
|
||||
"Emplacements";
|
||||
#elif L==6 // gn
|
||||
"Ubicación"; // Okoteve traducción
|
||||
"Tenda";
|
||||
#elif L==7 // it
|
||||
"Posizioni";
|
||||
#elif L==8 // pl
|
||||
|
|
Loading…
Reference in New Issue