diff --git a/sql/swad.sql b/sql/swad.sql
index 74313b81a..777d36c6a 100644
--- a/sql/swad.sql
+++ b/sql/swad.sql
@@ -948,8 +948,8 @@ CREATE TABLE IF NOT EXISTS projects (
Preassigned ENUM('N','Y') NOT NULL DEFAULT 'N',
NumStds INT NOT NULL DEFAULT 1,
Proposal ENUM('new','modified','unmodified') NOT NULL DEFAULT 'new',
- StartTime DATETIME NOT NULL,
- EndTime DATETIME NOT NULL,
+ CreatTime DATETIME NOT NULL,
+ ModifTime DATETIME NOT NULL,
Title VARCHAR(2047) NOT NULL,
Description TEXT NOT NULL,
Knowledge TEXT NOT NULL,
@@ -957,7 +957,9 @@ CREATE TABLE IF NOT EXISTS projects (
URL VARCHAR(255) NOT NULL,
UNIQUE INDEX(PrjCod),
INDEX(CrsCod,Hidden),
- INDEX(CrsCod,DptCod));
+ INDEX(CrsCod,CreatTime),
+ INDEX(CrsCod,ModifTime),
+ INDEX(CrsCod,DptCod);
--
-- Table sessions: stores the information of open sessions
--
diff --git a/swad_changelog.h b/swad_changelog.h
index 3eafa85a2..b9046231c 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -256,13 +256,27 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 17.20.7 (2017-10-07)"
+#define Log_PLATFORM_VERSION "SWAD 17.21 (2017-10-07)"
#define CSS_FILE "swad17.0.css"
#define JS_FILE "swad17.17.1.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 17.21: Oct 07, 2017 Start and end dates in projects are replaced by time of creation and time of modification. (233106 lines)
+ 8 changes necessary in database:
+ALTER TABLE projects ADD COLUMN CreatTime DATETIME AFTER EndTime;
+ALTER TABLE projects ADD COLUMN ModifTime DATETIME AFTER CreatTime;
+UPDATE projects SET CreatTime=StartTime;
+UPDATE projects SET ModifTime=CreatTime;
+ALTER TABLE projects CHANGE COLUMN CreatTime CreatTime DATETIME NOT NULL;
+ALTER TABLE projects CHANGE COLUMN ModifTime ModifTime DATETIME NOT NULL;
+ALTER TABLE projects ADD INDEX(CrsCod,CreatTime);
+ALTER TABLE projects ADD INDEX(CrsCod,ModifTime);
+ 2 more changes necessary in database:
+ALTER TABLE projects DROP COLUMN StartTime;
+ALTER TABLE projects DROP COLUMN EndTime;
+
Version 17.20.7: Oct 07, 2017 Only publishers can remove subtrees in project documents. (233105 lines)
Version 17.20.6: Oct 07, 2017 Fixed bug in project documents. (233027 lines)
Version 17.20.5: Oct 07, 2017 Title of project is now a link to show the project and its documents. (233024 lines)
diff --git a/swad_database.c b/swad_database.c
index d8c58dee5..8fb8af89e 100644
--- a/swad_database.c
+++ b/swad_database.c
@@ -2016,8 +2016,8 @@ mysql> DESCRIBE projects;
| Preassigned | enum('N','Y') | NO | | N | |
| NumStds | int(11) | NO | | 1 | |
| Proposal | enum('new','modified','unmodified') | NO | | new | |
-| StartTime | datetime | NO | | NULL | |
-| EndTime | datetime | NO | | NULL | |
+| CreatTime | datetime | NO | | NULL | |
+| ModifTime | datetime | NO | | NULL | |
| Title | varchar(2047) | NO | | NULL | |
| Description | text | NO | | NULL | |
| Knowledge | text | NO | | NULL | |
@@ -2034,8 +2034,8 @@ mysql> DESCRIBE projects;
"Preassigned ENUM('N','Y') NOT NULL DEFAULT 'N',"
"NumStds INT NOT NULL DEFAULT 1,"
"Proposal ENUM('new','modified','unmodified') NOT NULL DEFAULT 'new',"
- "StartTime DATETIME NOT NULL,"
- "EndTime DATETIME NOT NULL,"
+ "CreatTime DATETIME NOT NULL,"
+ "ModifTime DATETIME NOT NULL,"
"Title VARCHAR(2047) NOT NULL," // Prj_MAX_BYTES_PROJECT_TITLE
"Description TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
"Knowledge TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
@@ -2043,6 +2043,8 @@ mysql> DESCRIBE projects;
"URL VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"UNIQUE INDEX(PrjCod),"
"INDEX(CrsCod,Hidden),"
+ "INDEX(CrsCod,CreatTime),"
+ "INDEX(CrsCod,ModifTime),"
"INDEX(CrsCod,DptCod))");
/***** Table sessions *****/
diff --git a/swad_file_browser.c b/swad_file_browser.c
index 68721be59..1d9087e17 100644
--- a/swad_file_browser.c
+++ b/swad_file_browser.c
@@ -3929,18 +3929,25 @@ static void Brw_PutIconsFileBrowser (void)
break;
case Brw_ICON_VIEW:
Ico_PutContextualIconToView (Brw_ActFromAdmToSee[Gbl.FileBrowser.Type],
- Brw_PutHiddenParamFullTreeIfSelected);
+ Brw_PutHiddenParamFullTreeIfSelected);
break;
case Brw_ICON_EDIT:
Ico_PutContextualIconToEdit (Brw_ActFromSeeToAdm[Gbl.FileBrowser.Type],
- Brw_PutHiddenParamFullTreeIfSelected);
+ Brw_PutHiddenParamFullTreeIfSelected);
break;
}
/***** Put icon to show a figure *****/
- if (Gbl.FileBrowser.Type != Brw_ADMI_WORKS_CRS &&
- Gbl.FileBrowser.Type != Brw_ADMI_ASSIG_CRS)
- Brw_PutIconShowFigure ();
+ switch (Gbl.FileBrowser.Type)
+ {
+ case Brw_ADMI_WORKS_CRS:
+ case Brw_ADMI_ASSIG_CRS:
+ case Brw_ADMI_DOCUM_PRJ:
+ break;
+ default:
+ Brw_PutIconShowFigure ();
+ break;
+ }
}
static void Brw_PutIconShowFigure (void)
diff --git a/swad_project.c b/swad_project.c
index 7b5008535..3138ff082 100644
--- a/swad_project.c
+++ b/swad_project.c
@@ -60,8 +60,6 @@ typedef enum
Prj_EDIT_ONE_PROJECT,
} Prj_ProjectView_t;
-#define Prj_INTERVAL_DEFAULT ((time_t) 365 * (time_t) 24 * (time_t) 60 * (time_t) 60) // 1 year
-
const Prj_RoleInProject_t Prj_RolesToShow[] =
{
Prj_ROLE_TUT, // Tutor
@@ -647,42 +645,38 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie
}
fprintf (Gbl.F.Out,"");
- /* Start date/time */
+ /* Creation date/time */
UniqueId++;
- fprintf (Gbl.F.Out,"
Hidden ? (Prj->Open ? "DATE_GREEN_LIGHT" :
- "DATE_RED_LIGHT") :
- (Prj->Open ? "DATE_GREEN" :
- "DATE_RED"));
+ Prj->Hidden ? "DATE_BLUE_LIGHT" :
+ "DATE_BLUE");
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">"
""
" | ",
- UniqueId,Prj->TimeUTC[Dat_START_TIME],
+ UniqueId,Prj->CreatTime,
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
- /* End date/time */
+ /* Modification date/time */
UniqueId++;
- fprintf (Gbl.F.Out,"Hidden ? (Prj->Open ? "DATE_GREEN_LIGHT" :
- "DATE_RED_LIGHT") :
- (Prj->Open ? "DATE_GREEN" :
- "DATE_RED"));
+ Prj->Hidden ? "DATE_BLUE_LIGHT" :
+ "DATE_BLUE");
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">"
""
" | ",
- UniqueId,Prj->TimeUTC[Dat_END_TIME],
+ UniqueId,Prj->ModifTime,
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/* Project title */
@@ -878,36 +872,32 @@ static void Prj_ShowTableAllProjectsOneRow (struct Project *Prj)
/***** Start date/time *****/
UniqueId++;
- fprintf (Gbl.F.Out,""
+ fprintf (Gbl.F.Out," | "
""
" | ",
UniqueId,
Gbl.RowEvenOdd,
- Prj->Hidden ? (Prj->Open ? "DATE_GREEN_LIGHT" :
- "DATE_RED_LIGHT") :
- (Prj->Open ? "DATE_GREEN" :
- "DATE_RED"),
- UniqueId,Prj->TimeUTC[Dat_START_TIME],
+ Prj->Hidden ? "DATE_BLUE_LIGHT" :
+ "DATE_BLUE",
+ UniqueId,Prj->CreatTime,
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/***** End date/time *****/
UniqueId++;
- fprintf (Gbl.F.Out,""
+ fprintf (Gbl.F.Out," | "
""
" | ",
UniqueId,
Gbl.RowEvenOdd,
- Prj->Hidden ? (Prj->Open ? "DATE_GREEN_LIGHT" :
- "DATE_RED_LIGHT") :
- (Prj->Open ? "DATE_GREEN" :
- "DATE_RED"),
- UniqueId,Prj->TimeUTC[Dat_END_TIME],
+ Prj->Hidden ? "DATE_BLUE_LIGHT" :
+ "DATE_BLUE",
+ UniqueId,Prj->ModifTime,
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/***** Project title *****/
@@ -1905,24 +1895,24 @@ void Prj_GetListProjects (void)
switch (Gbl.Prjs.SelectedOrder)
{
case Prj_ORDER_START_TIME:
- sprintf (OrderBySubQuery,"projects.StartTime DESC,"
- "projects.EndTime DESC,"
+ sprintf (OrderBySubQuery,"projects.CreatTime DESC,"
+ "projects.ModifTime DESC,"
"projects.Title");
break;
case Prj_ORDER_END_TIME:
- sprintf (OrderBySubQuery,"projects.EndTime DESC,"
- "projects.StartTime DESC,"
+ sprintf (OrderBySubQuery,"projects.ModifTime DESC,"
+ "projects.CreatTime DESC,"
"projects.Title");
break;
case Prj_ORDER_TITLE:
sprintf (OrderBySubQuery,"projects.Title,"
- "projects.StartTime DESC,"
- "projects.EndTime DESC");
+ "projects.CreatTime DESC,"
+ "projects.ModifTime DESC");
break;
case Prj_ORDER_DEPARTMENT:
sprintf (OrderBySubQuery,"departments.FullName,"
- "projects.StartTime DESC,"
- "projects.EndTime DESC,"
+ "projects.CreatTime DESC,"
+ "projects.ModifTime DESC,"
"projects.Title");
break;
}
@@ -2054,9 +2044,8 @@ void Prj_GetDataOfProjectByCod (struct Project *Prj)
{
/***** Build query *****/
sprintf (Query,"SELECT PrjCod,CrsCod,DptCod,Hidden,Preassigned,NumStds,Proposal,"
- "UNIX_TIMESTAMP(StartTime),"
- "UNIX_TIMESTAMP(EndTime),"
- "NOW() BETWEEN StartTime AND EndTime,"
+ "UNIX_TIMESTAMP(CreatTime),"
+ "UNIX_TIMESTAMP(ModifTime),"
"Title,Description,Knowledge,Materials,URL"
" FROM projects"
" WHERE PrjCod=%ld AND CrsCod=%ld",
@@ -2069,14 +2058,13 @@ void Prj_GetDataOfProjectByCod (struct Project *Prj)
row[ 4]: Preassigned
row[ 5]: NumStds
row[ 6]: Proposal
- row[ 7]: UNIX_TIMESTAMP(StartTime)
- row[ 8]: UNIX_TIMESTAMP(EndTime)
- row[ 9]: NOW() BETWEEN StartTime AND EndTime
- row[10]: Title
- row[11]: Description
- row[12]: Knowledge
- row[13]: Materials
- row[14]: URL
+ row[ 7]: UNIX_TIMESTAMP(CreatTime)
+ row[ 8]: UNIX_TIMESTAMP(ModifTime)
+ row[ 9]: Title
+ row[10]: Description
+ row[11]: Knowledge
+ row[12]: Materials
+ row[13]: URL
*/
/***** Get data of project *****/
@@ -2117,14 +2105,13 @@ static void Prj_GetDataOfProject (struct Project *Prj,const char *Query)
row[ 4]: Preassigned
row[ 5]: NumStds
row[ 6]: Proposal
- row[ 7]: UNIX_TIMESTAMP(StartTime)
- row[ 8]: UNIX_TIMESTAMP(EndTime)
- row[ 9]: NOW() BETWEEN StartTime AND EndTime
- row[10]: Title
- row[11]: Description
- row[12]: Knowledge
- row[13]: Materials
- row[14]: URL
+ row[ 7]: UNIX_TIMESTAMP(CreatTime)
+ row[ 8]: UNIX_TIMESTAMP(ModifTime)
+ row[ 9]: Title
+ row[10]: Description
+ row[11]: Knowledge
+ row[12]: Materials
+ row[13]: URL
*/
/* Get code of the project (row[0]) */
@@ -2161,33 +2148,30 @@ static void Prj_GetDataOfProject (struct Project *Prj,const char *Query)
break;
}
- /* Get start date (row[7] holds the start UTC time) */
- Prj->TimeUTC[Dat_START_TIME] = Dat_GetUNIXTimeFromStr (row[7]);
+ /* Get creation date/time (row[7] holds the creation UTC time) */
+ Prj->CreatTime = Dat_GetUNIXTimeFromStr (row[7]);
- /* Get end date (row[8] holds the end UTC time) */
- Prj->TimeUTC[Dat_END_TIME ] = Dat_GetUNIXTimeFromStr (row[8]);
+ /* Get modification date/time (row[8] holds the modification UTC time) */
+ Prj->ModifTime = Dat_GetUNIXTimeFromStr (row[8]);
- /* Get whether the project is open or closed (row[9]) */
- Prj->Open = (row[9][0] == '1');
-
- /* Get the title of the project (row[10]) */
- Str_Copy (Prj->Title,row[10],
+ /* Get the title of the project (row[9]) */
+ Str_Copy (Prj->Title,row[9],
Prj_MAX_BYTES_PROJECT_TITLE);
- /* Get the description of the project (row[11]) */
- Str_Copy (Prj->Description,row[11],
+ /* Get the description of the project (row[10]) */
+ Str_Copy (Prj->Description,row[10],
Cns_MAX_BYTES_TEXT);
- /* Get the required knowledge for the project (row[12]) */
- Str_Copy (Prj->Knowledge,row[12],
+ /* Get the required knowledge for the project (row[11]) */
+ Str_Copy (Prj->Knowledge,row[11],
Cns_MAX_BYTES_TEXT);
- /* Get the required materials for the project (row[13]) */
- Str_Copy (Prj->Materials,row[13],
+ /* Get the required materials for the project (row[12]) */
+ Str_Copy (Prj->Materials,row[12],
Cns_MAX_BYTES_TEXT);
- /* Get the URL of the project (row[14]) */
- Str_Copy (Prj->URL,row[14],
+ /* Get the URL of the project (row[13]) */
+ Str_Copy (Prj->URL,row[13],
Cns_MAX_BYTES_WWW);
}
@@ -2208,9 +2192,8 @@ static void Prj_ResetProject (struct Project *Prj)
Prj->Preassigned = Prj_PREASSIGNED_DEFAULT;
Prj->NumStds = 1;
Prj->Proposal = Prj_PROPOSAL_DEFAULT;
- Prj->TimeUTC[Dat_START_TIME] =
- Prj->TimeUTC[Dat_END_TIME ] = (time_t) 0;
- Prj->Open = false;
+ Prj->CreatTime =
+ Prj->ModifTime = (time_t) 0;
Prj->Title[0] = '\0';
Prj->DptCod = -1L; // Unknown department
Prj->Description[0] = '\0';
@@ -2483,10 +2466,8 @@ static void Prj_RequestCreatOrEditPrj (long PrjCod)
{
/* Initialize to empty project */
Prj_ResetProject (&Prj);
- Prj.TimeUTC[Dat_START_TIME] = Gbl.StartExecutionTimeUTC;
- Prj.TimeUTC[Dat_END_TIME ] = Gbl.StartExecutionTimeUTC +
- Prj_INTERVAL_DEFAULT;
- Prj.Open = true;
+ Prj.CreatTime = Gbl.StartExecutionTimeUTC;
+ Prj.ModifTime = Gbl.StartExecutionTimeUTC;
Prj.DptCod = Gbl.Usrs.Me.UsrDat.Tch.DptCod; // Default: my department
}
else
@@ -2583,9 +2564,6 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
The_ClassForm[Gbl.Prefs.Theme],Txt_Title,
Prj_MAX_CHARS_PROJECT_TITLE,Prj->Title);
- /* Project start and end dates */
- Dat_PutFormStartEndClientLocalDateTimes (Prj->TimeUTC,Dat_FORM_SECONDS_ON);
-
/* Department */
fprintf (Gbl.F.Out,""
""
@@ -2804,10 +2782,6 @@ void Prj_RecFormProject (void)
if (ICanEditProject)
{
- /* Get start/end date-times */
- Prj.TimeUTC[Dat_START_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC");
- Prj.TimeUTC[Dat_END_TIME ] = Dat_GetTimeUTCFromForm ("EndTimeUTC" );
-
/* Get project title */
Par_GetParToText ("Title",Prj.Title,Prj_MAX_BYTES_PROJECT_TITLE);
@@ -2840,13 +2814,6 @@ void Prj_RecFormProject (void)
/* Get degree WWW */
Par_GetParToText ("URL",Prj.URL,Cns_MAX_BYTES_WWW);
- /***** Adjust dates *****/
- if (Prj.TimeUTC[Dat_START_TIME] == 0)
- Prj.TimeUTC[Dat_START_TIME] = Gbl.StartExecutionTimeUTC;
- if (Prj.TimeUTC[Dat_END_TIME] == 0)
- Prj.TimeUTC[Dat_END_TIME] = Prj.TimeUTC[Dat_START_TIME] +
- Prj_INTERVAL_DEFAULT;
-
/***** Check if title is correct *****/
if (!Prj.Title[0]) // If there is not a project title
{
@@ -2859,17 +2826,19 @@ void Prj_RecFormProject (void)
{
if (ItsANewProject)
{
+ /* Create project */
Prj_CreateProject (&Prj); // Add new project to database
- /***** Write success message *****/
+ /* Write success message */
sprintf (Gbl.Alert.Txt,Txt_Created_new_project_X,Prj.Title);
Ale_ShowAlert (Ale_SUCCESS,Gbl.Alert.Txt);
}
else if (NewProjectIsCorrect)
{
+ /* Update project */
Prj_UpdateProject (&Prj);
- /***** Write success message *****/
+ /* Write success message */
Ale_ShowAlert (Ale_SUCCESS,Txt_The_project_has_been_modified);
}
}
@@ -2897,10 +2866,14 @@ static void Prj_CreateProject (struct Project *Prj)
Cns_MAX_BYTES_TEXT * 3 +
Cns_MAX_BYTES_WWW];
+ /***** Set dates to now *****/
+ Prj->CreatTime =
+ Prj->ModifTime = Gbl.StartExecutionTimeUTC;
+
/***** Create a new project *****/
sprintf (Query,"INSERT INTO projects"
" (CrsCod,DptCod,Hidden,Preassigned,NumStds,Proposal,"
- "StartTime,EndTime,"
+ "CreatTime,ModifTime,"
"Title,Description,Knowledge,Materials,URL)"
" VALUES"
" (%ld,%ld,'%c','%c',%u,'%s',"
@@ -2914,8 +2887,8 @@ static void Prj_CreateProject (struct Project *Prj)
'N',
Prj->NumStds,
Prj_Proposal_DB[Prj->Proposal],
- Prj->TimeUTC[Dat_START_TIME],
- Prj->TimeUTC[Dat_END_TIME ],
+ Prj->CreatTime,
+ Prj->ModifTime,
Prj->Title,
Prj->Description,
Prj->Knowledge,
@@ -2945,11 +2918,13 @@ static void Prj_UpdateProject (struct Project *Prj)
Cns_MAX_BYTES_TEXT*3 +
Cns_MAX_BYTES_WWW];
+ /***** Adjust date of last edition to now *****/
+ Prj->ModifTime = Gbl.StartExecutionTimeUTC;
+
/***** Update the data of the project *****/
sprintf (Query,"UPDATE projects SET "
"DptCod=%ld,Hidden='%c',Preassigned='%c',NumStds=%u,Proposal='%s',"
- "StartTime=FROM_UNIXTIME(%ld),"
- "EndTime=FROM_UNIXTIME(%ld),"
+ "ModifTime=FROM_UNIXTIME(%ld),"
"Title='%s',"
"Description='%s',Knowledge='%s',Materials='%s',URL='%s'"
" WHERE PrjCod=%ld AND CrsCod=%ld",
@@ -2960,8 +2935,7 @@ static void Prj_UpdateProject (struct Project *Prj)
'N',
Prj->NumStds,
Prj_Proposal_DB[Prj->Proposal],
- Prj->TimeUTC[Dat_START_TIME],
- Prj->TimeUTC[Dat_END_TIME ],
+ Prj->ModifTime,
Prj->Title,
Prj->Description,
Prj->Knowledge,
diff --git a/swad_project.h b/swad_project.h
index 88a1601b4..7bf5298b4 100644
--- a/swad_project.h
+++ b/swad_project.h
@@ -75,8 +75,8 @@ struct Project
Prj_Preassigned_t Preassigned;
unsigned NumStds;
Prj_Proposal_t Proposal;
- time_t TimeUTC[Dat_NUM_START_END_TIME];
- bool Open;
+ time_t CreatTime;
+ time_t ModifTime;
char Title[Prj_MAX_BYTES_PROJECT_TITLE + 1];
long DptCod;
char *Description;
diff --git a/swad_text.c b/swad_text.c
index f870e665f..9e91e2c91 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -30919,44 +30919,44 @@ const char *Txt_PROJECT_ORDER[Prj_NUM_ORDERS] =
{
// Prj_ORDER_START_TIME
#if L==1
- "Inici"
+ "Data de creació"
#elif L==2
- "Start"
+ "Datum der Erstellung"
#elif L==3
- "Start"
+ "Date of creation"
#elif L==4
- "Inicio"
+ "Fecha de creación"
#elif L==5
- "Début"
+ "Date de création"
#elif L==6
- "Ñepyrũ"
+ "Fecha de creación" // Okoteve traducción
#elif L==7
- "Inizio"
+ "Data di creazione"
#elif L==8
- "Początek"
+ "Data utworzenia"
#elif L==9
- "Início"
+ "Data da criação"
#endif
,
// Prj_ORDER_END_TIME
#if L==1
- "Final"
+ "Última edició"
#elif L==2
- "Ende"
+ "Letzte Ausgabe"
#elif L==3
- "End"
+ "Last edition"
#elif L==4
- "Final"
+ "Última edición"
#elif L==5
- "Fin"
+ "Dernière édition"
#elif L==6
- "Paha"
+ "Última edición" // Okoteve traducción
#elif L==7
- "Fine"
+ "Ultima edizione"
#elif L==8
- "Koniec"
+ "Ostatnie wydanie"
#elif L==9
- "Fim"
+ "Última edição"
#endif
,
// Prj_ORDER_TITLE
@@ -31006,44 +31006,44 @@ const char *Txt_PROJECT_ORDER_HELP[Prj_NUM_ORDERS] =
{
// Prj_ORDER_START_TIME
#if L==1
- "Ordenar per data de començament"
+ "Ordenar per data de creació"
#elif L==2
- "Sortieren nach Startdatum"
+ "Sortieren nach Erstellungsdatum"
#elif L==3
- "Sort by start date"
+ "Sort by date of creation"
#elif L==4
- "Ordenar por fecha de comienzo"
+ "Ordenar por fecha de creación"
#elif L==5
- "Trier par date de début"
+ "Trier par date de création"
#elif L==6
- "Ordenar por fecha de comienzo" // Okoteve traducción
+ "Ordenar por fecha de creación" // Okoteve traducción
#elif L==7
- "Ordina per data di inizio"
+ "Ordina per data di creazione"
#elif L==8
- "Sortuj wedlug daty rozpoczecia"
+ "Sortuj według daty utworzenia"
#elif L==9
- "Classificar por data de início"
+ "Classificar por data de criação"
#endif
,
// Prj_ORDER_END_TIME
#if L==1
- "Ordenar per data de finalització"
+ "Ordenar per data de l'última edició"
#elif L==2
- "Sortieren nach Enddatum"
+ "Sortieren nach letzten Ausgabe"
#elif L==3
- "Sort by end date"
+ "Sort by date of last edition"
#elif L==4
- "Ordenar por fecha de finalización"
+ "Ordenar por fecha de última edición"
#elif L==5
- "Trier par date de fin"
+ "Trier par date de dernière édition"
#elif L==6
- "Ordenar por fecha de finalización" // Okoteve traducción
+ "Ordenar por fecha de última edición" // Okoteve traducción
#elif L==7
- "Ordina per data di fine"
+ "Ordina per data dell'ultima edizione"
#elif L==8
- "Sortuj wedlug daty zakonczenia"
+ "Sortuj według daty ostatniej edycji"
#elif L==9
- "Classificar por data de término"
+ "Classificar por data da última edição"
#endif
,
// Prj_ORDER_TITLE
|