mirror of https://github.com/acanas/swad-core.git
Version 17.7
This commit is contained in:
parent
391ce45801
commit
efe2ec546b
|
@ -252,13 +252,14 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 17.6 (2017-09-22)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 17.7 (2017-09-23)"
|
||||
#define CSS_FILE "swad17.0.css"
|
||||
#define JS_FILE "swad16.206.3.js"
|
||||
|
||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
||||
/*
|
||||
Version 17.7: Sep 23, 2017 Remove user from project. (230798 lines)
|
||||
Version 17.6: Sep 22, 2017 Actions to remove user from project. (230559 lines)
|
||||
6 changes necessary in database:
|
||||
UPDATE actions SET Txt='Solicitar ID añadir evaluador a proyecto' WHERE ActCod='1686' AND Language='es';
|
||||
|
|
200
swad_project.c
200
swad_project.c
|
@ -50,19 +50,6 @@ extern struct Globals Gbl;
|
|||
/*****************************************************************************/
|
||||
/************************* Public constants and types ************************/
|
||||
/*****************************************************************************/
|
||||
// Related with user's roles in a project
|
||||
/*
|
||||
Don't change these numbers! They are used in database
|
||||
*/
|
||||
|
||||
#define Prj_NUM_ROLES_IN_PROJECT 4
|
||||
typedef enum
|
||||
{
|
||||
Prj_ROLE_UNK = 0, // Unknown
|
||||
Prj_ROLE_STD = 1, // Student
|
||||
Prj_ROLE_TUT = 2, // Tutor
|
||||
Prj_ROLE_EVA = 3, // Evaluator
|
||||
} Prj_RoleInProject_t;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
|
@ -99,6 +86,7 @@ static void Prj_WriteUsrs (long PrjCod,Prj_ProjectView_t ProjectView,
|
|||
static void Prj_ReqAnotherUsrID (Prj_RoleInProject_t RoleInProject);
|
||||
static void Prj_AddUsrToProject (Prj_RoleInProject_t RoleInProject);
|
||||
static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject);
|
||||
static void Prj_RemUsrFromPrj (Prj_RoleInProject_t RoleInProject);
|
||||
static bool Prj_CheckIfICanRemUsrFromPrj (void);
|
||||
|
||||
static void Prj_GetParamPrjOrder (void);
|
||||
|
@ -367,9 +355,8 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie
|
|||
extern const char *Txt_Required_knowledge;
|
||||
extern const char *Txt_Required_materials;
|
||||
extern const char *Txt_Preassigned_QUESTION;
|
||||
extern const char *Txt_Tutors;
|
||||
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
extern const char *Txt_Evaluators;
|
||||
extern const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
Prj_RoleInProject_t RoleInProject;
|
||||
static unsigned UniqueId = 0;
|
||||
|
||||
/***** Get data of this project *****/
|
||||
|
@ -476,17 +463,12 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie
|
|||
(Prj->Preassigned == Prj_PREASSIGNED) ? Txt_Yes :
|
||||
Txt_No);
|
||||
|
||||
/* Project tutors */
|
||||
Prj_ShowOneProjectUsrsRow (Prj,ProjectView,
|
||||
Txt_Tutors,Prj_ROLE_TUT);
|
||||
|
||||
/* Project students */
|
||||
Prj_ShowOneProjectUsrsRow (Prj,ProjectView,
|
||||
Txt_ROLES_PLURAL_Abc[Rol_STD][Usr_SEX_UNKNOWN],Prj_ROLE_STD);
|
||||
|
||||
/* Project evaluators */
|
||||
Prj_ShowOneProjectUsrsRow (Prj,ProjectView,
|
||||
Txt_Evaluators,Prj_ROLE_EVA);
|
||||
/* Project members */
|
||||
for (RoleInProject = Prj_ROLE_STD;
|
||||
RoleInProject <= Prj_ROLE_EVA;
|
||||
RoleInProject++)
|
||||
Prj_ShowOneProjectUsrsRow (Prj,ProjectView,
|
||||
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInProject],RoleInProject);
|
||||
|
||||
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||
}
|
||||
|
@ -609,7 +591,8 @@ static void Prj_WriteUsrs (long PrjCod,Prj_ProjectView_t ProjectView,
|
|||
extern const char *Txt_Remove;
|
||||
extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
extern const char *Txt_Add_user;
|
||||
extern const char *Txt_Add_USER;
|
||||
extern const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
char Query[2048];
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
|
@ -730,9 +713,10 @@ static void Prj_WriteUsrs (long PrjCod,Prj_ProjectView_t ProjectView,
|
|||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<td colspan=\"3\" class=\"LEFT_MIDDLE\">");
|
||||
Gbl.Prjs.PrjCodToEdit = PrjCod; // Used to pass project code as a parameter
|
||||
sprintf (Gbl.Title,Txt_Add_USER,Txt_PROJECT_ROLES_SINGUL_abc[RoleInProject]);
|
||||
Lay_PutContextualLink (ActionReqAddUsr[RoleInProject],NULL,Prj_PutParams,
|
||||
"plus64x64.png",
|
||||
Txt_Add_user,Txt_Add_user,
|
||||
Gbl.Title,Gbl.Title,
|
||||
NULL);
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
|
@ -767,7 +751,8 @@ void Prj_ReqAddEva (void)
|
|||
static void Prj_ReqAnotherUsrID (Prj_RoleInProject_t RoleInProject)
|
||||
{
|
||||
extern const char *Hlp_ASSESSMENT_Projects_add_user;
|
||||
extern const char *Txt_Add_user;
|
||||
extern const char *Txt_Add_USER;
|
||||
extern const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
static Act_Action_t ActionAddUsr[Prj_NUM_ROLES_IN_PROJECT] =
|
||||
{
|
||||
ActUnk, // Prj_ROLE_UNK, Unknown
|
||||
|
@ -781,7 +766,8 @@ static void Prj_ReqAnotherUsrID (Prj_RoleInProject_t RoleInProject)
|
|||
Lay_ShowErrorAndExit ("Code of project is missing.");
|
||||
|
||||
/***** Start box *****/
|
||||
Box_StartBox (NULL,Txt_Add_user,NULL,
|
||||
sprintf (Gbl.Title,Txt_Add_USER,Txt_PROJECT_ROLES_SINGUL_abc[RoleInProject]);
|
||||
Box_StartBox (NULL,Gbl.Title,NULL,
|
||||
Hlp_ASSESSMENT_Projects_add_user,Box_NOT_CLOSABLE);
|
||||
|
||||
/***** Write form to request another user's ID *****/
|
||||
|
@ -815,7 +801,8 @@ void Prj_AddEva (void)
|
|||
|
||||
static void Prj_AddUsrToProject (Prj_RoleInProject_t RoleInProject)
|
||||
{
|
||||
extern const char *Txt_THE_USER_X_has_been_enroled_in_the_project;
|
||||
extern const char *Txt_THE_USER_X_has_been_enroled_as_a_Y_in_the_project;
|
||||
extern const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
extern const char *Txt_THE_USER_X_already_exists_in_Y_but_is_not_yet_enroled_in_the_course_Z;
|
||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
||||
long PrjCod;
|
||||
|
@ -852,8 +839,9 @@ static void Prj_AddUsrToProject (Prj_RoleInProject_t RoleInProject)
|
|||
PrjCod,(unsigned) RoleInProject,Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||
DB_QueryREPLACE (Query,"can not add user to project");
|
||||
|
||||
sprintf (Gbl.Alert.Txt,Txt_THE_USER_X_has_been_enroled_in_the_project,
|
||||
Gbl.Usrs.Other.UsrDat.FullName);
|
||||
sprintf (Gbl.Alert.Txt,Txt_THE_USER_X_has_been_enroled_as_a_Y_in_the_project,
|
||||
Gbl.Usrs.Other.UsrDat.FullName,
|
||||
Txt_PROJECT_ROLES_SINGUL_abc[RoleInProject]);
|
||||
Ale_ShowAlert (Ale_SUCCESS,Gbl.Alert.Txt);
|
||||
}
|
||||
else // User does not belong to the current course
|
||||
|
@ -895,8 +883,9 @@ void Prj_ReqRemEva (void)
|
|||
|
||||
static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
|
||||
{
|
||||
extern const char *Txt_Do_you_really_want_to_be_removed_from_the_project_X;
|
||||
extern const char *Txt_Do_you_really_want_to_remove_the_following_user_from_the_project_X;
|
||||
extern const char *Txt_Do_you_really_want_to_be_removed_as_a_X_from_the_project_Y;
|
||||
extern const char *Txt_Do_you_really_want_to_remove_the_following_user_as_a_X_from_the_project_Y;
|
||||
extern const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
extern const char *Txt_Remove_me_from_this_project;
|
||||
extern const char *Txt_Remove_user_from_this_project;
|
||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
||||
|
@ -907,8 +896,21 @@ static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
|
|||
ActRemTutPrj, // Prj_ROLE_TUT, Tutor
|
||||
ActRemEvaPrj, // Prj_ROLE_EVA, Evaluator
|
||||
};
|
||||
struct Project Prj;
|
||||
bool ItsMe;
|
||||
|
||||
/***** Allocate memory for the project *****/
|
||||
Prj_AllocMemProject (&Prj);
|
||||
|
||||
/***** Get parameters *****/
|
||||
Prj_GetParamPrjOrder ();
|
||||
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
||||
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
|
||||
Lay_ShowErrorAndExit ("Code of project is missing.");
|
||||
|
||||
/***** Get data of the project from database *****/
|
||||
Prj_GetDataOfProjectByCod (&Prj);
|
||||
|
||||
/***** Get user to be removed *****/
|
||||
if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ())
|
||||
{
|
||||
|
@ -919,9 +921,10 @@ static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
|
|||
/***** Show question and button to remove user as administrator *****/
|
||||
/* Start alert */
|
||||
sprintf (Gbl.Alert.Txt,
|
||||
ItsMe ? Txt_Do_you_really_want_to_be_removed_from_the_project_X :
|
||||
Txt_Do_you_really_want_to_remove_the_following_user_from_the_project_X,
|
||||
Gbl.CurrentCrs.Crs.FullName);
|
||||
ItsMe ? Txt_Do_you_really_want_to_be_removed_as_a_X_from_the_project_Y :
|
||||
Txt_Do_you_really_want_to_remove_the_following_user_as_a_X_from_the_project_Y,
|
||||
Txt_PROJECT_ROLES_SINGUL_abc[RoleInProject],
|
||||
Prj.Title);
|
||||
Ale_ShowAlertAndButton1 (Ale_QUESTION,Gbl.Alert.Txt);
|
||||
|
||||
/* Show user's record */
|
||||
|
@ -929,7 +932,8 @@ static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
|
|||
|
||||
/* Show form to request confirmation */
|
||||
Act_FormStart (ActionRemUsr[RoleInProject]);
|
||||
Usr_PutParamUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
|
||||
Gbl.Prjs.PrjCodToEdit = Prj.PrjCod;
|
||||
Prj_PutParams ();
|
||||
Btn_PutRemoveButton (ItsMe ? Txt_Remove_me_from_this_project :
|
||||
Txt_Remove_user_from_this_project);
|
||||
Act_FormEnd ();
|
||||
|
@ -942,6 +946,84 @@ static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
|
|||
}
|
||||
else
|
||||
Ale_ShowAlert (Ale_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
|
||||
|
||||
/***** Free memory of the project *****/
|
||||
Prj_FreeMemProject (&Prj);
|
||||
|
||||
/***** Put form to edit project again *****/
|
||||
Prj_RequestCreatOrEditPrj (Prj.PrjCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************ Remove user from project ***************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Prj_RemStd (void)
|
||||
{
|
||||
Prj_RemUsrFromPrj (Prj_ROLE_STD);
|
||||
}
|
||||
|
||||
void Prj_RemTut (void)
|
||||
{
|
||||
Prj_RemUsrFromPrj (Prj_ROLE_TUT);
|
||||
}
|
||||
|
||||
void Prj_RemEva (void)
|
||||
{
|
||||
Prj_RemUsrFromPrj (Prj_ROLE_EVA);
|
||||
}
|
||||
|
||||
static void Prj_RemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
|
||||
{
|
||||
extern const char *Txt_THE_USER_X_has_been_removed_as_a_Y_from_the_project_Z;
|
||||
extern const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
||||
char Query[256];
|
||||
struct Project Prj;
|
||||
|
||||
/***** Allocate memory for the project *****/
|
||||
Prj_AllocMemProject (&Prj);
|
||||
|
||||
/***** Get parameters *****/
|
||||
Prj_GetParamPrjOrder ();
|
||||
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
||||
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
|
||||
Lay_ShowErrorAndExit ("Code of project is missing.");
|
||||
|
||||
/***** Get data of the project from database *****/
|
||||
Prj_GetDataOfProjectByCod (&Prj);
|
||||
|
||||
/***** Get user to be removed *****/
|
||||
if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ())
|
||||
{
|
||||
if (Prj_CheckIfICanRemUsrFromPrj ())
|
||||
{
|
||||
/***** Remove user from the table of project-users *****/
|
||||
sprintf (Query,"DELETE FROM prj_usr"
|
||||
" WHERE PrjCod=%ld AND RoleInProject=%u AND UsrCod=%ld",
|
||||
Prj.PrjCod,
|
||||
(unsigned) RoleInProject,
|
||||
Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||
DB_QueryDELETE (Query,"can not remove a user from a project");
|
||||
|
||||
/***** Show success alert *****/
|
||||
sprintf (Gbl.Alert.Txt,Txt_THE_USER_X_has_been_removed_as_a_Y_from_the_project_Z,
|
||||
Gbl.Usrs.Other.UsrDat.FullName,
|
||||
Txt_PROJECT_ROLES_SINGUL_abc[RoleInProject],
|
||||
Prj.Title);
|
||||
Ale_ShowAlert (Ale_SUCCESS,Gbl.Alert.Txt);
|
||||
}
|
||||
else
|
||||
Ale_ShowAlert (Ale_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
|
||||
}
|
||||
else
|
||||
Ale_ShowAlert (Ale_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
|
||||
|
||||
/***** Free memory of the project *****/
|
||||
Prj_FreeMemProject (&Prj);
|
||||
|
||||
/***** Put form to edit project again *****/
|
||||
Prj_RequestCreatOrEditPrj (Prj.PrjCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -953,25 +1035,6 @@ static bool Prj_CheckIfICanRemUsrFromPrj (void)
|
|||
return true; // TODO: Rewrite this function
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************ Remove user from project ***************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Prj_RemStd (void)
|
||||
{
|
||||
Prj_AddUsrToProject (Prj_ROLE_STD);
|
||||
}
|
||||
|
||||
void Prj_RemTut (void)
|
||||
{
|
||||
Prj_AddUsrToProject (Prj_ROLE_TUT);
|
||||
}
|
||||
|
||||
void Prj_RemEva (void)
|
||||
{
|
||||
Prj_AddUsrToProject (Prj_ROLE_EVA);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********* Get parameter with the type or order in list of projects **********/
|
||||
/*****************************************************************************/
|
||||
|
@ -1511,11 +1574,10 @@ static void Prj_RequestCreatOrEditPrj (long PrjCod)
|
|||
extern const char *Txt_Create_project;
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Project_members;
|
||||
extern const char *Txt_Tutors;
|
||||
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
extern const char *Txt_Evaluators;
|
||||
extern const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
struct Project Prj;
|
||||
bool ItsANewProject;
|
||||
Prj_RoleInProject_t RoleInProject;
|
||||
|
||||
/***** Allocate memory for the project *****/
|
||||
Prj_AllocMemProject (&Prj);
|
||||
|
@ -1653,15 +1715,11 @@ static void Prj_RequestCreatOrEditPrj (long PrjCod)
|
|||
{
|
||||
Box_StartBoxTable (NULL,Txt_Project_members,NULL,
|
||||
NULL,Box_NOT_CLOSABLE,2);
|
||||
Prj_ShowOneProjectUsrsRow (&Prj,Prj_EDIT_ONE_PROJECT,
|
||||
Txt_Tutors,
|
||||
Prj_ROLE_TUT); // Tutors
|
||||
Prj_ShowOneProjectUsrsRow (&Prj,Prj_EDIT_ONE_PROJECT,
|
||||
Txt_ROLES_PLURAL_Abc[Rol_STD][Usr_SEX_UNKNOWN],
|
||||
Prj_ROLE_STD); // Students
|
||||
Prj_ShowOneProjectUsrsRow (&Prj,Prj_EDIT_ONE_PROJECT,
|
||||
Txt_Evaluators,
|
||||
Prj_ROLE_EVA); // Evaluators
|
||||
for (RoleInProject = Prj_ROLE_STD;
|
||||
RoleInProject <= Prj_ROLE_EVA;
|
||||
RoleInProject++)
|
||||
Prj_ShowOneProjectUsrsRow (&Prj,Prj_EDIT_ONE_PROJECT,
|
||||
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInProject],RoleInProject);
|
||||
Box_EndBoxTable ();
|
||||
}
|
||||
|
||||
|
|
|
@ -46,6 +46,17 @@ typedef enum
|
|||
Prj_PREASSIGNED = 1,
|
||||
} Prj_Preassigned_t;
|
||||
|
||||
// Related with user's roles in a project
|
||||
// Don't change these numbers! They are used in database
|
||||
#define Prj_NUM_ROLES_IN_PROJECT 4
|
||||
typedef enum
|
||||
{
|
||||
Prj_ROLE_UNK = 0, // Unknown
|
||||
Prj_ROLE_STD = 1, // Student
|
||||
Prj_ROLE_TUT = 2, // Tutor
|
||||
Prj_ROLE_EVA = 3, // Evaluator
|
||||
} Prj_RoleInProject_t;
|
||||
|
||||
struct Project
|
||||
{
|
||||
long PrjCod;
|
||||
|
|
463
swad_text.c
463
swad_text.c
|
@ -2908,25 +2908,25 @@ const char *Txt_Add_this_ID =
|
|||
"Adicionar este nº identif.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Add_user =
|
||||
const char *Txt_Add_USER = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"Afegir usuari";
|
||||
"Afegir %s";
|
||||
#elif L==2
|
||||
"Fügen Benutzer";
|
||||
"Fügen %s";
|
||||
#elif L==3
|
||||
"Add user";
|
||||
"Add %s";
|
||||
#elif L==4
|
||||
"Añadir usuario";
|
||||
"Añadir %s";
|
||||
#elif L==5
|
||||
"Ajouter utilisateur";
|
||||
"Ajouter %s";
|
||||
#elif L==6
|
||||
"Añadir usuario"; // Okoteve traducción
|
||||
"Añadir %s"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Aggiungere utente";
|
||||
"Aggiungere %s";
|
||||
#elif L==8
|
||||
"Dodaj użytkownika";
|
||||
"Dodaj %s";
|
||||
#elif L==9
|
||||
"Adicionar usuário";
|
||||
"Adicionar %s";
|
||||
#endif
|
||||
|
||||
const char *Txt_Announcement_created =
|
||||
|
@ -8999,25 +8999,34 @@ const char *Txt_Do_you_really_want_to_be_removed_from_the_course_X = // Warning:
|
|||
" (removing your works, enrolment in groups, etc.)?"; // Necessita de tradução
|
||||
#endif
|
||||
|
||||
const char *Txt_Do_you_really_want_to_be_removed_from_the_project_X = // Warning: it is very important to include %s in the following sentences
|
||||
const char *Txt_Do_you_really_want_to_be_removed_as_a_X_from_the_project_Y = // Warning: it is very important to include two %s in the following sentences
|
||||
#if L==1
|
||||
"¿De veres voleu ser eliminat del projecte <strong>%s</strong>?";
|
||||
"¿De veres voleu ser eliminat"
|
||||
" como a %s del projecte <strong>%s</strong>?";
|
||||
#elif L==2
|
||||
"Möchten Sie wirklich aus dem Projekt <strong>%s</strong> entfernt werden?";
|
||||
"Möchten Sie wirklich"
|
||||
" als %s aus dem Projekt <strong>%s</strong> entfernt werden?";
|
||||
#elif L==3
|
||||
"Do you really want to be removed from the project <strong>%s</strong>";
|
||||
"Do you really want to be removed"
|
||||
" as a %s from the project <strong>%s</strong>";
|
||||
#elif L==4
|
||||
"¿Realmente desea ser eliminado del proyecto <strong>%s</strong>?";
|
||||
"¿Realmente desea ser eliminado"
|
||||
" como %s del proyecto <strong>%s</strong>?";
|
||||
#elif L==5
|
||||
"Voulez-vous vraiment être retiré du projet <strong>%s</strong>?";
|
||||
"Voulez-vous vraiment être retiré"
|
||||
" en tant que %sdu projet <strong>%s</strong>?";
|
||||
#elif L==6
|
||||
"¿Realmente desea ser eliminado del proyecto <strong>%s</strong>?"; // Okoteve traducción
|
||||
"¿Realmente desea ser eliminado"
|
||||
" como %s del proyecto <strong>%s</strong>?"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Vuoi realmente rimuovere dal progetto <strong>%s</strong>?";
|
||||
"Vuoi realmente rimuovere"
|
||||
" come %s dal progetto <strong>%s</strong>?";
|
||||
#elif L==8
|
||||
"Czy naprawdę chcesz zostać usunięty z projektu <strong>%s</strong>?";
|
||||
"Czy naprawdę chcesz zostać usunięty"
|
||||
" jako %s z projektu <strong>%s</strong>?";
|
||||
#elif L==9
|
||||
"Você realmente quer ser removido do projeto <strong>%s</strong>?";
|
||||
"Você realmente quer ser removido"
|
||||
" como %s do projeto <strong>%s</strong>?";
|
||||
#endif
|
||||
|
||||
const char *Txt_Do_you_really_want_to_completely_eliminate_the_following_user =
|
||||
|
@ -9632,25 +9641,34 @@ const char *Txt_Do_you_really_want_to_remove_the_following_user_from_the_course_
|
|||
" (removendo seus trabalhos, inscrição em grupos, etc.)?";
|
||||
#endif
|
||||
|
||||
const char *Txt_Do_you_really_want_to_remove_the_following_user_from_the_project_X = // Warning: it is very important to include %s in the following sentences
|
||||
const char *Txt_Do_you_really_want_to_remove_the_following_user_as_a_X_from_the_project_Y = // Warning: it is very important to include two %s in the following sentences
|
||||
#if L==1
|
||||
"¿De veres voleu eliminar el següent usuari del projecte <strong>%s</strong>?";
|
||||
"¿De veres voleu eliminar el següent usuari"
|
||||
" com a %s del projecte <strong>%s</strong>?";
|
||||
#elif L==2
|
||||
"Möchten Sie den folgenden Benutzer wirklich aus dem Projekt <strong>%s</strong> entfernen?";
|
||||
"Möchten Sie den folgenden Benutzer wirklich"
|
||||
" als %s aus dem Projekt <strong>%s</strong> entfernen?";
|
||||
#elif L==3
|
||||
"Do you really want to remove the following user from the project <strong>%s</strong>";
|
||||
"Do you really want to remove the following user"
|
||||
" as a %s from the project <strong>%s</strong>";
|
||||
#elif L==4
|
||||
"¿Realmente desea eliminar el siguiente usuario del proyecto <strong>%s</strong>?";
|
||||
"¿Realmente desea eliminar el siguiente usuario"
|
||||
" como %s del proyecto <strong>%s</strong>?";
|
||||
#elif L==5
|
||||
"Voulez-vous vraiment supprimer l'utilisateur suivant du projet <strong>%s</strong>?";
|
||||
"Voulez-vous vraiment supprimer l'utilisateur suivant"
|
||||
" en tant que %s du projet <strong>%s</strong>?";
|
||||
#elif L==6
|
||||
"¿Realmente desea eliminar el siguiente usuario del proyecto <strong>%s</strong>?"; // Okoteve traducción
|
||||
"¿Realmente desea eliminar el siguiente usuario"
|
||||
" como %s del proyecto <strong>%s</strong>?"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Vuoi realmente rimuovere il seguente utente dal progetto <strong>%s</strong>?";
|
||||
"Vuoi realmente rimuovere il seguente utente"
|
||||
" como %s dal progetto <strong>%s</strong>?";
|
||||
#elif L==8
|
||||
"Czy na pewno chcesz usunąć następujący użytkownik z projekt <strong>%s</strong>?";
|
||||
"Czy na pewno chcesz usunąć następujący użytkownik"
|
||||
" jako %s z projektu <strong>%s</strong>?";
|
||||
#elif L==9
|
||||
"Você deseja realmente remover o seguinte usuário do projeto <strong>%s</strong>?";
|
||||
"Você deseja realmente remover o seguinte usuário"
|
||||
" como %s do projeto <strong>%s</strong>?";
|
||||
#endif
|
||||
|
||||
const char *Txt_Do_you_really_want_to_remove_the_game_X = // Warning: it is very important to include %s in the following sentences
|
||||
|
@ -11527,27 +11545,6 @@ const char *Txt_Error_receiving_or_processing_image =
|
|||
"Erro no recebimento ou processamento de imagem.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Evaluators =
|
||||
#if L==1
|
||||
"Avaluadors";
|
||||
#elif L==2
|
||||
"Auswerter";
|
||||
#elif L==3
|
||||
"Evaluators";
|
||||
#elif L==4
|
||||
"Evaluadores";
|
||||
#elif L==5
|
||||
"Évaluateurs";
|
||||
#elif L==6
|
||||
"Evaluadores"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Valutatori";
|
||||
#elif L==8
|
||||
"Oceniający";
|
||||
#elif L==9
|
||||
"Avaliadores";
|
||||
#endif
|
||||
|
||||
const char *Txt_Event =
|
||||
#if L==1
|
||||
"Esdeveniment";
|
||||
|
@ -30870,6 +30867,172 @@ const char *Txt_Project_X_removed = // Warning: it is very important to include
|
|||
"Projeto <strong>%s</strong> removido.";
|
||||
#endif
|
||||
|
||||
const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT] =
|
||||
{
|
||||
#if L==1 // Prj_ROLE_UNK
|
||||
"desconegut/da"
|
||||
#elif L==2
|
||||
"Unbekannter/e"
|
||||
#elif L==3
|
||||
"unknown"
|
||||
#elif L==4
|
||||
"desconocido/a"
|
||||
#elif L==5
|
||||
"inconnu/e"
|
||||
#elif L==6
|
||||
"desconocido/a" // Okoteve traducción
|
||||
#elif L==7
|
||||
"sconosciuto/a"
|
||||
#elif L==8
|
||||
"nieznany"
|
||||
#elif L==9
|
||||
"desconhecido/a"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Prj_ROLE_STD
|
||||
"estudiant"
|
||||
#elif L==2
|
||||
"Student"
|
||||
#elif L==3
|
||||
"student"
|
||||
#elif L==4
|
||||
"estudiante"
|
||||
#elif L==5
|
||||
"étudiant/e"
|
||||
#elif L==6
|
||||
"temimbo'e"
|
||||
#elif L==7
|
||||
"studente"
|
||||
#elif L==8
|
||||
"student"
|
||||
#elif L==9
|
||||
"estudante"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Prj_ROLE_TUT
|
||||
"tutor"
|
||||
#elif L==2
|
||||
"Tutor"
|
||||
#elif L==3
|
||||
"tutor"
|
||||
#elif L==4
|
||||
"tutor"
|
||||
#elif L==5
|
||||
"tuteur"
|
||||
#elif L==6
|
||||
"tutor" // Okoteve traducción
|
||||
#elif L==7
|
||||
"precettore"
|
||||
#elif L==8
|
||||
"nauczyciel"
|
||||
#elif L==9
|
||||
"tutor"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Prj_ROLE_EVA
|
||||
"avaluador"
|
||||
#elif L==2
|
||||
"Auswerter"
|
||||
#elif L==3
|
||||
"evaluator"
|
||||
#elif L==4
|
||||
"evaluador"
|
||||
#elif L==5
|
||||
"évaluateur"
|
||||
#elif L==6
|
||||
"evaluador" // Okoteve traducción
|
||||
#elif L==7
|
||||
"valutatore"
|
||||
#elif L==8
|
||||
"ewaluator"
|
||||
#elif L==9
|
||||
"avaliador"
|
||||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT] =
|
||||
{
|
||||
#if L==1 // Prj_ROLE_UNK
|
||||
"Desconeguts"
|
||||
#elif L==2
|
||||
"Unbekannte"
|
||||
#elif L==3
|
||||
"Unknown"
|
||||
#elif L==4
|
||||
"Desconocidos"
|
||||
#elif L==5
|
||||
"Inconnus"
|
||||
#elif L==6
|
||||
"Desconocidos" // Okoteve traducción
|
||||
#elif L==7
|
||||
"Sconosciuti"
|
||||
#elif L==8
|
||||
"Nieznany"
|
||||
#elif L==9
|
||||
"Desconhecidos"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Prj_ROLE_STD
|
||||
"Estudiants"
|
||||
#elif L==2
|
||||
"Studenten"
|
||||
#elif L==3
|
||||
"Students"
|
||||
#elif L==4
|
||||
"Estudiantes"
|
||||
#elif L==5
|
||||
"Étudiants"
|
||||
#elif L==6
|
||||
"Temimbo'e"
|
||||
#elif L==7
|
||||
"Studenti"
|
||||
#elif L==8
|
||||
"Studenci"
|
||||
#elif L==9
|
||||
"Estudantes"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Prj_ROLE_TUT
|
||||
"Tutors"
|
||||
#elif L==2
|
||||
"Tutoren"
|
||||
#elif L==3
|
||||
"Tutors"
|
||||
#elif L==4
|
||||
"Tutores"
|
||||
#elif L==5
|
||||
"Tuteurs"
|
||||
#elif L==6
|
||||
"Tutores" // Okoteve traducción
|
||||
#elif L==7
|
||||
"Precettori"
|
||||
#elif L==8
|
||||
"Nauczyciele"
|
||||
#elif L==9
|
||||
"Tutores"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Prj_ROLE_EVA
|
||||
"Avaluadors"
|
||||
#elif L==2
|
||||
"Auswerter"
|
||||
#elif L==3
|
||||
"Evaluators"
|
||||
#elif L==4
|
||||
"Evaluadores"
|
||||
#elif L==5
|
||||
"Évaluateurs"
|
||||
#elif L==6
|
||||
"Evaluadores" // Okoteve traducción
|
||||
#elif L==7
|
||||
"Valutatori"
|
||||
#elif L==8
|
||||
"Ewaluatorów"
|
||||
#elif L==9
|
||||
"Avaliadores"
|
||||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_Projects =
|
||||
#if L==1
|
||||
"Projectes (treballs fi de grau, projectes final de carrera, tesi…)";
|
||||
|
@ -47566,25 +47729,34 @@ const char *Txt_THE_USER_X_already_exists_in_Y_but_is_not_yet_enroled_in_the_cou
|
|||
" in the course <strong>%s</strong>."; // Necessita de tradução
|
||||
#endif
|
||||
|
||||
const char *Txt_THE_USER_X_has_been_enroled_in_the_project = // Warning: it is very important to include %s in the following sentences
|
||||
const char *Txt_THE_USER_X_has_been_enroled_as_a_Y_in_the_project = // Warning: it is very important to include two %s in the following sentences
|
||||
#if L==1
|
||||
"<strong>%s</strong> ha estat afegit/da al projecte.";
|
||||
"<strong>%s</strong> ha estat afegit/da"
|
||||
" com a %s al projecte.";
|
||||
#elif L==2
|
||||
"<strong>%s</strong> hat sich im Projekt eingeschrieben.";
|
||||
"<strong>%s</strong> hat sich"
|
||||
" als %s im Projekt eingeschrieben.";
|
||||
#elif L==3
|
||||
"<strong>%s</strong> has been enroled in the project.";
|
||||
"<strong>%s</strong> has been enroled"
|
||||
" as a %s in the project.";
|
||||
#elif L==4
|
||||
"<strong>%s</strong> ha sido añadido/a al proyecto.";
|
||||
"<strong>%s</strong> ha sido añadido/a"
|
||||
" como %s al proyecto.";
|
||||
#elif L==5
|
||||
"<strong>%s</strong> a été inscrit dans le projet.";
|
||||
"<strong>%s</strong> a été inscrit"
|
||||
" en tant que %s dans le projet.";
|
||||
#elif L==6
|
||||
"<strong>%s</strong> ha sido añadido/a al proyecto."; // Okoteve traducción
|
||||
"<strong>%s</strong> ha sido añadido/a"
|
||||
" como %s al proyecto."; // Okoteve traducción
|
||||
#elif L==7
|
||||
"<strong>%s</strong> è stato registrato/a nel progetto.";
|
||||
"<strong>%s</strong> è stato registrato/a"
|
||||
" como %s nel progetto.";
|
||||
#elif L==8
|
||||
"<strong>%s</strong> został zapisany do projektu.";
|
||||
"<strong>%s</strong> został zapisany"
|
||||
" jako %s do projektu.";
|
||||
#elif L==9
|
||||
"<strong>%s</strong> foi matriculado/a no projeto.";
|
||||
"<strong>%s</strong> foi matriculado/a"
|
||||
" como %s no projeto.";
|
||||
#endif
|
||||
|
||||
const char *Txt_THE_USER_X_has_been_enroled_as_administrator_of_Y = // Warning: it is very important to include two %s in the following sentences
|
||||
|
@ -47698,6 +47870,36 @@ const char *Txt_THE_USER_X_has_been_removed_as_administrator = // Warning: it is
|
|||
"<strong>%s</strong> has been removed as administrator."; // Necessita de tradução
|
||||
#endif
|
||||
|
||||
const char *Txt_THE_USER_X_has_been_removed_as_administrator_of_Y = // Warning: it is very important to include two %s in the following sentences
|
||||
#if L==1
|
||||
"<strong>%s</strong> ha sido eliminado/a como administrador/a"
|
||||
" de <strong>%s</strong>."; // Necessita traduccio
|
||||
#elif L==2
|
||||
"<strong>%s</strong> has been removed as administrator"
|
||||
" of <strong>%s</strong>."; // Übersetzung notwendig
|
||||
#elif L==3
|
||||
"<strong>%s</strong> has been removed as administrator"
|
||||
" of <strong>%s</strong>.";
|
||||
#elif L==4
|
||||
"<strong>%s</strong> ha sido eliminado/a como administrador/a"
|
||||
" de <strong>%s</strong>.";
|
||||
#elif L==5
|
||||
"<strong>%s</strong> has been removed as administrator"
|
||||
" of <strong>%s</strong>."; // Besoin de traduction
|
||||
#elif L==6
|
||||
"<strong>%s</strong> ha sido eliminado/a como administrador/a"
|
||||
" de <strong>%s</strong>."; // Okoteve traducción
|
||||
#elif L==7
|
||||
"<strong>%s</strong> è stato rimosso come amministratore"
|
||||
" de <strong>%s</strong>.";
|
||||
#elif L==8
|
||||
"<strong>%s</strong> has been removed as administrator"
|
||||
" of <strong>%s</strong>."; // Potrzebujesz tlumaczenie
|
||||
#elif L==9
|
||||
"<strong>%s</strong> has been removed as administrator"
|
||||
" of <strong>%s</strong>."; // Necessita de tradução
|
||||
#endif
|
||||
|
||||
const char *Txt_THE_USER_X_has_been_removed_from_all_his_her_courses = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"<strong>%s</strong> ha sido eliminado/a de todas sus asignaturas."; // Necessita traduccio
|
||||
|
@ -47719,6 +47921,36 @@ const char *Txt_THE_USER_X_has_been_removed_from_all_his_her_courses = // Warnin
|
|||
"<strong>%s</strong> has been removed from all her/his courses."; // Necessita de tradução
|
||||
#endif
|
||||
|
||||
const char *Txt_THE_USER_X_has_not_been_removed_from_any_group = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"<strong>%s</strong> no ha sido eliminado/a"
|
||||
" de ningún grupo."; // Necessita traduccio
|
||||
#elif L==2
|
||||
"<strong>%s</strong> has not been removed"
|
||||
" from any group."; // Übersetzung notwendig
|
||||
#elif L==3
|
||||
"<strong>%s</strong> has not been removed"
|
||||
" from any group.";
|
||||
#elif L==4
|
||||
"<strong>%s</strong> no ha sido eliminado/a"
|
||||
" de ningún grupo.";
|
||||
#elif L==5
|
||||
"<strong>%s</strong> has not been removed"
|
||||
" from any group."; // Besoin de traduction
|
||||
#elif L==6
|
||||
"<strong>%s</strong> no ha sido eliminado/a"
|
||||
" de ningún grupo."; // Okoteve traducción
|
||||
#elif L==7
|
||||
"<strong>%s</strong> non è stato rimosso"
|
||||
" da alcun gruppo.";
|
||||
#elif L==8
|
||||
"<strong>%s</strong> has not been removed"
|
||||
" from any group."; // Potrzebujesz tlumaczenie
|
||||
#elif L==9
|
||||
"<strong>%s</strong> has not been removed"
|
||||
" from any group."; // Necessita de tradução
|
||||
#endif
|
||||
|
||||
const char *Txt_THE_USER_X_has_been_removed_from_Y_groups = // Warning: it is very important to include %s and %u in the following sentences
|
||||
#if L==1
|
||||
"<strong>%s</strong> ha sido eliminado/a de %u grupos."; // Necessita traduccio
|
||||
|
@ -47763,11 +47995,11 @@ const char *Txt_THE_USER_X_has_been_removed_from_one_group = // Warning: it is v
|
|||
|
||||
const char *Txt_THE_USER_X_has_been_removed_from_the_course_Y = // Warning: it is very important to include two %s in the following sentences
|
||||
#if L==1
|
||||
"<strong>%s</strong> ha sido eliminado/a"
|
||||
" de la asignatura <strong>%s</strong>."; // Necessita traduccio
|
||||
"<strong>%s</strong> ha estat eliminat"
|
||||
" de l'assignatura <strong>%s</strong>.";
|
||||
#elif L==2
|
||||
"<strong>%s</strong> has been removed"
|
||||
" from the course <strong>%s</strong>."; // Übersetzung notwendig
|
||||
"<strong>%s</strong> wurde aus"
|
||||
" dem Kurs <strong>%s</strong> entfernt.";
|
||||
#elif L==3
|
||||
"<strong>%s</strong> has been removed"
|
||||
" from the course <strong>%s</strong>.";
|
||||
|
@ -47775,8 +48007,8 @@ const char *Txt_THE_USER_X_has_been_removed_from_the_course_Y = // Warning: it i
|
|||
"<strong>%s</strong> ha sido eliminado/a"
|
||||
" de la asignatura <strong>%s</strong>.";
|
||||
#elif L==5
|
||||
"<strong>%s</strong> has been removed"
|
||||
" from the course <strong>%s</strong>."; // Besoin de traduction
|
||||
"<strong>%s</strong> a été retiré"
|
||||
" de la matière <strong>%s</strong>.";
|
||||
#elif L==6
|
||||
"<strong>%s</strong> ha sido eliminado/a"
|
||||
" de la asignatura <strong>%s</strong>."; // Okoteve traducción
|
||||
|
@ -47784,41 +48016,11 @@ const char *Txt_THE_USER_X_has_been_removed_from_the_course_Y = // Warning: it i
|
|||
"<strong>%s</strong> è stato rimosso"
|
||||
" dal corso <strong>%s</strong>.";
|
||||
#elif L==8
|
||||
"<strong>%s</strong> has been removed"
|
||||
" from the course <strong>%s</strong>."; // Potrzebujesz tlumaczenie
|
||||
"<strong>%s</strong> został usunięty"
|
||||
" z trasy <strong>%s</strong>.";
|
||||
#elif L==9
|
||||
"<strong>%s</strong> has been removed"
|
||||
" from the course <strong>%s</strong>."; // Necessita de tradução
|
||||
#endif
|
||||
|
||||
const char *Txt_THE_USER_X_has_been_removed_as_administrator_of_Y = // Warning: it is very important to include two %s in the following sentences
|
||||
#if L==1
|
||||
"<strong>%s</strong> ha sido eliminado/a como administrador/a"
|
||||
" de <strong>%s</strong>."; // Necessita traduccio
|
||||
#elif L==2
|
||||
"<strong>%s</strong> has been removed as administrator"
|
||||
" of <strong>%s</strong>."; // Übersetzung notwendig
|
||||
#elif L==3
|
||||
"<strong>%s</strong> has been removed as administrator"
|
||||
" of <strong>%s</strong>.";
|
||||
#elif L==4
|
||||
"<strong>%s</strong> ha sido eliminado/a como administrador/a"
|
||||
" de <strong>%s</strong>.";
|
||||
#elif L==5
|
||||
"<strong>%s</strong> has been removed as administrator"
|
||||
" of <strong>%s</strong>."; // Besoin de traduction
|
||||
#elif L==6
|
||||
"<strong>%s</strong> ha sido eliminado/a como administrador/a"
|
||||
" de <strong>%s</strong>."; // Okoteve traducción
|
||||
#elif L==7
|
||||
"<strong>%s</strong> è stato rimosso come amministratore"
|
||||
" de <strong>%s</strong>.";
|
||||
#elif L==8
|
||||
"<strong>%s</strong> has been removed as administrator"
|
||||
" of <strong>%s</strong>."; // Potrzebujesz tlumaczenie
|
||||
#elif L==9
|
||||
"<strong>%s</strong> has been removed as administrator"
|
||||
" of <strong>%s</strong>."; // Necessita de tradução
|
||||
"<strong>%s</strong> foi removido"
|
||||
" da disciplina <strong>%s</strong>.";
|
||||
#endif
|
||||
|
||||
const char *Txt_THE_USER_X_has_been_removed_from_the_group_of_type_Y_to_which_it_belonged = // Warning: it is very important to include two %s in the following sentences
|
||||
|
@ -47851,34 +48053,34 @@ const char *Txt_THE_USER_X_has_been_removed_from_the_group_of_type_Y_to_which_it
|
|||
" from the group of type %s to which it belonged."; // Necessita de tradução
|
||||
#endif
|
||||
|
||||
const char *Txt_THE_USER_X_has_not_been_removed_from_any_group = // Warning: it is very important to include %s in the following sentences
|
||||
const char *Txt_THE_USER_X_has_been_removed_as_a_Y_from_the_project_Z = // Warning: it is very important to include three %s in the following sentences
|
||||
#if L==1
|
||||
"<strong>%s</strong> no ha sido eliminado/a"
|
||||
" de ningún grupo."; // Necessita traduccio
|
||||
"<strong>%s</strong> ha estat eliminat"
|
||||
" como a %s del projecte <strong>%s</strong>.";
|
||||
#elif L==2
|
||||
"<strong>%s</strong> has not been removed"
|
||||
" from any group."; // Übersetzung notwendig
|
||||
"<strong>%s</strong> wurde"
|
||||
" als %s aus dem Projekt <strong>%s</strong> entfernt.";
|
||||
#elif L==3
|
||||
"<strong>%s</strong> has not been removed"
|
||||
" from any group.";
|
||||
"<strong>%s</strong> has been removed"
|
||||
" as a %s from the project <strong>%s</strong>.";
|
||||
#elif L==4
|
||||
"<strong>%s</strong> no ha sido eliminado/a"
|
||||
" de ningún grupo.";
|
||||
"<strong>%s</strong> ha sido eliminado/a"
|
||||
" como %s del proyecto <strong>%s</strong>.";
|
||||
#elif L==5
|
||||
"<strong>%s</strong> has not been removed"
|
||||
" from any group."; // Besoin de traduction
|
||||
"<strong>%s</strong> a été retiré"
|
||||
" en tant que %s du projet <strong>%s</strong>.";
|
||||
#elif L==6
|
||||
"<strong>%s</strong> no ha sido eliminado/a"
|
||||
" de ningún grupo."; // Okoteve traducción
|
||||
"<strong>%s</strong> ha sido eliminado/a"
|
||||
" como %s del proyecto <strong>%s</strong>."; // Okoteve traducción
|
||||
#elif L==7
|
||||
"<strong>%s</strong> non è stato rimosso"
|
||||
" da alcun gruppo.";
|
||||
"<strong>%s</strong> è stato rimosso"
|
||||
" come %s dal progetto <strong>%s</strong>.";
|
||||
#elif L==8
|
||||
"<strong>%s</strong> has not been removed"
|
||||
" from any group."; // Potrzebujesz tlumaczenie
|
||||
"<strong>%s</strong> został wyeliminowany"
|
||||
" jako %s z projektu <strong>%s</strong>.";
|
||||
#elif L==9
|
||||
"<strong>%s</strong> has not been removed"
|
||||
" from any group."; // Necessita de tradução
|
||||
"<strong>%s</strong> foi removido"
|
||||
" como %s do projeto <strong>%s</strong>.";
|
||||
#endif
|
||||
|
||||
const char *Txt_THE_USER_X_is_already_an_administrator_of_Y = // Warning: it is very important to include two %s in the following sentences
|
||||
|
@ -50323,27 +50525,6 @@ const char *Txt_TF_QST[2] =
|
|||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_Tutors =
|
||||
#if L==1
|
||||
"Tutors";
|
||||
#elif L==2
|
||||
"Tutoren";
|
||||
#elif L==3
|
||||
"Tutors";
|
||||
#elif L==4
|
||||
"Tutores";
|
||||
#elif L==5
|
||||
"Tuteurs";
|
||||
#elif L==6
|
||||
"Tutores"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Tutori";
|
||||
#elif L==8
|
||||
"Opiekunowie";
|
||||
#elif L==9
|
||||
"Tutores";
|
||||
#endif
|
||||
|
||||
const char *Txt_Type =
|
||||
#if L==1
|
||||
"Tipus";
|
||||
|
|
Loading…
Reference in New Issue