Version19.97.4

This commit is contained in:
Antonio Cañas Vargas 2019-12-20 00:30:54 +01:00
parent 8d93f832b1
commit 6c075b4e49
22 changed files with 100 additions and 791 deletions

View File

@ -479,3 +479,25 @@ void Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission (void)
Ale_ShowAlert (Ale_WARNING,Txt_User_not_found_or_you_do_not_have_permission_); 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);
}

View File

@ -84,5 +84,7 @@ void Ale_ShowAlertAndButton2 (Act_Action_t NextAction,const char *Anchor,const c
void Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission (void); void Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission (void);
void Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission (void); void Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission (void);
void Ale_CreateAlertYouCanNotLeaveFieldEmpty (void);
void Ale_ShowAlertYouCanNotLeaveFieldEmpty (void);
#endif #endif

View File

@ -621,7 +621,6 @@ void Ban_RenameBannerFull (void)
static void Ban_RenameBanner (Cns_ShrtOrFullName_t ShrtOrFullName) 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_already_exists;
extern const char *Txt_The_banner_X_has_been_renamed_as_Y; 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; 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 *****/ /***** Check if new name is empty *****/
if (!NewBanName[0]) if (!NewBanName[0])
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_name_of_the_banner_X_empty,
CurrentBanName);
else else
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
@ -776,7 +773,6 @@ void Ban_ChangeBannerImg (void)
void Ban_ChangeBannerWWW (void) void Ban_ChangeBannerWWW (void)
{ {
extern const char *Txt_The_new_web_address_is_X; 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]; char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Banner constructor *****/ /***** Banner constructor *****/
@ -807,8 +803,7 @@ void Ban_ChangeBannerWWW (void)
NewWWW); NewWWW);
} }
else else
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_web_address_empty);
/***** Update web *****/ /***** Update web *****/
Str_Copy (Ban_EditingBan->WWW,NewWWW, Str_Copy (Ban_EditingBan->WWW,NewWWW,

View File

@ -2332,7 +2332,6 @@ void Ctr_RenameCentreFullInConfig (void)
static void Ctr_RenameCentre (struct Centre *Ctr,Cns_ShrtOrFullName_t ShrtOrFullName) 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_already_exists;
extern const char *Txt_The_centre_X_has_been_renamed_as_Y; 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; 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 *****/ /***** Check if new name is empty *****/
if (!NewCtrName[0]) if (!NewCtrName[0])
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_name_of_the_centre_X_empty,
CurrentCtrName);
else else
{ {
/***** Check if old and new names are the same /***** 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) void Ctr_ChangeCtrWWW (void)
{ {
extern const char *Txt_The_new_web_address_is_X; 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]; char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Centre constructor *****/ /***** Centre constructor *****/
@ -2567,14 +2563,12 @@ void Ctr_ChangeCtrWWW (void)
NewWWW); NewWWW);
} }
else else
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_web_address_empty);
} }
void Ctr_ChangeCtrWWWInConfig (void) void Ctr_ChangeCtrWWWInConfig (void)
{ {
extern const char *Txt_The_new_web_address_is_X; 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]; char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Get parameters from form *****/ /***** Get parameters from form *****/
@ -2594,7 +2588,7 @@ void Ctr_ChangeCtrWWWInConfig (void)
NewWWW); NewWWW);
} }
else else
Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_leave_the_web_address_empty); Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Show the form again *****/ /***** Show the form again *****/
Ctr_ShowConfiguration (); Ctr_ShowConfiguration ();

View File

@ -492,14 +492,17 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD: En OpenSWAD:
ps2pdf source.ps destination.pdf 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 CSS_FILE "swad19.97.css"
#define JS_FILE "swad19.91.1.js" #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: 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: 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: 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.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. 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) Fixed bug in database installation, reported by José Luis Amador Moreno. (249809 lines)

View File

