Version 21.103.3: Jun 30, 2022 Code refactoring in icons.

This commit is contained in:
acanas 2022-06-30 00:44:52 +02:00
parent bfbb32b4e2
commit be696099ee
10 changed files with 69 additions and 255 deletions

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. 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 CSS_FILE "swad21.100.css"
#define JS_FILE "swad21.100.js" #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.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.1: Jun 29, 2022 Code refactoring in icons. (328305 lines)
Version 21.103: Jun 29, 2022 Text in buttons got from text of actions. Version 21.103: Jun 29, 2022 Text in buttons got from text of actions.

View File

@ -771,7 +771,6 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
long ExaCod, // <= 0 ==> any long ExaCod, // <= 0 ==> any
const char *ExamsSelectedCommas) const char *ExamsSelectedCommas)
{ {
extern const char *Txt_Result;
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
struct UsrData *UsrDat; struct UsrData *UsrDat;
unsigned NumResults; unsigned NumResults;
@ -1049,14 +1048,17 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
case Usr_ME: case Usr_ME:
Frm_BeginForm (ActSeeOneExaResMe); Frm_BeginForm (ActSeeOneExaResMe);
ExaSes_PutParamsEdit (Exams); ExaSes_PutParamsEdit (Exams);
Ico_PutIconLink ("tasks.svg",Ico_BLACK,
Act_GetActionText (ActSeeOneExaResMe));
break; break;
case Usr_OTHER: case Usr_OTHER:
Frm_BeginForm (ActSeeOneExaResOth); Frm_BeginForm (ActSeeOneExaResOth);
ExaSes_PutParamsEdit (Exams); ExaSes_PutParamsEdit (Exams);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod); Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod);
Ico_PutIconLink ("tasks.svg",Ico_BLACK,
Act_GetActionText (ActSeeOneExaResOth));
break; break;
} }
Ico_PutIconLink ("tasks.svg",Ico_BLACK,Txt_Result);
Frm_EndForm (); Frm_EndForm ();
} }
else else

View File

@ -316,8 +316,6 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat,
extern const char *Txt_FOLLOWS_YOU; extern const char *Txt_FOLLOWS_YOU;
extern const char *Txt_Following; extern const char *Txt_Following;
extern const char *Txt_Followers; extern const char *Txt_Followers;
extern const char *Txt_Following_unfollow;
extern const char *Txt_Follow;
/***** Begin section *****/ /***** Begin section *****/
HTM_SECTION_Begin (Fol_FOLLOW_SECTION_ID); 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, HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,
IFollowUsr ? "user-check.svg" : IFollowUsr ? "user-check.svg" :
"user-plus.svg", "user-plus.svg",
IFollowUsr ? Txt_Following_unfollow : Act_GetActionText (IFollowUsr ? ActUnfUsr :
Txt_Follow, ActFolUsr),
"class=\"ICO_HIGHLIGHT ICO40x40\""); "class=\"ICO_HIGHLIGHT ICO40x40\"");
Frm_EndForm (); 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]) 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); Frm_BeginForm (ActFolUsr);
Usr_PutParamUsrCodEncrypted (EncryptedUsrCod); 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\"", "class=\"FOLLOW_USR_ICO ICO16x16 ICO_%s_%s ICO_HIGHLIGHT\"",
Ico_GetPreffix (Ico_BLACK),The_GetSuffix ()); Ico_GetPreffix (Ico_BLACK),The_GetSuffix ());
Frm_EndForm (); 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]) 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); Frm_BeginForm (ActUnfUsr);
Usr_PutParamUsrCodEncrypted (EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (EncryptedUsrCod);
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user-check.svg", HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user-check.svg",
Txt_Unfollow, Act_GetActionText (ActUnfUsr),
"class=\"FOLLOW_USR_ICO ICO_HIGHLIGHT ICO16x16\""); "class=\"FOLLOW_USR_ICO ICO_HIGHLIGHT ICO16x16\"");
Frm_EndForm (); Frm_EndForm ();
} }

View File

