Version 14.108

This commit is contained in:
Antonio Cañas Vargas 2015-04-03 14:04:26 +02:00
parent 415ca04a74
commit 308a722d85
6 changed files with 438 additions and 33 deletions

View File

@ -103,11 +103,12 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.107.8 (2015/04/03)"
#define Log_PLATFORM_VERSION "SWAD 14.108 (2015/04/03)"
// Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
/*
Version 14.108: Apr 03, 2015 New statistic (figure) about institutions. (184136 lines)
Version 14.107.8: Apr 03, 2015 Changes in statistics (figures about hierarchy). (183774 lines)
Version 14.107.7: Apr 03, 2015 Changes in layout of sent / received messages. (183753 lines)
Version 14.107.6: Apr 03, 2015 Changes in layout of form to change password. (183748 lines)

View File

@ -1066,6 +1066,16 @@ void Lay_WriteTitle (const char *Title)
// CellPadding must be 0, 1, 2, 4 or 8
void Lay_StartRoundFrameTable10 (const char *Width,unsigned CellPadding,const char *Title)
{
Lay_StartRoundFrame10 (Width,Title);
fprintf (Gbl.F.Out,"<table class=\"TABLE10");
if (CellPadding)
fprintf (Gbl.F.Out," CELLS_PAD_%u",CellPadding); // CellPadding must be 0, 1, 2, 4 or 8
fprintf (Gbl.F.Out,"\">");
}
void Lay_StartRoundFrame10 (const char *Width,const char *Title)
{
fprintf (Gbl.F.Out,"<div style=\"text-align:center;\">"
"<div class=\"FRAME10\"");
@ -1079,11 +1089,6 @@ void Lay_StartRoundFrameTable10 (const char *Width,unsigned CellPadding,const ch
"%s"
"</div>",
Title);
fprintf (Gbl.F.Out,"<table class=\"TABLE10");
if (CellPadding)
fprintf (Gbl.F.Out," CELLS_PAD_%u",CellPadding); // CellPadding must be 0, 1, 2, 4 or 8
fprintf (Gbl.F.Out,"\">");
}
// CellPadding must be 0, 1, 2, 4 or 8
@ -1104,8 +1109,13 @@ void Lay_StartRoundFrameTable10Shadow (const char *Width,unsigned CellPadding)
void Lay_EndRoundFrameTable10 (void)
{
fprintf (Gbl.F.Out,"</table>"
"</div>"
fprintf (Gbl.F.Out,"</table>");
Lay_EndRoundFrame10 ();
}
void Lay_EndRoundFrame10 (void)
{
fprintf (Gbl.F.Out,"</div>"
"</div>");
}

View File

@ -98,8 +98,11 @@ void Lay_PutConfirmButtonInline (const char *Text);
void Lay_PutRemoveButton (const char *Text);
void Lay_StartRoundFrameTable10 (const char *Width,unsigned CellPadding,const char *Title);
void Lay_StartRoundFrame10 (const char *Width,const char *Title);
void Lay_StartRoundFrameTable10Shadow (const char *Width,unsigned CellPadding);
void Lay_EndRoundFrameTable10 (void);
void Lay_EndRoundFrame10 (void);
void Lay_ShowErrorAndExit (const char *Message);
void Lay_ShowAlert (Lay_AlertType_t MsgType,const char *Message);
void Lay_RefreshNotifsAndConnected (void);

View File

@ -123,7 +123,7 @@ static void Sta_WriteDegree (long DegCod);
static void Sta_DrawBarNumClicks (char Color,float NumPagesGenerated,float MaxPagesGenerated,float TotalPagesGenerated,unsigned MaxBarWidth);
static void Sta_WriteSelectedRangeOfDates (unsigned NumDays);
static void Sta_GetAndShowDegCrsStats (void);
static void Sta_GetAndShowHierarchyStats (void);
static void Sta_WriteHeadDegsCrssInSWAD (void);
static void Sta_GetAndShowNumCtysInSWAD (void);
static void Sta_GetAndShowNumInssInSWAD (void);
@ -131,6 +131,14 @@ static void Sta_GetAndShowNumCtrsInSWAD (void);
static void Sta_GetAndShowNumDegsInSWAD (void);
static void Sta_GetAndShowNumCrssInSWAD (void);
static void Sta_GetAndShowInstitutionsStats (void);
static void Sta_GetAndShowInssOrderedByNumCtrs (void);
static void Sta_GetAndShowInssOrderedByNumDegs (void);
static void Sta_GetAndShowInssOrderedByNumCrss (void);
static void Sta_GetAndShowInssOrderedByNumUsrsInCrss (void);
static void Sta_GetAndShowInssOrderedByNumUsrsWhoClaimToBelongToThem (void);
static void Sta_GetAndShowInss (const char *Query,const char *TxtFigure);
static void Sta_GetAndShowUsersStats (void);
static void Sta_GetAndShowUsersRanking (void);
@ -3670,7 +3678,11 @@ void Sta_ShowUseOfPlatform (void)
break;
case Sta_HIERARCHY:
/***** Number of degrees and courses *****/
Sta_GetAndShowDegCrsStats ();
Sta_GetAndShowHierarchyStats ();
break;
case Sta_INSTITUTIONS:
/***** Number of institutions with users *****/
Sta_GetAndShowInstitutionsStats ();
break;
case Sta_SOCIAL_NETWORKS:
/***** Number of users in social networks *****/
@ -3860,10 +3872,11 @@ static void Sta_GetAndShowUsersRanking (void)
}
/*****************************************************************************/
/*************** Get and show stats about degrees and courses ****************/
/********* Get and show stats about hierarchy ***********/
/********* (countries, institutions, centres, degrees and courses) ***********/
/*****************************************************************************/
static void Sta_GetAndShowDegCrsStats (void)
static void Sta_GetAndShowHierarchyStats (void)
{
extern const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS];
@ -4474,6 +4487,363 @@ static void Sta_GetAndShowNumCrssInSWAD (void)
NumCrssWithStds);
}
/*****************************************************************************/
/****************** Get and show stats about institutions ********************/
/*****************************************************************************/
static void Sta_GetAndShowInstitutionsStats (void)
{
/****** Institutions ordered by number of centres ******/
Sta_GetAndShowInssOrderedByNumCtrs ();
/****** Institutions ordered by number of degrees ******/
Sta_GetAndShowInssOrderedByNumDegs ();
/****** Institutions ordered by number of courses ******/
Sta_GetAndShowInssOrderedByNumCrss ();
/****** Institutions ordered by number of users in courses ******/
Sta_GetAndShowInssOrderedByNumUsrsInCrss ();
/****** Institutions ordered by number of users who claim to belong to them ******/
Sta_GetAndShowInssOrderedByNumUsrsWhoClaimToBelongToThem ();
}
/*****************************************************************************/
/**** Get and show stats about institutions ordered by number of centres *****/
/*****************************************************************************/
static void Sta_GetAndShowInssOrderedByNumCtrs (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Centres;
char Query[1024];
/****** Institutions ordered by number of centres ******/
Lay_StartRoundFrameTable10 ("100%",2,"Instituciones seg&uacute;n n&uacute;mero de centros"); // Need translation
/***** Get institutions ordered by number of centres *****/
switch (Gbl.Scope.Current)
{
case Sco_SCOPE_SYS:
sprintf (Query,"SELECT InsCod,COUNT(*) AS N"
" FROM centres"
" GROUP BY InsCod"
" ORDER BY N DESC");
break;
case Sco_SCOPE_CTY:
sprintf (Query,"SELECT centres.InsCod,COUNT(*) AS N"
" FROM institutions,centres"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
" GROUP BY centres.InsCod"
" ORDER BY N DESC",
Gbl.CurrentCty.Cty.CtyCod);
break;
case Sco_SCOPE_INS:
case Sco_SCOPE_CTR:
case Sco_SCOPE_DEG:
case Sco_SCOPE_CRS:
sprintf (Query,"SELECT InsCod,COUNT(*) AS N"
" FROM centres"
" WHERE InsCod='%ld'"
" ORDER BY N DESC",
Gbl.CurrentIns.Ins.InsCod);
break;
default:
Lay_ShowErrorAndExit ("Wrong scope.");
break;
}
Sta_GetAndShowInss (Query,Txt_Centres);
Lay_EndRoundFrameTable10 ();
}
/*****************************************************************************/
/**** Get and show stats about institutions ordered by number of degrees *****/
/*****************************************************************************/
static void Sta_GetAndShowInssOrderedByNumDegs (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Degrees;
char Query[1024];
/****** Institutions ordered by number of centres ******/
Lay_StartRoundFrameTable10 ("100%",2,"Instituciones seg&uacute;n n&uacute;mero de titulaciones"); // Need translation
/***** Get institutions ordered by number of degrees *****/
switch (Gbl.Scope.Current)
{
case Sco_SCOPE_SYS:
sprintf (Query,"SELECT centres.InsCod,COUNT(*) AS N"
" FROM centres,degrees"
" WHERE centres.CtrCod=degrees.CtrCod"
" GROUP BY InsCod"
" ORDER BY N DESC");
break;
case Sco_SCOPE_CTY:
sprintf (Query,"SELECT centres.InsCod,COUNT(*) AS N"
" FROM institutions,centres,degrees"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" GROUP BY centres.InsCod"
" ORDER BY N DESC",
Gbl.CurrentCty.Cty.CtyCod);
break;
case Sco_SCOPE_INS:
case Sco_SCOPE_CTR:
case Sco_SCOPE_DEG:
case Sco_SCOPE_CRS:
sprintf (Query,"SELECT centres.InsCod,COUNT(*) AS N"
" FROM centres,degrees"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
" ORDER BY N DESC",
Gbl.CurrentIns.Ins.InsCod);
break;
default:
Lay_ShowErrorAndExit ("Wrong scope.");
break;
}
Sta_GetAndShowInss (Query,Txt_Degrees);
Lay_EndRoundFrameTable10 ();
}
/*****************************************************************************/
/**** Get and show stats about institutions ordered by number of courses *****/
/*****************************************************************************/
static void Sta_GetAndShowInssOrderedByNumCrss (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Courses;
char Query[1024];
/****** Institutions ordered by number of centres ******/
Lay_StartRoundFrameTable10 ("100%",2,"Instituciones seg&uacute;n n&uacute;mero de asignaturas"); // Need translation
/***** Get institutions ordered by number of courses *****/
switch (Gbl.Scope.Current)
{
case Sco_SCOPE_SYS:
sprintf (Query,"SELECT centres.InsCod,COUNT(*) AS N"
" FROM centres,degrees,courses"
" WHERE centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" GROUP BY InsCod"
" ORDER BY N DESC");
break;
case Sco_SCOPE_CTY:
sprintf (Query,"SELECT centres.InsCod,COUNT(*) AS N"
" FROM institutions,centres,degrees,courses"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" GROUP BY centres.InsCod"
" ORDER BY N DESC",
Gbl.CurrentCty.Cty.CtyCod);
break;
case Sco_SCOPE_INS:
case Sco_SCOPE_CTR:
case Sco_SCOPE_DEG:
case Sco_SCOPE_CRS:
sprintf (Query,"SELECT centres.InsCod,COUNT(*) AS N"
" FROM centres,degrees,courses"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" ORDER BY N DESC",
Gbl.CurrentIns.Ins.InsCod);
break;
default:
Lay_ShowErrorAndExit ("Wrong scope.");
break;
}
Sta_GetAndShowInss (Query,Txt_Courses);
Lay_EndRoundFrameTable10 ();
}
/*****************************************************************************/
/***** Get and show stats about institutions ordered by users in courses *****/
/*****************************************************************************/
static void Sta_GetAndShowInssOrderedByNumUsrsInCrss (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Users;
char Query[1024];
/****** Institutions ordered by number of centres ******/
Lay_StartRoundFrameTable10 ("100%",2,"Instituciones seg&uacute;n n&uacute;mero de usuarios en asignaturas"); // Need translation
/***** Get institutions ordered by number of users in courses *****/
switch (Gbl.Scope.Current)
{
case Sco_SCOPE_SYS:
sprintf (Query,"SELECT centres.InsCod,COUNT(*) AS N"
" FROM centres,degrees,courses,crs_usr"
" WHERE centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" GROUP BY InsCod"
" ORDER BY N DESC");
break;
case Sco_SCOPE_CTY:
sprintf (Query,"SELECT centres.InsCod,COUNT(*) AS N"
" FROM institutions,centres,degrees,courses,crs_usr"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" GROUP BY centres.InsCod"
" ORDER BY N DESC",
Gbl.CurrentCty.Cty.CtyCod);
break;
case Sco_SCOPE_INS:
case Sco_SCOPE_CTR:
case Sco_SCOPE_DEG:
case Sco_SCOPE_CRS:
sprintf (Query,"SELECT centres.InsCod,COUNT(*) AS N"
" FROM centres,degrees,courses,crs_usr"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" ORDER BY N DESC",
Gbl.CurrentIns.Ins.InsCod);
break;
default:
Lay_ShowErrorAndExit ("Wrong scope.");
break;
}
Sta_GetAndShowInss (Query,Txt_Users);
Lay_EndRoundFrameTable10 ();
}
/*****************************************************************************/
/************* Get and show stats about institutions ordered by **************/
/************* number of users who claim to belong to them **************/
/*****************************************************************************/
static void Sta_GetAndShowInssOrderedByNumUsrsWhoClaimToBelongToThem (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Users;
char Query[1024];
/****** Institutions ordered by number of centres ******/
Lay_StartRoundFrameTable10 ("100%",2,"Instituciones seg&uacute;n n&uacute;mero de usuarios que dicen pertenecer a ellas"); // Need translation
/***** Get institutions ordered by number of users who claim to belong to them *****/
switch (Gbl.Scope.Current)
{
case Sco_SCOPE_SYS:
sprintf (Query,"SELECT InsCod,COUNT(*) AS N"
" FROM usr_data"
" WHERE InsCod>'0'"
" GROUP BY InsCod"
" ORDER BY N DESC");
break;
case Sco_SCOPE_CTY:
sprintf (Query,"SELECT usr_data.InsCod,COUNT(*) AS N"
" FROM institutions,usr_data"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=usr_data.InsCod"
" GROUP BY usr_data.InsCod"
" ORDER BY N DESC",
Gbl.CurrentCty.Cty.CtyCod);
break;
case Sco_SCOPE_INS:
case Sco_SCOPE_CTR:
case Sco_SCOPE_DEG:
case Sco_SCOPE_CRS:
sprintf (Query,"SELECT InsCod,COUNT(*) AS N"
" FROM usr_data"
" WHERE InsCod='%ld'"
" ORDER BY N DESC",
Gbl.CurrentIns.Ins.InsCod);
break;
default:
Lay_ShowErrorAndExit ("Wrong scope.");
break;
}
Sta_GetAndShowInss (Query,Txt_Users);
Lay_EndRoundFrameTable10 ();
}
/*****************************************************************************/
/****************** Get and show stats about institutions ********************/
/*****************************************************************************/
static void Sta_GetAndShowInss (const char *Query,const char *TxtFigure)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Institution;
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumInss;
unsigned NumIns;
struct Institution Ins;
/***** Query database *****/
if ((NumInss = (unsigned) DB_QuerySELECT (Query,&mysql_res,"can not get institutions")))
{
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"TIT_TBL\" style=\"text-align:left;\">"
"%s"
"</th>"
"<th class=\"TIT_TBL\" style=\"text-align:right;\">"
"%s"
"</th>"
"</tr>",
Txt_Institution,
TxtFigure);
for (NumIns = 0;
NumIns < NumInss;
NumIns++)
{
/***** Get next institution *****/
row = mysql_fetch_row (mysql_res);
/***** Get data of this institution (row[0]) *****/
Ins.InsCod = Str_ConvertStrCodToLongCod (row[0]);
if (!Ins_GetDataOfInstitutionByCod (&Ins,Ins_GET_MINIMAL_DATA))
Lay_ShowErrorAndExit ("Institution not found.");
/***** Write link to institution *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\" style=\"text-align:left;\">",
The_ClassFormul[Gbl.Prefs.Theme]);
Act_FormStart (ActSeeInsInf);
Ins_PutParamInsCod (Ins.InsCod);
Act_LinkFormSubmit (Ins.ShortName,The_ClassFormul[Gbl.Prefs.Theme]);
Log_DrawLogo (Sco_SCOPE_INS,Ins.InsCod,Ins.ShortName,
32,NULL,true);
fprintf (Gbl.F.Out,"&nbsp;%s</a>",Ins.FullName);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
/***** Write number of centres (row[1]) *****/
fprintf (Gbl.F.Out,"<td class=\"DAT\" style=\"text-align:right;\">"
"%s"
"</td></tr>",
row[1]);
}
}
/* Free structure that stores the query result */
DB_FreeMySQLResult (&mysql_res);
}
/*****************************************************************************/
/************************* Get total number of users *************************/
/*****************************************************************************/

