Version 22.32: Sep 29, 2022 Code refactoring in program resources, assignments and projects.

This commit is contained in:
acanas 2022-09-29 00:04:41 +02:00
parent 051849f6e6
commit 5c093ff11e
18 changed files with 153 additions and 87 deletions

View File

@ -627,7 +627,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActUnlAllPrj ] = {1778,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_UnloSelectedPrjsEdition ,NULL},
[ActFrmNewPrj ] = {1675,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RequestCreatePrj ,NULL},
[ActEdiOnePrj ] = {1676,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RequestEditPrj ,NULL},
[ActSeeOnePrj ] = {1949,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ShowProjectWithFileBrowser ,NULL},
[ActSeeOnePrj ] = {1949,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileBrowserOrWorks ,NULL},
[ActPrnOnePrj ] = {1677,-1,TabUnk,ActSeePrj ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Prj_PrintOneProject ,NULL},
[ActNewPrj ] = {1678,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReceiveFormProject ,NULL},
[ActChgPrj ] = {1679,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReceiveFormProject ,NULL},

View File

@ -284,9 +284,20 @@ static void Asg_PutIconsListAssignments (void *Assignments)
{
/***** Put icon to create a new assignment *****/
if (Assignments)
{
if (Asg_CheckIfICanCreateAssignments ())
Asg_PutIconToCreateNewAsg (Assignments);
/***** Link to get resource link *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_TCH || // Only if I am a teacher
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) // or a superuser
{
((struct Asg_Assignments *) Assignments)->AsgCod = -1L;
Ico_PutContextualIconToGetLink (ActReqLnkAsg,NULL,
Asg_PutParams,Assignments);
}
}
/***** Put icon to show a figure *****/
Fig_PutIconToShowFigure (Fig_ASSIGNMENTS);
}

View File

@ -53,8 +53,7 @@ void AsgRsc_GetLinkToAssignment (void)
Assignments.CurrentPage = Pag_GetParamPagNum (Pag_ASSIGNMENTS);
/***** Get assignment code *****/
if ((Assignments.AsgCod = Asg_GetParamAsgCod ()) <= 0)
Err_WrongAssignmentExit ();
Assignments.AsgCod = Asg_GetParamAsgCod ();
/***** Get assignment title *****/
AsgRsc_GetTitleFromAsgCod (Assignments.AsgCod,Title,sizeof (Title) - 1);
@ -67,7 +66,8 @@ void AsgRsc_GetLinkToAssignment (void)
Title);
/***** Show selected assignment in a box *****/
Asg_ShowOneAssignmentInBox (&Assignments);
if (Assignments.AsgCod > 0)
Asg_ShowOneAssignmentInBox (&Assignments);
/***** Show current assignments, if any *****/
Asg_ShowAllAssignments (&Assignments);
@ -126,6 +126,7 @@ void AsgRsc_WriteAssignmentInCrsProgram (long AsgCod,bool PutFormToGo,
void AsgRsc_GetTitleFromAsgCod (long AsgCod,char *Title,size_t TitleSize)
{
extern const char *Txt_Assignments;
char TitleFromDB[Asg_MAX_BYTES_ASSIGNMENT_TITLE + 1];
if (AsgCod > 0)
@ -135,5 +136,6 @@ void AsgRsc_GetTitleFromAsgCod (long AsgCod,char *Title,size_t TitleSize)
Str_Copy (Title,TitleFromDB,TitleSize);
}
else
Str_Copy (Title,"?",TitleSize);
/***** Generic title for all assignments *****/
Str_Copy (Title,Txt_Assignments,TitleSize);
}

View File

