Version 21.96.6: May 18, 2022 Some messages translated.

This commit is contained in:
acanas 2022-05-18 22:11:19 +02:00
parent 884b171f65
commit 5ea4e44b4e
4 changed files with 347 additions and 349 deletions

View File

@ -606,10 +606,13 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
TODO: Attach pdf files in multimedia. TODO: Attach pdf files in multimedia.
*/ */
#define Log_PLATFORM_VERSION "SWAD 21.96.3 (2022-05-16)" #define Log_PLATFORM_VERSION "SWAD 21.96.6 (2022-05-18)"
#define CSS_FILE "swad21.95.5.css" #define CSS_FILE "swad21.95.5.css"
#define JS_FILE "swad21.92.js" #define JS_FILE "swad21.92.js"
/* /*
Version 21.96.6: May 18, 2022 Some messages translated. (323156 lines)
Version 21.96.5: May 17, 2022 Some messages translated. (323160 lines)
Version 21.96.4: May 16, 2022 Some messages translated. (323159 lines)
Version 21.96.3: May 16, 2022 Some messages translated. (323158 lines) Version 21.96.3: May 16, 2022 Some messages translated. (323158 lines)
Version 21.96.2: May 14, 2022 Some messages translated. (323169 lines) Version 21.96.2: May 14, 2022 Some messages translated. (323169 lines)
Version 21.96.1: May 14, 2022 Some messages translated. (323168 lines) Version 21.96.1: May 14, 2022 Some messages translated. (323168 lines)
@ -1842,7 +1845,7 @@ sudo cp icon/check-green.svg /var/www/html/swad/icon/
Version 19.248.1: May 30, 2020 Exam session results can not be marked as visible if end of time is not in the past. (302825 lines) Version 19.248.1: May 30, 2020 Exam session results can not be marked as visible if end of time is not in the past. (302825 lines)
Version 19.248: May 30, 2020 New API function getLastLocation. (302787 lines) Version 19.248: May 30, 2020 New API function getLastLocation. (302787 lines)
Version 19.247.1: May 29, 2020 Do not show exam results in hidden exams or hidden exam sessions. (302646 lines) Version 19.247.1: May 29, 2020 Do not show exam results in hidden exams or hidden exam sessions. (302646 lines)
Version 19.247: May 24, 2020 New API function sendMyCurrentLocation. (302622 lines) Version 19.247: May 25, 2020 New API function sendMyCurrentLocation. (302622 lines)
1 change necessary in database: 1 change necessary in database:
CREATE TABLE IF NOT EXISTS room_check_in (ChkCod INT NOT NULL AUTO_INCREMENT,UsrCod INT NOT NULL,RooCod INT NOT NULL,CheckInTime DATETIME NOT NULL,UNIQUE INDEX(ChkCod),INDEX(UsrCod,CheckInTime),INDEX(CheckInTime)); CREATE TABLE IF NOT EXISTS room_check_in (ChkCod INT NOT NULL AUTO_INCREMENT,UsrCod INT NOT NULL,RooCod INT NOT NULL,CheckInTime DATETIME NOT NULL,UNIQUE INDEX(ChkCod),INDEX(UsrCod,CheckInTime),INDEX(CheckInTime));
If you want to use MyISAM: If you want to use MyISAM:

View File

@ -1520,12 +1520,12 @@ static void Crs_ReceiveFormRequestOrCreateCrs (Hie_Status_t Status)
{ {
/***** If name of course was in database... *****/ /***** If name of course was in database... *****/
if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Crs_EditingCrs->ShrtName, if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Crs_EditingCrs->ShrtName,
-1L,Crs_EditingCrs->DegCod,Crs_EditingCrs->Year)) -1L,Crs_EditingCrs->DegCod,Crs_EditingCrs->Year))
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists, Txt_The_course_X_already_exists,
Crs_EditingCrs->ShrtName); Crs_EditingCrs->ShrtName);
else if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("FullName",Crs_EditingCrs->FullName, else if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("FullName",Crs_EditingCrs->FullName,
-1L,Crs_EditingCrs->DegCod,Crs_EditingCrs->Year)) -1L,Crs_EditingCrs->DegCod,Crs_EditingCrs->Year))
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists, Txt_The_course_X_already_exists,
Crs_EditingCrs->FullName); Crs_EditingCrs->FullName);
@ -1878,13 +1878,13 @@ void Crs_ChangeCrsYear (void)
{ {
/***** If name of course was in database in the new year... *****/ /***** If name of course was in database in the new year... *****/
if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Crs_EditingCrs->ShrtName, if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Crs_EditingCrs->ShrtName,
-1L,Crs_EditingCrs->DegCod,NewYear)) -1L,Crs_EditingCrs->DegCod,NewYear))
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists_in_year_Y, Txt_The_course_X_already_exists_in_year_Y,
Crs_EditingCrs->ShrtName, Crs_EditingCrs->ShrtName,
Txt_YEAR_OF_DEGREE[NewYear]); Txt_YEAR_OF_DEGREE[NewYear]);
else if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("FullName",Crs_EditingCrs->FullName, else if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg ("FullName",Crs_EditingCrs->FullName,
-1L,Crs_EditingCrs->DegCod,NewYear)) -1L,Crs_EditingCrs->DegCod,NewYear))
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists_in_year_Y, Txt_The_course_X_already_exists_in_year_Y,
Crs_EditingCrs->FullName, Crs_EditingCrs->FullName,
@ -2010,7 +2010,7 @@ void Crs_RenameCourse (struct Crs_Course *Crs,Cns_ShrtOrFullName_t ShrtOrFullNam
{ {
/***** If course was in database... *****/ /***** If course was in database... *****/
if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg (ParamName,NewCrsName,Crs->CrsCod, if (Crs_DB_CheckIfCrsNameExistsInYearOfDeg (ParamName,NewCrsName,Crs->CrsCod,
Crs->DegCod,Crs->Year)) Crs->DegCod,Crs->Year))
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists, Txt_The_course_X_already_exists,
NewCrsName); NewCrsName);