@ -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_X_allowed;
extern const char *Txt_FORUM_Post_banned; extern const char *Txt_FORUM_Post_banned;
extern const char *Txt_FORUM_Post_X_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; extern const char *Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_the_forums;
struct UsrData UsrDat; struct UsrData UsrDat;
time_t CreatTimeUTC; // Creation time of a post 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_ActionsEnbPstFor[Forums->Forum.Type],
For_FORUM_POSTS_SECTION_ID); For_FORUM_POSTS_SECTION_ID);
For_PutParamsForum (Forums); 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" : Ico_PutIconLink (Enabled ? "eye.svg" :
"eye-slash.svg", "eye-slash.svg",
Enabled ? Ico_GREEN : Enabled ? Ico_GREEN :
Ico_RED, Ico_RED,
Title); Act_GetActionText (Enabled ? For_ActionsDisPstFor[Forums->Forum.Type] :
free (Title); For_ActionsEnbPstFor[Forums->Forum.Type]));
Frm_EndForm (); Frm_EndForm ();
} }
else else
@ -1732,7 +1726,7 @@ static void For_WriteLinkToForum (const struct For_Forums *Forums,
Forum->Location, Forum->Location,
Forums->Thread.ToMove, Forums->Thread.ToMove,
-1L); -1L);
Ico_PutIconPaste (); Ico_PutIconPaste (For_ActionsPasThrFor[Forum->Type]);
Frm_EndForm (); Frm_EndForm ();
} }
} }
@ -2249,7 +2243,7 @@ static void For_ListForumThrs (struct For_Forums *Forums,
Forums->Forum.Location, Forums->Forum.Location,
Thr.ThrCod, Thr.ThrCod,
-1L); -1L);
Ico_PutIconCut (); Ico_PutIconCut (For_ActionsCutThrFor[Forums->Forum.Type]);
Frm_EndForm (); Frm_EndForm ();
} }

View File

@ -1404,10 +1404,6 @@ static void Grp_WriteHeadingGroupTypes (void)
static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms) 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_No_assigned_room;
extern const char *Txt_Another_room; extern const char *Txt_Another_room;
unsigned NumGrpTyp; unsigned NumGrpTyp;
@ -1417,7 +1413,6 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
struct GroupType *GrpTyp; struct GroupType *GrpTyp;
struct GroupType *GrpTypAux; struct GroupType *GrpTypAux;
struct Group *Grp; struct Group *Grp;
char *Title;
Rol_Role_t Role; Rol_Role_t Role;
char StrMaxStudents[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrMaxStudents[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
@ -1453,16 +1448,12 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
ActOpeGrp, ActOpeGrp,
Grp_GROUPS_SECTION_ID); Grp_GROUPS_SECTION_ID);
Grp_PutParamGrpCod (&Grp->GrpCod); 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" : Ico_PutIconLink (Grp->Open ? "unlock.svg" :
"lock.svg", "lock.svg",
Grp->Open ? Ico_GREEN : Grp->Open ? Ico_GREEN :
Ico_RED, Ico_RED,
Title); Act_GetActionText (Grp->Open ? ActCloGrp :
free (Title); ActOpeGrp));
Frm_EndForm (); Frm_EndForm ();
HTM_TD_End (); HTM_TD_End ();
@ -1472,16 +1463,12 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
ActEnaFilZonGrp, ActEnaFilZonGrp,
Grp_GROUPS_SECTION_ID); Grp_GROUPS_SECTION_ID);
Grp_PutParamGrpCod (&Grp->GrpCod); 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" : Ico_PutIconLink (Grp->FileZones ? "folder-open.svg" :
"folder.svg", "folder.svg",
Grp->FileZones ? Ico_GREEN : Grp->FileZones ? Ico_GREEN :
Ico_RED, Ico_RED,
Title); Act_GetActionText (Grp->FileZones ? ActDisFilZonGrp :
free (Title); ActEnaFilZonGrp));
Frm_EndForm (); Frm_EndForm ();
HTM_TD_End (); HTM_TD_End ();

View File