@ -112,6 +112,7 @@ void AttRsc_WriteAttEventInCrsProgram (long AttCod,bool PutFormToGo,
void AttRsc_GetTitleFromAttCod (long AttCod,char *Title,size_t TitleSize)
{
extern const char *Txt_Control_of_class_attendance;
char TitleFromDB[Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE + 1];
if (AttCod > 0)
@ -121,5 +122,6 @@ void AttRsc_GetTitleFromAttCod (long AttCod,char *Title,size_t TitleSize)
Str_Copy (Title,TitleFromDB,TitleSize);
}
else
Str_Copy (Title,"?",TitleSize);
/***** Generic title for all attendance events *****/
Str_Copy (Title,Txt_Control_of_class_attendance,TitleSize);
}

View File

@ -1986,7 +1986,10 @@ void Brw_GetParAndInitFileBrowser (void)
Brw_SetFullPathInTree ();
/***** Get other parameters *****/
if (Brw_GetIfCrsAssigWorksFileBrowser ())
if (Brw_GetIfProjectFileBrowser ())
/* Get project code */
Prj_SetPrjCod (Prj_GetParamPrjCod ());
else if (Brw_GetIfCrsAssigWorksFileBrowser ())
{
/* Get lists of the selected users if not already got */
Usr_GetListsSelectedEncryptedUsrsCods (&Gbl.Usrs.Selected);
@ -3320,7 +3323,7 @@ void Brw_ShowAgainFileBrowserOrWorks (void)
else if (Brw_GetIfCrsAssigWorksFileBrowser ())
Brw_ShowFileBrowsersAsgWrkCrs ();
else if (Brw_GetIfProjectFileBrowser ())
Prj_ShowProjectWithFileBrowser ();
Prj_ShowOneProject ();
else
Brw_ShowFileBrowserNormal ();

View File

@ -196,25 +196,48 @@ void BrwRsc_WriteMrkFileNameInCrsProgram (long FilCod,bool PutFormToGo,
}
/*****************************************************************************/
/********************** Get file name from file code *************************/
/******************** Get document name from file code ***********************/
/*****************************************************************************/
void BrwRsc_GetFileNameFromFilCod (long FilCod,char *FileName,size_t FileNameSize)
void BrwRsc_GetDocTitleFromFilCod (long FilCod,char *Title,size_t TitleSize)
{
extern const char *Txt_Documents;
struct Brw_FileMetadata FileMetadata;
if (FilCod > 0)
{
/***** Return nothing on error *****/
FileName[0] = '\0'; // Return nothing on error
/***** Get file metadata *****/
/***** Get file name *****/
FileMetadata.FilCod = FilCod;
Brw_GetFileMetadataByCod (&FileMetadata);
Brw_GetFileNameByCod (&FileMetadata);
/***** Copy file name into summary string *****/
Str_Copy (FileName,FileMetadata.FilFolLnk.Name,FileNameSize);
/***** Copy file name into title *****/
Str_Copy (Title,FileMetadata.FilFolLnk.Name,TitleSize);
}
else
Str_Copy (FileName,"?",FileNameSize);
/***** Generic title for all documents *****/
Str_Copy (Title,Txt_Documents,TitleSize);
}
/*****************************************************************************/
/******************* Get marks file name from file code **********************/
/*****************************************************************************/
void BrwRsc_GetMrkTitleFromFilCod (long FilCod,char *Title,size_t TitleSize)
{
extern const char *Txt_Marks_area;
struct Brw_FileMetadata FileMetadata;
if (FilCod > 0)
{
/***** Get file name *****/
FileMetadata.FilCod = FilCod;
Brw_GetFileNameByCod (&FileMetadata);
/***** Copy file name into title *****/
Str_Copy (Title,FileMetadata.FilFolLnk.Name,TitleSize);
}
else
/***** Generic title for marks area *****/
Str_Copy (Title,Txt_Marks_area,TitleSize);
}

View File

@ -38,6 +38,7 @@ void BrwRsc_WriteDocFileNameInCrsProgram (long FilCod,bool PutFormToGo,
const char *Icon,const char *IconTitle);
void BrwRsc_WriteMrkFileNameInCrsProgram (long FilCod,bool PutFormToGo,
const char *Icon,const char *IconTitle);
void BrwRsc_GetFileNameFromFilCod (long FilCod,char *FileName,size_t FileNameSize);
void BrwRsc_GetDocTitleFromFilCod (long FilCod,char *Title,size_t TitleSize);
void BrwRsc_GetMrkTitleFromFilCod (long FilCod,char *Title,size_t TitleSize);
#endif

View File

@ -125,6 +125,7 @@ void CfeRsc_WriteCallForExamInCrsProgram (long ExaCod,bool PutFormToGo,
void CfeRsc_GetTitleFromExaCod (long ExaCod,char *Title,size_t TitleSize)
{
extern const char *Txt_Call_for_exam;
extern const char *Txt_Calls_for_exams;
struct Cfe_CallsForExams CallsForExams;
char SessionAndDate[Cfe_MAX_BYTES_SESSION_AND_DATE];
@ -145,5 +146,6 @@ void CfeRsc_GetTitleFromExaCod (long ExaCod,char *Title,size_t TitleSize)
Cfe_FreeMemCallForExam (&CallsForExams);
}
else
Str_Copy (Title,"?",TitleSize);
/***** Generic title for all calls for exams *****/
Str_Copy (Title,Txt_Calls_for_exams,TitleSize);
}

View File

@ -606,10 +606,11 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
TODO: Attach pdf files in multimedia.
*/
#define Log_PLATFORM_VERSION "SWAD 22.31 (2022-09-28)"
#define Log_PLATFORM_VERSION "SWAD 22.32 (2022-09-29)"
#define CSS_FILE "swad22.22.1.css"
#define JS_FILE "swad21.100.js"
/*
Version 22.32: Sep 29, 2022 Code refactoring in program resources, assignments and projects. (332628 lines)
Version 22.31: Sep 28, 2022 New action to view one project.
Code refactoring in program resources. (332570 lines)
Version 22.30: Sep 28, 2022 New module swad_project_resource. (332490 lines)

View File

@ -118,6 +118,7 @@ void ExaRsc_WriteExamInCrsProgram (long ExaCod,bool PutFormToGo,
void ExaRsc_GetTitleFromExaCod (long ExaCod,char *Title,size_t TitleSize)
{
extern const char *Txt_Exams;
char TitleFromDB[Exa_MAX_BYTES_TITLE + 1];
if (ExaCod > 0)
@ -127,5 +128,6 @@ void ExaRsc_GetTitleFromExaCod (long ExaCod,char *Title,size_t TitleSize)
Str_Copy (Title,TitleFromDB,TitleSize);
}
else
Str_Copy (Title,"?",TitleSize);
/***** Generic title for all exams *****/
Str_Copy (Title,Txt_Exams,TitleSize);
}

