From 7575b2b4588ace6034cc440c6036f19097031a33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Sat, 10 Dec 2016 18:32:35 +0100 Subject: [PATCH] Version 16.94 --- css/{swad16.93.css => swad16.94.css} | 111 +++++++++++++++- swad_ID.c | 2 +- swad_account.c | 15 +-- swad_changelog.h | 5 +- swad_enrollment.c | 2 +- swad_mail.c | 2 +- swad_nickname.c | 2 +- swad_password.c | 8 +- swad_profile.c | 2 +- swad_role.c | 8 +- swad_role.h | 2 +- swad_search.c | 2 +- swad_text.c | 185 ++++++++++++--------------- swad_user.c | 8 +- 14 files changed, 216 insertions(+), 138 deletions(-) rename css/{swad16.93.css => swad16.94.css} (96%) diff --git a/css/swad16.93.css b/css/swad16.94.css similarity index 96% rename from css/swad16.93.css rename to css/swad16.94.css index 03db3f061..7c2f39797 100644 --- a/css/swad16.93.css +++ b/css/swad16.94.css @@ -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 { display:table-cell; @@ -291,32 +300,73 @@ a:hover /* Default ==> underlined */ text-align:left; vertical-align:top !important; } -@media only screen and (max-width: 799px) +@media only screen and (max-width: 479px) { /* For mobile-phones */ #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-weight:bold; white-space:nowrap; } + .BC + { + display:table-cell; + max-width:60px; + overflow:hidden; + } } @media only screen and (min-width: 800px) and (max-width: 1023px) { /* For tablets */ #breadcrumb { + display:table; + margin:0 auto; font-size:10pt; font-weight:bold; white-space:nowrap; } + .BC + { + display:table-cell; + max-width:100px; + overflow:hidden; + } } @media only screen and (min-width: 1024px) { /* For desktop */ #breadcrumb { + display:table; + margin:0 auto; font-size:12pt; font-weight:bold; white-space:nowrap; } + .BC + { + display:table-cell; + max-width:150px; + overflow:hidden; + } } .BC_SEMIOFF @@ -434,7 +484,58 @@ a:hover /* Default ==> underlined */ { 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 */ #tabs { @@ -729,7 +830,7 @@ a:hover /* Default ==> underlined */ { box-sizing:border-box; width:100%; - padding:4px 16px; + padding:4px 8px; margin:0 auto; text-align:left; vertical-align:top; @@ -788,7 +889,7 @@ a:hover /* Default ==> underlined */ { box-sizing:border-box; width:100%; - padding:4px 16px; + padding:4px 8px; margin:0 auto; text-align:left; vertical-align:top; @@ -846,7 +947,7 @@ a:hover /* Default ==> underlined */ { display:table-cell; box-sizing:border-box; - padding:4px 16px; + padding:4px 8px; margin:0 auto; text-align:left; vertical-align:top; diff --git a/swad_ID.c b/swad_ID.c index 16eb8f321..97709c366 100644 --- a/swad_ID.c +++ b/swad_ID.c @@ -634,7 +634,7 @@ void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,bool ItsMe) } fprintf (Gbl.F.Out,"
" "" + " size=\"18\" maxlength=\"%u\" value=\"%s\" />" "
", ID_MAX_LENGTH_USR_ID, UsrDat->IDs.Num ? UsrDat->IDs.List[UsrDat->IDs.Num - 1].ID : diff --git a/swad_account.c b/swad_account.c index fc8ad7a45..ef56ad93b 100644 --- a/swad_account.c +++ b/swad_account.c @@ -150,7 +150,7 @@ static void Acc_ShowFormCheckIfIHaveAccount (const char *Title) "%s: " "" "", + " size=\"18\" maxlength=\"%u\" value=\"\" />", The_ClassForm[Gbl.Prefs.Theme],Txt_ID, ID_MAX_LENGTH_USR_ID); 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 *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_HELP_nickname; extern const char *Txt_HELP_email; extern const char *Txt_Email; - extern const char *Txt_Create_account; char NewNicknameWithArroba[Nck_MAX_BYTES_NICKNAME_WITH_ARROBA+1]; /***** Form to enter some data of the new user *****/ Act_FormStart (ActCreUsrAcc); - Lay_StartRoundFrameTable (NULL,Txt_Create_a_new_account, + Lay_StartRoundFrameTable (NULL,Txt_Create_account, NULL,Hlp_PROFILE_Sign_up,2); /***** Nickname *****/ @@ -350,7 +349,7 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNicknameWith "" "" "" "" @@ -368,7 +367,7 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNicknameWith "" "" "" "" @@ -395,7 +394,7 @@ void Acc_ShowFormGoToRequestNewAccount (void) { extern const char *Hlp_PROFILE_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 *****/ 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 *****/ Act_FormStart (ActFrmMyAcc); - Lay_PutCreateButton (Txt_Create_a_new_account); + Lay_PutCreateButton (Txt_Create_account); Act_FormEnd (); /***** End frame *****/ diff --git a/swad_changelog.h b/swad_changelog.h index 6d87315b4..a8a9070cd 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -185,13 +185,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.93 (2016-12-10)" -#define CSS_FILE "swad16.93.css" +#define Log_PLATFORM_VERSION "SWAD 16.94 (2016-12-10)" +#define CSS_FILE "swad16.94.css" #define JS_FILE "swad16.90.2.js" // 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 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.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) diff --git a/swad_enrollment.c b/swad_enrollment.c index 8fc886e3b..27ec49760 100644 --- a/swad_enrollment.c +++ b/swad_enrollment.c @@ -329,7 +329,7 @@ void Enr_WriteFormToReqAnotherUsrID (Act_Action_t NextAction) "%s: " "" "", The_ClassForm[Gbl.Prefs.Theme], Txt_nick_email_or_ID, diff --git a/swad_mail.c b/swad_mail.c index 0ab17e467..1c0b8a50e 100644 --- a/swad_mail.c +++ b/swad_mail.c @@ -1289,7 +1289,7 @@ void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe) } fprintf (Gbl.F.Out,"
" "" + " size=\"18\" maxlength=\"%u\" value=\"%s\" />" "
", Usr_MAX_BYTES_USR_EMAIL, Gbl.Usrs.Me.UsrDat.Email); diff --git a/swad_nickname.c b/swad_nickname.c index 7818b3278..f00836a6e 100644 --- a/swad_nickname.c +++ b/swad_nickname.c @@ -285,7 +285,7 @@ void Nck_ShowFormChangeUsrNickname (void) Act_FormStart (ActChgNic); fprintf (Gbl.F.Out,"
" "" + " size=\"18\" maxlength=\"%u\" value=\"@%s\" />" "
", 1 + Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA, Gbl.Usrs.Me.UsrDat.Nickname); diff --git a/swad_password.c b/swad_password.c index 82a517aa0..f91128662 100644 --- a/swad_password.c +++ b/swad_password.c @@ -696,7 +696,7 @@ void Pwd_ShowFormChgPwd (void) "" "" "" "" "", @@ -742,7 +742,7 @@ void Pwd_PutFormToGetNewPasswordOnce (void) "" "" "" "" "", @@ -770,7 +770,7 @@ void Pwd_PutFormToGetNewPasswordTwice (void) "" "" "" "" "" @@ -780,7 +780,7 @@ void Pwd_PutFormToGetNewPasswordTwice (void) "" "" "" "" "", diff --git a/swad_profile.c b/swad_profile.c index 853e5b29f..f7e171a22 100644 --- a/swad_profile.c +++ b/swad_profile.c @@ -176,7 +176,7 @@ static void Prf_RequestUserProfileWithDefaultNickname (const char *DefaultNickna "%s: " "" "", + " size=\"18\" maxlength=\"%u\" value=\"@%s\" />", The_ClassForm[Gbl.Prefs.Theme], Txt_Nickname, Nck_MAX_BYTES_NICKNAME_WITH_ARROBA, diff --git a/swad_role.c b/swad_role.c index 088381469..556e86767 100644 --- a/swad_role.c +++ b/swad_role.c @@ -283,16 +283,14 @@ unsigned Rol_ConvertUnsignedStrToRoles (const char *UnsignedStr) /*********************** 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]; Rol_Role_t Role; Act_FormStart (ActChgMyRol); - fprintf (Gbl.F.Out,"", Gbl.Form.Id); for (Role = Rol__GUEST_; Role < Rol_NUM_ROLES; diff --git a/swad_role.h b/swad_role.h index 19bbac181..2096da3fd 100644 --- a/swad_role.h +++ b/swad_role.h @@ -78,7 +78,7 @@ unsigned Rol_GetRolesInAllCrss (long UsrCod); Rol_Role_t Rol_ConvertUnsignedStrToRole (const char *UnsignedStr); unsigned Rol_ConvertUnsignedStrToRoles (const char *UnsignedStr); -void Rol_PutFormToChangeMyRole (bool FormInHead); +void Rol_PutFormToChangeMyRole (void); void Rol_ChangeMyRole (void); void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected, diff --git a/swad_search.c b/swad_search.c index f09506db4..ae00bd462 100644 --- a/swad_search.c +++ b/swad_search.c @@ -374,7 +374,7 @@ void Sch_PutInputStringToSearch (const char *IdInputText) if (IdInputText) fprintf (Gbl.F.Out," id=\"%s\"",IdInputText); 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, Gbl.Search.Str); if (!Gbl.Search.Str[0]) diff --git a/swad_text.c b/swad_text.c index 553a312eb..3a61944fd 100644 --- a/swad_text.c +++ b/swad_text.c @@ -940,7 +940,7 @@ const char *Txt_The_following_password_has_been_assigned_to_you_to_log_in_X_NO_H #elif L==6 "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" + " 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," @@ -1552,11 +1552,11 @@ const char *Txt_A_user_can_not_have_more_than_X_IDs = #elif L==3 "A user can not have more than %u IDs."; #elif L==4 - "Un usuario no puede tener más de %u ID (DNI/cédulas…)."; + "Un usuario no puede tener más de %u ID (DNI/cédulas)."; #elif L==5 "Un utilisateur ne peut pas avoir plus de %u IDs."; #elif L==6 - "Un usuario no puede tener más de %u ID (DNI/cédulas…)."; // Okoteve traducción + "Un usuario no puede tener más de %u ID (DNI/cédulas)."; // Okoteve traducción #elif L==7 "Un utente non può avere più di %u ID."; #elif L==8 @@ -2581,11 +2581,11 @@ const char *Txt_Another_ID = #elif L==3 "Another ID"; #elif L==4 - "Otro ID (DNI/cédula…)"; + "Otro ID (DNI/cédula)"; #elif L==5 "Un autre numéro d'identité"; #elif L==6 - "Otro ID (DNI/cédula…)"; // Okoteve traducción + "Otro ID (DNI/cédula)"; // Okoteve traducción #elif L==7 "Un'altra carta d'identità"; #elif L==8 @@ -5834,27 +5834,6 @@ const char *Txt_Courses_of_DEGREE_X = // Warning: it is very important to includ "Disciplinas de %s"; #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é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órz nowe konto"; -#elif L==9 - "Criar uma nova conta"; -#endif - const char *Txt_Create_account = #if L==1 "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 "Do you want to confirm the ID (identity number/passport) %s?"; #elif L==4 - "¿Desea confirmar el ID (DNI/cédula…) %s?"; + "¿Desea confirmar el ID (DNI/cédula) %s?"; #elif L==5 "Voulez-vous confirmer l'ID %s?"; #elif L==6 - "¿Desea confirmar el ID (DNI/cédula…) %s?"; // Okoteve traducción + "¿Desea confirmar el ID (DNI/cédula) %s?"; // Okoteve traducción #elif L==7 "Vuoi confermare l'ID %s?"; #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ándola como página web.
" " Una tabla puede tener varias filas de cabecera y varias filas de pie." " Entre ellas debe haber una única fila para cada estudiante," - " con cualquier número de columnas, conteniendo la primera columna el ID (DNI/cédula…) del estudiante.
" + " con cualquier número de columnas, conteniendo la primera columna el ID (DNI/cédula) del estudiante.
" " Un estudiante verá una tabla con las filas de cabecera," " seguidas por la fila con sus calificaciones," " 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ándola como página web.
" " Una tabla puede tener varias filas de cabecera y varias filas de pie." " Entre ellas debe haber una única fila para cada estudiante," - " con cualquier número de columnas, conteniendo la primera columna el ID (DNI/cédula…) del estudiante.
" + " con cualquier número de columnas, conteniendo la primera columna el ID (DNI/cédula) del estudiante.
" " Un estudiante verá una tabla con las filas de cabecera," " seguidas por la fila con sus calificaciones," " 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ándola como página web.
" " Una tabla puede tener varias filas de cabecera y varias filas de pie." " Entre ellas debe haber una única fila para cada estudiante," - " con cualquier número de columnas, conteniendo la primera columna el ID (DNI/cédula…) del estudiante.
" + " con cualquier número de columnas, conteniendo la primera columna el ID (DNI/cédula) del estudiante.
" " Un estudiante verá una tabla con las filas de cabecera," " seguidas por la fila con sus calificaciones," " y por las filas de pie."; // Okoteve traducción @@ -14706,11 +14685,11 @@ const char *Txt_ID = #elif L==3 "ID (identity number/passport)"; #elif L==4 - "ID (DNI/cédula…)"; + "ID (DNI/cédula)"; #elif L==5 "Num. d'identité"; #elif L==6 - "ID (DNI/cédula…)"; // Okoteve traducción + "ID (DNI/cédula)"; // Okoteve traducción #elif L==7 "Numero carta d'identità"; #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 #if L==1 - "El ID (DNI/cédula…) %s ja havia estat confirmat."; + "El ID (DNI/cédula) %s ja havia estat confirmat."; #elif L==2 "ID %s hatte bereits bestätigt worden."; #elif L==3 "ID %s had already been confirmed."; #elif L==4 - "El ID (DNI/cédula…) %s ya había sido confirmado."; + "El ID (DNI/cédula) %s ya había sido confirmado."; #elif L==5 "L'ID %s avait déjà été confirmée."; #elif L==6 - "El ID (DNI/cédula…) %s ya había sido confirmado."; // Okoteve traducción + "El ID (DNI/cédula) %s ya había sido confirmado."; // Okoteve traducción #elif L==7 "L'ID %s era già stato confermato."; #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 #if L==1 - "ID (DNI/cédula…) %s confirmat"; + "ID (DNI/cédula) %s confirmat"; #elif L==2 "ID %s bestätigt"; #elif L==3 "ID %s confirmed"; #elif L==4 - "ID (DNI/cédula…) %s confirmado"; + "ID (DNI/cédula) %s confirmado"; #elif L==5 "ID %s confirmé"; #elif L==6 - "ID (DNI/cédula…) %s confirmado"; // Okoteve traducción + "ID (DNI/cédula) %s confirmado"; // Okoteve traducción #elif L==7 "ID %s confermato"; #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 #if L==1 - "ID (DNI/cédula…) %s no confirmat"; + "ID (DNI/cédula) %s no confirmat"; #elif L==2 "ID %s nicht bestätigt"; #elif L==3 "ID %s not confirmed"; #elif L==4 - "ID (DNI/cédula…) %s no confirmado"; + "ID (DNI/cédula) %s no confirmado"; #elif L==5 "ID %s pas confirmé"; #elif L==6 - "ID (DNI/cédula…) %s no confirmado"; // Okoteve traducción + "ID (DNI/cédula) %s no confirmado"; // Okoteve traducción #elif L==7 "ID %s non confermato"; #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 #if L==1 - "ID (DNI/cédula…) %s eliminat."; + "ID (DNI/cédula) %s eliminat."; #elif L==2 "ID %s entfernt."; #elif L==3 "ID %s removed."; #elif L==4 - "ID (DNI/cédula…) %s eliminado."; + "ID (DNI/cédula) %s eliminado."; #elif L==5 "ID %s supprimé."; #elif L==6 - "ID (DNI/cédula…) %s eliminado."; // Okoteve traducción + "ID (DNI/cédula) %s eliminado."; // Okoteve traducción #elif L==7 "ID %s rimosso."; #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 #if L==1 "Si se trata de un usuario nuevo en %s," - " debe indicar el ID (DNI/cédula…)."; // Necessita traduccio + " debe indicar el ID (DNI/cédula)."; // Necessita traduccio #elif L==2 "If this is a new user in %s," " 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."; #elif L==4 "Si se trata de un usuario nuevo en %s," - " debe indicar el ID (DNI/cédula…)."; + " debe indicar el ID (DNI/cédula)."; #elif L==5 "If this is a new user in %s," " you should indicate her/his ID."; // Besoin de traduction #elif L==6 "Si se trata de un usuario nuevo en %s," - " debe indicar el ID (DNI/cédula…)."; // Okoteve traducción + " debe indicar el ID (DNI/cédula)."; // Okoteve traducción #elif L==7 "If this is a new user in %s," " 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_ = #if L==1 - "Si usted ha escrito correctamente su @apodo, correo o ID (DNI/cédula…)," + "Si usted ha escrito correctamente su @apodo, correo o ID (DNI/cédula)," " y el correo en su ficha es correcto," " recibirá un mensaje con una nueva contraseña."; // Necessita traduccio #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," " you will receive an email with a new password."; #elif L==4 - "Si usted ha escrito correctamente su @apodo, correo o ID (DNI/cédula…)," + "Si usted ha escrito correctamente su @apodo, correo o ID (DNI/cédula)," " y el correo en su ficha es correcto," " recibirá un mensaje con una nueva contraseña."; #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," " vous recevrez un email avec un nouveau mot de passe."; #elif L==6 - "Si usted ha escrito correctamente su @apodo, correo o ID (DNI/cédula…)," + "Si usted ha escrito correctamente su @apodo, correo o ID (DNI/cédula)," " y el correo en su ficha es correcto," " recibirá un mensaje con una nueva contraseña."; // Okoteve traducción #elif L==7 @@ -17037,17 +17016,17 @@ const char *Txt_List_of_detailed_clicks = const char *Txt_List_of_nicks_emails_or_IDs = #if L==1 - "Lista de @apodos, correos o ID (DNI/cédulas…)"; // Necessita traduccio + "Lista de @apodos, correos o ID (DNI/cédulas)"; // Necessita traduccio #elif L==2 "Liste von @Benutzernamen, Emails oder Ausweis-Nr."; #elif L==3 "List of @nicks, emails or IDs"; #elif L==4 - "Lista de @apodos, correos o ID (DNI/cédulas…)"; + "Lista de @apodos, correos o ID (DNI/cédulas)"; #elif L==5 "Liste de numéros d'identité"; #elif L==6 - "Lista de @apodos, correos o ID (DNI/cédulas…)"; // Okoteve traducción + "Lista de @apodos, correos o ID (DNI/cédulas)"; // Okoteve traducción #elif L==7 "Lista di @nomi-utenti, email o numero carte d'identità"; #elif L==8 @@ -24046,11 +24025,11 @@ const char *Txt_nick_email_or_ID = #elif L==3 "@nick, email or ID"; #elif L==4 - "@apodo, correo o ID (DNI/cédula…)"; + "@apodo, correo o ID (DNI/cédula)"; #elif L==5 "@surnom, courrier ou numéro d'identité"; #elif L==6 - "@apodo, correo o ID (DNI/cédula…)"; // Okoteve traducción + "@apodo, correo o ID (DNI/cédula)"; // Okoteve traducción #elif L==7 "@nome-utente, email o numero carta d'identità"; #elif L==8 @@ -24061,17 +24040,17 @@ const char *Txt_nick_email_or_ID = const char *Txt_nicks_emails_or_IDs_separated_by_commas = #if L==1 - "@apodos, correos o ID (DNI/cédulas…) separados por comas"; // Necessita traduccio + "@apodos, correos o ID (DNI/cédulas) separados por comas"; // Necessita traduccio #elif L==2 "@Benutzernamen, Emails oder Ausweis-Nr. durch Kommas getrennt"; #elif L==3 "@nicks, emails or IDs separated by commas"; #elif L==4 - "@apodos, correos o ID (DNI/cédulas…) separados por comas"; + "@apodos, correos o ID (DNI/cédulas) separados por comas"; #elif L==5 "@surnoms, courriers ou numéros d'identité séparés par des virgules"; #elif L==6 - "@apodos, correos o ID (DNI/cédulas…) separados por comas"; // Okoteve traducción + "@apodos, correos o ID (DNI/cédulas) separados por comas"; // Okoteve traducción #elif L==7 "@nomi-utenti, email o numero carte d'identità separati da virgole"; #elif L==8 @@ -28573,11 +28552,11 @@ const char *Txt_Please_enter_your_ID = #elif L==3 "Please enter your ID."; #elif L==4 - "Por favor, escriba su ID (DNI/cédula…)."; + "Por favor, escriba su ID (DNI/cédula)."; #elif L==5 "S'il vous plaít, entrez votre ID."; #elif L==6 - "Por favor, escriba su ID (DNI/cédula…)."; // Okoteve traducción + "Por favor, escriba su ID (DNI/cédula)."; // Okoteve traducción #elif L==7 "Per favore, inserisci il tuo ID."; #elif L==8 @@ -28648,7 +28627,7 @@ const char *Txt_Please_fill_in_your_ID = " because it facilitates the registration process" " of users in the courses."; #elif L==4 - "Por favor, rellene su ID (DNI/cédula…)." + "Por favor, rellene su ID (DNI/cédula)." " Es un dato opcional," " pero es recomendable que lo rellene" " porque facilita el proceso de inscripción" @@ -28660,7 +28639,7 @@ const char *Txt_Please_fill_in_your_ID = " parce qu'il facilite le processus d'enregistrement" " des utilisateurs dans les matières."; #elif L==6 - "Por favor, rellene su ID (DNI/cédula…)." + "Por favor, rellene su ID (DNI/cédula)." " Es un dato opcional," " pero es recomendable que lo rellene" " porque facilita el proceso de inscripció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 #if L==1 - "El ID (DNI/cédula…) %s" + "El ID (DNI/cédula) %s" " ha sido confirmado."; // Necessita traduccio #elif L==2 "The ID %s" @@ -43172,13 +43151,13 @@ const char *Txt_The_ID_X_has_been_confirmed = // Warning: it is very important t "The ID %s" " has been confirmed."; #elif L==4 - "El ID (DNI/cédula…) %s" + "El ID (DNI/cédula) %s" " ha sido confirmado."; #elif L==5 "The ID %s" " has been confirmed."; // Besoin de traduction #elif L==6 - "El ID (DNI/cédula…) %s" + "El ID (DNI/cédula) %s" " ha sido confirmado."; // Okoteve traducción #elif L==7 "Il ID %s" @@ -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 #if L==1 - "El ID (DNI/cédula…) %s" + "El ID (DNI/cédula) %s" " se ha registrado correctamente."; // Necessita traduccio #elif L==2 "The ID %s" @@ -43202,13 +43181,13 @@ const char *Txt_The_ID_X_has_been_registered_successfully = // Warning: it is ve "The ID %s" " has been registered successfully."; #elif L==4 - "El ID (DNI/cédula…) %s" + "El ID (DNI/cédula) %s" " se ha registrado correctamente."; #elif L==5 "The ID %s" " has been registered successfully."; // Besoin de traduction #elif L==6 - "El ID (DNI/cédula…) %s" + "El ID (DNI/cédula) %s" " se ha registrado correctamente."; // Okoteve traducción #elif L==7 "Il ID %s" @@ -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 #if L==1 - "El ID (DNI/cédula…) %s no es válido." + "El ID (DNI/cédula) %s no es válido." " Solo puede contener números (al menos uno) y letras."; // Necessita traduccio #elif L==2 "The ID %s 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 %s is not valid." " It can only contain numbers (at least one) and letters."; #elif L==4 - "El ID (DNI/cédula…) %s no es válido." + "El ID (DNI/cédula) %s no es válido." " Solo puede contener números (al menos uno) y letras."; #elif L==5 "The ID %s is not valid." " It can only contain numbers (at least one) and letters."; // Besoin de traduction #elif L==6 - "El ID (DNI/cédula…) %s no es válido." + "El ID (DNI/cédula) %s no es válido." " Solo puede contener números (al menos uno) y letras."; // Okoteve traducción #elif L==7 "L'ID %s non è 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 #if L==1 - "El @apodo, correo o ID (DNI/cédula…) %s no es válido."; // Necessita traduccio + "El @apodo, correo o ID (DNI/cédula) %s no es válido."; // Necessita traduccio #elif L==2 "The @nick, email or ID %s is not valid."; // Need Übersetzung #elif L==3 "The @nick, email or ID %s is not valid."; #elif L==4 - "El @apodo, correo o ID (DNI/cédula…) %s no es válido."; + "El @apodo, correo o ID (DNI/cédula) %s no es válido."; #elif L==5 "The @nick, email or ID %s is not valid."; // Besoin de traduction #elif L==6 - "El @apodo, correo o ID (DNI/cédula…) %s no es válido."; // Okoteve traducción + "El @apodo, correo o ID (DNI/cédula) %s no es válido."; // Okoteve traducción #elif L==7 "Il @nome-utente, email o ID %s non è valido."; #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 #if L==1 - "El ID (DNI/cédula…) %s" + "El ID (DNI/cédula) %s" " coincide con uno de los existentes."; // Necessita traduccio #elif L==2 "The ID %s" @@ -43322,13 +43301,13 @@ const char *Txt_The_ID_X_matches_one_of_the_existing = // Warning: it is very im "The ID %s" " matches one of the existing."; #elif L==4 - "El ID (DNI/cédula…) %s" + "El ID (DNI/cédula) %s" " coincide con uno de los existentes."; #elif L==5 "The ID %s" " matches one of the existing."; // Besoin de traduction #elif L==6 - "El ID (DNI/cédula…) %s" + "El ID (DNI/cédula) %s" " coincide con uno de los existentes."; // Okoteve traducción #elif L==7 "The ID %s" @@ -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 #if L==1 - "Hi ha %u usuaris amb el ID (DNI/cédula…) %s."; + "Hi ha %u usuaris amb el ID (DNI/cédula) %s."; #elif L==2 "There are %u users with the ID %s."; // Need Übersetzung #elif L==3 "There are %u users with the ID %s."; #elif L==4 - "Hay %u usuarios con el ID (DNI/cédula…) %s."; + "Hay %u usuarios con el ID (DNI/cédula) %s."; #elif L==5 "Il y a %u utilisateurs avec le ID %s."; #elif L==6 - "Hay %u usuarios con el ID (DNI/cédula…) %s."; // Okoteve traducción + "Hay %u usuarios con el ID (DNI/cédula) %s."; // Okoteve traducción #elif L==7 "Ci sono %u utenti con il ID %s."; #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 #if L==1 "No existe ningún usuario" - " con ID (DNI/cédula…), apodo o correo %s."; // Necessita traduccio + " con ID (DNI/cédula), apodo o correo %s."; // Necessita traduccio #elif L==2 "There is no user" " with ID, nick or email %s."; // Ü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 %s."; #elif L==4 "No existe ningún usuario" - " con ID (DNI/cédula…), apodo o correo %s."; + " con ID (DNI/cédula), apodo o correo %s."; #elif L==5 "There is no user" " with ID, nick or email %s."; // Besoin de traduction #elif L==6 "No existe ningún usuario" - " con ID (DNI/cédula…), apodo o correo %s."; // Okoteve traducción + " con ID (DNI/cédula), apodo o correo %s."; // Okoteve traducción #elif L==7 "Non c'è alcun utente" " con ID, nome utente o email %s."; @@ -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 #if L==1 "No existe ningún usuario" - " con ID (DNI/cédula…), apodo o correo %s" + " con ID (DNI/cédula), apodo o correo %s" " en la asignatura %s."; // Necessita traduccio #elif L==2 "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 %s."; #elif L==4 "No existe ningún usuario" - " con ID (DNI/cédula…), apodo o correo %s" + " con ID (DNI/cédula), apodo o correo %s" " en la asignatura %s."; #elif L==5 "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 %s."; // Besoin de traduction #elif L==6 "No existe ningún usuario" - " con ID (DNI/cédula…), apodo o correo %s" + " con ID (DNI/cédula), apodo o correo %s" " en la asignatura %s."; // Okoteve traducción #elif L==7 "Non c'è 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_ = #if L==1 "Escriba o pegue una lista" - " con @apodos, correos o ID (DNI/cédulas…)." - " Los @apodos, correos o ID (DNI/cédulas…)" + " con @apodos, correos o ID (DNI/cédulas)." + " Los @apodos, correos o ID (DNI/cédulas)" " pueden ir separados por cadenas de caracteres arbitrarias" " (por ej. nombres, apellidos, espacios, etc.)." " Solo se tendrán en cuenta aquellas palabras" - " que parezcan @apodos, correos o ID (DNI/cédulas…);" + " que parezcan @apodos, correos o ID (DNI/cédulas);" " el resto del texto se ignorará."; // Necessita traduccio #elif L==2 "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."; #elif L==4 "Escriba o pegue una lista" - " con @apodos, correos o ID (DNI/cédulas…)." - " Los @apodos, correos o ID (DNI/cédulas…)" + " con @apodos, correos o ID (DNI/cédulas)." + " Los @apodos, correos o ID (DNI/cédulas)" " pueden ir separados por cadenas de caracteres arbitrarias" " (por ej. nombres, apellidos, espacios, etc.)." " Solo se tendrán en cuenta aquellas palabras" - " que parezcan @apodos, correos o ID (DNI/cédulas…);" + " que parezcan @apodos, correos o ID (DNI/cédulas);" " el resto del texto se ignorará."; #elif L==5 "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 #elif L==6 "Escriba o pegue una lista" - " con @apodos, correos o ID (DNI/cédulas…)." - " Los @apodos, correos o ID (DNI/cédulas…)" + " con @apodos, correos o ID (DNI/cédulas)." + " Los @apodos, correos o ID (DNI/cédulas)" " pueden ir separados por cadenas de caracteres arbitrarias" " (por ej. nombres, apellidos, espacios, etc.)." " Solo se tendrán en cuenta aquellas palabras" - " que parezcan @apodos, correos o ID (DNI/cédulas…);" + " que parezcan @apodos, correos o ID (DNI/cédulas);" " el resto del texto se ignorará."; // Okoteve traducción #elif L==7 "Scrivi o incolla la lista" @@ -49783,11 +49762,11 @@ const char *Txt_User_ID = #elif L==3 "User ID"; #elif L==4 - "ID (DNI/cédula…) del usuario"; + "ID (DNI/cédula) del usuario"; #elif L==5 "Numéro d'identité d'utilisateur"; #elif L==6 - "ID (DNI/cédula…) del usuario"; // Okoteve traducción + "ID (DNI/cédula) del usuario"; // Okoteve traducción #elif L==7 "Numero carta d'identità utente"; #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 = #if L==1 - "No puede eliminar este ID (DNI/cédula…)."; // Necessita traduccio + "No puede eliminar este ID (DNI/cédula)."; // Necessita traduccio #elif L==2 "You can not delete this ID."; // Need Übersetzung #elif L==3 "You can not delete this ID."; #elif L==4 - "No puede eliminar este ID (DNI/cédula…)."; + "No puede eliminar este ID (DNI/cédula)."; #elif L==5 "You can not delete this ID."; // Besoin de traduction #elif L==6 - "No puede eliminar este ID (DNI/cédula…)."; // Okoteve traducción + "No puede eliminar este ID (DNI/cédula)."; // Okoteve traducción #elif L==7 "Non puoi cancellare questo ID."; #elif L==8 @@ -53633,11 +53612,11 @@ const char *Txt_You_must_enter_your_nick_email_or_ID = #elif L==3 "You must enter your @nick, email or ID."; #elif L==4 - "Debe escribir su @apodo, correo o ID (DNI/cédula…)."; + "Debe escribir su @apodo, correo o ID (DNI/cédula)."; #elif L==5 "Vous devez entrer votre @surnom, courrier ou numéro d'identité."; #elif L==6 - "Debe escribir su @apodo, correo o ID (DNI/cédula…)."; // Okoteve traducción + "Debe escribir su @apodo, correo o ID (DNI/cédula)."; // Okoteve traducción #elif L==7 "Devi inserire il tuo @nome-utente, email o numero carta d'identità."; #elif L==8 diff --git a/swad_user.c b/swad_user.c index c6f99c868..e523ac8ce 100644 --- a/swad_user.c +++ b/swad_user.c @@ -1888,7 +1888,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) ()) "" "" "" "" @@ -1901,7 +1901,7 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) ()) "" "" "" + " size=\"18\" maxlength=\"%u\" placeholder=\"%s\" />" "" "", Gbl.Prefs.IconsURL, @@ -2093,7 +2093,7 @@ void Usr_WriteLoggedUsrHead (void) } else { - Rol_PutFormToChangeMyRole (true); + Rol_PutFormToChangeMyRole (); fprintf (Gbl.F.Out," ", The_ClassUsr[Gbl.Prefs.Theme]); } @@ -2880,7 +2880,7 @@ void Usr_ShowFormsLogoutAndRole (void) fprintf (Gbl.F.Out,"
" "%s: ", The_ClassForm[Gbl.Prefs.Theme],Txt_Role); - Rol_PutFormToChangeMyRole (false); + Rol_PutFormToChangeMyRole (); fprintf (Gbl.F.Out,"
"); }