@ -640,7 +640,6 @@ void Cla_RenameClassroomFull (void)
static void Cla_RenameClassroom (Cns_ShrtOrFullName_t ShrtOrFullName) 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_already_exists;
extern const char *Txt_The_classroom_X_has_been_renamed_as_Y; 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; 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); Cla_GetDataOfClassroomByCod (Cla_EditingCla);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewClaName[0]) if (NewClaName[0])
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_You_can_not_leave_the_name_of_the_classroom_X_empty,
CurrentClaName);
else
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_name_of_the_classroom_X_has_not_changed,
CurrentClaName); CurrentClaName);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update classroom name *****/ /***** Update classroom name *****/
Str_Copy (CurrentClaName,NewClaName, Str_Copy (CurrentClaName,NewClaName,

View File

@ -28,8 +28,8 @@
/** Uncomment one of the following installations of SWAD or create your own **/ /** Uncomment one of the following installations of SWAD or create your own **/
/*****************************************************************************/ /*****************************************************************************/
#define LOCALHOST_UBUNTU // 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 OPENSWAD_ORG // Comment this line if not applicable
//#define SWAD_UGR_ES // 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 //#define SWADBERRY_UGR_ES // Comment this line if not applicable

View File

@ -1779,7 +1779,6 @@ void Cty_RemoveCountry (void)
void Cty_RenameCountry (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_already_exists;
extern const char *Txt_The_country_X_has_been_renamed_as_Y; extern const char *Txt_The_country_X_has_been_renamed_as_Y;
extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; 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); Cty_GetDataOfCountryByCod (Cty_EditingCty,Cty_GET_EXTRA_DATA);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewCtyName[0]) 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
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_name_of_the_country_X_has_not_changed,
Cty_EditingCty->Name[Language]); Cty_EditingCty->Name[Language]);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -2594,7 +2594,6 @@ void Crs_RenameCourseFullInConfig (void)
static void Crs_RenameCourse (struct Course *Crs,Cns_ShrtOrFullName_t ShrtOrFullName) 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_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_changed_to_Y;
extern const char *Txt_The_name_of_the_course_X_has_not_changed; 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)) if (Crs_CheckIfICanEdit (Crs))
{ {
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewCrsName[0]) if (NewCrsName[0])
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_You_can_not_leave_the_name_of_the_course_X_empty,
CurrentCrsName);
else
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_name_of_the_course_X_has_not_changed,
CurrentCrsName); CurrentCrsName);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
} }
else else
Lay_NoPermissionExit (); Lay_NoPermissionExit ();

View File

@ -1910,7 +1910,6 @@ void Deg_RenameDegreeFullInConfig (void)
static void Deg_RenameDegree (struct Degree *Deg,Cns_ShrtOrFullName_t ShrtOrFullName) 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_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_changed_to_Y;
extern const char *Txt_The_name_of_the_degree_X_has_not_changed; 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); Deg_GetDataOfDegreeByCod (Deg,Deg_GET_BASIC_DATA);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewDegName[0]) if (NewDegName[0])
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_You_can_not_leave_the_name_of_the_degree_X_empty,
CurrentDegName);
else
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_name_of_the_degree_X_has_not_changed,
CurrentDegName); CurrentDegName);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2122,7 +2119,6 @@ void Deg_ChangeDegreeType (void)
void Deg_ChangeDegWWW (void) void Deg_ChangeDegWWW (void)
{ {
extern const char *Txt_The_new_web_address_is_X; 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]; char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Degree constructor *****/ /***** Degree constructor *****/
@ -2153,14 +2149,12 @@ void Deg_ChangeDegWWW (void)
NewWWW); NewWWW);
} }
else else
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_web_address_empty);
} }
void Deg_ChangeDegWWWInConfig (void) void Deg_ChangeDegWWWInConfig (void)
{ {
extern const char *Txt_The_new_web_address_is_X; 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]; char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Get parameters from form *****/ /***** Get parameters from form *****/
@ -2180,7 +2174,7 @@ void Deg_ChangeDegWWWInConfig (void)
NewWWW); NewWWW);
} }
else else
Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_leave_the_web_address_empty); Ale_ShowAlertYouCanNotLeaveFieldEmpty ();
/***** Show the form again *****/ /***** Show the form again *****/
Deg_ShowConfiguration (); Deg_ShowConfiguration ();

