diff --git a/swad_alert.c b/swad_alert.c
index 7ba99217..8a0c68b7 100644
--- a/swad_alert.c
+++ b/swad_alert.c
@@ -479,3 +479,25 @@ void Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission (void)
Ale_ShowAlert (Ale_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
}
+
+/*****************************************************************************/
+/**************** Create alert when a form field is empty ********************/
+/*****************************************************************************/
+
+void Ale_CreateAlertYouCanNotLeaveFieldEmpty (void)
+ {
+ extern const char *Txt_You_can_not_leave_the_field_empty;
+
+ Ale_CreateAlert (Ale_WARNING,NULL,Txt_You_can_not_leave_the_field_empty);
+ }
+
+/*****************************************************************************/
+/**************** Create alert when a form field is empty ********************/
+/*****************************************************************************/
+
+void Ale_ShowAlertYouCanNotLeaveFieldEmpty (void)
+ {
+ extern const char *Txt_You_can_not_leave_the_field_empty;
+
+ Ale_ShowAlert (Ale_WARNING,NULL,Txt_You_can_not_leave_the_field_empty);
+ }
diff --git a/swad_alert.h b/swad_alert.h
index 6b6c0671..4669515c 100644
--- a/swad_alert.h
+++ b/swad_alert.h
@@ -84,5 +84,7 @@ void Ale_ShowAlertAndButton2 (Act_Action_t NextAction,const char *Anchor,const c
void Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission (void);
void Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission (void);
+void Ale_CreateAlertYouCanNotLeaveFieldEmpty (void);
+void Ale_ShowAlertYouCanNotLeaveFieldEmpty (void);
#endif
diff --git a/swad_banner.c b/swad_banner.c
index 9a69b5fd..bd308179 100644
--- a/swad_banner.c
+++ b/swad_banner.c
@@ -621,7 +621,6 @@ void Ban_RenameBannerFull (void)
static void Ban_RenameBanner (Cns_ShrtOrFullName_t ShrtOrFullName)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_banner_X_empty;
extern const char *Txt_The_banner_X_already_exists;
extern const char *Txt_The_banner_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_banner_X_has_not_changed;
@@ -660,9 +659,7 @@ static void Ban_RenameBanner (Cns_ShrtOrFullName_t ShrtOrFullName)
/***** Check if new name is empty *****/
if (!NewBanName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_banner_X_empty,
- CurrentBanName);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
else
{
/***** Check if old and new names are the same
@@ -776,7 +773,6 @@ void Ban_ChangeBannerImg (void)
void Ban_ChangeBannerWWW (void)
{
extern const char *Txt_The_new_web_address_is_X;
- extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Banner constructor *****/
@@ -807,8 +803,7 @@ void Ban_ChangeBannerWWW (void)
NewWWW);
}
else
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_web_address_empty);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update web *****/
Str_Copy (Ban_EditingBan->WWW,NewWWW,
diff --git a/swad_centre.c b/swad_centre.c
index 4cbf7a44..436f133f 100644
--- a/swad_centre.c
+++ b/swad_centre.c
@@ -2332,7 +2332,6 @@ void Ctr_RenameCentreFullInConfig (void)
static void Ctr_RenameCentre (struct Centre *Ctr,Cns_ShrtOrFullName_t ShrtOrFullName)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_centre_X_empty;
extern const char *Txt_The_centre_X_already_exists;
extern const char *Txt_The_centre_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_centre_X_has_not_changed;
@@ -2367,9 +2366,7 @@ static void Ctr_RenameCentre (struct Centre *Ctr,Cns_ShrtOrFullName_t ShrtOrFull
/***** Check if new name is empty *****/
if (!NewCtrName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_centre_X_empty,
- CurrentCtrName);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
else
{
/***** Check if old and new names are the same
@@ -2537,7 +2534,6 @@ static void Ctr_UpdateCtrCoordinateDB (long CtrCod,const char *CoordField,double
void Ctr_ChangeCtrWWW (void)
{
extern const char *Txt_The_new_web_address_is_X;
- extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Centre constructor *****/
@@ -2567,14 +2563,12 @@ void Ctr_ChangeCtrWWW (void)
NewWWW);
}
else
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_web_address_empty);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
}
void Ctr_ChangeCtrWWWInConfig (void)
{
extern const char *Txt_The_new_web_address_is_X;
- extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Get parameters from form *****/
@@ -2594,7 +2588,7 @@ void Ctr_ChangeCtrWWWInConfig (void)
NewWWW);
}
else
- Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_leave_the_web_address_empty);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Show the form again *****/
Ctr_ShowConfiguration ();
diff --git a/swad_changelog.h b/swad_changelog.h
index 4859c2af..0e112db7 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -492,14 +492,17 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
-#define Log_PLATFORM_VERSION "SWAD 19.97.3 (2019-12-19)"
+#define Log_PLATFORM_VERSION "SWAD 19.97.4 (2019-12-20)"
#define CSS_FILE "swad19.97.css"
#define JS_FILE "swad19.91.1.js"
/*
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
// TODO: Impedir la creación y edición de proyectos si no son editables.
// TODO: No se puede entrar con DNI '1' suponiendo que no tenga password żpor qué?
+// TODO: Sin identificar, pulsando en CENTRO > Información > Lugares/sedes NO deberíamos ir a Países.
+// TODO: Icono de eliminar escudo de un centro --> ponerlo sólo en la esquina, contextual. Comprobar lo mismo con icono de titulación y de institución.
+ Version 19.97.4: Dec 20, 2019 Optimization on alerts related with empty form fields. (249171 lines)
Version 19.97.3: Dec 19, 2019 In list of centres, show link to map. (249847 lines)
Version 19.97.2: Dec 19, 2019 Don't show centre map when coordinates are 0.
Fixed bug in database installation, reported by José Luis Amador Moreno. (249809 lines)
diff --git a/swad_classroom.c b/swad_classroom.c
index f9b8944b..32ecd413 100644
--- a/swad_classroom.c
+++ b/swad_classroom.c
@@ -640,7 +640,6 @@ void Cla_RenameClassroomFull (void)
static void Cla_RenameClassroom (Cns_ShrtOrFullName_t ShrtOrFullName)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_classroom_X_empty;
extern const char *Txt_The_classroom_X_already_exists;
extern const char *Txt_The_classroom_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_classroom_X_has_not_changed;
@@ -678,11 +677,7 @@ static void Cla_RenameClassroom (Cns_ShrtOrFullName_t ShrtOrFullName)
Cla_GetDataOfClassroomByCod (Cla_EditingCla);
/***** Check if new name is empty *****/
- if (!NewClaName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_classroom_X_empty,
- CurrentClaName);
- else
+ if (NewClaName[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -709,6 +704,8 @@ static void Cla_RenameClassroom (Cns_ShrtOrFullName_t ShrtOrFullName)
Txt_The_name_of_the_classroom_X_has_not_changed,
CurrentClaName);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update classroom name *****/
Str_Copy (CurrentClaName,NewClaName,
diff --git a/swad_config.h b/swad_config.h
index 77e76c0a..aab84163 100644
--- a/swad_config.h
+++ b/swad_config.h
@@ -28,8 +28,8 @@
/** Uncomment one of the following installations of SWAD or create your own **/
/*****************************************************************************/
-#define LOCALHOST_UBUNTU // Comment this line if not applicable
-//#define OPENSWAD_ORG // Comment this line if not applicable
+//#define LOCALHOST_UBUNTU // Comment this line if not applicable
+#define OPENSWAD_ORG // Comment this line if not applicable
//#define SWAD_UGR_ES // Comment this line if not applicable
//#define SWADBERRY_UGR_ES // Comment this line if not applicable
diff --git a/swad_country.c b/swad_country.c
index d29e7377..6b420540 100644
--- a/swad_country.c
+++ b/swad_country.c
@@ -1779,7 +1779,6 @@ void Cty_RemoveCountry (void)
void Cty_RenameCountry (void)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_country_X_empty;
extern const char *Txt_The_country_X_already_exists;
extern const char *Txt_The_country_X_has_been_renamed_as_Y;
extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES];
@@ -1804,11 +1803,7 @@ void Cty_RenameCountry (void)
Cty_GetDataOfCountryByCod (Cty_EditingCty,Cty_GET_EXTRA_DATA);
/***** Check if new name is empty *****/
- if (!NewCtyName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_country_X_empty,
- Cty_EditingCty->Name[Language]);
- else
+ if (NewCtyName[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -1842,6 +1837,8 @@ void Cty_RenameCountry (void)
Txt_The_name_of_the_country_X_has_not_changed,
Cty_EditingCty->Name[Language]);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
}
/*****************************************************************************/
diff --git a/swad_course.c b/swad_course.c
index 3fb80c75..37bf1e52 100644
--- a/swad_course.c
+++ b/swad_course.c
@@ -2594,7 +2594,6 @@ void Crs_RenameCourseFullInConfig (void)
static void Crs_RenameCourse (struct Course *Crs,Cns_ShrtOrFullName_t ShrtOrFullName)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_course_X_empty;
extern const char *Txt_The_course_X_already_exists;
extern const char *Txt_The_name_of_the_course_X_has_changed_to_Y;
extern const char *Txt_The_name_of_the_course_X_has_not_changed;
@@ -2630,11 +2629,7 @@ static void Crs_RenameCourse (struct Course *Crs,Cns_ShrtOrFullName_t ShrtOrFull
if (Crs_CheckIfICanEdit (Crs))
{
/***** Check if new name is empty *****/
- if (!NewCrsName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_course_X_empty,
- CurrentCrsName);
- else
+ if (NewCrsName[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -2666,6 +2661,8 @@ static void Crs_RenameCourse (struct Course *Crs,Cns_ShrtOrFullName_t ShrtOrFull
Txt_The_name_of_the_course_X_has_not_changed,
CurrentCrsName);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
}
else
Lay_NoPermissionExit ();
diff --git a/swad_degree.c b/swad_degree.c
index a26b9faf..1bcb48b6 100644
--- a/swad_degree.c
+++ b/swad_degree.c
@@ -1910,7 +1910,6 @@ void Deg_RenameDegreeFullInConfig (void)
static void Deg_RenameDegree (struct Degree *Deg,Cns_ShrtOrFullName_t ShrtOrFullName)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_degree_X_empty;
extern const char *Txt_The_degree_X_already_exists;
extern const char *Txt_The_name_of_the_degree_X_has_changed_to_Y;
extern const char *Txt_The_name_of_the_degree_X_has_not_changed;
@@ -1944,11 +1943,7 @@ static void Deg_RenameDegree (struct Degree *Deg,Cns_ShrtOrFullName_t ShrtOrFull
Deg_GetDataOfDegreeByCod (Deg,Deg_GET_BASIC_DATA);
/***** Check if new name is empty *****/
- if (!NewDegName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_degree_X_empty,
- CurrentDegName);
- else
+ if (NewDegName[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -1979,6 +1974,8 @@ static void Deg_RenameDegree (struct Degree *Deg,Cns_ShrtOrFullName_t ShrtOrFull
Txt_The_name_of_the_degree_X_has_not_changed,
CurrentDegName);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
}
/*****************************************************************************/
@@ -2122,7 +2119,6 @@ void Deg_ChangeDegreeType (void)
void Deg_ChangeDegWWW (void)
{
extern const char *Txt_The_new_web_address_is_X;
- extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Degree constructor *****/
@@ -2153,14 +2149,12 @@ void Deg_ChangeDegWWW (void)
NewWWW);
}
else
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_web_address_empty);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
}
void Deg_ChangeDegWWWInConfig (void)
{
extern const char *Txt_The_new_web_address_is_X;
- extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Get parameters from form *****/
@@ -2180,7 +2174,7 @@ void Deg_ChangeDegWWWInConfig (void)
NewWWW);
}
else
- Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_leave_the_web_address_empty);
+ Ale_ShowAlertYouCanNotLeaveFieldEmpty ();
/***** Show the form again *****/
Deg_ShowConfiguration ();
diff --git a/swad_degree_type.c b/swad_degree_type.c
index 6afce691..62168d27 100644
--- a/swad_degree_type.c
+++ b/swad_degree_type.c
@@ -923,7 +923,6 @@ static void DT_RemoveDegreeTypeCompletely (long DegTypCod)
void DT_RenameDegreeType (void)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_type_of_degree_X_empty;
extern const char *Txt_The_type_of_degree_X_already_exists;
extern const char *Txt_The_type_of_degree_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_type_of_degree_X_has_not_changed;
@@ -944,11 +943,7 @@ void DT_RenameDegreeType (void)
Lay_ShowErrorAndExit ("Code of type of degree not found.");
/***** Check if new name is empty *****/
- if (!NewNameDegTyp[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_type_of_degree_X_empty,
- DT_EditingDegTyp->DegTypName);
- else
+ if (NewNameDegTyp[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -980,6 +975,8 @@ void DT_RenameDegreeType (void)
Txt_The_name_of_the_type_of_degree_X_has_not_changed,
NewNameDegTyp);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Set degree type name *****/
Str_Copy (DT_EditingDegTyp->DegTypName,NewNameDegTyp,
diff --git a/swad_department.c b/swad_department.c
index 9409d1a9..d9c2caf9 100644
--- a/swad_department.c
+++ b/swad_department.c
@@ -715,7 +715,6 @@ void Dpt_RenameDepartFull (void)
static void Dpt_RenameDepartment (Cns_ShrtOrFullName_t ShrtOrFullName)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_department_X_empty;
extern const char *Txt_The_department_X_already_exists;
extern const char *Txt_The_department_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_department_X_has_not_changed;
@@ -752,11 +751,7 @@ static void Dpt_RenameDepartment (Cns_ShrtOrFullName_t ShrtOrFullName)
Dpt_GetDataOfDepartmentByCod (Dpt_EditingDpt);
/***** Check if new name is empty *****/
- if (!NewDptName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_department_X_empty,
- CurrentDptName);
- else
+ if (NewDptName[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -783,6 +778,8 @@ static void Dpt_RenameDepartment (Cns_ShrtOrFullName_t ShrtOrFullName)
Txt_The_name_of_the_department_X_has_not_changed,
CurrentDptName);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update name *****/
Str_Copy (CurrentDptName,NewDptName,
@@ -822,7 +819,6 @@ static void Dpt_UpdateDegNameDB (long DptCod,const char *FieldName,const char *N
void Dpt_ChangeDptWWW (void)
{
extern const char *Txt_The_new_web_address_is_X;
- extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Department constructor *****/
@@ -852,8 +848,7 @@ void Dpt_ChangeDptWWW (void)
NewWWW);
}
else
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_web_address_empty);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update web *****/
Str_Copy (Dpt_EditingDpt->WWW,NewWWW,
diff --git a/swad_group.c b/swad_group.c
index 5150603b..e8fb2a5a 100644
--- a/swad_group.c
+++ b/swad_group.c
@@ -4644,7 +4644,7 @@ unsigned Grp_ConvertToNumMaxStdsGrp (const char *StrMaxStudents)
void Grp_RenameGroupType (void)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_type_of_group_X_empty;
+ extern const char *Txt_You_can_not_leave_the_field_empty;
extern const char *Txt_The_type_of_group_X_already_exists;
extern const char *Txt_The_type_of_group_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_type_of_group_X_has_not_changed;
@@ -4664,14 +4664,7 @@ void Grp_RenameGroupType (void)
Grp_GetDataOfGroupTypeByCod (&Gbl.Crs.Grps.GrpTyp);
/***** Check if new name is empty *****/
- if (!NewNameGrpTyp[0])
- {
- AlertType = Ale_WARNING;
- snprintf (AlertTxt,sizeof (AlertTxt),
- Txt_You_can_not_leave_the_name_of_the_type_of_group_X_empty,
- Gbl.Crs.Grps.GrpTyp.GrpTypName);
- }
- else
+ if (NewNameGrpTyp[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -4709,6 +4702,12 @@ void Grp_RenameGroupType (void)
NewNameGrpTyp);
}
}
+ else
+ {
+ AlertType = Ale_WARNING;
+ Str_Copy (AlertTxt,Txt_You_can_not_leave_the_field_empty,
+ sizeof (AlertTxt) - 1);
+ }
/***** Show the form again *****/
Str_Copy (Gbl.Crs.Grps.GrpTyp.GrpTypName,NewNameGrpTyp,
@@ -4723,7 +4722,7 @@ void Grp_RenameGroupType (void)
void Grp_RenameGroup (void)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_group_X_empty;
+ extern const char *Txt_You_can_not_leave_the_field_empty;
extern const char *Txt_The_group_X_already_exists;
extern const char *Txt_The_group_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_group_X_has_not_changed;
@@ -4748,9 +4747,8 @@ void Grp_RenameGroup (void)
if (!NewNameGrp[0])
{
AlertType = Ale_WARNING;
- snprintf (AlertTxt,sizeof (AlertTxt),
- Txt_You_can_not_leave_the_name_of_the_group_X_empty,
- GrpDat.GrpName);
+ Str_Copy (AlertTxt,Txt_You_can_not_leave_the_field_empty,
+ sizeof (AlertTxt) - 1);
}
else
{
diff --git a/swad_holiday.c b/swad_holiday.c
index 7e45c2d9..102b227f 100644
--- a/swad_holiday.c
+++ b/swad_holiday.c
@@ -875,7 +875,6 @@ static void Hld_ChangeDate (Hld_StartOrEndDate_t StartOrEndDate)
void Hld_RenameHoliday (void)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_holiday_X_empty;
extern const char *Txt_The_name_of_the_holiday_X_has_changed_to_Y;
extern const char *Txt_The_name_of_the_holiday_X_has_not_changed;
char NewHldName[Hld_MAX_BYTES_HOLIDAY_NAME + 1];
@@ -895,11 +894,7 @@ void Hld_RenameHoliday (void)
Hld_GetDataOfHolidayByCod (Hld_EditingHld);
/***** Check if new name is empty *****/
- if (!NewHldName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_holiday_X_empty,
- Hld_EditingHld->Name);
- else
+ if (NewHldName[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -923,6 +918,8 @@ void Hld_RenameHoliday (void)
Txt_The_name_of_the_holiday_X_has_not_changed,
Hld_EditingHld->Name);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
}
/*****************************************************************************/
diff --git a/swad_institution.c b/swad_institution.c
index d661a112..1f9967f4 100644
--- a/swad_institution.c
+++ b/swad_institution.c
@@ -1786,7 +1786,6 @@ void Ins_RenameInsFullInConfig (void)
static void Ins_RenameInstitution (struct Instit *Ins,Cns_ShrtOrFullName_t ShrtOrFullName)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_institution_X_empty;
extern const char *Txt_The_institution_X_already_exists;
extern const char *Txt_The_institution_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_institution_X_has_not_changed;
@@ -1819,11 +1818,7 @@ static void Ins_RenameInstitution (struct Instit *Ins,Cns_ShrtOrFullName_t ShrtO
Ins_GetDataOfInstitutionByCod (Ins,Ins_GET_BASIC_DATA);
/***** Check if new name is empty *****/
- if (!NewInsName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_institution_X_empty,
- CurrentInsName);
- else
+ if (NewInsName[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -1855,6 +1850,8 @@ static void Ins_RenameInstitution (struct Instit *Ins,Cns_ShrtOrFullName_t ShrtO
Txt_The_name_of_the_institution_X_has_not_changed,
CurrentInsName);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
}
/*****************************************************************************/
@@ -1968,7 +1965,6 @@ static void Ins_UpdateInsCtyDB (long InsCod,long CtyCod)
void Ins_ChangeInsWWW (void)
{
extern const char *Txt_The_new_web_address_is_X;
- extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Institution constructor *****/
@@ -1999,14 +1995,12 @@ void Ins_ChangeInsWWW (void)
NewWWW);
}
else
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_web_address_empty);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
}
void Ins_ChangeInsWWWInConfig (void)
{
extern const char *Txt_The_new_web_address_is_X;
- extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Get parameters from form *****/
@@ -2026,7 +2020,7 @@ void Ins_ChangeInsWWWInConfig (void)
NewWWW);
}
else
- Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_leave_the_web_address_empty);
+ Ale_ShowAlertYouCanNotLeaveFieldEmpty ();
/***** Show the form again *****/
Ins_ShowConfiguration ();
diff --git a/swad_link.c b/swad_link.c
index 4773e650..940af738 100644
--- a/swad_link.c
+++ b/swad_link.c
@@ -550,7 +550,6 @@ void Lnk_RenameLinkFull (void)
static void Lnk_RenameLink (Cns_ShrtOrFullName_t ShrtOrFullName)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_link_X_empty;
extern const char *Txt_The_link_X_already_exists;
extern const char *Txt_The_link_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_link_X_has_not_changed;
@@ -588,11 +587,7 @@ static void Lnk_RenameLink (Cns_ShrtOrFullName_t ShrtOrFullName)
Lnk_GetDataOfLinkByCod (Lnk_EditingLnk);
/***** Check if new name is empty *****/
- if (!NewLnkName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_link_X_empty,
- CurrentLnkName);
- else
+ if (NewLnkName[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -619,6 +614,8 @@ static void Lnk_RenameLink (Cns_ShrtOrFullName_t ShrtOrFullName)
Txt_The_name_of_the_link_X_has_not_changed,
CurrentLnkName);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update name *****/
Str_Copy (CurrentLnkName,NewLnkName,
@@ -658,7 +655,6 @@ static void Lnk_UpdateLnkNameDB (long LnkCod,const char *FieldName,const char *N
void Lnk_ChangeLinkWWW (void)
{
extern const char *Txt_The_new_web_address_is_X;
- extern const char *Txt_You_can_not_leave_the_web_address_empty;
char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Link constructor *****/
@@ -689,8 +685,7 @@ void Lnk_ChangeLinkWWW (void)
NewWWW);
}
else
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_web_address_empty);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update web *****/
Str_Copy (Lnk_EditingLnk->WWW,NewWWW,
diff --git a/swad_mail.c b/swad_mail.c
index 4f6b2c6a..dc816d8d 100644
--- a/swad_mail.c
+++ b/swad_mail.c
@@ -612,7 +612,6 @@ void Mai_RenameMailDomainFull (void)
static void Mai_RenameMailDomain (Cns_ShrtOrFullName_t ShrtOrFullName)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_email_domain_X_empty;
extern const char *Txt_The_email_domain_X_already_exists;
extern const char *Txt_The_email_domain_X_has_been_renamed_as_Y;
extern const char *Txt_The_email_domain_X_has_not_changed;
@@ -650,11 +649,7 @@ static void Mai_RenameMailDomain (Cns_ShrtOrFullName_t ShrtOrFullName)
Mai_GetDataOfMailDomainByCod (Mai_EditingMai);
/***** Check if new name is empty *****/
- if (!NewMaiName[0])
- Ale_CreateAlert (Ale_WARNING,Mai_EMAIL_SECTION_ID,
- Txt_You_can_not_leave_the_name_of_the_email_domain_X_empty,
- CurrentMaiName);
- else
+ if (NewMaiName[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -681,6 +676,8 @@ static void Mai_RenameMailDomain (Cns_ShrtOrFullName_t ShrtOrFullName)
Txt_The_email_domain_X_has_not_changed,
CurrentMaiName);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update name *****/
Str_Copy (CurrentMaiName,NewMaiName,
diff --git a/swad_place.c b/swad_place.c
index 5e18c224..381cca3c 100644
--- a/swad_place.c
+++ b/swad_place.c
@@ -666,7 +666,6 @@ void Plc_RenamePlaceFull (void)
static void Plc_RenamePlace (Cns_ShrtOrFullName_t ShrtOrFullName)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_place_X_empty;
extern const char *Txt_The_place_X_already_exists;
extern const char *Txt_The_place_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_place_X_has_not_changed;
@@ -704,11 +703,7 @@ static void Plc_RenamePlace (Cns_ShrtOrFullName_t ShrtOrFullName)
Plc_GetDataOfPlaceByCod (Plc_EditingPlc);
/***** Check if new name is empty *****/
- if (!NewPlcName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_place_X_empty,
- CurrentPlcName);
- else
+ if (NewPlcName[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -735,6 +730,8 @@ static void Plc_RenamePlace (Cns_ShrtOrFullName_t ShrtOrFullName)
Txt_The_name_of_the_place_X_has_not_changed,
CurrentPlcName);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update place name *****/
Str_Copy (CurrentPlcName,NewPlcName,
diff --git a/swad_plugin.c b/swad_plugin.c
index 87cabf2f..bb1cf61e 100644
--- a/swad_plugin.c
+++ b/swad_plugin.c
@@ -536,7 +536,6 @@ void Plg_RemovePlugin (void)
void Plg_RenamePlugin (void)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_plugin_X_empty;
extern const char *Txt_The_plugin_X_already_exists;
extern const char *Txt_The_plugin_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_plugin_X_has_not_changed;
@@ -557,11 +556,7 @@ void Plg_RenamePlugin (void)
Plg_GetDataOfPluginByCod (Plg_EditingPlg);
/***** Check if new name is empty *****/
- if (!NewPlgName[0])
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_name_of_the_plugin_X_empty,
- Plg_EditingPlg->Name);
- else
+ if (NewPlgName[0])
{
/***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/
@@ -590,6 +585,8 @@ void Plg_RenamePlugin (void)
Txt_The_name_of_the_plugin_X_has_not_changed,
Plg_EditingPlg->Name);
}
+ else
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update name *****/
Str_Copy (Plg_EditingPlg->Name,NewPlgName,
@@ -617,7 +614,6 @@ static bool Plg_CheckIfPluginNameExists (const char *Name,long PlgCod)
void Plg_ChangePlgDescription (void)
{
extern const char *Txt_The_new_description_is_X;
- extern const char *Txt_You_can_not_leave_the_description_empty;
char NewDescription[Plg_MAX_BYTES_PLUGIN_DESCRIPTION + 1];
/***** Plugin constructor *****/
@@ -648,8 +644,7 @@ void Plg_ChangePlgDescription (void)
NewDescription);
}
else
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_description_empty);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update description *****/
Str_Copy (Plg_EditingPlg->Description,NewDescription,
@@ -663,7 +658,6 @@ void Plg_ChangePlgDescription (void)
void Plg_ChangePlgLogo (void)
{
extern const char *Txt_The_new_logo_is_X;
- extern const char *Txt_You_can_not_leave_the_logo_empty;
char NewLogo[Plg_MAX_BYTES_PLUGIN_LOGO + 1];
/***** Plugin constructor *****/
@@ -694,8 +688,7 @@ void Plg_ChangePlgLogo (void)
NewLogo);
}
else
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_logo_empty);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update logo *****/
Str_Copy (Plg_EditingPlg->Logo,NewLogo,
@@ -709,7 +702,6 @@ void Plg_ChangePlgLogo (void)
void Plg_ChangePlgAppKey (void)
{
extern const char *Txt_The_new_logo_is_X; // TODO: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- extern const char *Txt_You_can_not_leave_the_logo_empty; // TODO: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
char NewAppKey[Plg_MAX_BYTES_PLUGIN_APP_KEY + 1];
/***** Plugin constructor *****/
@@ -740,8 +732,7 @@ void Plg_ChangePlgAppKey (void)
NewAppKey);
}
else
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_logo_empty); // TODO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update app key *****/
Str_Copy (Plg_EditingPlg->AppKey,NewAppKey,
@@ -755,7 +746,6 @@ void Plg_ChangePlgAppKey (void)
void Plg_ChangePlgURL (void)
{
extern const char *Txt_The_new_URL_is_X;
- extern const char *Txt_You_can_not_leave_the_URL_empty;
char NewURL[Cns_MAX_BYTES_WWW + 1];
/***** Plugin constructor *****/
@@ -786,8 +776,7 @@ void Plg_ChangePlgURL (void)
NewURL);
}
else
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_URL_empty);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update URL *****/
Str_Copy (Plg_EditingPlg->URL,NewURL,
@@ -801,7 +790,6 @@ void Plg_ChangePlgURL (void)
void Plg_ChangePlgIP (void)
{
extern const char *Txt_The_new_IP_address_is_X;
- extern const char *Txt_You_can_not_leave_the_IP_address_empty;
char NewIP[Cns_MAX_BYTES_IP + 1];
/***** Plugin constructor *****/
@@ -832,8 +820,7 @@ void Plg_ChangePlgIP (void)
NewIP);
}
else
- Ale_CreateAlert (Ale_WARNING,NULL,
- Txt_You_can_not_leave_the_IP_address_empty);
+ Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update IP *****/
Str_Copy (Plg_EditingPlg->IP,NewIP,
diff --git a/swad_record.c b/swad_record.c
index 0810f9bd..1404d9ae 100644
--- a/swad_record.c
+++ b/swad_record.c
@@ -754,7 +754,6 @@ void Rec_RemoveField (void)
void Rec_RenameField (void)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_field_X_empty;
extern const char *Txt_The_record_field_X_already_exists;
extern const char *Txt_The_record_field_X_has_been_renamed_as_Y;
extern const char *Txt_The_name_of_the_field_X_has_not_changed;
@@ -775,10 +774,7 @@ void Rec_RenameField (void)
&Gbl.Crs.Records.Field.Visibility);
/***** Check if new name is empty *****/
- if (!NewFieldName[0])
- Ale_ShowAlert (Ale_ERROR,Txt_You_can_not_leave_the_name_of_the_field_X_empty,
- Gbl.Crs.Records.Field.Name);
- else
+ if (NewFieldName[0])
{
/***** Check if the name of the olde field match the new one
(this happens when return is pressed without changes) *****/
@@ -805,6 +801,8 @@ void Rec_RenameField (void)
Ale_ShowAlert (Ale_INFO,Txt_The_name_of_the_field_X_has_not_changed,
NewFieldName);
}
+ else
+ Ale_ShowAlertYouCanNotLeaveFieldEmpty ();
/***** Show the form again *****/
Str_Copy (Gbl.Crs.Records.Field.Name,NewFieldName,
diff --git a/swad_test.c b/swad_test.c
index b091e08e..1ad0ab2c 100644
--- a/swad_test.c
+++ b/swad_test.c
@@ -1505,7 +1505,6 @@ static long Tst_GetParamTagCode (void)
void Tst_RenameTag (void)
{
- extern const char *Txt_You_can_not_leave_the_name_of_the_tag_X_empty;
extern const char *Txt_The_tag_X_has_been_renamed_as_Y;
extern const char *Txt_The_tag_X_has_not_changed;
char OldTagTxt[Tst_MAX_BYTES_TAG + 1];
@@ -1519,10 +1518,7 @@ void Tst_RenameTag (void)
Par_GetParToText ("NewTagTxt",NewTagTxt,Tst_MAX_BYTES_TAG);
/***** Check that the new tag is not empty *****/
- if (!NewTagTxt[0]) // New tag empty
- Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_leave_the_name_of_the_tag_X_empty,
- OldTagTxt);
- else // New tag not empty
+ if (NewTagTxt[0]) // New tag not empty
{
/***** Check if the old tag is equal to the new one *****/
if (!strcmp (OldTagTxt,NewTagTxt)) // The old and the new tag
@@ -1613,6 +1609,8 @@ void Tst_RenameTag (void)
OldTagTxt,NewTagTxt);
}
}
+ else // New tag empty
+ Ale_ShowAlertYouCanNotLeaveFieldEmpty ();
/***** Show again the form to configure test *****/
Tst_ShowFormConfig ();
diff --git a/swad_text.c b/swad_text.c
index 0f2e052c..ef960d41 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -55075,27 +55075,6 @@ const char *Txt_You_can_not_leave_empty_intermediate_answers =
"Você não pode deixar respostas intermediárias vazias.";
#endif
-const char *Txt_You_can_not_leave_the_description_empty =
-#if L==1 // ca
- "No puede dejar la descripción vacía."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the description empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the description empty.";
-#elif L==4 // es
- "No puede dejar la descripción vacía.";
-#elif L==5 // fr
- "You can not leave the description empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar la descripción vacía."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare vuota la descrizione.";
-#elif L==8 // pl
- "You can not leave the description empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar a descrição vazia.";
-#endif
-/*
const char *Txt_You_can_not_leave_the_field_empty =
#if L==1 // ca
"No podeu deixar el camp buit.";
@@ -55116,7 +55095,7 @@ const char *Txt_You_can_not_leave_the_field_empty =
#elif L==9 // pt
"Você não pode deixar o campo vazio.";
#endif
-*/
+
const char *Txt_You_can_not_leave_the_image_empty =
#if L==1 // ca
"No puede dejar la imagen vacía."; // Necessita traduccio
@@ -55138,630 +55117,6 @@ const char *Txt_You_can_not_leave_the_image_empty =
"Você não pode deixar a imagem vazia.";
#endif
-const char *Txt_You_can_not_leave_the_IP_address_empty =
-#if L==1 // ca
- "No puede dejar la dirección IP vacía."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the IP address empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the IP address empty.";
-#elif L==4 // es
- "No puede dejar la dirección IP vacía.";
-#elif L==5 // fr
- "You can not leave the IP address empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar la dirección IP vacía."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare vuoto l'indirizzo IP.";
-#elif L==8 // pl
- "You can not leave the IP address empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o endereço IP vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_logo_empty =
-#if L==1 // ca
- "No puede dejar el logo vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the logo empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the logo empty.";
-#elif L==4 // es
- "No puede dejar el logo vacío.";
-#elif L==5 // fr
- "You can not leave the logo empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el logo vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare vuoto il logo.";
-#elif L==8 // pl
- "You can not leave the logo empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o logotipo vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_banner_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " del banner %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the banner %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the banner %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del banner %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the banner %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del banner %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del banner %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the banner %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do banner %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_centre_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " del centro %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the centre %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the centre %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del centro %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the centre %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del centro %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del centro %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the centre %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do centro %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_classroom_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No pot deixar el nom"
- " de l'aula %s buit.";
-#elif L==2 // de
- "Sie können den Namen"
- " des Klassenzimmer %s nicht leer lassen.";
-#elif L==3 // en
- "You can not leave the name"
- " of the classroom %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del aula %s vacío.";
-#elif L==5 // fr
- "Vous ne pouvez pas laisser le nom"
- " de la salle de classe %s vide.";
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del aula %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " della aula %s vuoto.";
-#elif L==8 // pl
- "Nie możesz zostawić"
- " pustego imienia w klasie %s.";
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " da sala de clase %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_course_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " de la asignatura %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the course %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the course %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " de la asignatura %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the course %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " de la asignatura %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del corso %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the course %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " da disciplina %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_country_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " del pa%iacute;s %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the country %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the country %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del pa%iacute;s %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the country %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del pa%iacute;s %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del paese %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the country %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do país %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_degree_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " de la titulación %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the degree %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the degree %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " de la titulación %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the degree %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " de la titulación %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " della laurea %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the degree %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do grau %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_department_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " del departamento %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the department %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the department %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del departamento %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the department %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del departamento %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del dipartimento %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the department %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do departamento %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_email_domain_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre "
- "del dominio de correo %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the email domain %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the email domain %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del dominio de correo %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the email domain %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del dominio de correo %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del campo mail %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the email domain %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do domínio de email %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_field_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " del campo %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the field %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the field %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del campo %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the field %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del campo %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del campo %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the field %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do campo %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_group_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " del grupo %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the group %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the group %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del grupo %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the group %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del grupo %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del gruppo %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the group %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do grupo %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_holiday_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " de la festividad %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the holiday %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the holiday %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " de la festividad %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the holiday %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " de la festividad %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " della festività %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the holiday %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do feriado %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_institution_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " de la institución %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the institution %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the institution %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " de la institución %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the institution %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " de la institución %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " dell'istituzione %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the institution %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " da instituição %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_link_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " del enlace %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the link %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the link %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del enlace %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the link %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del enlace %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del link %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the link %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do link %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_place_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No pot deixar el nom"
- " del lloc %s buit.";
-#elif L==2 // de
- "Sie können den Namen"
- " des Standorte %s nicht leer lassen.";
-#elif L==3 // en
- "You can not leave the name"
- " of the place %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del lugar %s vacío.";
-#elif L==5 // fr
- "Vous ne pouvez pas laisser le nom"
- " du emplacement %s vide.";
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del lugar %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del luogo %s vuoto.";
-#elif L==8 // pl
- "Nie możesz zostawić nazwy"
- " miejsca %s pustego.";
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " da localização %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_plugin_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " del complemento %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the plugin %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the plugin %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del complemento %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the plugin %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del complemento %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del plugin %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the plugin %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do plugin %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_tag_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " del descriptor %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the tag %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the tag %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del descriptor %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the tag %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del descriptor %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " dell'etichetta %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the tag %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do descritor %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_type_of_degree_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " del tipo de titulación %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the type of degree %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the type of degree %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del tipo de titulación %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the type of degree %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del tipo de titulación %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del tipo di laurea %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the type of degree %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do tipo de grau %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_name_of_the_type_of_group_X_empty = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "No puede dejar el nombre"
- " del tipo de grupo %s vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the name"
- " of the type of group %s empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the name"
- " of the type of group %s empty.";
-#elif L==4 // es
- "No puede dejar el nombre"
- " del tipo de grupo %s vacío.";
-#elif L==5 // fr
- "You can not leave the name"
- " of the type of group %s empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el nombre"
- " del tipo de grupo %s vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare il nome"
- " del tipo di gruppo %s vuoto.";
-#elif L==8 // pl
- "You can not leave the name"
- " of the type of group %s empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o nome"
- " do tipo de grupo %s vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_URL_empty =
-#if L==1 // ca
- "No puede dejar el URL vacío."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the URL empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the URL empty.";
-#elif L==4 // es
- "No puede dejar el URL vacío.";
-#elif L==5 // fr
- "You can not leave the URL empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar el URL vacío."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare l'URL vuoto.";
-#elif L==8 // pl
- "You can not leave the URL empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o URL vazio.";
-#endif
-
-const char *Txt_You_can_not_leave_the_web_address_empty =
-#if L==1 // ca
- "No puede dejar la dirección web vacía."; // Necessita traduccio
-#elif L==2 // de
- "You can not leave the web address empty."; // Need Übersetzung
-#elif L==3 // en
- "You can not leave the web address empty.";
-#elif L==4 // es
- "No puede dejar la dirección web vacía.";
-#elif L==5 // fr
- "You can not leave the web address empty."; // Besoin de traduction
-#elif L==6 // gn
- "No puede dejar la dirección web vacía."; // Okoteve traducción
-#elif L==7 // it
- "Non puoi lasciare l'indirizzo web vuoto.";
-#elif L==8 // pl
- "You can not leave the web address empty."; // Potrzebujesz tlumaczenie
-#elif L==9 // pt
- "Você não pode deixar o endereço web vazio.";
-#endif
-
const char *Txt_You_can_not_paste_file_or_folder_here =
#if L==1 // ca
"No puede pegar un archivo o carpeta aquí."; // Necessita traduccio