View File

@ -134,6 +134,7 @@ void ForRsc_WriteThreadInCrsProgram (long ThrCod,bool PutFormToGo,
void ForRsc_GetTitleFromThrCod (long ThrCod,char *Title,size_t TitleSize)
{
extern const char *Txt_Forum;
char Subject[Cns_MAX_BYTES_SUBJECT + 1];
if (ThrCod > 0)
@ -143,5 +144,5 @@ void ForRsc_GetTitleFromThrCod (long ThrCod,char *Title,size_t TitleSize)
Str_Copy (Title,Subject,TitleSize);
}
else
Str_Copy (Title,"?",TitleSize);
Str_Copy (Title,Txt_Forum,TitleSize);
}

View File

@ -30,6 +30,7 @@
#include "swad_form.h"
#include "swad_game.h"
#include "swad_game_database.h"
#include "swad_game_resource.h"
#include "swad_program_database.h"
/*****************************************************************************/
@ -115,6 +116,7 @@ void GamRsc_WriteGameInCrsProgram (long GamCod,bool PutFormToGo,
void GamRsc_GetTitleFromGamCod (long GamCod,char *Title,size_t TitleSize)
{
extern const char *Txt_Games;
char TitleFromDB[Gam_MAX_BYTES_TITLE + 1];
if (GamCod > 0)
@ -124,5 +126,6 @@ void GamRsc_GetTitleFromGamCod (long GamCod,char *Title,size_t TitleSize)
Str_Copy (Title,TitleFromDB,TitleSize);
}
else
Str_Copy (Title,"?",TitleSize);
/***** Generic title for all games *****/
Str_Copy (Title,Txt_Games,TitleSize);
}

