From 479179e82ce9c7467d599f34c1afce29df77c2a6 Mon Sep 17 00:00:00 2001 From: acanas Date: Thu, 6 Apr 2023 22:39:26 +0200 Subject: [PATCH] Version 22.92.3: Apr 06, 2023 Code refactoring in resources. --- swad_assignment_database.c | 4 ++-- swad_assignment_database.h | 2 +- swad_assignment_resource.c | 8 ++------ swad_attendance_database.c | 6 ++---- swad_attendance_database.h | 3 +-- swad_attendance_resource.c | 8 ++------ swad_changelog.h | 3 ++- swad_database.c | 10 ++++++---- swad_exam_database.c | 4 ++-- swad_exam_database.h | 2 +- swad_exam_resource.c | 8 ++------ swad_forum_database.c | 5 ++--- swad_forum_database.h | 2 +- swad_forum_resource.c | 14 +++++--------- swad_game_database.c | 4 ++-- swad_game_database.h | 2 +- swad_game_resource.c | 8 ++------ swad_project_database.c | 4 ++-- swad_project_database.h | 2 +- swad_project_resource.c | 8 ++------ swad_rubric_database.c | 4 ++-- swad_rubric_database.h | 2 +- swad_rubric_resource.c | 8 ++------ swad_text.c | 29 ++++++++++++++++++++++++++--- 24 files changed, 72 insertions(+), 78 deletions(-) diff --git a/swad_assignment_database.c b/swad_assignment_database.c index 6bfe6766..a7b7db1c 100644 --- a/swad_assignment_database.c +++ b/swad_assignment_database.c @@ -198,9 +198,9 @@ unsigned Asg_DB_GetAssignmentTitleAndTxtByCod (MYSQL_RES **mysql_res,long AsgCod /******************** Get assignment title from database *********************/ /*****************************************************************************/ -void Asg_DB_GetAssignmentTitleByCod (long AsgCod,char Title[Asg_MAX_BYTES_ASSIGNMENT_TITLE + 1]) +void Asg_DB_GetAssignmentTitleByCod (long AsgCod,char *Title,size_t TitleSize) { - DB_QuerySELECTString (Title,Asg_MAX_BYTES_ASSIGNMENT_TITLE,"can not get assignment title", + DB_QuerySELECTString (Title,TitleSize,"can not get assignment title", "SELECT Title" " FROM asg_assignments" " WHERE AsgCod=%ld" diff --git a/swad_assignment_database.h b/swad_assignment_database.h index fb686b34..01edc96f 100644 --- a/swad_assignment_database.h +++ b/swad_assignment_database.h @@ -46,7 +46,7 @@ unsigned Asg_DB_GetAssignmentDataByCod (MYSQL_RES **mysql_res,long AsgCod); unsigned Asg_DB_GetAssignmentDataByFolder (MYSQL_RES **mysql_res, const char Folder[Brw_MAX_BYTES_FOLDER + 1]); unsigned Asg_DB_GetAssignmentTitleAndTxtByCod (MYSQL_RES **mysql_res,long AsgCod); -void Asg_DB_GetAssignmentTitleByCod (long AsgCod,char Title[Asg_MAX_BYTES_ASSIGNMENT_TITLE + 1]); +void Asg_DB_GetAssignmentTitleByCod (long AsgCod,char *Title,size_t TitleSize); void Asg_DB_GetAssignmentTxtByCod (long AsgCod,char Txt[Cns_MAX_BYTES_TEXT + 1]); bool Asg_DB_CheckIfSimilarAssignmentExists (const char *Field,const char *Value, diff --git a/swad_assignment_resource.c b/swad_assignment_resource.c index 9d14071b..ae21f981 100644 --- a/swad_assignment_resource.c +++ b/swad_assignment_resource.c @@ -83,14 +83,10 @@ void AsgRsc_GetLinkToAssignment (void) 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) - { - /***** Get assignment title *****/ - Asg_DB_GetAssignmentTitleByCod (AsgCod,TitleFromDB); - Str_Copy (Title,TitleFromDB,TitleSize); - } + /***** Get assignment title from database *****/ + Asg_DB_GetAssignmentTitleByCod (AsgCod,Title,TitleSize); else /***** Generic title for all assignments *****/ Str_Copy (Title,Txt_Assignments,TitleSize); diff --git a/swad_attendance_database.c b/swad_attendance_database.c index 9cda03ce..b48828aa 100644 --- a/swad_attendance_database.c +++ b/swad_attendance_database.c @@ -192,11 +192,9 @@ unsigned Att_DB_GetEventDataByCod (MYSQL_RES **mysql_res,long AttCod) /***************** Get attendance event title from database ******************/ /*****************************************************************************/ -void Att_DB_GetEventTitle (long AttCod, - char Title[Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE + 1]) +void Att_DB_GetEventTitle (long AttCod,char *Title,size_t TitleSize) { - DB_QuerySELECTString (Title,Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE, - "can not get attendance event title", + DB_QuerySELECTString (Title,TitleSize,"can not get attendance event title", "SELECT Title" // row[0] " FROM att_events" " WHERE AttCod=%ld" diff --git a/swad_attendance_database.h b/swad_attendance_database.h index a67a3c90..6a043235 100644 --- a/swad_attendance_database.h +++ b/swad_attendance_database.h @@ -45,8 +45,7 @@ unsigned Att_DB_GetListEventsAllGrps (MYSQL_RES **mysql_res, Att_OrderNewestOldest_t OrderNewestOldest); unsigned Att_DB_GetAllEventsData (MYSQL_RES **mysql_res,long CrsCod); unsigned Att_DB_GetEventDataByCod (MYSQL_RES **mysql_res,long AttCod); -void Att_DB_GetEventTitle (long AttCod, - char Title[Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE + 1]); +void Att_DB_GetEventTitle (long AttCod,char *Title,size_t TitleSize); void Att_DB_GetEventDescription (long AttCod,char Description[Cns_MAX_BYTES_TEXT + 1]); bool Att_DB_CheckIfSimilarEventExists (const char *Field,const char *Value,long AttCod); diff --git a/swad_attendance_resource.c b/swad_attendance_resource.c index 2b9e84eb..4713aa40 100644 --- a/swad_attendance_resource.c +++ b/swad_attendance_resource.c @@ -68,14 +68,10 @@ void AttRsc_GetLinkToEvent (void) 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) - { - /***** Get attendance event title *****/ - Att_DB_GetEventTitle (AttCod,TitleFromDB); - Str_Copy (Title,TitleFromDB,TitleSize); - } + /***** Get attendance event title from database *****/ + Att_DB_GetEventTitle (AttCod,Title,TitleSize); else /***** Generic title for all attendance events *****/ Str_Copy (Title,Txt_Control_of_class_attendance,TitleSize); diff --git a/swad_changelog.h b/swad_changelog.h index a75b38e6..db34d8ba 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -629,10 +629,11 @@ TODO: Emilce Barrera Mesa: Podr TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen. */ -#define Log_PLATFORM_VERSION "SWAD 22.92.1 (2023-04-06)" +#define Log_PLATFORM_VERSION "SWAD 22.92.3 (2023-04-06)" #define CSS_FILE "swad22.88.css" #define JS_FILE "swad22.49.js" /* + Version 22.92.3: Apr 06, 2023 Code refactoring in resources. (338493 lines) Version 22.92.2: Apr 06, 2023 Code refactoring in resources. (338500 lines) Version 22.92.1: Apr 06, 2023 Removed unused code in resources. (338514 lines) Version 22.92: Apr 06, 2023 Code refactoring in resources. (339106 lines) diff --git a/swad_database.c b/swad_database.c index 7addfd65..fe1abfa2 100644 --- a/swad_database.c +++ b/swad_database.c @@ -4177,8 +4177,8 @@ void DB_QuerySELECTString (char *Str,size_t StrSize,const char *MsgError, va_list ap; int NumBytesPrinted; char *Query; - bool TooBig = false; - char ErrorTxt[256]; + // bool TooBig = false; + // char ErrorTxt[256]; /***** Create query string *****/ va_start (ap,fmt); @@ -4193,14 +4193,15 @@ void DB_QuerySELECTString (char *Str,size_t StrSize,const char *MsgError, { row = mysql_fetch_row (mysql_res); - TooBig = (strlen (row[0]) > StrSize); - if (!TooBig) + // TooBig = (strlen (row[0]) > StrSize); + // if (!TooBig) Str_Copy (Str,row[0],StrSize); } /***** Free structure that stores the query result *****/ DB_FreeMySQLResult (&mysql_res); + /* if (TooBig) { snprintf (ErrorTxt,sizeof (ErrorTxt), @@ -4209,6 +4210,7 @@ void DB_QuerySELECTString (char *Str,size_t StrSize,const char *MsgError, StrSize); Err_ShowErrorAndExit (ErrorTxt); } + */ } /*****************************************************************************/ diff --git a/swad_exam_database.c b/swad_exam_database.c index 3ee79398..1ff9ad79 100644 --- a/swad_exam_database.c +++ b/swad_exam_database.c @@ -218,9 +218,9 @@ unsigned Exa_DB_GetExamStartEnd (MYSQL_RES **mysql_res,long ExaCod) /*********************** Get exam title from database ************************/ /*****************************************************************************/ -void Exa_DB_GetExamTitle (long ExaCod,char Title[Exa_MAX_BYTES_TITLE + 1]) +void Exa_DB_GetExamTitle (long ExaCod,char *Title,size_t TitleSize) { - DB_QuerySELECTString (Title,Exa_MAX_BYTES_TITLE,"can not get exam title", + DB_QuerySELECTString (Title,TitleSize,"can not get exam title", "SELECT Title" // row[0] " FROM exa_exams" " WHERE ExaCod=%ld" diff --git a/swad_exam_database.h b/swad_exam_database.h index b20b88b3..bef5cc1b 100644 --- a/swad_exam_database.h +++ b/swad_exam_database.h @@ -44,7 +44,7 @@ void Exa_DB_HideOrUnhideExam (long ExaCod,bool Hide); unsigned Exa_DB_GetListExams (MYSQL_RES **mysql_res,Exa_Order_t SelectedOrder); unsigned Exa_DB_GetExamDataByCod (MYSQL_RES **mysql_res,long ExaCod); unsigned Exa_DB_GetExamStartEnd (MYSQL_RES **mysql_res,long ExaCod); -void Exa_DB_GetExamTitle (long ExaCod,char Title[Exa_MAX_BYTES_TITLE + 1]); +void Exa_DB_GetExamTitle (long ExaCod,char *Title,size_t TitleSize); void Exa_DB_GetExamTxt (long ExaCod,char Txt[Cns_MAX_BYTES_TEXT + 1]); bool Exa_DB_CheckIfSimilarExamExists (long CrsCod,long ExaCod,const char *Title); unsigned Exa_DB_GetNumCoursesWithExams (HieLvl_Level_t Scope); diff --git a/swad_exam_resource.c b/swad_exam_resource.c index dd9603aa..52b45406 100644 --- a/swad_exam_resource.c +++ b/swad_exam_resource.c @@ -72,14 +72,10 @@ void ExaRsc_GetLinkToExam (void) 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) - { - /***** Get exam title *****/ - Exa_DB_GetExamTitle (ExaCod,TitleFromDB); - Str_Copy (Title,TitleFromDB,TitleSize); - } + /***** Get exam title from database *****/ + Exa_DB_GetExamTitle (ExaCod,Title,TitleSize); else /***** Generic title for all exams *****/ Str_Copy (Title,Txt_Exams,TitleSize); diff --git a/swad_forum_database.c b/swad_forum_database.c index 9c84c039..1d8935e0 100644 --- a/swad_forum_database.c +++ b/swad_forum_database.c @@ -539,10 +539,9 @@ unsigned For_DB_GetThreadData (MYSQL_RES **mysql_res,long ThrCod) /***************************** Get thread subject ****************************/ /*****************************************************************************/ -void For_DB_GetThreadSubject (long ThrCod,char Subject[Cns_MAX_BYTES_SUBJECT + 1]) +void For_DB_GetThreadTitle (long ThrCod,char *Subject,size_t TitleSize) { - DB_QuerySELECTString (Subject,Cns_MAX_BYTES_SUBJECT, - "can not get thread subject", + DB_QuerySELECTString (Subject,TitleSize,"can not get thread subject", "SELECT for_posts.Subject" // row[0] " FROM for_threads," "for_posts" diff --git a/swad_forum_database.h b/swad_forum_database.h index 689bfdff..d9f308dd 100644 --- a/swad_forum_database.h +++ b/swad_forum_database.h @@ -67,7 +67,7 @@ void For_DB_UpdateThrLastPst (long ThrCod,long LastPstCod); unsigned For_DB_GetForumThreads (MYSQL_RES **mysql_res, const struct For_Forums *Forums); unsigned For_DB_GetThreadData (MYSQL_RES **mysql_res,long ThrCod); -void For_DB_GetThreadSubject (long ThrCod,char Subject[Cns_MAX_BYTES_SUBJECT + 1]); +void For_DB_GetThreadTitle (long ThrCod,char *Subject,size_t TitleSize); bool For_DB_CheckIfThrBelongsToForum (long ThrCod,const struct For_Forum *Forum); long For_DB_GetThrLastPst (long ThrCod); void For_DB_GetThrSubject (long ThrCod,char Subject[Cns_MAX_BYTES_SUBJECT + 1]); diff --git a/swad_forum_resource.c b/swad_forum_resource.c index 7bd06b01..ec8bf8ff 100644 --- a/swad_forum_resource.c +++ b/swad_forum_resource.c @@ -97,16 +97,12 @@ void ForRsc_FreeAnchorStr (char **Anchor) void ForRsc_GetTitleFromThrCod (long ThrCod,char *Title,size_t TitleSize) { - extern const char *Txt_Forum; - char Subject[Cns_MAX_BYTES_SUBJECT + 1]; + extern const char *Txt_Course_forum; if (ThrCod > 0) - { - /***** Get thread subject *****/ - For_DB_GetThreadSubject (ThrCod,Subject); - Str_Copy (Title,Subject,TitleSize); - } + /***** Get thread subject from database *****/ + For_DB_GetThreadTitle (ThrCod,Title,TitleSize); else - snprintf (Title,TitleSize + 1,"%s %s", - Txt_Forum,Gbl.Hierarchy.Crs.ShrtName); + /***** Generic title for all posts *****/ + Str_Copy (Title,Txt_Course_forum,TitleSize); } diff --git a/swad_game_database.c b/swad_game_database.c index 5119feba..04dd4be1 100644 --- a/swad_game_database.c +++ b/swad_game_database.c @@ -226,9 +226,9 @@ unsigned Gam_DB_GetGameDataByCod (MYSQL_RES **mysql_res,long GamCod) /*********************** Get game title from database ************************/ /*****************************************************************************/ -void Gam_DB_GetGameTitle (long GamCod,char Title[Gam_MAX_BYTES_TITLE + 1]) +void Gam_DB_GetGameTitle (long GamCod,char *Title,size_t TitleSize) { - DB_QuerySELECTString (Title,Gam_MAX_BYTES_TITLE,"can not get game title", + DB_QuerySELECTString (Title,TitleSize,"can not get game title", "SELECT Title" // row[0] " FROM gam_games" " WHERE GamCod=%ld" diff --git a/swad_game_database.h b/swad_game_database.h index 21fab4fd..ca82ab2c 100644 --- a/swad_game_database.h +++ b/swad_game_database.h @@ -44,7 +44,7 @@ void Gam_DB_HideOrUnhideGame (long GamCod,bool Hide); unsigned Gam_DB_GetListGames (MYSQL_RES **mysql_res,Gam_Order_t SelectedOrder); unsigned Gam_DB_GetListAvailableGames (MYSQL_RES **mysql_res); unsigned Gam_DB_GetGameDataByCod (MYSQL_RES **mysql_res,long GamCod); -void Gam_DB_GetGameTitle (long GamCod,char Title[Gam_MAX_BYTES_TITLE + 1]); +void Gam_DB_GetGameTitle (long GamCod,char *Title,size_t TitleSize); void Gam_DB_GetGameTxt (long GamCod,char Txt[Cns_MAX_BYTES_TEXT + 1]); bool Gam_DB_CheckIfSimilarGameExists (const struct Gam_Game *Game); unsigned Gam_DB_GetNumCoursesWithGames (HieLvl_Level_t Scope); diff --git a/swad_game_resource.c b/swad_game_resource.c index 7aa0e9fd..145acbae 100644 --- a/swad_game_resource.c +++ b/swad_game_resource.c @@ -74,14 +74,10 @@ void GamRsc_GetLinkToGame (void) 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) - { - /***** Get game title *****/ - Gam_DB_GetGameTitle (GamCod,TitleFromDB); - Str_Copy (Title,TitleFromDB,TitleSize); - } + /***** Get game title from database *****/ + Gam_DB_GetGameTitle (GamCod,Title,TitleSize); else /***** Generic title for all games *****/ Str_Copy (Title,Txt_Games,TitleSize); diff --git a/swad_project_database.c b/swad_project_database.c index a1f43c45..4bda0c25 100644 --- a/swad_project_database.c +++ b/swad_project_database.c @@ -598,9 +598,9 @@ unsigned Prj_DB_GetProjectDataByCod (MYSQL_RES **mysql_res,long PrjCod) /********************* Get project title from database ***********************/ /*****************************************************************************/ -void Prj_DB_GetProjectTitle (long PrjCod,char Title[Prj_MAX_BYTES_TITLE + 1]) +void Prj_DB_GetProjectTitle (long PrjCod,char *Title,size_t TitleSize) { - DB_QuerySELECTString (Title,Prj_MAX_BYTES_TITLE,"can not get project title", + DB_QuerySELECTString (Title,TitleSize,"can not get project title", "SELECT Title" // row[0] " FROM prj_projects" " WHERE PrjCod=%ld" diff --git a/swad_project_database.h b/swad_project_database.h index a11589d4..b960325e 100644 --- a/swad_project_database.h +++ b/swad_project_database.h @@ -48,7 +48,7 @@ unsigned Prj_DB_GetListProjects (MYSQL_RES **mysql_res, const char *UsrsSubQuery); // NULL if no users unsigned Prj_DB_GetCrsPrjsConfig (MYSQL_RES **mysql_res); unsigned Prj_DB_GetProjectDataByCod (MYSQL_RES **mysql_res,long PrjCod); -void Prj_DB_GetProjectTitle (long PrjCod,char Title[Prj_MAX_BYTES_TITLE + 1]); +void Prj_DB_GetProjectTitle (long PrjCod,char *Title,size_t TitleSize); unsigned Prj_DB_GetPrjDataToCheckFaults (MYSQL_RES **mysql_res,long PrjCod); unsigned Prj_DB_GetNumUsrsInPrj (long PrjCod,Prj_RoleInProject_t RoleInProject); unsigned Prj_DB_GetUsrsInPrj (MYSQL_RES **mysql_res, diff --git a/swad_project_resource.c b/swad_project_resource.c index 8bf495ec..073f2417 100644 --- a/swad_project_resource.c +++ b/swad_project_resource.c @@ -77,14 +77,10 @@ void PrjRsc_GetLinkToProject (void) void PrjRsc_GetTitleFromPrjCod (long PrjCod,char *Title,size_t TitleSize) { extern const char *Txt_Projects; - char TitleFromDB[Prj_MAX_BYTES_TITLE + 1]; if (PrjCod > 0) - { - /***** Get project title *****/ - Prj_DB_GetProjectTitle (PrjCod,TitleFromDB); - Str_Copy (Title,TitleFromDB,TitleSize); - } + /***** Get project title from database *****/ + Prj_DB_GetProjectTitle (PrjCod,Title,TitleSize); else /***** Generic title for all projects *****/ Str_Copy (Title,Txt_Projects,TitleSize); diff --git a/swad_rubric_database.c b/swad_rubric_database.c index 917f3914..51ea0893 100644 --- a/swad_rubric_database.c +++ b/swad_rubric_database.c @@ -128,9 +128,9 @@ unsigned Rub_DB_GetRubricDataByCod (MYSQL_RES **mysql_res,long RubCod) /********************** Get rubric title from database ***********************/ /*****************************************************************************/ -void Rub_DB_GetRubricTitle (long RubCod,char Title[Rub_MAX_BYTES_TITLE + 1]) +void Rub_DB_GetRubricTitle (long RubCod,char *Title,size_t TitleSize) { - DB_QuerySELECTString (Title,Rub_MAX_BYTES_TITLE,"can not get rubric title", + DB_QuerySELECTString (Title,TitleSize,"can not get rubric title", "SELECT Title" // row[0] " FROM rub_rubrics" " WHERE RubCod=%ld" diff --git a/swad_rubric_database.h b/swad_rubric_database.h index f2c78255..ca3591e2 100644 --- a/swad_rubric_database.h +++ b/swad_rubric_database.h @@ -44,7 +44,7 @@ void Rub_DB_HideOrUnhideRubric (long RubCod,bool Hide); unsigned Rub_DB_GetListRubrics (MYSQL_RES **mysql_res); unsigned Rub_DB_GetRubricDataByCod (MYSQL_RES **mysql_res,long RubCod); -void Rub_DB_GetRubricTitle (long RubCod,char Title[Rub_MAX_BYTES_TITLE + 1]); +void Rub_DB_GetRubricTitle (long RubCod,char *Title,size_t TitleSize); void Rub_DB_GetRubricTxt (long RubCod,char Txt[Cns_MAX_BYTES_TEXT + 1]); bool Rub_DB_CheckIfSimilarRubricExists (const struct Rub_Rubric *Rubric); unsigned Rub_DB_GetNumCoursesWithRubrics (HieLvl_Level_t Scope); diff --git a/swad_rubric_resource.c b/swad_rubric_resource.c index a3041ffc..c8ab48da 100644 --- a/swad_rubric_resource.c +++ b/swad_rubric_resource.c @@ -81,14 +81,10 @@ void RubRsc_GetLinkToRubric (void) void RubRsc_GetTitleFromRubCod (long RubCod,char *Title,size_t TitleSize) { extern const char *Txt_Rubrics; - char TitleFromDB[Rub_MAX_BYTES_TITLE + 1]; if (RubCod > 0) - { - /***** Get rubric title *****/ - Rub_DB_GetRubricTitle (RubCod,TitleFromDB); - Str_Copy (Title,TitleFromDB,TitleSize); - } + /***** Get rubric title from database *****/ + Rub_DB_GetRubricTitle (RubCod,Title,TitleSize); else /***** Generic title for all rubrics *****/ Str_Copy (Title,Txt_Rubrics,TitleSize); diff --git a/swad_text.c b/swad_text.c index 5633c4bc..f3d40b2e 100644 --- a/swad_text.c +++ b/swad_text.c @@ -6130,6 +6130,29 @@ const char *Txt_course = "kurs"; #endif +const char *Txt_Course_forum = +#if L==1 // ca + "Fòrum de l'assignatura"; +#elif L==2 // de + "Kursforum"; +#elif L==3 // en + "Course forum"; +#elif L==4 // es + "Foro de la asignatura"; +#elif L==5 // fr + "Forum de matière"; +#elif L==6 // gn + "Foro de la asignatura"; // Okoteve traducción +#elif L==7 // it + "Forum del corso"; +#elif L==8 // pl + "Forum kursu"; +#elif L==9 // pt + "Fórum da disciplina"; +#elif L==10 // tr + "Kurs forumu"; +#endif + const char *Txt_COURSE_program = // Warning: it is very important to include %s in the following sentences #if L==1 // ca "Programa de %s"; @@ -15137,7 +15160,7 @@ const char *Txt_Format = const char *Txt_Forum = #if L==1 // ca - "Foro"; + "Fòrum"; #elif L==2 // de "Forum"; #elif L==3 // en @@ -15147,7 +15170,7 @@ const char *Txt_Forum = #elif L==5 // fr "Forum"; #elif L==6 // gn - "Foro"; // Okoteve traducción + "Foro"; #elif L==7 // it "Forum"; #elif L==8 // pl @@ -15155,7 +15178,7 @@ const char *Txt_Forum = #elif L==9 // pt "Fórum"; #elif L==10 // tr - "Forum"; // Çeviri lazim! + "Forum"; #endif const char *Txt_Forum_posts =