View File

@ -923,7 +923,6 @@ static void DT_RemoveDegreeTypeCompletely (long DegTypCod)
void DT_RenameDegreeType (void) 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_already_exists;
extern const char *Txt_The_type_of_degree_X_has_been_renamed_as_Y; 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; 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."); Lay_ShowErrorAndExit ("Code of type of degree not found.");
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewNameDegTyp[0]) 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
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_name_of_the_type_of_degree_X_has_not_changed,
NewNameDegTyp); NewNameDegTyp);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Set degree type name *****/ /***** Set degree type name *****/
Str_Copy (DT_EditingDegTyp->DegTypName,NewNameDegTyp, Str_Copy (DT_EditingDegTyp->DegTypName,NewNameDegTyp,

View File

@ -715,7 +715,6 @@ void Dpt_RenameDepartFull (void)
static void Dpt_RenameDepartment (Cns_ShrtOrFullName_t ShrtOrFullName) 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_already_exists;
extern const char *Txt_The_department_X_has_been_renamed_as_Y; 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; 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); Dpt_GetDataOfDepartmentByCod (Dpt_EditingDpt);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewDptName[0]) if (NewDptName[0])
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_You_can_not_leave_the_name_of_the_department_X_empty,
CurrentDptName);
else
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_name_of_the_department_X_has_not_changed,
CurrentDptName); CurrentDptName);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update name *****/ /***** Update name *****/
Str_Copy (CurrentDptName,NewDptName, Str_Copy (CurrentDptName,NewDptName,
@ -822,7 +819,6 @@ static void Dpt_UpdateDegNameDB (long DptCod,const char *FieldName,const char *N
void Dpt_ChangeDptWWW (void) void Dpt_ChangeDptWWW (void)
{ {
extern const char *Txt_The_new_web_address_is_X; 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]; char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Department constructor *****/ /***** Department constructor *****/
@ -852,8 +848,7 @@ void Dpt_ChangeDptWWW (void)
NewWWW); NewWWW);
} }
else else
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_web_address_empty);
/***** Update web *****/ /***** Update web *****/
Str_Copy (Dpt_EditingDpt->WWW,NewWWW, Str_Copy (Dpt_EditingDpt->WWW,NewWWW,

View File

@ -4644,7 +4644,7 @@ unsigned Grp_ConvertToNumMaxStdsGrp (const char *StrMaxStudents)
void Grp_RenameGroupType (void) 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_already_exists;
extern const char *Txt_The_type_of_group_X_has_been_renamed_as_Y; 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; 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); Grp_GetDataOfGroupTypeByCod (&Gbl.Crs.Grps.GrpTyp);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewNameGrpTyp[0]) 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
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (this happens when return is pressed without changes) *****/
@ -4709,6 +4702,12 @@ void Grp_RenameGroupType (void)
NewNameGrpTyp); NewNameGrpTyp);
} }
} }
else
{
AlertType = Ale_WARNING;
Str_Copy (AlertTxt,Txt_You_can_not_leave_the_field_empty,
sizeof (AlertTxt) - 1);
}
/***** Show the form again *****/ /***** Show the form again *****/
Str_Copy (Gbl.Crs.Grps.GrpTyp.GrpTypName,NewNameGrpTyp, Str_Copy (Gbl.Crs.Grps.GrpTyp.GrpTypName,NewNameGrpTyp,
@ -4723,7 +4722,7 @@ void Grp_RenameGroupType (void)
void Grp_RenameGroup (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_already_exists;
extern const char *Txt_The_group_X_has_been_renamed_as_Y; 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; extern const char *Txt_The_name_of_the_group_X_has_not_changed;
@ -4748,9 +4747,8 @@ void Grp_RenameGroup (void)
if (!NewNameGrp[0]) if (!NewNameGrp[0])
{ {
AlertType = Ale_WARNING; AlertType = Ale_WARNING;
snprintf (AlertTxt,sizeof (AlertTxt), Str_Copy (AlertTxt,Txt_You_can_not_leave_the_field_empty,
Txt_You_can_not_leave_the_name_of_the_group_X_empty, sizeof (AlertTxt) - 1);
GrpDat.GrpName);
} }
else else
{ {

View File

@ -875,7 +875,6 @@ static void Hld_ChangeDate (Hld_StartOrEndDate_t StartOrEndDate)
void Hld_RenameHoliday (void) 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_changed_to_Y;
extern const char *Txt_The_name_of_the_holiday_X_has_not_changed; extern const char *Txt_The_name_of_the_holiday_X_has_not_changed;
char NewHldName[Hld_MAX_BYTES_HOLIDAY_NAME + 1]; char NewHldName[Hld_MAX_BYTES_HOLIDAY_NAME + 1];
@ -895,11 +894,7 @@ void Hld_RenameHoliday (void)
Hld_GetDataOfHolidayByCod (Hld_EditingHld); Hld_GetDataOfHolidayByCod (Hld_EditingHld);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewHldName[0]) if (NewHldName[0])
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_You_can_not_leave_the_name_of_the_holiday_X_empty,
Hld_EditingHld->Name);
else
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_name_of_the_holiday_X_has_not_changed,
Hld_EditingHld->Name); Hld_EditingHld->Name);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -1786,7 +1786,6 @@ void Ins_RenameInsFullInConfig (void)
static void Ins_RenameInstitution (struct Instit *Ins,Cns_ShrtOrFullName_t ShrtOrFullName) 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_already_exists;
extern const char *Txt_The_institution_X_has_been_renamed_as_Y; 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; 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); Ins_GetDataOfInstitutionByCod (Ins,Ins_GET_BASIC_DATA);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewInsName[0]) if (NewInsName[0])
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_You_can_not_leave_the_name_of_the_institution_X_empty,
CurrentInsName);
else
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_name_of_the_institution_X_has_not_changed,
CurrentInsName); CurrentInsName);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1968,7 +1965,6 @@ static void Ins_UpdateInsCtyDB (long InsCod,long CtyCod)
void Ins_ChangeInsWWW (void) void Ins_ChangeInsWWW (void)
{ {
extern const char *Txt_The_new_web_address_is_X; 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]; char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Institution constructor *****/ /***** Institution constructor *****/
@ -1999,14 +1995,12 @@ void Ins_ChangeInsWWW (void)
NewWWW); NewWWW);
} }
else else
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_web_address_empty);
} }
void Ins_ChangeInsWWWInConfig (void) void Ins_ChangeInsWWWInConfig (void)
{ {
extern const char *Txt_The_new_web_address_is_X; 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]; char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Get parameters from form *****/ /***** Get parameters from form *****/
@ -2026,7 +2020,7 @@ void Ins_ChangeInsWWWInConfig (void)
NewWWW); NewWWW);
} }
else else
Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_leave_the_web_address_empty); Ale_ShowAlertYouCanNotLeaveFieldEmpty ();
/***** Show the form again *****/ /***** Show the form again *****/
Ins_ShowConfiguration (); Ins_ShowConfiguration ();