View File

@ -1022,7 +1022,7 @@ static void PrgRsc_WriteEmptyLinkInCrsProgram (__attribute__((unused)) long Cod,
}
/*****************************************************************************/
/* Get the title for a new resource from link title */
/************* Get the title for a new resource from link title **************/
/*****************************************************************************/
static void PrgRsc_GetResourceTitleFromLink (struct Prg_Item *Item)
@ -1036,8 +1036,8 @@ static void PrgRsc_GetResourceTitleFromLink (struct Prg_Item *Item)
[PrgRsc_EXAM ] = ExaRsc_GetTitleFromExaCod,
[PrgRsc_GAME ] = GamRsc_GetTitleFromGamCod,
[PrgRsc_SURVEY ] = SvyRsc_GetTitleFromSvyCod,
[PrgRsc_DOCUMENT ] = BrwRsc_GetFileNameFromFilCod,
[PrgRsc_MARKS ] = BrwRsc_GetFileNameFromFilCod,
[PrgRsc_DOCUMENT ] = BrwRsc_GetDocTitleFromFilCod,
[PrgRsc_MARKS ] = BrwRsc_GetMrkTitleFromFilCod,
[PrgRsc_ATTENDANCE_EVENT] = AttRsc_GetTitleFromAttCod,
[PrgRsc_FORUM_THREAD ] = ForRsc_GetTitleFromThrCod,
};

View File

