diff --git a/swad_changelog.h b/swad_changelog.h index 2bc2e8bb..7187219d 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -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 21.103.2 (2022-06-30)" +#define Log_PLATFORM_VERSION "SWAD 21.103.3 (2022-06-30)" #define CSS_FILE "swad21.100.css" #define JS_FILE "swad21.100.js" /* + Version 21.103.3: Jun 30, 2022 Code refactoring in icons. (328131 lines) Version 21.103.2: Jun 30, 2022 Preparation for Turkish translation. (328306 lines) Version 21.103.1: Jun 29, 2022 Code refactoring in icons. (328305 lines) Version 21.103: Jun 29, 2022 Text in buttons got from text of actions. diff --git a/swad_exam_result.c b/swad_exam_result.c index 4325d969..821631e3 100644 --- a/swad_exam_result.c +++ b/swad_exam_result.c @@ -771,7 +771,6 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, long ExaCod, // <= 0 ==> any const char *ExamsSelectedCommas) { - extern const char *Txt_Result; MYSQL_RES *mysql_res; struct UsrData *UsrDat; unsigned NumResults; @@ -1049,14 +1048,17 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, case Usr_ME: Frm_BeginForm (ActSeeOneExaResMe); ExaSes_PutParamsEdit (Exams); + Ico_PutIconLink ("tasks.svg",Ico_BLACK, + Act_GetActionText (ActSeeOneExaResMe)); break; case Usr_OTHER: Frm_BeginForm (ActSeeOneExaResOth); ExaSes_PutParamsEdit (Exams); Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod); + Ico_PutIconLink ("tasks.svg",Ico_BLACK, + Act_GetActionText (ActSeeOneExaResOth)); break; } - Ico_PutIconLink ("tasks.svg",Ico_BLACK,Txt_Result); Frm_EndForm (); } else diff --git a/swad_follow.c b/swad_follow.c index 796d503e..f69fd2d1 100644 --- a/swad_follow.c +++ b/swad_follow.c @@ -316,8 +316,6 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat, extern const char *Txt_FOLLOWS_YOU; extern const char *Txt_Following; extern const char *Txt_Followers; - extern const char *Txt_Following_unfollow; - extern const char *Txt_Follow; /***** Begin section *****/ HTM_SECTION_Begin (Fol_FOLLOW_SECTION_ID); @@ -362,8 +360,8 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat, HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC, IFollowUsr ? "user-check.svg" : "user-plus.svg", - IFollowUsr ? Txt_Following_unfollow : - Txt_Follow, + Act_GetActionText (IFollowUsr ? ActUnfUsr : + ActFolUsr), "class=\"ICO_HIGHLIGHT ICO40x40\""); Frm_EndForm (); } @@ -740,12 +738,10 @@ static void Fol_PutInactiveIconToFollowUnfollow (void) static void Fol_PutIconToFollow (const char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]) { - extern const char *Txt_Follow; - - /***** Form to unfollow *****/ Frm_BeginForm (ActFolUsr); Usr_PutParamUsrCodEncrypted (EncryptedUsrCod); - HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user-plus.svg",Txt_Follow, + HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user-plus.svg", + Act_GetActionText (ActFolUsr), "class=\"FOLLOW_USR_ICO ICO16x16 ICO_%s_%s ICO_HIGHLIGHT\"", Ico_GetPreffix (Ico_BLACK),The_GetSuffix ()); Frm_EndForm (); @@ -757,13 +753,10 @@ static void Fol_PutIconToFollow (const char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_ static void Fol_PutIconToUnfollow (const char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]) { - extern const char *Txt_Unfollow; - - /* Form to follow */ Frm_BeginForm (ActUnfUsr); Usr_PutParamUsrCodEncrypted (EncryptedUsrCod); HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user-check.svg", - Txt_Unfollow, + Act_GetActionText (ActUnfUsr), "class=\"FOLLOW_USR_ICO ICO_HIGHLIGHT ICO16x16\""); Frm_EndForm (); } diff --git a/swad_forum.c b/swad_forum.c index 34ebed4c..e36019c9 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -866,8 +866,6 @@ static void For_ShowAForumPost (struct For_Forums *Forums, extern const char *Txt_FORUM_Post_X_allowed; extern const char *Txt_FORUM_Post_banned; extern const char *Txt_FORUM_Post_X_banned; - extern const char *Txt_FORUM_Post_X_allowed_Click_to_ban_it; - extern const char *Txt_FORUM_Post_X_banned_Click_to_unban_it; extern const char *Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_the_forums; struct UsrData UsrDat; time_t CreatTimeUTC; // Creation time of a post @@ -950,16 +948,12 @@ static void For_ShowAForumPost (struct For_Forums *Forums, For_ActionsEnbPstFor[Forums->Forum.Type], For_FORUM_POSTS_SECTION_ID); For_PutParamsForum (Forums); - if (asprintf (&Title,Enabled ? Txt_FORUM_Post_X_allowed_Click_to_ban_it : - Txt_FORUM_Post_X_banned_Click_to_unban_it, - PstNum) < 0) - Err_NotEnoughMemoryExit (); Ico_PutIconLink (Enabled ? "eye.svg" : "eye-slash.svg", Enabled ? Ico_GREEN : Ico_RED, - Title); - free (Title); + Act_GetActionText (Enabled ? For_ActionsDisPstFor[Forums->Forum.Type] : + For_ActionsEnbPstFor[Forums->Forum.Type])); Frm_EndForm (); } else @@ -1732,7 +1726,7 @@ static void For_WriteLinkToForum (const struct For_Forums *Forums, Forum->Location, Forums->Thread.ToMove, -1L); - Ico_PutIconPaste (); + Ico_PutIconPaste (For_ActionsPasThrFor[Forum->Type]); Frm_EndForm (); } } @@ -2249,7 +2243,7 @@ static void For_ListForumThrs (struct For_Forums *Forums, Forums->Forum.Location, Thr.ThrCod, -1L); - Ico_PutIconCut (); + Ico_PutIconCut (For_ActionsCutThrFor[Forums->Forum.Type]); Frm_EndForm (); } diff --git a/swad_group.c b/swad_group.c index 878487cd..ecb40c01 100644 --- a/swad_group.c +++ b/swad_group.c @@ -1404,10 +1404,6 @@ static void Grp_WriteHeadingGroupTypes (void) static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms) { - extern const char *Txt_Group_X_open_click_to_close_it; - extern const char *Txt_Group_X_closed_click_to_open_it; - extern const char *Txt_File_zones_of_the_group_X_enabled_click_to_disable_them; - extern const char *Txt_File_zones_of_the_group_X_disabled_click_to_enable_them; extern const char *Txt_No_assigned_room; extern const char *Txt_Another_room; unsigned NumGrpTyp; @@ -1417,7 +1413,6 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms) struct GroupType *GrpTyp; struct GroupType *GrpTypAux; struct Group *Grp; - char *Title; Rol_Role_t Role; char StrMaxStudents[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; @@ -1453,16 +1448,12 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms) ActOpeGrp, Grp_GROUPS_SECTION_ID); Grp_PutParamGrpCod (&Grp->GrpCod); - if (asprintf (&Title,Grp->Open ? Txt_Group_X_open_click_to_close_it : - Txt_Group_X_closed_click_to_open_it, - Grp->GrpName) < 0) - Err_NotEnoughMemoryExit (); Ico_PutIconLink (Grp->Open ? "unlock.svg" : "lock.svg", Grp->Open ? Ico_GREEN : Ico_RED, - Title); - free (Title); + Act_GetActionText (Grp->Open ? ActCloGrp : + ActOpeGrp)); Frm_EndForm (); HTM_TD_End (); @@ -1472,16 +1463,12 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms) ActEnaFilZonGrp, Grp_GROUPS_SECTION_ID); Grp_PutParamGrpCod (&Grp->GrpCod); - if (asprintf (&Title,Grp->FileZones ? Txt_File_zones_of_the_group_X_enabled_click_to_disable_them : - Txt_File_zones_of_the_group_X_disabled_click_to_enable_them, - Grp->GrpName) < 0) - Err_NotEnoughMemoryExit (); Ico_PutIconLink (Grp->FileZones ? "folder-open.svg" : "folder.svg", Grp->FileZones ? Ico_GREEN : Ico_RED, - Title); - free (Title); + Act_GetActionText (Grp->FileZones ? ActDisFilZonGrp : + ActEnaFilZonGrp)); Frm_EndForm (); HTM_TD_End (); diff --git a/swad_icon.c b/swad_icon.c index 614c4cf9..1297f4b4 100644 --- a/swad_icon.c +++ b/swad_icon.c @@ -454,22 +454,18 @@ void Ico_PutIconRemovalNotAllowed (void) /*************************** Put an icon to cut ******************************/ /*****************************************************************************/ -void Ico_PutIconCut (void) +void Ico_PutIconCut (Act_Action_t NextAction) { - extern const char *Txt_Cut; - - Ico_PutIconLink ("cut.svg",Ico_BLACK,Txt_Cut); + Ico_PutIconLink ("cut.svg",Ico_BLACK,Act_GetActionText (NextAction)); } /*****************************************************************************/ /************************** Put an icon to paste *****************************/ /*****************************************************************************/ -void Ico_PutIconPaste (void) +void Ico_PutIconPaste (Act_Action_t NextAction) { - extern const char *Txt_Paste; - - Ico_PutIconLink ("paste.svg",Ico_BLACK,Txt_Paste); + Ico_PutIconLink ("paste.svg",Ico_BLACK,Act_GetActionText (NextAction)); } /*****************************************************************************/ diff --git a/swad_icon.h b/swad_icon.h index 8535e2c3..492d71a7 100644 --- a/swad_icon.h +++ b/swad_icon.h @@ -107,8 +107,8 @@ void Ico_PutIcon (const char *Icon,Ico_Color_t Color,const char *Title,const cha void Ico_PutIconRemovalNotAllowed (void); -void Ico_PutIconCut (void); -void Ico_PutIconPaste (void); +void Ico_PutIconCut (Act_Action_t NextAction); +void Ico_PutIconPaste (Act_Action_t NextAction); void Ico_PutIconNotVisible (void); diff --git a/swad_match_result.c b/swad_match_result.c index 9d4f0d95..d83157e1 100644 --- a/swad_match_result.c +++ b/swad_match_result.c @@ -716,7 +716,6 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, long GamCod, // <= 0 ==> any const char *GamesSelectedCommas) { - extern const char *Txt_Result; MYSQL_RES *mysql_res; struct UsrData *UsrDat; struct MchRes_ICanView ICanView; @@ -906,14 +905,17 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, case Usr_ME: Frm_BeginForm (ActSeeOneMchResMe); Mch_PutParamsEdit (Games); + Ico_PutIconLink ("tasks.svg",Ico_BLACK, + Act_GetActionText (ActSeeOneMchResMe)); break; case Usr_OTHER: Frm_BeginForm (ActSeeOneMchResOth); Mch_PutParamsEdit (Games); Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod); + Ico_PutIconLink ("tasks.svg",Ico_BLACK, + Act_GetActionText (ActSeeOneMchResOth)); break; } - Ico_PutIconLink ("tasks.svg",Ico_BLACK,Txt_Result); Frm_EndForm (); } else diff --git a/swad_text.c b/swad_text.c index 9606a57f..3fcd7182 100644 --- a/swad_text.c +++ b/swad_text.c @@ -8086,29 +8086,6 @@ const char *Txt_Current_password = "Mevcut şifre"; #endif -const char *Txt_Cut = // First part of "Cut-Paste" -#if L==1 // ca - "Tallar"; -#elif L==2 // de - "Ausschneiden"; -#elif L==3 // en - "Cut"; -#elif L==4 // es - "Cortar"; -#elif L==5 // fr - "Couper"; -#elif L==6 // gn - "Ikytĩ"; -#elif L==7 // it - "Taglia"; -#elif L==8 // pl - "Wytnij"; -#elif L==9 // pt - "Cortar"; -#elif L==10 // tr - "Cut"; // Çeviri lazim! -#endif - const char *Txt_Data = // Project data #if L==1 // ca "Dades"; @@ -13998,52 +13975,6 @@ const char *Txt_File_zones_of_the_group_X_are_now_enabled = // Warning: it is ve "File zones of the group %s are now enabled."; // Çeviri lazim! #endif -const char *Txt_File_zones_of_the_group_X_enabled_click_to_disable_them = // Warning: it is very important to include %s in the following sentences -#if L==1 // ca - "Zones d'arxius del grup %s habilitades, feu clic per desactivar-les"; -#elif L==2 // de - "Dateizonen der Gruppe %s aktiviert, klicken Sie, um sie zu deaktivieren"; -#elif L==3 // en - "File zones of the group %s enabled, click to disable them"; -#elif L==4 // es - "Zonas de archivos del grupo %s habilitadas; pulse para inhabilitarlas"; -#elif L==5 // fr - "Zones de fichiers du groupe %s activées, cliquez pour les désactiver"; -#elif L==6 // gn - "Zonas de archivos del grupo %s habilitadas; pulse para inhabilitarlas"; // Okoteve traducción -#elif L==7 // it - "Aree file del gruppo %s abilitate, clicca per disabilitarle"; -#elif L==8 // pl - "Plik strefy grupy %s aktywny, kliknij, aby je wylaczyc"; -#elif L==9 // pt - "Zonas de arquivos do grupo %s ativadas, clique para desativá-las"; -#elif L==10 // tr - "File zones of the group %s enabled, click to disable them"; // Çeviri lazim! -#endif - -const char *Txt_File_zones_of_the_group_X_disabled_click_to_enable_them = // Warning: it is very important to include %s in the following sentences -#if L==1 // ca - "Zones d'arxius del grup %s estan desactivades, feu clic per activar-les"; -#elif L==2 // de - "Dateizonen der Gruppe %s deaktiviert, klicken Sie, um sie zu aktivieren"; -#elif L==3 // en - "File zones of the group %s disabled, click to enable them"; -#elif L==4 // es - "Zonas de archivos del grupo %s inhabilitadas; pulse para habilitarlas"; -#elif L==5 // fr - "Zones de fichiers du groupe %s désactivées, cliquez pour les activer"; -#elif L==6 // gn - "Zonas de archivos del grupo %s inhabilitadas; pulse para habilitarlas"; // Okoteve traducción -#elif L==7 // it - "Aree file del gruppo %s disabilitate, clicca per abilitarle"; -#elif L==8 // pl - "Plik strefy grupy %s jes niedostepny, kliknij aby wlaczyc"; -#elif L==9 // pt - "Zonas de arquivos do grupo %s desativadas, clique para ativá-las"; -#elif L==10 // tr - "File zones of the group %s disabled, click to enable them"; // Çeviri lazim! -#endif - const char *Txt_Files = #if L==1 // ca "Fitxers"; @@ -15018,29 +14949,6 @@ const char *Txt_FORUM_Post_X_allowed = // Warning: it is very important to inclu "Post %u allowed."; // Çeviri lazim! #endif -const char *Txt_FORUM_Post_X_allowed_Click_to_ban_it = // Warning: it is very important to include %u in the following sentences -#if L==1 // ca - "Comentari %u permès. Premeu per censurar-lo."; -#elif L==2 // de - "Beitrag %u erlaubt. Klicken Sie, um es zu verbieten."; -#elif L==3 // en - "Post %u allowed. Click to ban it."; -#elif L==4 // es - "Comentario %u permitido. Pulse para censurarlo."; -#elif L==5 // fr - "Poste %u autorisé. Cliquez pour l'interdire."; -#elif L==6 // gn - "Comentario %u permitido. Pulse para censurarlo."; // Okoteve traducción -#elif L==7 // it - "Post %u autorizzato. Clicca per censurarlo."; -#elif L==8 // pl - "Post %u dozwolone. Kliknij, aby to zakazac."; -#elif L==9 // pt - "Post %u permitido. Clique para censurá-lo."; -#elif L==10 // tr - "Post %u allowed. Click to ban it."; // Çeviri lazim! -#endif - const char *Txt_FORUM_Post_and_thread_removed = #if L==1 // ca "Comentari i discussió eliminats."; @@ -15110,29 +15018,6 @@ const char *Txt_FORUM_Post_X_banned = // Warning: it is very important to includ "Post %u banned."; // Çeviri lazim! #endif -const char *Txt_FORUM_Post_X_banned_Click_to_unban_it = // Warning: it is very important to include %u in the following sentences -#if L==1 // ca - "Comentari %u no permès. Premeu per permetre-ho."; -#elif L==2 // de - "Beitrag %u gesperrt. Klicken Sie hier, um die Sperre aufzuheben."; -#elif L==3 // en - "Post %u banned. Click to unban it."; -#elif L==4 // es - "Comentario %u no permitido. Pulse para permitirlo."; -#elif L==5 // fr - "Message %u interdit. Cliquez pour le débannir."; -#elif L==6 // gn - "Comentario %u no permitido. Pulse para permitirlo."; // Okoteve traducción -#elif L==7 // it - "Post %u censurato. Clicca per autorizzarlo."; -#elif L==8 // pl - "Post %u zakazany.Kliknij, aby to odbanowac."; -#elif L==9 // pt - "Post %u não permitido. Clique para permiti-lo."; -#elif L==10 // tr - "Post %u banned. Click to unban it."; // Çeviri lazim! -#endif - const char *Txt_FORUM_Post_sent = #if L==1 // ca "Comentari enviat."; @@ -16318,29 +16203,6 @@ const char *Txt_Group_X_closed = // Warning: it is very important to include %s "Group %s closed"; // Çeviri lazim! #endif -const char *Txt_Group_X_closed_click_to_open_it = // Warning: it is very important to include %s in the following sentences -#if L==1 // ca - "Grup %s tancat; feu clic per obrir-lo"; -#elif L==2 // de - "Gruppe %s geschlossen, klicke zum Öffnen"; -#elif L==3 // en - "Group %s closed, click to open it"; -#elif L==4 // es - "Grupo %s cerrado; pulse para abrirlo"; -#elif L==5 // fr - "Groupe %s fermé, cliquez pour l'ouvrir"; -#elif L==6 // gn - "Grupo %s cerrado; pulse para abrirlo"; // Okoteve traducción -#elif L==7 // it - "Gruppo %s chiuso, clicca per aprirlo"; -#elif L==8 // pl - "Grupa %s zamknieta, kliknij zeby otworzyc"; -#elif L==9 // pt - "Grupo %s fechado, clique para abri-lo"; -#elif L==10 // tr - "Group %s closed, click to open it"; // Çeviri lazim! -#endif - const char *Txt_Group_name = #if L==1 // ca "Nom del grup"; @@ -16387,29 +16249,6 @@ const char *Txt_Group_X_open = // Warning: it is very important to include %s in "Group %s open"; // Çeviri lazim! #endif -const char *Txt_Group_X_open_click_to_close_it = // Warning: it is very important to include %s in the following sentences -#if L==1 // ca - "Grup %s obert, feu clic per tancar-lo"; -#elif L==2 // de - "Gruppe %s öffnen, klicken Sie, um es zu schließen"; -#elif L==3 // en - "Group %s open, click to close it"; -#elif L==4 // es - "Grupo %s abierto; pulse para cerrarlo"; -#elif L==5 // fr - "Groupe %s ouvert, cliquez pour le fermer"; -#elif L==6 // gn - "Grupo %s abierto; pulse para cerrarlo"; // Okoteve traducción -#elif L==7 // it - "Gruppo %s aperto, clicca per chiuderlo"; -#elif L==8 // pl - "Grupa %s otwarta, kliknij zeby zamknac"; -#elif L==9 // pt - "Grupo %s aberto, clique para fechá-lo"; -#elif L==10 // tr - "Group %s open, click to close it"; // Çeviri lazim! -#endif - const char *Txt_Group_X_removed = // Warning: it is very important to include %s in the following sentences #if L==1 // ca "Grup %s eliminat."; diff --git a/swad_text_action.c b/swad_text_action.c index 9f1475d6..2b2b300b 100644 --- a/swad_text_action.c +++ b/swad_text_action.c @@ -1350,48 +1350,48 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = , [ActFolUsr] = #if L==1 // ca - "Follow a user" // Necessita traducció + "Follow user" // Necessita traducció #elif L==2 // de - "Follow a user" // Need Übersetzung + "Follow user" // Need Übersetzung #elif L==3 // en - "Follow a user" + "Follow user" #elif L==4 // es - "Seguir a un usuario" + "Seguir usuario" #elif L==5 // fr - "Follow a user" // Besoin de traduction + "Follow user" // Besoin de traduction #elif L==6 // gn - "Seguir a un usuario" // Okoteve traducción + "Seguir usuario" // Okoteve traducción #elif L==7 // it - "Follow a user" // Bisogno di traduzione + "Follow user" // Bisogno di traduzione #elif L==8 // pl - "Follow a user" // Potrzebujesz tlumaczenie + "Follow user" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Follow a user" // Precisa de tradução + "Follow user" // Precisa de tradução #elif L==10 // tr - "Follow a user" // Çeviri lazim! + "Follow user" // Çeviri lazim! #endif , [ActUnfUsr] = #if L==1 // ca - "Unfollow a user" // Necessita traducció + "Unfollow user" // Necessita traducció #elif L==2 // de - "Unfollow a user" // Need Übersetzung + "Unfollow user" // Need Übersetzung #elif L==3 // en - "Unfollow a user" + "Unfollow user" #elif L==4 // es - "Dejar de seguir a un usuario" + "Dejar de seguir usuario" #elif L==5 // fr - "Unfollow a user" // Besoin de traduction + "Unfollow user" // Besoin de traduction #elif L==6 // gn - "Dejar de seguir a un usuario" // Okoteve traducción + "Dejar de seguir usuario" // Okoteve traducción #elif L==7 // it - "Unfollow a user" // Bisogno di traduzione + "Unfollow user" // Bisogno di traduzione #elif L==8 // pl - "Unfollow a user" // Potrzebujesz tlumaczenie + "Unfollow user" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Unfollow a user" // Precisa de tradução + "Unfollow user" // Precisa de tradução #elif L==10 // tr - "Unfollow a user" // Çeviri lazim! + "Unfollow user" // Çeviri lazim! #endif , [ActSeeFlg] = @@ -24145,48 +24145,48 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = , [ActOpeGrp] = #if L==1 // ca - "Open a group" // Necessita traducció + "Open group" // Necessita traducció #elif L==2 // de - "Open a group" // Need Übersetzung + "Open group" // Need Übersetzung #elif L==3 // en - "Open a group" + "Open group" #elif L==4 // es - "Abrir un grupo" + "Abrir grupo" #elif L==5 // fr - "Open a group" // Besoin de traduction + "Open group" // Besoin de traduction #elif L==6 // gn - "Abrir un grupo" // Okoteve traducción + "Abrir grupo" // Okoteve traducción #elif L==7 // it - "Open a group" // Bisogno di traduzione + "Open group" // Bisogno di traduzione #elif L==8 // pl - "Open a group" // Potrzebujesz tlumaczenie + "Open group" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Open a group" // Precisa de tradução + "Open group" // Precisa de tradução #elif L==10 // tr - "Open a group" // Çeviri lazim! + "Open group" // Çeviri lazim! #endif , [ActCloGrp] = #if L==1 // ca - "Close a group" // Necessita traducció + "Close group" // Necessita traducció #elif L==2 // de - "Close a group" // Need Übersetzung + "Close group" // Need Übersetzung #elif L==3 // en - "Close a group" + "Close group" #elif L==4 // es - "Cerrar un grupo" + "Cerrar grupo" #elif L==5 // fr - "Close a group" // Besoin de traduction + "Close group" // Besoin de traduction #elif L==6 // gn - "Cerrar un grupo" // Okoteve traducción + "Cerrar grupo" // Okoteve traducción #elif L==7 // it - "Close a group" // Bisogno di traduzione + "Close group" // Bisogno di traduzione #elif L==8 // pl - "Close a group" // Potrzebujesz tlumaczenie + "Close group" // Potrzebujesz tlumaczenie #elif L==9 // pt - "Close a group" // Precisa de tradução + "Close group" // Precisa de tradução #elif L==10 // tr - "Close a group" // Çeviri lazim! + "Close group" // Çeviri lazim! #endif , [ActEnaFilZonGrp] =