@ -454,22 +454,18 @@ void Ico_PutIconRemovalNotAllowed (void)
/*************************** Put an icon to cut ******************************/ /*************************** 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,Act_GetActionText (NextAction));
Ico_PutIconLink ("cut.svg",Ico_BLACK,Txt_Cut);
} }
/*****************************************************************************/ /*****************************************************************************/
/************************** Put an icon to paste *****************************/ /************************** 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,Act_GetActionText (NextAction));
Ico_PutIconLink ("paste.svg",Ico_BLACK,Txt_Paste);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -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_PutIconRemovalNotAllowed (void);
void Ico_PutIconCut (void); void Ico_PutIconCut (Act_Action_t NextAction);
void Ico_PutIconPaste (void); void Ico_PutIconPaste (Act_Action_t NextAction);
void Ico_PutIconNotVisible (void); void Ico_PutIconNotVisible (void);

View File

@ -716,7 +716,6 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
long GamCod, // <= 0 ==> any long GamCod, // <= 0 ==> any
const char *GamesSelectedCommas) const char *GamesSelectedCommas)
{ {
extern const char *Txt_Result;
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
struct UsrData *UsrDat; struct UsrData *UsrDat;
struct MchRes_ICanView ICanView; struct MchRes_ICanView ICanView;
@ -906,14 +905,17 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
case Usr_ME: case Usr_ME:
Frm_BeginForm (ActSeeOneMchResMe); Frm_BeginForm (ActSeeOneMchResMe);
Mch_PutParamsEdit (Games); Mch_PutParamsEdit (Games);
Ico_PutIconLink ("tasks.svg",Ico_BLACK,
Act_GetActionText (ActSeeOneMchResMe));
break; break;
case Usr_OTHER: case Usr_OTHER:
Frm_BeginForm (ActSeeOneMchResOth); Frm_BeginForm (ActSeeOneMchResOth);
Mch_PutParamsEdit (Games); Mch_PutParamsEdit (Games);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod); Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod);
Ico_PutIconLink ("tasks.svg",Ico_BLACK,
Act_GetActionText (ActSeeOneMchResOth));
break; break;
} }
Ico_PutIconLink ("tasks.svg",Ico_BLACK,Txt_Result);
Frm_EndForm (); Frm_EndForm ();
} }
else else

View File

@ -8086,29 +8086,6 @@ const char *Txt_Current_password =
"Mevcut &scedil;ifre"; "Mevcut &scedil;ifre";
#endif #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&itilde;";
#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 const char *Txt_Data = // Project data
#if L==1 // ca #if L==1 // ca
"Dades"; "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! "File zones of the group %s are now enabled."; // Çeviri lazim!
#endif #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&eacute;es, cliquez pour les d&eacute;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&aacute;-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&eacute;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&aacute;-las";
#elif L==10 // tr
"File zones of the group %s disabled, click to enable them"; // Çeviri lazim!
#endif
const char *Txt_Files = const char *Txt_Files =
#if L==1 // ca #if L==1 // ca
"Fitxers"; "Fitxers";
@ -15018,29 +14949,6 @@ const char *Txt_FORUM_Post_X_allowed = // Warning: it is very important to inclu
"Post %u allowed."; // Çeviri lazim! "Post %u allowed."; // Çeviri lazim!
#endif #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&egrave;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&eacute;. 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&aacute;-lo.";
#elif L==10 // tr
"Post %u allowed. Click to ban it."; // Çeviri lazim!
#endif
const char *Txt_FORUM_Post_and_thread_removed = const char *Txt_FORUM_Post_and_thread_removed =
#if L==1 // ca #if L==1 // ca
"Comentari i discussi&oacute; eliminats."; "Comentari i discussi&oacute; eliminats.";
@ -15110,29 +15018,6 @@ const char *Txt_FORUM_Post_X_banned = // Warning: it is very important to includ
"Post %u banned."; // Çeviri lazim! "Post %u banned."; // Çeviri lazim!
#endif #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&egrave;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&eacute;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&atilde;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 = const char *Txt_FORUM_Post_sent =
#if L==1 // ca #if L==1 // ca
"Comentari enviat."; "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! "Group %s closed"; // Çeviri lazim!
#endif #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 &Ouml;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&eacute;, 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 = const char *Txt_Group_name =
#if L==1 // ca #if L==1 // ca
"Nom del grup"; "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! "Group %s open"; // Çeviri lazim!
#endif #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 &ouml;ffnen, klicken Sie, um es zu schlie&szlig;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&aacute;-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 const char *Txt_Group_X_removed = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca #if L==1 // ca
"Grup <strong>%s</strong> eliminat."; "Grup <strong>%s</strong> eliminat.";

View File

@ -1350,48 +1350,48 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
, ,
[ActFolUsr] = [ActFolUsr] =
#if L==1 // ca #if L==1 // ca
"Follow a user" // Necessita traducció "Follow user" // Necessita traducció
#elif L==2 // de #elif L==2 // de
"Follow a user" // Need Übersetzung "Follow user" // Need Übersetzung
#elif L==3 // en #elif L==3 // en
"Follow a user" "Follow user"
#elif L==4 // es #elif L==4 // es
"Seguir a un usuario" "Seguir usuario"
#elif L==5 // fr #elif L==5 // fr
"Follow a user" // Besoin de traduction "Follow user" // Besoin de traduction
#elif L==6 // gn #elif L==6 // gn
"Seguir a un usuario" // Okoteve traducción "Seguir usuario" // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"Follow a user" // Bisogno di traduzione "Follow user" // Bisogno di traduzione
#elif L==8 // pl #elif L==8 // pl
"Follow a user" // Potrzebujesz tlumaczenie "Follow user" // Potrzebujesz tlumaczenie
#elif L==9 // pt #elif L==9 // pt
"Follow a user" // Precisa de tradução "Follow user" // Precisa de tradução
#elif L==10 // tr #elif L==10 // tr
"Follow a user" // Çeviri lazim! "Follow user" // Çeviri lazim!
#endif #endif
, ,
[ActUnfUsr] = [ActUnfUsr] =
#if L==1 // ca #if L==1 // ca
"Unfollow a user" // Necessita traducció "Unfollow user" // Necessita traducció
#elif L==2 // de #elif L==2 // de
"Unfollow a user" // Need Übersetzung "Unfollow user" // Need Übersetzung
#elif L==3 // en #elif L==3 // en
"Unfollow a user" "Unfollow user"
#elif L==4 // es #elif L==4 // es
"Dejar de seguir a un usuario" "Dejar de seguir usuario"
#elif L==5 // fr #elif L==5 // fr
"Unfollow a user" // Besoin de traduction "Unfollow user" // Besoin de traduction
#elif L==6 // gn #elif L==6 // gn
"Dejar de seguir a un usuario" // Okoteve traducción "Dejar de seguir usuario" // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"Unfollow a user" // Bisogno di traduzione "Unfollow user" // Bisogno di traduzione
#elif L==8 // pl #elif L==8 // pl
"Unfollow a user" // Potrzebujesz tlumaczenie "Unfollow user" // Potrzebujesz tlumaczenie
#elif L==9 // pt #elif L==9 // pt
"Unfollow a user" // Precisa de tradução "Unfollow user" // Precisa de tradução
#elif L==10 // tr #elif L==10 // tr
"Unfollow a user" // Çeviri lazim! "Unfollow user" // Çeviri lazim!
#endif #endif
, ,
[ActSeeFlg] = [ActSeeFlg] =
@ -24145,48 +24145,48 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
, ,
[ActOpeGrp] = [ActOpeGrp] =
#if L==1 // ca #if L==1 // ca
"Open a group" // Necessita traducció "Open group" // Necessita traducció
#elif L==2 // de #elif L==2 // de
"Open a group" // Need Übersetzung "Open group" // Need Übersetzung
#elif L==3 // en #elif L==3 // en
"Open a group" "Open group"
#elif L==4 // es #elif L==4 // es
"Abrir un grupo" "Abrir grupo"
#elif L==5 // fr #elif L==5 // fr
"Open a group" // Besoin de traduction "Open group" // Besoin de traduction
#elif L==6 // gn #elif L==6 // gn
"Abrir un grupo" // Okoteve traducción "Abrir grupo" // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"Open a group" // Bisogno di traduzione "Open group" // Bisogno di traduzione
#elif L==8 // pl #elif L==8 // pl
"Open a group" // Potrzebujesz tlumaczenie "Open group" // Potrzebujesz tlumaczenie
#elif L==9 // pt #elif L==9 // pt
"Open a group" // Precisa de tradução "Open group" // Precisa de tradução
#elif L==10 // tr #elif L==10 // tr
"Open a group" // Çeviri lazim! "Open group" // Çeviri lazim!
#endif #endif
, ,
[ActCloGrp] = [ActCloGrp] =
#if L==1 // ca #if L==1 // ca
"Close a group" // Necessita traducció "Close group" // Necessita traducció
#elif L==2 // de #elif L==2 // de
"Close a group" // Need Übersetzung "Close group" // Need Übersetzung
#elif L==3 // en #elif L==3 // en
"Close a group" "Close group"
#elif L==4 // es #elif L==4 // es
"Cerrar un grupo" "Cerrar grupo"
#elif L==5 // fr #elif L==5 // fr
"Close a group" // Besoin de traduction "Close group" // Besoin de traduction
#elif L==6 // gn #elif L==6 // gn
"Cerrar un grupo" // Okoteve traducción "Cerrar grupo" // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"Close a group" // Bisogno di traduzione "Close group" // Bisogno di traduzione
#elif L==8 // pl #elif L==8 // pl
"Close a group" // Potrzebujesz tlumaczenie "Close group" // Potrzebujesz tlumaczenie
#elif L==9 // pt #elif L==9 // pt
"Close a group" // Precisa de tradução "Close group" // Precisa de tradução
#elif L==10 // tr #elif L==10 // tr
"Close a group" // Çeviri lazim! "Close group" // Çeviri lazim!
#endif #endif
, ,
[ActEnaFilZonGrp] = [ActEnaFilZonGrp] =