Version 16.94

This commit is contained in:
Antonio Cañas Vargas 2016-12-10 18:32:35 +01:00
parent 67370ffc35
commit 7575b2b458
14 changed files with 216 additions and 138 deletions

View File

@ -200,6 +200,15 @@ a:hover /* Default ==> underlined */
} }
} }
@media only screen and (max-width: 479px)
{ /* For mobile phones */
.SEL_ROLE {width:55px;};
}
@media only screen and (min-width: 480px)
{ /* For mobile phones */
.SEL_ROLE {width:130px;};
}
#head_row_1_right #head_row_1_right
{ {
display:table-cell; display:table-cell;
@ -291,32 +300,73 @@ a:hover /* Default ==> underlined */
text-align:left; text-align:left;
vertical-align:top !important; vertical-align:top !important;
} }
@media only screen and (max-width: 799px) @media only screen and (max-width: 479px)
{ /* For mobile-phones */ { /* For mobile-phones */
#breadcrumb #breadcrumb
{ {
display:table;
margin:0 auto;
font-size:6pt;
font-weight:bold;
white-space:nowrap;
}
.BC
{
display:table-cell;
max-width:28px;
overflow:hidden;
}
}
@media only screen and (min-width: 480px) and (max-width: 799px)
{ /* For mobile-phones */
#breadcrumb
{
display:table;
margin:0 auto;
font-size:8pt; font-size:8pt;
font-weight:bold; font-weight:bold;
white-space:nowrap; white-space:nowrap;
} }
.BC
{
display:table-cell;
max-width:60px;
overflow:hidden;
}
} }
@media only screen and (min-width: 800px) and (max-width: 1023px) @media only screen and (min-width: 800px) and (max-width: 1023px)
{ /* For tablets */ { /* For tablets */
#breadcrumb #breadcrumb
{ {
display:table;
margin:0 auto;
font-size:10pt; font-size:10pt;
font-weight:bold; font-weight:bold;
white-space:nowrap; white-space:nowrap;
} }
.BC
{
display:table-cell;
max-width:100px;
overflow:hidden;
}
} }
@media only screen and (min-width: 1024px) @media only screen and (min-width: 1024px)
{ /* For desktop */ { /* For desktop */
#breadcrumb #breadcrumb
{ {
display:table;
margin:0 auto;
font-size:12pt; font-size:12pt;
font-weight:bold; font-weight:bold;
white-space:nowrap; white-space:nowrap;
} }
.BC
{
display:table-cell;
max-width:150px;
overflow:hidden;
}
} }
.BC_SEMIOFF .BC_SEMIOFF
@ -434,7 +484,58 @@ a:hover /* Default ==> underlined */
{ {
background-image:linear-gradient(#201420 0,#201420 58px,white 58px,white 100%); background-image:linear-gradient(#201420 0,#201420 58px,white 58px,white 100%);
} }
@media only screen and (max-width: 799px) @media only screen and (max-width: 479px)
{ /* For mobile-phones */
#tabs
{
display:table;
box-sizing:border-box;
width:302px; /* 42px*7 + 8px */
height:64px;
margin:0 auto;
border-spacing:1px;
}
.TAB_OFF
{
display:table-cell;
box-sizing:border-box;
width:42px;
height:62px;
margin:0;
padding:0;
border-radius:5px 5px 0 0;
box-shadow:inset 0 -1px 1px 0 rgba(50,50,50,0.2);
text-align:center;
vertical-align:top;
overflow:hidden;
}
.TAB_ON
{
display:table-cell;
box-sizing:border-box;
width:42px;
height:62px;
margin:0;
padding:0;
border-radius:5px 5px 0 0;
box-shadow:inset 0 -1px 1px 0 rgba(50,50,50,0.2);
text-align:center;
vertical-align:top;
overflow:hidden;
}
.TAB_TXT
{
font-size:9pt;
font-weight:bold;
line-height:100%;
width:40px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
margin:0 auto;
}
}
@media only screen and (min-width: 480px) and (max-width: 799px)
{ /* For mobile-phones */ { /* For mobile-phones */
#tabs #tabs
{ {
@ -729,7 +830,7 @@ a:hover /* Default ==> underlined */
{ {
box-sizing:border-box; box-sizing:border-box;
width:100%; width:100%;
padding:4px 16px; padding:4px 8px;
margin:0 auto; margin:0 auto;
text-align:left; text-align:left;
vertical-align:top; vertical-align:top;
@ -788,7 +889,7 @@ a:hover /* Default ==> underlined */
{ {
box-sizing:border-box; box-sizing:border-box;
width:100%; width:100%;
padding:4px 16px; padding:4px 8px;
margin:0 auto; margin:0 auto;
text-align:left; text-align:left;
vertical-align:top; vertical-align:top;
@ -846,7 +947,7 @@ a:hover /* Default ==> underlined */
{ {
display:table-cell; display:table-cell;
box-sizing:border-box; box-sizing:border-box;
padding:4px 16px; padding:4px 8px;
margin:0 auto; margin:0 auto;
text-align:left; text-align:left;
vertical-align:top; vertical-align:top;

View File

@ -634,7 +634,7 @@ void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe)
} }
fprintf (Gbl.F.Out,"<div class=\"FORM_ACCOUNT\">" fprintf (Gbl.F.Out,"<div class=\"FORM_ACCOUNT\">"
"<input type=\"text\" name=\"NewID\"" "<input type=\"text\" name=\"NewID\""
" size=\"20\" maxlength=\"%u\" value=\"%s\" />" " size=\"18\" maxlength=\"%u\" value=\"%s\" />"
"</div>", "</div>",
ID_MAX_LENGTH_USR_ID, ID_MAX_LENGTH_USR_ID,
UsrDat->IDs.Num ? UsrDat->IDs.List[UsrDat->IDs.Num - 1].ID : UsrDat->IDs.Num ? UsrDat->IDs.List[UsrDat->IDs.Num - 1].ID :

View File

@ -150,7 +150,7 @@ static void Acc_ShowFormCheckIfIHaveAccount (const char *Title)
"%s:&nbsp;" "%s:&nbsp;"
"</label>" "</label>"
"<input type=\"text\" name=\"ID\"" "<input type=\"text\" name=\"ID\""
" size=\"20\" maxlength=\"%u\" value=\"\" />", " size=\"18\" maxlength=\"%u\" value=\"\" />",
The_ClassForm[Gbl.Prefs.Theme],Txt_ID, The_ClassForm[Gbl.Prefs.Theme],Txt_ID,
ID_MAX_LENGTH_USR_ID); ID_MAX_LENGTH_USR_ID);
Lay_PutConfirmButton (Txt_Check); Lay_PutConfirmButton (Txt_Check);
@ -326,17 +326,16 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNicknameWith
{ {
extern const char *Hlp_PROFILE_Sign_up; extern const char *Hlp_PROFILE_Sign_up;
extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *The_ClassForm[The_NUM_THEMES];
extern const char *Txt_Create_a_new_account; extern const char *Txt_Create_account;
extern const char *Txt_Nickname; extern const char *Txt_Nickname;
extern const char *Txt_HELP_nickname; extern const char *Txt_HELP_nickname;
extern const char *Txt_HELP_email; extern const char *Txt_HELP_email;
extern const char *Txt_Email; extern const char *Txt_Email;
extern const char *Txt_Create_account;
char NewNicknameWithArroba[Nck_MAX_BYTES_NICKNAME_WITH_ARROBA+1]; char NewNicknameWithArroba[Nck_MAX_BYTES_NICKNAME_WITH_ARROBA+1];
/***** Form to enter some data of the new user *****/ /***** Form to enter some data of the new user *****/
Act_FormStart (ActCreUsrAcc); Act_FormStart (ActCreUsrAcc);
Lay_StartRoundFrameTable (NULL,Txt_Create_a_new_account, Lay_StartRoundFrameTable (NULL,Txt_Create_account,
NULL,Hlp_PROFILE_Sign_up,2); NULL,Hlp_PROFILE_Sign_up,2);
/***** Nickname *****/ /***** Nickname *****/
@ -350,7 +349,7 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNicknameWith
"</td>" "</td>"
"<td class=\"LEFT_MIDDLE\">" "<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"NewNick\"" "<input type=\"text\" name=\"NewNick\""
" size=\"25\" maxlength=\"%u\"" " size=\"18\" maxlength=\"%u\""
" placeholder=\"%s\" value=\"%s\"" " placeholder=\"%s\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />"
"</td>" "</td>"
@ -368,7 +367,7 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNicknameWith
"</td>" "</td>"
"<td class=\"LEFT_MIDDLE\">" "<td class=\"LEFT_MIDDLE\">"
"<input type=\"email\" name=\"NewEmail\"" "<input type=\"email\" name=\"NewEmail\""
" size=\"25\" maxlength=\"%u\"" " size=\"18\" maxlength=\"%u\""
" placeholder=\"%s\" value=\"%s\"" " placeholder=\"%s\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />"
"</td>" "</td>"
@ -395,7 +394,7 @@ void Acc_ShowFormGoToRequestNewAccount (void)
{ {
extern const char *Hlp_PROFILE_Sign_up; extern const char *Hlp_PROFILE_Sign_up;
extern const char *Txt_New_on_PLATFORM_Sign_up; extern const char *Txt_New_on_PLATFORM_Sign_up;
extern const char *Txt_Create_a_new_account; extern const char *Txt_Create_account;
/***** Start frame *****/ /***** Start frame *****/
sprintf (Gbl.Title,Txt_New_on_PLATFORM_Sign_up,Cfg_PLATFORM_SHORT_NAME); sprintf (Gbl.Title,Txt_New_on_PLATFORM_Sign_up,Cfg_PLATFORM_SHORT_NAME);
@ -403,7 +402,7 @@ void Acc_ShowFormGoToRequestNewAccount (void)
/***** Button to go to request the creation of a new account *****/ /***** Button to go to request the creation of a new account *****/
Act_FormStart (ActFrmMyAcc); Act_FormStart (ActFrmMyAcc);
Lay_PutCreateButton (Txt_Create_a_new_account); Lay_PutCreateButton (Txt_Create_account);
Act_FormEnd (); Act_FormEnd ();
/***** End frame *****/ /***** End frame *****/

View File

@ -185,13 +185,14 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.93 (2016-12-10)" #define Log_PLATFORM_VERSION "SWAD 16.94 (2016-12-10)"
#define CSS_FILE "swad16.93.css" #define CSS_FILE "swad16.94.css"
#define JS_FILE "swad16.90.2.js" #define JS_FILE "swad16.90.2.js"
// Number of lines (includes comments but not blank lines) has been got with the following command: // 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 // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
/* /*
Version 16.94: Dec 10, 2016 Changes in layout for responsive design. (210421 lines)
Version 16.93: Dec 10, 2016 Changes in layout of heading rows and tabs. (210308 lines) Version 16.93: Dec 10, 2016 Changes in layout of heading rows and tabs. (210308 lines)
Version 16.92.5: Dec 10, 2016 Contextual help on calendar. (210318 lines) Version 16.92.5: Dec 10, 2016 Contextual help on calendar. (210318 lines)
Version 16.92.4: Dec 09, 2016 Fixed bug in edition of user's agenda. (210313 lines) Version 16.92.4: Dec 09, 2016 Fixed bug in edition of user's agenda. (210313 lines)

View File

@ -329,7 +329,7 @@ void Enr_WriteFormToReqAnotherUsrID (Act_Action_t NextAction)
"%s: " "%s: "
"</label>" "</label>"
"<input type=\"text\" name=\"OtherUsrIDNickOrEMail\"" "<input type=\"text\" name=\"OtherUsrIDNickOrEMail\""
" size=\"20\" maxlength=\"%u\"" " size=\"18\" maxlength=\"%u\""
" required=\"required\" />", " required=\"required\" />",
The_ClassForm[Gbl.Prefs.Theme], The_ClassForm[Gbl.Prefs.Theme],
Txt_nick_email_or_ID, Txt_nick_email_or_ID,

View File

@ -1289,7 +1289,7 @@ void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe)
} }
fprintf (Gbl.F.Out,"<div class=\"FORM_ACCOUNT\">" fprintf (Gbl.F.Out,"<div class=\"FORM_ACCOUNT\">"
"<input type=\"email\" name=\"NewEmail\"" "<input type=\"email\" name=\"NewEmail\""
" size=\"20\" maxlength=\"%u\" value=\"%s\" />" " size=\"18\" maxlength=\"%u\" value=\"%s\" />"
"</div>", "</div>",
Usr_MAX_BYTES_USR_EMAIL, Usr_MAX_BYTES_USR_EMAIL,
Gbl.Usrs.Me.UsrDat.Email); Gbl.Usrs.Me.UsrDat.Email);

View File

@ -285,7 +285,7 @@ void Nck_ShowFormChangeUsrNickname (void)
Act_FormStart (ActChgNic); Act_FormStart (ActChgNic);
fprintf (Gbl.F.Out,"<div class=\"FORM_ACCOUNT\">" fprintf (Gbl.F.Out,"<div class=\"FORM_ACCOUNT\">"
"<input type=\"text\" name=\"NewNick\"" "<input type=\"text\" name=\"NewNick\""
" size=\"20\" maxlength=\"%u\" value=\"@%s\" />" " size=\"18\" maxlength=\"%u\" value=\"@%s\" />"
"</div>", "</div>",
1 + Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA, 1 + Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA,
Gbl.Usrs.Me.UsrDat.Nickname); Gbl.Usrs.Me.UsrDat.Nickname);

View File

@ -696,7 +696,7 @@ void Pwd_ShowFormChgPwd (void)
"</td>" "</td>"
"<td class=\"LEFT_MIDDLE\">" "<td class=\"LEFT_MIDDLE\">"
"<input type=\"password\" name=\"UsrPwd\"" "<input type=\"password\" name=\"UsrPwd\""
" size=\"25\" maxlength=\"%u\" autocomplete=\"off\"" " size=\"18\" maxlength=\"%u\" autocomplete=\"off\""
" required=\"required\" />" " required=\"required\" />"
"</td>" "</td>"
"</tr>", "</tr>",
@ -742,7 +742,7 @@ void Pwd_PutFormToGetNewPasswordOnce (void)
"</td>" "</td>"
"<td class=\"LEFT_MIDDLE\">" "<td class=\"LEFT_MIDDLE\">"
"<input type=\"password\" name=\"Paswd\"" "<input type=\"password\" name=\"Paswd\""
" size=\"25\" maxlength=\"%u\" placeholder=\"%s\"" " size=\"18\" maxlength=\"%u\" placeholder=\"%s\""
" required=\"required\" />" " required=\"required\" />"
"</td>" "</td>"
"</tr>", "</tr>",
@ -770,7 +770,7 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
"</td>" "</td>"
"<td class=\"LEFT_MIDDLE\">" "<td class=\"LEFT_MIDDLE\">"
"<input type=\"password\" name=\"Paswd1\"" "<input type=\"password\" name=\"Paswd1\""
" size=\"25\" maxlength=\"%u\" placeholder=\"%s\"" " size=\"18\" maxlength=\"%u\" placeholder=\"%s\""
" required=\"required\" />" " required=\"required\" />"
"</td>" "</td>"
"</tr>" "</tr>"
@ -780,7 +780,7 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
"</td>" "</td>"
"<td class=\"LEFT_MIDDLE\">" "<td class=\"LEFT_MIDDLE\">"
"<input type=\"password\" name=\"Paswd2\"" "<input type=\"password\" name=\"Paswd2\""
" size=\"25\" maxlength=\"%u\" placeholder=\"%s\"" " size=\"18\" maxlength=\"%u\" placeholder=\"%s\""
" required=\"required\" />" " required=\"required\" />"
"</td>" "</td>"
"</tr>", "</tr>",

View File

@ -176,7 +176,7 @@ static void Prf_RequestUserProfileWithDefaultNickname (const char *DefaultNickna
"%s: " "%s: "
"</label>" "</label>"
"<input type=\"text\" name=\"usr\"" "<input type=\"text\" name=\"usr\""
" size=\"20\" maxlength=\"%u\" value=\"@%s\" />", " size=\"18\" maxlength=\"%u\" value=\"@%s\" />",
The_ClassForm[Gbl.Prefs.Theme], The_ClassForm[Gbl.Prefs.Theme],
Txt_Nickname, Txt_Nickname,
Nck_MAX_BYTES_NICKNAME_WITH_ARROBA, Nck_MAX_BYTES_NICKNAME_WITH_ARROBA,

View File

@ -283,16 +283,14 @@ unsigned Rol_ConvertUnsignedStrToRoles (const char *UnsignedStr)
/*********************** Put a form to change my role ************************/ /*********************** Put a form to change my role ************************/
/*****************************************************************************/ /*****************************************************************************/
void Rol_PutFormToChangeMyRole (bool FormInHead) void Rol_PutFormToChangeMyRole (void)
{ {
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
Rol_Role_t Role; Rol_Role_t Role;
Act_FormStart (ActChgMyRol); Act_FormStart (ActChgMyRol);
fprintf (Gbl.F.Out,"<select name=\"UsrTyp\""); fprintf (Gbl.F.Out,"<select name=\"UsrTyp\" class=\"SEL_ROLE\""
if (FormInHead) " onchange=\"document.getElementById('%s').submit();\">",
fprintf (Gbl.F.Out," style=\"width:130px;\"");
fprintf (Gbl.F.Out," onchange=\"document.getElementById('%s').submit();\">",
Gbl.Form.Id); Gbl.Form.Id);
for (Role = Rol__GUEST_; for (Role = Rol__GUEST_;
Role < Rol_NUM_ROLES; Role < Rol_NUM_ROLES;

View File

@ -78,7 +78,7 @@ unsigned Rol_GetRolesInAllCrss (long UsrCod);
Rol_Role_t Rol_ConvertUnsignedStrToRole (const char *UnsignedStr); Rol_Role_t Rol_ConvertUnsignedStrToRole (const char *UnsignedStr);
unsigned Rol_ConvertUnsignedStrToRoles (const char *UnsignedStr); unsigned Rol_ConvertUnsignedStrToRoles (const char *UnsignedStr);
void Rol_PutFormToChangeMyRole (bool FormInHead); void Rol_PutFormToChangeMyRole (void);
void Rol_ChangeMyRole (void); void Rol_ChangeMyRole (void);
void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected, void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,

View File

@ -374,7 +374,7 @@ void Sch_PutInputStringToSearch (const char *IdInputText)
if (IdInputText) if (IdInputText)
fprintf (Gbl.F.Out," id=\"%s\"",IdInputText); fprintf (Gbl.F.Out," id=\"%s\"",IdInputText);
fprintf (Gbl.F.Out," type=\"text\" name=\"Search\"" fprintf (Gbl.F.Out," type=\"text\" name=\"Search\""
" size=\"20\" maxlength=\"%u\" value=\"%s\"", " size=\"18\" maxlength=\"%u\" value=\"%s\"",
Sch_MAX_LENGTH_STRING_TO_FIND, Sch_MAX_LENGTH_STRING_TO_FIND,
Gbl.Search.Str); Gbl.Search.Str);
if (!Gbl.Search.Str[0]) if (!Gbl.Search.Str[0])

View File

@ -940,7 +940,7 @@ const char *Txt_The_following_password_has_been_assigned_to_you_to_log_in_X_NO_H
#elif L==6 #elif L==6
"Se le ha asignado la siguiente contraseña para entrar en %s: %s\n" "Se le ha asignado la siguiente contraseña para entrar en %s: %s\n"
"Si desea activar esta nueva contraseña," "Si desea activar esta nueva contraseña,"
" debe entrar en %s con su ID (DNI/c&eacute;dula&hellip;), apodo o dirección de correo" " 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." " y esta nueva contraseña antes de %u días."
" Una vez que haya entrado, puede cambiar la contraseña por otra.\n" " Una vez que haya entrado, puede cambiar la contraseña por otra.\n"
"Si no accede con esta nueva contraseña," "Si no accede con esta nueva contraseña,"
@ -1552,11 +1552,11 @@ const char *Txt_A_user_can_not_have_more_than_X_IDs =
#elif L==3 #elif L==3
"A user can not have more than %u IDs."; "A user can not have more than %u IDs.";
#elif L==4 #elif L==4
"Un usuario no puede tener m&aacute;s de %u ID (DNI/c&eacute;dulas&hellip;)."; "Un usuario no puede tener m&aacute;s de %u ID (DNI/c&eacute;dulas).";
#elif L==5 #elif L==5
"Un utilisateur ne peut pas avoir plus de %u IDs."; "Un utilisateur ne peut pas avoir plus de %u IDs.";
#elif L==6 #elif L==6
"Un usuario no puede tener m&aacute;s de %u ID (DNI/c&eacute;dulas&hellip;)."; // Okoteve traducción "Un usuario no puede tener m&aacute;s de %u ID (DNI/c&eacute;dulas)."; // Okoteve traducción
#elif L==7 #elif L==7
"Un utente non pu&ograve; avere pi&ugrave; di %u ID."; "Un utente non pu&ograve; avere pi&ugrave; di %u ID.";
#elif L==8 #elif L==8
@ -2581,11 +2581,11 @@ const char *Txt_Another_ID =
#elif L==3 #elif L==3
"Another ID"; "Another ID";
#elif L==4 #elif L==4
"Otro ID (DNI/c&eacute;dula&hellip;)"; "Otro ID (DNI/c&eacute;dula)";
#elif L==5 #elif L==5
"Un autre num&eacute;ro d'identit&eacute;"; "Un autre num&eacute;ro d'identit&eacute;";
#elif L==6 #elif L==6
"Otro ID (DNI/c&eacute;dula&hellip;)"; // Okoteve traducción "Otro ID (DNI/c&eacute;dula)"; // Okoteve traducción
#elif L==7 #elif L==7
"Un'altra carta d'identit&agrave;"; "Un'altra carta d'identit&agrave;";
#elif L==8 #elif L==8
@ -5834,27 +5834,6 @@ const char *Txt_Courses_of_DEGREE_X = // Warning: it is very important to includ
"Disciplinas de %s"; "Disciplinas de %s";
#endif #endif
const char *Txt_Create_a_new_account =
#if L==1
"Crea un nou compte";
#elif L==2
"Ein neues Benutzerkonto erstellen";
#elif L==3
"Create a new account";
#elif L==4
"Crear una nueva cuenta";
#elif L==5
"Cr&eacute;er un nouveau compte";
#elif L==6
"Crear una nueva cuenta"; // Okoteve traducción
#elif L==7
"Creare un nuovo account";
#elif L==8
"Stw&oacute;rz nowe konto";
#elif L==9
"Criar uma nova conta";
#endif
const char *Txt_Create_account = const char *Txt_Create_account =
#if L==1 #if L==1
"Crea compte"; "Crea compte";
@ -9345,11 +9324,11 @@ const char *Txt_Do_you_want_to_confirm_the_ID_X = // Warning: it is very importa
#elif L==3 #elif L==3
"Do you want to confirm the ID (identity number/passport) <strong>%s</strong>?"; "Do you want to confirm the ID (identity number/passport) <strong>%s</strong>?";
#elif L==4 #elif L==4
"&iquest;Desea confirmar el ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>?"; "&iquest;Desea confirmar el ID (DNI/c&eacute;dula) <strong>%s</strong>?";
#elif L==5 #elif L==5
"Voulez-vous confirmer l'ID <strong>%s</strong>?"; "Voulez-vous confirmer l'ID <strong>%s</strong>?";
#elif L==6 #elif L==6
"&iquest;Desea confirmar el ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>?"; // Okoteve traducción "&iquest;Desea confirmar el ID (DNI/c&eacute;dula) <strong>%s</strong>?"; // Okoteve traducción
#elif L==7 #elif L==7
"Vuoi confermare l'ID <strong>%s</strong>?"; "Vuoi confermare l'ID <strong>%s</strong>?";
#elif L==8 #elif L==8
@ -12322,7 +12301,7 @@ const char *Txt_Files_of_marks_must_contain_a_table_in_HTML_format_ =
" seleccionando la parte deseada de la tabla y guard&aacute;ndola como p&aacute;gina web.<br />" " seleccionando la parte deseada de la tabla y guard&aacute;ndola como p&aacute;gina web.<br />"
" Una tabla puede tener <strong>varias filas de cabecera y varias filas de pie</strong>." " Una tabla puede tener <strong>varias filas de cabecera y varias filas de pie</strong>."
" Entre ellas debe haber <strong>una &uacute;nica fila para cada estudiante</strong>," " Entre ellas debe haber <strong>una &uacute;nica fila para cada estudiante</strong>,"
" con cualquier n&uacute;mero de columnas, conteniendo <strong>la primera columna el ID (DNI/c&eacute;dula&hellip;) del estudiante</strong>.<br />" " con cualquier n&uacute;mero de columnas, conteniendo <strong>la primera columna el ID (DNI/c&eacute;dula) del estudiante</strong>.<br />"
" Un estudiante ver&aacute; una tabla con las filas de cabecera," " Un estudiante ver&aacute; una tabla con las filas de cabecera,"
" seguidas por la fila con sus calificaciones," " seguidas por la fila con sus calificaciones,"
" y por las filas de pie."; // Necessita traduccio " y por las filas de pie."; // Necessita traduccio
@ -12348,7 +12327,7 @@ const char *Txt_Files_of_marks_must_contain_a_table_in_HTML_format_ =
" seleccionando la parte deseada de la tabla y guard&aacute;ndola como p&aacute;gina web.<br />" " seleccionando la parte deseada de la tabla y guard&aacute;ndola como p&aacute;gina web.<br />"
" Una tabla puede tener <strong>varias filas de cabecera y varias filas de pie</strong>." " Una tabla puede tener <strong>varias filas de cabecera y varias filas de pie</strong>."
" Entre ellas debe haber <strong>una &uacute;nica fila para cada estudiante</strong>," " Entre ellas debe haber <strong>una &uacute;nica fila para cada estudiante</strong>,"
" con cualquier n&uacute;mero de columnas, conteniendo <strong>la primera columna el ID (DNI/c&eacute;dula&hellip;) del estudiante</strong>.<br />" " con cualquier n&uacute;mero de columnas, conteniendo <strong>la primera columna el ID (DNI/c&eacute;dula) del estudiante</strong>.<br />"
" Un estudiante ver&aacute; una tabla con las filas de cabecera," " Un estudiante ver&aacute; una tabla con las filas de cabecera,"
" seguidas por la fila con sus calificaciones," " seguidas por la fila con sus calificaciones,"
" y por las filas de pie."; " y por las filas de pie.";
@ -12368,7 +12347,7 @@ const char *Txt_Files_of_marks_must_contain_a_table_in_HTML_format_ =
" seleccionando la parte deseada de la tabla y guard&aacute;ndola como p&aacute;gina web.<br />" " seleccionando la parte deseada de la tabla y guard&aacute;ndola como p&aacute;gina web.<br />"
" Una tabla puede tener <strong>varias filas de cabecera y varias filas de pie</strong>." " Una tabla puede tener <strong>varias filas de cabecera y varias filas de pie</strong>."
" Entre ellas debe haber <strong>una &uacute;nica fila para cada estudiante</strong>," " Entre ellas debe haber <strong>una &uacute;nica fila para cada estudiante</strong>,"
" con cualquier n&uacute;mero de columnas, conteniendo <strong>la primera columna el ID (DNI/c&eacute;dula&hellip;) del estudiante</strong>.<br />" " con cualquier n&uacute;mero de columnas, conteniendo <strong>la primera columna el ID (DNI/c&eacute;dula) del estudiante</strong>.<br />"
" Un estudiante ver&aacute; una tabla con las filas de cabecera," " Un estudiante ver&aacute; una tabla con las filas de cabecera,"
" seguidas por la fila con sus calificaciones," " seguidas por la fila con sus calificaciones,"
" y por las filas de pie."; // Okoteve traducción " y por las filas de pie."; // Okoteve traducción
@ -14706,11 +14685,11 @@ const char *Txt_ID =
#elif L==3 #elif L==3
"ID (identity number/passport)"; "ID (identity number/passport)";
#elif L==4 #elif L==4
"ID (DNI/c&eacute;dula&hellip;)"; "ID (DNI/c&eacute;dula)";
#elif L==5 #elif L==5
"Num. d'identit&eacute;"; "Num. d'identit&eacute;";
#elif L==6 #elif L==6
"ID (DNI/c&eacute;dula&hellip;)"; // Okoteve traducción "ID (DNI/c&eacute;dula)"; // Okoteve traducción
#elif L==7 #elif L==7
"Numero carta d'identit&agrave;"; "Numero carta d'identit&agrave;";
#elif L==8 #elif L==8
@ -14721,17 +14700,17 @@ const char *Txt_ID =
const char *Txt_ID_X_had_already_been_confirmed = // Warning: it is very important to include %s in the following sentences const char *Txt_ID_X_had_already_been_confirmed = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"El ID (DNI/c&eacute;dula&hellip;) %s ja havia estat confirmat."; "El ID (DNI/c&eacute;dula) %s ja havia estat confirmat.";
#elif L==2 #elif L==2
"ID %s hatte bereits best&auml;tigt worden."; "ID %s hatte bereits best&auml;tigt worden.";
#elif L==3 #elif L==3
"ID %s had already been confirmed."; "ID %s had already been confirmed.";
#elif L==4 #elif L==4
"El ID (DNI/c&eacute;dula&hellip;) %s ya hab&iacute;a sido confirmado."; "El ID (DNI/c&eacute;dula) %s ya hab&iacute;a sido confirmado.";
#elif L==5 #elif L==5
"L'ID %s avait d&eacute;j&agrave; &eacute;t&eacute; confirm&eacute;e."; "L'ID %s avait d&eacute;j&agrave; &eacute;t&eacute; confirm&eacute;e.";
#elif L==6 #elif L==6
"El ID (DNI/c&eacute;dula&hellip;) %s ya hab&iacute;a sido confirmado."; // Okoteve traducción "El ID (DNI/c&eacute;dula) %s ya hab&iacute;a sido confirmado."; // Okoteve traducción
#elif L==7 #elif L==7
"L'ID %s era gi&agrave; stato confermato."; "L'ID %s era gi&agrave; stato confermato.";
#elif L==8 #elif L==8
@ -14742,17 +14721,17 @@ const char *Txt_ID_X_had_already_been_confirmed = // Warning: it is very importa
const char *Txt_ID_X_confirmed = // Warning: it is very important to include %s in the following sentences const char *Txt_ID_X_confirmed = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"ID (DNI/c&eacute;dula&hellip;) %s confirmat"; "ID (DNI/c&eacute;dula) %s confirmat";
#elif L==2 #elif L==2
"ID %s best&auml;tigt"; "ID %s best&auml;tigt";
#elif L==3 #elif L==3
"ID %s confirmed"; "ID %s confirmed";
#elif L==4 #elif L==4
"ID (DNI/c&eacute;dula&hellip;) %s confirmado"; "ID (DNI/c&eacute;dula) %s confirmado";
#elif L==5 #elif L==5
"ID %s confirm&eacute;"; "ID %s confirm&eacute;";
#elif L==6 #elif L==6
"ID (DNI/c&eacute;dula&hellip;) %s confirmado"; // Okoteve traducción "ID (DNI/c&eacute;dula) %s confirmado"; // Okoteve traducción
#elif L==7 #elif L==7
"ID %s confermato"; "ID %s confermato";
#elif L==8 #elif L==8
@ -14763,17 +14742,17 @@ const char *Txt_ID_X_confirmed = // Warning: it is very important to include %s
const char *Txt_ID_X_not_confirmed = // Warning: it is very important to include %s in the following sentences const char *Txt_ID_X_not_confirmed = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"ID (DNI/c&eacute;dula&hellip;) %s no confirmat"; "ID (DNI/c&eacute;dula) %s no confirmat";
#elif L==2 #elif L==2
"ID %s nicht best&auml;tigt"; "ID %s nicht best&auml;tigt";
#elif L==3 #elif L==3
"ID %s not confirmed"; "ID %s not confirmed";
#elif L==4 #elif L==4
"ID (DNI/c&eacute;dula&hellip;) %s no confirmado"; "ID (DNI/c&eacute;dula) %s no confirmado";
#elif L==5 #elif L==5
"ID %s pas confirm&eacute;"; "ID %s pas confirm&eacute;";
#elif L==6 #elif L==6
"ID (DNI/c&eacute;dula&hellip;) %s no confirmado"; // Okoteve traducción "ID (DNI/c&eacute;dula) %s no confirmado"; // Okoteve traducción
#elif L==7 #elif L==7
"ID %s non confermato"; "ID %s non confermato";
#elif L==8 #elif L==8
@ -14784,17 +14763,17 @@ const char *Txt_ID_X_not_confirmed = // Warning: it is very important to include
const char *Txt_ID_X_removed = // Warning: it is very important to include %s in the following sentences const char *Txt_ID_X_removed = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong> eliminat."; "ID (DNI/c&eacute;dula) <strong>%s</strong> eliminat.";
#elif L==2 #elif L==2
"ID <strong>%s</strong> entfernt."; "ID <strong>%s</strong> entfernt.";
#elif L==3 #elif L==3
"ID <strong>%s</strong> removed."; "ID <strong>%s</strong> removed.";
#elif L==4 #elif L==4
"ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong> eliminado."; "ID (DNI/c&eacute;dula) <strong>%s</strong> eliminado.";
#elif L==5 #elif L==5
"ID <strong>%s</strong> supprim&eacute;."; "ID <strong>%s</strong> supprim&eacute;.";
#elif L==6 #elif L==6
"ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong> eliminado."; // Okoteve traducción "ID (DNI/c&eacute;dula) <strong>%s</strong> eliminado."; // Okoteve traducción
#elif L==7 #elif L==7
"ID <strong>%s</strong> rimosso."; "ID <strong>%s</strong> rimosso.";
#elif L==8 #elif L==8
@ -14866,7 +14845,7 @@ const char *Txt_If_there_are_multiple_versions_of_the_ID_ =
const char *Txt_If_this_is_a_new_user_in_X_you_should_indicate_her_his_ID = // Warning: it is very important to include %s in the following sentences const char *Txt_If_this_is_a_new_user_in_X_you_should_indicate_her_his_ID = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"Si se trata de un usuario nuevo en %s," "Si se trata de un usuario nuevo en %s,"
" debe indicar el ID (DNI/c&eacute;dula&hellip;)."; // Necessita traduccio " debe indicar el ID (DNI/c&eacute;dula)."; // Necessita traduccio
#elif L==2 #elif L==2
"If this is a new user in %s," "If this is a new user in %s,"
" you should indicate her/his ID."; // Übersetzung notwendig " you should indicate her/his ID."; // Übersetzung notwendig
@ -14875,13 +14854,13 @@ const char *Txt_If_this_is_a_new_user_in_X_you_should_indicate_her_his_ID = // W
" you should indicate her/his ID."; " you should indicate her/his ID.";
#elif L==4 #elif L==4
"Si se trata de un usuario nuevo en %s," "Si se trata de un usuario nuevo en %s,"
" debe indicar el ID (DNI/c&eacute;dula&hellip;)."; " debe indicar el ID (DNI/c&eacute;dula).";
#elif L==5 #elif L==5
"If this is a new user in %s," "If this is a new user in %s,"
" you should indicate her/his ID."; // Besoin de traduction " you should indicate her/his ID."; // Besoin de traduction
#elif L==6 #elif L==6
"Si se trata de un usuario nuevo en %s," "Si se trata de un usuario nuevo en %s,"
" debe indicar el ID (DNI/c&eacute;dula&hellip;)."; // Okoteve traducción " debe indicar el ID (DNI/c&eacute;dula)."; // Okoteve traducción
#elif L==7 #elif L==7
"If this is a new user in %s," "If this is a new user in %s,"
" you should indicate her/his ID."; // Bisogno di traduzione " you should indicate her/his ID."; // Bisogno di traduzione
@ -14993,7 +14972,7 @@ const char *Txt_If_you_have_forgotten_your_password_ =
const char *Txt_If_you_have_written_your_ID_nickname_or_email_correctly_ = const char *Txt_If_you_have_written_your_ID_nickname_or_email_correctly_ =
#if L==1 #if L==1
"Si usted ha escrito correctamente su @apodo, correo o ID (DNI/c&eacute;dula&hellip;)," "Si usted ha escrito correctamente su @apodo, correo o ID (DNI/c&eacute;dula),"
" y el correo en su ficha es correcto," " y el correo en su ficha es correcto,"
" recibir&aacute; un mensaje con una nueva contrase&ntilde;a."; // Necessita traduccio " recibir&aacute; un mensaje con una nueva contrase&ntilde;a."; // Necessita traduccio
#elif L==2 #elif L==2
@ -15005,7 +14984,7 @@ const char *Txt_If_you_have_written_your_ID_nickname_or_email_correctly_ =
" and the email address on your record is correct," " and the email address on your record is correct,"
" you will receive an email with a new password."; " you will receive an email with a new password.";
#elif L==4 #elif L==4
"Si usted ha escrito correctamente su @apodo, correo o ID (DNI/c&eacute;dula&hellip;)," "Si usted ha escrito correctamente su @apodo, correo o ID (DNI/c&eacute;dula),"
" y el correo en su ficha es correcto," " y el correo en su ficha es correcto,"
" recibir&aacute; un mensaje con una nueva contrase&ntilde;a."; " recibir&aacute; un mensaje con una nueva contrase&ntilde;a.";
#elif L==5 #elif L==5
@ -15013,7 +14992,7 @@ const char *Txt_If_you_have_written_your_ID_nickname_or_email_correctly_ =
" ainsi que l'adresse email sur votre carte est correct," " ainsi que l'adresse email sur votre carte est correct,"
" vous recevrez un email avec un nouveau mot de passe."; " vous recevrez un email avec un nouveau mot de passe.";
#elif L==6 #elif L==6
"Si usted ha escrito correctamente su @apodo, correo o ID (DNI/c&eacute;dula&hellip;)," "Si usted ha escrito correctamente su @apodo, correo o ID (DNI/c&eacute;dula),"
" y el correo en su ficha es correcto," " y el correo en su ficha es correcto,"
" recibir&aacute; un mensaje con una nueva contrase&ntilde;a."; // Okoteve traducción " recibir&aacute; un mensaje con una nueva contrase&ntilde;a."; // Okoteve traducción
#elif L==7 #elif L==7
@ -17037,17 +17016,17 @@ const char *Txt_List_of_detailed_clicks =
const char *Txt_List_of_nicks_emails_or_IDs = const char *Txt_List_of_nicks_emails_or_IDs =
#if L==1 #if L==1
"Lista de @apodos, correos o ID (DNI/c&eacute;dulas&hellip;)"; // Necessita traduccio "Lista de @apodos, correos o ID (DNI/c&eacute;dulas)"; // Necessita traduccio
#elif L==2 #elif L==2
"Liste von @Benutzernamen, Emails oder Ausweis-Nr."; "Liste von @Benutzernamen, Emails oder Ausweis-Nr.";
#elif L==3 #elif L==3
"List of @nicks, emails or IDs"; "List of @nicks, emails or IDs";
#elif L==4 #elif L==4
"Lista de @apodos, correos o ID (DNI/c&eacute;dulas&hellip;)"; "Lista de @apodos, correos o ID (DNI/c&eacute;dulas)";
#elif L==5 #elif L==5
"Liste de num&eacute;ros d'identit&eacute;"; "Liste de num&eacute;ros d'identit&eacute;";
#elif L==6 #elif L==6
"Lista de @apodos, correos o ID (DNI/c&eacute;dulas&hellip;)"; // Okoteve traducción "Lista de @apodos, correos o ID (DNI/c&eacute;dulas)"; // Okoteve traducción
#elif L==7 #elif L==7
"Lista di @nomi-utenti, email o numero carte d'identit&agrave;"; "Lista di @nomi-utenti, email o numero carte d'identit&agrave;";
#elif L==8 #elif L==8
@ -24046,11 +24025,11 @@ const char *Txt_nick_email_or_ID =
#elif L==3 #elif L==3
"@nick, email or ID"; "@nick, email or ID";
#elif L==4 #elif L==4
"@apodo, correo o ID (DNI/c&eacute;dula&hellip;)"; "@apodo, correo o ID (DNI/c&eacute;dula)";
#elif L==5 #elif L==5
"@surnom, courrier ou num&eacute;ro d'identit&eacute;"; "@surnom, courrier ou num&eacute;ro d'identit&eacute;";
#elif L==6 #elif L==6
"@apodo, correo o ID (DNI/c&eacute;dula&hellip;)"; // Okoteve traducción "@apodo, correo o ID (DNI/c&eacute;dula)"; // Okoteve traducción
#elif L==7 #elif L==7
"@nome-utente, email o numero carta d'identit&agrave;"; "@nome-utente, email o numero carta d'identit&agrave;";
#elif L==8 #elif L==8
@ -24061,17 +24040,17 @@ const char *Txt_nick_email_or_ID =
const char *Txt_nicks_emails_or_IDs_separated_by_commas = const char *Txt_nicks_emails_or_IDs_separated_by_commas =
#if L==1 #if L==1
"@apodos, correos o ID (DNI/c&eacute;dulas&hellip;) separados por comas"; // Necessita traduccio "@apodos, correos o ID (DNI/c&eacute;dulas) separados por comas"; // Necessita traduccio
#elif L==2 #elif L==2
"@Benutzernamen, Emails oder Ausweis-Nr. durch Kommas getrennt"; "@Benutzernamen, Emails oder Ausweis-Nr. durch Kommas getrennt";
#elif L==3 #elif L==3
"@nicks, emails or IDs separated by commas"; "@nicks, emails or IDs separated by commas";
#elif L==4 #elif L==4
"@apodos, correos o ID (DNI/c&eacute;dulas&hellip;) separados por comas"; "@apodos, correos o ID (DNI/c&eacute;dulas) separados por comas";
#elif L==5 #elif L==5
"@surnoms, courriers ou num&eacute;ros d'identit&eacute; s&eacute;par&eacute;s par des virgules"; "@surnoms, courriers ou num&eacute;ros d'identit&eacute; s&eacute;par&eacute;s par des virgules";
#elif L==6 #elif L==6
"@apodos, correos o ID (DNI/c&eacute;dulas&hellip;) separados por comas"; // Okoteve traducción "@apodos, correos o ID (DNI/c&eacute;dulas) separados por comas"; // Okoteve traducción
#elif L==7 #elif L==7
"@nomi-utenti, email o numero carte d'identit&agrave; separati da virgole"; "@nomi-utenti, email o numero carte d'identit&agrave; separati da virgole";
#elif L==8 #elif L==8
@ -28573,11 +28552,11 @@ const char *Txt_Please_enter_your_ID =
#elif L==3 #elif L==3
"Please enter your ID."; "Please enter your ID.";
#elif L==4 #elif L==4
"Por favor, escriba su ID (DNI/c&eacute;dula&hellip;)."; "Por favor, escriba su ID (DNI/c&eacute;dula).";
#elif L==5 #elif L==5
"S'il vous pla&iacute;t, entrez votre ID."; "S'il vous pla&iacute;t, entrez votre ID.";
#elif L==6 #elif L==6
"Por favor, escriba su ID (DNI/c&eacute;dula&hellip;)."; // Okoteve traducción "Por favor, escriba su ID (DNI/c&eacute;dula)."; // Okoteve traducción
#elif L==7 #elif L==7
"Per favore, inserisci il tuo ID."; "Per favore, inserisci il tuo ID.";
#elif L==8 #elif L==8
@ -28648,7 +28627,7 @@ const char *Txt_Please_fill_in_your_ID =
" because it facilitates the registration process" " because it facilitates the registration process"
" of users in the courses."; " of users in the courses.";
#elif L==4 #elif L==4
"Por favor, rellene su ID (DNI/c&eacute;dula&hellip;)." "Por favor, rellene su ID (DNI/c&eacute;dula)."
" Es un dato opcional," " Es un dato opcional,"
" pero es recomendable que lo rellene" " pero es recomendable que lo rellene"
" porque facilita el proceso de inscripci&oacute;n" " porque facilita el proceso de inscripci&oacute;n"
@ -28660,7 +28639,7 @@ const char *Txt_Please_fill_in_your_ID =
" parce qu'il facilite le processus d'enregistrement" " parce qu'il facilite le processus d'enregistrement"
" des utilisateurs dans les mati&egrave;res."; " des utilisateurs dans les mati&egrave;res.";
#elif L==6 #elif L==6
"Por favor, rellene su ID (DNI/c&eacute;dula&hellip;)." "Por favor, rellene su ID (DNI/c&eacute;dula)."
" Es un dato opcional," " Es un dato opcional,"
" pero es recomendable que lo rellene" " pero es recomendable que lo rellene"
" porque facilita el proceso de inscripci&oacute;n" " porque facilita el proceso de inscripci&oacute;n"
@ -43163,7 +43142,7 @@ const char *Txt_The_HTML_file_has_been_received_successfully =
const char *Txt_The_ID_X_has_been_confirmed = // Warning: it is very important to include %s in the following sentences const char *Txt_The_ID_X_has_been_confirmed = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>" "El ID (DNI/c&eacute;dula) <strong>%s</strong>"
" ha sido confirmado."; // Necessita traduccio " ha sido confirmado."; // Necessita traduccio
#elif L==2 #elif L==2
"The ID <strong>%s</strong>" "The ID <strong>%s</strong>"
@ -43172,13 +43151,13 @@ const char *Txt_The_ID_X_has_been_confirmed = // Warning: it is very important t
"The ID <strong>%s</strong>" "The ID <strong>%s</strong>"
" has been confirmed."; " has been confirmed.";
#elif L==4 #elif L==4
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>" "El ID (DNI/c&eacute;dula) <strong>%s</strong>"
" ha sido confirmado."; " ha sido confirmado.";
#elif L==5 #elif L==5
"The ID <strong>%s</strong>" "The ID <strong>%s</strong>"
" has been confirmed."; // Besoin de traduction " has been confirmed."; // Besoin de traduction
#elif L==6 #elif L==6
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>" "El ID (DNI/c&eacute;dula) <strong>%s</strong>"
" ha sido confirmado."; // Okoteve traducción " ha sido confirmado."; // Okoteve traducción
#elif L==7 #elif L==7
"Il ID <strong>%s</strong>" "Il ID <strong>%s</strong>"
@ -43193,7 +43172,7 @@ const char *Txt_The_ID_X_has_been_confirmed = // Warning: it is very important t
const char *Txt_The_ID_X_has_been_registered_successfully = // Warning: it is very important to include %s in the following sentences const char *Txt_The_ID_X_has_been_registered_successfully = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>" "El ID (DNI/c&eacute;dula) <strong>%s</strong>"
" se ha registrado correctamente."; // Necessita traduccio " se ha registrado correctamente."; // Necessita traduccio
#elif L==2 #elif L==2
"The ID <strong>%s</strong>" "The ID <strong>%s</strong>"
@ -43202,13 +43181,13 @@ const char *Txt_The_ID_X_has_been_registered_successfully = // Warning: it is ve
"The ID <strong>%s</strong>" "The ID <strong>%s</strong>"
" has been registered successfully."; " has been registered successfully.";
#elif L==4 #elif L==4
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>" "El ID (DNI/c&eacute;dula) <strong>%s</strong>"
" se ha registrado correctamente."; " se ha registrado correctamente.";
#elif L==5 #elif L==5
"The ID <strong>%s</strong>" "The ID <strong>%s</strong>"
" has been registered successfully."; // Besoin de traduction " has been registered successfully."; // Besoin de traduction
#elif L==6 #elif L==6
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>" "El ID (DNI/c&eacute;dula) <strong>%s</strong>"
" se ha registrado correctamente."; // Okoteve traducción " se ha registrado correctamente."; // Okoteve traducción
#elif L==7 #elif L==7
"Il ID <strong>%s</strong>" "Il ID <strong>%s</strong>"
@ -43223,7 +43202,7 @@ const char *Txt_The_ID_X_has_been_registered_successfully = // Warning: it is ve
const char *Txt_The_ID_X_is_not_valid = // Warning: it is very important to include %s in the following sentences const char *Txt_The_ID_X_is_not_valid = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong> no es v&aacute;lido." "El ID (DNI/c&eacute;dula) <strong>%s</strong> no es v&aacute;lido."
" Solo puede contener n&uacute;meros (al menos uno) y letras."; // Necessita traduccio " Solo puede contener n&uacute;meros (al menos uno) y letras."; // Necessita traduccio
#elif L==2 #elif L==2
"The ID <strong>%s</strong> is not valid." "The ID <strong>%s</strong> is not valid."
@ -43232,13 +43211,13 @@ const char *Txt_The_ID_X_is_not_valid = // Warning: it is very important to incl
"The ID <strong>%s</strong> is not valid." "The ID <strong>%s</strong> is not valid."
" It can only contain numbers (at least one) and letters."; " It can only contain numbers (at least one) and letters.";
#elif L==4 #elif L==4
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong> no es v&aacute;lido." "El ID (DNI/c&eacute;dula) <strong>%s</strong> no es v&aacute;lido."
" Solo puede contener n&uacute;meros (al menos uno) y letras."; " Solo puede contener n&uacute;meros (al menos uno) y letras.";
#elif L==5 #elif L==5
"The ID <strong>%s</strong> is not valid." "The ID <strong>%s</strong> is not valid."
" It can only contain numbers (at least one) and letters."; // Besoin de traduction " It can only contain numbers (at least one) and letters."; // Besoin de traduction
#elif L==6 #elif L==6
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong> no es v&aacute;lido." "El ID (DNI/c&eacute;dula) <strong>%s</strong> no es v&aacute;lido."
" Solo puede contener n&uacute;meros (al menos uno) y letras."; // Okoteve traducción " Solo puede contener n&uacute;meros (al menos uno) y letras."; // Okoteve traducción
#elif L==7 #elif L==7
"L'ID <strong>%s</strong> non &egrave; valido." "L'ID <strong>%s</strong> non &egrave; valido."
@ -43292,17 +43271,17 @@ const char *Txt_The_ID_is_used_in_order_to_facilitate_ =
const char *Txt_The_ID_nickname_or_email_X_is_not_valid = // Warning: it is very important to include %s in the following sentences const char *Txt_The_ID_nickname_or_email_X_is_not_valid = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"El @apodo, correo o ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong> no es v&aacute;lido."; // Necessita traduccio "El @apodo, correo o ID (DNI/c&eacute;dula) <strong>%s</strong> no es v&aacute;lido."; // Necessita traduccio
#elif L==2 #elif L==2
"The @nick, email or ID <strong>%s</strong> is not valid."; // Need Übersetzung "The @nick, email or ID <strong>%s</strong> is not valid."; // Need Übersetzung
#elif L==3 #elif L==3
"The @nick, email or ID <strong>%s</strong> is not valid."; "The @nick, email or ID <strong>%s</strong> is not valid.";
#elif L==4 #elif L==4
"El @apodo, correo o ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong> no es v&aacute;lido."; "El @apodo, correo o ID (DNI/c&eacute;dula) <strong>%s</strong> no es v&aacute;lido.";
#elif L==5 #elif L==5
"The @nick, email or ID <strong>%s</strong> is not valid."; // Besoin de traduction "The @nick, email or ID <strong>%s</strong> is not valid."; // Besoin de traduction
#elif L==6 #elif L==6
"El @apodo, correo o ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong> no es v&aacute;lido."; // Okoteve traducción "El @apodo, correo o ID (DNI/c&eacute;dula) <strong>%s</strong> no es v&aacute;lido."; // Okoteve traducción
#elif L==7 #elif L==7
"Il @nome-utente, email o ID <strong>%s</strong> non &egrave; valido."; "Il @nome-utente, email o ID <strong>%s</strong> non &egrave; valido.";
#elif L==8 #elif L==8
@ -43313,7 +43292,7 @@ const char *Txt_The_ID_nickname_or_email_X_is_not_valid = // Warning: it is very
const char *Txt_The_ID_X_matches_one_of_the_existing = // Warning: it is very important to include %s in the following sentences const char *Txt_The_ID_X_matches_one_of_the_existing = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>" "El ID (DNI/c&eacute;dula) <strong>%s</strong>"
" coincide con uno de los existentes."; // Necessita traduccio " coincide con uno de los existentes."; // Necessita traduccio
#elif L==2 #elif L==2
"The ID <strong>%s</strong>" "The ID <strong>%s</strong>"
@ -43322,13 +43301,13 @@ const char *Txt_The_ID_X_matches_one_of_the_existing = // Warning: it is very im
"The ID <strong>%s</strong>" "The ID <strong>%s</strong>"
" matches one of the existing."; " matches one of the existing.";
#elif L==4 #elif L==4
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>" "El ID (DNI/c&eacute;dula) <strong>%s</strong>"
" coincide con uno de los existentes."; " coincide con uno de los existentes.";
#elif L==5 #elif L==5
"The ID <strong>%s</strong>" "The ID <strong>%s</strong>"
" matches one of the existing."; // Besoin de traduction " matches one of the existing."; // Besoin de traduction
#elif L==6 #elif L==6
"El ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>" "El ID (DNI/c&eacute;dula) <strong>%s</strong>"
" coincide con uno de los existentes."; // Okoteve traducción " coincide con uno de los existentes."; // Okoteve traducción
#elif L==7 #elif L==7
"The ID <strong>%s</strong>" "The ID <strong>%s</strong>"
@ -46730,17 +46709,17 @@ const char *Txt_There_are_no_types_of_group_in_the_course_X = // Warning: it is
const char *Txt_There_are_X_users_with_the_ID_Y = // Warning: it is very important to include %u and %s in the following sentences const char *Txt_There_are_X_users_with_the_ID_Y = // Warning: it is very important to include %u and %s in the following sentences
#if L==1 #if L==1
"Hi ha %u usuaris amb el ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>."; "Hi ha %u usuaris amb el ID (DNI/c&eacute;dula) <strong>%s</strong>.";
#elif L==2 #elif L==2
"There are %u users with the ID <strong>%s</strong>."; // Need Übersetzung "There are %u users with the ID <strong>%s</strong>."; // Need Übersetzung
#elif L==3 #elif L==3
"There are %u users with the ID <strong>%s</strong>."; "There are %u users with the ID <strong>%s</strong>.";
#elif L==4 #elif L==4
"Hay %u usuarios con el ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>."; "Hay %u usuarios con el ID (DNI/c&eacute;dula) <strong>%s</strong>.";
#elif L==5 #elif L==5
"Il y a %u utilisateurs avec le ID <strong>%s</strong>."; "Il y a %u utilisateurs avec le ID <strong>%s</strong>.";
#elif L==6 #elif L==6
"Hay %u usuarios con el ID (DNI/c&eacute;dula&hellip;) <strong>%s</strong>."; // Okoteve traducción "Hay %u usuarios con el ID (DNI/c&eacute;dula) <strong>%s</strong>."; // Okoteve traducción
#elif L==7 #elif L==7
"Ci sono %u utenti con il ID <strong>%s</strong>."; "Ci sono %u utenti con il ID <strong>%s</strong>.";
#elif L==8 #elif L==8
@ -46956,7 +46935,7 @@ const char *Txt_There_is_no_user_with_email_X = // Warning: it is very important
const char *Txt_There_is_no_user_with_ID_nick_or_email_X = // Warning: it is very important to include %s in the following sentences const char *Txt_There_is_no_user_with_ID_nick_or_email_X = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"No existe ning&uacute;n usuario" "No existe ning&uacute;n usuario"
" con ID (DNI/c&eacute;dula&hellip;), apodo o correo <strong>%s</strong>."; // Necessita traduccio " con ID (DNI/c&eacute;dula), apodo o correo <strong>%s</strong>."; // Necessita traduccio
#elif L==2 #elif L==2
"There is no user" "There is no user"
" with ID, nick or email <strong>%s</strong>."; // Übersetzung notwendig " with ID, nick or email <strong>%s</strong>."; // Übersetzung notwendig
@ -46965,13 +46944,13 @@ const char *Txt_There_is_no_user_with_ID_nick_or_email_X = // Warning: it is ver
" with ID, nick or email <strong>%s</strong>."; " with ID, nick or email <strong>%s</strong>.";
#elif L==4 #elif L==4
"No existe ning&uacute;n usuario" "No existe ning&uacute;n usuario"
" con ID (DNI/c&eacute;dula&hellip;), apodo o correo <strong>%s</strong>."; " con ID (DNI/c&eacute;dula), apodo o correo <strong>%s</strong>.";
#elif L==5 #elif L==5
"There is no user" "There is no user"
" with ID, nick or email <strong>%s</strong>."; // Besoin de traduction " with ID, nick or email <strong>%s</strong>."; // Besoin de traduction
#elif L==6 #elif L==6
"No existe ning&uacute;n usuario" "No existe ning&uacute;n usuario"
" con ID (DNI/c&eacute;dula&hellip;), apodo o correo <strong>%s</strong>."; // Okoteve traducción " con ID (DNI/c&eacute;dula), apodo o correo <strong>%s</strong>."; // Okoteve traducción
#elif L==7 #elif L==7
"Non c'&egrave; alcun utente" "Non c'&egrave; alcun utente"
" con ID, nome utente o email <strong>%s</strong>."; " con ID, nome utente o email <strong>%s</strong>.";
@ -46986,7 +46965,7 @@ const char *Txt_There_is_no_user_with_ID_nick_or_email_X = // Warning: it is ver
const char *Txt_There_is_no_user_with_ID_nick_or_e_mail_X_in_the_course_Y = // Warning: it is very important to include two %s in the following sentences const char *Txt_There_is_no_user_with_ID_nick_or_e_mail_X_in_the_course_Y = // Warning: it is very important to include two %s in the following sentences
#if L==1 #if L==1
"No existe ning&uacute;n usuario" "No existe ning&uacute;n usuario"
" con ID (DNI/c&eacute;dula&hellip;), apodo o correo <strong>%s</strong>" " con ID (DNI/c&eacute;dula), apodo o correo <strong>%s</strong>"
" en la asignatura <strong>%s</strong>."; // Necessita traduccio " en la asignatura <strong>%s</strong>."; // Necessita traduccio
#elif L==2 #elif L==2
"There is no user" "There is no user"
@ -46998,7 +46977,7 @@ const char *Txt_There_is_no_user_with_ID_nick_or_e_mail_X_in_the_course_Y = // W
" in the course <strong>%s</strong>."; " in the course <strong>%s</strong>.";
#elif L==4 #elif L==4
"No existe ning&uacute;n usuario" "No existe ning&uacute;n usuario"
" con ID (DNI/c&eacute;dula&hellip;), apodo o correo <strong>%s</strong>" " con ID (DNI/c&eacute;dula), apodo o correo <strong>%s</strong>"
" en la asignatura <strong>%s</strong>."; " en la asignatura <strong>%s</strong>.";
#elif L==5 #elif L==5
"There is no user" "There is no user"
@ -47006,7 +46985,7 @@ const char *Txt_There_is_no_user_with_ID_nick_or_e_mail_X_in_the_course_Y = // W
" in the course <strong>%s</strong>."; // Besoin de traduction " in the course <strong>%s</strong>."; // Besoin de traduction
#elif L==6 #elif L==6
"No existe ning&uacute;n usuario" "No existe ning&uacute;n usuario"
" con ID (DNI/c&eacute;dula&hellip;), apodo o correo <strong>%s</strong>" " con ID (DNI/c&eacute;dula), apodo o correo <strong>%s</strong>"
" en la asignatura <strong>%s</strong>."; // Okoteve traducción " en la asignatura <strong>%s</strong>."; // Okoteve traducción
#elif L==7 #elif L==7
"Non c'&egrave; alcun utente" "Non c'&egrave; alcun utente"
@ -48750,12 +48729,12 @@ const char *Txt_Type_of_group_X_removed = // Warning: it is very important to in
const char *Txt_Type_or_paste_a_list_of_IDs_nicks_or_emails_ = const char *Txt_Type_or_paste_a_list_of_IDs_nicks_or_emails_ =
#if L==1 #if L==1
"Escriba o pegue una lista" "Escriba o pegue una lista"
" con @apodos, correos o ID (DNI/c&eacute;dulas&hellip;)." " con @apodos, correos o ID (DNI/c&eacute;dulas)."
" Los @apodos, correos o ID (DNI/c&eacute;dulas&hellip;)" " Los @apodos, correos o ID (DNI/c&eacute;dulas)"
" pueden ir separados por cadenas de caracteres arbitrarias" " pueden ir separados por cadenas de caracteres arbitrarias"
" (por ej. nombres, apellidos, espacios, etc.)." " (por ej. nombres, apellidos, espacios, etc.)."
" Solo se tendr&aacute;n en cuenta aquellas palabras" " Solo se tendr&aacute;n en cuenta aquellas palabras"
" que parezcan @apodos, correos o ID (DNI/c&eacute;dulas&hellip;);" " que parezcan @apodos, correos o ID (DNI/c&eacute;dulas);"
" el resto del texto se ignorar&aacute;."; // Necessita traduccio " el resto del texto se ignorar&aacute;."; // Necessita traduccio
#elif L==2 #elif L==2
"Type or paste a list" "Type or paste a list"
@ -48777,12 +48756,12 @@ const char *Txt_Type_or_paste_a_list_of_IDs_nicks_or_emails_ =
" the rest of the text will be ignored."; " the rest of the text will be ignored.";
#elif L==4 #elif L==4
"Escriba o pegue una lista" "Escriba o pegue una lista"
" con @apodos, correos o ID (DNI/c&eacute;dulas&hellip;)." " con @apodos, correos o ID (DNI/c&eacute;dulas)."
" Los @apodos, correos o ID (DNI/c&eacute;dulas&hellip;)" " Los @apodos, correos o ID (DNI/c&eacute;dulas)"
" pueden ir separados por cadenas de caracteres arbitrarias" " pueden ir separados por cadenas de caracteres arbitrarias"
" (por ej. nombres, apellidos, espacios, etc.)." " (por ej. nombres, apellidos, espacios, etc.)."
" Solo se tendr&aacute;n en cuenta aquellas palabras" " Solo se tendr&aacute;n en cuenta aquellas palabras"
" que parezcan @apodos, correos o ID (DNI/c&eacute;dulas&hellip;);" " que parezcan @apodos, correos o ID (DNI/c&eacute;dulas);"
" el resto del texto se ignorar&aacute;."; " el resto del texto se ignorar&aacute;.";
#elif L==5 #elif L==5
"Type or paste a list" "Type or paste a list"
@ -48795,12 +48774,12 @@ const char *Txt_Type_or_paste_a_list_of_IDs_nicks_or_emails_ =
" the rest of the text will be ignored."; // Besoin de traduction " the rest of the text will be ignored."; // Besoin de traduction
#elif L==6 #elif L==6
"Escriba o pegue una lista" "Escriba o pegue una lista"
" con @apodos, correos o ID (DNI/c&eacute;dulas&hellip;)." " con @apodos, correos o ID (DNI/c&eacute;dulas)."
" Los @apodos, correos o ID (DNI/c&eacute;dulas&hellip;)" " Los @apodos, correos o ID (DNI/c&eacute;dulas)"
" pueden ir separados por cadenas de caracteres arbitrarias" " pueden ir separados por cadenas de caracteres arbitrarias"
" (por ej. nombres, apellidos, espacios, etc.)." " (por ej. nombres, apellidos, espacios, etc.)."
" Solo se tendr&aacute;n en cuenta aquellas palabras" " Solo se tendr&aacute;n en cuenta aquellas palabras"
" que parezcan @apodos, correos o ID (DNI/c&eacute;dulas&hellip;);" " que parezcan @apodos, correos o ID (DNI/c&eacute;dulas);"
" el resto del texto se ignorar&aacute;."; // Okoteve traducción " el resto del texto se ignorar&aacute;."; // Okoteve traducción
#elif L==7 #elif L==7
"Scrivi o incolla la lista" "Scrivi o incolla la lista"
@ -49783,11 +49762,11 @@ const char *Txt_User_ID =
#elif L==3 #elif L==3
"User ID"; "User ID";
#elif L==4 #elif L==4
"ID (DNI/c&eacute;dula&hellip;) del usuario"; "ID (DNI/c&eacute;dula) del usuario";
#elif L==5 #elif L==5
"Num&eacute;ro d'identit&eacute; d'utilisateur"; "Num&eacute;ro d'identit&eacute; d'utilisateur";
#elif L==6 #elif L==6
"ID (DNI/c&eacute;dula&hellip;) del usuario"; // Okoteve traducción "ID (DNI/c&eacute;dula) del usuario"; // Okoteve traducción
#elif L==7 #elif L==7
"Numero carta d'identit&agrave; utente"; "Numero carta d'identit&agrave; utente";
#elif L==8 #elif L==8
@ -52067,17 +52046,17 @@ const char *Txt_You_can_not_delete_your_current_nickname =
const char *Txt_You_can_not_delete_this_ID = const char *Txt_You_can_not_delete_this_ID =
#if L==1 #if L==1
"No puede eliminar este ID (DNI/c&eacute;dula&hellip;)."; // Necessita traduccio "No puede eliminar este ID (DNI/c&eacute;dula)."; // Necessita traduccio
#elif L==2 #elif L==2
"You can not delete this ID."; // Need Übersetzung "You can not delete this ID."; // Need Übersetzung
#elif L==3 #elif L==3
"You can not delete this ID."; "You can not delete this ID.";
#elif L==4 #elif L==4
"No puede eliminar este ID (DNI/c&eacute;dula&hellip;)."; "No puede eliminar este ID (DNI/c&eacute;dula).";
#elif L==5 #elif L==5
"You can not delete this ID."; // Besoin de traduction "You can not delete this ID."; // Besoin de traduction
#elif L==6 #elif L==6
"No puede eliminar este ID (DNI/c&eacute;dula&hellip;)."; // Okoteve traducción "No puede eliminar este ID (DNI/c&eacute;dula)."; // Okoteve traducción
#elif L==7 #elif L==7
"Non puoi cancellare questo ID."; "Non puoi cancellare questo ID.";
#elif L==8 #elif L==8
@ -53633,11 +53612,11 @@ const char *Txt_You_must_enter_your_nick_email_or_ID =
#elif L==3 #elif L==3
"You must enter your @nick, email or ID."; "You must enter your @nick, email or ID.";
#elif L==4 #elif L==4
"Debe escribir su @apodo, correo o ID (DNI/c&eacute;dula&hellip;)."; "Debe escribir su @apodo, correo o ID (DNI/c&eacute;dula).";
#elif L==5 #elif L==5
"Vous devez entrer votre @surnom, courrier ou num&eacute;ro d'identit&eacute;."; "Vous devez entrer votre @surnom, courrier ou num&eacute;ro d'identit&eacute;.";
#elif L==6 #elif L==6
"Debe escribir su @apodo, correo o ID (DNI/c&eacute;dula&hellip;)."; // Okoteve traducción "Debe escribir su @apodo, correo o ID (DNI/c&eacute;dula)."; // Okoteve traducción
#elif L==7 #elif L==7
"Devi inserire il tuo @nome-utente, email o numero carta d'identit&agrave;."; "Devi inserire il tuo @nome-utente, email o numero carta d'identit&agrave;.";
#elif L==8 #elif L==8

View File

@ -1888,7 +1888,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) ())
"</td>" "</td>"
"<td class=\"LEFT_MIDDLE\">" "<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" id=\"UsrId\" name=\"UsrId\"" "<input type=\"text\" id=\"UsrId\" name=\"UsrId\""
" size=\"25\" maxlength=\"%u\"" " size=\"18\" maxlength=\"%u\""
" placeholder=\"%s\" value=\"%s\"" " placeholder=\"%s\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />"
"</td>" "</td>"
@ -1901,7 +1901,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) ())
"</td>" "</td>"
"<td class=\"LEFT_MIDDLE\">" "<td class=\"LEFT_MIDDLE\">"
"<input type=\"password\" name=\"UsrPwd\"" "<input type=\"password\" name=\"UsrPwd\""
" size=\"25\" maxlength=\"%u\" placeholder=\"%s\" />" " size=\"18\" maxlength=\"%u\" placeholder=\"%s\" />"
"</td>" "</td>"
"</tr>", "</tr>",
Gbl.Prefs.IconsURL, Gbl.Prefs.IconsURL,
@ -2093,7 +2093,7 @@ void Usr_WriteLoggedUsrHead (void)
} }
else else
{ {
Rol_PutFormToChangeMyRole (true); Rol_PutFormToChangeMyRole ();
fprintf (Gbl.F.Out,"<span class=\"%s\">&nbsp;</span>", fprintf (Gbl.F.Out,"<span class=\"%s\">&nbsp;</span>",
The_ClassUsr[Gbl.Prefs.Theme]); The_ClassUsr[Gbl.Prefs.Theme]);
} }
@ -2880,7 +2880,7 @@ void Usr_ShowFormsLogoutAndRole (void)
fprintf (Gbl.F.Out,"<div class=\"%s CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<div class=\"%s CENTER_MIDDLE\">"
"%s: ", "%s: ",
The_ClassForm[Gbl.Prefs.Theme],Txt_Role); The_ClassForm[Gbl.Prefs.Theme],Txt_Role);
Rol_PutFormToChangeMyRole (false); Rol_PutFormToChangeMyRole ();
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }