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