@ -150,8 +150,6 @@ static long Prj_PrjCod = -1L;
/***************************** Private prototypes ****************************/
/*****************************************************************************/
static void Prj_SetPrjCod (long PrjCod);
static void Prj_ReqUsrsToSelect (void *Projects);
static void Prj_GetSelectedUsrsAndShowTheirPrjs (struct Prj_Projects *Projects);
static void Prj_ShowPrjsInCurrentPage (void *Projects);
@ -182,10 +180,10 @@ static void Prj_PutIconToCreateNewPrj (struct Prj_Projects *Projects);
static void Prj_PutButtonToCreateNewPrj (struct Prj_Projects *Projects);
static void Prj_PutIconToShowAllData (struct Prj_Projects *Projects);
static void Prj_ShowOneProject (struct Prj_Projects *Projects,
unsigned NumIndex,
struct Prj_Project *Prj,
Prj_ProjectView_t ProjectView);
static void Prj_ShowProject (struct Prj_Projects *Projects,
unsigned NumIndex,
struct Prj_Project *Prj,
Prj_ProjectView_t ProjectView);
static bool Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults);
static void Prj_PutWarningIcon (void);
static void Prj_PutIconToToggleProject (unsigned UniqueId,
@ -267,7 +265,7 @@ static void Prj_PutIconOffLockedUnlocked (const struct Prj_Project *Prj);
/******* Set/get project code (used to pass parameter to file browser) *******/
/*****************************************************************************/
static void Prj_SetPrjCod (long PrjCod)
void Prj_SetPrjCod (long PrjCod)
{
Prj_PrjCod = PrjCod;
}
@ -383,7 +381,7 @@ static void Prj_GetSelectedUsrsAndShowTheirPrjs (struct Prj_Projects *Projects)
{
Usr_GetSelectedUsrsAndGoToAct (&Gbl.Usrs.Selected,
Prj_ShowPrjsInCurrentPage,Projects, // when user(s) selected
Prj_ReqUsrsToSelect,Projects); // when no user selected
Prj_ReqUsrsToSelect,Projects); // when no user selected
}
/*****************************************************************************/
@ -529,7 +527,7 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
}
/* Show project */
Prj_ShowOneProject ((struct Prj_Projects *) Projects,
Prj_ShowProject ((struct Prj_Projects *) Projects,
NumIndex,&Prj,Prj_LIST_PROJECTS);
}
@ -1143,19 +1141,45 @@ static void Prj_PutIconToShowAllData (struct Prj_Projects *Projects)
}
/*****************************************************************************/
/***** Show a project and (if possible) a file browser with its documents ****/
/************* Show a project followed by the list of projects ***************/
/*****************************************************************************/
void Prj_ShowProjectWithFileBrowser (void)
void Prj_ShowOneProject (void)
{
struct Prj_Projects Projects;
/***** Reset projects *****/
Prj_ResetProjects (&Projects);
/***** Get parameters *****/
Prj_GetParams (&Projects);
Projects.PrjCod = Prj_GetParamPrjCod ();
/***** Show project and (if possible) its file browser *****/
Prj_ShowOneProjectWithFileBrowser (&Projects);
/***** Show projects again *****/
Prj_ShowProjects (&Projects);
}
/*****************************************************************************/
/*** Show one project and (if possible) a file browser with its documents ****/
/*****************************************************************************/
void Prj_ShowOneProjectWithFileBrowser (struct Prj_Projects *Projects)
{
extern const char *Hlp_ASSESSMENT_Projects;
struct Prj_Project Prj;
/***** Trivial check: show project only if code > 0 *****/
if (Projects->PrjCod <= 0)
return;
/***** Allocate memory for the project *****/
Prj_AllocMemProject (&Prj);
/***** Get project data *****/
Prj_SetPrjCod (Prj.PrjCod = Prj_GetParamPrjCod ());
Prj.PrjCod = Projects->PrjCod;
Prj_GetDataOfProjectByCod (&Prj);
/***** Begin box *****/
@ -1163,8 +1187,17 @@ void Prj_ShowProjectWithFileBrowser (void)
NULL,NULL,
Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE);
/***** Show the project *****/
Prj_ShowOneUniqueProject (&Prj);
/***** Begin table *****/
HTM_TABLE_BeginWidePadding (2);
/***** Write project head *****/
Prj_ShowProjectsHead (Projects,Prj_FILE_BROWSER_PROJECT);
/***** Show project *****/
Prj_ShowProject (Projects,0,&Prj,Prj_FILE_BROWSER_PROJECT);
/***** End table *****/
HTM_TABLE_End ();
/***** Show project file browsers *****/
if (Prj_CheckIfICanViewProjectFiles (Prj.PrjCod))
@ -1177,30 +1210,6 @@ void Prj_ShowProjectWithFileBrowser (void)
Prj_FreeMemProject (&Prj);
}
/*****************************************************************************/
/***************** View / edit file browser of one project *******************/
/*****************************************************************************/
void Prj_ShowOneUniqueProject (struct Prj_Project *Prj)
{
struct Prj_Projects Projects;
/***** Reset projects *****/
Prj_ResetProjects (&Projects);
/***** Begin table *****/
HTM_TABLE_BeginWidePadding (2);
/***** Write project head *****/
Prj_ShowProjectsHead (&Projects,Prj_FILE_BROWSER_PROJECT);
/***** Show project *****/
Prj_ShowOneProject (&Projects,0,Prj,Prj_FILE_BROWSER_PROJECT);
/***** End table *****/
HTM_TABLE_End ();
}
/*****************************************************************************/
/********************** Show print view of one project ***********************/
/*****************************************************************************/
@ -1233,7 +1242,7 @@ void Prj_PrintOneProject (void)
Prj_ShowProjectsHead (&Projects,Prj_PRINT_ONE_PROJECT);
/***** Write project *****/
Prj_ShowOneProject (&Projects,0,&Prj,Prj_PRINT_ONE_PROJECT);
Prj_ShowProject (&Projects,0,&Prj,Prj_PRINT_ONE_PROJECT);
/***** End table *****/
HTM_TABLE_End ();
@ -1246,10 +1255,10 @@ void Prj_PrintOneProject (void)
/***************************** Show one project ******************************/
/*****************************************************************************/
static void Prj_ShowOneProject (struct Prj_Projects *Projects,
unsigned NumIndex,
struct Prj_Project *Prj,
Prj_ProjectView_t ProjectView)
static void Prj_ShowProject (struct Prj_Projects *Projects,
unsigned NumIndex,
struct Prj_Project *Prj,
Prj_ProjectView_t ProjectView)
{
extern const char *Txt_Actions[Act_NUM_ACTIONS];
extern const char *Txt_Assigned_QUESTION;

View File

@ -172,6 +172,7 @@ struct Prj_Project
/***************************** Public prototypes *****************************/
/*****************************************************************************/
void Prj_SetPrjCod (long PrjCod);
long Prj_GetPrjCod (void);
void Prj_ResetProjects (struct Prj_Projects *Projects);
@ -187,8 +188,8 @@ void Prj_PutParams (struct Prj_Filter *Filter,
long PrjCod);
void Prj_GetParams (struct Prj_Projects *Projects);
void Prj_ShowProjectWithFileBrowser (void);
void Prj_ShowOneUniqueProject (struct Prj_Project *Prj);
void Prj_ShowOneProject (void);
void Prj_ShowOneProjectWithFileBrowser (struct Prj_Projects *Projects);
void Prj_PrintOneProject (void);

View File

@ -43,7 +43,7 @@ void PrjRsc_GetLinkToProject (void)
struct Prj_Projects Projects;
char Title[Prj_MAX_BYTES_TITLE + 1];
/***** Reset projects context *****/
/***** Reset projects *****/
Prj_ResetProjects (&Projects);
/***** Get parameters *****/
@ -60,6 +60,9 @@ void PrjRsc_GetLinkToProject (void)
Ale_ShowAlert (Ale_SUCCESS,Txt_Link_to_resource_X_copied_into_clipboard,
Title);
/***** Show project and (if possible) its file browser *****/
Prj_ShowOneProjectWithFileBrowser (&Projects);
/***** Show projects again *****/
Prj_ShowProjects (&Projects);
}

