Version 14.96

This commit is contained in:
Antonio Cañas Vargas 2015-03-18 19:52:07 +01:00
parent a523889228
commit 47a12a1446
5 changed files with 311 additions and 283 deletions

View File

@ -103,11 +103,12 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.95.1 (2015/03/18)"
#define Log_PLATFORM_VERSION "SWAD 14.96 (2015/03/18)"
// Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
/*
Version 14.96: Mar 18, 2015 New layout in record cards. (183011 lines)
Version 14.95.1: Mar 18, 2015 Show user's profile after followin or unfollowing. (182985 lines)
Version 14.95: Mar 18, 2015 New module swad_follow for follow users. (182903 lines)
1 change necessary in Makefile:

View File

@ -57,8 +57,8 @@ extern const char *Usr_StringsSexDB[Usr_NUM_SEXS];
/***************************** Private constants *****************************/
/*****************************************************************************/
#define Rec_INSTITUTION_LOGO_SIZE 64
#define Rec_DEGREE_LOGO_SIZE 64
#define Rec_INSTITUTION_LOGO_SIZE 48
#define Rec_DEGREE_LOGO_SIZE 48
#define Rec_SHOW_OFFICE_HOURS_DEFAULT true
/*****************************************************************************/
@ -1485,7 +1485,7 @@ void Rec_ShowCrsRecord (Rec_RecordViewType_t TypeOfView,struct UsrData *UsrDat)
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_RECORD_FIELD_VISIBILITY_RECORD[Rec_NUM_TYPES_VISIBILITY];
extern const char *Txt_Send;
unsigned RecordWidth = Rec_WIDTH_COURSE_RECORD;
unsigned RecordWidth = Rec_WIDTH_SHARE_RECORD_BIG;
char StrRecordWidth[10+1];
unsigned FrameWidth = 10;
unsigned Col1Width = 140;
@ -1514,13 +1514,15 @@ void Rec_ShowCrsRecord (Rec_RecordViewType_t TypeOfView,struct UsrData *UsrDat)
Act_FormStart (ActRcvRecCrs);
break;
}
RecordWidth = Rec_WIDTH_COURSE_RECORD; FrameWidth = 10;
//RecordWidth = Rec_WIDTH_COURSE_RECORD;
FrameWidth = 10;
ClassHead = "HEAD_REC_SMALL";
ClassData = "DAT_REC";
break;
case Rec_MY_COURSE_RECORD_CHECK:
case Rec_OTHER_USR_COURSE_RECORD_CHECK:
RecordWidth = Rec_WIDTH_COURSE_RECORD; FrameWidth = 10;
//RecordWidth = Rec_WIDTH_COURSE_RECORD;
FrameWidth = 10;
ClassHead = "HEAD_REC_SMALL";
ClassData = "DAT_REC_SMALL_BOLD";
break;
@ -1528,12 +1530,14 @@ void Rec_ShowCrsRecord (Rec_RecordViewType_t TypeOfView,struct UsrData *UsrDat)
DataForm = true;
Act_FormStart (ActRcvRecOthUsr);
Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod);
RecordWidth = Rec_WIDTH_COURSE_RECORD; FrameWidth = 10;
//RecordWidth = Rec_WIDTH_COURSE_RECORD;
FrameWidth = 10;
ClassHead = "HEAD_REC_SMALL";
ClassData = "DAT_REC_SMALL_BOLD";
break;
case Rec_RECORD_PRINT:
RecordWidth = Rec_WIDTH_COURSE_RECORD_PRINT; FrameWidth = 1;
//RecordWidth = Rec_WIDTH_COURSE_RECORD_PRINT;
FrameWidth = 1;
ClassHead = "HEAD_REC_SMALL";
ClassData = "DAT_REC_SMALL_BOLD";
break;
@ -2008,6 +2012,11 @@ void Rec_ShowCommonRecordUnmodifiable (struct UsrData *UsrDat)
/*****************************************************************************/
// Show form or only data depending on TypeOfView
#define C1_WIDTH 52
#define C2_WIDTH 144
#define C3_WIDTH 230
#define C4_WIDTH 154
void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
struct UsrData *UsrDat)
{
@ -2015,7 +2024,6 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
extern const char *Txt_View_record_card;
extern const char *Txt_Admin_user;
extern const char *Txt_ID;
extern const char *Txt_Nickname;
extern const char *Txt_Write_a_message;
extern const char *Txt_View_works;
extern const char *Txt_See_exams;
@ -2043,15 +2051,10 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
extern const char *Txt_Local_address;
extern const char *Txt_Family_address;
extern const char *Txt_USER_comments;
unsigned RecordWidth = Rec_WIDTH_SHARE_RECORD_BIG;
char StrRecordWidth[10+1];
unsigned FrameWidth = 10;
unsigned Col1Width = 130;
unsigned Col2Width;
unsigned Col3Width = 160;
unsigned Cols1and2Width;
unsigned Cols2and3Width;
const char *ClassHead,*ClassForm,*ClassData;
const char *ClassHead;
const char *ClassForm;
const char *ClassData;
char PhotoURL[PATH_MAX+1];
bool ItsMe = (Gbl.Usrs.Me.UsrDat.UsrCod == UsrDat->UsrCod);
bool IAmLoggedAsStudent = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT); // My current role is student
@ -2113,6 +2116,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
((TypeOfView == Rec_RECORD_LIST ||
TypeOfView == Rec_RECORD_PRINT) &&
UsrDat->RoleInCurrentCrsDB == Rol_ROLE_TEACHER)); // He/she is a teacher in the current course
unsigned CommandsRowspan;
Usr_Sex_t Sex;
Rol_Role_t Role;
Rol_Role_t DefaultRoleInCurrentCrs;
@ -2130,8 +2134,6 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
{
case Rec_FORM_SIGN_UP:
case Rec_FORM_MY_COMMON_RECORD:
RecordWidth = Rec_WIDTH_SHARE_RECORD_BIG;
FrameWidth = 10;
ClassHead = "HEAD_REC";
ClassForm = The_ClassFormul[Gbl.Prefs.Theme];
ClassData = "DAT_REC";
@ -2148,8 +2150,6 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_FormStart (ActUpdOthUsrDat);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod); // Existing user
}
RecordWidth = Rec_WIDTH_SHARE_RECORD_BIG;
FrameWidth = 10;
ClassHead = "HEAD_REC";
ClassForm = The_ClassFormul[Gbl.Prefs.Theme];
ClassData = "DAT_REC";
@ -2158,15 +2158,11 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
case Rec_OTHER_USR_COMMON_RECORD_CHECK:
case Rec_RECORD_LIST:
case Rec_RECORD_PUBLIC:
RecordWidth = Rec_WIDTH_SHARE_RECORD_SMALL;
FrameWidth = 10;
ClassHead = "HEAD_REC_SMALL";
ClassForm = "DAT_REC_SMALL";
ClassData = "DAT_REC_SMALL_BOLD";
break;
case Rec_RECORD_PRINT:
RecordWidth = Rec_WIDTH_SHARE_RECORD_PRINT;
FrameWidth = 1;
ClassHead = "HEAD_REC_SMALL";
ClassForm = "DAT_REC_SMALL";
ClassData = "DAT_REC_SMALL_BOLD";
@ -2174,50 +2170,60 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
default:
break;
}
Cols1and2Width = RecordWidth - FrameWidth*2 - Col3Width;
Col2Width = Cols1and2Width - Col1Width;
Cols2and3Width = Col2Width + Col3Width;
/***** Start frame *****/
sprintf (StrRecordWidth,"%upx",RecordWidth);
sprintf (StrRecordWidth,"%upx",Rec_WIDTH_SHARE_RECORD_BIG);
Lay_StartRoundFrameTable10 (StrRecordWidth,2,NULL);
/***** Institution *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" style=\"width:%upx;"
" text-align:left; vertical-align:top;\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td style=\"width:%upx;"
"<td style=\"width:%upx; height:%upx;"
" text-align:center; vertical-align:middle;\">",
Cols1and2Width,
Rec_INSTITUTION_LOGO_SIZE + 8);
C1_WIDTH,C1_WIDTH);
if (UsrDat->InsCod > 0)
{
Ins.InsCod = UsrDat->InsCod;
Ins_GetDataOfInstitutionByCod (&Ins,Ins_GET_MINIMAL_DATA);
Log_DrawLogo (Sco_SCOPE_INS,Ins.InsCod,Ins.ShortName,
Rec_INSTITUTION_LOGO_SIZE,NULL,true);
fprintf (Gbl.F.Out,"</td>"
"<td class=\"%s\" style=\"text-align:left;"
" vertical-align:middle;\">"
"%s",
ClassHead,Ins.FullName);
}
else
fprintf (Gbl.F.Out,"</td>"
"<td style=\"width:%upx;\">",
Col2Width);
fprintf (Gbl.F.Out,"</td>"
"</tr>"
"<tr>"
"<td style=\"width:%upx;"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; height:%upx;"
" text-align:left; vertical-align:middle;\">",
ClassHead,C2_WIDTH + C3_WIDTH,C1_WIDTH);
if (UsrDat->InsCod > 0)
fprintf (Gbl.F.Out,"%s",Ins.FullName);
fprintf (Gbl.F.Out,"</td>");
/***** Photo *****/
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL);
fprintf (Gbl.F.Out,"<td rowspan=\"2\" style=\"width:%upx;"
" text-align:center; vertical-align:top;\">",
Rec_INSTITUTION_LOGO_SIZE + 8);
C4_WIDTH);
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL,
"PHOTO150x200",Pho_NO_ZOOM);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/***** Commands *****/
CommandsRowspan = 2; // Name + Webs/social networks
if (ShowIDRows)
CommandsRowspan += 6; // Email, ID, Role, Surname1, Surname2, Firstname
CommandsRowspan += 1; // Country
if (ShowAddressRows)
CommandsRowspan += 7; // Origin place, Date of birth, Local address, Local phone
// Family address, Family phone, Common comments for all the courses
if (ShowTeacherRows)
CommandsRowspan += 5; // Institution, Centre, Department, Office, Phone
fprintf (Gbl.F.Out,"<tr>"
"<td rowspan=\"%u\" style=\"width:%upx; vertical-align:top;\">",
CommandsRowspan,C1_WIDTH);
if (CommandForms)
{
fprintf (Gbl.F.Out,"<div style=\"width:44px; margin:6px auto 0 auto;\">");
fprintf (Gbl.F.Out,"<div style=\"width:20px; margin:6px auto;\">");
/***** Button to view user's record card when:
- viewing public profile &&
@ -2380,43 +2386,19 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
fprintf (Gbl.F.Out,"</div>");
}
fprintf (Gbl.F.Out,"</td>");
/***** Full name *****/
fprintf (Gbl.F.Out,"</td>"
"<td class=\"REC_NAME\" style=\"text-align:left;"
" vertical-align:top;\">"
"%s<br />%s<br />%s"
"</td>"
"</tr>"
"</table>"
"</td>",
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"REC_NAME\" style=\"width:%upx;"
" text-align:left; vertical-align:top;\">"
"%s<br />%s<br />%s",
C2_WIDTH + C3_WIDTH,
UsrDat->FirstName ,
UsrDat->Surname1,
UsrDat->Surname2);
/***** Photo *****/
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL);
fprintf (Gbl.F.Out,"<td class=\"%s\" style=\"width:%upx;"
" text-align:center; vertical-align:top;\">",
TypeOfView == Rec_FORM_MY_COMMON_RECORD ? ClassForm :
ClassData,
Col3Width);
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL,
"PHOTO150x200",Pho_NO_ZOOM);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/***** User's nickname *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
"%s:"
"</td>"
"<td class=\"REC_NICK\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,
Txt_Nickname,
Col2Width);
fprintf (Gbl.F.Out,"<div class=\"REC_NICK\" style=\"margin-top:20px;\">");
if (UsrDat->Nickname[0])
{
if (GoToPublicProfileForm)
@ -2437,27 +2419,34 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
if (!DataForm)
QR_PutLinkToPrintQRCode (QR_NICKNAME,UsrDat,false);
}
fprintf (Gbl.F.Out,"</td>");
fprintf (Gbl.F.Out,"</div>"
"</td>"
"</tr>");
/***** User's web and social networks *****/
fprintf (Gbl.F.Out,"<td style=\"width:%upx;"
" vertical-align:top;\">",
Col3Width);
fprintf (Gbl.F.Out,"<tr>"
"<td style=\"width:%upx;\">"
"<td style=\"width:%upx;\">"
"<td style=\"width:%upx;\">"
"<div style=\"vertical-align:top; margin:0 auto;\">",
C2_WIDTH,C3_WIDTH,C4_WIDTH);
Net_ShowWebsAndSocialNets (UsrDat);
fprintf (Gbl.F.Out,"</td>"
fprintf (Gbl.F.Out,"</div>"
"</td>"
"</tr>");
if (ShowIDRows)
{
/***** User's e-mail *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
"<td class=\"%s\""
" style=\"width:%upx; text-align:right;\">"
"%s:"
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Email,
ClassData,Col2Width);
ClassForm,C2_WIDTH,Txt_Email,
ClassData,C3_WIDTH + C4_WIDTH);
if (UsrDat->Email[0])
{
if (ShowEmail)
@ -2471,17 +2460,19 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
else
fprintf (Gbl.F.Out,"********");
}
fprintf (Gbl.F.Out,"</td>");
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/***** User's ID *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
"<td class=\"%s\""
" style=\"width:%upx; text-align:right;\">"
"%s:"
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_ID,
ClassData,Col2Width);
ClassForm,C2_WIDTH,Txt_ID,
ClassData,C3_WIDTH + C4_WIDTH);
ID_WriteUsrIDs (UsrDat,ShowID);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
@ -2492,7 +2483,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\""
" style=\"width:%upx; text-align:right;\">",
ClassForm,Col1Width);
ClassForm,C2_WIDTH);
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
fprintf (Gbl.F.Out,"%s*",Txt_Sex);
else
@ -2500,7 +2491,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
fprintf (Gbl.F.Out,":</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassData,Col2Width);
ClassData,C3_WIDTH + C4_WIDTH);
switch (TypeOfView)
{
case Rec_FORM_SIGN_UP: // I want to apply for enrollment
@ -2527,7 +2518,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
fprintf (Gbl.F.Out,"<input type=\"radio\" name=\"Sex\" value=\"%u\"",(unsigned) Sex);
if (Sex == Gbl.Usrs.Me.UsrDat.Sex)
fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," /><img src=\"%s/%s16x16.gif\" alt=\"%s\""
fprintf (Gbl.F.Out," />"
"<img src=\"%s/%s16x16.gif\" alt=\"%s\""
" class=\"ICON16x16\""
" style=\"vertical-align:bottom;\" />%s",
Gbl.Prefs.IconsURL,Usr_StringsSexDB[Sex],
@ -2616,8 +2608,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
}
else // RoleForm == false
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\" style=\"width:%upx;"
" text-align:right;\">"
"<td class=\"%s\""
" style=\"width:%upx; text-align:right;\">"
"%s:"
"</td>"
"<td colspan=\"2\" class=\"%s\""
@ -2625,29 +2617,32 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"%s"
"</td>"
"</tr>",
ClassForm,Col1Width,
ClassForm,C2_WIDTH,
TypeOfView == Rec_MY_COMMON_RECORD_CHECK ? Txt_Sex :
Txt_Role,
ClassData,Col2Width,
ClassData,C3_WIDTH + C4_WIDTH,
TypeOfView == Rec_MY_COMMON_RECORD_CHECK ? Txt_SEX_SINGULAR_Abc[UsrDat->Sex] :
Txt_ROLES_SINGUL_Abc[UsrDat->RoleInCurrentCrsDB][UsrDat->Sex]);
/***** Name *****/
/* Surname 1 */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
"<td class=\"%s\""
" style=\"width:%upx; text-align:right;\">"
"%s",
ClassForm,Col1Width,Txt_Surname_1);
ClassForm,C2_WIDTH,Txt_Surname_1);
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
fprintf (Gbl.F.Out,"*");
fprintf (Gbl.F.Out,":</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassData,Cols2and3Width);
ClassData,C3_WIDTH + C4_WIDTH);
if (DataForm)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"Surname1\""
" style=\"width:400px;\" maxlength=\"%u\" value=\"%s\" />",
Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,UsrDat->Surname1);
" style=\"width:%upx;\" maxlength=\"%u\" value=\"%s\" />",
C3_WIDTH + C4_WIDTH - 40,
Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,
UsrDat->Surname1);
else if (UsrDat->Surname1[0])
fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->Surname1);
fprintf (Gbl.F.Out,"</td>"
@ -2655,18 +2650,21 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
/* Surname 2 */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
"<td class=\"%s\""
" style=\"width:%upx; text-align:right;\">"
"%s:"
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,
ClassForm,C2_WIDTH,
Txt_Surname_2,
ClassData,Cols2and3Width);
ClassData,C3_WIDTH + C4_WIDTH);
if (DataForm)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"Surname2\""
" style=\"width:400px;\" maxlength=\"%u\" value=\"%s\" />",
Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,UsrDat->Surname2);
" style=\"width:%upx;\" maxlength=\"%u\" value=\"%s\" />",
C3_WIDTH + C4_WIDTH - 40,
Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,
UsrDat->Surname2);
else if (UsrDat->Surname2[0])
fprintf (Gbl.F.Out,"<strong>%s</strong>",
UsrDat->Surname2);
@ -2675,19 +2673,22 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
/* First name */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\" style=\"width:%upx; text-align:right;\">"
"<td class=\"%s\""
" style=\"width:%upx; text-align:right;\">"
"%s",
ClassForm,Col1Width,Txt_First_name);
ClassForm,C2_WIDTH,Txt_First_name);
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
fprintf (Gbl.F.Out,"*");
fprintf (Gbl.F.Out,":</td>"
"<td class=\"%s\" colspan=\"2\""
" style=\"width:%upx; text-align:left;\">",
ClassData,Cols2and3Width);
ClassData,C3_WIDTH + C4_WIDTH);
if (DataForm)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"FirstName\""
" style=\"width:400px;\" maxlength=\"%u\" value=\"%s\" />",
Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,UsrDat->FirstName);
" style=\"width:%upx;\" maxlength=\"%u\" value=\"%s\" />",
C3_WIDTH + C4_WIDTH - 40,
Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,
UsrDat->FirstName);
else if (UsrDat->FirstName[0])
fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->FirstName);
fprintf (Gbl.F.Out,"</td>"
@ -2699,13 +2700,13 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"<td class=\"%s\""
" style=\"width:%upx; text-align:right;\">"
"%s",
ClassForm,Col1Width,Txt_Country);
ClassForm,C2_WIDTH,Txt_Country);
if (TypeOfView == Rec_FORM_MY_COMMON_RECORD)
fprintf (Gbl.F.Out,"*");
fprintf (Gbl.F.Out,":</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassData,Cols2and3Width);
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
{
if (DataForm)
@ -2717,9 +2718,10 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Cty_GetListCountries (Cty_GET_ONLY_COUNTRIES);
}
fprintf (Gbl.F.Out,"<select name=\"OthCtyCod\" style=\"width:400px;\">"
fprintf (Gbl.F.Out,"<select name=\"OthCtyCod\" style=\"width:%upx;\">"
"<option value=\"-1\">&nbsp;</option>"
"<option value=\"0\"");
"<option value=\"0\"",
C3_WIDTH + C4_WIDTH - 40);
if (UsrDat->CtyCod == 0)
fprintf (Gbl.F.Out," selected=\"selected\"");
fprintf (Gbl.F.Out,">%s</option>",Txt_Another_country);
@ -2755,14 +2757,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Place_of_origin,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_Place_of_origin,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
{
if (DataForm)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"OriginPlace\""
" style=\"width:400px;\" maxlength=\"%u\" value=\"%s\" />",
Cns_MAX_LENGTH_STRING,UsrDat->OriginPlace);
" style=\"width:%upx;\" maxlength=\"%u\" value=\"%s\" />",
C3_WIDTH + C4_WIDTH - 40,
Cns_MAX_LENGTH_STRING,
UsrDat->OriginPlace);
else if (UsrDat->OriginPlace[0])
fprintf (Gbl.F.Out,"%s",UsrDat->OriginPlace);
}
@ -2777,8 +2781,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Date_of_birth,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_Date_of_birth,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
{
if (DataForm)
@ -2801,14 +2805,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Local_address,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_Local_address,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
{
if (DataForm)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"LocalAddress\""
" style=\"width:400px;\" maxlength=\"%u\" value=\"%s\" />",
Cns_MAX_LENGTH_STRING,UsrDat->LocalAddress);
" style=\"width:%upx;\" maxlength=\"%u\" value=\"%s\" />",
C3_WIDTH + C4_WIDTH - 40,
Cns_MAX_LENGTH_STRING,
UsrDat->LocalAddress);
else if (UsrDat->LocalAddress[0])
fprintf (Gbl.F.Out,"%s",UsrDat->LocalAddress);
}
@ -2823,14 +2829,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Phone,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_Phone,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
{
if (DataForm)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"LocalPhone\""
" style=\"width:400px;\" maxlength=\"%u\" value=\"%s\" />",
Usr_MAX_LENGTH_PHONE,UsrDat->LocalPhone);
" style=\"width:%upx;\" maxlength=\"%u\" value=\"%s\" />",
C3_WIDTH + C4_WIDTH - 40,
Usr_MAX_LENGTH_PHONE,
UsrDat->LocalPhone);
else if (UsrDat->LocalPhone[0])
fprintf (Gbl.F.Out,"%s",UsrDat->LocalPhone);
}
@ -2845,14 +2853,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Family_address,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_Family_address,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
{
if (DataForm)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"FamilyAddress\""
" style=\"width:400px;\" maxlength=\"%u\" value=\"%s\" />",
Cns_MAX_LENGTH_STRING,UsrDat->FamilyAddress);
" style=\"width:%upx;\" maxlength=\"%u\" value=\"%s\" />",
C3_WIDTH + C4_WIDTH - 40,
Cns_MAX_LENGTH_STRING,
UsrDat->FamilyAddress);
else if (UsrDat->FamilyAddress[0])
fprintf (Gbl.F.Out,"%s",UsrDat->FamilyAddress);
}
@ -2867,14 +2877,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Phone,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_Phone,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
{
if (DataForm)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"FamilyPhone\""
" style=\"width:400px;\" maxlength=\"%u\" value=\"%s\" />",
Usr_MAX_LENGTH_PHONE,UsrDat->FamilyPhone);
" style=\"width:%upx;\" maxlength=\"%u\" value=\"%s\" />",
C3_WIDTH + C4_WIDTH - 40,
Usr_MAX_LENGTH_PHONE,
UsrDat->FamilyPhone);
else if (UsrDat->FamilyPhone[0])
fprintf (Gbl.F.Out,"%s",UsrDat->FamilyPhone);
}
@ -2889,13 +2901,14 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\" style=\"width:%upx;"
" text-align:left; vertical-align:top;\">",
ClassForm,Col1Width,Txt_USER_comments,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_USER_comments,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
{
if (DataForm)
fprintf (Gbl.F.Out,"<textarea name=\"Comments\" rows=\"3\""
" style=\"width:400px;\">%s</textarea>",
" style=\"width:%upx;\">%s</textarea>",
C3_WIDTH + C4_WIDTH - 40,
UsrDat->Comments);
else if (UsrDat->Comments[0])
{
@ -2919,8 +2932,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Institution,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_Institution,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
{
if (UsrDat->InsCod > 0)
@ -2944,8 +2957,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Centre,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_Centre,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
{
if (UsrDat->Tch.CtrCod > 0)
@ -2971,8 +2984,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Department,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_Department,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
{
if (UsrDat->Tch.DptCod > 0)
@ -2998,8 +3011,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Office,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_Office,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
fprintf (Gbl.F.Out,"%s",UsrDat->Tch.Office);
fprintf (Gbl.F.Out,"</td>"
@ -3013,8 +3026,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">",
ClassForm,Col1Width,Txt_Phone,
ClassData,Cols2and3Width);
ClassForm,C2_WIDTH,Txt_Phone,
ClassData,C3_WIDTH + C4_WIDTH);
if (ShowData)
fprintf (Gbl.F.Out,"%s",UsrDat->Tch.OfficePhone);
fprintf (Gbl.F.Out,"</td>"

View File

@ -36,10 +36,10 @@
/*****************************************************************************/
#define Rec_WIDTH_SHARE_RECORD_BIG 580
#define Rec_WIDTH_SHARE_RECORD_SMALL 540
#define Rec_WIDTH_SHARE_RECORD_PRINT 540
#define Rec_WIDTH_COURSE_RECORD Rec_WIDTH_SHARE_RECORD_SMALL
#define Rec_WIDTH_COURSE_RECORD_PRINT Rec_WIDTH_SHARE_RECORD_PRINT
// #define Rec_WIDTH_SHARE_RECORD_SMALL 540
// #define Rec_WIDTH_SHARE_RECORD_PRINT 540
// #define Rec_WIDTH_COURSE_RECORD Rec_WIDTH_SHARE_RECORD_BIG
// #define Rec_WIDTH_COURSE_RECORD_PRINT Rec_WIDTH_SHARE_RECORD_BIG
#define Rec_MAX_LENGTH_NAME_FIELD 255
#define Rec_MIN_LINES_IN_EDITION_FIELD 1

View File

@ -360,7 +360,7 @@ const char *Txt_Go_to_NO_HTML[Txt_NUM_LANGUAGES] = // Don't use HTML entities li
const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_HTML = // Don't use HTML entities like &egrave; here
#if L==0
"Si usted acaba de solicitar desde %s"
" la confirmación de su correo electrónico %s,"
" la confirmación de su correo %s,"
" pulse en el siguiente enlace"
" para confirmar dicha dirección:"
" %s/?act=%ld&key=%s\n\n"
@ -387,7 +387,7 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
" if you have confirmed your e-mail address.\n\n";
#elif L==3
"Si usted acaba de solicitar desde %s"
" la confirmación de su correo electrónico %s,"
" la confirmación de su correo %s,"
" pulse en el siguiente enlace"
" para confirmar dicha dirección:"
" %s/?act=%ld&key=%s\n\n"
@ -405,7 +405,7 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
" if you have confirmed your e-mail address.\n\n"; // Besoin de traduction
#elif L==5
"Si usted acaba de solicitar desde %s"
" la confirmación de su correo electrónico %s,"
" la confirmación de su correo %s,"
" pulse en el siguiente enlace"
" para confirmar dicha dirección:"
" %s/?act=%ld&key=%s\n\n"
@ -443,17 +443,17 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
const char *Txt_If_you_no_longer_wish_to_receive_email_notifications_NO_HTML[Txt_NUM_LANGUAGES] = // Don't use HTML entities like &egrave; here
{
"Si no desitgeu rebre més avisos per correu electrònicc,"
"Si no desitgeu rebre més avisos per correu,"
" desactiveu la opció corresponent en les preferències del seu perfil.",
"Wenn Sie nicht mehr erhalten möchten, E-Mail-Benachrichtigungen,"
" Deaktivieren Sie die Option in den Einstellungen Ihres Profils.",
"If you no longer wish to receive e-mail notifications,"
" uncheck the option in the preferences of your profile.",
"Si no desea recibir más avisos por correo electrónico,"
"Si no desea recibir más avisos por correo,"
" desactive la opción correspondiente en las preferencias de su perfil.",
"Si vous ne souhaitez plus recevoir de notifications par e-mail,"
" décochez l'option dans les préférences de votre profil.",
"Si no desea recibir más avisos por correo electrónico,"
"Si no desea recibir más avisos por correo,"
" desactive la opción correspondiente en las preferencias de su perfil.", // Okoteve traducción
"Se non desideri più ricevere notifiche via e-mail,"
" deselezionare l'opzione nelle preferenze del tuo profilo.",
@ -724,12 +724,12 @@ const char *Txt_only_teachers_NO_HTML[Txt_NUM_LANGUAGES] = // Don't use HTML ent
const char *Txt_Please_do_not_reply_to_this_automatically_generated_email_NO_HTML[Txt_NUM_LANGUAGES] = // Don't use HTML entities like &egrave; here
{
"Si us plau, no respongui a aquest correu electrònic generat automàticament.",
"Si us plau, no respongui a aquest correu generat automàticament.",
"Bitte, antworten Sie nicht auf diese automatisch generierte E-Mail.",
"Please do not reply to this automatically generated e-mail.",
"Por favor, no responda a este correo electrónico generado automáticamente.",
"Por favor, no responda a este correo generado automáticamente.",
"S'il vous plaît, ne pas répondre à ce courrier électronique généré automatiquement.",
"Por favor, no responda a este correo electrónico generado automáticamente.", // Okoteve traducción
"Por favor, no responda a este correo generado automáticamente.", // Okoteve traducción
"Per favore, non rispondere a questa e-mail generata automaticamente.",
"Prosimy nie odpowiadac na to automatycznie wygenerowany e-mail.",
"Por favor, não responda a este e-mail gerado automaticamente.",
@ -787,13 +787,13 @@ const char *Txt_The_following_password_has_been_assigned_to_you_to_log_in_X_NO_H
#elif L==3
"Se le ha asignado la siguiente contraseña para entrar en %s: %s\n"
"Si desea activar esta nueva contraseña,"
" debe entrar en %s con su ID (DNI/cédula), apodo o dirección de correo electrónico"
" debe entrar en %s con su ID (DNI/cédula), apodo o dirección de correo"
" y esta nueva contraseña antes de %u días."
" Una vez que haya entrado, puede cambiar la contraseña por otra.\n"
"Si no accede con esta nueva contraseña,"
" seguirá teniendo la contraseña que tuviera hasta ahora.\n"
"Si ha recibido este mensaje sin solicitarlo,"
" se debe a que alguien que conoce su ID (DNI/cédula), su apodo o su dirección de correo electrónico"
" se debe a que alguien que conoce su ID (DNI/cédula), su apodo o su dirección de correo"
" ha solicitado el envío de una nueva contraseña para usted.\n"
"Esta nueva contraseña se ha enviado sólo a la dirección de correo %s,"
" que es la que aparece en su ficha.\n\n";
@ -811,13 +811,13 @@ const char *Txt_The_following_password_has_been_assigned_to_you_to_log_in_X_NO_H
#elif L==5
"Se le ha asignado la siguiente contraseña para entrar en %s: %s\n"
"Si desea activar esta nueva contraseña,"
" debe entrar en %s con su ID (DNI/c&eacute;dula), apodo o dirección de correo electrónico"
" debe entrar en %s con su ID (DNI/c&eacute;dula), apodo o dirección de correo"
" y esta nueva contraseña antes de %u días."
" Una vez que haya entrado, puede cambiar la contraseña por otra.\n"
"Si no accede con esta nueva contraseña,"
" seguirá teniendo la contraseña que tuviera hasta ahora.\n"
"Si ha recibido este mensaje sin solicitarlo,"
" se debe a que alguien que conoce su ID (DNI/cédula), su apodo o su dirección de correo electrónico"
" se debe a que alguien que conoce su ID (DNI/cédula), su apodo o su dirección de correo"
" ha solicitado el envío de una nueva contraseña para usted.\n"
"Esta nueva contraseña se ha enviado sólo a la dirección de correo %s,"
" que es la que aparece en su ficha.\n\n"; // Okoteve traducción
@ -1264,7 +1264,7 @@ const char *Txt_A_face_marked_in_red_has_been_detected_ =
const char *Txt_A_message_has_been_sent_to_email_address_X_to_confirm_that_address = // Warning: it is very important to include %s in the following sentences
#if L==0
"Se ha enviado un mensaje"
" a la direcci&oacute;n de correo electr&oacute;nico %s"
" a la direcci&oacute;n de correo %s"
" para confirmar dicha direcci&oacute;n."; // Necessita traduccio
#elif L==1
"A message has been sent"
@ -1276,7 +1276,7 @@ const char *Txt_A_message_has_been_sent_to_email_address_X_to_confirm_that_addre
" to confirm that address.";
#elif L==3
"Se ha enviado un mensaje"
" a la direcci&oacute;n de correo electr&oacute;nico %s"
" a la direcci&oacute;n de correo %s"
" para confirmar dicha direcci&oacute;n.";
#elif L==4
"A message has been sent"
@ -1284,7 +1284,7 @@ const char *Txt_A_message_has_been_sent_to_email_address_X_to_confirm_that_addre
" to confirm that address."; // Besoin de traduction
#elif L==5
"Se ha enviado un mensaje"
" a la direcci&oacute;n de correo electr&oacute;nico %s"
" a la direcci&oacute;n de correo %s"
" para confirmar dicha direcci&oacute;n."; // Okoteve traducción
#elif L==6
"A message has been sent"
@ -3428,7 +3428,7 @@ const char *Txt_Before_going_to_any_other_option_you_must_fill_your_record_card_
const char *Txt_Before_going_to_any_other_option_you_must_fill_your_email_address =
#if L==0
"Abans d'accedir a qualsevol altra opci&oacute;"
" ha de omplir la seva adre&ccedil;a de correu electr&ograve;nic.";
" ha de omplir la seva adre&ccedil;a de correu.";
#elif L==1
"Bevor ich auf jede andere Option"
" m&uuml;ssen Sie Ihre E-Mail-Adresse ein.";
@ -3437,13 +3437,13 @@ const char *Txt_Before_going_to_any_other_option_you_must_fill_your_email_addres
" you must fill your email address.";
#elif L==3
"Antes de acceder a cualquier otra opci&oacute;n"
" debe rellenar su direcci&oacute;n de correo electr&oacute;nico.";
" debe rellenar su direcci&oacute;n de correo.";
#elif L==4
"Avant d'aller &agrave; une autre option"
" vous devez remplir votre adresse e-mail.";
#elif L==5
"Antes de acceder a cualquier otra opci&oacute;n"
" debe rellenar su direcci&oacute;n de correo electr&oacute;nico."; // Okoteve traducción
" debe rellenar su direcci&oacute;n de correo."; // Okoteve traducción
#elif L==6
"Prima di scegliere qualsiasi altra opzione"
" devi compilare il tuo indirizzo e-mail.";
@ -4859,17 +4859,17 @@ const char *Txt_Confirm =
const char *Txt_Confirm_email =
#if L==0
"Confirmar correu electr&ograve;nic";
"Confirmar correu";
#elif L==1
"E-Mail best&auml;tigen";
#elif L==2
"Confirm e-mail";
#elif L==3
"Confirmar correo electr&oacute;nico";
"Confirmar correo";
#elif L==4
"Confirmer courrier &eacute;lectronique";
"Confirmer courrier";
#elif L==5
"Confirmar correo electr&oacute;nico"; // Okoteve traducción
"Confirmar correo"; // Okoteve traducción
#elif L==6
"Confermare e-mail";
#elif L==7
@ -5844,17 +5844,17 @@ const char *Txt_Create_department =
const char *Txt_Create_e_mail_message =
#if L==0
"Crear mensaje de correo electr&oacute;nico"; // Necessita traduccio
"Crear mensaje de correo"; // Necessita traduccio
#elif L==1
"Neue E-Mail-Nachricht";
#elif L==2
"Create e-mail message";
#elif L==3
"Crear mensaje de correo electr&oacute;nico";
"Crear mensaje de correo";
#elif L==4
"Cr&eacute;er un e-mail message";
#elif L==5
"Crear mensaje de correo electr&oacute;nico"; // Okoteve traducción
"Crear mensaje de correo"; // Okoteve traducción
#elif L==6
"Crea messaggio e-mail";
#elif L==7
@ -6705,17 +6705,17 @@ const char *Txt_crs = // Abbreviation of "course" (three characters + dot)
const char *Txt_Current_email =
#if L==0
"Correu electr&ograve;nic actual";
"Correu actual";
#elif L==1
"Aktueller E-Mail";
#elif L==2
"Current e-mail";
#elif L==3
"Correo electr&oacute;nico actual";
"Correo actual";
#elif L==4
"Courrier &eacute;lectronique actuel";
"Courrier actuel";
#elif L==5
"Correo electr&oacute;nico actual"; // Okoteve traducción
"Correo actual"; // Okoteve traducción
#elif L==6
"E-mail corrente";
#elif L==7
@ -9835,15 +9835,15 @@ const char *Txt_Eliminating_X_users_who_were_not_enrolled_in_any_course_and_with
const char *Txt_Email =
#if L==0
"Correu electr&ograve;nic";
"Correu";
#elif L==1
"E-Mail";
#elif L==2
"E-mail";
#elif L==3
"Correo electr&oacute;nico";
"Correo";
#elif L==4
"Courrier &eacute;lectronique";
"Courrier";
#elif L==5
"&Ntilde;e'&#7869;veve";
#elif L==6
@ -9856,28 +9856,28 @@ const char *Txt_Email =
const char *Txt_Email_X_confirmed = // Warning: it is very important to include %s in the following sentences
#if L==0
"Correo electr&oacute;nico %s confirmado"; // Necessita traduccio
"Correo %s confirmado"; // Necessita traduccio
#elif L==1
"E-mail %s confirmed"; // Need Übersetzung
"E-mail %s confirmed"; // Need Übersetzung
#elif L==2
"E-mail %s confirmed";
#elif L==3
"Correo electr&oacute;nico %s confirmado";
"Correo %s confirmado";
#elif L==4
"E-mail %s confirmed"; // Besoin de traduction
"E-mail %s confirmed"; // Besoin de traduction
#elif L==5
"Correo electr&oacute;nico %s confirmado"; // Okoteve traducción
"Correo %s confirmado"; // Okoteve traducción
#elif L==6
"E-mail %s confirmed"; // Bisogno di traduzione
"E-mail %s confirmed"; // Bisogno di traduzione
#elif L==7
"E-mail %s confirmed"; // Potrzebujesz tlumaczenie
"E-mail %s confirmed"; // Potrzebujesz tlumaczenie
#elif L==8
"E-mail %s confirmed"; // Necessita de tradução
"E-mail %s confirmed"; // Necessita de tradução
#endif
const char *Txt_Email_X_has_already_been_confirmed_before = // Warning: it is very important to include %s in the following sentences
#if L==0
"El correo electr&oacute;nico <strong>%s</strong>"
"El correo <strong>%s</strong>"
" ya hab&iacute;a sido confirmado anteriormente."; // Necessita traduccio
#elif L==1
"E-mail <strong>%s</strong>"
@ -9886,13 +9886,13 @@ const char *Txt_Email_X_has_already_been_confirmed_before = // Warning: it is ve
"E-mail <strong>%s</strong>"
" has already been confirmed before.";
#elif L==3
"El correo electr&oacute;nico <strong>%s</strong>"
"El correo <strong>%s</strong>"
" ya hab&iacute;a sido confirmado anteriormente.";
#elif L==4
"E-mail <strong>%s</strong>"
" has already been confirmed before."; // Besoin de traduction
#elif L==5
"El correo electr&oacute;nico <strong>%s</strong>"
"El correo <strong>%s</strong>"
" ya hab&iacute;a sido confirmado anteriormente."; // Okoteve traducción
#elif L==6
"E-mail <strong>%s</strong>"
@ -9928,17 +9928,17 @@ const char *Txt_Email_new_password =
const char *Txt_Email_X_removed = // Warning: it is very important to include %s in the following sentences
#if L==0
"Correu electr&ograve;nic <strong>%s</strong> eliminat.";
"Correu <strong>%s</strong> eliminat.";
#elif L==1
"E-Mail <strong>%s</strong> entfernt.";
#elif L==2
"E-mail <strong>%s</strong> removed.";
#elif L==3
"Correo electr&oacute;nico <strong>%s</strong> eliminado.";
"Correo <strong>%s</strong> eliminado.";
#elif L==4
"Courrier &eacute;lectronique <strong>%s</strong> supprim&eacute;.";
"Courrier <strong>%s</strong> supprim&eacute;.";
#elif L==5
"Correo electr&oacute;nico <strong>%s</strong> eliminado."; // Okoteve traducción
"Correo <strong>%s</strong> eliminado."; // Okoteve traducción
#elif L==6
"E-mail <strong>%s</strong> rimosso.";
#elif L==7
@ -10850,26 +10850,23 @@ const char *Txt_X_faces_marked_in_red_have_been_detected_ = // Warning: it is ve
const char *Txt_Failed_email_confirmation_key =
#if L==0
"Error en la clave de confirmaci&oacute;n"
" de correo electr&oacute;nico."; // Necessita traduccio
"Error en la clave de confirmaci&oacute;n de correo."; // Necessita traduccio
#elif L==1
"Failed email confirmation key."; // Need Übersetzung
"Failed email confirmation key."; // Need Übersetzung
#elif L==2
"Failed email confirmation key.";
#elif L==3
"Error en la clave de confirmaci&oacute;n"
" de correo electr&oacute;nico.";
"Error en la clave de confirmaci&oacute;n de correo.";
#elif L==4
"Failed email confirmation key."; // Besoin de traduction
"Failed email confirmation key."; // Besoin de traduction
#elif L==5
"Error en la clave de confirmaci&oacute;n"
" de correo electr&oacute;nico."; // Okoteve traducción
"Error en la clave de confirmaci&oacute;n de correo."; // Okoteve traducción
#elif L==6
"Failed email confirmation key."; // Bisogno di traduzione
"Failed email confirmation key."; // Bisogno di traduzione
#elif L==7
"Failed email confirmation key."; // Potrzebujesz tlumaczenie
"Failed email confirmation key."; // Potrzebujesz tlumaczenie
#elif L==8
"Failed email confirmation key."; // Necessita de tradução
"Failed email confirmation key."; // Necessita de tradução
#endif
const char *Txt_Family_address =
@ -13533,38 +13530,55 @@ const char *Txt_If_you_have_an_Android_device_try_SWADroid =
const char *Txt_If_you_have_forgotten_your_password_ =
#if L==0
"Si usted ha olvidado su contrase&ntilde;a,"
" se le enviar&aacute; una nueva a la direcci&oacute;n de correo electr&oacute;nico que escribi&oacute; en su ficha personal."; // Necessita traduccio
" se le enviar&aacute; una nueva"
" a la direcci&oacute;n de correo"
" que escribi&oacute; en su ficha personal."; // Necessita traduccio
#elif L==1
"Wenn Sie Ihr Passwort vergessen haben,"
" eine neue wird die E-Mail von Ihnen angegebene Adresse in Ihren Profil gesendet werden vergessen.";
" eine neue wird"
" die E-Mail von Ihnen angegebene Adresse"
" in Ihren Profil gesendet werden vergessen.";
#elif L==2
"If you have forgotten your password,"
" a new one will be sent to the e-mail address you entered in your record.";
" a new one will be sent"
" to the e-mail address"
" you entered in your record.";
#elif L==3
"Si usted ha olvidado su contrase&ntilde;a,"
" se le enviar&aacute; una nueva a la direcci&oacute;n de correo electr&oacute;nico que escribi&oacute; en su ficha personal.";
" se le enviar&aacute; una nueva"
" a la direcci&oacute;n de correo"
" que escribi&oacute; en su ficha personal.";
#elif L==4
"Si vous avez oubli&eacute; votre mot de passe,"
" une nouvelle sera envoy&eacute; &agrave; l'adresse &eacute;lectronique que vous avez entr&eacute; dans votre carte.";
" une nouvelle sera envoy&eacute;"
" &agrave; l'adresse &eacute;lectronique"
" que vous avez entr&eacute; dans votre carte.";
#elif L==5
"Si usted ha olvidado su contrase&ntilde;a,"
" se le enviar&aacute; una nueva a la direcci&oacute;n de correo electr&oacute;nico que escribi&oacute; en su ficha personal."; // Okoteve traducción
" se le enviar&aacute; una nueva"
" a la direcci&oacute;n de correo"
" que escribi&oacute; en su ficha personal."; // Okoteve traducción
#elif L==6
"Se hai dimenticato la tua password,"
" una nuova verr&agrave; inviata all'indirizzo e-mail che hai inserito nella tua scheda.";
" una nuova verr&agrave; inviata"
" all'indirizzo e-mail"
" che hai inserito nella tua scheda.";
#elif L==7
"Jesli nie pamietasz hasla,"
" nowe zostanie wyslane na adres e-mail, kt&oacute;ry wszedl w rekordzie.";
" nowe zostanie wyslane na adres e-mail,"
" kt&oacute;ry wszedl w rekordzie.";
#elif L==8
"Se voc&ecirc; tiver esquecido sua senha,"
" uma nova ser&aacute; enviada para o e-mail que voc&ecirc; inseriu em seu cart&atilde;o.";
" uma nova ser&aacute; enviada"
" para o e-mail"
" que voc&ecirc; inseriu em seu cart&atilde;o.";
#endif
const char *Txt_If_you_have_written_your_ID_nickname_or_email_correctly_ =
#if L==0
"Si usted ha escrito correctamente su @apodo, correo o ID (DNI/c&eacute;dula),"
" y la direcci&oacute;n de correo electr&oacute;nico en su ficha es correcta,"
" recibir&aacute; un correo electr&oacute;nico con una nueva contrase&ntilde;a."; // Necessita traduccio
" y el correo en su ficha es correcto,"
" recibir&aacute; un mensaje con una nueva contrase&ntilde;a."; // Necessita traduccio
#elif L==1
"Wenn Sie Ihre @Benutzername, E-mail oder Ausweis-Nr.,"
" korrekt geschrieben wurden, und die E-Mail-Adresse auf Ihren Profil korrekt ist,"
@ -13575,16 +13589,16 @@ const char *Txt_If_you_have_written_your_ID_nickname_or_email_correctly_ =
" you will receive an e-mail with a new password.";
#elif L==3
"Si usted ha escrito correctamente su @apodo, correo o ID (DNI/c&eacute;dula),"
" y la direcci&oacute;n de correo electr&oacute;nico en su ficha es correcta,"
" recibir&aacute; un correo electr&oacute;nico con una nueva contrase&ntilde;a.";
" y el correo en su ficha es correcto,"
" recibir&aacute; un mensaje con una nueva contrase&ntilde;a.";
#elif L==4
"Si vous avez &eacute;crit votre @surnom, courrier ou num&eacute;ro d'identit&eacute; correctement,"
" ainsi que l'adresse e-mail sur votre carte est correct,"
" vous recevrez un e-mail avec un nouveau mot de passe.";
#elif L==5
"Si usted ha escrito correctamente su @apodo, correo o ID (DNI/c&eacute;dula),"
" y la direcci&oacute;n de correo electr&oacute;nico en su ficha es correcta,"
" recibir&aacute; un correo electr&oacute;nico con una nueva contrase&ntilde;a."; // Okoteve traducción
" y el correo en su ficha es correcto,"
" recibir&aacute; un mensaje con una nueva contrase&ntilde;a."; // Okoteve traducción
#elif L==6
"Se hai scritto il tuo nome utente, e-mail o numero di carta d'identit&agrave; correttamente,"
" e l'indirizzo e-mail della tua scheda &egrave; corretto,"
@ -19733,7 +19747,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
,
// ActMaiStd
#if L==0
"Creaci&oacute; d'un missatge de correu electr&ograve;nic"
"Creaci&oacute; d'un missatge de correu"
" per enviar-lo a estudiants d'aquesta assignatura"
" utilitzant el programa client de correu predeterminat en el meu sistema"
#elif L==1
@ -19741,13 +19755,13 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
#elif L==2
"E-mail"
#elif L==3
"Creaci&oacute;n de un mensaje de correo electr&oacute;nico"
"Creaci&oacute;n de un mensaje de correo"
" para enviarlo a estudiantes de esta asignatura"
" usando el programa cliente de correo predeterminado en mi sistema"
#elif L==4
"Courrier &eacute;lectronique"
#elif L==5
"Creaci&oacute;n de un mensaje de correo electr&oacute;nico"
"Creaci&oacute;n de un mensaje de correo"
" para enviarlo a estudiantes de esta asignatura"
" usando el programa cliente de correo predeterminado en mi sistema"// Okoteve traducción
#elif L==6
@ -22279,17 +22293,17 @@ const char *Txt_New_department =
const char *Txt_New_email =
#if L==0
"Nou correu electr&grave;nic";
"Nou correu";
#elif L==1
"Neues E-Mail";
#elif L==2
"New e-mail";
#elif L==3
"Nuevo correo electr&oacute;nico";
"Nuevo correo";
#elif L==4
"Nouveau courrier &eacute;lectronique";
"Nouveau courrier";
#elif L==5
"Nuevo correo electr&oacute;nico"; // Okoteve traducción
"Nuevo correo"; // Okoteve traducción
#elif L==6
"Nuovo e-mail";
#elif L==7
@ -23641,17 +23655,17 @@ const char *Txt_No_of_users =
const char *Txt_No_of_users_who_will_be_notified_by_e_mail =
#if L==0
"N&ordm; de usuarios que ser&aacute;n notificados por correo electr&oacute;nico"; // Necessita traduccio
"N&ordm; de usuarios que ser&aacute;n notificados por correo"; // Necessita traduccio
#elif L==1
"Anzahl der Benutzer, um benachrichtigt zu werden per E-Mail";
#elif L==2
"No. of users who will be notified by e-mail";
#elif L==3
"N&ordm; de usuarios que ser&aacute;n notificados por correo electr&oacute;nico";
"N&ordm; de usuarios que ser&aacute;n notificados por correo";
#elif L==4
"Nombre d'utilisateurs qui seront notifi&eacute;s par e-mail";
#elif L==5
"N&ordm; de usuarios que ser&aacute;n notificados por correo electr&oacute;nico"; // Okoteve traducción
"N&ordm; de usuarios que ser&aacute;n notificados por correo"; // Okoteve traducción
#elif L==6
"Numero di utenti che saranno notificati via e-mail";
#elif L==7
@ -28374,17 +28388,17 @@ const char *Txt_Remove_department =
const char *Txt_Remove_email_X = // Warning: it is very important to include %s in the following sentences
#if L==0
"Eliminar correu electr&ograve;nic %s";
"Eliminar correu %s";
#elif L==1
"Entfernen E-Mail %s";
#elif L==2
"Remove e-mail %s";
#elif L==3
"Eliminar correo electr&oacute;nico %s";
"Eliminar correo %s";
#elif L==4
"Supprimer courrier &eacute;lectronique %s";
"Supprimer courrier %s";
#elif L==5
"Eliminar correo electr&oacute;nico %s"; // Okoteve traducción
"Eliminar correo %s"; // Okoteve traducción
#elif L==6
"Rimuovere e-mail %s";
#elif L==7
@ -36861,17 +36875,17 @@ const char *Txt_Students_now_are_required_to_read_this_information =
const char *Txt_X_students_who_have_e_mail = // Warning: it is very important to include %u and %f in the following sentences
#if L==0
"%u estudiantes con correo electr&oacute;nico (%.1f%% de %u estudiantes)"; // Necessita traduccio
"%u estudiantes con correo (%.1f%% de %u estudiantes)"; // Necessita traduccio
#elif L==1
"%u Studenten mit E-Mail (%.1f%% von %u Studenten)";
#elif L==2
"%u students who have e-mail (%.1f%% of %u students)";
#elif L==3
"%u estudiantes con correo electr&oacute;nico (%.1f%% de %u estudiantes)";
"%u estudiantes con correo (%.1f%% de %u estudiantes)";
#elif L==4
"%u &eacute;tudiants qui ont l'e-mail (%.1f%% de %u &eacute;tudiants)";
#elif L==5
"%u estudiantes con correo electr&oacute;nico (%.1f%% de %u estudiantes)"; // Okoteve traducción
"%u estudiantes con correo (%.1f%% de %u estudiantes)"; // Okoteve traducción
#elif L==6
"%u studenti che hanno e-mail (%.1f%% di %u studenti)";
#elif L==7
@ -36883,7 +36897,7 @@ const char *Txt_X_students_who_have_e_mail = // Warning: it is very important to
const char *Txt_Students_who_have_accepted_and_who_have_e_mail =
#if L==0
"Estudiantes que han aceptado la inscripci&oacute;n"
" y que tienen correo electr&oacute;nico"; // Necessita traduccio
" y que tienen correo"; // Necessita traduccio
#elif L==1
"Studenten die akzeptiert wurden"
" und die E-Mail";
@ -36892,13 +36906,13 @@ const char *Txt_Students_who_have_accepted_and_who_have_e_mail =
" and who have e-mail";
#elif L==3
"Estudiantes que han aceptado la inscripci&oacute;n"
" y que tienen correo electr&oacute;nico";
" y que tienen correo";
#elif L==4
"&Eacute;tudiants qui ont accept&eacute;"
" et qui ont l'e-mail";
#elif L==5
"Estudiantes que han aceptado la inscripci&oacute;n"
" y que tienen correo electr&oacute;nico"; // Okoteve traducción
" y que tienen correo"; // Okoteve traducción
#elif L==6
"Studenti che hanno aderito"
" e che hanno e-mail";
@ -36913,7 +36927,7 @@ const char *Txt_Students_who_have_accepted_and_who_have_e_mail =
const char *Txt_X_students_who_have_accepted_and_who_have_e_mail = // Warning: it is very important to include %u and %f in the following sentences
#if L==0
"%u estudiantes que han aceptado la inscripci&oacute;n"
" y que tienen correo electr&oacute;nico (%.1f%% de %u estudiantes)"; // Necessita traduccio
" y que tienen correo (%.1f%% de %u estudiantes)"; // Necessita traduccio
#elif L==1
"%u Studenten die akzeptiert wurden"
" und die E-Mail (%.1f%% von %u Studenten)";
@ -36922,13 +36936,13 @@ const char *Txt_X_students_who_have_accepted_and_who_have_e_mail = // Warning: i
" and who have e-mail (%.1f%% of %u students)";
#elif L==3
"%u estudiantes que han aceptado la inscripci&oacute;n"
" y que tienen correo electr&oacute;nico (%.1f%% de %u estudiantes)";
" y que tienen correo (%.1f%% de %u estudiantes)";
#elif L==4
"%u &eacute;tudiants qui ont accept&eacute;"
" et qui ont l'e-mail (%.1f%% de %u &eacute;tudiants)";
#elif L==5
"%u estudiantes que han aceptado la inscripci&oacute;n"
" y que tienen correo electr&oacute;nico (%.1f%% de %u estudiantes)"; // Okoteve traducción
" y que tienen correo (%.1f%% de %u estudiantes)"; // Okoteve traducción
#elif L==6
"%u studenti che hanno aderito"
" e che hanno e-mail (%.1f%% di %u studenti)";
@ -39153,23 +39167,23 @@ const char *Txt_The_department_X_has_been_renamed_as_Y = // Warning: it is very
const char *Txt_The_email_X_has_been_confirmed = // Warning: it is very important to include %s in the following sentences
#if L==0
"El correo electr&oacute;nico <strong>%s</strong> ha sido confirmado."; // Necessita traduccio
"El correo <strong>%s</strong> ha sido confirmado."; // Necessita traduccio
#elif L==1
"The e-mail <strong>%s</strong> has been confirmed."; // Need Übersetzung
"The e-mail <strong>%s</strong> has been confirmed."; // Need Übersetzung
#elif L==2
"The e-mail <strong>%s</strong> has been confirmed.";
#elif L==3
"El correo electr&oacute;nico <strong>%s</strong> ha sido confirmado.";
"El correo <strong>%s</strong> ha sido confirmado.";
#elif L==4
"The e-mail <strong>%s</strong> has been confirmed."; // Besoin de traduction
"The e-mail <strong>%s</strong> has been confirmed."; // Besoin de traduction
#elif L==5
"El correo electr&oacute;nico <strong>%s</strong> ha sido confirmado."; // Okoteve traducción
"El correo <strong>%s</strong> ha sido confirmado."; // Okoteve traducción
#elif L==6
"The e-mail <strong>%s</strong> has been confirmed."; // Bisogno di traduzione
"The e-mail <strong>%s</strong> has been confirmed."; // Bisogno di traduzione
#elif L==7
"The e-mail <strong>%s</strong> has been confirmed."; // Potrzebujesz tlumaczenie
"The e-mail <strong>%s</strong> has been confirmed."; // Potrzebujesz tlumaczenie
#elif L==8
"The e-mail <strong>%s</strong> has been confirmed."; // Necessita de tradução
"The e-mail <strong>%s</strong> has been confirmed."; // Necessita de tradução
#endif
const char *Txt_The_email_address_entered_X_is_not_valid = // Warning: it is very important to include %s in the following sentences
@ -39234,19 +39248,19 @@ const char *Txt_The_email_address_X_had_been_registered_by_another_user = // War
const char *Txt_The_email_address_has_not_been_confirmed =
#if L==0
"La direcci&oacute;n de correo electr&oacute;nico"
"La direcci&oacute;n de correo"
" no ha podido confirmarse."; // Necessita traduccio
#elif L==1
"The email address has not been confirmed."; // Need Übersetzung
#elif L==2
"The email address has not been confirmed.";
#elif L==3
"La direcci&oacute;n de correo electr&oacute;nico"
"La direcci&oacute;n de correo"
" no ha podido confirmarse.";
#elif L==4
"The email address has not been confirmed."; // Besoin de traduction
#elif L==5
"La direcci&oacute;n de correo electr&oacute;nico"
"La direcci&oacute;n de correo"
" no ha podido confirmarse."; // Okoteve traducción
#elif L==6
"The email address has not been confirmed."; // Bisogno di traduzione
@ -43908,17 +43922,17 @@ const char *Txt_There_is_no_user_with_nickname_X = // Warning: it is very import
const char *Txt_There_was_a_problem_sending_an_email_automatically =
#if L==0
"Ha ocurrido un problema enviando autom&aacute;ticamente un correo electr&oacute;nico."; // Necessita traduccio
"Ha ocurrido un problema enviando autom&aacute;ticamente un correo."; // Necessita traduccio
#elif L==1
"There was a problem sending an email automatically."; // Übersetzung notwendig
#elif L==2
"There was a problem sending an email automatically.";
#elif L==3
"Ha ocurrido un problema enviando autom&aacute;ticamente un correo electr&oacute;nico.";
"Ha ocurrido un problema enviando autom&aacute;ticamente un correo.";
#elif L==4
"There was a problem sending an email automatically."; // Besoin de traduction
#elif L==5
"Ha ocurrido un problema enviando autom&aacute;ticamente un correo electr&oacute;nico."; // Okoteve traducción
"Ha ocurrido un problema enviando autom&aacute;ticamente un correo."; // Okoteve traducción
#elif L==6
"C'&egrave; stato un problema inviando automaticamente un'e-mail.";
#elif L==7
@ -48716,23 +48730,23 @@ const char *Txt_You_can_not_create_links_here =
const char *Txt_You_can_not_delete_your_current_email =
#if L==0
"No puede eliminar su correo electr&oacute;nico actual."; // Necessita traduccio
"No puede eliminar su correo actual."; // Necessita traduccio
#elif L==1
"You can not delete your current e-mail."; // Need Übersetzung
"You can not delete your current e-mail."; // Need Übersetzung
#elif L==2
"You can not delete your current e-mail.";
#elif L==3
"No puede eliminar su correo electr&oacute;nico actual.";
"No puede eliminar su correo actual.";
#elif L==4
"You can not delete your current e-mail."; // Besoin de traduction
"You can not delete your current e-mail."; // Besoin de traduction
#elif L==5
"No puede eliminar su correo electr&oacute;nico actual."; // Okoteve traducción
"No puede eliminar su correo actual."; // Okoteve traducción
#elif L==6
"Non puoi cancellare il tuo e-mail attuale.";
#elif L==7
"You can not delete your current e-mail."; // Potrzebujesz tlumaczenie
"You can not delete your current e-mail."; // Potrzebujesz tlumaczenie
#elif L==8
"You can not delete your current e-mail."; // Necessita de tradução
"You can not delete your current e-mail."; // Necessita de tradução
#endif
const char *Txt_You_can_not_delete_your_current_nickname =
@ -49691,9 +49705,9 @@ const char *Txt_You_can_only_perform_X_further_actions_ = // Warning: it is very
const char *Txt_You_can_only_receive_email_notifications_if_ =
#if L==0
"S&oacute;lo podr&aacute; recibir notificaciones por correo electr&oacute;nico"
"S&oacute;lo podr&aacute; recibir notificaciones por correo"
" si su direcci&oacute;n de correo termina en uno de los dominios"
" listados en PLATAFORMA &gt; Dominios."; // Necessita traduccio
" listados en PLATAFORMA &gt; Dominios."; // Necessita traduccio
#elif L==1
"You can only receive email notifications"
" if your email ends in one of the domains"
@ -49703,7 +49717,7 @@ const char *Txt_You_can_only_receive_email_notifications_if_ =
" if your email ends in one of the domains"
" listed in SYSTEM &gt; Domains.";
#elif L==3
"S&oacute;lo podr&aacute; recibir notificaciones por correo electr&oacute;nico"
"S&oacute;lo podr&aacute; recibir notificaciones por correo"
" si su direcci&oacute;n de correo termina en uno de los dominios"
" listados en PLATAFORMA &gt; Dominios.";
#elif L==4
@ -49711,7 +49725,7 @@ const char *Txt_You_can_only_receive_email_notifications_if_ =
" if your email ends in one of the domains"
" listed in SYSTEM &gt; Domains."; // Besoin de traduction
#elif L==5
"S&oacute;lo podr&aacute; recibir notificaciones por correo electr&oacute;nico"
"S&oacute;lo podr&aacute; recibir notificaciones por correo"
" si su direcci&oacute;n de correo termina en uno de los dominios"
" listados en PLATAFORMA &gt; Dominios."; // Okoteve traducción
#elif L==6
@ -51594,7 +51608,7 @@ const char *Txt_Your_comment_has_been_updated =
const char *Txt_Your_email_address_X_has_been_registered_successfully = // Warning: it is very important to include %s in the following sentences
#if L==0
"Su correo electr&oacute;nico <strong>%s</strong>"
"Su correo <strong>%s</strong>"
" se ha registrado correctamente."; // Necessita traduccio
#elif L==1
"Your e-mail address <strong>%s</strong>"
@ -51603,13 +51617,13 @@ const char *Txt_Your_email_address_X_has_been_registered_successfully = // Warni
"Your e-mail address <strong>%s</strong>"
" has been registered successfully.";
#elif L==3
"Su correo electr&oacute;nico <strong>%s</strong>"
"Su correo <strong>%s</strong>"
" se ha registrado correctamente.";
#elif L==4
"Your e-mail address <strong>%s</strong>"
" has been registered successfully."; // Besoin de traduction
#elif L==5
"Su correo electr&oacute;nico <strong>%s</strong>"
"Su correo <strong>%s</strong>"
" se ha registrado correctamente."; // Okoteve traducción
#elif L==6
"Il tuo e-mail <strong>%s</strong>"

View File

@ -781,7 +781,7 @@ static void TT_DrawTimeTable (void)
}
/***** Table start *****/
fprintf (Gbl.F.Out,"<table style=\"min-width:520px; margin:0 auto;\">");
fprintf (Gbl.F.Out,"<table style=\"min-width:560px; margin:0 auto;\">");
/***** Top row used for column adjustement *****/
TT_TimeTableDrawAdjustRow ();