diff --git a/css/swad16.123.css b/css/swad16.132.4.css similarity index 99% rename from css/swad16.123.css rename to css/swad16.132.4.css index 017c84497..986f45a1a 100644 --- a/css/swad16.123.css +++ b/css/swad16.132.4.css @@ -1062,7 +1062,6 @@ a:hover /* Default ==> underlined */ border-radius:4px; font-size:12pt; color:#398000; - overflow:hidden; } .CONNECTED_LIST { @@ -1072,6 +1071,8 @@ a:hover /* Default ==> underlined */ border-style:solid; border-width:1px 0 0 0; border-color:#BFDF9F; + white-space:nowrap; + overflow:hidden; } /*************************** Most frequent actions ***************************/ diff --git a/swad_changelog.h b/swad_changelog.h index e24fbeed5..45afa038d 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -191,13 +191,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.132.3 (2017-01-30)" -#define CSS_FILE "swad16.123.css" +#define Log_PLATFORM_VERSION "SWAD 16.132.4 (2017-01-30)" +#define CSS_FILE "swad16.132.4.css" #define JS_FILE "swad16.123.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.132.4: Jan 30, 2017 Changes in connected users. (211887 lines) Version 16.132.3: Jan 30, 2017 Code refactoring in connected users. (211881 lines) Version 16.132.2: Jan 30, 2017 Fixed bug in file browser. (211911 lines) Version 16.132.1: Jan 29, 2017 Fixed bug in listing of users. (211916 lines) diff --git a/swad_connected.c b/swad_connected.c index 88bb7b4bc..2901c322c 100644 --- a/swad_connected.c +++ b/swad_connected.c @@ -348,10 +348,18 @@ void Con_ShowGlobalConnectedUsrs (void) extern const char *Txt_sessions; extern const char *Txt_user[Usr_NUM_SEXS]; extern const char *Txt_users[Usr_NUM_SEXS]; - unsigned StdsTotal = Con_GetConnectedUsrsTotal (Rol_STUDENT); - unsigned TchsTotal = Con_GetConnectedUsrsTotal (Rol_TEACHER); - unsigned GstsTotal = Con_GetConnectedUsrsTotal (Rol__GUEST_); - unsigned UsrsTotal = StdsTotal + TchsTotal + GstsTotal; + Rol_Role_t Role; + unsigned NumUsrs[Rol_NUM_ROLES]; + unsigned NumUsrsTotal; + + /***** Get number of connected users *****/ + for (Role = Rol__GUEST_, NumUsrsTotal = 0; + Role <= Rol_SYS_ADM; + Role++) + { + NumUsrs[Role] = Con_GetConnectedUsrsTotal (Role); + NumUsrsTotal += NumUsrs[Role]; + } /***** Container start *****/ fprintf (Gbl.F.Out,"
"); @@ -372,24 +380,21 @@ void Con_ShowGlobalConnectedUsrs (void) fprintf (Gbl.F.Out,""); Act_FormEnd (); - if (UsrsTotal) + if (NumUsrsTotal) { fprintf (Gbl.F.Out,"
"); /***** Write total number of users *****/ fprintf (Gbl.F.Out,"%u %s:", - UsrsTotal, - (UsrsTotal == 1) ? Txt_user[Usr_SEX_UNKNOWN] : - Txt_users[Usr_SEX_UNKNOWN]); + NumUsrsTotal, + (NumUsrsTotal == 1) ? Txt_user[Usr_SEX_UNKNOWN] : + Txt_users[Usr_SEX_UNKNOWN]); - /***** Write total number of students *****/ - Con_ShowGlobalConnectedUsrsRole (Rol_STUDENT,StdsTotal); - - /***** Write total number of teachers *****/ - Con_ShowGlobalConnectedUsrsRole (Rol_TEACHER,TchsTotal); - - /***** Write total number of users who do not belong to any course *****/ - Con_ShowGlobalConnectedUsrsRole (Rol__GUEST_,GstsTotal); + /***** Write total number of users with each role *****/ + for (Role = Rol__GUEST_, NumUsrsTotal = 0; + Role <= Rol_SYS_ADM; + Role++) + Con_ShowGlobalConnectedUsrsRole (Role,NumUsrs[Role]); fprintf (Gbl.F.Out,"
"); } @@ -709,20 +714,15 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Ro void Con_UpdateMeInConnectedList (void) { - char Query[512]; - Rol_Role_t MyRoleInConnected; + char Query[256]; - /***** Which role will be stored in connected table? *****/ - MyRoleInConnected = (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT || - Gbl.Usrs.Me.LoggedRole == Rol_TEACHER) ? Gbl.Usrs.Me.LoggedRole : - Gbl.Usrs.Me.MaxRole; - - /***** Update my entry in connected list. The role which is stored is the role of the last click *****/ + /***** Update my entry in connected list. + The role which is stored is the role of the last click *****/ sprintf (Query,"REPLACE INTO connected" " (UsrCod,RoleInLastCrs,LastCrsCod,LastTime)" " VALUES ('%ld','%u','%ld',NOW())", Gbl.Usrs.Me.UsrDat.UsrCod, - (unsigned) MyRoleInConnected, + (unsigned) Gbl.Usrs.Me.LoggedRole, Gbl.CurrentCrs.Crs.CrsCod); DB_QueryREPLACE (Query,"can not update list of connected users"); } diff --git a/swad_role.c b/swad_role.c index 78832a537..f15d1d3f3 100644 --- a/swad_role.c +++ b/swad_role.c @@ -338,8 +338,11 @@ void Rol_ChangeMyRole (void) Gbl.Usrs.Me.LoggedRole = NewRole; Gbl.Usrs.Me.RoleHasChanged = true; - /* ...and update logged role in session */ + /* ...update logged role in session... */ Ses_UpdateSessionDataInDB (); + + /* ...and update logged role in list of connected */ + Con_UpdateMeInConnectedList (); } } } diff --git a/swad_text.c b/swad_text.c index 77ed64580..aa590bce2 100644 --- a/swad_text.c +++ b/swad_text.c @@ -32406,245 +32406,245 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = }, { #if L==1 // Rol_ROLE_DEG_ADM - Usr_SEX_UNKNOWN - "Administrador/a de titulación" // Necessita traduccio + "Admin. titulación" // Necessita traduccio #elif L==2 - "Administrator der Studiengang" + "Admin. Studiengang" #elif L==3 - "Administrator of degree" + "Admin. degree" #elif L==4 - "Administrador/a de titulación" + "Admin. titulación" #elif L==5 - "Administrateur/se d'étude" + "Admin. étude" #elif L==6 - "Administrador/a de titulación" // Okoteve traducción + "Admin. titulación" // Okoteve traducción #elif L==7 - "Amministratore di laurea" + "Ammin. laurea" #elif L==8 - "Administrator stopien" + "Admin. stopien" #elif L==9 - "Administrador/a de titulação" + "Admin. titulação" #endif , #if L==1 // Rol_ROLE_DEG_ADM - Usr_SEX_FEMALE - "Administradora de titulación" // Necessita traduccio + "Admin. titulación" // Necessita traduccio #elif L==2 - "Administrator der Studiengang" + "Admin. Studiengang" #elif L==3 - "Administrator of degree" + "Admin. degree" #elif L==4 - "Administradora de titulación" + "Admin. titulación" #elif L==5 - "Administrateuse d'étude" + "Admin. étude" #elif L==6 - "Administradora de titulación" // Okoteve traducción + "Admin. titulación" // Okoteve traducción #elif L==7 - "Amministratore di laurea" + "Ammin. laurea" #elif L==8 - "Administratorka stopien" + "Admin. stopien" #elif L==9 - "Administradora de titulação" + "Admin. titulação" #endif , #if L==1 // Rol_ROLE_DEG_ADM - Usr_SEX_MALE - "Administrador de titulación" // Necessita traduccio + "Admin. titulación" // Necessita traduccio #elif L==2 - "Administrator der Studiengang" + "Admin. Studiengang" #elif L==3 - "Administrator of degree" + "Admin. degree" #elif L==4 - "Administrador de titulación" + "Admin. titulación" #elif L==5 - "Administrateur d'étude" + "Admin. étude" #elif L==6 - "Administrador de titulación" // Okoteve traducción + "Admin. titulación" // Okoteve traducción #elif L==7 - "Amministratore di laurea" + "Ammin. laurea" #elif L==8 - "Administrator stopien" + "Admin. stopien" #elif L==9 - "Administrador de titulação" + "Admin. titulação" #endif , #if L==1 // Rol_ROLE_DEG_ADM - Usr_SEX_ALL - "Administrador/a de titulación" // Necessita traduccio + "Admin. titulación" // Necessita traduccio #elif L==2 - "Administrator der Studiengang" + "Admin. Studiengang" #elif L==3 - "Administrator of degree" + "Admin. degree" #elif L==4 - "Administrador/a de titulación" + "Admin. titulación" #elif L==5 - "Administrateur/se d'étude" + "Admin. étude" #elif L==6 - "Administrador/a de titulación" // Okoteve traducción + "Admin. titulación" // Okoteve traducción #elif L==7 - "Amministratore di laurea" + "Ammin. laurea" #elif L==8 - "Administratorzy stopien" + "Admin. stopien" #elif L==9 - "Administrador/a de titulação" + "Admin. titulação" #endif }, { #if L==1 // Rol_ROLE_CTR_ADM - Usr_SEX_UNKNOWN - "Administrador/a de centro" // Necessita traduccio + "Admin. centro" // Necessita traduccio #elif L==2 - "Administrator der Lehrinstitut" + "Admin. Lehrinstitut" #elif L==3 - "Administrator of centre" + "Admin. centre" #elif L==4 - "Administrador/a de centro" + "Admin. centro" #elif L==5 - "Administrateur/se de centre" + "Admin. centre" #elif L==6 - "Administrador/a de centro" // Okoteve traducción + "Admin. centro" // Okoteve traducción #elif L==7 - "Amministratore di centro" + "Ammin. centro" #elif L==8 - "Administrator centrum" + "Admin. centrum" #elif L==9 - "Administrador/a de centro" + "Admin. centro" #endif , #if L==1 // Rol_ROLE_CTR_ADM - Usr_SEX_FEMALE - "Administradora de centro" // Necessita traduccio + "Admin. centro" // Necessita traduccio #elif L==2 - "Administrator der Lehrinstitut" + "Admin. Lehrinstitut" #elif L==3 - "Administrator of centre" + "Admin. centre" #elif L==4 - "Administradora de centro" + "Admin. centro" #elif L==5 - "Administrateuse de centre" + "Admin. centre" #elif L==6 - "Administradora de centro" // Okoteve traducción + "Admin. centro" // Okoteve traducción #elif L==7 - "Amministratore di centro" + "Ammin. centro" #elif L==8 - "Administratorka centrum" + "Admin. centrum" #elif L==9 - "Administradora de centro" + "Admin. centro" #endif , #if L==1 // Rol_ROLE_CTR_ADM - Usr_SEX_MALE - "Administrador de centro" // Necessita traduccio + "Admin. centro" // Necessita traduccio #elif L==2 - "Administrator der Lehrinstitut" + "Admin. Lehrinstitut" #elif L==3 - "Administrator of centre" + "Admin. centre" #elif L==4 - "Administrador de centro" + "Admin. centro" #elif L==5 - "Administrateur de centre" + "Admin. centre" #elif L==6 - "Administrador de centro" // Okoteve traducción + "Admin. centro" // Okoteve traducción #elif L==7 - "Amministratore di centro" + "Ammin. centro" #elif L==8 - "Administrator centrum" + "Admin. centrum" #elif L==9 - "Administrador de centro" + "Admin. centro" #endif , #if L==1 // Rol_ROLE_CTR_ADM - Usr_SEX_ALL - "Administrador/a de centro" // Necessita traduccio + "Admin. centro" // Necessita traduccio #elif L==2 - "Administrator der Lehrinstitut" + "Admin. Lehrinstitut" #elif L==3 - "Administrator of centre" + "Admin. centre" #elif L==4 - "Administrador/a de centro" + "Admin. centro" #elif L==5 - "Administrateur/se de centre" + "Admin. centre" #elif L==6 - "Administrador/a de centro" // Okoteve traducción + "Admin. centro" // Okoteve traducción #elif L==7 - "Amministratore di centro" + "Ammin. centro" #elif L==8 - "Administratorzy centrum" + "Admin. centrum" #elif L==9 - "Administrador/a de centro" + "Admin. centro" #endif }, { #if L==1 // Rol_ROLE_INS_ADM - Usr_SEX_UNKNOWN - "Administrador/a de institución" // Necessita traduccio + "Admin. institución" // Necessita traduccio #elif L==2 - "Administrator der Hochschule" + "Admin. Hochschule" #elif L==3 - "Administrator of institution" + "Admin. institution" #elif L==4 - "Administrador/a de institución" + "Admin. institución" #elif L==5 - "Administrateur/se d'établissement" + "Admin. établissement" #elif L==6 - "Administrador/a de institución" // Okoteve traducción + "Admin. institución" // Okoteve traducción #elif L==7 - "Amministratore di istituzione" + "Ammin. istituzione" #elif L==8 - "Administrator instytucji" + "Admin. instytucji" #elif L==9 - "Administrador/a de institução" + "Admin. institução" #endif , #if L==1 // Rol_ROLE_INS_ADM - Usr_SEX_FEMALE - "Administradora de institución" // Necessita traduccio + "Admin. institución" // Necessita traduccio #elif L==2 - "Administrator der Hochschule" + "Admin. Hochschule" #elif L==3 - "Administrator of institution" + "Admin. institution" #elif L==4 - "Administradora de institución" + "Admin. institución" #elif L==5 - "Administrateuse d'établissement" + "Admin. établissement" #elif L==6 - "Administradora de institución" // Okoteve traducción + "Admin. institución" // Okoteve traducción #elif L==7 - "Amministratore di istituzione" + "Ammin. istituzione" #elif L==8 - "Administratorka instytucji" + "Admin. instytucji" #elif L==9 - "Administradora de institução" + "Admin. institução" #endif , #if L==1 // Rol_ROLE_INS_ADM - Usr_SEX_MALE - "Administrador de institución" // Necessita traduccio + "Admin. institución" // Necessita traduccio #elif L==2 - "Administrator der Hochschule" + "Admin. Hochschule" #elif L==3 - "Administrator of institution" + "Admin. institution" #elif L==4 - "Administrador de institución" + "Admin. institución" #elif L==5 - "Administrateur d'établissement" + "Admin. établissement" #elif L==6 - "Administrador de institución" // Okoteve traducción + "Admin. institución" // Okoteve traducción #elif L==7 - "Amministratore di istituzione" + "Ammin. istituzione" #elif L==8 - "Administrator instytucji" + "Admin. instytucji" #elif L==9 - "Administrador de institução" + "Admin. institução" #endif , #if L==1 // Rol_ROLE_INS_ADM - Usr_SEX_ALL - "Administrador/a de institución" // Necessita traduccio + "Admin. institución" // Necessita traduccio #elif L==2 - "Administrator der Hochschule" + "Admin. Hochschule" #elif L==3 - "Administrator of institution" + "Admin. institution" #elif L==4 - "Administrador/a de institución" + "Admin. institución" #elif L==5 - "Administrateur/se d'établissement" + "Admin. établissement" #elif L==6 - "Administrador/a de institución" // Okoteve traducción + "Admin. institución" // Okoteve traducción #elif L==7 - "Amministratore di istituzione" + "Ammin. istituzione" #elif L==8 - "Administratorzy instytucji" + "Admin. instytucji" #elif L==9 - "Administrador/a de institução" + "Admin. institução" #endif }, { @@ -33138,213 +33138,213 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = }, { #if L==1 // Rol_ROLE_DEG_ADM - Usr_SEX_UNKNOWN - "administrador/a de titulación" // Necessita traduccio + "admin. titulación" // Necessita traduccio #elif L==2 - "Administrator der Studiengang" + "Admin. Studiengang" #elif L==3 - "administrator of degree" + "admin. degree" #elif L==4 - "administrador/a de titulación" + "admin. titulación" #elif L==5 - "administrateur/se d'étude" + "admin. étude" #elif L==6 - "administrador/a de titulación" // Okoteve traducción + "admin. titulación" // Okoteve traducción #elif L==7 - "amministratore di laurea" + "ammin. laurea" #elif L==8 - "administrator stopien" + "admin. stopien" #elif L==9 - "administrador/a de titulação" + "admin. titulação" #endif , #if L==1 // Rol_ROLE_DEG_ADM - Usr_SEX_FEMALE - "administradora de titulación" // Necessita traduccio + "admin. titulación" // Necessita traduccio #elif L==2 - "Administrator der Studiengang" + "Admin. Studiengang" #elif L==3 - "administrator of degree" + "admin. degree" #elif L==4 - "administradora de titulación" + "admin. titulación" #elif L==5 - "administrateuse d'étude" + "admin. étude" #elif L==6 - "administradora de titulación" // Okoteve traducción + "admin. titulación" // Okoteve traducción #elif L==7 - "amministratore di laurea" + "ammin. laurea" #elif L==8 - "administratorka stopien" + "admin. stopien" #elif L==9 - "administradora de titulação" + "admin. titulação" #endif , #if L==1 // Rol_ROLE_DEG_ADM - Usr_SEX_MALE - "administrador de titulación" // Necessita traduccio + "admin. titulación" // Necessita traduccio #elif L==2 - "Administrator der Studiengang" + "Admin. Studiengang" #elif L==3 - "administrator of degree" + "admin. degree" #elif L==4 - "administrador de titulación" + "admin. titulación" #elif L==5 - "administrateur d'étude" + "admin. étude" #elif L==6 - "administrador de titulación" // Okoteve traducción + "admin. titulación" // Okoteve traducción #elif L==7 - "amministratore di laurea" + "ammin. laurea" #elif L==8 - "administrator stopien" + "admin. stopien" #elif L==9 - "administrador de titulação" + "admin. titulação" #endif , #if L==1 // Rol_ROLE_DEG_ADM - Usr_SEX_ALL - "administrador/a de titulación" // Necessita traduccio + "admin. titulación" // Necessita traduccio #elif L==2 - "Administrator der Studiengang" + "Admin. Studiengang" #elif L==3 - "administrator of degree" + "admin. degree" #elif L==4 - "administrador/a de titulación" + "admin. titulación" #elif L==5 - "administrateur/se d'étude" + "admin. étude" #elif L==6 - "administrador/a de titulación" // Okoteve traducción + "admin. titulación" // Okoteve traducción #elif L==7 - "amministratore di laurea" + "ammin. laurea" #elif L==8 - "administratorzy stopien" + "admin. stopien" #elif L==9 - "administrador/a de titulação" + "admin. titulação" #endif }, { #if L==1 // Rol_ROLE_CTR_ADM - Usr_SEX_UNKNOWN - "administrador/a de centro" // Necessita traduccio + "admin. centro" // Necessita traduccio #elif L==2 - "Administrator der Lehrinstitut" + "Admin. Lehrinstitut" #elif L==3 - "administrator of centre" + "admin. centre" #elif L==4 - "administrador/a de centro" + "admin. centro" #elif L==5 - "administrateur/se de centre" + "admin. centre" #elif L==6 - "administrador/a de centro" // Okoteve traducción + "admin. centro" // Okoteve traducción #elif L==7 - "amministratore di centro" + "ammin. centro" #elif L==8 - "administrator centrum" + "admin. centrum" #elif L==9 - "administrador/a de centro" + "admin. centro" #endif , #if L==1 // Rol_ROLE_CTR_ADM - Usr_SEX_FEMALE - "administradora de centro" // Necessita traduccio + "admin. centro" // Necessita traduccio #elif L==2 - "Administrator der Lehrinstitut" + "Admin. Lehrinstitut" #elif L==3 - "administrator of centre" + "admin. centre" #elif L==4 - "administradora de centro" + "admin. centro" #elif L==5 - "administrateuse de centre" + "admin. centre" #elif L==6 - "administradora de centro" // Okoteve traducción + "admin. centro" // Okoteve traducción #elif L==7 - "amministratore di centro" + "ammin. centro" #elif L==8 - "administratorka centrum" + "admin. centrum" #elif L==9 - "administradora de centro" + "admin. centro" #endif , #if L==1 // Rol_ROLE_CTR_ADM - Usr_SEX_MALE - "administrador de centro" // Necessita traduccio + "admin. centro" // Necessita traduccio #elif L==2 - "Administrator der Lehrinstitut" + "Admin. Lehrinstitut" #elif L==3 - "administrator of centre" + "admin. centre" #elif L==4 - "administrador de centro" + "admin. centro" #elif L==5 - "administrateur de centre" + "admin. centre" #elif L==6 - "administrador de centro" // Okoteve traducción + "admin. centro" // Okoteve traducción #elif L==7 - "amministratore di centro" + "ammin. centro" #elif L==8 - "administrator centrum" + "admin. centrum" #elif L==9 - "administrador de centro" + "admin. centro" #endif , #if L==1 // Rol_ROLE_CTR_ADM - Usr_SEX_ALL - "administrador/a de centro" // Necessita traduccio + "admin. centro" // Necessita traduccio #elif L==2 - "Administrator der Lehrinstitut" + "Admin. Lehrinstitut" #elif L==3 - "administrator of centre" + "admin. centre" #elif L==4 - "administrador/a de centro" + "admin. centro" #elif L==5 - "administrateur/se de centre" + "admin. centre" #elif L==6 - "administrador/a de centro" // Okoteve traducción + "admin. centro" // Okoteve traducción #elif L==7 - "amministratore di centro" + "ammin. centro" #elif L==8 - "administratorzy centrum" + "admin. centrum" #elif L==9 - "administrador/a de centro" + "admin. centro" #endif }, { #if L==1 // Rol_ROLE_INS_ADM - Usr_SEX_UNKNOWN - "administrador/a de institución" // Necessita traduccio + "admin. institución" // Necessita traduccio #elif L==2 - "Administrator der Hochschule" + "Admin. Hochschule" #elif L==3 - "administrator of institution" + "admin. institution" #elif L==4 - "administrador/a de institución" + "admin. institución" #elif L==5 - "administrateur/se d'établissement" + "admin. établissement" #elif L==6 - "administrador/a de institución" // Okoteve traducción + "admin. institución" // Okoteve traducción #elif L==7 - "amministratore di istituzione" + "ammin. istituzione" #elif L==8 - "administrator instytucji" + "admin. instytucji" #elif L==9 - "administrador/a de institução" + "admin. institução" #endif , #if L==1 // Rol_ROLE_INS_ADM - Usr_SEX_FEMALE - "administradora de institución" // Necessita traduccio + "admin. institución" // Necessita traduccio #elif L==2 - "Administrator der Hochschule" + "Admin. Hochschule" #elif L==3 - "administrator of institution" + "admin. institution" #elif L==4 - "administradora de institución" + "admin. institución" #elif L==5 - "administrateuse d'établissement" + "admin. établissement" #elif L==6 - "administradora de institución" // Okoteve traducción + "admin. institución" // Okoteve traducción #elif L==7 - "amministratore di istituzione" + "ammin. istituzione" #elif L==8 - "administratorka instytucji" + "admin. instytucji" #elif L==9 - "administradora de institução" + "admin. institução" #endif , #if L==1 // Rol_ROLE_INS_ADM - Usr_SEX_MALE "administrador de institución" // Necessita traduccio #elif L==2 - "Administrator der Hochschule" + "Admin. Hochschule" #elif L==3 - "administrator of institution" + "admin. institution" #elif L==4 "administrador de institución" #elif L==5 @@ -33352,7 +33352,7 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==6 "administrador de institución" // Okoteve traducción #elif L==7 - "amministratore di istituzione" + "ammin.istituzione" #elif L==8 "administrator instytucji" #elif L==9 @@ -33360,23 +33360,23 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_ROLE_INS_ADM - Usr_SEX_ALL - "administrador/a de institución" // Necessita traduccio + "admin. institución" // Necessita traduccio #elif L==2 - "Administrator der Hochschule" + "Admin. Hochschule" #elif L==3 - "administrator of institution" + "admin. institution" #elif L==4 - "administrador/a de institución" + "admin. institución" #elif L==5 - "administrateur/se d'établissement" + "admin. établissement" #elif L==6 - "administrador/a de institución" // Okoteve traducción + "admin. institución" // Okoteve traducción #elif L==7 - "amministratore di istituzione" + "ammin.istituzione" #elif L==8 "administratorzy instytucji" #elif L==9 - "administrador/a de institução" + "admin. institução" #endif }, {