Version 22.101.4: Apr 20, 2023 Changes in edition of plugins.

This commit is contained in:
acanas 2023-04-20 17:34:16 +02:00
parent 7d90c2d996
commit dc57c80734
8 changed files with 124 additions and 65 deletions

View File

@ -217,7 +217,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActSeeCty ] = { 862, 1,TabSys,ActSeeCty , 0, 0, 0, 0, 0, 0,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,Cty_ListCountries1 ,Cty_ListCountries2 ,"globe-americas" },
[ActSeePen ] = {1060, 2,TabSys,ActSeePen , 0, 0, 0, 0, 0, 0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Hie_SeePending ,"sitemap" },
[ActSeeLnk ] = { 748, 3,TabSys,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Lnk_SeeLinks ,"up-right-from-square" },
[ActLstPlg ] = { 777, 4,TabSys,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Plg_ListPlugins ,"puzzle-piece" },
[ActSeePlg ] = { 777, 4,TabSys,ActSeePlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Plg_ListPlugins ,"puzzle-piece" },
[ActMtn ] = {1820, 5,TabSys,ActMtn , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mtn_Maintenance ,"tools" },
// Actions not in menu:
@ -248,15 +248,15 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActRenLnkFul ] = { 751,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Lnk_RenameLinkFull ,Lnk_ContEditAfterChgLnk ,NULL},
[ActChgLnkWWW ] = { 752,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Lnk_ChangeLinkWWW ,Lnk_ContEditAfterChgLnk ,NULL},
[ActEdiPlg ] = { 778,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Plg_EditPlugins ,NULL},
[ActNewPlg ] = { 779,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ReceiveFormNewPlg ,Plg_ContEditAfterChgPlg ,NULL},
[ActRemPlg ] = { 889,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_RemovePlugin ,Plg_ContEditAfterChgPlg ,NULL},
[ActRenPlg ] = { 782,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_RenamePlugin ,Plg_ContEditAfterChgPlg ,NULL},
[ActChgPlgDes ] = { 888,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ChangePlgDescription ,Plg_ContEditAfterChgPlg ,NULL},
[ActChgPlgLog ] = { 781,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ChangePlgLogo ,Plg_ContEditAfterChgPlg ,NULL},
[ActChgPlgAppKey ] = { 986,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ChangePlgAppKey ,Plg_ContEditAfterChgPlg ,NULL},
[ActChgPlgURL ] = { 783,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ChangePlgURL ,Plg_ContEditAfterChgPlg ,NULL},
[ActChgPlgIP ] = { 780,-1,TabUnk,ActLstPlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ChangePlgIP ,Plg_ContEditAfterChgPlg ,NULL},
[ActEdiPlg ] = { 778,-1,TabUnk,ActSeePlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Plg_EditPlugins ,NULL},
[ActNewPlg ] = { 779,-1,TabUnk,ActSeePlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ReceiveFormNewPlg ,Plg_ContEditAfterChgPlg ,NULL},
[ActRemPlg ] = { 889,-1,TabUnk,ActSeePlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_RemovePlugin ,Plg_ContEditAfterChgPlg ,NULL},
[ActRenPlg ] = { 782,-1,TabUnk,ActSeePlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_RenamePlugin ,Plg_ContEditAfterChgPlg ,NULL},
[ActChgPlgDes ] = { 888,-1,TabUnk,ActSeePlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ChangePlgDescription ,Plg_ContEditAfterChgPlg ,NULL},
[ActChgPlgLog ] = { 781,-1,TabUnk,ActSeePlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ChangePlgLogo ,Plg_ContEditAfterChgPlg ,NULL},
[ActChgPlgAppKey ] = { 986,-1,TabUnk,ActSeePlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ChangePlgAppKey ,Plg_ContEditAfterChgPlg ,NULL},
[ActChgPlgURL ] = { 783,-1,TabUnk,ActSeePlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ChangePlgURL ,Plg_ContEditAfterChgPlg ,NULL},
[ActChgPlgIP ] = { 780,-1,TabUnk,ActSeePlg , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Plg_ChangePlgIP ,Plg_ContEditAfterChgPlg ,NULL},
[ActSetUp ] = { 840,-1,TabUnk,ActMtn , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mtn_SetUp ,NULL},
[ActReqRemOldCrs ] = {1109,-1,TabUnk,ActMtn , 0, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mtn_RemoveOldCrss ,NULL},
@ -2669,7 +2669,7 @@ Act_Action_t ActLst_FromActCodToAction[1 + ActLst_MAX_ACTION_COD] = // Do not re
ActChgPriPho, // #774
ActChgNtfPrf, // #775
ActRemPlc, // #776
ActLstPlg, // #777
ActSeePlg, // #777
ActEdiPlg, // #778
ActNewPlg, // #779
ActChgPlgIP, // #780