View File

@ -550,7 +550,6 @@ void Lnk_RenameLinkFull (void)
static void Lnk_RenameLink (Cns_ShrtOrFullName_t ShrtOrFullName) 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_already_exists;
extern const char *Txt_The_link_X_has_been_renamed_as_Y; 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; 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); Lnk_GetDataOfLinkByCod (Lnk_EditingLnk);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewLnkName[0]) if (NewLnkName[0])
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_You_can_not_leave_the_name_of_the_link_X_empty,
CurrentLnkName);
else
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_name_of_the_link_X_has_not_changed,
CurrentLnkName); CurrentLnkName);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update name *****/ /***** Update name *****/
Str_Copy (CurrentLnkName,NewLnkName, Str_Copy (CurrentLnkName,NewLnkName,
@ -658,7 +655,6 @@ static void Lnk_UpdateLnkNameDB (long LnkCod,const char *FieldName,const char *N
void Lnk_ChangeLinkWWW (void) void Lnk_ChangeLinkWWW (void)
{ {
extern const char *Txt_The_new_web_address_is_X; 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]; char NewWWW[Cns_MAX_BYTES_WWW + 1];
/***** Link constructor *****/ /***** Link constructor *****/
@ -689,8 +685,7 @@ void Lnk_ChangeLinkWWW (void)
NewWWW); NewWWW);
} }
else else
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_web_address_empty);
/***** Update web *****/ /***** Update web *****/
Str_Copy (Lnk_EditingLnk->WWW,NewWWW, Str_Copy (Lnk_EditingLnk->WWW,NewWWW,

View File

@ -612,7 +612,6 @@ void Mai_RenameMailDomainFull (void)
static void Mai_RenameMailDomain (Cns_ShrtOrFullName_t ShrtOrFullName) 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_already_exists;
extern const char *Txt_The_email_domain_X_has_been_renamed_as_Y; extern const char *Txt_The_email_domain_X_has_been_renamed_as_Y;
extern const char *Txt_The_email_domain_X_has_not_changed; 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); Mai_GetDataOfMailDomainByCod (Mai_EditingMai);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewMaiName[0]) 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
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_email_domain_X_has_not_changed,
CurrentMaiName); CurrentMaiName);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update name *****/ /***** Update name *****/
Str_Copy (CurrentMaiName,NewMaiName, Str_Copy (CurrentMaiName,NewMaiName,

View File

@ -666,7 +666,6 @@ void Plc_RenamePlaceFull (void)
static void Plc_RenamePlace (Cns_ShrtOrFullName_t ShrtOrFullName) 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_already_exists;
extern const char *Txt_The_place_X_has_been_renamed_as_Y; 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; 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); Plc_GetDataOfPlaceByCod (Plc_EditingPlc);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewPlcName[0]) if (NewPlcName[0])
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_You_can_not_leave_the_name_of_the_place_X_empty,
CurrentPlcName);
else
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_name_of_the_place_X_has_not_changed,
CurrentPlcName); CurrentPlcName);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update place name *****/ /***** Update place name *****/
Str_Copy (CurrentPlcName,NewPlcName, Str_Copy (CurrentPlcName,NewPlcName,

View File

@ -536,7 +536,6 @@ void Plg_RemovePlugin (void)
void Plg_RenamePlugin (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_already_exists;
extern const char *Txt_The_plugin_X_has_been_renamed_as_Y; 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; 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); Plg_GetDataOfPluginByCod (Plg_EditingPlg);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewPlgName[0]) if (NewPlgName[0])
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_You_can_not_leave_the_name_of_the_plugin_X_empty,
Plg_EditingPlg->Name);
else
{ {
/***** Check if old and new names are the same /***** Check if old and new names are the same
(this happens when return is pressed without changes) *****/ (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, Txt_The_name_of_the_plugin_X_has_not_changed,
Plg_EditingPlg->Name); Plg_EditingPlg->Name);
} }
else
Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
/***** Update name *****/ /***** Update name *****/
Str_Copy (Plg_EditingPlg->Name,NewPlgName, Str_Copy (Plg_EditingPlg->Name,NewPlgName,
@ -617,7 +614,6 @@ static bool Plg_CheckIfPluginNameExists (const char *Name,long PlgCod)
void Plg_ChangePlgDescription (void) void Plg_ChangePlgDescription (void)
{ {
extern const char *Txt_The_new_description_is_X; 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]; char NewDescription[Plg_MAX_BYTES_PLUGIN_DESCRIPTION + 1];
/***** Plugin constructor *****/ /***** Plugin constructor *****/
@ -648,8 +644,7 @@ void Plg_ChangePlgDescription (void)
NewDescription); NewDescription);
} }
else else
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_description_empty);
/***** Update description *****/ /***** Update description *****/
Str_Copy (Plg_EditingPlg->Description,NewDescription, Str_Copy (Plg_EditingPlg->Description,NewDescription,
@ -663,7 +658,6 @@ void Plg_ChangePlgDescription (void)
void Plg_ChangePlgLogo (void) void Plg_ChangePlgLogo (void)
{ {
extern const char *Txt_The_new_logo_is_X; 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]; char NewLogo[Plg_MAX_BYTES_PLUGIN_LOGO + 1];
/***** Plugin constructor *****/ /***** Plugin constructor *****/
@ -694,8 +688,7 @@ void Plg_ChangePlgLogo (void)
NewLogo); NewLogo);
} }
else else
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_logo_empty);
/***** Update logo *****/ /***** Update logo *****/
Str_Copy (Plg_EditingPlg->Logo,NewLogo, Str_Copy (Plg_EditingPlg->Logo,NewLogo,
@ -709,7 +702,6 @@ void Plg_ChangePlgLogo (void)
void Plg_ChangePlgAppKey (void) void Plg_ChangePlgAppKey (void)
{ {
extern const char *Txt_The_new_logo_is_X; // TODO: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 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]; char NewAppKey[Plg_MAX_BYTES_PLUGIN_APP_KEY + 1];
/***** Plugin constructor *****/ /***** Plugin constructor *****/
@ -740,8 +732,7 @@ void Plg_ChangePlgAppKey (void)
NewAppKey); NewAppKey);
} }
else else
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_logo_empty); // TODO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/***** Update app key *****/ /***** Update app key *****/
Str_Copy (Plg_EditingPlg->AppKey,NewAppKey, Str_Copy (Plg_EditingPlg->AppKey,NewAppKey,
@ -755,7 +746,6 @@ void Plg_ChangePlgAppKey (void)
void Plg_ChangePlgURL (void) void Plg_ChangePlgURL (void)
{ {
extern const char *Txt_The_new_URL_is_X; 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]; char NewURL[Cns_MAX_BYTES_WWW + 1];
/***** Plugin constructor *****/ /***** Plugin constructor *****/
@ -786,8 +776,7 @@ void Plg_ChangePlgURL (void)
NewURL); NewURL);
} }
else else
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_URL_empty);
/***** Update URL *****/ /***** Update URL *****/
Str_Copy (Plg_EditingPlg->URL,NewURL, Str_Copy (Plg_EditingPlg->URL,NewURL,
@ -801,7 +790,6 @@ void Plg_ChangePlgURL (void)
void Plg_ChangePlgIP (void) void Plg_ChangePlgIP (void)
{ {
extern const char *Txt_The_new_IP_address_is_X; 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]; char NewIP[Cns_MAX_BYTES_IP + 1];
/***** Plugin constructor *****/ /***** Plugin constructor *****/
@ -832,8 +820,7 @@ void Plg_ChangePlgIP (void)
NewIP); NewIP);
} }
else else
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlertYouCanNotLeaveFieldEmpty ();
Txt_You_can_not_leave_the_IP_address_empty);
/***** Update IP *****/ /***** Update IP *****/
Str_Copy (Plg_EditingPlg->IP,NewIP, Str_Copy (Plg_EditingPlg->IP,NewIP,

View File

@ -754,7 +754,6 @@ void Rec_RemoveField (void)
void Rec_RenameField (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_already_exists;
extern const char *Txt_The_record_field_X_has_been_renamed_as_Y; 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; 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); &Gbl.Crs.Records.Field.Visibility);
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewFieldName[0]) 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
{ {
/***** Check if the name of the olde field match the new one /***** Check if the name of the olde field match the new one
(this happens when return is pressed without changes) *****/ (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, Ale_ShowAlert (Ale_INFO,Txt_The_name_of_the_field_X_has_not_changed,
NewFieldName); NewFieldName);
} }
else
Ale_ShowAlertYouCanNotLeaveFieldEmpty ();
/***** Show the form again *****/ /***** Show the form again *****/
Str_Copy (Gbl.Crs.Records.Field.Name,NewFieldName, Str_Copy (Gbl.Crs.Records.Field.Name,NewFieldName,

View File

@ -1505,7 +1505,6 @@ static long Tst_GetParamTagCode (void)
void Tst_RenameTag (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_been_renamed_as_Y;
extern const char *Txt_The_tag_X_has_not_changed; extern const char *Txt_The_tag_X_has_not_changed;
char OldTagTxt[Tst_MAX_BYTES_TAG + 1]; char OldTagTxt[Tst_MAX_BYTES_TAG + 1];
@ -1519,10 +1518,7 @@ void Tst_RenameTag (void)
Par_GetParToText ("NewTagTxt",NewTagTxt,Tst_MAX_BYTES_TAG); Par_GetParToText ("NewTagTxt",NewTagTxt,Tst_MAX_BYTES_TAG);
/***** Check that the new tag is not empty *****/ /***** Check that the new tag is not empty *****/
if (!NewTagTxt[0]) // New tag empty if (NewTagTxt[0]) // New tag not empty
Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_leave_the_name_of_the_tag_X_empty,
OldTagTxt);
else // New tag not empty
{ {
/***** Check if the old tag is equal to the new one *****/ /***** Check if the old tag is equal to the new one *****/
if (!strcmp (OldTagTxt,NewTagTxt)) // The old and the new tag if (!strcmp (OldTagTxt,NewTagTxt)) // The old and the new tag
@ -1613,6 +1609,8 @@ void Tst_RenameTag (void)
OldTagTxt,NewTagTxt); OldTagTxt,NewTagTxt);
} }
} }
else // New tag empty
Ale_ShowAlertYouCanNotLeaveFieldEmpty ();
/***** Show again the form to configure test *****/ /***** Show again the form to configure test *****/
Tst_ShowFormConfig (); Tst_ShowFormConfig ();