File diff suppressed because it is too large Load Diff

View File

@ -165,128 +165,128 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
, ,
[ActReqSch] = [ActReqSch] =
#if L==1 // ca #if L==1 // ca
"Request search" // Necessita traducció "Sol·licitar la recerca"
#elif L==2 // de #elif L==2 // de
"Request search" // Need Übersetzung "Suche anfordern"
#elif L==3 // en #elif L==3 // en
"Request search" "Request search"
#elif L==4 // es #elif L==4 // es
"Solicitar búsqueda" "Solicitar búsqueda"
#elif L==5 // fr #elif L==5 // fr
"Request search" // Besoin de traduction "Demander une recherche"
#elif L==6 // gn #elif L==6 // gn
"Solicitar búsqueda" // Okoteve traducción "Solicitar búsqueda" // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"Request search" // Bisogno di traduzione "Richiedere la ricerca"
#elif L==8 // pl #elif L==8 // pl
"Request search" // Potrzebujesz tlumaczenie "Poproś o wyszukiwanie"
#elif L==9 // pt #elif L==9 // pt
"Request search" // Precisa de tradução "Solicitar pesquisa"
#endif #endif
, ,
[ActSeeGblTL] = [ActSeeGblTL] =
#if L==1 // ca #if L==1 // ca
"Show timeline global" // Necessita traducció "Mostrar timeline global"
#elif L==2 // de #elif L==2 // de
"Show timeline global" // Need Übersetzung "Globale Timeline anzeigen"
#elif L==3 // en #elif L==3 // en
"Show timeline global" "Show global timeline"
#elif L==4 // es #elif L==4 // es
"Mostrar timeline global" "Mostrar timeline global"
#elif L==5 // fr #elif L==5 // fr
"Show timeline global" // Besoin de traduction "Afficher chronologie globale"
#elif L==6 // gn #elif L==6 // gn
"Mostrar timeline global" // Okoteve traducción "Mostrar timeline global" // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"Show timeline global" // Bisogno di traduzione "Mostra timeline globale"
#elif L==8 // pl #elif L==8 // pl
"Show timeline global" // Potrzebujesz tlumaczenie "Pokaż globalną timeline"
#elif L==9 // pt #elif L==9 // pt
"Show timeline global" // Precisa de tradução "Mostrar timeline global"
#endif #endif
, ,
[ActSeeSocPrf] = [ActSeeSocPrf] =
#if L==1 // ca #if L==1 // ca
"Suggest list of users to follow" // Necessita traducció "Suggerir llista d'usuaris a seguir"
#elif L==2 // de #elif L==2 // de
"Suggest list of users to follow" // Need Übersetzung "Schlagen Sie eine Liste von Benutzern vor, denen Sie folgen möchten"
#elif L==3 // en #elif L==3 // en
"Suggest list of users to follow" "Suggest list of users to follow"
#elif L==4 // es #elif L==4 // es
"Sugerir lista de usuarios a seguir" "Sugerir lista de usuarios a seguir"
#elif L==5 // fr #elif L==5 // fr
"Suggest list of users to follow" // Besoin de traduction "Suggérer liste d'utilisateurs à suivre"
#elif L==6 // gn #elif L==6 // gn
"Sugerir lista de usuarios a seguir" // Okoteve traducción "Sugerir lista de usuarios a seguir" // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"Suggest list of users to follow" // Bisogno di traduzione "Suggerisci elenco di utenti da seguire"
#elif L==8 // pl #elif L==8 // pl
"Suggest list of users to follow" // Potrzebujesz tlumaczenie "Zasugeruj listę użytkowników do obserwowania"
#elif L==9 // pt #elif L==9 // pt
"Suggest list of users to follow" // Precisa de tradução "Sugerir lista de usuários a seguir"
#endif #endif
, ,
[ActSeeCal] = [ActSeeCal] =
#if L==1 // ca #if L==1 // ca
"Show calendar" // Necessita traducció "Mostrar calendari"
#elif L==2 // de #elif L==2 // de
"Show calendar" // Need Übersetzung "Kalender zeigen"
#elif L==3 // en #elif L==3 // en
"Show calendar" "Show calendar"
#elif L==4 // es #elif L==4 // es
"Mostrar calendario" "Mostrar calendario"
#elif L==5 // fr #elif L==5 // fr
"Show calendar" // Besoin de traduction "Afficher le calendrier"
#elif L==6 // gn #elif L==6 // gn
"Mostrar calendario" // Okoteve traducción "Mostrar calendario" // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"Show calendar" // Bisogno di traduzione "Mostra il calendario"
#elif L==8 // pl #elif L==8 // pl
"Show calendar" // Potrzebujesz tlumaczenie "Pokaż kalendarz"
#elif L==9 // pt #elif L==9 // pt
"Show calendar" // Precisa de tradução "Mostrar calendário"
#endif #endif
, ,
[ActSeeNtf] = [ActSeeNtf] =
#if L==1 // ca #if L==1 // ca
"Show notifications" // Necessita traducció "Mostrar notificacions"
#elif L==2 // de #elif L==2 // de
"Show notifications" // Need Übersetzung "Benachrichtigungen zeigen"
#elif L==3 // en #elif L==3 // en
"Show notifications" "Show notifications"
#elif L==4 // es #elif L==4 // es
"Mostrar notificaciones" "Mostrar notificaciones"
#elif L==5 // fr #elif L==5 // fr
"Show notifications" // Besoin de traduction "Afficher les notifications"
#elif L==6 // gn #elif L==6 // gn
"Mostrar notificaciones" // Okoteve traducción "Mostrar notificaciones" // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"Show notifications" // Bisogno di traduzione "Mostra notifiche"
#elif L==8 // pl #elif L==8 // pl
"Show notifications" // Potrzebujesz tlumaczenie "Pokaż powiadomienia"
#elif L==9 // pt #elif L==9 // pt
"Show notifications" // Precisa de tradução "Mostrar notificações"
#endif #endif
, ,
[ActLogIn] = [ActLogIn] =
#if L==1 // ca #if L==1 // ca
"Authenticate user" // Necessita traducció "Autenticar usuari"
#elif L==2 // de #elif L==2 // de
"Authenticate user" // Need Übersetzung "Benutzer authentifizieren"
#elif L==3 // en #elif L==3 // en
"Authenticate user" "Authenticate user"
#elif L==4 // es #elif L==4 // es
"Autenticar usuario" "Autenticar usuario"
#elif L==5 // fr #elif L==5 // fr
"Authenticate user" // Besoin de traduction "Authentifier l'utilisateur"
#elif L==6 // gn #elif L==6 // gn
"Autenticar usuario" // Okoteve traducción "Autenticar usuario" // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"Authenticate user" // Bisogno di traduzione "Autenticare l'utente"
#elif L==8 // pl #elif L==8 // pl
"Authenticate user" // Potrzebujesz tlumaczenie "Uwierzytelnij użytkownika"
#elif L==9 // pt #elif L==9 // pt
"Authenticate user" // Precisa de tradução "Autenticar usuário"
#endif #endif
, ,
[ActLogInNew] = [ActLogInNew] =