View File

@ -116,6 +116,7 @@ void SvyRsc_WriteSurveyInCrsProgram (long SvyCod,bool PutFormToGo,
void SvyRsc_GetTitleFromSvyCod (long SvyCod,char *Title,size_t TitleSize)
{
extern const char *Txt_Surveys;
char TitleFromDB[Svy_MAX_BYTES_SURVEY_TITLE + 1];
if (SvyCod > 0)
@ -125,5 +126,6 @@ void SvyRsc_GetTitleFromSvyCod (long SvyCod,char *Title,size_t TitleSize)
Str_Copy (Title,TitleFromDB,TitleSize);
}
else
Str_Copy (Title,"?",TitleSize);
/***** Generic title for all surveys *****/
Str_Copy (Title,Txt_Surveys,TitleSize);
}

View File

@ -4135,7 +4135,7 @@ const char *Txt_Calls_for_exams =
#elif L==9 // pt
"Chamadas para exames";
#elif L==10 // tr
"Calls for exams"; // Çeviri lazim!
"S&inodot;nav &ccedil;a&gbreve;r&inodot;lar&inodot;";
#endif
const char *Txt_Can_not_create_the_folder_X_because_it_would_exceed_the_disk_quota = // Warning: it is very important to include %s in the following sentences
@ -11099,7 +11099,7 @@ const char *Txt_Document =
#elif L==5 // fr
"Document";
#elif L==6 // gn
"Documento"; // Okoteve traducción
"Terakuatia";
#elif L==7 // it
"Documento";
#elif L==8 // pl
@ -11149,7 +11149,7 @@ const char *Txt_Documents =
#elif L==7 // it
"Documenti";
#elif L==8 // pl
"Documents"; // Potrzebujesz tlumaczenie
"Dokumenty";
#elif L==9 // pt
"Documentos";
#elif L==10 // tr
@ -12877,7 +12877,7 @@ const char *Txt_Exam =
#elif L==5 // fr
"Examen";
#elif L==6 // gn
"Kuaara'&atilde;";
"Aranduchauka";
#elif L==7 // it
"Esame";
#elif L==8 // pl
@ -13041,7 +13041,7 @@ const char *Txt_EXAM_Open =
#elif L==5 // fr
"Ouvert";
#elif L==6 // gn
"Abierto"; // Okoteve traducción
"Ojei";
#elif L==7 // it
"Aperto";
#elif L==8 // pl
@ -13158,7 +13158,7 @@ const char *Txt_EXAMS_ORDER[Exa_NUM_ORDERS] =
#elif L==5 // fr
"Examen"
#elif L==6 // gn
"Kuaara'&atilde;"
"Aranduchauka"
#elif L==7 // it
"Esame"
#elif L==8 // pl
@ -24133,7 +24133,7 @@ const char *Txt_MSG_Open =
#elif L==5 // fr
"Ouvert";
#elif L==6 // gn
"Abierto"; // Okoteve traducción
"Ojei";
#elif L==7 // it
"Aperto";
#elif L==8 // pl
@ -25053,7 +25053,7 @@ const char *Txt_New_institution =
#elif L==5 // fr
"Nouvel &eacute;tablissement (universit&eacute;, coll&egrave;ge, &eacute;cole, acad&eacute;mie, organisation, entreprise...)";
#elif L==6 // gn
"Nueva instituci&oacute;n (universidad, instituto, colegio, academia, organizaci&oacute;n, empresa...)"; // Okoteve traducción
"Nueva instituci&oacute;n (universidad, instituto, mbo'ehao, academia, organizaci&oacute;n, empresa...)"; // Okoteve traducción
#elif L==7 // it
"Nuova istituzione (universit&agrave;, istituto, scuola, accademia, organizzazione, societ&agrave;...)";
#elif L==8 // pl
@ -25720,7 +25720,7 @@ const char *Txt_Nickname =
#elif L==5 // fr
"Surnom";
#elif L==6 // gn
"Apodo"; // Okoteve traducción
"Hero";
#elif L==7 // it
"Nome-utente";
#elif L==8 // pl
@ -28035,7 +28035,7 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] =
#elif L==5 // fr
"Fichier de document"
#elif L==6 // gn
"Documento" // Okoteve traducción
"Terakuatia"
#elif L==7 // it
"Documento"
#elif L==8 // pl
@ -35778,7 +35778,7 @@ const char *Txt_RESOURCE_TYPES[PrgRsc_NUM_TYPES] =
#elif L==5 // fr
"Examen"
#elif L==6 // gn
"Kuaara'&atilde;"
"Aranduchauka"
#elif L==7 // it
"Esame"
#elif L==8 // pl
@ -35847,7 +35847,7 @@ const char *Txt_RESOURCE_TYPES[PrgRsc_NUM_TYPES] =
#elif L==5 // fr
"Document"
#elif L==6 // gn
"Documento" // Okoteve traducción
"Terakuatia"
#elif L==7 // it
"Documento"
#elif L==8 // pl
@ -44749,7 +44749,7 @@ const char *Txt_STAT_COLOR_TYPES[Sta_NUM_COLOR_TYPES] =
#elif L==5 // fr
"couleur"
#elif L==6 // gn
"color" // Okoteve traducción
"sa'y"
#elif L==7 // it
"colore"
#elif L==8 // pl