View File

@ -86,12 +86,13 @@ typedef enum
Sta_ACC_GBL_PER_COURSE = 20,
} Sta_ClicksStatType_t;
#define Sta_NUM_TYPES_USE_STATS 20
#define Sta_NUM_TYPES_USE_STATS 21
typedef enum
{
Sta_USERS, // Number of users
Sta_USERS_RANKING, // Users' ranking
Sta_HIERARCHY, // Number of countries, institutions, centres, degrees and courses
Sta_INSTITUTIONS, // Number of users in each institution
Sta_SOCIAL_NETWORKS, // Number of users in social networks
Sta_FOLDERS_AND_FILES, // Number of folders and files
Sta_OER, // Number of OERs (Open Educational Resources)

View File

@ -36045,7 +36045,7 @@ const char *Txt_STAT_TYPE_COUNT_SMALL[Sta_NUM_STAT_COUNT_TYPES] =
const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
{
#if L==0
#if L==0 // Sta_USERS
"Usuaris"
#elif L==1
"Benutzer"
@ -36065,7 +36065,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Utilizadores"
#endif
,
#if L==0
#if L==0 // Sta_USERS_RANKING
"R&agrave;nquing"
#elif L==1
"Rang"
@ -36085,7 +36085,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Posi&ccedil;&atilde;o"
#endif
,
#if L==0
#if L==0 // Sta_HIERARCHY
"Jerarquia"
#elif L==1
"Hierarchie"
@ -36105,7 +36105,27 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Hierarquia"
#endif
,
#if L==0
#if L==0 // Sta_INSTITUTIONS
"Institucions"
#elif L==1
"Hochschulen"
#elif L==2
"Institutions"
#elif L==3
"Instituciones"
#elif L==4
"&Eacute;tablissements"
#elif L==5
"Mbo'ehao"
#elif L==6
"Istituzioni"
#elif L==7
"Instytucje"
#elif L==8
"Institu&ccedil;&otilde;es"
#endif
,
#if L==0 // Sta_SOCIAL_NETWORKS
"Webs / xarxes socials"
#elif L==1
"Webs / Social Networks"
@ -36125,7 +36145,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Webs / redes sociais"
#endif
,
#if L==0
#if L==0 // Sta_FOLDERS_AND_FILES
"Carpetes i fitxers"
#elif L==1
"Verzeichnisse und Dateien"
@ -36145,7 +36165,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Diret&oacute;rios e arquivos"
#endif
,
#if L==0
#if L==0 // Sta_OER
"Recursos Educatius Oberts (OER)"
#elif L==1
"Open Educational Resources (OER)"
@ -36165,7 +36185,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Recursos Educacionais Abertos (OER)"
#endif
,
#if L==0
#if L==0 // Sta_ASSIGNMENTS
"Activitats"
#elif L==1
"Aufgaben"
@ -36185,7 +36205,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Atividades"
#endif
,
#if L==0
#if L==0 // Sta_TESTS
"Tests"
#elif L==1
"Tests"
@ -36205,7 +36225,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Testes"
#endif
,
#if L==0
#if L==0 // Sta_NOTIFY_EVENTS
"Notificacions"
#elif L==1
"Anmeldungen"
@ -36225,7 +36245,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Notifica&ccedil;&otilde;es"
#endif
,
#if L==0
#if L==0 // Sta_NOTICES
"Avisos"
#elif L==1
"Ank&uuml;ndigungen"
@ -36245,7 +36265,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Avisos"
#endif
,
#if L==0
#if L==0 // Sta_MESSAGES
"Missatges"
#elif L==1
"Nachrichten"
@ -36265,7 +36285,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Mensagens"
#endif
,
#if L==0
#if L==0 // Sta_FORUMS
"F&ograve;rums"
#elif L==1
"Foren"
@ -36285,7 +36305,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"F&oacute;runs"
#endif
,
#if L==0
#if L==0 // Sta_SURVEYS
"Enquestes"
#elif L==1
"Umfragen"
@ -36305,7 +36325,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Inqu&eacute;ritos"
#endif
,
#if L==0
#if L==0 // Sta_PRIVACY
"Privacitat"
#elif L==1
"Geheimhaltung"
@ -36325,7 +36345,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Privacidade"
#endif
,
#if L==0
#if L==0 // Sta_LANGUAGES
"Idioma"
#elif L==1
"Sprache"
@ -36345,7 +36365,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Lingua"
#endif
,
#if L==0
#if L==0 // Sta_LAYOUTS
"Disseny"
#elif L==1
"layout"
@ -36365,7 +36385,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Layout"
#endif
,
#if L==0
#if L==0 // Sta_THEMES
"Tema (colors)"
#elif L==1
"Skin"
@ -36385,7 +36405,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Skin"
#endif
,
#if L==0
#if L==0 // Sta_ICON_SETS
"Icones"
#elif L==1
"Symbole"
@ -36405,7 +36425,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"&Iacute;cones"
#endif
,
#if L==0
#if L==0 // Sta_MENUS
"Men&uacute;"
#elif L==1
"Men&uuml;"
@ -36425,7 +36445,7 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_TYPES_USE_STATS] =
"Menu"
#endif
,
#if L==0
#if L==0 // Sta_SIDE_COLUMNS
"Columnes"
#elif L==1
"Spalten"