From e8fa04ae436c8f9a0b28a8e647f6480a8847ef0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Sun, 17 Sep 2017 18:22:36 +0200 Subject: [PATCH] Version 17.2.1 --- swad_changelog.h | 3 +- swad_game.c | 14 ++-- swad_game.h | 4 +- swad_help_URL.c | 84 ++++++++++++++----- swad_project.c | 2 +- swad_statistic.c | 146 +++++++++++++++++++++++++++++--- swad_statistic.h | 6 +- swad_text.c | 212 ++++++++++++++++++++++++++++++++++++++++++----- 8 files changed, 401 insertions(+), 70 deletions(-) diff --git a/swad_changelog.h b/swad_changelog.h index 5339a5cc7..35e1bd6fd 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -252,13 +252,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 17.2 (2017-09-17)" +#define Log_PLATFORM_VERSION "SWAD 17.2.1 (2017-09-17)" #define CSS_FILE "swad17.0.css" #define JS_FILE "swad16.206.3.js" // 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 17.2.1: Sep 17, 2017 New option for projects. Not finished. (229884 lines) Version 17.2: Sep 17, 2017 New option for projects. Not finished. (229575 lines) 12 changes necessary in database: CREATE TABLE IF NOT EXISTS projects (PrjCod INT NOT NULL AUTO_INCREMENT,CrsCod INT NOT NULL DEFAULT -1,Hidden ENUM('N','Y') NOT NULL DEFAULT 'N',NumNotif INT NOT NULL DEFAULT 0,UsrCod INT NOT NULL,StartTime DATETIME NOT NULL,EndTime DATETIME NOT NULL,Title VARCHAR(2047) NOT NULL,Folder VARBINARY(255) NOT NULL,Txt TEXT NOT NULL,UNIQUE INDEX(PrjCod),INDEX(CrsCod,Hidden)); diff --git a/swad_game.c b/swad_game.c index 47501d229..b71254267 100644 --- a/swad_game.c +++ b/swad_game.c @@ -326,7 +326,7 @@ static void Gam_PutIconsListGames (void) Gam_PutIconToCreateNewGame (); /***** Put icon to show a figure *****/ - Gbl.Stat.FigureType = Sta_SURVEYS; + Gbl.Stat.FigureType = Sta_GAMES; Sta_PutIconToShowFigure (); } @@ -3821,10 +3821,9 @@ static unsigned Gam_GetNumUsrsWhoHaveAnsweredGame (long GamCod) /*****************************************************************************/ /********************* Get number of courses with games **********************/ /*****************************************************************************/ -// Returns the number of courses with games for courses -// in this location (all the platform, current degree or current course) +// Returns the number of courses with games in this location -unsigned Gam_GetNumCoursesWithCrsGames (Sco_Scope_t Scope) +unsigned Gam_GetNumCoursesWithGames (Sco_Scope_t Scope) { extern const char *Sco_ScopeDB[Sco_NUM_SCOPES]; char Query[1024]; @@ -3908,12 +3907,11 @@ unsigned Gam_GetNumCoursesWithCrsGames (Sco_Scope_t Scope) } /*****************************************************************************/ -/********************* Get number of games for courses ***********************/ +/**************************** Get number of games ****************************/ /*****************************************************************************/ -// Returns the number of games for courses -// in this location (all the platform, current degree or current course) +// Returns the number of games in this location -unsigned Gam_GetNumCrsGames (Sco_Scope_t Scope) +unsigned Gam_GetNumGames (Sco_Scope_t Scope) { extern const char *Sco_ScopeDB[Sco_NUM_SCOPES]; char Query[1024]; diff --git a/swad_game.h b/swad_game.h index 7d7d98871..045b2c26c 100644 --- a/swad_game.h +++ b/swad_game.h @@ -128,8 +128,8 @@ void Gam_ReceiveGameAnswers (void); void Gam_PlayGameNextQuestion (void); void Gam_PlayGameShowAnswers (void); -unsigned Gam_GetNumCoursesWithCrsGames (Sco_Scope_t Scope); -unsigned Gam_GetNumCrsGames (Sco_Scope_t Scope); +unsigned Gam_GetNumCoursesWithGames (Sco_Scope_t Scope); +unsigned Gam_GetNumGames (Sco_Scope_t Scope); float Gam_GetNumQstsPerCrsGame (Sco_Scope_t Scope); #endif diff --git a/swad_help_URL.c b/swad_help_URL.c index 3cec02cae..50438ea0d 100644 --- a/swad_help_URL.c +++ b/swad_help_URL.c @@ -2532,6 +2532,27 @@ const char *Hlp_STATS_Figures_assignments = "STATS.Figures.en#assignments"; #endif +const char *Hlp_STATS_Figures_projects = +#if L==1 + "STATS.Figures.es#proyectos"; +#elif L==2 + "STATS.Figures.en#projects"; +#elif L==3 + "STATS.Figures.en#projects"; +#elif L==4 + "STATS.Figures.es#proyectos"; +#elif L==5 + "STATS.Figures.en#projects"; +#elif L==6 + "STATS.Figures.es#proyectos"; +#elif L==7 + "STATS.Figures.en#projects"; +#elif L==8 + "STATS.Figures.en#projects"; +#elif L==9 + "STATS.Figures.en#projects"; +#endif + const char *Hlp_STATS_Figures_tests = #if L==1 "STATS.Figures.es#tests"; @@ -2553,6 +2574,48 @@ const char *Hlp_STATS_Figures_tests = "STATS.Figures.en#tests"; #endif +const char *Hlp_STATS_Figures_games = +#if L==1 + "STATS.Figures.es#juegos"; +#elif L==2 + "STATS.Figures.en#games"; +#elif L==3 + "STATS.Figures.en#games"; +#elif L==4 + "STATS.Figures.es#juegos"; +#elif L==5 + "STATS.Figures.en#games"; +#elif L==6 + "STATS.Figures.es#juegos"; +#elif L==7 + "STATS.Figures.en#games"; +#elif L==8 + "STATS.Figures.en#games"; +#elif L==9 + "STATS.Figures.en#games"; +#endif + +const char *Hlp_STATS_Figures_surveys = +#if L==1 + "STATS.Figures.es#encuestas"; +#elif L==2 + "STATS.Figures.en#surveys"; +#elif L==3 + "STATS.Figures.en#surveys"; +#elif L==4 + "STATS.Figures.es#encuestas"; +#elif L==5 + "STATS.Figures.en#surveys"; +#elif L==6 + "STATS.Figures.es#encuestas"; +#elif L==7 + "STATS.Figures.en#surveys"; +#elif L==8 + "STATS.Figures.en#surveys"; +#elif L==9 + "STATS.Figures.en#surveys"; +#endif + const char *Hlp_STATS_Figures_timeline = #if L==1 "STATS.Figures.es#timeline"; @@ -2679,27 +2742,6 @@ const char *Hlp_STATS_Figures_messages = "STATS.Figures.en#messages"; #endif -const char *Hlp_STATS_Figures_surveys = -#if L==1 - "STATS.Figures.es#encuestas"; -#elif L==2 - "STATS.Figures.en#surveys"; -#elif L==3 - "STATS.Figures.en#surveys"; -#elif L==4 - "STATS.Figures.es#encuestas"; -#elif L==5 - "STATS.Figures.en#surveys"; -#elif L==6 - "STATS.Figures.es#encuestas"; -#elif L==7 - "STATS.Figures.en#surveys"; -#elif L==8 - "STATS.Figures.en#surveys"; -#elif L==9 - "STATS.Figures.en#surveys"; -#endif - const char *Hlp_STATS_Figures_webs_social_networks = #if L==1 "STATS.Figures.es#webs--redes-sociales"; diff --git a/swad_project.c b/swad_project.c index d821091d6..38285bd52 100644 --- a/swad_project.c +++ b/swad_project.c @@ -260,7 +260,7 @@ static void Prj_PutIconsListProjects (void) Prj_PutIconToCreateNewPrj (); /***** Put icon to show a figure *****/ - Gbl.Stat.FigureType = Sta_ASSIGNMENTS; + Gbl.Stat.FigureType = Sta_PROJECTS; Sta_PutIconToShowFigure (); } diff --git a/swad_statistic.c b/swad_statistic.c index 3f87b1e00..d23ca46a2 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -41,6 +41,7 @@ #include "swad_file_browser.h" #include "swad_follow.h" #include "swad_forum.h" +#include "swad_game.h" #include "swad_global.h" #include "swad_ID.h" #include "swad_logo.h" @@ -49,6 +50,7 @@ #include "swad_notification.h" #include "swad_parameter.h" #include "swad_profile.h" +#include "swad_project.h" #include "swad_social.h" #include "swad_statistic.h" #include "swad_tab.h" @@ -220,7 +222,9 @@ static void Sta_GetAndShowOERsStats (void); static void Sta_GetNumberOfOERsFromDB (Sco_Scope_t Scope,Brw_License_t License,unsigned long NumFiles[2]); static void Sta_GetAndShowAssignmentsStats (void); +static void Sta_GetAndShowProjectsStats (void); static void Sta_GetAndShowTestsStats (void); +static void Sta_GetAndShowGamesStats (void); static void Sta_GetAndShowSocialActivityStats (void); static void Sta_GetAndShowFollowStats (void); @@ -4030,14 +4034,16 @@ void Sta_ShowFigures (void) Sta_GetAndShowFileBrowsersStats, // Sta_FOLDERS_AND_FILES Sta_GetAndShowOERsStats, // Sta_OER Sta_GetAndShowAssignmentsStats, // Sta_ASSIGNMENTS + Sta_GetAndShowProjectsStats, // Sta_PROJECTS Sta_GetAndShowTestsStats, // Sta_TESTS + Sta_GetAndShowGamesStats, // Sta_GAMES + Sta_GetAndShowSurveysStats, // Sta_SURVEYS Sta_GetAndShowSocialActivityStats, // Sta_SOCIAL_ACTIVITY Sta_GetAndShowFollowStats, // Sta_FOLLOW Sta_GetAndShowForumStats, // Sta_FORUMS Sta_GetAndShowNumUsrsPerNotifyEvent, // Sta_NOTIFY_EVENTS Sta_GetAndShowNoticesStats, // Sta_NOTICES Sta_GetAndShowMsgsStats, // Sta_MESSAGES - Sta_GetAndShowSurveysStats, // Sta_SURVEYS Net_ShowWebAndSocialNetworksStats, // Sta_SOCIAL_NETWORKS Sta_GetAndShowNumUsrsPerLanguage, // Sta_LANGUAGES Sta_GetAndShowNumUsrsPerFirstDayOfWeek, // Sta_FIRST_DAY_OF_WEEK @@ -6727,8 +6733,7 @@ static void Sta_GetAndShowAssignmentsStats (void) unsigned NumCoursesWithAssignments = 0; float NumAssignmentsPerCourse = 0.0; - /***** Get the number of assignments from this location - (all the platform, current degree or current course) *****/ + /***** Get the number of assignments from this location *****/ if ((NumAssignments = Asg_GetNumAssignments (Gbl.Scope.Current,&NumNotif))) if ((NumCoursesWithAssignments = Asg_GetNumCoursesWithAssignments (Gbl.Scope.Current)) != 0) NumAssignmentsPerCourse = (float) NumAssignments / (float) NumCoursesWithAssignments; @@ -6781,6 +6786,66 @@ static void Sta_GetAndShowAssignmentsStats (void) Box_EndBoxTable (); } +/*****************************************************************************/ +/************************* Show stats about projects *************************/ +/*****************************************************************************/ + +static void Sta_GetAndShowProjectsStats (void) + { + extern const char *Hlp_STATS_Figures_projects; + extern const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_FIGURES]; + extern const char *Txt_Number_of_BR_projects; + extern const char *Txt_Number_of_BR_courses_with_BR_projects; + extern const char *Txt_Average_number_BR_of_projects_BR_per_course; + unsigned NumProjects; + unsigned NumCoursesWithProjects = 0; + float NumProjectsPerCourse = 0.0; + + /***** Get the number of projects from this location *****/ + if ((NumProjects = Prj_GetNumProjects (Gbl.Scope.Current))) + if ((NumCoursesWithProjects = Prj_GetNumCoursesWithProjects (Gbl.Scope.Current)) != 0) + NumProjectsPerCourse = (float) NumProjects / (float) NumCoursesWithProjects; + + /***** Start box and table *****/ + Box_StartBoxTable (NULL,Txt_STAT_USE_STAT_TYPES[Sta_PROJECTS],NULL, + Hlp_STATS_Figures_projects,Box_NOT_CLOSABLE,2); + + /***** Write table heading *****/ + fprintf (Gbl.F.Out,"" + "" + "%s" + "" + "" + "%s" + "" + "" + "%s" + "" + "", + Txt_Number_of_BR_projects, + Txt_Number_of_BR_courses_with_BR_projects, + Txt_Average_number_BR_of_projects_BR_per_course); + + /***** Write number of projects *****/ + fprintf (Gbl.F.Out,"" + "" + "%u" + "" + "" + "%u" + "" + "" + "%.2f" + "" + "", + NumProjects, + NumCoursesWithProjects, + NumProjectsPerCourse); + + /***** End table and box *****/ + Box_EndBoxTable (); + } + /*****************************************************************************/ /********************** Show stats about test questions **********************/ /*****************************************************************************/ @@ -6851,8 +6916,7 @@ static void Sta_GetAndShowTestsStats (void) AnsType < Tst_NUM_ANS_TYPES; AnsType++) { - /***** Get the stats about test questions from this location - (all the platform, current degree or current course) *****/ + /***** Get the stats about test questions from this location *****/ Tst_GetTestStats (AnsType,&Stats); /***** Write number of assignments *****/ @@ -6899,8 +6963,7 @@ static void Sta_GetAndShowTestsStats (void) Stats.AvgScorePerQuestion); } - /***** Get the stats about test questions from this location - (all the platform, current degree or current course) *****/ + /***** Get the stats about test questions from this location *****/ Tst_GetTestStats (Tst_ANS_ALL,&Stats); /***** Write number of assignments *****/ @@ -6950,6 +7013,67 @@ static void Sta_GetAndShowTestsStats (void) Box_EndBoxTable (); } +/*****************************************************************************/ +/*************************** Show stats about games **************************/ +/*****************************************************************************/ + +static void Sta_GetAndShowGamesStats (void) + { + extern const char *Hlp_STATS_Figures_games; + extern const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_FIGURES]; + extern const char *Txt_Number_of_BR_games; + extern const char *Txt_Number_of_BR_courses_with_BR_games; + extern const char *Txt_Average_number_BR_of_games_BR_per_course; + unsigned NumGames; + unsigned NumNotif; + unsigned NumCoursesWithGames = 0; + float NumGamesPerCourse = 0.0; + + /***** Get the number of games from this location *****/ + if ((NumGames = Gam_GetNumGames (Gbl.Scope.Current))) + if ((NumCoursesWithGames = Gam_GetNumCoursesWithGames (Gbl.Scope.Current)) != 0) + NumGamesPerCourse = (float) NumGames / (float) NumCoursesWithGames; + + /***** Start box and table *****/ + Box_StartBoxTable (NULL,Txt_STAT_USE_STAT_TYPES[Sta_GAMES],NULL, + Hlp_STATS_Figures_games,Box_NOT_CLOSABLE,2); + + /***** Write table heading *****/ + fprintf (Gbl.F.Out,"" + "" + "%s" + "" + "" + "%s" + "" + "" + "%s" + "" + "", + Txt_Number_of_BR_games, + Txt_Number_of_BR_courses_with_BR_games, + Txt_Average_number_BR_of_games_BR_per_course); + + /***** Write number of games *****/ + fprintf (Gbl.F.Out,"" + "" + "%u" + "" + "" + "%u" + "" + "" + "%.2f" + "" + "", + NumGames, + NumCoursesWithGames, + NumGamesPerCourse); + + /***** End table and box *****/ + Box_EndBoxTable (); + } + /*****************************************************************************/ /******************** Get and show number of social notes ********************/ /*****************************************************************************/ @@ -8210,8 +8334,7 @@ static void Sta_GetAndShowNoticesStats (void) unsigned NumNotif; unsigned NumTotalNotifications = 0; - /***** Get the number of notices active and obsolete - from this location (all the platform, current degree or current course) *****/ + /***** Get the number of notices active and obsolete *****/ for (NoticeStatus = (Not_Status_t) 0; NoticeStatus < Not_NUM_STATUS; NoticeStatus++) @@ -8299,7 +8422,7 @@ static void Sta_GetAndShowMsgsStats (void) unsigned NumMsgsReceivedNotDeleted,NumMsgsReceivedAndDeleted; unsigned NumMsgsReceivedAndNotified; - /***** Get the number of unique messages sent from this location (all the platform, current degree or current course) *****/ + /***** Get the number of unique messages sent from this location *****/ NumMsgsSentNotDeleted = Msg_GetNumMsgsSent (Gbl.Scope.Current,Msg_STATUS_ALL ); NumMsgsSentDeleted = Msg_GetNumMsgsSent (Gbl.Scope.Current,Msg_STATUS_DELETED ); @@ -8403,8 +8526,7 @@ static void Sta_GetAndShowSurveysStats (void) float NumSurveysPerCourse = 0.0; float NumQstsPerSurvey = 0.0; - /***** Get the number of surveys and the average number of questions per survey from this location - (all the platform, current degree or current course) *****/ + /***** Get the number of surveys and the average number of questions per survey from this location *****/ if ((NumSurveys = Svy_GetNumCrsSurveys (Gbl.Scope.Current,&NumNotif))) { if ((NumCoursesWithSurveys = Svy_GetNumCoursesWithCrsSurveys (Gbl.Scope.Current)) != 0) diff --git a/swad_statistic.h b/swad_statistic.h index dd6237059..3520e2953 100644 --- a/swad_statistic.h +++ b/swad_statistic.h @@ -104,7 +104,7 @@ typedef enum } Sta_ClicksGroupedBy_t; #define Sta_CLICKS_GROUPED_BY_DEFAULT Sta_CLICKS_CRS_PER_USR -#define Sta_NUM_FIGURES 25 +#define Sta_NUM_FIGURES 27 typedef enum { Sta_USERS, // Number of users @@ -115,14 +115,16 @@ typedef enum Sta_FOLDERS_AND_FILES, // Number of folders and files Sta_OER, // Number of OERs (Open Educational Resources) Sta_ASSIGNMENTS, // Number of assignments + Sta_PROJECTS, // Number of projects Sta_TESTS, // Number of test questions + Sta_GAMES, // Number of games + Sta_SURVEYS, // Number of surveys Sta_SOCIAL_ACTIVITY, // Number of social notes Sta_FOLLOW, // Number of following and followers Sta_FORUMS, // Number of forums, threads and posts Sta_NOTIFY_EVENTS, // Number of users per notify event Sta_NOTICES, // Number of notices Sta_MESSAGES, // Number of users' (sent and received) messages - Sta_SURVEYS, // Number of surveys Sta_SOCIAL_NETWORKS, // Number of users in social networks Sta_LANGUAGES, // Number of users per language Sta_FIRST_DAY_OF_WEEK, // Number of users per first day of week diff --git a/swad_text.c b/swad_text.c index 97e6483c4..29ddb7f94 100644 --- a/swad_text.c +++ b/swad_text.c @@ -3540,6 +3540,48 @@ const char *Txt_Average_number_BR_of_ASSIG_BR_per_course = "Nº medio
de atividades
por disciplina"; #endif +const char *Txt_Average_number_BR_of_games_BR_per_course = +#if L==1 + "Nombre mitj´
de jocs
per assignatura"; +#elif L==2 + "Durchschnittliche Anzahl
von Spiele
pro Kurs"; +#elif L==3 + "Average number
of games
per course"; +#elif L==4 + "Nº medio
de juegos
por asignatura"; +#elif L==5 + "Nombre moyen
de jeux
par matière"; +#elif L==6 + "Nº medio
de juegos
por asignatura"; // Okoteve traducción +#elif L==7 + "Numero medio
di giochi
per corso"; +#elif L==8 + "Średnia liczba
gry
na kurs"; +#elif L==9 + "Nº medio
de jogos
por disciplina"; +#endif + +const char *Txt_Average_number_BR_of_projects_BR_per_course = +#if L==1 + "Nombre mitj´
de projectes
per assignatura"; +#elif L==2 + "Durchschnittliche Anzahl
von Projekte
pro Kurs"; +#elif L==3 + "Average number
of projects
per course"; +#elif L==4 + "Nº medio
de proyectos
por asignatura"; +#elif L==5 + "Nombre moyen
de projets
par matière"; +#elif L==6 + "Nº medio
de proyectos
por asignatura"; // Okoteve traducción +#elif L==7 + "Numero medio
di progetti
per corso"; +#elif L==8 + "Średnia liczba
projekty
na kurs"; +#elif L==9 + "Nº medio
de projetos
por disciplina"; +#endif + const char *Txt_Average_number_BR_of_questions_BR_per_survey = #if L==1 "Nombre mitj´
de preguntes
per enquesta"; @@ -27990,6 +28032,48 @@ const char *Txt_Number_of_BR_courses_with_BR_exportable_BR_test_BR_questions = "Nº de
disciplinas
com questões
de test
exportáveis"; #endif +const char *Txt_Number_of_BR_courses_with_BR_games = +#if L==1 + "Nombre
d'assignatures
amb jocs"; +#elif L==2 + "Anzahl der
Kursen
mit Spiele"; +#elif L==3 + "Number of
courses with
games"; +#elif L==4 + "Nº de
asignaturas
con juegos"; +#elif L==5 + "Nombre de
matières
avec jeux"; +#elif L==6 + "Nº de
asignaturas
con juegos"; // Okoteve traducción +#elif L==7 + "Numero di
corsi con
giochi"; +#elif L==8 + "Liczba
kursów z
gry"; +#elif L==9 + "Nº de
disciplinas
com jogos"; +#endif + +const char *Txt_Number_of_BR_courses_with_BR_projects = +#if L==1 + "Nombre
d'assignatures
amb projectes"; +#elif L==2 + "Anzahl der
Kursen
mit Projekte"; +#elif L==3 + "Number of
courses with
projects"; +#elif L==4 + "Nº de
asignaturas
con proyectos"; +#elif L==5 + "Nombre de
matières
avec projets"; +#elif L==6 + "Nº de
asignaturas
con proyectos"; // Okoteve traducción +#elif L==7 + "Numero di
corsi con
progetti"; +#elif L==8 + "Liczba
kursów z
projekty"; +#elif L==9 + "Nº de
disciplinas
com projetos"; +#endif + const char *Txt_Number_of_BR_courses_BR_with_test_BR_questions = #if L==1 "Nombre
d'assignatures
amb preguntes
de test"; @@ -28034,7 +28118,7 @@ const char *Txt_Number_of_BR_courses_with_BR_surveys = const char *Txt_Number_of_BR_events = #if L==1 - "Nº de
eventos"; // Necessita traduccio + "Nº d'
esdeveniments."; #elif L==2 "Anzahl der
Ereignisse"; #elif L==3 @@ -28074,6 +28158,27 @@ const char *Txt_Number_of_BR_emails = "Número de
emails"; #endif +const char *Txt_Number_of_BR_games = +#if L==1 + "Nombre
de jocs."; +#elif L==2 + "Anzahl der
Spiele"; +#elif L==3 + "Number of
games"; +#elif L==4 + "Nº de
juegos"; +#elif L==5 + "Nombre
de jeux"; +#elif L==6 + "Nº de
juegos"; // Okoteve traducción +#elif L==7 + "Numero di
giochi"; +#elif L==8 + "Liczba
gier."; +#elif L==9 + "Número de
jogos"; +#endif + const char *Txt_Number_of_BR_notifications = #if L==1 "Nombre de
notificacions"; @@ -28095,6 +28200,27 @@ const char *Txt_Number_of_BR_notifications = "Número de
notificações"; #endif +const char *Txt_Number_of_BR_projects = +#if L==1 + "Nombre
de projectes."; +#elif L==2 + "Anzahl der
Projekte"; +#elif L==3 + "Number of
projects"; +#elif L==4 + "Nº de
proyectos"; +#elif L==5 + "Nombre
de projets"; +#elif L==6 + "Nº de
proyectos"; // Okoteve traducción +#elif L==7 + "Numero di
progetti"; +#elif L==8 + "Liczba
projektów."; +#elif L==9 + "Número de
projetos"; +#endif + const char *Txt_Number_of_students = #if L==1 "Nombre d'estudiants"; @@ -40637,11 +40763,31 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_FIGURES] = #elif L==7 "Attività" #elif L==8 - "Assignments" // Potrzebujesz tlumaczenie + "Zadania" #elif L==9 "Atividades" #endif , +#if L==1 // Sta_PROJECTS + "Projectes" +#elif L==2 + "Projekte" +#elif L==3 + "Projects" +#elif L==4 + "Proyectos" +#elif L==5 + "Projets" +#elif L==6 + "Proyectos" // Okoteve traducción +#elif L==7 + "Progetti" +#elif L==8 + "Projekty" +#elif L==9 + "Projetos" +#endif + , #if L==1 // Sta_TESTS "Tests" #elif L==2 @@ -40657,11 +40803,51 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_FIGURES] = #elif L==7 "Test" #elif L==8 - "Tests" // Potrzebujesz tlumaczenie + "Testy" #elif L==9 "Testes" #endif , +#if L==1 // Sta_GAMES + "Jocs" +#elif L==2 + "Spiele" +#elif L==3 + "Games" +#elif L==4 + "Juegos" +#elif L==5 + "Jeux" +#elif L==6 + "Juegos" // Okoteve traducción +#elif L==7 + "Giochi" +#elif L==8 + "Gry" +#elif L==9 + "Jogos" +#endif + , +#if L==1 // Sta_SURVEYS + "Enquestes" +#elif L==2 + "Umfragen" +#elif L==3 + "Surveys" +#elif L==4 + "Encuestas" +#elif L==5 + "Sondages" +#elif L==6 + "Encuestas" // Okoteve traducción +#elif L==7 + "Sondaggi" +#elif L==8 + "Badania" +#elif L==9 + "Inquéritos" +#endif + , #if L==1 // Sta_SOCIAL_ACTIVITY "Timeline" #elif L==2 @@ -40782,26 +40968,6 @@ const char *Txt_STAT_USE_STAT_TYPES[Sta_NUM_FIGURES] = "Mensagens" #endif , -#if L==1 // Sta_SURVEYS - "Enquestes" -#elif L==2 - "Umfragen" -#elif L==3 - "Surveys" -#elif L==4 - "Encuestas" -#elif L==5 - "Sondages" -#elif L==6 - "Encuestas" // Okoteve traducción -#elif L==7 - "Sondaggi" -#elif L==8 - "Badania" -#elif L==9 - "Inquéritos" -#endif - , #if L==1 // Sta_SOCIAL_NETWORKS "Webs / xarxes socials" #elif L==2