View File

@ -55075,27 +55075,6 @@ const char *Txt_You_can_not_leave_empty_intermediate_answers =
"Você não pode deixar respostas intermediárias vazias."; "Você não pode deixar respostas intermediárias vazias.";
#endif #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 = const char *Txt_You_can_not_leave_the_field_empty =
#if L==1 // ca #if L==1 // ca
"No podeu deixar el camp buit."; "No podeu deixar el camp buit.";
@ -55116,7 +55095,7 @@ const char *Txt_You_can_not_leave_the_field_empty =
#elif L==9 // pt #elif L==9 // pt
"Você não pode deixar o campo vazio."; "Você não pode deixar o campo vazio.";
#endif #endif
*/
const char *Txt_You_can_not_leave_the_image_empty = const char *Txt_You_can_not_leave_the_image_empty =
#if L==1 // ca #if L==1 // ca
"No puede dejar la imagen vacía."; // Necessita traduccio "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."; "Você não pode deixar a imagem vazia.";
#endif #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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the banner <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the banner <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del banner <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the banner <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del banner <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del banner <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the banner <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do banner <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the centre <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the centre <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del centro <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the centre <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del centro <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del centro <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the centre <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do centro <strong>%s</strong> 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 <strong>%s</strong> buit.";
#elif L==2 // de
"Sie k&ouml;nnen den Namen"
" des Klassenzimmer <strong>%s</strong> nicht leer lassen.";
#elif L==3 // en
"You can not leave the name"
" of the classroom <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del aula <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"Vous ne pouvez pas laisser le nom"
" de la salle de classe <strong>%s</strong> vide.";
#elif L==6 // gn
"No puede dejar el nombre"
" del aula <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" della aula <strong>%s</strong> vuoto.";
#elif L==8 // pl
"Nie mo&zdot;esz zostawi&cacute;"
" pustego imienia w klasie <strong>%s</strong>.";
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" da sala de clase <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the course <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the course <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" de la asignatura <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the course <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" de la asignatura <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del corso <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the course <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" da disciplina <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the country <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the country <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del pa%iacute;s <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the country <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del pa%iacute;s <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del paese <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the country <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do pa&iacute;s <strong>%s</strong> 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&oacute;n <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the degree <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the degree <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" de la titulaci&oacute;n <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the degree <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" de la titulaci&oacute;n <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" della laurea <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the degree <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do grau <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the department <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the department <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del departamento <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the department <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del departamento <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del dipartimento <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the department <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do departamento <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the email domain <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the email domain <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del dominio de correo <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the email domain <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del dominio de correo <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del campo mail <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the email domain <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do dom&iacute;nio de email <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the field <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the field <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del campo <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the field <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del campo <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del campo <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the field <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do campo <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the group <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the group <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del grupo <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the group <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del grupo <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del gruppo <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the group <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do grupo <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the holiday <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the holiday <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" de la festividad <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the holiday <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" de la festividad <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" della festivit&agrave; <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the holiday <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do feriado <strong>%s</strong> 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&oacute;n <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the institution <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the institution <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" de la instituci&oacute;n <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the institution <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" de la instituci&oacute;n <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" dell'istituzione <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the institution <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" da institui&ccedil;&atilde;o <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the link <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the link <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del enlace <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the link <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del enlace <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del link <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the link <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do link <strong>%s</strong> 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 <strong>%s</strong> buit.";
#elif L==2 // de
"Sie k&ouml;nnen den Namen"
" des Standorte <strong>%s</strong> nicht leer lassen.";
#elif L==3 // en
"You can not leave the name"
" of the place <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del lugar <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"Vous ne pouvez pas laisser le nom"
" du emplacement <strong>%s</strong> vide.";
#elif L==6 // gn
"No puede dejar el nombre"
" del lugar <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del luogo <strong>%s</strong> vuoto.";
#elif L==8 // pl
"Nie mo&zdot;esz zostawi&cacute; nazwy"
" miejsca <strong>%s</strong> pustego.";
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" da localiza&ccedil;&atilde;o <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the plugin <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the plugin <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del complemento <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the plugin <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del complemento <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del plugin <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the plugin <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do plugin <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the tag <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the tag <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del descriptor <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the tag <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del descriptor <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" dell'etichetta <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the tag <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do descritor <strong>%s</strong> 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&oacute;n <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the type of degree <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the type of degree <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del tipo de titulaci&oacute;n <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the type of degree <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del tipo de titulaci&oacute;n <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del tipo di laurea <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the type of degree <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do tipo de grau <strong>%s</strong> 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 <strong>%s</strong> vac&iacute;o."; // Necessita traduccio
#elif L==2 // de
"You can not leave the name"
" of the type of group <strong>%s</strong> empty."; // Need Übersetzung
#elif L==3 // en
"You can not leave the name"
" of the type of group <strong>%s</strong> empty.";
#elif L==4 // es
"No puede dejar el nombre"
" del tipo de grupo <strong>%s</strong> vac&iacute;o.";
#elif L==5 // fr
"You can not leave the name"
" of the type of group <strong>%s</strong> empty."; // Besoin de traduction
#elif L==6 // gn
"No puede dejar el nombre"
" del tipo de grupo <strong>%s</strong> vac&iacute;o."; // Okoteve traducción
#elif L==7 // it
"Non puoi lasciare il nome"
" del tipo di gruppo <strong>%s</strong> vuoto.";
#elif L==8 // pl
"You can not leave the name"
" of the type of group <strong>%s</strong> empty."; // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Voc&ecirc; n&atilde;o pode deixar o nome"
" do tipo de grupo <strong>%s</strong> vazio.";
#endif
const char *Txt_You_can_not_leave_the_URL_empty =
#if L==1 // ca
"No puede dejar el URL vac&iacute;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&iacute;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&iacute;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&ecirc; n&atilde;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&oacute;n web vac&iacute;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&oacute;n web vac&iacute;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&oacute;n web vac&iacute;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&ecirc; n&atilde;o pode deixar o endere&ccedil;o web vazio.";
#endif
const char *Txt_You_can_not_paste_file_or_folder_here = const char *Txt_You_can_not_paste_file_or_folder_here =
#if L==1 // ca #if L==1 // ca
"No puede pegar un archivo o carpeta aqu&iacute;."; // Necessita traduccio "No puede pegar un archivo o carpeta aqu&iacute;."; // Necessita traduccio