View File

@ -134,7 +134,7 @@
#define ActSeeCty (ActRenMaiFul + 2)
#define ActSeePen (ActRenMaiFul + 3)
#define ActSeeLnk (ActRenMaiFul + 4)
#define ActLstPlg (ActRenMaiFul + 5)
#define ActSeePlg (ActRenMaiFul + 5)
#define ActMtn (ActRenMaiFul + 6)
// Secondary actions

View File

@ -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.101.2 (2023-04-20)"
#define Log_PLATFORM_VERSION "SWAD 22.101.4 (2023-04-20)"
#define CSS_FILE "swad22.95.css"
#define JS_FILE "swad22.49.js"
/*
Version 22.101.4: Apr 20, 2023 Changes in edition of plugins. (337393 lines)
Version 22.101.3: Apr 20, 2023 Changes in edition of countries, institutions, centers, degrees and courses. (337338 lines)
Version 22.101.2: Apr 20, 2023 Changes in edition of places, holidays, links and banners. (337342 lines)
Version 22.101.1: Apr 20, 2023 Changes in edition of holidays. (337338 lines)

View File

@ -309,27 +309,50 @@ const char *Hlp_SYSTEM_Pending =
"SYSTEM.Pending.en";
#endif
const char *Hlp_SYSTEM_Maintenance_eliminate_old_courses =
const char *Hlp_SYSTEM_Links =
#if L==1
"SYSTEM.Maintenance.es#eliminar-asignaturas-antiguas";
"SYSTEM.Links.es";
#elif L==2
"SYSTEM.Maintenance.en#eliminate-old-courses";
"SYSTEM.Links.en";
#elif L==3
"SYSTEM.Maintenance.en#eliminate-old-courses";
"SYSTEM.Links.en";
#elif L==4
"SYSTEM.Maintenance.es#eliminar-asignaturas-antiguas";
"SYSTEM.Links.es";
#elif L==5
"SYSTEM.Maintenance.en#eliminate-old-courses";
"SYSTEM.Links.en";
#elif L==6
"SYSTEM.Maintenance.es#eliminar-asignaturas-antiguas";
"SYSTEM.Links.es";
#elif L==7
"SYSTEM.Maintenance.en#eliminate-old-courses";
"SYSTEM.Links.en";
#elif L==8
"SYSTEM.Maintenance.en#eliminate-old-courses";
"SYSTEM.Links.en";
#elif L==9
"SYSTEM.Maintenance.en#eliminate-old-courses";
"SYSTEM.Links.en";
#elif L==10 // tr
"SYSTEM.Maintenance.en#eliminate-old-courses";
"SYSTEM.Links.en";
#endif
const char *Hlp_SYSTEM_Links_edit =
#if L==1
"SYSTEM.Links.es#editar";
#elif L==2
"SYSTEM.Links.en#edit";
#elif L==3
"SYSTEM.Links.en#edit";
#elif L==4
"SYSTEM.Links.es#editar";
#elif L==5
"SYSTEM.Links.en#edit";
#elif L==6
"SYSTEM.Links.es#editar";
#elif L==7
"SYSTEM.Links.en#edit";
#elif L==8
"SYSTEM.Links.en#edit";
#elif L==9
"SYSTEM.Links.en#edit";
#elif L==10 // tr
"SYSTEM.Links.en#edit";
#endif
const char *Hlp_SYSTEM_Banners =
@ -378,50 +401,73 @@ const char *Hlp_SYSTEM_Banners_edit =
"SYSTEM.Banners.en#edit";
#endif
const char *Hlp_SYSTEM_Links =
const char *Hlp_SYSTEM_Plugins =
#if L==1
"SYSTEM.Links.es";
"SYSTEM.Plugins.es";
#elif L==2
"SYSTEM.Links.en";
"SYSTEM.Plugins.en";
#elif L==3
"SYSTEM.Links.en";
"SYSTEM.Plugins.en";
#elif L==4
"SYSTEM.Links.es";
"SYSTEM.Plugins.es";
#elif L==5
"SYSTEM.Links.en";
"SYSTEM.Plugins.en";
#elif L==6
"SYSTEM.Links.es";
"SYSTEM.Plugins.es";
#elif L==7
"SYSTEM.Links.en";
"SYSTEM.Plugins.en";
#elif L==8
"SYSTEM.Links.en";
"SYSTEM.Plugins.en";
#elif L==9
"SYSTEM.Links.en";
"SYSTEM.Plugins.en";
#elif L==10 // tr
"SYSTEM.Links.en";
"SYSTEM.Plugins.en";
#endif
const char *Hlp_SYSTEM_Links_edit =
const char *Hlp_SYSTEM_Plugins_edit =
#if L==1
"SYSTEM.Links.es#editar";
"SYSTEM.Plugins.es#editar";
#elif L==2
"SYSTEM.Links.en#edit";
"SYSTEM.Plugins.en#edit";
#elif L==3
"SYSTEM.Links.en#edit";
"SYSTEM.Plugins.en#edit";
#elif L==4
"SYSTEM.Links.es#editar";
"SYSTEM.Plugins.es#editar";
#elif L==5
"SYSTEM.Links.en#edit";
"SYSTEM.Plugins.en#edit";
#elif L==6
"SYSTEM.Links.es#editar";
"SYSTEM.Plugins.es#editar";
#elif L==7
"SYSTEM.Links.en#edit";
"SYSTEM.Plugins.en#edit";
#elif L==8
"SYSTEM.Links.en#edit";
"SYSTEM.Plugins.en#edit";
#elif L==9
"SYSTEM.Links.en#edit";
"SYSTEM.Plugins.en#edit";
#elif L==10 // tr
"SYSTEM.Links.en#edit";
"SYSTEM.Plugins.en#edit";
#endif
const char *Hlp_SYSTEM_Maintenance_eliminate_old_courses =
#if L==1
"SYSTEM.Maintenance.es#eliminar-asignaturas-antiguas";
#elif L==2
"SYSTEM.Maintenance.en#eliminate-old-courses";
#elif L==3
"SYSTEM.Maintenance.en#eliminate-old-courses";
#elif L==4
"SYSTEM.Maintenance.es#eliminar-asignaturas-antiguas";
#elif L==5
"SYSTEM.Maintenance.en#eliminate-old-courses";
#elif L==6
"SYSTEM.Maintenance.es#eliminar-asignaturas-antiguas";
#elif L==7
"SYSTEM.Maintenance.en#eliminate-old-courses";
#elif L==8
"SYSTEM.Maintenance.en#eliminate-old-courses";
#elif L==9
"SYSTEM.Maintenance.en#eliminate-old-courses";
#elif L==10 // tr
"SYSTEM.Maintenance.en#eliminate-old-courses";
#endif
/***** COUNTRY tab *****/

View File

@ -85,7 +85,7 @@ static const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_
[ 1] = ActSeeCty,
[ 2] = ActSeePen,
[ 3] = ActSeeLnk,
[ 4] = ActLstPlg,
[ 4] = ActSeePlg,
[ 5] = ActMtn,
},
[TabCty] = {

View File

@ -80,6 +80,7 @@ static struct Plg_Plugin *Plg_EditingPlg; // Plugin being edited.
/*****************************************************************************/
static void Plg_PutIconToEditPlugins (__attribute__((unused)) void *Args);
static void Plg_PutIconToViewPlugins (__attribute__((unused)) void *Args);
static void Plg_EditPluginsInternal (void);
static void Plg_GetPluginDataFromRow (MYSQL_RES *mysql_res,
@ -101,6 +102,7 @@ static void Plg_EditingPluginDestructor (void);
void Plg_ListPlugins (void)
{
extern const char *Hlp_SYSTEM_Plugins;
extern const char *Txt_Option_under_development;
extern const char *Txt_Plugins;
extern const char *Txt_Plugin;
@ -124,7 +126,7 @@ void Plg_ListPlugins (void)
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ? Plg_PutIconToEditPlugins :
NULL,
NULL,
NULL,Box_NOT_CLOSABLE,2);
Hlp_SYSTEM_Plugins,Box_NOT_CLOSABLE,2);
/***** Write table heading *****/
HTM_TR_Begin (NULL);
@ -186,6 +188,16 @@ static void Plg_PutIconToEditPlugins (__attribute__((unused)) void *Args)
NULL,NULL);
}
/*****************************************************************************/
/*************************** Put icon to view plugins ************************/
/*****************************************************************************/
static void Plg_PutIconToViewPlugins (__attribute__((unused)) void *Args)
{
Ico_PutContextualIconToView (ActSeePlg,NULL,
NULL,NULL);
}
/*****************************************************************************/
/************************** Put forms to edit plugins ************************/
/*****************************************************************************/
@ -204,6 +216,7 @@ void Plg_EditPlugins (void)
static void Plg_EditPluginsInternal (void)
{
extern const char *Hlp_SYSTEM_Plugins_edit;
extern const char *Txt_Plugins;
struct Plg_Plugins Plugins;
@ -212,8 +225,8 @@ static void Plg_EditPluginsInternal (void)
/***** Begin box *****/
Box_BoxBegin (NULL,Txt_Plugins,
NULL,NULL,
NULL,Box_NOT_CLOSABLE);
Plg_PutIconToViewPlugins,NULL,
Hlp_SYSTEM_Plugins_edit,Box_NOT_CLOSABLE);
/***** Put a form to create a new plugin *****/
Plg_PutFormToCreatePlugin ();
@ -389,7 +402,7 @@ static void Plg_ListPluginsForEdition (struct Plg_Plugins *Plugins)
ParCod_PutPar (ParCod_Plg,Plg->PlgCod);
HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg->Name,
HTM_SUBMIT_ON_CHANGE,
"size=\"10\" class=\"INPUT_%s\"",
"size=\"8\" class=\"INPUT_%s\"",
The_GetSuffix ());
Frm_EndForm ();
HTM_TD_End ();
@ -400,7 +413,7 @@ static void Plg_ListPluginsForEdition (struct Plg_Plugins *Plugins)
ParCod_PutPar (ParCod_Plg,Plg->PlgCod);
HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg->Description,
HTM_SUBMIT_ON_CHANGE,
"size=\"30\" class=\"INPUT_%s\"",
"size=\"16\" class=\"INPUT_%s\"",
The_GetSuffix ());
Frm_EndForm ();
HTM_TD_End ();
@ -422,7 +435,7 @@ static void Plg_ListPluginsForEdition (struct Plg_Plugins *Plugins)
ParCod_PutPar (ParCod_Plg,Plg->PlgCod);
HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg->AppKey,
HTM_SUBMIT_ON_CHANGE,
"size=\"16\" class=\"INPUT_%s\"",
"size=\"8\" class=\"INPUT_%s\"",
The_GetSuffix ());
Frm_EndForm ();
HTM_TD_End ();
@ -432,17 +445,17 @@ static void Plg_ListPluginsForEdition (struct Plg_Plugins *Plugins)
Frm_BeginForm (ActChgPlgURL);
ParCod_PutPar (ParCod_Plg,Plg->PlgCod);
HTM_INPUT_URL ("URL",Plg->URL,HTM_SUBMIT_ON_CHANGE,
"size=\"15\" class=\"INPUT_%s\"",
"size=\"8\" class=\"INPUT_%s\"",
The_GetSuffix ());
Frm_EndForm ();
HTM_TD_End ();
/* Plugin IP */
/* Plugin IP address */
HTM_TD_Begin ("class=\"CM\"");
Frm_BeginForm (ActChgPlgIP);
ParCod_PutPar (ParCod_Plg,Plg->PlgCod);
HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg->IP,HTM_SUBMIT_ON_CHANGE,
"size=\"10\" class=\"INPUT_%s\"",
"size=\"8\" class=\"INPUT_%s\"",
The_GetSuffix ());
Frm_EndForm ();
HTM_TD_End ();
@ -775,7 +788,6 @@ void Plg_ContEditAfterChgPlg (void)
static void Plg_PutFormToCreatePlugin (void)
{
extern const char *Txt_Plugin;
extern const char *Txt_Name;
extern const char *Txt_Description;
extern const char *Txt_Logo;
@ -788,7 +800,7 @@ static void Plg_PutFormToCreatePlugin (void)
Frm_BeginForm (ActNewPlg);
/***** Begin box and table *****/
Box_BoxTableBegin (NULL,Txt_Plugin,
Box_BoxTableBegin (NULL,NULL,
NULL,NULL,
NULL,Box_NOT_CLOSABLE,2);
@ -809,7 +821,7 @@ static void Plg_PutFormToCreatePlugin (void)
HTM_TD_Begin ("class=\"CM\"");
HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg_EditingPlg->Name,
HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"10\" class=\"INPUT_%s\""
"size=\"8\" class=\"INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -819,7 +831,7 @@ static void Plg_PutFormToCreatePlugin (void)
HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION,
Plg_EditingPlg->Description,
HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"30\" class=\"INPUT_%s\""
"size=\"16\" class=\"INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -837,7 +849,7 @@ static void Plg_PutFormToCreatePlugin (void)
HTM_TD_Begin ("class=\"CM\"");
HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg_EditingPlg->AppKey,
HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"16\" class=\"INPUT_%s\""
"size=\"8\" class=\"INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -845,7 +857,7 @@ static void Plg_PutFormToCreatePlugin (void)
/***** Plugin URL *****/
HTM_TD_Begin ("class=\"CM\"");
HTM_INPUT_URL ("URL",Plg_EditingPlg->URL,HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"15\" class=\"INPUT_%s\""
"size=\"8\" class=\"INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -854,7 +866,7 @@ static void Plg_PutFormToCreatePlugin (void)
HTM_TD_Begin ("class=\"CM\"");
HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg_EditingPlg->IP,
HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"10\" class=\"INPUT_%s\""
"size=\"8\" class=\"INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();

View File

@ -21174,7 +21174,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Bağlantılar"
#endif
,
// 4: ActLstPlg
// 4: ActSeePlg
#if L==1 // ca
"Complements"
#elif L==2 // de

View File

@ -1762,7 +1762,7 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
"See institutional links" // Çeviri lazim!
#endif
,
[ActLstPlg] =
[ActSeePlg] =
#if L==1 // ca
"List plugins" // Necessita traducció
#elif L==2 // de